From edac053cf55ffac66d73ac4c10c9a45ba4b8f37b Mon Sep 17 00:00:00 2001 From: Leonhard Reichenbach Date: Fri, 3 May 2019 20:21:43 +0200 Subject: libunistring: added newer versions and patch older ones (#11255) * Add versions 0.9.10, 0.9.9, and 0.9.8 * Port a change in 0.9.10 to earlier versions as a patch --- .../repos/builtin/packages/libunistring/package.py | 9 +++++++-- .../packages/libunistring/removed_libio.patch | 21 +++++++++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 var/spack/repos/builtin/packages/libunistring/removed_libio.patch (limited to 'var') diff --git a/var/spack/repos/builtin/packages/libunistring/package.py b/var/spack/repos/builtin/packages/libunistring/package.py index d4c739de87..e84910c809 100644 --- a/var/spack/repos/builtin/packages/libunistring/package.py +++ b/var/spack/repos/builtin/packages/libunistring/package.py @@ -11,7 +11,12 @@ class Libunistring(AutotoolsPackage): and for manipulating C strings according to the Unicode standard.""" homepage = "https://www.gnu.org/software/libunistring/" - url = "https://ftpmirror.gnu.org/libunistring/libunistring-0.9.7.tar.xz" - + url = "https://ftpmirror.gnu.org/libunistring/libunistring-0.9.10.tar.xz" + version('0.9.10', sha256='eb8fb2c3e4b6e2d336608377050892b54c3c983b646c561836550863003c05d7') + version('0.9.9', sha256='a4d993ecfce16cf503ff7579f5da64619cee66226fb3b998dafb706190d9a833') + version('0.9.8', sha256='7b9338cf52706facb2e18587dceda2fbc4a2a3519efa1e15a3f2a68193942f80') version('0.9.7', '82e0545363d111bfdfec2ddbfe62ffd3') version('0.9.6', 'cb09c398020c27edac10ca590e9e9ef3') + + # glibc 2.28+ removed libio.h and thus _IO_ftrylockfile + patch('removed_libio.patch', when='@:0.9.9') diff --git a/var/spack/repos/builtin/packages/libunistring/removed_libio.patch b/var/spack/repos/builtin/packages/libunistring/removed_libio.patch new file mode 100644 index 0000000000..f5441ebf59 --- /dev/null +++ b/var/spack/repos/builtin/packages/libunistring/removed_libio.patch @@ -0,0 +1,21 @@ +--- a/lib/fseterr.c ++++ b/lib/fseterr.c +@@ -32,13 +32,17 @@ + + #include "stdio-impl.h" + ++/* This file is not used on systems that have the __fseterr function, ++ namely musl libc. */ ++ + void + fseterr (FILE *fp) + { + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 ++ /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_flags |= _IO_ERR_SEEN; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ -- cgit v1.2.3-70-g09d2