summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2022-09-13 10:21:45 +0300
committerJoonas Niilola <juippis@gentoo.org>2022-09-13 10:21:45 +0300
commite415c429d97034beeaebe27eae0057993509e948 (patch)
treefcf9139755d05bafa01c35ac79da7f050ce69687 /dev-util
parentsys-devel/clang-runtime: Add a pkg_pretend() warning about breakage (diff)
downloadgentoo-e415c429d97034beeaebe27eae0057993509e948.tar.gz
gentoo-e415c429d97034beeaebe27eae0057993509e948.tar.bz2
gentoo-e415c429d97034beeaebe27eae0057993509e948.zip
dev-util/librnp: add 0.16.1
- add subslot due to breaking ABI changes, - add support for openssl crypto backend - botan is still the default. Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/librnp/Manifest1
-rw-r--r--dev-util/librnp/librnp-0.16.1.ebuild75
-rw-r--r--dev-util/librnp/metadata.xml3
3 files changed, 79 insertions, 0 deletions
diff --git a/dev-util/librnp/Manifest b/dev-util/librnp/Manifest
index b506ebb23de8..163085924e8b 100644
--- a/dev-util/librnp/Manifest
+++ b/dev-util/librnp/Manifest
@@ -1 +1,2 @@
DIST librnp-0.16.0.tar.gz 2755417 BLAKE2B bdd06b1bd20ae816b54be19fa844767e9978eb387487db85db2dcd699da1d1b426455565a6c0508bf3782e07317d3bf6ae3613ebe6f8721f80849cb985e7850f SHA512 3d1ba077f85b08ca308d0ebc6499b3a2f32db38f0fd3abbfa7c38277d4552d2bcb7b2e7d07b7fa3222130af347b73d853136974ec289d6de3e97c1e18e407b36
+DIST librnp-0.16.1.tar.gz 2897069 BLAKE2B 0ce261a5f1229ab1567d4726b8d75eaf3fa72774ef66280bd587f28282371cde9691de24de329f8209f99c76dc6cf01e7c711e1bd3fd47b8b145762936a1b655 SHA512 948d8c1342c34ec850605b79b490d6da3094b4fb1f8435f4c928473c15a0df364f2ad56091f4b746afc98119d85137cf7b341c72054ccac79ab236f13cca48f4
diff --git a/dev-util/librnp/librnp-0.16.1.ebuild b/dev-util/librnp/librnp-0.16.1.ebuild
new file mode 100644
index 000000000000..4d26065cfc69
--- /dev/null
+++ b/dev-util/librnp/librnp-0.16.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="High performance C++ OpenPGP library"
+HOMEPAGE="https://www.rnpgp.org/ https://github.com/rnpgp/rnp"
+SRC_URI="https://github.com/rnpgp/rnp/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0 BSD BSD-2"
+SLOT="0/0.16.1"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="+botan man test"
+
+RDEPEND="app-arch/bzip2
+ dev-libs/json-c:=
+ sys-libs/zlib
+ botan? ( dev-libs/botan:2= )
+ !botan? ( >=dev-libs/openssl-1.1.1:= )"
+DEPEND="${RDEPEND}
+ test? ( dev-cpp/gtest )"
+BDEPEND="man? ( dev-ruby/asciidoctor )"
+
+RESTRICT="!test? ( test )"
+S="${WORKDIR}/${P/*lib/}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test on off)
+
+ -DCRYPTO_BACKEND=$(usex botan botan openssl)
+
+ -DDOWNLOAD_GTEST=off
+ -DDOWNLOAD_RUBYRNP=off
+
+ -DENABLE_COVERAGE=off
+ -DENABLE_DOC=$(usex man on off)
+ -DENABLE_FUZZERS=off
+ -DENABLE_SANITIZERS=off
+ )
+
+ if use botan; then
+ local mycmakeargs+=(
+ -DENABLE_AEAD=on
+ -DENABLE_BRAINPOOL=on
+ -DENABLE_SM2=on
+ -DENABLE_TWOFISH=on
+ )
+
+ # OpenSSL support is still not as complete as botan.
+ # https://github.com/rnpgp/rnp/issues/1642 AEAD,
+ # https://github.com/rnpgp/rnp/issues/1877 SM2,
+ # https://github.com/openssl/openssl/issues/2046 TWOFISH.
+ else
+ local mycmakeargs+=(
+ -DENABLE_AEAD=off
+ -DENABLE_BRAINPOOL=off
+ -DENABLE_SM2=off
+ -DENABLE_TWOFISH=off
+ )
+ fi
+
+ # Broken in 0.16.1.
+ # https://github.com/rnpgp/rnp/issues/1901
+ local mycmakeargs+=( -DENABLE_IDEA=off )
+
+ cmake_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}" || die
+ ctest -j"${MAKEOPTS}" -R .* --output-on-failure || die
+}
diff --git a/dev-util/librnp/metadata.xml b/dev-util/librnp/metadata.xml
index 086e8d1f3ea1..1e8aefe95c28 100644
--- a/dev-util/librnp/metadata.xml
+++ b/dev-util/librnp/metadata.xml
@@ -5,6 +5,9 @@
<email>mozilla@gentoo.org</email>
<name>Gentoo Mozilla Team</name>
</maintainer>
+ <use>
+ <flag name="botan">Use Botan crypto backend instead of OpenSSL</flag>
+ </use>
<upstream>
<remote-id type="github">rnpgp/rnp</remote-id>
</upstream>