Fix some packages that referred to gets()
Glibc no longer defines gets() if _GNU_SOURCE is defined.
This commit is contained in:
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.
|
||||
|
|
42
pkgs/development/libraries/gettext/no-gets.patch
Normal file
42
pkgs/development/libraries/gettext/no-gets.patch
Normal file
|
@ -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@
|
|
@ -13,7 +13,7 @@ stdenv.mkDerivation {
|
|||
&& !stdenv.isSunOS; # XXX: `test-setlocale2.sh' fails
|
||||
|
||||
# Upstream is aware of it; it may be in the next release.
|
||||
patches = [ ./s_isdir.patch ./readlink-EINVAL.patch ];
|
||||
patches = [ ./s_isdir.patch ./readlink-EINVAL.patch ./no-gets.patch ];
|
||||
|
||||
meta = {
|
||||
homepage = http://www.gnu.org/software/m4/;
|
||||
|
|
26
pkgs/development/tools/misc/gnum4/no-gets.patch
Normal file
26
pkgs/development/tools/misc/gnum4/no-gets.patch
Normal file
|
@ -0,0 +1,26 @@
|
|||
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-devel/m4/files/m4-1.4.16-no-gets.patch?revision=1.1
|
||||
|
||||
https://bugs.gentoo.org/424978
|
||||
|
||||
hack until m4 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/lib/stdio.in.h
|
||||
+++ b/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@
|
Loading…
Reference in a new issue