diff options
Diffstat (limited to 'dev-libs/libzip/libzip-1.11.2.ebuild')
-rw-r--r-- | dev-libs/libzip/libzip-1.11.2.ebuild | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/dev-libs/libzip/libzip-1.11.2.ebuild b/dev-libs/libzip/libzip-1.11.2.ebuild new file mode 100644 index 000000000000..39ea0e50d5e4 --- /dev/null +++ b/dev-libs/libzip/libzip-1.11.2.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake multibuild flag-o-matic + +DESCRIPTION="Library for manipulating zip archives" +HOMEPAGE="https://nih.at/libzip/" +SRC_URI="https://www.nih.at/libzip/${P}.tar.xz" + +LICENSE="BSD" +SLOT="0/5" +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~sparc ~x86" +IUSE="bzip2 gnutls lzma mbedtls ssl static-libs test tools zstd" +REQUIRED_USE="test? ( tools )" +RESTRICT="!test? ( test )" + +DEPEND=" + sys-libs/zlib + bzip2? ( app-arch/bzip2:= ) + lzma? ( app-arch/xz-utils ) + ssl? ( + gnutls? ( + dev-libs/nettle:= + >=net-libs/gnutls-3.6.5:= + ) + !gnutls? ( + mbedtls? ( net-libs/mbedtls:= ) + !mbedtls? ( dev-libs/openssl:= ) + ) + ) + zstd? ( >=app-arch/zstd-1.4.0:= ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + test? ( dev-util/nihtest ) +" + +PATCHES=( + "${FILESDIR}"/${P}-nullability.patch +) + +pkg_setup() { + # Upstream doesn't support building dynamic & static + # simultaneously: https://github.com/nih-at/libzip/issues/76 + MULTIBUILD_VARIANTS=( shared $(usev static-libs) ) +} + +src_configure() { + append-lfs-flags + myconfigure() { + local mycmakeargs=( + -DBUILD_OSSFUZZ=OFF + -DBUILD_EXAMPLES=OFF # nothing is installed + -DENABLE_COMMONCRYPTO=OFF # not in tree + -DENABLE_BZIP2=$(usex bzip2) + -DENABLE_LZMA=$(usex lzma) + -DENABLE_ZSTD=$(usex zstd) + ) + if [[ ${MULTIBUILD_VARIANT} = static-libs ]]; then + mycmakeargs+=( + -DBUILD_DOC=OFF + -DBUILD_EXAMPLES=OFF + -DBUILD_SHARED_LIBS=OFF + -DBUILD_TOOLS=OFF + ) + else + mycmakeargs+=( + -DBUILD_DOC=ON + -DBUILD_REGRESS=$(usex test) + -DBUILD_TOOLS=$(usex tools) + ) + fi + + if use ssl; then + if use gnutls; then + mycmakeargs+=( + -DENABLE_GNUTLS=$(usex gnutls) + -DENABLE_MBEDTLS=OFF + -DENABLE_OPENSSL=OFF + ) + elif use mbedtls; then + mycmakeargs+=( + -DENABLE_GNUTLS=OFF + -DENABLE_MBEDTLS=$(usex mbedtls) + -DENABLE_OPENSSL=OFF + ) + else + mycmakeargs+=( + -DENABLE_GNUTLS=OFF + -DENABLE_MBEDTLS=OFF + -DENABLE_OPENSSL=ON + ) + fi + else + mycmakeargs+=( + -DENABLE_GNUTLS=OFF + -DENABLE_MBEDTLS=OFF + -DENABLE_OPENSSL=OFF + ) + fi + cmake_src_configure + } + + multibuild_foreach_variant myconfigure +} + +src_compile() { + multibuild_foreach_variant cmake_src_compile +} + +src_test() { + run_tests() { + [[ ${MULTIBUILD_VARIANT} = shared ]] && cmake_src_test + } + + multibuild_foreach_variant run_tests +} + +src_install() { + multibuild_foreach_variant cmake_src_install +} |