From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1707677-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id CCE1215813A
	for <garchives@archives.gentoo.org>; Thu, 09 Jan 2025 23:05:49 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 7EE1CE077F;
	Thu, 09 Jan 2025 23:05:48 +0000 (UTC)
Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 1DAC3E076B
	for <gentoo-commits@lists.gentoo.org>; Thu, 09 Jan 2025 23:05:48 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 53EA2341C4B
	for <gentoo-commits@lists.gentoo.org>; Thu, 09 Jan 2025 23:05:47 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 87DC011B5
	for <gentoo-commits@lists.gentoo.org>; Thu, 09 Jan 2025 23:05:45 +0000 (UTC)
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" <sam@gentoo.org>
Message-ID: <1736463801.94d705e16b23f6e6d5f795d80340e75a9c54e8d2.sam@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/minizip-ng/
X-VCS-Repository: repo/gentoo
X-VCS-Files: sys-libs/minizip-ng/Manifest sys-libs/minizip-ng/minizip-ng-4.0.8.ebuild
X-VCS-Directories: sys-libs/minizip-ng/
X-VCS-Committer: sam
X-VCS-Committer-Name: Sam James
X-VCS-Revision: 94d705e16b23f6e6d5f795d80340e75a9c54e8d2
X-VCS-Branch: master
Date: Thu, 09 Jan 2025 23:05:45 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 720081c6-0f54-4c6b-9d9a-2d4c7baf2a0b
X-Archives-Hash: cedbc4b9ebcd21030e37861210d54fa4

commit:     94d705e16b23f6e6d5f795d80340e75a9c54e8d2
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jan  9 11:29:30 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jan  9 23:03:21 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94d705e1

sys-libs/minizip-ng: add 4.0.8

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

 sys-libs/minizip-ng/Manifest                |  1 +
 sys-libs/minizip-ng/minizip-ng-4.0.8.ebuild | 89 +++++++++++++++++++++++++++++
 2 files changed, 90 insertions(+)

diff --git a/sys-libs/minizip-ng/Manifest b/sys-libs/minizip-ng/Manifest
index 555f5c7c0576..9cb4bc8012d4 100644
--- a/sys-libs/minizip-ng/Manifest
+++ b/sys-libs/minizip-ng/Manifest
@@ -1,2 +1,3 @@
 DIST minizip-ng-4.0.5.tar.gz 770078 BLAKE2B e9e416a8fae3c4e33c1fe644bbf4f3edf2becc8e8e0dfba079481c8c8fbd871c1591537c58e7aaa9b08ecee430c2acb8c1a5ee085fa8c819714fbe906876241e SHA512 760c540ccedd04c21d72ec7b41bc31a16e4291776580a6febb9400198440b3a64f39d4ba26be2608abf47b9dcc1ed266dad8bc0a8cacb607e4885c9dd05be0d6
 DIST minizip-ng-4.0.7.tar.gz 770098 BLAKE2B 2626a8ff7fe70db5a2ec93829a03d7d274a161aa787de86ab021d1d0590890f84570118f7e372dd13d947c85606886e0d8591bc7d8145b7f9474cb59e6ec6c49 SHA512 af9c8743d34bbc8f371a018debfab5f857aadb9a1129b048dbce9085122bef209ade34837784f91424c9eba92406d2e222476d9f8038839908679f7b7dc9e3eb
+DIST minizip-ng-4.0.8.tar.gz 770957 BLAKE2B 6f97dc609cababfe4939603d9795e39552e3fbc04d1dde7e2389cf6b0326f98cb6ec98e8cb7b768c713b35476aa35ec4c0b56180221f014380aa47271f207601 SHA512 673798114e29a41ce87906b705dd92c5dc1ed1798aefaa20f0e3d7c1f27b9593e0c4c1271e02585ecc234ce835b14b02227c37f1a7fba4c7a98b822f10711b85

diff --git a/sys-libs/minizip-ng/minizip-ng-4.0.8.ebuild b/sys-libs/minizip-ng/minizip-ng-4.0.8.ebuild
new file mode 100644
index 000000000000..36141344b64e
--- /dev/null
+++ b/sys-libs/minizip-ng/minizip-ng-4.0.8.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2025 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,
+# as they copied this practice from sys-libs/zlib upstream.
+
+inherit cmake-multilib
+
+DESCRIPTION="Fork of the popular zip manipulation library found in the zlib distribution"
+HOMEPAGE="https://github.com/zlib-ng/minizip-ng"
+SRC_URI="https://github.com/zlib-ng/minizip-ng/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0/4"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="compat lzma openssl test zstd"
+RESTRICT="!test? ( test )"
+
+# Automagically prefers sys-libs/zlib-ng if installed, so let's
+# just depend on it as presumably it's better tested anyway.
+RDEPEND="
+	app-arch/bzip2[${MULTILIB_USEDEP}]
+	dev-libs/libbsd[${MULTILIB_USEDEP}]
+	sys-libs/zlib-ng[${MULTILIB_USEDEP}]
+	virtual/libiconv
+	compat? ( !sys-libs/zlib[minizip] )
+	lzma? ( app-arch/xz-utils )
+	openssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] )
+	zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+	${RDEPEND}
+	test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-4.0.4-libbsd-overlay.patch
+)
+
+multilib_src_configure() {
+	local mycmakeargs=(
+		-DMZ_COMPAT=$(usex compat)
+
+		-DMZ_BUILD_TESTS=$(usex test)
+		-DMZ_BUILD_UNIT_TESTS=$(usex test)
+
+		-DMZ_FETCH_LIBS=OFF
+		-DMZ_FORCE_FETCH_LIBS=OFF
+
+		# Compression library options
+		-DMZ_ZLIB=ON
+		-DMZ_BZIP2=ON
+		-DMZ_LZMA=$(usex lzma)
+		-DMZ_ZSTD=$(usex zstd)
+		-DMZ_LIBCOMP=OFF
+
+		# Encryption support options
+		-DMZ_PKCRYPT=ON
+		-DMZ_WZAES=ON
+		-DMZ_OPENSSL=$(usex openssl)
+		-DMZ_LIBBSD=ON
+
+		# Character conversion options
+		-DMZ_ICONV=ON
+	)
+
+	cmake_src_configure
+}
+
+multilib_src_test() {
+	local myctestargs=(
+		# TODO: investigate
+		-E "(raw-unzip-pkcrypt|raw-append-unzip-pkcrypt|raw-erase-unzip-pkcrypt|deflate-unzip-pkcrypt|deflate-append-unzip-pkcrypt|deflate-erase-unzip-pkcrypt|bzip2-unzip-pkcrypt|bzip2-append-unzip-pkcrypt|bzip2-erase-unzip-pkcrypt|lzma-unzip-pkcrypt|lzma-append-unzip-pkcrypt|lzma-erase-unzip-pkcrypt|xz-unzip-pkcrypt|xz-append-unzip-pkcrypt|xz-erase-unzip-pkcrypt|zstd-unzip-pkcrypt|zstd-append-unzip-pkcrypt|zstd-erase-unzip-pkcrypt)"
+	)
+
+	# TODO: A bunch of tests end up looping and writing over each other's files
+	# It gets better with a patch applied (see https://github.com/zlib-ng/minizip-ng/issues/623#issuecomment-1264518994)
+	# but still hangs.
+	cmake_src_test -j1
+}
+
+pkg_postinst() {
+	if use compat ; then
+		ewarn "minizip-ng is experimental and replacing the system zlib[minizip] is dangerous"
+		ewarn "Please be careful!"
+	fi
+}