diff options
Diffstat (limited to 'dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild')
-rw-r--r-- | dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild b/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild new file mode 100644 index 000000000000..bb62d58a0e8c --- /dev/null +++ b/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libsodium.minisig +VERIFY_SIG_METHOD=minisig +inherit autotools multilib-minimal verify-sig + +DESCRIPTION="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-) + + # 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 + verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig ) + " +else + SRC_URI=" + https://download.libsodium.org/${PN}/releases/${P}.tar.gz + verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.minisig ) + " +fi + +S="${WORKDIR}"/${PN}-stable + +LICENSE="ISC" +SLOT="0/26" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +IUSE="+asm static-libs +urandom" + +CPU_USE=( cpu_flags_x86_{aes,sse4_1} ) +IUSE+=" ${CPU_USE[@]}" + +BDEPEND=" verify-sig? ( sec-keys/minisig-keys-libsodium )" + +QA_CONFIG_IMPL_DECL_SKIP=( + _rdrand64_step # depends on target, bug #924154 +) + +PATCHES=( + "${FILESDIR}"/${PN}-1.0.19-cpuflags.patch +) + +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 static-libs static) + $(use_enable !urandom blocking-random) + ) + + # --disable-pie is needed on x86, see bug #512734 + # TODO: Check if still needed? + if [[ ${ABI} == x86 ]] ; then + myeconfargs+=( --disable-pie ) + fi + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install_all() { + default + find "${ED}" -type f -name "*.la" -delete || die +} |