Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/
Date: Fri, 16 Apr 2021 02:30:07
Message-Id: 1618540014.33099cea95157707f2bb6009dbca0bed0eaa5599.sam@gentoo
1 commit: 33099cea95157707f2bb6009dbca0bed0eaa5599
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Fri Apr 16 01:55:20 2021 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Fri Apr 16 02:26:54 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=33099cea
7
8 dev-libs/botan: add 2.18.0
9
10 Signed-off-by: Sam James <sam <AT> gentoo.org>
11
12 dev-libs/botan/Manifest | 1 +
13 dev-libs/botan/botan-2.18.0.ebuild | 130 +++++++++++++++++++++++++++++++++++++
14 2 files changed, 131 insertions(+)
15
16 diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
17 index f749e3fb806..8f6761a393d 100644
18 --- a/dev-libs/botan/Manifest
19 +++ b/dev-libs/botan/Manifest
20 @@ -1 +1,2 @@
21 DIST Botan-2.17.3.tar.xz 5937596 BLAKE2B 605e71c959889b459bc26f17d310a33f26c9a51fe00db91db407ac5b96c9ff57bef67a401f71826e83e0d4eda2289c22685957289e6bb357f3693a1bce60f44d SHA512 ead0f144dfb9eca66d0e81e376d0d49f4b0b6bc1599f8cf52299e1753645b5b20100efa004ef5f9571f7bea88958f35db38367fc26f2603890f8f199cc890dbc
22 +DIST Botan-2.18.0.tar.xz 5941536 BLAKE2B 2a4182bab5e681fdfeafa113462bf5a31057d7be97d71d0a6e60975b84432dd3932498f42f0b879e216727df4bbfcbf0d844e971df95eaf9cf922280f32858b4 SHA512 8613412e3e2fe8b787db7a4d4dbadf60b8fe6b68a84408c600c37cd0b5dbdf3f347a49f5bd88eb8d4f658e927a8b976884146551bf7d256fa80e9675297c0f09
23
24 diff --git a/dev-libs/botan/botan-2.18.0.ebuild b/dev-libs/botan/botan-2.18.0.ebuild
25 new file mode 100644
26 index 00000000000..0fd5992235c
27 --- /dev/null
28 +++ b/dev-libs/botan/botan-2.18.0.ebuild
29 @@ -0,0 +1,130 @@
30 +# Copyright 1999-2021 Gentoo Authors
31 +# Distributed under the terms of the GNU General Public License v2
32 +
33 +EAPI=7
34 +
35 +PYTHON_COMPAT=( python3_{7,8,9} )
36 +
37 +inherit python-r1 toolchain-funcs
38 +
39 +MY_P="Botan-${PV}"
40 +
41 +DESCRIPTION="C++ crypto library"
42 +HOMEPAGE="https://botan.randombit.net/"
43 +SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
44 +S="${WORKDIR}/${MY_P}"
45 +
46 +LICENSE="BSD-2"
47 +SLOT="2/$(ver_cut 1-2)" # soname version
48 +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos"
49 +IUSE="bindist doc boost bzip2 libressl lzma python ssl static-libs sqlite zlib"
50 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
51 +
52 +BDEPEND="
53 + ${PYTHON_DEPS}
54 + $(python_gen_any_dep '
55 + doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
56 + ')
57 +"
58 +
59 +# NOTE: Boost is needed at runtime too for the CLI tool.
60 +DEPEND="
61 + boost? ( >=dev-libs/boost-1.48:= )
62 + bzip2? ( >=app-arch/bzip2-1.0.5:= )
63 + lzma? ( app-arch/xz-utils:= )
64 + python? ( ${PYTHON_DEPS} )
65 + ssl? (
66 + !libressl? ( dev-libs/openssl:0=[bindist=] )
67 + libressl? ( dev-libs/libressl:0= )
68 + )
69 + sqlite? ( dev-db/sqlite:3= )
70 + zlib? ( >=sys-libs/zlib-1.2.3:= )
71 +"
72 +
73 +RDEPEND="${DEPEND}"
74 +
75 +# NOTE: Considering patching Botan?
76 +# Please see upstream's guidance:
77 +# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
78 +
79 +python_check_deps() {
80 + if use doc ; then
81 + has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" || return 1
82 + fi
83 +}
84 +
85 +src_configure() {
86 + local disable_modules=()
87 + use boost || disable_modules+=( "boost" )
88 + use bindist && disable_modules+=( "ecdsa" )
89 + elog "Disabling module(s): ${disable_modules[@]}"
90 +
91 + # Enable v9 instructions for sparc64
92 + local chostarch="${CHOST%%-*}"
93 + if [[ "${PROFILE_ARCH}" = "sparc64" ]] ; then
94 + chostarch="sparc32-v9"
95 + fi
96 +
97 + local myos=
98 + case ${CHOST} in
99 + *-darwin*) myos=darwin ;;
100 + *) myos=linux ;;
101 + esac
102 +
103 + case ${CHOST} in
104 + hppa*) chostarch=parisc ;;
105 + esac
106 +
107 + local pythonvers=()
108 + if use python ; then
109 + _append() {
110 + pythonvers+=( ${EPYTHON/python/} )
111 + }
112 +
113 + python_foreach_impl _append
114 + fi
115 +
116 + # Don't install Python bindings automatically
117 + # (do it manually later in the right place)
118 + # https://bugs.gentoo.org/723096
119 + local myargs=(
120 + $(use_enable static-libs static-library)
121 + $(use_with boost)
122 + $(use_with bzip2)
123 + $(use_with doc documentation)
124 + $(use_with doc sphinx)
125 + $(use_with lzma)
126 + $(use_with sqlite sqlite3)
127 + $(use_with ssl openssl)
128 + $(use_with zlib)
129 + $(usex hppa --without-stack-protector '')
130 + --cpu=${chostarch}
131 + --disable-modules=$( IFS=","; echo "${disable_modules[*]}" )
132 + --docdir=share/doc
133 + --libdir=$(get_libdir)
134 + --os=${myos}
135 + --distribution-info="Gentoo ${PVR}"
136 + --prefix="${EPREFIX}/usr"
137 + --with-endian="$(tc-endian)"
138 + --with-python-version=$( IFS=","; echo "${pythonvers[*]}" )
139 + --without-doxygen
140 + --no-install-python-module
141 + )
142 +
143 + tc-export CC CXX AR
144 +
145 + ./configure.py "${myargs[@]}" || die "configure.py failed"
146 +}
147 +
148 +src_test() {
149 + LD_LIBRARY_PATH="${S}" ./botan-test || die "Validation tests failed"
150 +}
151 +
152 +src_install() {
153 + default
154 +
155 + # Manually install the Python bindings (bug #723096)
156 + if use python ; then
157 + python_foreach_impl python_domodule src/python/botan2.py
158 + fi
159 +}