diff options
Diffstat (limited to 'dev-libs/botan')
-rw-r--r-- | dev-libs/botan/Manifest | 3 | ||||
-rw-r--r-- | dev-libs/botan/botan-2.18.2-r1.ebuild | 164 | ||||
-rw-r--r-- | dev-libs/botan/botan-2.18.2.ebuild | 2 |
3 files changed, 167 insertions, 2 deletions
diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest index 8d9f8d28b5f5..9b20f3e5f814 100644 --- a/dev-libs/botan/Manifest +++ b/dev-libs/botan/Manifest @@ -5,5 +5,6 @@ DIST Botan-2.18.2.tar.xz 5996928 BLAKE2B 5c5ac1e8e2de16a012aa5716138f4c2d2b8178f DIST Botan-2.18.2.tar.xz.asc 488 BLAKE2B 03744e95f52031295162b63dc34d7e0fd9a6b01ae751a809eed5f24c46017fca253c8d42c88b568566f393f0e6dd55d488ef56223d164941386690e2accdf296 SHA512 6764bcdb52a3a28672bcf22f8c364c926511a7b7c9bc227ba15f1e4b2feb9b371a9a4bd9bb1ee43e85faacbef4df5ce39a158357b4ce3706a00f4220bea8d926 EBUILD botan-2.17.3-r1.ebuild 3081 BLAKE2B 8f1566d33d79f8c580bfc50ff282a54d1ad779f6394f9f78102f8364c39fe45902f04ebf41f14ff5c91a9c6ffe7c197727c86ecb7ef00b89b6da30a33a365eb6 SHA512 157e5dc7e0e502b06f23bf9c2961f5b3db6b85ca1e118a5035261a19ed11ebbc9105631ee332b1af4d70d83fd90d5806fc7345639b33609c22327413428d8cc2 EBUILD botan-2.18.1-r1.ebuild 4153 BLAKE2B 2573fb8a14539b3bcccdfa1be03d83565266b0c8e7bf741615ddebca84f59f0b23f3228f61190655a0f9e6268da6ca9ba34fcb128b858f230e1c775e9809ed1e SHA512 79212f1525a920c0a28149f9a1cc81d23c1e99aff1565c3b12dd91e424c9dc5cbb441df7344032d272f00719a2ae2eb2af439c9f3d6f3d030aa428f053f662a0 -EBUILD botan-2.18.2.ebuild 4127 BLAKE2B 0b04bca088c2d29fb241a0e68eac239cd3c36a81a281efa43fda18206357357ae706b29cbe4edf64d2eb43b7f4972f250b2410b34a64702c282f7c2463a85c47 SHA512 ca20e7a7a3ef71bf50701eb988559041f9142519ebfca3a1bab8915c245e34149159562929055e84f00463f019cf8df3b6443b368c241f47bbb8abc127f38d98 +EBUILD botan-2.18.2-r1.ebuild 4079 BLAKE2B 96ecfbacd8f1b8c3d64ba8eaf0cf79aab59e3cc77752e1d4da60f8f15bc8e69714193fa19bbbb5474047eba0e3d89f460f00651af8347f4dc25d6f8da40ff10f SHA512 24094a76df3a2c980d86395cea161ab52e76547153c6bdd8697b12147d4694ffe9d15f7551ceba3b9f29ea3b24be822a6d87b6d3b85a2be6f879ffeb81efc46b +EBUILD botan-2.18.2.ebuild 4123 BLAKE2B 1b703857b1f9a106b274f15bb3167d64e3d09f5d14c8204a72d0a370ecce8de5038170360671133b0791c0ae283d6ac3796fddc000a0419c3e26b3c7474709a4 SHA512 9c1793823667ce4b996ab4166e617e8e832b2dfd7564c346a432e48fd0a5e9755ce43481cb6cfdd0ef843723711e0694034361eae0a4648e88e682b868faebc3 MISC metadata.xml 519 BLAKE2B 78e28054a5c35b101d1f1b20ce1095a8a4f0ee8cf312e8d4f3aa711310d34d48878040ffa2a5a7a6600b071cfb5898b69508796aacd3f1d7658c2f30cbda1200 SHA512 9b039acb51f28ad8f21ed310e34d0d36fa7c5dd763fe8661a7ae21dc8dcc08c55d1eb9f1d0e519773697fe18600ffb3424811244e6f7ae243f6e675988006142 diff --git a/dev-libs/botan/botan-2.18.2-r1.ebuild b/dev-libs/botan/botan-2.18.2-r1.ebuild new file mode 100644 index 000000000000..b6eed68539ce --- /dev/null +++ b/dev-libs/botan/botan-2.18.2-r1.ebuild @@ -0,0 +1,164 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/botan.asc +inherit python-r1 toolchain-funcs verify-sig + +MY_P="Botan-${PV}" +DESCRIPTION="C++ crypto library" +HOMEPAGE="https://botan.randombit.net/" +SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz" +SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )" +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD-2" +SLOT="2/$(ver_cut 1-2)" # soname version +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~ppc-macos" +IUSE="doc boost bzip2 lzma python ssl static-libs sqlite zlib" + +CPU_USE=( + cpu_flags_arm_{aes,neon} + cpu_flags_ppc_altivec + cpu_flags_x86_{aes,avx2,popcnt,rdrand,sse2,ssse3,sse4_1,sse4_2} +) + +IUSE+=" ${CPU_USE[@]}" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +# NOTE: Boost is needed at runtime too for the CLI tool. +DEPEND=" + boost? ( >=dev-libs/boost-1.48:= ) + bzip2? ( >=app-arch/bzip2-1.0.5:= ) + lzma? ( app-arch/xz-utils:= ) + python? ( ${PYTHON_DEPS} ) + ssl? ( dev-libs/openssl:= ) + sqlite? ( dev-db/sqlite:3= ) + zlib? ( >=sys-libs/zlib-1.2.3:= ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + $(python_gen_any_dep ' + doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) + ') + verify-sig? ( app-crypt/openpgp-keys-botan ) +" + +# NOTE: Considering patching Botan? +# Please see upstream's guidance: +# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches + +python_check_deps() { + if use doc ; then + has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" || return 1 + fi +} + +src_configure() { + python_setup + + local disable_modules=( + $(usev !boost 'boost') + ) + + if [[ -z "${DISABLE_MODULES}" ]] ; then + elog "Disabling module(s): ${disable_modules[@]}" + fi + + local chostarch="${CHOST%%-*}" + + # Arch specific wrangling + local myos= + case ${CHOST} in + *-darwin*) + myos=darwin + ;; + + *) + myos=linux + + if [[ ${CHOST} == *hppa* ]] ; then + chostarch=parisc + elif [[ ${PROFILE_ARCH} == "sparc64" ]] ; then + chostarch="sparc32-v9" + fi + ;; + + esac + + local pythonvers=() + if use python ; then + _append() { + pythonvers+=( ${EPYTHON/python/} ) + } + + python_foreach_impl _append + fi + + local myargs=( + # Intrinsics + # TODO: x86 RDSEED (new CPU_FLAGS_X86?) + # TODO: POWER Crypto (new CPU_FLAGS_PPC?) + $(usev !cpu_flags_arm_aes '--disable-armv8crypto') + $(usev !cpu_flags_arm_neon '--disable-neon') + $(usev !cpu_flags_ppc_altivec '--disable-altivec') + $(usev !cpu_flags_x86_aes '--disable-aes-ni') + $(usev !cpu_flags_x86_avx2 '--disable-avx2') + $(usev !cpu_flags_x86_popcnt '--disable-bmi2') + $(usev !cpu_flags_x86_rdrand '--disable-rdrand') + $(usev !cpu_flags_x86_sse2 '--disable-sse2') + $(usev !cpu_flags_x86_ssse3 '--disable-ssse3') + $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1') + $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2') + + $(usev hppa '--without-stack-protector') + + $(use_with boost) + $(use_with bzip2) + $(use_with doc documentation) + $(use_with doc sphinx) + $(use_with lzma) + $(use_enable static-libs static-library) + $(use_with ssl openssl) + $(use_with sqlite sqlite3) + $(use_with zlib) + + --cpu=${chostarch} + --docdir=share/doc + --disable-modules=$( IFS=","; echo "${disable_modules[*]}" ) + --distribution-info="Gentoo ${PVR}" + --libdir=$(get_libdir) + + # Don't install Python bindings automatically + # (do it manually later in the right place) + # https://bugs.gentoo.org/723096 + --no-install-python-module + + --os=${myos} + --prefix="${EPREFIX}/usr" + --with-endian="$(tc-endian)" + --with-python-version=$( IFS=","; echo "${pythonvers[*]}" ) + --without-doxygen + ) + + tc-export CC CXX AR + + ${EPYTHON} configure.py "${myargs[@]}" || die "configure.py failed with ${EPYTHON}" +} + +src_test() { + LD_LIBRARY_PATH="${S}" ./botan-test || die "Validation tests failed" +} + +src_install() { + default + + # Manually install the Python bindings (bug #723096) + if use python ; then + python_foreach_impl python_domodule src/python/botan2.py + fi +} diff --git a/dev-libs/botan/botan-2.18.2.ebuild b/dev-libs/botan/botan-2.18.2.ebuild index d33373a7c38a..9a5b8846dd45 100644 --- a/dev-libs/botan/botan-2.18.2.ebuild +++ b/dev-libs/botan/botan-2.18.2.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="BSD-2" SLOT="2/$(ver_cut 1-2)" # soname version -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~ppc-macos" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86 ~ppc-macos" IUSE="bindist doc boost bzip2 lzma python ssl static-libs sqlite zlib" CPU_USE=( |