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
|