From 0bd63ce8befc8b7f0ac6e9158aa0610739549b9b Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Fri, 2 Sep 2016 10:53:59 -0400 Subject: Make libiconv work with C11 C11 does not provide gets() any more, so we cannot reference it --- var/spack/repos/builtin/packages/libiconv/gets.patch | 13 +++++++++++++ var/spack/repos/builtin/packages/libiconv/package.py | 4 ++++ 2 files changed, 17 insertions(+) create mode 100644 var/spack/repos/builtin/packages/libiconv/gets.patch (limited to 'var') diff --git a/var/spack/repos/builtin/packages/libiconv/gets.patch b/var/spack/repos/builtin/packages/libiconv/gets.patch new file mode 100644 index 0000000000..7c4b5562ec --- /dev/null +++ b/var/spack/repos/builtin/packages/libiconv/gets.patch @@ -0,0 +1,13 @@ +--- a/srclib/stdio.in.h ++++ b/srclib/stdio.in.h +@@ -692,10 +692,6 @@ + # undef gets + # endif + _GL_CXXALIASWARN (gets); +-/* It is very rare that the developer ever has full control of stdin, +- so any use of gets warrants an unconditional warning. Assume it is +- always declared, since it is required by C89. */ +-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); + #endif + + diff --git a/var/spack/repos/builtin/packages/libiconv/package.py b/var/spack/repos/builtin/packages/libiconv/package.py index f2eeb07b26..982929b80a 100644 --- a/var/spack/repos/builtin/packages/libiconv/package.py +++ b/var/spack/repos/builtin/packages/libiconv/package.py @@ -34,6 +34,10 @@ class Libiconv(Package): version('1.14', 'e34509b1623cec449dfeb73d7ce9c6c6') + # We cannot set up a warning for gets(), since gets() is not part + # of C11 any more and thus might not exist. + patch("gets.patch") + def install(self, spec, prefix): configure('--prefix={0}'.format(prefix), '--enable-extra-encodings') -- cgit v1.2.3-60-g2f50