diff --git a/dev-libs/libzip/Manifest b/dev-libs/libzip/Manifest index 1f8806b180387..28a20f34ccefd 100644 --- a/dev-libs/libzip/Manifest +++ b/dev-libs/libzip/Manifest @@ -1 +1,2 @@ DIST libzip-1.6.1.tar.xz 732932 BLAKE2B 6f63ecb56767b730e5c5639c01e3e050ed64d1c1508b11d4cd1c75e2834988e14140a5e49ba25454d77c40c59b101615a9e00823066a35eaca0519147a75f5e6 SHA512 dcf3790933c95f66bdcbdb276497b36e57776103b0b1064a94479e84eaa0a09df8dd91509cb4ccab3a6724f0650f076ca1e332d73acc94b653e99a3e94a64574 +DIST libzip-1.7.0.tar.xz 737184 BLAKE2B 4442925b77ad336793ecc891e2c096c8b98457d193a5ebda239462ef5120b3e041b1882d56dc0c4c94d0f3c00e5117d04964af0a8827230f0dbf937a8b07a5fa SHA512 9c1632b4e0b4cfe22c5670d815bc8893d540226e3e64cf8cce7039a90bdc7048dedadb4804b151291e312c97bb384bd671e43021401c4c3e33a4e597972bc681 diff --git a/dev-libs/libzip/libzip-1.7.0.ebuild b/dev-libs/libzip/libzip-1.7.0.ebuild new file mode 100644 index 0000000000000..8edc5a80ac6e4 --- /dev/null +++ b/dev-libs/libzip/libzip-1.7.0.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake multibuild + +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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos" +IUSE="bzip2 gnutls libressl lzma mbedtls ssl static-libs test tools" +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:0= + >=net-libs/gnutls-3.6.5:= + ) + !gnutls? ( + mbedtls? ( net-libs/mbedtls:= ) + !mbedtls? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + ) + ) +" +RDEPEND="${DEPEND}" + +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() { + myconfigure() { + local mycmakeargs=( + -DBUILD_EXAMPLES=OFF # nothing is installed + -DENABLE_COMMONCRYPTO=OFF # not in tree + -DENABLE_BZIP2=$(usex bzip2) + -DENABLE_LZMA=$(usex lzma) + ) + 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() { + [[ ${MULTIBUILD_VARIANT} = shared ]] && cmake_src_test +} + +src_install() { + multibuild_foreach_variant cmake_src_install +} diff --git a/dev-libs/libzip/metadata.xml b/dev-libs/libzip/metadata.xml index b27a9ea54b328..577bd42c45575 100644 --- a/dev-libs/libzip/metadata.xml +++ b/dev-libs/libzip/metadata.xml @@ -1,14 +1,15 @@ - - kde@gentoo.org - Gentoo KDE Project - - - cpe:/a:nih:libzip - - - Use net-libs/mbedtls as TLS provider - + + kde@gentoo.org + Gentoo KDE Project + + + cpe:/a:nih:libzip + + + Use net-libs/mbedtls as TLS provider + Install binary tools to compare, modify and merge zip files +