public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/
Date: Fri, 16 Apr 2021 02:30:02 +0000 (UTC)	[thread overview]
Message-ID: <1618540018.d8467da93d612f11b7daaa2644a0c52bf581c979.sam@gentoo> (raw)

commit:     d8467da93d612f11b7daaa2644a0c52bf581c979
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 16 01:56:01 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Apr 16 02:26:58 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8467da9

dev-libs/botan: rework src_configure (including CPU_FLAGS_*)

* Add support for CPU_FLAGS_* rather than automagic detection
* Consoldiate arch-specific workarounds
* Sort configure arguments
* Simplify disable logic
* Minor other style changes
* Drop USE=libressl

Closes: https://bugs.gentoo.org/724338
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/botan/botan-2.18.0.ebuild | 105 ++++++++++++++++++++++++-------------
 1 file changed, 68 insertions(+), 37 deletions(-)

diff --git a/dev-libs/botan/botan-2.18.0.ebuild b/dev-libs/botan/botan-2.18.0.ebuild
index 0fd5992235c..ab5000d8a85 100644
--- a/dev-libs/botan/botan-2.18.0.ebuild
+++ b/dev-libs/botan/botan-2.18.0.ebuild
@@ -4,11 +4,9 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{7,8,9} )
-
 inherit python-r1 toolchain-funcs
 
 MY_P="Botan-${PV}"
-
 DESCRIPTION="C++ crypto library"
 HOMEPAGE="https://botan.randombit.net/"
 SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
@@ -17,15 +15,17 @@ 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 libressl lzma python ssl static-libs sqlite zlib"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+IUSE="bindist doc boost bzip2 lzma python ssl static-libs sqlite zlib"
 
-BDEPEND="
-	${PYTHON_DEPS}
-	$(python_gen_any_dep '
-		doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
-	')
-"
+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="
@@ -33,15 +33,17 @@ DEPEND="
 	bzip2? ( >=app-arch/bzip2-1.0.5:= )
 	lzma? ( app-arch/xz-utils:= )
 	python? ( ${PYTHON_DEPS} )
-	ssl? (
-		!libressl? ( dev-libs/openssl:0=[bindist=] )
-		libressl? ( dev-libs/libressl:0= )
-	)
+	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}] )
+	')
+"
 
 # NOTE: Considering patching Botan?
 # Please see upstream's guidance:
@@ -54,25 +56,35 @@ python_check_deps() {
 }
 
 src_configure() {
-	local disable_modules=()
-	use boost || disable_modules+=( "boost" )
-	use bindist && disable_modules+=( "ecdsa" )
-	elog "Disabling module(s): ${disable_modules[@]}"
+	local disable_modules=(
+		$(usex boost '' 'boost')
+		$(usex bindist 'ecdsa' '')
+	)
 
-	# Enable v9 instructions for sparc64
-	local chostarch="${CHOST%%-*}"
-	if [[ "${PROFILE_ARCH}" = "sparc64" ]] ; then
-		chostarch="sparc32-v9"
+	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  ;;
-	esac
+		*-darwin*)
+			myos=darwin
+		;;
+
+		*)
+			myos=linux
+
+			if [[ ${CHOST} == *hppa* ]] ; then
+				chostarch=parisc
+			elif [[ ${PROFILE_ARCH} == "sparc64" ]] ; then
+				chostarch="sparc32-v9"
+			fi
+		;;
 
-	case ${CHOST} in
-		hppa*) chostarch=parisc ;;
 	esac
 
 	local pythonvers=()
@@ -84,31 +96,50 @@ src_configure() {
 		python_foreach_impl _append
 	fi
 
-	# Don't install Python bindings automatically
-	# (do it manually later in the right place)
-	# https://bugs.gentoo.org/723096
 	local myargs=(
-		$(use_enable static-libs static-library)
+		# 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_with sqlite sqlite3)
+		$(use_enable static-libs static-library)
 		$(use_with ssl openssl)
+		$(use_with sqlite sqlite3)
 		$(use_with zlib)
-		$(usex hppa --without-stack-protector '')
+
 		--cpu=${chostarch}
-		--disable-modules=$( IFS=","; echo "${disable_modules[*]}" )
 		--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}
-		--distribution-info="Gentoo ${PVR}"
 		--prefix="${EPREFIX}/usr"
 		--with-endian="$(tc-endian)"
 		--with-python-version=$( IFS=","; echo "${pythonvers[*]}" )
 		--without-doxygen
-		--no-install-python-module
 	)
 
 	tc-export CC CXX AR


             reply	other threads:[~2021-04-16  2:30 UTC|newest]

Thread overview: 218+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-16  2:30 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-05-01 14:54 [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/ Sam James
2025-04-28  5:54 Sam James
2025-04-23 11:24 Sam James
2025-03-31 23:39 Sam James
2025-03-13  3:15 Sam James
2025-03-13  1:37 Sam James
2025-03-13  1:11 Sam James
2025-03-13  1:09 Sam James
2025-02-05 22:03 Sam James
2025-01-23 22:43 Sam James
2025-01-23 22:43 Sam James
2025-01-23 22:19 Sam James
2025-01-23 22:19 Sam James
2025-01-22  7:57 Sam James
2025-01-22  7:54 Sam James
2025-01-22  7:54 Sam James
2025-01-22  7:33 Sam James
2024-12-23 10:31 Sam James
2024-12-22 19:47 Sam James
2024-10-07  2:52 Sam James
2024-02-21 10:17 Sam James
2024-02-21 10:17 Sam James
2024-02-21 10:17 Sam James
2024-02-21 10:17 Sam James
2024-02-21 10:17 Sam James
2023-12-27 23:34 Petr Vaněk
2023-12-23 14:29 Arthur Zamarin
2023-12-15  7:42 Sam James
2023-12-15  7:34 Sam James
2023-11-17 10:44 Arthur Zamarin
2023-10-11  5:21 Sam James
2023-10-11  5:21 Sam James
2023-10-09 22:13 Sam James
2023-09-23  9:43 Sam James
2023-08-19 11:38 Sam James
2023-08-11 19:02 Arthur Zamarin
2023-07-14 11:57 Sam James
2023-07-14 11:57 Sam James
2023-07-12 23:08 Sam James
2023-07-12  9:07 Sam James
2023-07-12  6:49 Sam James
2023-07-12  6:49 Sam James
2023-07-12  4:31 Sam James
2023-05-27 10:48 Sam James
2023-05-27 10:30 Sam James
2023-05-21 13:49 Arthur Zamarin
2023-05-21  6:55 Sam James
2023-05-05  7:29 Sam James
2023-05-05  5:03 Sam James
2023-04-12  9:17 Sam James
2023-04-12  2:21 Sam James
2022-12-12 15:56 Sam James
2022-12-12 15:56 Sam James
2022-12-12  7:44 Jakov Smolić
2022-12-12  7:44 Jakov Smolić
2022-11-17  1:06 Sam James
2022-10-12 23:09 Sam James
2022-07-26  4:26 Sam James
2022-07-15  7:25 Agostino Sarubbo
2022-07-15  7:21 Agostino Sarubbo
2022-07-15  7:07 Arthur Zamarin
2022-07-15  7:07 Arthur Zamarin
2022-06-04  1:17 Sam James
2022-04-17 16:46 Sam James
2022-02-26 14:46 Arthur Zamarin
2022-02-26  9:17 Agostino Sarubbo
2022-02-26  9:15 Agostino Sarubbo
2022-02-26  9:15 Agostino Sarubbo
2022-01-26  4:33 Sam James
2022-01-20 12:08 Sam James
2022-01-01  9:38 Sam James
2021-12-16  0:09 Sam James
2021-12-03  4:50 Sam James
2021-11-20  7:26 Agostino Sarubbo
2021-11-19 18:10 Jakov Smolić
2021-11-19 15:05 Sam James
2021-11-19 15:05 Sam James
2021-10-27  5:34 Sam James
2021-08-25 20:07 Yixun Lan
2021-07-31 13:40 Michał Górny
2021-07-17  4:16 Sam James
2021-07-02  5:05 Sam James
2021-06-10  6:26 Agostino Sarubbo
2021-06-10  6:26 Agostino Sarubbo
2021-06-09 21:08 Sam James
2021-06-09 21:08 Sam James
2021-05-22  2:29 Sam James
2021-05-09 22:09 Sam James
2021-04-30 18:01 Mikle Kolyada
2021-04-16  2:30 Sam James
2021-04-16  2:30 Sam James
2021-03-23  4:53 Sam James
2021-02-25  0:23 Sam James
2021-01-24 13:47 Sam James
2021-01-24 13:45 Sam James
2021-01-24 13:45 Sam James
2021-01-23 22:55 Sam James
2021-01-22 16:53 Agostino Sarubbo
2020-12-29 23:53 Sam James
2020-12-21 23:47 Sam James
2020-12-20  6:29 Sam James
2020-12-02 23:17 Sam James
2020-11-13 23:52 Sam James
2020-11-13 16:32 Sam James
2020-11-07 20:53 Sam James
2020-11-07 20:34 Sergei Trofimovich
2020-11-07 20:10 Sergei Trofimovich
2020-11-05 14:41 Sam James
2020-10-08 23:11 Sam James
2020-09-18  7:54 Agostino Sarubbo
2020-09-06 20:25 Sam James
2020-08-19 14:33 Sam James
2020-08-19  8:31 Sergei Trofimovich
2020-08-16 14:50 Agostino Sarubbo
2020-08-15  4:37 Sam James
2020-07-15 17:42 Sam James
2020-07-09 12:37 Sam James
2020-06-17 15:25 Thomas Deutschmann
2020-05-30 19:20 Sergei Trofimovich
2020-05-28 15:45 Agostino Sarubbo
2020-05-28 15:40 Agostino Sarubbo
2020-05-28 15:37 Agostino Sarubbo
2020-05-26 20:18 Thomas Deutschmann
2020-05-17 10:06 Sergei Trofimovich
2020-05-14 23:20 Aaron Bauman
2020-04-26 22:23 Thomas Deutschmann
2020-04-26 22:23 Thomas Deutschmann
2020-04-21 21:06 Sergei Trofimovich
2020-04-20  9:50 Agostino Sarubbo
2020-04-20  9:48 Agostino Sarubbo
2020-04-19 18:23 Agostino Sarubbo
2020-04-19 17:08 Agostino Sarubbo
2020-04-19 14:31 Andreas Sturmlechner
2020-02-10 21:00 Michał Górny
2019-12-14  8:47 Michał Górny
2019-07-05 20:01 Alon Bar-Lev
2019-05-03  7:11 Sergei Trofimovich
2019-04-24 21:33 Thomas Deutschmann
2019-04-20 17:46 Mikle Kolyada
2019-03-18 18:42 Alon Bar-Lev
2018-10-19 22:31 Alon Bar-Lev
2018-09-30 18:50 Alon Bar-Lev
2018-09-30 18:01 Mike Gilbert
2018-09-30 17:56 Alon Bar-Lev
2018-09-30 17:55 Mike Gilbert
2018-09-30 13:34 Jeroen Roovers
2018-09-30 12:57 Jeroen Roovers
2018-09-27 23:55 Alon Bar-Lev
2018-09-01 19:01 Alon Bar-Lev
2018-08-21  0:13 Sergei Trofimovich
2018-08-18 22:31 Sergei Trofimovich
2018-08-17  0:13 Mikle Kolyada
2018-07-24 10:44 Alon Bar-Lev
2018-06-27 20:32 Pacho Ramos
2018-05-26  8:13 Alon Bar-Lev
2018-05-26  8:06 Mikle Kolyada
2018-05-20 14:47 Sergei Trofimovich
2018-04-18 23:31 Aaron Bauman
2018-04-18 20:14 Alon Bar-Lev
2018-04-10 19:24 Alon Bar-Lev
2018-04-10 18:55 Alon Bar-Lev
2018-04-05 13:43 Thomas Deutschmann
2018-04-04 16:13 Aaron Bauman
2018-04-03 15:21 Alon Bar-Lev
2018-04-03  6:37 Alon Bar-Lev
2018-02-10 12:56 Jeroen Roovers
2018-01-20 23:03 Andreas Sturmlechner
2017-12-03  2:06 Alon Bar-Lev
2017-12-02 19:17 Alon Bar-Lev
2017-12-01 11:20 Agostino Sarubbo
2017-11-29 18:52 Thomas Deutschmann
2017-10-12 16:38 Alon Bar-Lev
2017-10-12 16:38 Alon Bar-Lev
2017-10-11 18:28 Manuel Rüger
2017-10-10 11:39 Sergei Trofimovich
2017-10-05  8:37 Sergei Trofimovich
2017-10-04 22:52 Thomas Deutschmann
2017-10-04 19:29 Alon Bar-Lev
2017-10-04 19:29 Alon Bar-Lev
2017-10-04  8:52 Sergei Trofimovich
2017-10-04  7:33 Alon Bar-Lev
2017-09-30  6:31 Sergei Trofimovich
2017-08-18 17:34 Alon Bar-Lev
2017-06-08 10:16 Agostino Sarubbo
2017-06-07 13:20 Alon Bar-Lev
2017-06-07 13:20 Alon Bar-Lev
2017-05-19 19:17 Alon Bar-Lev
2017-05-19 19:08 Alon Bar-Lev
2017-03-25 21:46 Alon Bar-Lev
2017-03-15  6:00 Jeroen Roovers
2017-03-07 19:12 Michael Weber
2017-03-04 13:46 Agostino Sarubbo
2017-03-04 13:38 Agostino Sarubbo
2017-02-13 10:04 Alon Bar-Lev
2017-01-24 23:29 Anthony G. Basile
2017-01-24 23:22 Anthony G. Basile
2017-01-14 12:32 Jeroen Roovers
2017-01-11 10:35 Agostino Sarubbo
2017-01-10 15:22 Agostino Sarubbo
2017-01-10 14:56 Agostino Sarubbo
2017-01-09 18:10 Alon Bar-Lev
2017-01-09 14:11 Jeroen Roovers
2016-11-22 11:32 Agostino Sarubbo
2016-11-22 11:31 Agostino Sarubbo
2016-11-21 16:29 Alon Bar-Lev
2016-06-04 19:36 Alon Bar-Lev
2016-04-01  6:25 Ian Delaney
2016-03-19 18:41 Alon Bar-Lev
2016-03-19 18:41 Alon Bar-Lev
2016-03-19 12:28 Agostino Sarubbo
2016-03-16 14:09 Agostino Sarubbo
2016-03-15 16:39 Agostino Sarubbo
2016-02-12  7:23 Jeroen Roovers
2016-02-11 12:27 Agostino Sarubbo
2016-02-07 16:55 Alon Bar-Lev
2015-12-23 13:50 Alon Bar-Lev
2015-10-02 16:16 Julian Ospald

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1618540018.d8467da93d612f11b7daaa2644a0c52bf581c979.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox