public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: media-libs/libpng/files/, media-libs/libpng/
@ 2024-01-30  7:40 Sam James
  0 siblings, 0 replies; 2+ messages in thread
From: Sam James @ 2024-01-30  7:40 UTC (permalink / raw
  To: gentoo-commits

commit:     980938b537dc1d6dadfd4beb78b436e3638bc53c
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 30 07:39:58 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jan 30 07:39:58 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=980938b5

media-libs/libpng: fix png_check_sig ABI break

Thank you to John Bowler for the heads-up.

Closes: https://bugs.gentoo.org/923298
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/libpng-1.6.41-png_check_sig-abi.patch    | 94 ++++++++++++++++++++++
 ...ibpng-1.6.41.ebuild => libpng-1.6.41-r1.ebuild} |  4 +
 2 files changed, 98 insertions(+)

diff --git a/media-libs/libpng/files/libpng-1.6.41-png_check_sig-abi.patch b/media-libs/libpng/files/libpng-1.6.41-png_check_sig-abi.patch
new file mode 100644
index 000000000000..d2913b062f26
--- /dev/null
+++ b/media-libs/libpng/files/libpng-1.6.41-png_check_sig-abi.patch
@@ -0,0 +1,94 @@
+https://bugs.gentoo.org/923298
+https://github.com/pnggroup/libpng/commit/ac944e2b364cff96e8458110c2ad06a63f8543b3
+
+From ac944e2b364cff96e8458110c2ad06a63f8543b3 Mon Sep 17 00:00:00 2001
+From: Cosmin Truta <ctruta@gmail.com>
+Date: Mon, 29 Jan 2024 15:30:10 +0200
+Subject: [PATCH] Fix a regression introduced in "chore: Clean up the return
+ statements"
+
+This fixes commit 27e548af2518ff8d278b45c40d11ad1bdd68eaa0.
+
+The macro `png_check_sig` has been deprecated and remained untested
+for decades. And yet, somehow it escaped from all past API cleanups.
+
+Also update the libpng manual.
+
+Reported-by: Matthieu Darbois
+--- a/libpng-manual.txt
++++ b/libpng-manual.txt
+@@ -357,7 +357,7 @@ Customizing libpng.
+        return ERROR;
+     }
+ 
+-    is_png = !png_sig_cmp(header, 0, number);
++    is_png = (png_sig_cmp(header, 0, number) == 0);
+     if (!is_png)
+     {
+        return NOT_PNG;
+@@ -4692,7 +4692,7 @@ deprecated since libpng-1.0.16 and libpng-1.2.6.
+ The function
+     png_check_sig(sig, num)
+ was replaced with
+-    !png_sig_cmp(sig, 0, num)
++    png_sig_cmp(sig, 0, num) == 0
+ It has been deprecated since libpng-0.90.
+ 
+ The function
+@@ -4756,8 +4756,8 @@ png_get_mmx_bitdepth_threshold(), png_get_mmx_rowbytes_threshold(),
+ png_set_asm_flags(), and png_mmx_supported()
+ 
+ We removed the obsolete png_check_sig(), png_memcpy_check(), and
+-png_memset_check() functions.  Instead use !png_sig_cmp(), memcpy(),
+-and memset(), respectively.
++png_memset_check() functions.  Instead use png_sig_cmp() == 0,
++memcpy(), and memset(), respectively.
+ 
+ The function png_set_gray_1_2_4_to_8() was removed. It has been
+ deprecated since libpng-1.0.18 and 1.2.9, when it was replaced with
+--- a/libpng.3
++++ b/libpng.3
+@@ -876,7 +876,7 @@ Customizing libpng.
+        return ERROR;
+     }
+ 
+-    is_png = !png_sig_cmp(header, 0, number);
++    is_png = (png_sig_cmp(header, 0, number) == 0);
+     if (!is_png)
+     {
+        return NOT_PNG;
+@@ -5211,7 +5211,7 @@ deprecated since libpng-1.0.16 and libpng-1.2.6.
+ The function
+     png_check_sig(sig, num)
+ was replaced with
+-    !png_sig_cmp(sig, 0, num)
++    png_sig_cmp(sig, 0, num) == 0
+ It has been deprecated since libpng-0.90.
+ 
+ The function
+@@ -5275,8 +5275,8 @@ png_get_mmx_bitdepth_threshold(), png_get_mmx_rowbytes_threshold(),
+ png_set_asm_flags(), and png_mmx_supported()
+ 
+ We removed the obsolete png_check_sig(), png_memcpy_check(), and
+-png_memset_check() functions.  Instead use !png_sig_cmp(), memcpy(),
+-and memset(), respectively.
++png_memset_check() functions.  Instead use png_sig_cmp() == 0,
++memcpy(), and memset(), respectively.
+ 
+ The function png_set_gray_1_2_4_to_8() was removed. It has been
+ deprecated since libpng-1.0.18 and 1.2.9, when it was replaced with
+--- a/png.h
++++ b/png.h
+@@ -914,9 +914,9 @@ PNG_EXPORT(3, int, png_sig_cmp, (png_const_bytep sig, size_t start,
+     size_t num_to_check));
+ 
+ /* Simple signature checking function.  This is the same as calling
+- * png_check_sig(sig, n) := (png_sig_cmp(sig, 0, n) != 0).
++ * png_check_sig(sig, n) := (png_sig_cmp(sig, 0, n) == 0).
+  */
+-#define png_check_sig(sig, n) (png_sig_cmp((sig), 0, (n)) != 0)
++#define png_check_sig(sig, n) (png_sig_cmp((sig), 0, (n)) == 0) /* DEPRECATED */
+ 
+ /* Allocate and initialize png_ptr struct for reading, and any other memory. */
+ PNG_EXPORTA(4, png_structp, png_create_read_struct,
+

diff --git a/media-libs/libpng/libpng-1.6.41.ebuild b/media-libs/libpng/libpng-1.6.41-r1.ebuild
similarity index 97%
rename from media-libs/libpng/libpng-1.6.41.ebuild
rename to media-libs/libpng/libpng-1.6.41-r1.ebuild
index b198fcd653b4..e82599595cdf 100644
--- a/media-libs/libpng/libpng-1.6.41.ebuild
+++ b/media-libs/libpng/libpng-1.6.41-r1.ebuild
@@ -28,6 +28,10 @@ DEPEND="${RDEPEND}"
 
 DOCS=( ANNOUNCE CHANGES libpng-manual.txt README TODO )
 
+PATCHES=(
+	"${FILESDIR}"/${P}-png_check_sig-abi.patch
+)
+
 src_prepare() {
 	default
 


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/libpng/files/, media-libs/libpng/
@ 2024-02-29  4:22 Sam James
  0 siblings, 0 replies; 2+ messages in thread
From: Sam James @ 2024-02-29  4:22 UTC (permalink / raw
  To: gentoo-commits

commit:     3cf9629fa007a2020ebb183ef86d9ba50bbae139
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 29 04:19:20 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Feb 29 04:19:20 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3cf9629f

media-libs/libpng: drop 1.6.41-r1

1.6.42 was issued shortly after with the ABI fix. Identical otherwise.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/libpng/Manifest                         |  1 -
 .../files/libpng-1.6.41-png_check_sig-abi.patch    | 94 ----------------------
 media-libs/libpng/libpng-1.6.41-r1.ebuild          | 74 -----------------
 3 files changed, 169 deletions(-)

diff --git a/media-libs/libpng/Manifest b/media-libs/libpng/Manifest
index 528217b275e5..d3ac48b04403 100644
--- a/media-libs/libpng/Manifest
+++ b/media-libs/libpng/Manifest
@@ -1,5 +1,4 @@
 DIST libpng-1.6.40-apng-apng.patch.gz 10330 BLAKE2B e2a5ff10ebaf75019d20edb148ea26fd6b255842aa34e8af31a919ae3c059b28eb827831289f47428e5f55c239f23a600677fde58e74bf0a2db27b5001f9ccb1 SHA512 803c45c2bbaf6c12863a09fb4d307c629680835b11a01c456512c81ef705e4f96c29e98c2486970ff1d86335cb4bd7568a30482c3e69601275d2a31d294058db
 DIST libpng-1.6.40-libpng-apng-apng.patch.gz 10815 BLAKE2B 47b09d730d6be1d481ab48e511068a38fc3448339aaeab1d8ad21f26de6cb79006c64785de2e0514ff820a75101c0010b84cce923d10e8f6198e4e99916d08f2 SHA512 373cc9f0df15f7c77c0a59ddaac22374cfae37174b63a642e68e3a17a6d0bb1015399d771998c7eb6b356b634f157f0009743f4cc659f3b8e480a9533010ef9c
 DIST libpng-1.6.40.tar.xz 1021332 BLAKE2B 4dd2df57791ca68cc31ba966b9176ecb37458572c60eef34e31ff0d3266d25ad6ea9d2e8cae6bfaf7932b5c7bc231047d3ed139b3464304c41cc4d89611f5ba8 SHA512 a2ec37c529bf80f3fee3798191d080d06e14d6a1ffecd3c1a02845cb9693b5e308a1d82598a376101f9312d989d19f1fb6735b225d4b0b9f1b73f9f8a3edb17f
-DIST libpng-1.6.41.tar.xz 1035328 BLAKE2B 43d8d1c563d9df46b663f706dca9563e31e6e47a2809a77a5d059de8cfa348721054df724d08ac24ef4717ffc101989941127df2d026c9537532375d9b432b68 SHA512 046d0328255572ee2ccab7e751ed457b07e0aedc72474c2f4675a8303e628de3ef8afa1a00c60d768eb788546d1cda1e8b800b2497d9c352694faba6dde2c5b4
 DIST libpng-1.6.42.tar.xz 1035484 BLAKE2B 8a8895b673ff90416a00c9ff775d7bdc38ab1ab0d83fd6e70cfffea2ed78bd42896950a64bf48ad9a00ea50d8c5d5702975b0bae7bb3300d4de4c82b334e513e SHA512 a9e8641f79ebc811e8e1e94c4966737f8d0f3aef33c86834c419ca76050567891c065899c3bc0c945c59b5d50c5ff7d693cc51089d06efe92e71ae8014fa157c

diff --git a/media-libs/libpng/files/libpng-1.6.41-png_check_sig-abi.patch b/media-libs/libpng/files/libpng-1.6.41-png_check_sig-abi.patch
deleted file mode 100644
index d2913b062f26..000000000000
--- a/media-libs/libpng/files/libpng-1.6.41-png_check_sig-abi.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-https://bugs.gentoo.org/923298
-https://github.com/pnggroup/libpng/commit/ac944e2b364cff96e8458110c2ad06a63f8543b3
-
-From ac944e2b364cff96e8458110c2ad06a63f8543b3 Mon Sep 17 00:00:00 2001
-From: Cosmin Truta <ctruta@gmail.com>
-Date: Mon, 29 Jan 2024 15:30:10 +0200
-Subject: [PATCH] Fix a regression introduced in "chore: Clean up the return
- statements"
-
-This fixes commit 27e548af2518ff8d278b45c40d11ad1bdd68eaa0.
-
-The macro `png_check_sig` has been deprecated and remained untested
-for decades. And yet, somehow it escaped from all past API cleanups.
-
-Also update the libpng manual.
-
-Reported-by: Matthieu Darbois
---- a/libpng-manual.txt
-+++ b/libpng-manual.txt
-@@ -357,7 +357,7 @@ Customizing libpng.
-        return ERROR;
-     }
- 
--    is_png = !png_sig_cmp(header, 0, number);
-+    is_png = (png_sig_cmp(header, 0, number) == 0);
-     if (!is_png)
-     {
-        return NOT_PNG;
-@@ -4692,7 +4692,7 @@ deprecated since libpng-1.0.16 and libpng-1.2.6.
- The function
-     png_check_sig(sig, num)
- was replaced with
--    !png_sig_cmp(sig, 0, num)
-+    png_sig_cmp(sig, 0, num) == 0
- It has been deprecated since libpng-0.90.
- 
- The function
-@@ -4756,8 +4756,8 @@ png_get_mmx_bitdepth_threshold(), png_get_mmx_rowbytes_threshold(),
- png_set_asm_flags(), and png_mmx_supported()
- 
- We removed the obsolete png_check_sig(), png_memcpy_check(), and
--png_memset_check() functions.  Instead use !png_sig_cmp(), memcpy(),
--and memset(), respectively.
-+png_memset_check() functions.  Instead use png_sig_cmp() == 0,
-+memcpy(), and memset(), respectively.
- 
- The function png_set_gray_1_2_4_to_8() was removed. It has been
- deprecated since libpng-1.0.18 and 1.2.9, when it was replaced with
---- a/libpng.3
-+++ b/libpng.3
-@@ -876,7 +876,7 @@ Customizing libpng.
-        return ERROR;
-     }
- 
--    is_png = !png_sig_cmp(header, 0, number);
-+    is_png = (png_sig_cmp(header, 0, number) == 0);
-     if (!is_png)
-     {
-        return NOT_PNG;
-@@ -5211,7 +5211,7 @@ deprecated since libpng-1.0.16 and libpng-1.2.6.
- The function
-     png_check_sig(sig, num)
- was replaced with
--    !png_sig_cmp(sig, 0, num)
-+    png_sig_cmp(sig, 0, num) == 0
- It has been deprecated since libpng-0.90.
- 
- The function
-@@ -5275,8 +5275,8 @@ png_get_mmx_bitdepth_threshold(), png_get_mmx_rowbytes_threshold(),
- png_set_asm_flags(), and png_mmx_supported()
- 
- We removed the obsolete png_check_sig(), png_memcpy_check(), and
--png_memset_check() functions.  Instead use !png_sig_cmp(), memcpy(),
--and memset(), respectively.
-+png_memset_check() functions.  Instead use png_sig_cmp() == 0,
-+memcpy(), and memset(), respectively.
- 
- The function png_set_gray_1_2_4_to_8() was removed. It has been
- deprecated since libpng-1.0.18 and 1.2.9, when it was replaced with
---- a/png.h
-+++ b/png.h
-@@ -914,9 +914,9 @@ PNG_EXPORT(3, int, png_sig_cmp, (png_const_bytep sig, size_t start,
-     size_t num_to_check));
- 
- /* Simple signature checking function.  This is the same as calling
-- * png_check_sig(sig, n) := (png_sig_cmp(sig, 0, n) != 0).
-+ * png_check_sig(sig, n) := (png_sig_cmp(sig, 0, n) == 0).
-  */
--#define png_check_sig(sig, n) (png_sig_cmp((sig), 0, (n)) != 0)
-+#define png_check_sig(sig, n) (png_sig_cmp((sig), 0, (n)) == 0) /* DEPRECATED */
- 
- /* Allocate and initialize png_ptr struct for reading, and any other memory. */
- PNG_EXPORTA(4, png_structp, png_create_read_struct,
-

diff --git a/media-libs/libpng/libpng-1.6.41-r1.ebuild b/media-libs/libpng/libpng-1.6.41-r1.ebuild
deleted file mode 100644
index e82599595cdf..000000000000
--- a/media-libs/libpng/libpng-1.6.41-r1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit libtool multilib-minimal
-
-APNG_REPO=libpng-apng # sometimes libpng-apng is more up to date
-APNG_VERSION="1.6.40"
-DESCRIPTION="Portable Network Graphics library"
-HOMEPAGE="http://www.libpng.org/"
-SRC_URI="
-	mirror://sourceforge/${PN}/${P}.tar.xz
-	apng? (
-		mirror://sourceforge/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PV}/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz
-		mirror://sourceforge/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz
-	)
-"
-
-LICENSE="libpng2"
-SLOT="0/16"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="apng cpu_flags_arm_neon cpu_flags_x86_sse static-libs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-
-DOCS=( ANNOUNCE CHANGES libpng-manual.txt README TODO )
-
-PATCHES=(
-	"${FILESDIR}"/${P}-png_check_sig-abi.patch
-)
-
-src_prepare() {
-	default
-
-	if use apng; then
-		case ${APNG_REPO} in
-			apng)
-				eapply -p0 "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch
-				;;
-			libpng-apng)
-				eapply "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch
-				;;
-			*)
-				die "Unknown APNG_REPO!"
-				;;
-		esac
-
-		# Don't execute symbols check with apng patch, bug #378111
-		sed -i -e '/^check/s:scripts/symbols.chk::' Makefile.in || die
-	fi
-
-	elibtoolize
-}
-
-multilib_src_configure() {
-	local myeconfargs=(
-		$(multilib_native_enable tools)
-		$(use_enable test tests)
-		$(use_enable cpu_flags_arm_neon arm-neon)
-		$(use_enable cpu_flags_x86_sse intel-sse)
-		$(use_enable static-libs static)
-	)
-
-	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
-	default
-
-	find "${ED}" \( -type f -o -type l \) -name '*.la' -delete || die
-}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-02-29  4:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-29  4:22 [gentoo-commits] repo/gentoo:master commit in: media-libs/libpng/files/, media-libs/libpng/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2024-01-30  7:40 Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox