Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/xapian-bindings/
Date: Mon, 26 Sep 2022 01:17:06
Message-Id: 1664155019.bcf3c6db66547617042a7f5b4a2b94973098877a.blueness@gentoo
1 commit: bcf3c6db66547617042a7f5b4a2b94973098877a
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Mon Sep 26 01:16:39 2022 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Mon Sep 26 01:16:59 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bcf3c6db
7
8 dev-libs/xapian-bindings: version bump 1.4.21
9
10 Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>
11
12 dev-libs/xapian-bindings/Manifest | 1 +
13 .../xapian-bindings/xapian-bindings-1.4.21.ebuild | 346 +++++++++++++++++++++
14 2 files changed, 347 insertions(+)
15
16 diff --git a/dev-libs/xapian-bindings/Manifest b/dev-libs/xapian-bindings/Manifest
17 index 7698edab3086..d1e579516729 100644
18 --- a/dev-libs/xapian-bindings/Manifest
19 +++ b/dev-libs/xapian-bindings/Manifest
20 @@ -1,3 +1,4 @@
21 DIST xapian-bindings-1.4.18.tar.xz 1135644 BLAKE2B 7120c42d73794f8212bf15afb4566119e44cd39c711d50aab4fcc4320419babc440d4dd732af9e739c68397e740da192fa80cd08c5d2b59e1ae13af4444ff3d6 SHA512 e965384febaa83c28fd63b82192bfa4d5d34b4eb7cfacf1ddfc1201deada4f0498df8e50a191713dc95feb8edb0b1a4e9d6983a639c564f086ee305b8a05397e
22 DIST xapian-bindings-1.4.19.tar.xz 1137596 BLAKE2B 46004a3449a3137db42164a8b4c5b8684d2eaf0edfa60fe7ca41d5565d1cc16b110ca8204100c9e654baa323a4c73536f80550b17989ce3ee4a132315c31a50e SHA512 c3e353a192822be5d86d448b9d5e4c5eb15d5eb2d079560f7c457f8f7ca85d42e2b933891e784d384c188577f427ca1929c2b47732b9d637e36543e8b5b704d6
23 DIST xapian-bindings-1.4.20.tar.xz 1143304 BLAKE2B 3ab6a9be536d10b0dd369c1c638acbdd7fdf855f6dc8726db9c3791a8369cd83196214771b923aa538e5dda320d2b417f5f0944181b5691cfe5d8e7ddc97dd96 SHA512 bdc876b8e1b946d27673122de6d298112c82fa41e19090a2bcbe0954905ddf66171d36e6753a1e8d46578b128edd729e2fd252311d60ff40a2aec9a4d57796ed
24 +DIST xapian-bindings-1.4.21.tar.xz 1151620 BLAKE2B 5596d0784110b6b73efce4b330ad7c0750a7173c94c37d80b4c75865b949b16f32957ff7ca0d67c08592b85874a5b19e57a11d32ef26976fb3cae38f542f5ba0 SHA512 86cbdc8ba73be8aa947e209106dd49d111d264f0b00b5831356e19ba3299eb8f87f2c57ab051ea54c54fb5f1b8cc6a1175ee18f89094f5c7345b820ea805ad33
25
26 diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.21.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.21.ebuild
27 new file mode 100644
28 index 000000000000..cd70cb26aeb5
29 --- /dev/null
30 +++ b/dev-libs/xapian-bindings/xapian-bindings-1.4.21.ebuild
31 @@ -0,0 +1,346 @@
32 +# Copyright 1999-2022 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=7
36 +
37 +LUA_COMPAT=( lua5-{1,3,4} luajit )
38 +
39 +PYTHON_COMPAT=( python3_{7,8,9,10} )
40 +PYTHON_REQ_USE="threads(+)"
41 +
42 +USE_PHP="php7-4 php8-0"
43 +
44 +PHP_EXT_NAME="xapian"
45 +PHP_EXT_INI="yes"
46 +PHP_EXT_OPTIONAL_USE="php"
47 +
48 +USE_RUBY="ruby26 ruby27 ruby30"
49 +RUBY_OPTIONAL="yes"
50 +
51 +inherit java-pkg-opt-2 lua mono-env multibuild php-ext-source-r3 python-r1 ruby-ng
52 +
53 +DESCRIPTION="SWIG and JNI bindings for Xapian"
54 +HOMEPAGE="https://www.xapian.org/"
55 +SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
56 +
57 +LICENSE="GPL-2"
58 +SLOT="0"
59 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
60 +IUSE="java lua mono perl php python ruby tcl"
61 +REQUIRED_USE="|| ( java lua mono perl php python ruby tcl )
62 + lua? ( ${LUA_REQUIRED_USE} )
63 + python? ( ${PYTHON_REQUIRED_USE} )
64 + ruby? ( || ( $(ruby_get_use_targets) ) )"
65 +
66 +COMMONDEPEND=">=dev-libs/xapian-1.4.21
67 + lua? ( ${LUA_DEPS} )
68 + perl? ( dev-lang/perl:= )
69 + php? ( dev-lang/php:=[-threads] )
70 + python? (
71 + dev-python/sphinx[${PYTHON_USEDEP}]
72 + ${PYTHON_DEPS}
73 + )
74 + ruby? ( $(ruby_implementations_depend) )
75 + tcl? ( dev-lang/tcl:= )
76 + mono? ( dev-lang/mono )"
77 +DEPEND="${COMMONDEPEND}
78 + virtual/pkgconfig
79 + java? ( >=virtual/jdk-1.8:* )"
80 +RDEPEND="${COMMONDEPEND}
81 + java? ( >=virtual/jre-1.8:* )"
82 +
83 +S="${WORKDIR}/${P}"
84 +
85 +has_basic_bindings() {
86 + # Update this list if new bindings are added that are not built
87 + # multiple times for multiple versions like lua, php, python and ruby are
88 + return $(use mono || use java || use perl || use tcl)
89 +}
90 +
91 +php_copy_sources() {
92 + local MULTIBUILD_VARIANTS=($(php_get_slots))
93 + multibuild_copy_sources
94 +}
95 +
96 +php_foreach_impl() {
97 + local MULTIBUILD_VARIANTS=($(php_get_slots))
98 + multibuild_foreach_variant "$@"
99 +}
100 +
101 +ruby_copy_sources() {
102 + local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
103 + multibuild_copy_sources
104 +}
105 +
106 +ruby_foreach_impl() {
107 + local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
108 + multibuild_foreach_variant "$@"
109 +}
110 +
111 +pkg_setup() {
112 + use mono && mono-env_pkg_setup
113 + use java && java-pkg-opt-2_pkg_setup
114 +}
115 +
116 +src_unpack() {
117 + default
118 +
119 + if use php; then
120 + local php_slot
121 + for php_slot in $(php_get_slots); do
122 + # Unfortunately required for php-ext-source-r3_createinifiles().
123 + mkdir "${WORKDIR}/${php_slot}"
124 + done
125 + fi
126 +}
127 +
128 +src_prepare() {
129 + use java && java-pkg-opt-2_src_prepare
130 +
131 + # https://trac.xapian.org/ticket/702
132 + export XAPIAN_CONFIG="/usr/bin/xapian-config"
133 +
134 + if use lua; then
135 + lua_copy_sources
136 + fi
137 +
138 + if use php; then
139 + php_copy_sources
140 + fi
141 +
142 + if use python; then
143 + python_copy_sources
144 + fi
145 +
146 + if use ruby; then
147 + ruby_copy_sources
148 + fi
149 +
150 + eapply_user
151 +}
152 +
153 +src_configure() {
154 + # Needed to get e.g. test failure details
155 + MAKEOPTS+=" VERBOSE=1"
156 +
157 + if has_basic_bindings ; then
158 + local conf=(
159 + --disable-documentation
160 + $(use_with mono csharp)
161 + $(use_with java)
162 + $(use_with perl)
163 + $(use_with tcl)
164 + --without-lua
165 + --without-php
166 + --without-php7
167 + --without-python
168 + --without-python3
169 + --without-ruby
170 + )
171 +
172 + if use java; then
173 + local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
174 + fi
175 +
176 + if use perl; then
177 + local -x PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
178 + local -x PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
179 + fi
180 +
181 + econf "${conf[@]}"
182 + fi
183 +
184 + lua_configure() {
185 + local myconf=(
186 + --disable-documentation
187 + --without-csharp
188 + --without-java
189 + --without-perl
190 + --without-tcl
191 + --without-php
192 + --without-php7
193 + --without-python
194 + --without-python3
195 + --without-ruby
196 + --with-lua
197 + )
198 +
199 + local -x LUA_INC="$(lua_get_include_dir)"
200 + local -x LUA_LIB="$(lua_get_cmod_dir)"
201 +
202 + econf "${myconf[@]}"
203 +
204 + }
205 +
206 + if use lua; then
207 + lua_foreach_impl run_in_build_dir lua_configure
208 + fi
209 +
210 + php_configure() {
211 + local myconf=(
212 + --disable-documentation
213 + --without-java
214 + --without-lua
215 + --without-csharp
216 + --without-perl
217 + --without-python
218 + --without-python3
219 + --without-ruby
220 + --without-tcl
221 + )
222 + if [[ ${MULTIBUILD_VARIANT} == php5.* ]]; then
223 + myconf+=(
224 + --with-php
225 + --without-php7
226 + )
227 + local -x PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
228 + elif [[ ${MULTIBUILD_VARIANT} == php7.* ]]; then
229 + myconf+=(
230 + --without-php
231 + --with-php7
232 + )
233 + local -x PHP_CONFIG7="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
234 + fi
235 +
236 + econf "${myconf[@]}"
237 + }
238 +
239 + if use php; then
240 + addpredict /usr/share/snmp/mibs/.index
241 + addpredict /var/lib/net-snmp/mib_indexes
242 +
243 + php_foreach_impl run_in_build_dir php_configure
244 + fi
245 +
246 + python_configure() {
247 + local myconf=(
248 + --disable-documentation
249 + --without-java
250 + --without-lua
251 + --without-csharp
252 + --without-perl
253 + --without-php
254 + --without-php7
255 + --without-ruby
256 + --without-tcl
257 + --with-python3
258 + )
259 +
260 + # Avoid sandbox failures when compiling modules
261 + addpredict "$(python_get_sitedir)"
262 +
263 + econf "${myconf[@]}"
264 + }
265 +
266 + if use python; then
267 + python_foreach_impl run_in_build_dir python_configure
268 + fi
269 +
270 + ruby_configure() {
271 + local myconf=(
272 + --disable-documentation
273 + --without-java
274 + --without-lua
275 + --without-csharp
276 + --without-perl
277 + --without-php
278 + --without-php7
279 + --without-python
280 + --without-python3
281 + --with-ruby
282 + --without-tcl
283 + )
284 + local -x RUBY="${EPREFIX}/usr/bin/${MULTIBUILD_VARIANT}"
285 +
286 + econf "${myconf[@]}"
287 + }
288 +
289 + if use ruby; then
290 + ruby_foreach_impl run_in_build_dir ruby_configure
291 + fi
292 +}
293 +
294 +src_compile() {
295 + if has_basic_bindings ; then
296 + default
297 + fi
298 +
299 + if use lua; then
300 + lua_foreach_impl run_in_build_dir emake
301 + fi
302 +
303 + if use php; then
304 + php_foreach_impl run_in_build_dir emake
305 + fi
306 +
307 + if use python; then
308 + unset PYTHONDONTWRITEBYTECODE
309 + python_foreach_impl run_in_build_dir emake
310 + fi
311 +
312 + if use ruby; then
313 + ruby_foreach_impl run_in_build_dir emake
314 + fi
315 +}
316 +
317 +src_test() {
318 + if has_basic_bindings ; then
319 + default
320 + fi
321 +
322 + if use lua; then
323 + lua_foreach_impl run_in_build_dir emake check
324 + fi
325 +
326 + if use php; then
327 + php_foreach_impl run_in_build_dir emake check
328 + fi
329 +
330 + if use python; then
331 + python_foreach_impl run_in_build_dir emake check
332 + fi
333 +
334 + if use ruby; then
335 + ruby_foreach_impl run_in_build_dir emake check
336 + fi
337 +}
338 +
339 +src_install() {
340 + if has_basic_bindings ; then
341 + emake DESTDIR="${D}" install
342 + fi
343 +
344 + if use java; then
345 + java-pkg_dojar java/built/xapian.jar
346 + # TODO: make the build system not install this...
347 + java-pkg_doso java/.libs/libxapian_jni.so
348 + rm -rf "${ED}/var" || die "could not remove java cruft!"
349 + fi
350 +
351 + if use lua; then
352 + lua_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
353 + fi
354 +
355 + if use php; then
356 + php_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
357 + php-ext-source-r3_createinifiles
358 + # php-ext-source-r3_createinifiles() changes current directory.
359 + cd "${S}"
360 + fi
361 +
362 + if use python; then
363 + python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
364 + python_foreach_impl python_optimize
365 + fi
366 +
367 + if use ruby; then
368 + ruby_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
369 + fi
370 +
371 + # For some USE combinations this directory is not created
372 + if [[ -d "${ED}/usr/share/doc/xapian-bindings" ]]; then
373 + mv "${ED}/usr/share/doc/xapian-bindings" "${ED}/usr/share/doc/${PF}" || die
374 + fi
375 +
376 + dodoc AUTHORS HACKING NEWS TODO README
377 +}