commit:     e415c429d97034beeaebe27eae0057993509e948
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 13 07:21:45 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Sep 13 07:21:45 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e415c429

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 <AT> gentoo.org>

 dev-util/librnp/Manifest             |  1 +
 dev-util/librnp/librnp-0.16.1.ebuild | 75 ++++++++++++++++++++++++++++++++++++
 dev-util/librnp/metadata.xml         |  3 ++
 3 files changed, 79 insertions(+)

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>[email protected]</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>

Reply via email to