Diff botan-2.19.3-r2 with a botan-3.1.1

/usr/portage/dev-libs/botan/botan-3.1.1.ebuild 2023-10-09 14:52:29.488368350 +0300
3 3

  
4 4
EAPI=8
5 5

  
6
PYTHON_COMPAT=( python3_{10..11} )
6
PYTHON_COMPAT=( python3_{10..12} )
7 7
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/botan.asc
8
inherit edo multiprocessing python-r1 toolchain-funcs verify-sig
8
inherit edo flag-o-matic multiprocessing python-r1 toolchain-funcs verify-sig
9 9

  
10 10
MY_P="Botan-${PV}"
11 11
DESCRIPTION="C++ crypto library"
......
17 17
LICENSE="BSD-2"
18 18
# New major versions are parallel-installable
19 19
SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
20
KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86 ~ppc-macos"
20
KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~ppc-macos"
21 21
IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
22 22
RESTRICT="!test? ( test )"
23 23

  
......
42 42
"
43 43
RDEPEND="
44 44
	${DEPEND}
45
	!<dev-libs/botan-3.0.0-r1:3[tools]
45
	!<dev-libs/botan-2.19.3-r1:2[tools]
46 46
"
47 47
BDEPEND="
48 48
	${PYTHON_DEPS}
49 49
	$(python_gen_any_dep '
50 50
		doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
51 51
	')
52
	|| ( >=sys-devel/gcc-11:* >=sys-devel/clang-14:* )
52 53
	verify-sig? ( sec-keys/openpgp-keys-botan )
53 54
"
54 55

  
......
61 62
	python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
62 63
}
63 64

  
65
pkg_pretend() {
66
	[[ ${MERGE_TYPE} == binary ]] && return
67

  
68
	# bug #908958
69
	if tc-is-gcc && ver_test $(gcc-version) -lt 11 ; then
70
		eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
71
		eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
72
		die "GCC version is too old to compile Botan!"
73
	elif tc-is-clang && ver_test $(clang-version) -lt 14 ; then
74
		eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
75
		eerror "Please upgrade Clang: emerge -v1 sys-devel/clang"
76
		die "Clang version is too old to compile Botan!"
77
	fi
78
}
79

  
64 80
src_configure() {
81
	tc-export AR CC CXX
65 82
	python_setup
66 83

  
67 84
	local disable_modules=(
......
167 184
		)
168 185
	fi
169 186

  
170
	tc-export AR CC CXX
187
	local sanitizers=()
188
	if is-flagq -fsanitize=address ; then
189
		sanitizers+=( address )
190
	fi
191
	if is-flagq -fsanitize=undefined ; then
192
		sanitizers+=( undefined )
193
	fi
194
	filter-flags '-fsanitize=*'
195
	myargs+=(
196
		--enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
197
	)
171 198

  
172 199
	edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
173 200
}
......
179 206
src_install() {
180 207
	default
181 208

  
182
	if [[ -d "${ED}"/usr/share/doc/${P} ]] ; then
209
	if [[ -d "${ED}"/usr/share/doc/${P} && ${P} != ${PF} ]] ; then
183 210
		# --docdir in configure controls the parent directory unfortunately
184 211
		mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
185 212
	fi
Thank you!