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