Fix some packages that referred to gets()

Glibc no longer defines gets() if _GNU_SOURCE is defined.
This commit is contained in:
Eelco Dolstra
2012-09-18 14:05:23 -04:00
parent aa34058205
commit fcc18aad0a
4 changed files with 71 additions and 1 deletions
@@ -8,6 +8,8 @@ stdenv.mkDerivation (rec {
sha256 = "1sa3ch12qxa4h3ya6hkz119yclcccmincl9j20dhrdx5mykp3b4k";
};
patches = [ ./no-gets.patch ];
configureFlags = [ "--disable-csharp" ]
++ (stdenv.lib.optionals stdenv.isCygwin
[ # We have a static libiconv, so we can only build the static lib.
@@ -0,0 +1,42 @@
hack until gzip pulls a newer gnulib version
From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001
From: Eric Blake <eblake@redhat.com>
Date: Thu, 29 Mar 2012 13:30:41 -0600
Subject: [PATCH] stdio: don't assume gets any more
Gnulib intentionally does not have a gets module, and now that C11
and glibc have dropped it, we should be more proactive about warning
any user on a platform that still has a declaration of this dangerous
interface.
--- a/gettext-tools/libgettextpo/stdio.in.h
+++ b/gettext-tools/libgettextpo/stdio.in.h
@@ -125,7 +125,6 @@
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
#undef gets
-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@
--- a/gettext-tools/gnulib-lib/stdio.in.h
+++ b/gettext-tools/gnulib-lib/stdio.in.h
@@ -125,7 +125,6 @@
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
#undef gets
-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@
--- a/gettext-runtime/gnulib-lib/stdio.in.h
+++ b/gettext-runtime/gnulib-lib/stdio.in.h
@@ -125,7 +125,6 @@
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
#undef gets
-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@