summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
+}