A new virtual to cover sys-libs/zlib and sys-libs/zlib-ng[compat] (+ sys-libs/minizip-ng[compat]). The latter package is now used by an increasing number of distributions, including Arch Linux [1] and Fedora [2], and upstream seems to have started taking ABI compatibility seriously. While we aren't planning on switching the default anytime soon, it makes sense to provide the option to switch one's system. There is also zlib-rs around the corner [3].
Given how widespread the dependency on sys-libs/zlib is, I think we're only going to substitute it in place, without revbumping -- and whoever decides to try out zlib-ng will be out for rebuilding everything. [1] https://lists.archlinux.org/archives/list/[email protected]/thread/UPJYWKUJRQDHNU4IXGFDU6GVEHPSTKDZ/#UPJYWKUJRQDHNU4IXGFDU6GVEHPSTKDZ [2] https://fedoraproject.org/wiki/Changes/ZlibNGTransition [3] https://github.com/trifectatechfoundation/zlib-rs/issues/419 Signed-off-by: Michał Górny <[email protected]> --- virtual/zlib/metadata.xml | 11 +++++++++++ virtual/zlib/zlib-1.ebuild | 23 +++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 virtual/zlib/metadata.xml create mode 100644 virtual/zlib/zlib-1.ebuild diff --git a/virtual/zlib/metadata.xml b/virtual/zlib/metadata.xml new file mode 100644 index 0000000000000..e2171ff983981 --- /dev/null +++ b/virtual/zlib/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>[email protected]</email> + <name>Gentoo Base System</name> + </maintainer> + <use> + <flag name="minizip">include the minizip library for quick and dirty zip extraction</flag> + </use> +</pkgmetadata> diff --git a/virtual/zlib/zlib-1.ebuild b/virtual/zlib/zlib-1.ebuild new file mode 100644 index 0000000000000..2095b6ce181d8 --- /dev/null +++ b/virtual/zlib/zlib-1.ebuild @@ -0,0 +1,23 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib-build + +DESCRIPTION="Virtual for libz.so providers" +SLOT="0/1" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="minizip static-libs" + +RDEPEND=" + || ( + sys-libs/zlib[${MULTILIB_USEDEP},minizip?,static-libs?] + ( + sys-libs/zlib-ng[${MULTILIB_USEDEP},compat,static-libs(-)?] + minizip? ( + sys-libs/minizip-ng[${MULTILIB_USEDEP},compat,static-libs(-)?] + ) + ) + ) +"
