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: Wed, 21 Feb 2024 10:17:42 +0000 (UTC)	[thread overview]
Message-ID: <1708509735.829ba39e7e73b6387749f076d2b3f55ac36c64d2.sam@gentoo> (raw)

commit:     829ba39e7e73b6387749f076d2b3f55ac36c64d2
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 21 08:12:09 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Feb 21 10:02:15 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=829ba39e

dev-libs/botan: add 3.3.0

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

 dev-libs/botan/Manifest           |   2 +
 dev-libs/botan/botan-3.3.0.ebuild | 223 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 225 insertions(+)

diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
index e4e733e8a5fa..bb8e67b48fc7 100644
--- a/dev-libs/botan/Manifest
+++ b/dev-libs/botan/Manifest
@@ -4,3 +4,5 @@ DIST Botan-3.1.1.tar.xz 8800368 BLAKE2B c31365e6bd4106f96a033e5f092c528c0185577f
 DIST Botan-3.1.1.tar.xz.asc 488 BLAKE2B 9ac94473d90a26932e507cdb3f46d8381565deecff38a5a2f7fe043b33405071adf0baee4235dd94bb6d35fa3ffedca6192fb5f5d76030874a90a399d88f9744 SHA512 f52e8602a57f590150f6f49829e788910006e5113ab6e85c6efe73009b8db752b5f28b869c6265ef6dd3c2727c64c0182d125f02f92485485768416c618acdb9
 DIST Botan-3.2.0.tar.xz 8998204 BLAKE2B f21e7574af93ab3331607f4a4ecf1b2cbbc0db4b510ea8ad19a5286d46d3a8e37e13746d2d4751eb16a70fdc8371b4435b030ef0a17f1ab6dcd76bd81bb3a4fa SHA512 526cf71144584fef6e73f14f6aa1e2a7b03a92a3e51436287764bb61e742a94e02926bcc2aab038f08ef2169cb511152c8ecd71d51e06deb4875dc676875c2d9
 DIST Botan-3.2.0.tar.xz.asc 488 BLAKE2B f7bc716dd18eedf35928933e22c75de3d2731330dfdaf8a5048e8ad86e1f3896ea55294a64b7f82593af16dd2e4097a9ba68f25baa024e175b7334478bcf84a6 SHA512 3ee42ac73e1bd6cea0a2e9f468b88d67c02a4a69786c41ddf9fc7f94b6847be00e0f3f0f38f934ab599b8d6dd29006414294df8b371f5cf2422292f3dd176756
+DIST Botan-3.3.0.tar.xz 7164024 BLAKE2B 051a24c28e6858fdff2af15d01a871ebe5bab11d773be821c0a56a55c725c91cf3119280195ac736f4df83305c1d4910430e6b26deded0d4c634e5c2fc23b389 SHA512 90930add225a2b4376046b3ed0177c71e7d19e983fb2b99c40751de5e6c3959b520eaa1e836782eb02ebc8aff8e9a4fd928f585de5e6b1798a8ad4aa0464f19b
+DIST Botan-3.3.0.tar.xz.asc 488 BLAKE2B 043538ff2572a449d4d9ad4bba6d7cab78865e924f712d1b4d4aad9f378cc417f07c19a25adefa22b6e1c06259a50880414c11ce8d3ad1e7f815cf458dbbe6b8 SHA512 c951079c22665966b96cf18c20df7b709353b42dab4aeb33d021b4a8abbc0f06d8fe909f1a5db3e736b4f93b17374d8f832f7aa9f25757a5d5ab1604320581b2

diff --git a/dev-libs/botan/botan-3.3.0.ebuild b/dev-libs/botan/botan-3.3.0.ebuild
new file mode 100644
index 000000000000..0e0e173ec872
--- /dev/null
+++ b/dev-libs/botan/botan-3.3.0.ebuild
@@ -0,0 +1,223 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
+inherit edo flag-o-matic multiprocessing ninja-utils 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"
+# New major versions are parallel-installable
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos"
+IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
+CPU_USE=(
+	cpu_flags_arm_{aes,neon,sha1,sha2}
+	cpu_flags_ppc_altivec
+	cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
+)
+IUSE+=" ${CPU_USE[@]}"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: Boost is needed at runtime too for the CLI tool.
+DEPEND="
+	boost? ( dev-libs/boost:= )
+	bzip2? ( >=app-arch/bzip2-1.0.5:= )
+	lzma? ( app-arch/xz-utils:= )
+	python? ( ${PYTHON_DEPS} )
+	sqlite? ( dev-db/sqlite:3= )
+	zlib? ( >=sys-libs/zlib-1.2.3:= )
+"
+RDEPEND="
+	${DEPEND}
+	!<dev-libs/botan-2.19.3-r1:2[tools]
+"
+BDEPEND="
+	${PYTHON_DEPS}
+	${NINJA_DEPEND}
+	$(python_gen_any_dep '
+		doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+	')
+	|| ( >=sys-devel/gcc-11:* >=sys-devel/clang-14:* )
+	verify-sig? ( sec-keys/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() {
+	use doc || return 0
+	python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+	[[ ${MERGE_TYPE} == binary ]] && return
+
+	# bug #908958
+	if tc-is-gcc && ver_test $(gcc-version) -lt 11 ; then
+		eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+		eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
+		die "GCC version is too old to compile Botan!"
+	elif tc-is-clang && ver_test $(clang-version) -lt 14 ; then
+		eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+		eerror "Please upgrade Clang: emerge -v1 sys-devel/clang"
+		die "Clang version is too old to compile Botan!"
+	fi
+}
+
+src_configure() {
+	tc-export AR CC CXX
+	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 [[ ${ABI} == sparc64 ]] ; then
+				chostarch="sparc64"
+			elif [[ ${ABI} == sparc32 ]] ; then
+				chostarch="sparc32"
+			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_arm_sha1 '--disable-armv8crypto')
+		$(usev !cpu_flags_arm_sha2 '--disable-armv8crypto')
+		$(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_sha '--disable-sha-ni')
+		$(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')
+
+		# HPPA's GCC doesn't support SSP
+		$(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 sqlite sqlite3)
+		$(use_with zlib)
+
+		--build-tool=ninja
+		--cpu=${chostarch}
+		--docdir=share/doc
+		--disable-modules=$(IFS=","; echo "${disable_modules[*]}")
+		--distribution-info="Gentoo ${PVR}"
+		--libdir="$(get_libdir)"
+		# Avoid collisions between slots for tools (bug #905700)
+		--program-suffix=$(ver_cut 1)
+
+		# Don't install Python bindings automatically
+		# (do it manually later in the right place)
+		# bug #723096
+		--no-install-python-module
+
+		--os=${myos}
+		--prefix="${EPREFIX}"/usr
+		--with-endian="$(tc-endian)"
+		--with-python-version=$(IFS=","; echo "${pythonvers[*]}")
+	)
+
+	local build_targets=(
+		shared
+		$(usev static-libs static)
+		$(usev tools cli)
+		$(usev test tests)
+	)
+
+	myargs+=(
+		--build-targets=$(IFS=","; echo "${build_targets[*]}")
+	)
+
+	if ( use elibc_glibc || use elibc_musl ) && use kernel_linux ; then
+		myargs+=(
+			--with-os-features=getrandom,getentropy
+		)
+	fi
+
+	local sanitizers=()
+	if is-flagq -fsanitize=address ; then
+		sanitizers+=( address )
+	fi
+	if is-flagq -fsanitize=undefined ; then
+		sanitizers+=( undefined )
+	fi
+	filter-flags '-fsanitize=*'
+	myargs+=(
+		--enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
+	)
+
+	edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
+}
+
+src_compile() {
+	eninja
+}
+
+src_test() {
+	LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
+}
+
+src_install() {
+	DESTDIR="${D}" eninja install
+
+	if [[ -d "${ED}"/usr/share/doc/${P} && ${P} != ${PF} ]] ; then
+		# --docdir in configure controls the parent directory unfortunately
+		mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
+	fi
+
+	# Manually install the Python bindings (bug #723096)
+	if use python ; then
+		python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
+	fi
+}


             reply	other threads:[~2024-02-21 10:17 UTC|newest]

Thread overview: 214+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-21 10:17 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-03-13  3:15 [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/ 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
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-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=1708509735.829ba39e7e73b6387749f076d2b3f55ac36c64d2.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