diff options
Diffstat (limited to 'app-arch/gzip')
-rw-r--r-- | app-arch/gzip/Manifest | 3 | ||||
-rw-r--r-- | app-arch/gzip/files/gzip-1.9-gnulib-glibc-2.28.patch | 134 | ||||
-rw-r--r-- | app-arch/gzip/gzip-1.9.ebuild | 5 |
3 files changed, 139 insertions, 3 deletions
diff --git a/app-arch/gzip/Manifest b/app-arch/gzip/Manifest index 6ced80686e16..68bbaf87ac9e 100644 --- a/app-arch/gzip/Manifest +++ b/app-arch/gzip/Manifest @@ -1,7 +1,8 @@ AUX gzip-1.3.8-install-symlinks.patch 284 BLAKE2B f461a822371d56505aa3e436c4d611823dfe81ab72f9e1a2bd3547b8fbbae07d2108ac255a1a9dae604f9acb77744bda3a9eec2a575580558a4ca7042164c563 SHA512 4a20d61d48c456c4f5cca31b38e6f26460f781782c66ff4cd1b193eb1a48dd9fa88967989b2698b5e45a61d64c9ce3b87fba0f6b67bf507c5bb386a847f477fd AUX gzip-1.4-asmv.patch 630 BLAKE2B 64508293c8257db3dafd2b20fe5bc23aa37b54f90b63eaeb7a67643ea837b88d58b90fa8b177d84a538eef183d5e49ab98e6b5f8a482303e68ef2c5acb390faf SHA512 7769c98cfc8d6c7c48bc1772d45b44c6c4e1a9fa266dbe5bfe1b9822434b96f7c42ec0d2f4444a5ee8ae8086e571f6891756c7c22f61352649721044eda61a0f +AUX gzip-1.9-gnulib-glibc-2.28.patch 5422 BLAKE2B 1c514d2ba6b3ff1596930b7efc32591bd7175bf5cbf07ef323f2566e0723fe8b125f746492ab25ef4cd892f75c832f79dba74d81da0814944898c83d03f54fa7 SHA512 5111b961d50906a5e27432628f5becbb63b993077861f4441cf445cbed3f4ec4e5c69aee22f209f05ccaa5514cace53b5805ef9f96886276d8f1b46620d614e3 DIST gzip-1.8.tar.xz 728116 BLAKE2B 34b707bd403791aca8620de3520637c460dbd9167a4fb693c78438115862781350ef5e256ad0accce75b25515b82fcd3e405cc310d6ea36f2d2609b0a270c4db SHA512 efd3e2439476054badeb127d9156e24e9252129111219f13fd939596c057b2a96291630b2717181984b391abf249ac8699488bbd01ceeb8a70b121c500b10c55 DIST gzip-1.9.tar.xz 762516 BLAKE2B 4001fc7a770634916d52b026dab1b621fc96275bfb61ec2df2d0e7d7ec1c81414270d3c866034e6ef758870f38e9d4396a25832abe558915a7ded1f1511eb4b0 SHA512 c0852e7f7662141e79d14bc36e50f1940dba3e804feff3b0b8fa084ffec720ac245352282d2f1db117fadc95758424dd418d192b94621dac4367834ccf101fad EBUILD gzip-1.8.ebuild 1177 BLAKE2B aaf2b99cec28e67f048a05c88d3a958140a322cc7f232242c06cd800443e8cb5f5e05d19bb60e6662aa01dea521a0ccb79cddc2bc8160880eaf3ea501da10a32 SHA512 f64ac3b923a2dfcb881f90cadfe64cabde16cbde83fef903b35bae5ce23f5422f281cc04e37c3a043978d59d08cc506a06b489d02b4a347a15b7aee1b43b4a4c -EBUILD gzip-1.9.ebuild 1110 BLAKE2B 9655656fef362d12701a2b9599ec0ddb9cb14cf667027ca10c7d7f4a6103b12e8b120ea8e89d72e38ea32ddd1664404eb53b2379ae5d02508e3196fff7ec9235 SHA512 fa99968ef76bce8fe88179cd32a28b803739fcc72b28de268930e4f9c8196dbdd74f67669a33dd3f0b247e44dd6718d913dd45cb7f608c0728c78019440371ba +EBUILD gzip-1.9.ebuild 1187 BLAKE2B 22866abfb740e978af928693edaceb9f660325215df6fc872686d79402fcd29f06366a8b0ef58a2a6a32bc3236374461c44e85db6046a5a9bf93f30c5b388918 SHA512 095eaa5e552918bfac58fabb4c06b530909f908947e6965e69211aa5de2476c92457b8ff1a478e173494c0c2778cbbf6654345eb1a23d09e397c8731e4b0e29e MISC metadata.xml 421 BLAKE2B cd73d8b6c846ebae069903fefc36cd0c2835cee6c137e1cc642cae9628be6fd3678c9002defeb2a63ca592f96f9f8032e99535f398a60989df9fb66270d6ec4f SHA512 fef953770d98077b95afc5f2d7fc208dc74453c403dd4220c8b35b837a485dbe8d98e1f669b5661633f599246752f1ee4136ee886ca6c15c2dcc0da73d976e96 diff --git a/app-arch/gzip/files/gzip-1.9-gnulib-glibc-2.28.patch b/app-arch/gzip/files/gzip-1.9-gnulib-glibc-2.28.patch new file mode 100644 index 000000000000..20039b9f0d2c --- /dev/null +++ b/app-arch/gzip/files/gzip-1.9-gnulib-glibc-2.28.patch @@ -0,0 +1,134 @@ +fix build failure against glibc-2.28 + +https://bugs.gentoo.org/663928 + +Adopted gnulib's upstream patch: + +From 4af4a4a71827c0bc5e0ec67af23edef4f15cee8e Mon Sep 17 00:00:00 2001 +From: Paul Eggert <eggert@cs.ucla.edu> +Date: Mon, 5 Mar 2018 10:56:29 -0800 +Subject: [PATCH] fflush: adjust to glibc 2.28 libio.h removal +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Problem reported by Daniel P. Berrangé in: +https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html +* lib/fflush.c (clear_ungetc_buffer_preserving_position) +(disable_seek_optimization, rpl_fflush): +* lib/fpurge.c (fpurge): +* lib/freadahead.c (freadahead): +* lib/freading.c (freading): +* lib/fseeko.c (fseeko): +* lib/fseterr.c (fseterr): +Check _IO_EOF_SEEN instead of _IO_ftrylockfile. +* lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]: +Define if not already defined. +--- + lib/fflush.c | 6 +++--- + lib/fpurge.c | 2 +- + lib/freading.c | 2 +- + lib/fseeko.c | 4 ++-- + lib/fseterr.c | 2 +- + lib/stdio-impl.h | 6 ++++++ + +--- a/lib/fflush.c ++++ b/lib/fflush.c +@@ -33,7 +33,7 @@ + #undef fflush + + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + + /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */ + static void +@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp) + + #endif + +-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) ++#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) + + # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ +@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream) + if (stream == NULL || ! freading (stream)) + return fflush (stream); + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + + clear_ungetc_buffer_preserving_position (stream); + +--- a/lib/fpurge.c ++++ b/lib/fpurge.c +@@ -62,7 +62,7 @@ fpurge (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + <stdio.h>, 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 || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_IO_read_end = fp->_IO_read_ptr; + fp->_IO_write_ptr = fp->_IO_write_base; + /* Avoid memory leak when there is an active ungetc buffer. */ +--- a/lib/freading.c ++++ b/lib/freading.c +@@ -31,7 +31,7 @@ freading (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + <stdio.h>, 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 || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + return ((fp->_flags & _IO_NO_WRITES) != 0 + || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 + && fp->_IO_read_base != NULL)); +--- a/lib/fseeko.c ++++ b/lib/fseeko.c +@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int whence) + #endif + + /* These tests are based on fpurge.c. */ +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + if (fp->_IO_read_end == fp->_IO_read_ptr + && fp->_IO_write_ptr == fp->_IO_write_base + && fp->_IO_save_base == NULL) +@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int whence) + return -1; + } + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_flags &= ~_IO_EOF_SEEN; + fp->_offset = pos; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ +--- a/lib/fseterr.c ++++ b/lib/fseterr.c +@@ -29,7 +29,7 @@ fseterr (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + <stdio.h>, 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 || __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 */ +--- a/lib/stdio-impl.h ++++ b/lib/stdio-impl.h +@@ -18,6 +18,12 @@ + the same implementation of stdio extension API, except that some fields + have different naming conventions, or their access requires some casts. */ + ++/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this ++ problem by defining it ourselves. FIXME: Do not rely on glibc ++ internals. */ ++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN ++# define _IO_IN_BACKUP 0x100 ++#endif + + /* BSD stdio derived implementations. */ + +-- +2.19.1 + diff --git a/app-arch/gzip/gzip-1.9.ebuild b/app-arch/gzip/gzip-1.9.ebuild index 5bfc0488effc..8b9d2dcb48b2 100644 --- a/app-arch/gzip/gzip-1.9.ebuild +++ b/app-arch/gzip/gzip-1.9.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -18,13 +18,14 @@ IUSE="pic static" PATCHES=( "${FILESDIR}/${PN}-1.3.8-install-symlinks.patch" + "${FILESDIR}/${PN}-1.9-gnulib-glibc-2.28.patch" ) src_configure() { use static && append-flags -static # avoid text relocation in gzip use pic && export DEFS="NO_ASM" - econf + econf --disable-gcc-warnings #663928 } src_install() { |