summaryrefslogtreecommitdiff
path: root/app-arch/gzip
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch/gzip')
-rw-r--r--app-arch/gzip/Manifest3
-rw-r--r--app-arch/gzip/files/gzip-1.9-gnulib-glibc-2.28.patch134
-rw-r--r--app-arch/gzip/gzip-1.9.ebuild5
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() {