* [gentoo-commits] repo/gentoo:master commit in: sys-libs/zlib/files/, sys-libs/zlib/
@ 2022-11-25 8:19 Sam James
0 siblings, 0 replies; 8+ messages in thread
From: Sam James @ 2022-11-25 8:19 UTC (permalink / raw
To: gentoo-commits
commit: ee92c1551e10c7237f46e8abee3e6b024e6d6c4f
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 25 08:18:52 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Nov 25 08:19:01 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ee92c155
sys-libs/zlib: drop 1.2.12-r3
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-libs/zlib/Manifest | 2 -
.../zlib/files/zlib-1.2.12-CRC-buggy-input.patch | 50 ------
.../zlib/files/zlib-1.2.12-CVE-2022-37434.patch | 55 ------
.../zlib-1.2.12-fix-CC-logic-in-configure.patch | 45 -----
.../zlib-1.2.12-use-LDFLAGS-in-configure.patch | 71 --------
sys-libs/zlib/zlib-1.2.12-r3.ebuild | 199 ---------------------
6 files changed, 422 deletions(-)
diff --git a/sys-libs/zlib/Manifest b/sys-libs/zlib/Manifest
index 6f127872cd6e..53fdd7466a39 100644
--- a/sys-libs/zlib/Manifest
+++ b/sys-libs/zlib/Manifest
@@ -1,6 +1,4 @@
DIST zlib-1.2.11-cygwin-gzopen_w.patch 1170 BLAKE2B fe351436716634bd823da8c2811d332327d335d450d89bee85d7713b09dd454fe6aee264b044a41bf3be603aa36d67943ba6c7d8b46470e180e9b639728b5274 SHA512 14cc63a17fbf6afb6c8a8dd0b92df9807b48e0faf09c88f952083f10716ae62be8de2a0e1424b77fb538605b88898b381160521f2872afdda59e12bd27535c5a
-DIST zlib-1.2.12.tar.gz 1490071 BLAKE2B 76e7b26f8dc761b0eae6276cc32bc36fa74a88197699c95d158c1548f97b80db5e39d21144ecd6ee3eb90c42730aa5f387f9952d9a3f0930b56e9dfcd12f1e67 SHA512 cc2366fa45d5dfee1f983c8c51515e0cff959b61471e2e8d24350dea22d3f6fcc50723615a911b046ffc95f51ba337d39ae402131a55e6d1541d3b095d6c0a14
-DIST zlib-1.2.12.tar.gz.asc 235 BLAKE2B bb1efc89b10b894ebc8e8008ee3e98104348f197fae54d298d62057a2d8b8d7246de937962b531189f80ad64a803112300a73862cba121cbf6a6d5ac5f9bc40c SHA512 5c1144371a83b83f9f1d008aa9297e23c0db992cab6c4a8966f9320e70c6186867d62753511d6a663b0fe181cd37fe256c53586358a42ea348ccc0747b1a7153
DIST zlib-1.2.13.tar.xz 1296496 BLAKE2B cefcd25989ce27e7d339af2a88455fcf64f6f5e647bedb0f05a45e4370a885fe45a60c023aa63e79b8ecf20ed3254d0052245f33f5769aca2838b42242be14a8 SHA512 9e7ac71a1824855ae526506883e439456b74ac0b811d54e94f6908249ba8719bec4c8d7672903c5280658b26cb6b5e93ecaaafe5cdc2980c760fa196773f0725
DIST zlib-1.2.13.tar.xz.asc 235 BLAKE2B 29206175f06b4e36960fc6b9403101f55c1f5b768e1921ce1402217bc85978b9fba1a4130db2df5c148b6a1c947148372be20ff8c4ce337c6f2541b42fef7274 SHA512 ca5decebe9572e77e88bac5c5119bfda7e222ed3944e4692510ae70fb5f01d8694b59a6878472b84e6b61d2d1682d94473b6312832afa520a2a23293572ea621
DIST zlib-1.2.7-cygwin-minizip.patch 2626 BLAKE2B 885f1fda877c0b783618b163702fb46126b7db572767cd4edb86bd92db1f432c887ef1724e70c8319c26886368dba3a962af5284ec0875c20ec8ad2245fd100a SHA512 e372f1e06311e843eca2092e182c41abb009b5e9880b60292d708e4bc0de5a9e4c43d49b25b0c09df4784bc46a1254472bc5cdbdd8d6c762a9f6a145a555bfe7
diff --git a/sys-libs/zlib/files/zlib-1.2.12-CRC-buggy-input.patch b/sys-libs/zlib/files/zlib-1.2.12-CRC-buggy-input.patch
deleted file mode 100644
index 083634929bbe..000000000000
--- a/sys-libs/zlib/files/zlib-1.2.12-CRC-buggy-input.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-https://github.com/madler/zlib/commit/ec3df00224d4b396e2ac6586ab5d25f673caa4c2
-https://github.com/madler/zlib/issues/613
-https://bugs.gentoo.org/836370
-
-From ec3df00224d4b396e2ac6586ab5d25f673caa4c2 Mon Sep 17 00:00:00 2001
-From: Mark Adler <madler@alumni.caltech.edu>
-Date: Wed, 30 Mar 2022 11:14:53 -0700
-Subject: [PATCH] Correct incorrect inputs provided to the CRC functions.
-
-The previous releases of zlib were not sensitive to incorrect CRC
-inputs with bits set above the low 32. This commit restores that
-behavior, so that applications with such bugs will continue to
-operate as before.
---- a/crc32.c
-+++ b/crc32.c
-@@ -630,7 +630,7 @@ unsigned long ZEXPORT crc32_z(crc, buf, len)
- #endif /* DYNAMIC_CRC_TABLE */
-
- /* Pre-condition the CRC */
-- crc ^= 0xffffffff;
-+ crc = (~crc) & 0xffffffff;
-
- /* Compute the CRC up to a word boundary. */
- while (len && ((z_size_t)buf & 7) != 0) {
-@@ -749,7 +749,7 @@ unsigned long ZEXPORT crc32_z(crc, buf, len)
- #endif /* DYNAMIC_CRC_TABLE */
-
- /* Pre-condition the CRC */
-- crc ^= 0xffffffff;
-+ crc = (~crc) & 0xffffffff;
-
- #ifdef W
-
-@@ -1077,7 +1077,7 @@ uLong ZEXPORT crc32_combine64(crc1, crc2, len2)
- #ifdef DYNAMIC_CRC_TABLE
- once(&made, make_crc_table);
- #endif /* DYNAMIC_CRC_TABLE */
-- return multmodp(x2nmodp(len2, 3), crc1) ^ crc2;
-+ return multmodp(x2nmodp(len2, 3), crc1) ^ (crc2 & 0xffffffff);
- }
-
- /* ========================================================================= */
-@@ -1112,5 +1112,5 @@ uLong crc32_combine_op(crc1, crc2, op)
- uLong crc2;
- uLong op;
- {
-- return multmodp(op, crc1) ^ crc2;
-+ return multmodp(op, crc1) ^ (crc2 & 0xffffffff);
- }
-
diff --git a/sys-libs/zlib/files/zlib-1.2.12-CVE-2022-37434.patch b/sys-libs/zlib/files/zlib-1.2.12-CVE-2022-37434.patch
deleted file mode 100644
index 1ef3b909e435..000000000000
--- a/sys-libs/zlib/files/zlib-1.2.12-CVE-2022-37434.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-https://bugs.gentoo.org/863851
-https://github.com/madler/zlib/commit/eff308af425b67093bab25f80f1ae950166bece1
-https://github.com/madler/zlib/commit/1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d (see https://github.com/curl/curl/issues/9271)
-
-From eff308af425b67093bab25f80f1ae950166bece1 Mon Sep 17 00:00:00 2001
-From: Mark Adler <fork@madler.net>
-Date: Sat, 30 Jul 2022 15:51:11 -0700
-Subject: [PATCH] Fix a bug when getting a gzip header extra field with
- inflate().
-
-If the extra field was larger than the space the user provided with
-inflateGetHeader(), and if multiple calls of inflate() delivered
-the extra header data, then there could be a buffer overflow of the
-provided space. This commit assures that provided space is not
-exceeded.
---- a/inflate.c
-+++ b/inflate.c
-@@ -763,9 +763,10 @@ int flush;
- copy = state->length;
- if (copy > have) copy = have;
- if (copy) {
-+ len = state->head->extra_len - state->length;
- if (state->head != Z_NULL &&
-- state->head->extra != Z_NULL) {
-- len = state->head->extra_len - state->length;
-+ state->head->extra != Z_NULL &&
-+ len < state->head->extra_max) {
- zmemcpy(state->head->extra + len, next,
- len + copy > state->head->extra_max ?
- state->head->extra_max - len : copy);
-
-From 1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d Mon Sep 17 00:00:00 2001
-From: Mark Adler <fork@madler.net>
-Date: Mon, 8 Aug 2022 10:50:09 -0700
-Subject: [PATCH] Fix extra field processing bug that dereferences NULL
- state->head.
-
-The recent commit to fix a gzip header extra field processing bug
-introduced the new bug fixed here.
---- a/inflate.c
-+++ b/inflate.c
-@@ -763,10 +763,10 @@ int flush;
- copy = state->length;
- if (copy > have) copy = have;
- if (copy) {
-- len = state->head->extra_len - state->length;
- if (state->head != Z_NULL &&
- state->head->extra != Z_NULL &&
-- len < state->head->extra_max) {
-+ (len = state->head->extra_len - state->length) <
-+ state->head->extra_max) {
- zmemcpy(state->head->extra + len, next,
- len + copy > state->head->extra_max ?
- state->head->extra_max - len : copy);
-
diff --git a/sys-libs/zlib/files/zlib-1.2.12-fix-CC-logic-in-configure.patch b/sys-libs/zlib/files/zlib-1.2.12-fix-CC-logic-in-configure.patch
deleted file mode 100644
index 7fb13325b114..000000000000
--- a/sys-libs/zlib/files/zlib-1.2.12-fix-CC-logic-in-configure.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-https://github.com/madler/zlib/pull/607
-
-From 80d086357a55b94a13e43756cf3e131f25eef0e4 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Mon, 28 Mar 2022 08:40:45 +0100
-Subject: [PATCH] Fix CC logic in configure
-
-In https://github.com/madler/zlib/commit/e9a52aa129efe3834383e415580716a7c4027f8d,
-the logic was changed to try check harder for GCC, but it dropped
-the default setting of cc=${CC}. It was throwing away any pre-set CC value as
-a result.
-
-The rest of the script then cascades down a bad path because it's convinced
-it's not GCC or a GCC-like compiler.
-
-This led to e.g. misdetection of inability to build shared libs
-for say, multilib cases (w/ CC being one thing from the environment being used
-for one test (e.g. x86_64-unknown-linux-gnu-gcc -m32 and then 'cc' used for
-shared libs (but missing "-m32"!)). Obviously just one example of how
-the old logic could break.
-
-This restores the old default of 'CC' if nothing overrides it later
-in configure.
-
-Bug: https://bugs.gentoo.org/836308
-Signed-off-by: Sam James <sam@gentoo.org>
----
- configure | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/configure b/configure
-index 52ff4a04e..3fa3e8618 100755
---- a/configure
-+++ b/configure
-@@ -174,7 +174,10 @@ if test -z "$CC"; then
- else
- cc=${CROSS_PREFIX}cc
- fi
-+else
-+ cc=${CC}
- fi
-+
- cflags=${CFLAGS-"-O3"}
- # to force the asm version use: CFLAGS="-O3 -DASMV" ./configure
- case "$cc" in
diff --git a/sys-libs/zlib/files/zlib-1.2.12-use-LDFLAGS-in-configure.patch b/sys-libs/zlib/files/zlib-1.2.12-use-LDFLAGS-in-configure.patch
deleted file mode 100644
index 752a473eac22..000000000000
--- a/sys-libs/zlib/files/zlib-1.2.12-use-LDFLAGS-in-configure.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-https://github.com/madler/zlib/pull/599
-
-From 37c9730ba474d274f4cc6a974943eef95087b9f6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 8 Mar 2022 22:38:47 -0800
-Subject: [PATCH] configure: Pass LDFLAGS to link tests
-
-LDFLAGS can contain critical flags without which linking wont succeed
-therefore ensure that all configure tests involving link time checks are
-using LDFLAGS on compiler commandline along with CFLAGS to ensure the
-tests perform correctly. Without this some tests may fail resulting in
-wrong confgure result, ending in miscompiling the package
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/configure
-+++ b/configure
-@@ -410,7 +410,7 @@ if test $shared -eq 1; then
- echo Checking for shared library support... | tee -a configure.log
- # we must test in two steps (cc then ld), required at least on SunOS 4.x
- if try $CC -w -c $SFLAGS $test.c &&
-- try $LDSHARED $SFLAGS -o $test$shared_ext $test.o; then
-+ try $LDSHARED $SFLAGS $LDFLAGS -o $test$shared_ext $test.o; then
- echo Building shared library $SHAREDLIBV with $CC. | tee -a configure.log
- elif test -z "$old_cc" -a -z "$old_cflags"; then
- echo No shared library support. | tee -a configure.log
-@@ -492,7 +492,7 @@ int main(void) {
- }
- EOF
- fi
-- if try $CC $CFLAGS -o $test $test.c; then
-+ if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
- sizet=`./$test`
- echo "Checking for a pointer-size integer type..." $sizet"." | tee -a configure.log
- else
-@@ -530,7 +530,7 @@ int main(void) {
- return 0;
- }
- EOF
-- if try $CC $CFLAGS -o $test $test.c; then
-+ if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
- echo "Checking for fseeko... Yes." | tee -a configure.log
- else
- CFLAGS="${CFLAGS} -DNO_FSEEKO"
-@@ -547,7 +547,7 @@ cat > $test.c <<EOF
- #include <errno.h>
- int main() { return strlen(strerror(errno)); }
- EOF
--if try $CC $CFLAGS -o $test $test.c; then
-+if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
- echo "Checking for strerror... Yes." | tee -a configure.log
- else
- CFLAGS="${CFLAGS} -DNO_STRERROR"
-@@ -654,7 +654,7 @@ int main()
- return (mytest("Hello%d\n", 1));
- }
- EOF
-- if try $CC $CFLAGS -o $test $test.c; then
-+ if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
- echo "Checking for vsnprintf() in stdio.h... Yes." | tee -a configure.log
-
- echo >> configure.log
-@@ -744,7 +744,7 @@ int main()
- }
- EOF
-
-- if try $CC $CFLAGS -o $test $test.c; then
-+ if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
- echo "Checking for snprintf() in stdio.h... Yes." | tee -a configure.log
-
- echo >> configure.log
-
diff --git a/sys-libs/zlib/zlib-1.2.12-r3.ebuild b/sys-libs/zlib/zlib-1.2.12-r3.ebuild
deleted file mode 100644
index a520842c5ff2..000000000000
--- a/sys-libs/zlib/zlib-1.2.12-r3.ebuild
+++ /dev/null
@@ -1,199 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Worth keeping an eye on 'develop' branch upstream for possible backports.
-AUTOTOOLS_AUTO_DEPEND="no"
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/madler.asc
-inherit autotools multilib-minimal usr-ldscript verify-sig
-
-CYGWINPATCHES=(
- "https://github.com/cygwinports/zlib/raw/22a3462cae33a82ad966ea0a7d6cbe8fc1368fec/1.2.11-gzopen_w.patch -> ${PN}-1.2.11-cygwin-gzopen_w.patch"
- "https://github.com/cygwinports/zlib/raw/22a3462cae33a82ad966ea0a7d6cbe8fc1368fec/1.2.7-minizip-cygwin.patch -> ${PN}-1.2.7-cygwin-minizip.patch"
-)
-
-DESCRIPTION="Standard (de)compression library"
-HOMEPAGE="https://zlib.net/"
-SRC_URI="https://zlib.net/${P}.tar.gz
- https://zlib.net/fossils/${P}.tar.gz
- https://www.gzip.org/zlib/${P}.tar.gz
- https://www.zlib.net/current/beta/${P}.tar.gz
- verify-sig? ( https://zlib.net/${P}.tar.gz.asc )
- elibc_Cygwin? ( ${CYGWINPATCHES[*]} )"
-
-LICENSE="ZLIB"
-SLOT="0/1" # subslot = SONAME
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="minizip static-libs"
-
-RDEPEND="!sys-libs/zlib-ng[compat]"
-DEPEND="${RDEPEND}"
-BDEPEND="minizip? ( ${AUTOTOOLS_DEPEND} )
- verify-sig? ( sec-keys/openpgp-keys-madler )"
-
-PATCHES=(
- # Don't install unexpected & unused crypt.h header (which would clash with other pkgs)
- # Pending upstream. bug #658536
- "${FILESDIR}"/${PN}-1.2.11-minizip-drop-crypt-header.patch
-
- # Respect AR, RANLIB, NM during build. Pending upstream. bug #831628
- "${FILESDIR}"/${PN}-1.2.11-configure-fix-AR-RANLIB-NM-detection.patch
-
- # Respect LDFLAGS during configure tests. Pending upstream
- "${FILESDIR}"/${PN}-1.2.12-use-LDFLAGS-in-configure.patch
-
- # Fix broken CC logic
- "${FILESDIR}"/${P}-fix-CC-logic-in-configure.patch
-
- # Backport for Java (and others), bug #836370
- "${FILESDIR}"/${P}-CRC-buggy-input.patch
-
- # bug #863851
- "${FILESDIR}"/${P}-CVE-2022-37434.patch
-)
-
-src_prepare() {
- default
-
- if use elibc_Cygwin ; then
- local p
- for p in "${CYGWINPATCHES[@]}" ; do
- # Strip out the "... -> " from the array
- eapply -p2 "${DISTDIR}/${p#*> }"
- done
- fi
-
- if use minizip ; then
- cd contrib/minizip || die
- eautoreconf
- fi
-
- case ${CHOST} in
- *-cygwin*)
- # Do not use _wopen, it's a mingw-only symbol
- sed -i -e '/define WIDECHAR/d' "${S}"/gzguts.h || die
-
- # zlib1.dll is the mingw name, need cygz.dll
- # cygz.dll is loaded by toolchain, put into subdir
- sed -i -e 's|zlib1.dll|win32/cygz.dll|' win32/Makefile.gcc || die
-
- ;;
- esac
-
- case ${CHOST} in
- *-mingw*|mingw*|*-cygwin*)
- # Uses preconfigured Makefile rather than configure script
- multilib_copy_sources
-
- ;;
- esac
-}
-
-echoit() { echo "$@"; "$@"; }
-
-multilib_src_configure() {
- case ${CHOST} in
- *-mingw*|mingw*|*-cygwin*)
- ;;
-
- *)
- # bug #347167
- local uname=$("${BROOT}"/usr/share/gnuconfig/config.sub "${CHOST}" | cut -d- -f3)
-
- local myconf=(
- --shared
- --prefix="${EPREFIX}/usr"
- --libdir="${EPREFIX}/usr/$(get_libdir)"
- ${uname:+--uname=${uname}}
- )
-
- # Not an autoconf script, so can't use econf
- echoit "${S}"/configure "${myconf[@]}" || die
-
- ;;
- esac
-
- if use minizip ; then
- local minizipdir="contrib/minizip"
- mkdir -p "${BUILD_DIR}/${minizipdir}" || die
-
- cd ${minizipdir} || die
- ECONF_SOURCE="${S}/${minizipdir}" econf $(use_enable static-libs static)
- fi
-}
-
-multilib_src_compile() {
- case ${CHOST} in
- *-mingw*|mingw*|*-cygwin*)
- emake -f win32/Makefile.gcc STRIP=true PREFIX=${CHOST}-
- sed \
- -e 's|@prefix@|'"${EPREFIX}"'/usr|g' \
- -e 's|@exec_prefix@|${prefix}|g' \
- -e 's|@libdir@|${exec_prefix}/'$(get_libdir)'|g' \
- -e 's|@sharedlibdir@|${exec_prefix}/'$(get_libdir)'|g' \
- -e 's|@includedir@|${prefix}/include|g' \
- -e 's|@VERSION@|'${PV}'|g' \
- zlib.pc.in > zlib.pc || die
- ;;
-
- *)
- emake
-
- ;;
- esac
-
- use minizip && emake -C contrib/minizip
-}
-
-sed_macros() {
- # Clean up namespace a little, bug #383179
- # We do it here so we only have to tweak 2 files
- sed -i -r 's:\<(O[FN])\>:_Z_\1:g' "$@" || die
-}
-
-multilib_src_install() {
- case ${CHOST} in
- *-mingw*|mingw*|*-cygwin*)
- emake -f win32/Makefile.gcc install \
- BINARY_PATH="${ED}/usr/bin" \
- LIBRARY_PATH="${ED}/usr/$(get_libdir)" \
- INCLUDE_PATH="${ED}/usr/include" \
- SHARED_MODE=1
-
- # Overwrites zlib.pc created from win32/Makefile.gcc, bug #620136
- insinto /usr/$(get_libdir)/pkgconfig
- doins zlib.pc
-
- ;;
-
- *)
- emake install DESTDIR="${D}" LDCONFIG=:
- gen_usr_ldscript -a z
-
- ;;
- esac
-
- sed_macros "${ED}"/usr/include/*.h
-
- if use minizip ; then
- emake -C contrib/minizip install DESTDIR="${D}"
- sed_macros "${ED}"/usr/include/minizip/*.h
- fi
-
- if use minizip; then
- # This might not exist if slibtool is used.
- # bug #816756
- rm -f "${ED}"/usr/$(get_libdir)/libminizip.la || die
- fi
-
- if ! use static-libs ; then
- # bug #419645
- rm "${ED}"/usr/$(get_libdir)/libz.a || die
- fi
-}
-
-multilib_src_install_all() {
- dodoc FAQ README ChangeLog doc/*.txt
- use minizip && dodoc contrib/minizip/*.txt
-}
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/zlib/files/, sys-libs/zlib/
@ 2022-10-14 19:04 Sam James
0 siblings, 0 replies; 8+ messages in thread
From: Sam James @ 2022-10-14 19:04 UTC (permalink / raw
To: gentoo-commits
commit: 4efe01ba2e5b6a4696ce14f70006f4ec05ac14ac
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 14 18:36:20 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct 14 18:50:51 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4efe01ba
sys-libs/zlib: add 1.2.13
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-libs/zlib/Manifest | 2 +
.../zlib-1.2.13-use-LDFLAGS-in-configure.patch | 72 ++++++++
sys-libs/zlib/zlib-1.2.13.ebuild | 191 +++++++++++++++++++++
3 files changed, 265 insertions(+)
diff --git a/sys-libs/zlib/Manifest b/sys-libs/zlib/Manifest
index 64bfa1e36767..6f127872cd6e 100644
--- a/sys-libs/zlib/Manifest
+++ b/sys-libs/zlib/Manifest
@@ -1,4 +1,6 @@
DIST zlib-1.2.11-cygwin-gzopen_w.patch 1170 BLAKE2B fe351436716634bd823da8c2811d332327d335d450d89bee85d7713b09dd454fe6aee264b044a41bf3be603aa36d67943ba6c7d8b46470e180e9b639728b5274 SHA512 14cc63a17fbf6afb6c8a8dd0b92df9807b48e0faf09c88f952083f10716ae62be8de2a0e1424b77fb538605b88898b381160521f2872afdda59e12bd27535c5a
DIST zlib-1.2.12.tar.gz 1490071 BLAKE2B 76e7b26f8dc761b0eae6276cc32bc36fa74a88197699c95d158c1548f97b80db5e39d21144ecd6ee3eb90c42730aa5f387f9952d9a3f0930b56e9dfcd12f1e67 SHA512 cc2366fa45d5dfee1f983c8c51515e0cff959b61471e2e8d24350dea22d3f6fcc50723615a911b046ffc95f51ba337d39ae402131a55e6d1541d3b095d6c0a14
DIST zlib-1.2.12.tar.gz.asc 235 BLAKE2B bb1efc89b10b894ebc8e8008ee3e98104348f197fae54d298d62057a2d8b8d7246de937962b531189f80ad64a803112300a73862cba121cbf6a6d5ac5f9bc40c SHA512 5c1144371a83b83f9f1d008aa9297e23c0db992cab6c4a8966f9320e70c6186867d62753511d6a663b0fe181cd37fe256c53586358a42ea348ccc0747b1a7153
+DIST zlib-1.2.13.tar.xz 1296496 BLAKE2B cefcd25989ce27e7d339af2a88455fcf64f6f5e647bedb0f05a45e4370a885fe45a60c023aa63e79b8ecf20ed3254d0052245f33f5769aca2838b42242be14a8 SHA512 9e7ac71a1824855ae526506883e439456b74ac0b811d54e94f6908249ba8719bec4c8d7672903c5280658b26cb6b5e93ecaaafe5cdc2980c760fa196773f0725
+DIST zlib-1.2.13.tar.xz.asc 235 BLAKE2B 29206175f06b4e36960fc6b9403101f55c1f5b768e1921ce1402217bc85978b9fba1a4130db2df5c148b6a1c947148372be20ff8c4ce337c6f2541b42fef7274 SHA512 ca5decebe9572e77e88bac5c5119bfda7e222ed3944e4692510ae70fb5f01d8694b59a6878472b84e6b61d2d1682d94473b6312832afa520a2a23293572ea621
DIST zlib-1.2.7-cygwin-minizip.patch 2626 BLAKE2B 885f1fda877c0b783618b163702fb46126b7db572767cd4edb86bd92db1f432c887ef1724e70c8319c26886368dba3a962af5284ec0875c20ec8ad2245fd100a SHA512 e372f1e06311e843eca2092e182c41abb009b5e9880b60292d708e4bc0de5a9e4c43d49b25b0c09df4784bc46a1254472bc5cdbdd8d6c762a9f6a145a555bfe7
diff --git a/sys-libs/zlib/files/zlib-1.2.13-use-LDFLAGS-in-configure.patch b/sys-libs/zlib/files/zlib-1.2.13-use-LDFLAGS-in-configure.patch
new file mode 100644
index 000000000000..9f2b240334e8
--- /dev/null
+++ b/sys-libs/zlib/files/zlib-1.2.13-use-LDFLAGS-in-configure.patch
@@ -0,0 +1,72 @@
+https://github.com/madler/zlib/pull/599
+
+Rebased version of:
+
+From 37c9730ba474d274f4cc6a974943eef95087b9f6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 8 Mar 2022 22:38:47 -0800
+Subject: [PATCH] configure: Pass LDFLAGS to link tests
+
+LDFLAGS can contain critical flags without which linking wont succeed
+therefore ensure that all configure tests involving link time checks are
+using LDFLAGS on compiler commandline along with CFLAGS to ensure the
+tests perform correctly. Without this some tests may fail resulting in
+wrong confgure result, ending in miscompiling the package
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/configure
++++ b/configure
+@@ -436,7 +436,7 @@ if test $shared -eq 1; then
+ echo Checking for shared library support... | tee -a configure.log
+ # we must test in two steps (cc then ld), required at least on SunOS 4.x
+ if try $CC -w -c $SFLAGS $test.c &&
+- try $LDSHARED $SFLAGS -o $test$shared_ext $test.o; then
++ try $LDSHARED $SFLAGS $LDFLAGS -o $test$shared_ext $test.o; then
+ echo Building shared library $SHAREDLIBV with $CC. | tee -a configure.log
+ elif test -z "$old_cc" -a -z "$old_cflags"; then
+ echo No shared library support. | tee -a configure.log
+@@ -498,7 +498,7 @@ int main(void) {
+ }
+ EOF
+ fi
+- if try $CC $CFLAGS -o $test $test.c; then
++ if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
+ sizet=`./$test`
+ echo "Checking for a pointer-size integer type..." $sizet"." | tee -a configure.log
+ CFLAGS="${CFLAGS} -DNO_SIZE_T=${sizet}"
+@@ -532,7 +532,7 @@ int main(void) {
+ return 0;
+ }
+ EOF
+- if try $CC $CFLAGS -o $test $test.c; then
++ if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
+ echo "Checking for fseeko... Yes." | tee -a configure.log
+ else
+ CFLAGS="${CFLAGS} -DNO_FSEEKO"
+@@ -549,7 +549,7 @@ cat > $test.c <<EOF
+ #include <errno.h>
+ int main() { return strlen(strerror(errno)); }
+ EOF
+-if try $CC $CFLAGS -o $test $test.c; then
++if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
+ echo "Checking for strerror... Yes." | tee -a configure.log
+ else
+ CFLAGS="${CFLAGS} -DNO_STRERROR"
+@@ -656,7 +656,7 @@ int main()
+ return (mytest("Hello%d\n", 1));
+ }
+ EOF
+- if try $CC $CFLAGS -o $test $test.c; then
++ if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
+ echo "Checking for vsnprintf() in stdio.h... Yes." | tee -a configure.log
+
+ echo >> configure.log
+@@ -746,7 +746,7 @@ int main()
+ }
+ EOF
+
+- if try $CC $CFLAGS -o $test $test.c; then
++ if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
+ echo "Checking for snprintf() in stdio.h... Yes." | tee -a configure.log
+
+ echo >> configure.log
diff --git a/sys-libs/zlib/zlib-1.2.13.ebuild b/sys-libs/zlib/zlib-1.2.13.ebuild
new file mode 100644
index 000000000000..ed611f394ec6
--- /dev/null
+++ b/sys-libs/zlib/zlib-1.2.13.ebuild
@@ -0,0 +1,191 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Worth keeping an eye on 'develop' branch upstream for possible backports.
+AUTOTOOLS_AUTO_DEPEND="no"
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/madler.asc
+inherit autotools multilib-minimal usr-ldscript verify-sig
+
+CYGWINPATCHES=(
+ "https://github.com/cygwinports/zlib/raw/22a3462cae33a82ad966ea0a7d6cbe8fc1368fec/1.2.11-gzopen_w.patch -> ${PN}-1.2.11-cygwin-gzopen_w.patch"
+ "https://github.com/cygwinports/zlib/raw/22a3462cae33a82ad966ea0a7d6cbe8fc1368fec/1.2.7-minizip-cygwin.patch -> ${PN}-1.2.7-cygwin-minizip.patch"
+)
+
+DESCRIPTION="Standard (de)compression library"
+HOMEPAGE="https://zlib.net/"
+SRC_URI="https://zlib.net/${P}.tar.xz
+ https://zlib.net/fossils/${P}.tar.xz
+ https://zlib.net/current/beta/${P}.tar.xz
+ verify-sig? ( https://zlib.net/${P}.tar.xz.asc )
+ elibc_Cygwin? ( ${CYGWINPATCHES[*]} )"
+
+LICENSE="ZLIB"
+SLOT="0/1" # subslot = SONAME
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="minizip static-libs"
+
+RDEPEND="!sys-libs/zlib-ng[compat]"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ minizip? ( ${AUTOTOOLS_DEPEND} )
+ verify-sig? ( sec-keys/openpgp-keys-madler )
+"
+
+PATCHES=(
+ # Don't install unexpected & unused crypt.h header (which would clash with other pkgs)
+ # Pending upstream. bug #658536
+ "${FILESDIR}"/${PN}-1.2.11-minizip-drop-crypt-header.patch
+
+ # Respect AR, RANLIB, NM during build. Pending upstream. bug #831628
+ "${FILESDIR}"/${PN}-1.2.11-configure-fix-AR-RANLIB-NM-detection.patch
+
+ # Respect LDFLAGS during configure tests. Pending upstream
+ "${FILESDIR}"/${PN}-1.2.13-use-LDFLAGS-in-configure.patch
+)
+
+src_prepare() {
+ default
+
+ if use elibc_Cygwin ; then
+ local p
+ for p in "${CYGWINPATCHES[@]}" ; do
+ # Strip out the "... -> " from the array
+ eapply -p2 "${DISTDIR}/${p#*> }"
+ done
+ fi
+
+ if use minizip ; then
+ cd contrib/minizip || die
+ eautoreconf
+ fi
+
+ case ${CHOST} in
+ *-cygwin*)
+ # Do not use _wopen, it's a mingw-only symbol
+ sed -i -e '/define WIDECHAR/d' "${S}"/gzguts.h || die
+
+ # zlib1.dll is the mingw name, need cygz.dll
+ # cygz.dll is loaded by toolchain, put into subdir
+ sed -i -e 's|zlib1.dll|win32/cygz.dll|' win32/Makefile.gcc || die
+
+ ;;
+ esac
+
+ case ${CHOST} in
+ *-mingw*|mingw*|*-cygwin*)
+ # Uses preconfigured Makefile rather than configure script
+ multilib_copy_sources
+
+ ;;
+ esac
+}
+
+echoit() { echo "$@"; "$@"; }
+
+multilib_src_configure() {
+ case ${CHOST} in
+ *-mingw*|mingw*|*-cygwin*)
+ ;;
+
+ *)
+ # bug #347167
+ local uname=$("${BROOT}"/usr/share/gnuconfig/config.sub "${CHOST}" | cut -d- -f3)
+
+ local myconf=(
+ --shared
+ --prefix="${EPREFIX}/usr"
+ --libdir="${EPREFIX}/usr/$(get_libdir)"
+ ${uname:+--uname=${uname}}
+ )
+
+ # Not an autoconf script, so can't use econf
+ echoit "${S}"/configure "${myconf[@]}" || die
+
+ ;;
+ esac
+
+ if use minizip ; then
+ local minizipdir="contrib/minizip"
+ mkdir -p "${BUILD_DIR}/${minizipdir}" || die
+
+ cd ${minizipdir} || die
+ ECONF_SOURCE="${S}/${minizipdir}" econf $(use_enable static-libs static)
+ fi
+}
+
+multilib_src_compile() {
+ case ${CHOST} in
+ *-mingw*|mingw*|*-cygwin*)
+ emake -f win32/Makefile.gcc STRIP=true PREFIX=${CHOST}-
+ sed \
+ -e 's|@prefix@|'"${EPREFIX}"'/usr|g' \
+ -e 's|@exec_prefix@|${prefix}|g' \
+ -e 's|@libdir@|${exec_prefix}/'$(get_libdir)'|g' \
+ -e 's|@sharedlibdir@|${exec_prefix}/'$(get_libdir)'|g' \
+ -e 's|@includedir@|${prefix}/include|g' \
+ -e 's|@VERSION@|'${PV}'|g' \
+ zlib.pc.in > zlib.pc || die
+ ;;
+
+ *)
+ emake
+
+ ;;
+ esac
+
+ use minizip && emake -C contrib/minizip
+}
+
+sed_macros() {
+ # Clean up namespace a little, bug #383179
+ # We do it here so we only have to tweak 2 files
+ sed -i -r 's:\<(O[FN])\>:_Z_\1:g' "$@" || die
+}
+
+multilib_src_install() {
+ case ${CHOST} in
+ *-mingw*|mingw*|*-cygwin*)
+ emake -f win32/Makefile.gcc install \
+ BINARY_PATH="${ED}/usr/bin" \
+ LIBRARY_PATH="${ED}/usr/$(get_libdir)" \
+ INCLUDE_PATH="${ED}/usr/include" \
+ SHARED_MODE=1
+
+ # Overwrites zlib.pc created from win32/Makefile.gcc, bug #620136
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins zlib.pc
+
+ ;;
+
+ *)
+ emake install DESTDIR="${D}" LDCONFIG=:
+ gen_usr_ldscript -a z
+
+ ;;
+ esac
+
+ sed_macros "${ED}"/usr/include/*.h
+
+ if use minizip ; then
+ emake -C contrib/minizip install DESTDIR="${D}"
+ sed_macros "${ED}"/usr/include/minizip/*.h
+ fi
+
+ if use minizip; then
+ # This might not exist if slibtool is used.
+ # bug #816756
+ rm -f "${ED}"/usr/$(get_libdir)/libminizip.la || die
+ fi
+
+ if ! use static-libs ; then
+ # bug #419645
+ rm "${ED}"/usr/$(get_libdir)/libz.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc FAQ README ChangeLog doc/*.txt
+ use minizip && dodoc contrib/minizip/*.txt
+}
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/zlib/files/, sys-libs/zlib/
@ 2022-08-16 0:52 Sam James
0 siblings, 0 replies; 8+ messages in thread
From: Sam James @ 2022-08-16 0:52 UTC (permalink / raw
To: gentoo-commits
commit: 05fd542aa1119b54b8ba2bb79817f7016d0cacad
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 16 00:52:04 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug 16 00:52:04 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=05fd542a
sys-libs/zlib: patch CVE-2022-37434
(includes the additional fix which curl exposed too)
Bug: https://bugs.gentoo.org/863851
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../zlib/files/zlib-1.2.12-CVE-2022-37434.patch | 55 ++++++
sys-libs/zlib/zlib-1.2.12-r3.ebuild | 199 +++++++++++++++++++++
2 files changed, 254 insertions(+)
diff --git a/sys-libs/zlib/files/zlib-1.2.12-CVE-2022-37434.patch b/sys-libs/zlib/files/zlib-1.2.12-CVE-2022-37434.patch
new file mode 100644
index 000000000000..1ef3b909e435
--- /dev/null
+++ b/sys-libs/zlib/files/zlib-1.2.12-CVE-2022-37434.patch
@@ -0,0 +1,55 @@
+https://bugs.gentoo.org/863851
+https://github.com/madler/zlib/commit/eff308af425b67093bab25f80f1ae950166bece1
+https://github.com/madler/zlib/commit/1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d (see https://github.com/curl/curl/issues/9271)
+
+From eff308af425b67093bab25f80f1ae950166bece1 Mon Sep 17 00:00:00 2001
+From: Mark Adler <fork@madler.net>
+Date: Sat, 30 Jul 2022 15:51:11 -0700
+Subject: [PATCH] Fix a bug when getting a gzip header extra field with
+ inflate().
+
+If the extra field was larger than the space the user provided with
+inflateGetHeader(), and if multiple calls of inflate() delivered
+the extra header data, then there could be a buffer overflow of the
+provided space. This commit assures that provided space is not
+exceeded.
+--- a/inflate.c
++++ b/inflate.c
+@@ -763,9 +763,10 @@ int flush;
+ copy = state->length;
+ if (copy > have) copy = have;
+ if (copy) {
++ len = state->head->extra_len - state->length;
+ if (state->head != Z_NULL &&
+- state->head->extra != Z_NULL) {
+- len = state->head->extra_len - state->length;
++ state->head->extra != Z_NULL &&
++ len < state->head->extra_max) {
+ zmemcpy(state->head->extra + len, next,
+ len + copy > state->head->extra_max ?
+ state->head->extra_max - len : copy);
+
+From 1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d Mon Sep 17 00:00:00 2001
+From: Mark Adler <fork@madler.net>
+Date: Mon, 8 Aug 2022 10:50:09 -0700
+Subject: [PATCH] Fix extra field processing bug that dereferences NULL
+ state->head.
+
+The recent commit to fix a gzip header extra field processing bug
+introduced the new bug fixed here.
+--- a/inflate.c
++++ b/inflate.c
+@@ -763,10 +763,10 @@ int flush;
+ copy = state->length;
+ if (copy > have) copy = have;
+ if (copy) {
+- len = state->head->extra_len - state->length;
+ if (state->head != Z_NULL &&
+ state->head->extra != Z_NULL &&
+- len < state->head->extra_max) {
++ (len = state->head->extra_len - state->length) <
++ state->head->extra_max) {
+ zmemcpy(state->head->extra + len, next,
+ len + copy > state->head->extra_max ?
+ state->head->extra_max - len : copy);
+
diff --git a/sys-libs/zlib/zlib-1.2.12-r3.ebuild b/sys-libs/zlib/zlib-1.2.12-r3.ebuild
new file mode 100644
index 000000000000..1117652b5367
--- /dev/null
+++ b/sys-libs/zlib/zlib-1.2.12-r3.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Worth keeping an eye on 'develop' branch upstream for possible backports.
+AUTOTOOLS_AUTO_DEPEND="no"
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/madler.asc
+inherit autotools multilib-minimal usr-ldscript verify-sig
+
+CYGWINPATCHES=(
+ "https://github.com/cygwinports/zlib/raw/22a3462cae33a82ad966ea0a7d6cbe8fc1368fec/1.2.11-gzopen_w.patch -> ${PN}-1.2.11-cygwin-gzopen_w.patch"
+ "https://github.com/cygwinports/zlib/raw/22a3462cae33a82ad966ea0a7d6cbe8fc1368fec/1.2.7-minizip-cygwin.patch -> ${PN}-1.2.7-cygwin-minizip.patch"
+)
+
+DESCRIPTION="Standard (de)compression library"
+HOMEPAGE="https://zlib.net/"
+SRC_URI="https://zlib.net/${P}.tar.gz
+ https://zlib.net/fossils/${P}.tar.gz
+ https://www.gzip.org/zlib/${P}.tar.gz
+ https://www.zlib.net/current/beta/${P}.tar.gz
+ verify-sig? ( https://zlib.net/${P}.tar.gz.asc )
+ elibc_Cygwin? ( ${CYGWINPATCHES[*]} )"
+
+LICENSE="ZLIB"
+SLOT="0/1" # subslot = SONAME
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="minizip static-libs"
+
+RDEPEND="!sys-libs/zlib-ng[compat]"
+DEPEND="${RDEPEND}"
+BDEPEND="minizip? ( ${AUTOTOOLS_DEPEND} )
+ verify-sig? ( sec-keys/openpgp-keys-madler )"
+
+PATCHES=(
+ # Don't install unexpected & unused crypt.h header (which would clash with other pkgs)
+ # Pending upstream. bug #658536
+ "${FILESDIR}"/${PN}-1.2.11-minizip-drop-crypt-header.patch
+
+ # Respect AR, RANLIB, NM during build. Pending upstream. bug #831628
+ "${FILESDIR}"/${PN}-1.2.11-configure-fix-AR-RANLIB-NM-detection.patch
+
+ # Respect LDFLAGS during configure tests. Pending upstream
+ "${FILESDIR}"/${PN}-1.2.12-use-LDFLAGS-in-configure.patch
+
+ # Fix broken CC logic
+ "${FILESDIR}"/${P}-fix-CC-logic-in-configure.patch
+
+ # Backport for Java (and others), bug #836370
+ "${FILESDIR}"/${P}-CRC-buggy-input.patch
+
+ # bug #863851
+ "${FILESDIR}"/${P}-CVE-2022-37434.patch
+)
+
+src_prepare() {
+ default
+
+ if use elibc_Cygwin ; then
+ local p
+ for p in "${CYGWINPATCHES[@]}" ; do
+ # Strip out the "... -> " from the array
+ eapply -p2 "${DISTDIR}/${p#*> }"
+ done
+ fi
+
+ if use minizip ; then
+ cd contrib/minizip || die
+ eautoreconf
+ fi
+
+ case ${CHOST} in
+ *-cygwin*)
+ # Do not use _wopen, it's a mingw-only symbol
+ sed -i -e '/define WIDECHAR/d' "${S}"/gzguts.h || die
+
+ # zlib1.dll is the mingw name, need cygz.dll
+ # cygz.dll is loaded by toolchain, put into subdir
+ sed -i -e 's|zlib1.dll|win32/cygz.dll|' win32/Makefile.gcc || die
+
+ ;;
+ esac
+
+ case ${CHOST} in
+ *-mingw*|mingw*|*-cygwin*)
+ # Uses preconfigured Makefile rather than configure script
+ multilib_copy_sources
+
+ ;;
+ esac
+}
+
+echoit() { echo "$@"; "$@"; }
+
+multilib_src_configure() {
+ case ${CHOST} in
+ *-mingw*|mingw*|*-cygwin*)
+ ;;
+
+ *)
+ # bug #347167
+ local uname=$("${BROOT}"/usr/share/gnuconfig/config.sub "${CHOST}" | cut -d- -f3)
+
+ local myconf=(
+ --shared
+ --prefix="${EPREFIX}/usr"
+ --libdir="${EPREFIX}/usr/$(get_libdir)"
+ ${uname:+--uname=${uname}}
+ )
+
+ # Not an autoconf script, so can't use econf
+ echoit "${S}"/configure "${myconf[@]}" || die
+
+ ;;
+ esac
+
+ if use minizip ; then
+ local minizipdir="contrib/minizip"
+ mkdir -p "${BUILD_DIR}/${minizipdir}" || die
+
+ cd ${minizipdir} || die
+ ECONF_SOURCE="${S}/${minizipdir}" econf $(use_enable static-libs static)
+ fi
+}
+
+multilib_src_compile() {
+ case ${CHOST} in
+ *-mingw*|mingw*|*-cygwin*)
+ emake -f win32/Makefile.gcc STRIP=true PREFIX=${CHOST}-
+ sed \
+ -e 's|@prefix@|'"${EPREFIX}"'/usr|g' \
+ -e 's|@exec_prefix@|${prefix}|g' \
+ -e 's|@libdir@|${exec_prefix}/'$(get_libdir)'|g' \
+ -e 's|@sharedlibdir@|${exec_prefix}/'$(get_libdir)'|g' \
+ -e 's|@includedir@|${prefix}/include|g' \
+ -e 's|@VERSION@|'${PV}'|g' \
+ zlib.pc.in > zlib.pc || die
+ ;;
+
+ *)
+ emake
+
+ ;;
+ esac
+
+ use minizip && emake -C contrib/minizip
+}
+
+sed_macros() {
+ # Clean up namespace a little, bug #383179
+ # We do it here so we only have to tweak 2 files
+ sed -i -r 's:\<(O[FN])\>:_Z_\1:g' "$@" || die
+}
+
+multilib_src_install() {
+ case ${CHOST} in
+ *-mingw*|mingw*|*-cygwin*)
+ emake -f win32/Makefile.gcc install \
+ BINARY_PATH="${ED}/usr/bin" \
+ LIBRARY_PATH="${ED}/usr/$(get_libdir)" \
+ INCLUDE_PATH="${ED}/usr/include" \
+ SHARED_MODE=1
+
+ # Overwrites zlib.pc created from win32/Makefile.gcc, bug #620136
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins zlib.pc
+
+ ;;
+
+ *)
+ emake install DESTDIR="${D}" LDCONFIG=:
+ gen_usr_ldscript -a z
+
+ ;;
+ esac
+
+ sed_macros "${ED}"/usr/include/*.h
+
+ if use minizip ; then
+ emake -C contrib/minizip install DESTDIR="${D}"
+ sed_macros "${ED}"/usr/include/minizip/*.h
+ fi
+
+ if use minizip; then
+ # This might not exist if slibtool is used.
+ # bug #816756
+ rm -f "${ED}"/usr/$(get_libdir)/libminizip.la || die
+ fi
+
+ if ! use static-libs ; then
+ # bug #419645
+ rm "${ED}"/usr/$(get_libdir)/libz.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc FAQ README ChangeLog doc/*.txt
+ use minizip && dodoc contrib/minizip/*.txt
+}
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/zlib/files/, sys-libs/zlib/
@ 2022-03-31 0:21 Sam James
0 siblings, 0 replies; 8+ messages in thread
From: Sam James @ 2022-03-31 0:21 UTC (permalink / raw
To: gentoo-commits
commit: 37f4162df7f95c4c101ac94792d50894560b994a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 31 00:18:55 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar 31 00:19:08 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37f4162d
sys-libs/zlib: backport CRC fix
Would return bad results on bad input.
Closes: https://bugs.gentoo.org/836370
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../zlib/files/zlib-1.2.12-CRC-buggy-input.patch | 50 ++++++
.../zlib-1.2.12-use-LDFLAGS-in-configure.patch | 71 ++++++++
sys-libs/zlib/zlib-1.2.12-r2.ebuild | 194 +++++++++++++++++++++
3 files changed, 315 insertions(+)
diff --git a/sys-libs/zlib/files/zlib-1.2.12-CRC-buggy-input.patch b/sys-libs/zlib/files/zlib-1.2.12-CRC-buggy-input.patch
new file mode 100644
index 000000000000..083634929bbe
--- /dev/null
+++ b/sys-libs/zlib/files/zlib-1.2.12-CRC-buggy-input.patch
@@ -0,0 +1,50 @@
+https://github.com/madler/zlib/commit/ec3df00224d4b396e2ac6586ab5d25f673caa4c2
+https://github.com/madler/zlib/issues/613
+https://bugs.gentoo.org/836370
+
+From ec3df00224d4b396e2ac6586ab5d25f673caa4c2 Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Wed, 30 Mar 2022 11:14:53 -0700
+Subject: [PATCH] Correct incorrect inputs provided to the CRC functions.
+
+The previous releases of zlib were not sensitive to incorrect CRC
+inputs with bits set above the low 32. This commit restores that
+behavior, so that applications with such bugs will continue to
+operate as before.
+--- a/crc32.c
++++ b/crc32.c
+@@ -630,7 +630,7 @@ unsigned long ZEXPORT crc32_z(crc, buf, len)
+ #endif /* DYNAMIC_CRC_TABLE */
+
+ /* Pre-condition the CRC */
+- crc ^= 0xffffffff;
++ crc = (~crc) & 0xffffffff;
+
+ /* Compute the CRC up to a word boundary. */
+ while (len && ((z_size_t)buf & 7) != 0) {
+@@ -749,7 +749,7 @@ unsigned long ZEXPORT crc32_z(crc, buf, len)
+ #endif /* DYNAMIC_CRC_TABLE */
+
+ /* Pre-condition the CRC */
+- crc ^= 0xffffffff;
++ crc = (~crc) & 0xffffffff;
+
+ #ifdef W
+
+@@ -1077,7 +1077,7 @@ uLong ZEXPORT crc32_combine64(crc1, crc2, len2)
+ #ifdef DYNAMIC_CRC_TABLE
+ once(&made, make_crc_table);
+ #endif /* DYNAMIC_CRC_TABLE */
+- return multmodp(x2nmodp(len2, 3), crc1) ^ crc2;
++ return multmodp(x2nmodp(len2, 3), crc1) ^ (crc2 & 0xffffffff);
+ }
+
+ /* ========================================================================= */
+@@ -1112,5 +1112,5 @@ uLong crc32_combine_op(crc1, crc2, op)
+ uLong crc2;
+ uLong op;
+ {
+- return multmodp(op, crc1) ^ crc2;
++ return multmodp(op, crc1) ^ (crc2 & 0xffffffff);
+ }
+
diff --git a/sys-libs/zlib/files/zlib-1.2.12-use-LDFLAGS-in-configure.patch b/sys-libs/zlib/files/zlib-1.2.12-use-LDFLAGS-in-configure.patch
new file mode 100644
index 000000000000..752a473eac22
--- /dev/null
+++ b/sys-libs/zlib/files/zlib-1.2.12-use-LDFLAGS-in-configure.patch
@@ -0,0 +1,71 @@
+https://github.com/madler/zlib/pull/599
+
+From 37c9730ba474d274f4cc6a974943eef95087b9f6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 8 Mar 2022 22:38:47 -0800
+Subject: [PATCH] configure: Pass LDFLAGS to link tests
+
+LDFLAGS can contain critical flags without which linking wont succeed
+therefore ensure that all configure tests involving link time checks are
+using LDFLAGS on compiler commandline along with CFLAGS to ensure the
+tests perform correctly. Without this some tests may fail resulting in
+wrong confgure result, ending in miscompiling the package
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/configure
++++ b/configure
+@@ -410,7 +410,7 @@ if test $shared -eq 1; then
+ echo Checking for shared library support... | tee -a configure.log
+ # we must test in two steps (cc then ld), required at least on SunOS 4.x
+ if try $CC -w -c $SFLAGS $test.c &&
+- try $LDSHARED $SFLAGS -o $test$shared_ext $test.o; then
++ try $LDSHARED $SFLAGS $LDFLAGS -o $test$shared_ext $test.o; then
+ echo Building shared library $SHAREDLIBV with $CC. | tee -a configure.log
+ elif test -z "$old_cc" -a -z "$old_cflags"; then
+ echo No shared library support. | tee -a configure.log
+@@ -492,7 +492,7 @@ int main(void) {
+ }
+ EOF
+ fi
+- if try $CC $CFLAGS -o $test $test.c; then
++ if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
+ sizet=`./$test`
+ echo "Checking for a pointer-size integer type..." $sizet"." | tee -a configure.log
+ else
+@@ -530,7 +530,7 @@ int main(void) {
+ return 0;
+ }
+ EOF
+- if try $CC $CFLAGS -o $test $test.c; then
++ if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
+ echo "Checking for fseeko... Yes." | tee -a configure.log
+ else
+ CFLAGS="${CFLAGS} -DNO_FSEEKO"
+@@ -547,7 +547,7 @@ cat > $test.c <<EOF
+ #include <errno.h>
+ int main() { return strlen(strerror(errno)); }
+ EOF
+-if try $CC $CFLAGS -o $test $test.c; then
++if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
+ echo "Checking for strerror... Yes." | tee -a configure.log
+ else
+ CFLAGS="${CFLAGS} -DNO_STRERROR"
+@@ -654,7 +654,7 @@ int main()
+ return (mytest("Hello%d\n", 1));
+ }
+ EOF
+- if try $CC $CFLAGS -o $test $test.c; then
++ if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
+ echo "Checking for vsnprintf() in stdio.h... Yes." | tee -a configure.log
+
+ echo >> configure.log
+@@ -744,7 +744,7 @@ int main()
+ }
+ EOF
+
+- if try $CC $CFLAGS -o $test $test.c; then
++ if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
+ echo "Checking for snprintf() in stdio.h... Yes." | tee -a configure.log
+
+ echo >> configure.log
+
diff --git a/sys-libs/zlib/zlib-1.2.12-r2.ebuild b/sys-libs/zlib/zlib-1.2.12-r2.ebuild
new file mode 100644
index 000000000000..6aa6f8503bc7
--- /dev/null
+++ b/sys-libs/zlib/zlib-1.2.12-r2.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+AUTOTOOLS_AUTO_DEPEND="no"
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/madler.asc
+inherit autotools multilib-minimal usr-ldscript verify-sig
+
+CYGWINPATCHES=(
+ "https://github.com/cygwinports/zlib/raw/22a3462cae33a82ad966ea0a7d6cbe8fc1368fec/1.2.11-gzopen_w.patch -> ${PN}-1.2.11-cygwin-gzopen_w.patch"
+ "https://github.com/cygwinports/zlib/raw/22a3462cae33a82ad966ea0a7d6cbe8fc1368fec/1.2.7-minizip-cygwin.patch -> ${PN}-1.2.7-cygwin-minizip.patch"
+)
+
+DESCRIPTION="Standard (de)compression library"
+HOMEPAGE="https://zlib.net/"
+SRC_URI="https://zlib.net/${P}.tar.gz
+ https://www.gzip.org/zlib/${P}.tar.gz
+ https://www.zlib.net/current/beta/${P}.tar.gz
+ verify-sig? ( https://zlib.net/${P}.tar.gz.asc )
+ elibc_Cygwin? ( ${CYGWINPATCHES[*]} )"
+
+LICENSE="ZLIB"
+SLOT="0/1" # subslot = SONAME
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="minizip static-libs"
+
+RDEPEND="!sys-libs/zlib-ng[compat]"
+DEPEND="${RDEPEND}"
+BDEPEND="minizip? ( ${AUTOTOOLS_DEPEND} )
+ verify-sig? ( sec-keys/openpgp-keys-madler )"
+
+PATCHES=(
+ # Don't install unexpected & unused crypt.h header (which would clash with other pkgs)
+ # Pending upstream. bug #658536
+ "${FILESDIR}"/${PN}-1.2.11-minizip-drop-crypt-header.patch
+
+ # Respect AR, RANLIB, NM during build. Pending upstream. bug #831628
+ "${FILESDIR}"/${PN}-1.2.11-configure-fix-AR-RANLIB-NM-detection.patch
+
+ # Respect LDFLAGS during configure tests. Pending upstream
+ "${FILESDIR}"/${PN}-1.2.12-use-LDFLAGS-in-configure.patch
+
+ # Fix broken CC logic
+ "${FILESDIR}"/${P}-fix-CC-logic-in-configure.patch
+
+ # Backport for Java (and others), bug #836370
+ "${FILESDIR}"/${P}-CRC-buggy-input.patch
+)
+
+src_prepare() {
+ default
+
+ if use elibc_Cygwin ; then
+ local p
+ for p in "${CYGWINPATCHES[@]}" ; do
+ # Strip out the "... -> " from the array
+ eapply -p2 "${DISTDIR}/${p#*> }"
+ done
+ fi
+
+ if use minizip ; then
+ cd contrib/minizip || die
+ eautoreconf
+ fi
+
+ case ${CHOST} in
+ *-cygwin*)
+ # Do not use _wopen, it's a mingw-only symbol
+ sed -i -e '/define WIDECHAR/d' "${S}"/gzguts.h || die
+
+ # zlib1.dll is the mingw name, need cygz.dll
+ # cygz.dll is loaded by toolchain, put into subdir
+ sed -i -e 's|zlib1.dll|win32/cygz.dll|' win32/Makefile.gcc || die
+
+ ;;
+ esac
+
+ case ${CHOST} in
+ *-mingw*|mingw*|*-cygwin*)
+ # Uses preconfigured Makefile rather than configure script
+ multilib_copy_sources
+
+ ;;
+ esac
+}
+
+echoit() { echo "$@"; "$@"; }
+
+multilib_src_configure() {
+ case ${CHOST} in
+ *-mingw*|mingw*|*-cygwin*)
+ ;;
+
+ *)
+ # bug #347167
+ local uname=$("${BROOT}"/usr/share/gnuconfig/config.sub "${CHOST}" | cut -d- -f3)
+
+ local myconf=(
+ --shared
+ --prefix="${EPREFIX}/usr"
+ --libdir="${EPREFIX}/usr/$(get_libdir)"
+ ${uname:+--uname=${uname}}
+ )
+
+ # Not an autoconf script, so can't use econf
+ echoit "${S}"/configure "${myconf[@]}" || die
+
+ ;;
+ esac
+
+ if use minizip ; then
+ local minizipdir="contrib/minizip"
+ mkdir -p "${BUILD_DIR}/${minizipdir}" || die
+
+ cd ${minizipdir} || die
+ ECONF_SOURCE="${S}/${minizipdir}" econf $(use_enable static-libs static)
+ fi
+}
+
+multilib_src_compile() {
+ case ${CHOST} in
+ *-mingw*|mingw*|*-cygwin*)
+ emake -f win32/Makefile.gcc STRIP=true PREFIX=${CHOST}-
+ sed \
+ -e 's|@prefix@|'"${EPREFIX}"'/usr|g' \
+ -e 's|@exec_prefix@|${prefix}|g' \
+ -e 's|@libdir@|${exec_prefix}/'$(get_libdir)'|g' \
+ -e 's|@sharedlibdir@|${exec_prefix}/'$(get_libdir)'|g' \
+ -e 's|@includedir@|${prefix}/include|g' \
+ -e 's|@VERSION@|'${PV}'|g' \
+ zlib.pc.in > zlib.pc || die
+ ;;
+
+ *)
+ emake
+
+ ;;
+ esac
+
+ use minizip && emake -C contrib/minizip
+}
+
+sed_macros() {
+ # Clean up namespace a little, bug #383179
+ # We do it here so we only have to tweak 2 files
+ sed -i -r 's:\<(O[FN])\>:_Z_\1:g' "$@" || die
+}
+
+multilib_src_install() {
+ case ${CHOST} in
+ *-mingw*|mingw*|*-cygwin*)
+ emake -f win32/Makefile.gcc install \
+ BINARY_PATH="${ED}/usr/bin" \
+ LIBRARY_PATH="${ED}/usr/$(get_libdir)" \
+ INCLUDE_PATH="${ED}/usr/include" \
+ SHARED_MODE=1
+
+ # Overwrites zlib.pc created from win32/Makefile.gcc, bug #620136
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins zlib.pc
+
+ ;;
+
+ *)
+ emake install DESTDIR="${D}" LDCONFIG=:
+ gen_usr_ldscript -a z
+
+ ;;
+ esac
+
+ sed_macros "${ED}"/usr/include/*.h
+
+ if use minizip ; then
+ emake -C contrib/minizip install DESTDIR="${D}"
+ sed_macros "${ED}"/usr/include/minizip/*.h
+ fi
+
+ if use minizip; then
+ # This might not exist if slibtool is used.
+ # bug #816756
+ rm -f "${ED}"/usr/$(get_libdir)/libminizip.la || die
+ fi
+
+ if ! use static-libs ; then
+ # bug #419645
+ rm "${ED}"/usr/$(get_libdir)/libz.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc FAQ README ChangeLog doc/*.txt
+ use minizip && dodoc contrib/minizip/*.txt
+}
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/zlib/files/, sys-libs/zlib/
@ 2022-03-29 2:00 Sam James
0 siblings, 0 replies; 8+ messages in thread
From: Sam James @ 2022-03-29 2:00 UTC (permalink / raw
To: gentoo-commits
commit: cd0a0f16ebdc4cf2d18378213d8476aeb42ff810
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 29 01:59:47 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Mar 29 02:00:40 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd0a0f16
sys-libs/zlib: keyword 1.2.12-r1
Issues are fixed now. Nothing else has come up other than the now-fixed
CC-configure issue.
Bug: https://bugs.gentoo.org/835958
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-libs/zlib/files/zlib-1.2.12-fix-CC-logic-in-configure.patch | 6 ++++--
sys-libs/zlib/zlib-1.2.12-r1.ebuild | 2 +-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/sys-libs/zlib/files/zlib-1.2.12-fix-CC-logic-in-configure.patch b/sys-libs/zlib/files/zlib-1.2.12-fix-CC-logic-in-configure.patch
index 8b6c5e26a766..7fb13325b114 100644
--- a/sys-libs/zlib/files/zlib-1.2.12-fix-CC-logic-in-configure.patch
+++ b/sys-libs/zlib/files/zlib-1.2.12-fix-CC-logic-in-configure.patch
@@ -1,6 +1,6 @@
https://github.com/madler/zlib/pull/607
-From c9b7587ff947638412a69df5ea820c563b8b1c1b Mon Sep 17 00:00:00 2001
+From 80d086357a55b94a13e43756cf3e131f25eef0e4 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Mon, 28 Mar 2022 08:40:45 +0100
Subject: [PATCH] Fix CC logic in configure
@@ -10,6 +10,9 @@ the logic was changed to try check harder for GCC, but it dropped
the default setting of cc=${CC}. It was throwing away any pre-set CC value as
a result.
+The rest of the script then cascades down a bad path because it's convinced
+it's not GCC or a GCC-like compiler.
+
This led to e.g. misdetection of inability to build shared libs
for say, multilib cases (w/ CC being one thing from the environment being used
for one test (e.g. x86_64-unknown-linux-gnu-gcc -m32 and then 'cc' used for
@@ -40,4 +43,3 @@ index 52ff4a04e..3fa3e8618 100755
cflags=${CFLAGS-"-O3"}
# to force the asm version use: CFLAGS="-O3 -DASMV" ./configure
case "$cc" in
-
diff --git a/sys-libs/zlib/zlib-1.2.12-r1.ebuild b/sys-libs/zlib/zlib-1.2.12-r1.ebuild
index 1a031b3c2526..267b24c0d148 100644
--- a/sys-libs/zlib/zlib-1.2.12-r1.ebuild
+++ b/sys-libs/zlib/zlib-1.2.12-r1.ebuild
@@ -22,7 +22,7 @@ SRC_URI="https://zlib.net/${P}.tar.gz
LICENSE="ZLIB"
SLOT="0/1" # subslot = SONAME
-#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
IUSE="minizip static-libs"
RDEPEND="!sys-libs/zlib-ng[compat]"
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/zlib/files/, sys-libs/zlib/
@ 2022-01-28 12:25 Ionen Wolkens
0 siblings, 0 replies; 8+ messages in thread
From: Ionen Wolkens @ 2022-01-28 12:25 UTC (permalink / raw
To: gentoo-commits
commit: adb9a35721e67faab0c5a75f31e38e8791e2f43b
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 28 12:18:16 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Jan 28 12:23:46 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=adb9a357
Revert "sys-libs/zlib: add patch to fix configure AR/RANLIB/NM detection"
Broken if NM is unset. Looks like a simple fix but
let's not risk leaving zlib broken in stable (nor for
too long, so reverting myself).
This reverts commit bace9b48a6fe43bdf685f4aa81ca422130e2f807.
Bug: https://bugs.gentoo.org/831628
Closes: https://bugs.gentoo.org/832202
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
...2.11-configure-fix-AR-RANLIB-NM-detection.patch | 79 ----------------------
sys-libs/zlib/zlib-1.2.11-r4.ebuild | 1 -
2 files changed, 80 deletions(-)
diff --git a/sys-libs/zlib/files/zlib-1.2.11-configure-fix-AR-RANLIB-NM-detection.patch b/sys-libs/zlib/files/zlib-1.2.11-configure-fix-AR-RANLIB-NM-detection.patch
deleted file mode 100644
index 68108a16fc3c..000000000000
--- a/sys-libs/zlib/files/zlib-1.2.11-configure-fix-AR-RANLIB-NM-detection.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 9ce4e2e190cd382407eb3029b7127e378a7c9627 Mon Sep 17 00:00:00 2001
-From: Adrian Ratiu <adrian.ratiu@collabora.com>
-Date: Mon, 17 Jan 2022 10:49:58 +0200
-Subject: [PATCH] configure: fix AR/RANLIB/NM detection
-
-Taken from zlib-devel ML:
-https://madler.net/pipermail/zlib-devel_madler.net/2022-January/003322.html
-
-Bug: https://bugs.gentoo.org/831628
-
-Scenarios where ${CROSS_PREFIX}ar & co are set but not desired
-are possible, for example in ChromiumOS we use the GNU binutils
-tools & GCC to build glibc but LLVM/Clang is used for the rest
-of the system.
-
-This allows $AR/$RANLIB/$NM to override default CROSS_PREFIX
-tools so they can be set to llvm-ar/ranlib/nm.
-
-Suggested-by: Manoj Gupta <manojgupta@chromium.org>
-Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
----
- configure | 38 ++++++++++++++++++++++----------------
- 1 file changed, 22 insertions(+), 16 deletions(-)
-
-diff --git a/configure b/configure
-index e974d1f..180cf09 100755
---- a/configure
-+++ b/configure
-@@ -46,25 +46,31 @@ VER2=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\)\\..*/\1/p' < ${SRCDIR}zlib.
- VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < ${SRCDIR}zlib.h`
-
- # establish commands for library building
--if "${CROSS_PREFIX}ar" --version >/dev/null 2>/dev/null || test $? -lt 126; then
-- AR=${AR-"${CROSS_PREFIX}ar"}
-- test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log
--else
-- AR=${AR-"ar"}
-- test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log
-+if [ -z "AR" ] ; then
-+ if "${CROSS_PREFIX}ar" --version >/dev/null 2>/dev/null || test $? -lt 126; then
-+ AR=${AR-"${CROSS_PREFIX}ar"}
-+ test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log
-+ else
-+ AR="ar"
-+ test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log
-+ fi
- fi
- ARFLAGS=${ARFLAGS-"rc"}
--if "${CROSS_PREFIX}ranlib" --version >/dev/null 2>/dev/null || test $? -lt 126; then
-- RANLIB=${RANLIB-"${CROSS_PREFIX}ranlib"}
-- test -n "${CROSS_PREFIX}" && echo Using ${RANLIB} | tee -a configure.log
--else
-- RANLIB=${RANLIB-"ranlib"}
-+if [ -z "RANLIB" ] ; then
-+ if "${CROSS_PREFIX}ranlib" --version >/dev/null 2>/dev/null || test $? -lt 126; then
-+ RANLIB=${RANLIB-"${CROSS_PREFIX}ranlib"}
-+ test -n "${CROSS_PREFIX}" && echo Using ${RANLIB} | tee -a configure.log
-+ else
-+ RANLIB="ranlib"
-+ fi
- fi
--if "${CROSS_PREFIX}nm" --version >/dev/null 2>/dev/null || test $? -lt 126; then
-- NM=${NM-"${CROSS_PREFIX}nm"}
-- test -n "${CROSS_PREFIX}" && echo Using ${NM} | tee -a configure.log
--else
-- NM=${NM-"nm"}
-+if [ -z "$NM" ] ; then
-+ if "${CROSS_PREFIX}nm" --version >/dev/null 2>/dev/null || test $? -lt 126; then
-+ NM=${"${CROSS_PREFIX}nm"}
-+ test -n "${CROSS_PREFIX}" && echo Using ${NM} | tee -a configure.log
-+ else
-+ NM="nm"
-+ fi
- fi
-
- # set defaults before processing command line options
---
-2.34.1
-
diff --git a/sys-libs/zlib/zlib-1.2.11-r4.ebuild b/sys-libs/zlib/zlib-1.2.11-r4.ebuild
index 3b8524a12c6e..bc2fe9834ee2 100644
--- a/sys-libs/zlib/zlib-1.2.11-r4.ebuild
+++ b/sys-libs/zlib/zlib-1.2.11-r4.ebuild
@@ -34,7 +34,6 @@ DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}"/${PN}-1.2.11-fix-deflateParams-usage.patch
"${FILESDIR}"/${PN}-1.2.11-minizip-drop-crypt-header.patch #658536
- "${FILESDIR}"/${PN}-1.2.11-configure-fix-AR-RANLIB-NM-detection.patch #831628
)
src_prepare() {
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/zlib/files/, sys-libs/zlib/
@ 2018-06-21 2:57 Mike Frysinger
0 siblings, 0 replies; 8+ messages in thread
From: Mike Frysinger @ 2018-06-21 2:57 UTC (permalink / raw
To: gentoo-commits
commit: 89cbe844bb4c4363270c692f50df5741cc2e78d7
Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 21 02:55:38 2018 +0000
Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Thu Jun 21 02:57:06 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=89cbe844
sys-libs/zlib: drop install of minizip/crypt.h #658536
Closes: https://bugs.gentoo.org/658536
| 38 +++++++
sys-libs/zlib/zlib-1.2.11-r2.ebuild | 123 +++++++++++++++++++++
2 files changed, 161 insertions(+)
--git a/sys-libs/zlib/files/zlib-1.2.11-minizip-drop-crypt-header.patch b/sys-libs/zlib/files/zlib-1.2.11-minizip-drop-crypt-header.patch
new file mode 100644
index 00000000000..2e0a93e9194
--- /dev/null
+++ b/sys-libs/zlib/files/zlib-1.2.11-minizip-drop-crypt-header.patch
@@ -0,0 +1,38 @@
+https://bugs.gentoo.org/658536
+https://github.com/madler/zlib/pull/229
+
+From e490ddad3091574a0c2e3b5a66a8fee9a7ab212f Mon Sep 17 00:00:00 2001
+From: Pavel Raiskup <praiskup@redhat.com>
+Date: Sun, 19 Feb 2017 16:42:12 +0100
+Subject: [PATCH] minizip: don't install crypt.h
+
+People did mistakenly or unintentionally include crypt.h before,
+don't install this internal header from now.
+---
+ contrib/minizip/Makefile.am | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/contrib/minizip/Makefile.am b/contrib/minizip/Makefile.am
+index d343011ebc3b..4f46610238d2 100644
+--- a/contrib/minizip/Makefile.am
++++ b/contrib/minizip/Makefile.am
+@@ -26,13 +26,15 @@ libminizip_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0 -lz
+
+ minizip_includedir = $(includedir)/minizip
+ minizip_include_HEADERS = \
+- crypt.h \
+ ioapi.h \
+ mztools.h \
+ unzip.h \
+ zip.h \
+ ${iowin32_h}
+
++noinst_HEADERS = \
++ crypt.h
++
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = minizip.pc
+
+--
+2.17.1
+
diff --git a/sys-libs/zlib/zlib-1.2.11-r2.ebuild b/sys-libs/zlib/zlib-1.2.11-r2.ebuild
new file mode 100644
index 00000000000..3133384c67c
--- /dev/null
+++ b/sys-libs/zlib/zlib-1.2.11-r2.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+AUTOTOOLS_AUTO_DEPEND="no"
+
+inherit autotools toolchain-funcs multilib multilib-minimal
+
+DESCRIPTION="Standard (de)compression library"
+HOMEPAGE="https://zlib.net/"
+SRC_URI="https://zlib.net/${P}.tar.gz
+ http://www.gzip.org/zlib/${P}.tar.gz
+ http://www.zlib.net/current/beta/${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0/1" # subslot = SONAME
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="minizip static-libs"
+
+DEPEND="minizip? ( ${AUTOTOOLS_DEPEND} )"
+RDEPEND="!<dev-libs/libxml2-2.7.7" #309623
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.2.11-fix-deflateParams-usage.patch
+ epatch "${FILESDIR}"/${PN}-1.2.11-minizip-drop-crypt-header.patch #658536
+
+ if use minizip ; then
+ cd contrib/minizip || die
+ eautoreconf
+ fi
+
+ case ${CHOST} in
+ *-mingw*|mingw*)
+ # uses preconfigured Makefile rather than configure script
+ multilib_copy_sources
+ ;;
+ esac
+}
+
+echoit() { echo "$@"; "$@"; }
+
+multilib_src_configure() {
+ case ${CHOST} in
+ *-mingw*|mingw*)
+ ;;
+ *) # not an autoconf script, so can't use econf
+ local uname=$("${EPREFIX}"/usr/share/gnuconfig/config.sub "${CHOST}" | cut -d- -f3) #347167
+ echoit "${S}"/configure \
+ --shared \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ ${uname:+--uname=${uname}} \
+ || die
+ ;;
+ esac
+
+ if use minizip ; then
+ local minizipdir="contrib/minizip"
+ mkdir -p "${BUILD_DIR}/${minizipdir}" || die
+ cd ${minizipdir} || die
+ ECONF_SOURCE="${S}/${minizipdir}" \
+ econf $(use_enable static-libs static)
+ fi
+}
+
+multilib_src_compile() {
+ case ${CHOST} in
+ *-mingw*|mingw*)
+ emake -f win32/Makefile.gcc STRIP=true PREFIX=${CHOST}-
+ sed \
+ -e 's|@prefix@|/usr|g' \
+ -e 's|@exec_prefix@|${prefix}|g' \
+ -e 's|@libdir@|${exec_prefix}/'$(get_libdir)'|g' \
+ -e 's|@sharedlibdir@|${exec_prefix}/'$(get_libdir)'|g' \
+ -e 's|@includedir@|${prefix}/include|g' \
+ -e 's|@VERSION@|'${PV}'|g' \
+ zlib.pc.in > zlib.pc || die
+ ;;
+ *)
+ emake
+ ;;
+ esac
+ use minizip && emake -C contrib/minizip
+}
+
+sed_macros() {
+ # clean up namespace a little #383179
+ # we do it here so we only have to tweak 2 files
+ sed -i -r 's:\<(O[FN])\>:_Z_\1:g' "$@" || die
+}
+
+multilib_src_install() {
+ case ${CHOST} in
+ *-mingw*|mingw*)
+ emake -f win32/Makefile.gcc install \
+ BINARY_PATH="${ED}/usr/bin" \
+ LIBRARY_PATH="${ED}/usr/$(get_libdir)" \
+ INCLUDE_PATH="${ED}/usr/include" \
+ SHARED_MODE=1
+ # overwrites zlib.pc created from win32/Makefile.gcc #620136
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins zlib.pc
+ ;;
+
+ *)
+ emake install DESTDIR="${D}" LDCONFIG=:
+ gen_usr_ldscript -a z
+ ;;
+ esac
+ sed_macros "${ED}"/usr/include/*.h
+
+ if use minizip ; then
+ emake -C contrib/minizip install DESTDIR="${D}"
+ sed_macros "${ED}"/usr/include/minizip/*.h
+ fi
+
+ use static-libs || rm -f "${ED}"/usr/$(get_libdir)/lib{z,minizip}.{a,la} #419645
+}
+
+multilib_src_install_all() {
+ dodoc FAQ README ChangeLog doc/*.txt
+ use minizip && dodoc contrib/minizip/*.txt
+}
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/zlib/files/, sys-libs/zlib/
@ 2017-09-22 21:53 Thomas Deutschmann
0 siblings, 0 replies; 8+ messages in thread
From: Thomas Deutschmann @ 2017-09-22 21:53 UTC (permalink / raw
To: gentoo-commits
commit: f4965144f442ee530185ad7106c30079ac3cacb5
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 22 21:53:04 2017 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Fri Sep 22 21:53:19 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f4965144
sys-libs/zlib: Fix deflateParams() usage (bug #631550)
Package-Manager: Portage-2.3.8, Repoman-2.3.3
.../zlib-1.2.11-fix-deflateParams-usage.patch | 67 +++++++++++
sys-libs/zlib/zlib-1.2.11-r1.ebuild | 126 +++++++++++++++++++++
2 files changed, 193 insertions(+)
diff --git a/sys-libs/zlib/files/zlib-1.2.11-fix-deflateParams-usage.patch b/sys-libs/zlib/files/zlib-1.2.11-fix-deflateParams-usage.patch
new file mode 100644
index 00000000000..18764849b94
--- /dev/null
+++ b/sys-libs/zlib/files/zlib-1.2.11-fix-deflateParams-usage.patch
@@ -0,0 +1,67 @@
+From f9694097dd69354b03cb8af959094c7f260db0a1 Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Mon, 16 Jan 2017 09:49:35 -0800
+Subject: [PATCH] Permit a deflateParams() parameter change as soon as
+ possible.
+
+This commit allows a parameter change even if the input data has
+not all been compressed and copied to the application output
+buffer, so long as all of the input data has been compressed to
+the internal pending output buffer. This also allows an immediate
+deflateParams change so long as there have been no deflate calls
+since initialization or reset.
+---
+ deflate.c | 6 +++---
+ zlib.h | 11 ++++++-----
+ 2 files changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/deflate.c b/deflate.c
+index b63311a5..20bda4f6 100644
+--- a/deflate.c
++++ b/deflate.c
+@@ -494,7 +494,7 @@ int ZEXPORT deflateResetKeep (strm)
+ s->wrap == 2 ? crc32(0L, Z_NULL, 0) :
+ #endif
+ adler32(0L, Z_NULL, 0);
+- s->last_flush = Z_NO_FLUSH;
++ s->last_flush = -2;
+
+ _tr_init(s);
+
+@@ -587,12 +587,12 @@ int ZEXPORT deflateParams(strm, level, strategy)
+ func = configuration_table[s->level].func;
+
+ if ((strategy != s->strategy || func != configuration_table[level].func) &&
+- s->high_water) {
++ s->last_flush != -2) {
+ /* Flush the last buffer: */
+ int err = deflate(strm, Z_BLOCK);
+ if (err == Z_STREAM_ERROR)
+ return err;
+- if (strm->avail_out == 0)
++ if (strm->avail_in || (s->strstart - s->block_start) + s->lookahead)
+ return Z_BUF_ERROR;
+ }
+ if (s->level != level) {
+diff --git a/zlib.h b/zlib.h
+index 5daf4f28..577d81e3 100644
+--- a/zlib.h
++++ b/zlib.h
+@@ -712,11 +712,12 @@ ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
+ used to switch between compression and straight copy of the input data, or
+ to switch to a different kind of input data requiring a different strategy.
+ If the compression approach (which is a function of the level) or the
+- strategy is changed, and if any input has been consumed in a previous
+- deflate() call, then the input available so far is compressed with the old
+- level and strategy using deflate(strm, Z_BLOCK). There are three approaches
+- for the compression levels 0, 1..3, and 4..9 respectively. The new level
+- and strategy will take effect at the next call of deflate().
++ strategy is changed, and if there have been any deflate() calls since the
++ state was initialized or reset, then the input available so far is
++ compressed with the old level and strategy using deflate(strm, Z_BLOCK).
++ There are three approaches for the compression levels 0, 1..3, and 4..9
++ respectively. The new level and strategy will take effect at the next call
++ of deflate().
+
+ If a deflate(strm, Z_BLOCK) is performed by deflateParams(), and it does
+ not have enough output space to complete, then the parameter change will not
diff --git a/sys-libs/zlib/zlib-1.2.11-r1.ebuild b/sys-libs/zlib/zlib-1.2.11-r1.ebuild
new file mode 100644
index 00000000000..c2edb5daec9
--- /dev/null
+++ b/sys-libs/zlib/zlib-1.2.11-r1.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+AUTOTOOLS_AUTO_DEPEND="no"
+
+inherit autotools toolchain-funcs multilib multilib-minimal
+
+DESCRIPTION="Standard (de)compression library"
+HOMEPAGE="https://zlib.net/"
+SRC_URI="https://zlib.net/${P}.tar.gz
+ http://www.gzip.org/zlib/${P}.tar.gz
+ http://www.zlib.net/current/beta/${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0/1" # subslot = SONAME
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="minizip static-libs"
+
+DEPEND="minizip? ( ${AUTOTOOLS_DEPEND} )"
+RDEPEND="abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+ !<dev-libs/libxml2-2.7.7" #309623
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.2.11-fix-deflateParams-usage.patch
+
+ if use minizip ; then
+ cd contrib/minizip || die
+ eautoreconf
+ fi
+
+ case ${CHOST} in
+ *-mingw*|mingw*)
+ # uses preconfigured Makefile rather than configure script
+ multilib_copy_sources
+ ;;
+ esac
+}
+
+echoit() { echo "$@"; "$@"; }
+
+multilib_src_configure() {
+ case ${CHOST} in
+ *-mingw*|mingw*)
+ ;;
+ *) # not an autoconf script, so can't use econf
+ local uname=$("${EPREFIX}"/usr/share/gnuconfig/config.sub "${CHOST}" | cut -d- -f3) #347167
+ echoit "${S}"/configure \
+ --shared \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ ${uname:+--uname=${uname}} \
+ || die
+ ;;
+ esac
+
+ if use minizip ; then
+ local minizipdir="contrib/minizip"
+ mkdir -p "${BUILD_DIR}/${minizipdir}" || die
+ cd ${minizipdir} || die
+ ECONF_SOURCE="${S}/${minizipdir}" \
+ econf $(use_enable static-libs static)
+ fi
+}
+
+multilib_src_compile() {
+ case ${CHOST} in
+ *-mingw*|mingw*)
+ emake -f win32/Makefile.gcc STRIP=true PREFIX=${CHOST}-
+ sed \
+ -e 's|@prefix@|/usr|g' \
+ -e 's|@exec_prefix@|${prefix}|g' \
+ -e 's|@libdir@|${exec_prefix}/'$(get_libdir)'|g' \
+ -e 's|@sharedlibdir@|${exec_prefix}/'$(get_libdir)'|g' \
+ -e 's|@includedir@|${prefix}/include|g' \
+ -e 's|@VERSION@|'${PV}'|g' \
+ zlib.pc.in > zlib.pc || die
+ ;;
+ *)
+ emake
+ ;;
+ esac
+ use minizip && emake -C contrib/minizip
+}
+
+sed_macros() {
+ # clean up namespace a little #383179
+ # we do it here so we only have to tweak 2 files
+ sed -i -r 's:\<(O[FN])\>:_Z_\1:g' "$@" || die
+}
+
+multilib_src_install() {
+ case ${CHOST} in
+ *-mingw*|mingw*)
+ emake -f win32/Makefile.gcc install \
+ BINARY_PATH="${ED}/usr/bin" \
+ LIBRARY_PATH="${ED}/usr/$(get_libdir)" \
+ INCLUDE_PATH="${ED}/usr/include" \
+ SHARED_MODE=1
+ # overwrites zlib.pc created from win32/Makefile.gcc #620136
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins zlib.pc
+ ;;
+
+ *)
+ emake install DESTDIR="${D}" LDCONFIG=:
+ gen_usr_ldscript -a z
+ ;;
+ esac
+ sed_macros "${ED}"/usr/include/*.h
+
+ if use minizip ; then
+ emake -C contrib/minizip install DESTDIR="${D}"
+ sed_macros "${ED}"/usr/include/minizip/*.h
+ fi
+
+ use static-libs || rm -f "${ED}"/usr/$(get_libdir)/lib{z,minizip}.{a,la} #419645
+}
+
+multilib_src_install_all() {
+ dodoc FAQ README ChangeLog doc/*.txt
+ use minizip && dodoc contrib/minizip/*.txt
+}
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-11-25 8:19 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-25 8:19 [gentoo-commits] repo/gentoo:master commit in: sys-libs/zlib/files/, sys-libs/zlib/ Sam James
-- strict thread matches above, loose matches on Subject: below --
2022-10-14 19:04 Sam James
2022-08-16 0:52 Sam James
2022-03-31 0:21 Sam James
2022-03-29 2:00 Sam James
2022-01-28 12:25 Ionen Wolkens
2018-06-21 2:57 Mike Frysinger
2017-09-22 21:53 Thomas Deutschmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox