From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <gentoo-commits+bounces-1280293-garchives=archives.gentoo.org@lists.gentoo.org> Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 4C87A1382C5 for <garchives@archives.gentoo.org>; Sun, 9 May 2021 22:10:10 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 00441E0848; Sun, 9 May 2021 22:09:50 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id C1969E0848 for <gentoo-commits@lists.gentoo.org>; Sun, 9 May 2021 22:09:49 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id A1C4933F698 for <gentoo-commits@lists.gentoo.org>; Sun, 9 May 2021 22:09:48 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 56CDA5C9 for <gentoo-commits@lists.gentoo.org>; Sun, 9 May 2021 22:09:47 +0000 (UTC) From: "Sam James" <sam@gentoo.org> To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" <sam@gentoo.org> Message-ID: <1620598173.94c5fdde92104a42fba127ea0c0442f7a0b345a2.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-libs/botan/Manifest dev-libs/botan/botan-2.18.1.ebuild X-VCS-Directories: dev-libs/botan/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 94c5fdde92104a42fba127ea0c0442f7a0b345a2 X-VCS-Branch: master Date: Sun, 9 May 2021 22:09:47 +0000 (UTC) Precedence: bulk List-Post: <mailto:gentoo-commits@lists.gentoo.org> List-Help: <mailto:gentoo-commits+help@lists.gentoo.org> List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org> List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org> List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org> X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 2f9e5fd5-20cb-4e5f-8c8a-f9d327e2e0a3 X-Archives-Hash: 14f4fe175cea112c9fe0d1905d5d95d0 commit: 94c5fdde92104a42fba127ea0c0442f7a0b345a2 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Sun May 9 22:08:50 2021 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sun May 9 22:09:33 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94c5fdde dev-libs/botan: add 2.18.1 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-libs/botan/Manifest | 2 + dev-libs/botan/botan-2.18.1.ebuild | 164 +++++++++++++++++++++++++++++++++++++ 2 files changed, 166 insertions(+) diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest index 5509e2815c2..0df8aa5911d 100644 --- a/dev-libs/botan/Manifest +++ b/dev-libs/botan/Manifest @@ -1,3 +1,5 @@ DIST Botan-2.17.3.tar.xz 5937596 BLAKE2B 605e71c959889b459bc26f17d310a33f26c9a51fe00db91db407ac5b96c9ff57bef67a401f71826e83e0d4eda2289c22685957289e6bb357f3693a1bce60f44d SHA512 ead0f144dfb9eca66d0e81e376d0d49f4b0b6bc1599f8cf52299e1753645b5b20100efa004ef5f9571f7bea88958f35db38367fc26f2603890f8f199cc890dbc DIST Botan-2.18.0.tar.xz 5941536 BLAKE2B 2a4182bab5e681fdfeafa113462bf5a31057d7be97d71d0a6e60975b84432dd3932498f42f0b879e216727df4bbfcbf0d844e971df95eaf9cf922280f32858b4 SHA512 8613412e3e2fe8b787db7a4d4dbadf60b8fe6b68a84408c600c37cd0b5dbdf3f347a49f5bd88eb8d4f658e927a8b976884146551bf7d256fa80e9675297c0f09 DIST Botan-2.18.0.tar.xz.asc 488 BLAKE2B b9a9c98e11eae227fb900cae2dca3aecc2114ecacd87336cf5cdbe6fbcb9676514f11e365e94dbfecf3b9edc1a9a3398ff2c66f34a77d7b4d6b0f87518af6d9a SHA512 f2e1689e10b0706eed5a3cf08dfcb163874d3ada12968ac739eeff259ae81b1329fafdae4d29290195276fe3bb1cdeaf3f302b8df53a377c5bbdb7964deaa044 +DIST Botan-2.18.1.tar.xz 5953936 BLAKE2B 82f6a9563377542d059901adec0fc17a41b0184cf59af76084babec2591830314a4d7f8d3308eb393c4910c9b0e6c056625765f0d95b435f47dc94cf4b83b128 SHA512 2f11d1ab703d977a2d64504d2a2489ce56109a2a6c46c0dc7c8db428470ce511bcc0160f70baedad29237abd5e1622f2c155ea58c4dec4d3ae57ee7b350415c3 +DIST Botan-2.18.1.tar.xz.asc 488 BLAKE2B d7e6f18ba969b1fffe5aec27ec28839bb6eefac438b0971bb24293a9a1dc104d4355feaae4f8749ea9ea9a729e9f0c0368782c60c2f1aaed58620624248d09d2 SHA512 0cb24d544e31f347e649661d28fedaad4352cd5096ad41e1513c7915138981c7c099e4ee6025893ed829a65082aaded738a94018a8e0bc079f4f0fb63bbec262 diff --git a/dev-libs/botan/botan-2.18.1.ebuild b/dev-libs/botan/botan-2.18.1.ebuild new file mode 100644 index 00000000000..4d9fc251745 --- /dev/null +++ b/dev-libs/botan/botan-2.18.1.ebuild @@ -0,0 +1,164 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7,8,9} ) +VERIFY_SIG_OPENPGP_KEY_PATH="/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 ~sparc ~x86 ~ppc-macos" +IUSE="bindist 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:0=[bindist=] ) + 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() { + local disable_modules=( + $(usex boost '' 'boost') + $(usex bindist 'ecdsa' '') + ) + + 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?) + $(usex cpu_flags_arm_aes '' '--disable-armv8crypto') + $(usex cpu_flags_arm_neon '' '--disable-neon') + $(usex cpu_flags_ppc_altivec '' '--disable-altivec') + $(usex cpu_flags_x86_aes '' '--disable-aes-ni') + $(usex cpu_flags_x86_avx2 '' '--disable-avx2') + $(usex cpu_flags_x86_popcnt '' '--disable-bmi2') + $(usex cpu_flags_x86_rdrand '' '--disable-rdrand') + $(usex cpu_flags_x86_sse2 '' '--disable-sse2') + $(usex cpu_flags_x86_ssse3 '' '--disable-ssse3') + $(usex cpu_flags_x86_sse4_1 '' '--disable-sse4.1') + $(usex cpu_flags_x86_sse4_2 '' '--disable-sse4.2') + + $(usex 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 + + ./configure.py "${myargs[@]}" || die "configure.py failed" +} + +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 +}