summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2021-04-16 03:35:20 +0000
committerSam James <sam@gentoo.org>2021-04-16 03:58:04 +0000
commita897adf292a147ccae858d50a630ac00fd955b25 (patch)
tree06a398fb96dfd7b8015b06f63ecf56ac4374f7e3 /dev-libs/libsodium
parentdev-libs/libsodium: add verify-sig support (diff)
downloadgentoo-a897adf292a147ccae858d50a630ac00fd955b25.tar.gz
gentoo-a897adf292a147ccae858d50a630ac00fd955b25.tar.bz2
gentoo-a897adf292a147ccae858d50a630ac00fd955b25.zip
dev-libs/libsodium: add 1.0.18_p20210508
Upstream regularly backport fixes from the main development branch to the last release branch. This is the first of such releases added in Gentoo (at least for 1.0.18). We also add verify-sig-like behaviour via app-crypt/minisign. Upstream don't provide PGP signatures for all backport/stable releases, so we need to use this instead. Bug: https://bugs.gentoo.org/783066 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-libs/libsodium')
-rw-r--r--dev-libs/libsodium/Manifest2
-rw-r--r--dev-libs/libsodium/libsodium-1.0.18_p20210508.ebuild95
2 files changed, 97 insertions, 0 deletions
diff --git a/dev-libs/libsodium/Manifest b/dev-libs/libsodium/Manifest
index 5ef0f34e468c..2274e50ec6f7 100644
--- a/dev-libs/libsodium/Manifest
+++ b/dev-libs/libsodium/Manifest
@@ -1,2 +1,4 @@
DIST libsodium-1.0.18.tar.gz 1919817 BLAKE2B a42d898fe77f232dcbb75728e776b88f006e89f734c4d335e75e01d37b1034cc024df2e89d4350ecbe713d3e4b32c08bec537922c81cc63b0e87ee7fd89b2940 SHA512 17e8638e46d8f6f7d024fe5559eccf2b8baf23e143fadd472a7d29d228b186d86686a5e6920385fe2020729119a5f12f989c3a782afbd05a8db4819bb18666ef
DIST libsodium-1.0.18.tar.gz.sig 566 BLAKE2B bb892901e2228c93018d79a5c8e70e0ea458513b0fdf99e8f6c015132b618fd0fefbe6a18ed514c20fbe1e56719dd6dd3762bc4bb6348a439146fdaa951090c0 SHA512 ba69d372263e63126d6ce24f67fe85d83f74e558db81391ddcd7eacb6787dcdd5209a149eebca897e9806f295e78f5a8ababa0ab884b85d9a8dd1a54507a8b0c
+DIST libsodium-1.0.18_p20210508.tar.gz 1855576 BLAKE2B 18cb62483ff6ead4f8524fac2cd5b505a316c59395757a258fcdec505ae3a9f16c7ebb9d18ac64387654e18012a554da1e0228d587d38d3a3f25676d322e42ee SHA512 41f7efdac246ec2460cc2a3ce5cc0f1bf963a7de6b3617a443178ed544e911de425fe175f231a1bd1d6a1fec9f19e9f8001dcf66d45ad2f46f0d37522954f299
+DIST libsodium-1.0.18_p20210508.tar.gz.minisig 311 BLAKE2B f3f66d4bc60fcb3bf6619a4a8dbe367d321a35b0386c9498ba8a08307f85ab3eaf6094d157492fc3e805fa4dfc247f2eeed77fe703c329b21116e29f93296bfa SHA512 4d05361736db001cc1102a0941decf0a4437712c6ab3246608ca3df8b1f3aee01e21f84dc3763f3347c732a026dfd08ef9a09508e54ea60d9f21a3a6bf697dfe
diff --git a/dev-libs/libsodium/libsodium-1.0.18_p20210508.ebuild b/dev-libs/libsodium/libsodium-1.0.18_p20210508.ebuild
new file mode 100644
index 000000000000..ddf5fc8f9836
--- /dev/null
+++ b/dev-libs/libsodium/libsodium-1.0.18_p20210508.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools multilib-minimal
+
+DESCRIPTION="A portable fork of NaCl, a higher-level cryptographic library"
+HOMEPAGE="https://libsodium.org"
+
+if [[ ${PV} == *_p* ]] ; then
+ MY_P=${PN}-$(ver_cut 1-3)-stable-$(ver_cut 5-)
+ MINISIGN_KEY="RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3"
+
+ # We use _pN to represent 'stable releases'
+ # These are backports from upstream to the last release branch
+ # See https://download.libsodium.org/libsodium/releases/README.html
+ SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
+
+ # TODO: Could verify-sig.eclass support minisig? bug #783066
+ SRC_URI+=" verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig )"
+
+ S="${WORKDIR}/${PN}-stable"
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jedisct1.asc
+ inherit verify-sig
+
+ SRC_URI="https://download.libsodium.org/${PN}/releases/${P}.tar.gz"
+ SRC_URI+=" verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.sig )"
+fi
+
+LICENSE="ISC"
+SLOT="0/23"
+KEYWORDS="~amd64 ~ppc64"
+IUSE="+asm minimal static-libs +urandom cpu_flags_x86_sse4_1 cpu_flags_x86_aes"
+
+if [[ ${PV} == *_p* ]] ; then
+ IUSE+=" verify-sig"
+
+ BDEPEND+="app-crypt/minisign"
+fi
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.10-cpuflags.patch
+)
+
+src_unpack() {
+ if [[ ${PV} == *_p* ]] ; then
+ if use verify-sig ; then
+ elog "Verifying signature using app-crypt/minisign"
+ minisign -V \
+ -P ${MINISIGN_KEY} \
+ -x "${DISTDIR}"/${P}.tar.gz.minisig \
+ -m "${DISTDIR}"/${P}.tar.gz || die "Failed to verify distfile using minisign!"
+ fi
+
+ default
+ else
+ verify-sig_src_unpack
+ fi
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable asm)
+ $(use_enable cpu_flags_x86_aes aesni)
+ $(use_enable cpu_flags_x86_sse4_1 sse4_1)
+ $(use_enable minimal)
+ $(use_enable static-libs static)
+ $(use_enable !urandom blocking-random)
+ )
+
+ # --disable-pie is needed on x86, see bug #512734
+ if [[ "${MULTILIB_ABI_FLAG}" == "abi_x86_32" ]] ; then
+ myeconfargs+=( --disable-pie )
+
+ # --disable-ssp is needed on musl x86
+ # TODO: Check if still needed? bug #747346
+ if use elibc_musl ; then
+ myeconfargs+=( --disable-ssp )
+ fi
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+}