diff options
Diffstat (limited to 'dev-libs/libsodium')
-rw-r--r-- | dev-libs/libsodium/Manifest | 2 | ||||
-rw-r--r-- | dev-libs/libsodium/libsodium-1.0.18_p20210508.ebuild | 95 |
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 +} |