]> git.pld-linux.org Git - packages/xapian-bindings.git/blob - xapian-bindings.spec
perl 5.38.0 rebuild
[packages/xapian-bindings.git] / xapian-bindings.spec
1 #
2 # Conditional build:
3 %bcond_without  dotnet          # C# bindings
4 %bcond_without  java            # Java bindings
5 %bcond_without  lua             # Lua bindings
6 %bcond_without  perl            # Perl bindings
7 %bcond_with     php             # PHP bindings
8 %bcond_without  python2         # Python 2 bindings
9 %bcond_without  python3         # Python 3 bindings
10 %bcond_without  ruby            # Ruby bindings
11 %bcond_without  tcl             # Tcl bindings
12
13 %ifarch x32
14 %undefine       with_dotnet
15 %endif
16
17 %{?with_java:%{?use_default_jdk}}
18
19 Summary:        Bindings for Xapian
20 Summary(pl.UTF-8):      Wiązania do Xapiana
21 Name:           xapian-bindings
22 Version:        1.4.18
23 Release:        8
24 License:        GPL v2+
25 Group:          Development/Languages
26 Source0:        https://oligarchy.co.uk/xapian/%{version}/%{name}-%{version}.tar.xz
27 # Source0-md5:  b9e5abec087824ede77a885d0bafd6af
28 Patch0:         python-install.patch
29 URL:            https://xapian.org/
30 BuildRequires:  autoconf >= 2.63
31 BuildRequires:  automake >= 1:1.12.2
32 %{?with_java:%buildrequires_jdk}
33 %{?with_java:BuildRequires:     jpackage-utils}
34 BuildRequires:  libstdc++-devel >= 6:4.7
35 BuildRequires:  libtool >= 2:2.2.6
36 %{?with_lua:BuildRequires:      lua51-devel >= 5.1.5-7}
37 # 2.6.x should be sufficient, but 2.11.1 complaints about write permissions to /usr/share/.mono/keypairs
38 %{?with_dotnet:BuildRequires:   mono-devel >= 2.11.4}
39 %{?with_perl:BuildRequires:     perl-devel >= 1:5.8.0}
40 %{?with_php:BuildRequires:      %{php_name}-devel >= 4:5.0.4}
41 BuildRequires:  pkgconfig
42 %{?with_python2:BuildRequires:  python-Sphinx}
43 %{?with_python2:BuildRequires:  python-devel >= 1:2.6}
44 %{?with_python3:BuildRequires:  python3-Sphinx}
45 %{?with_python3:BuildRequires:  python3-devel >= 1:3.2}
46 BuildRequires:  python-modules >= 1:2.3
47 BuildRequires:  rpm-pythonprov
48 BuildRequires:  rpmbuild(macros) >= 2.021
49 %{?with_ruby:BuildRequires:     rpm-rubyprov}
50 %{?with_ruby:BuildRequires:     ruby-devel >= 1.8}
51 %{?with_ruby:BuildRequires:     ruby-modules >= 1.8}
52 BuildRequires:  tar >= 1:1.22
53 %{?with_tcl:BuildRequires:      tcl-devel >= 8.1}
54 BuildRequires:  xapian-core-devel >= %{version}
55 BuildRequires:  xz
56 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57
58 %if %{with php}
59 %if "%{php_major_version}" >= "7"
60 %define         phpbindname     php7
61 %else
62 %define         phpbindname     php
63 %endif
64 %endif
65
66 %description
67 Xapian is an Open Source Probabilistic Information Retrieval Library.
68 It offers a highly adaptable toolkit that allows developers to easily
69 add advanced indexing and search facilities to applications. This
70 package is a collection of bindings for different programming
71 languages.
72
73 %description -l pl.UTF-8
74 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
75 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
76 programistom łatwo dodawać do aplikacji zaawansowane możliwości
77 indeksowania i wyszukiwania. Ten pakiet zawiera zestaw wiązań dla
78 różnych języków programowania.
79
80 %package -n dotnet-xapian
81 Summary:        Files needed for developing C# applications which use Xapian
82 Summary(pl.UTF-8):      Pliki do tworzenia aplikacji C# wykorzystujących Xapiana
83 Group:          Development/Languages
84 Requires:       mono >= 2.6.7
85 Requires:       xapian-core-libs >= %{version}
86 Obsoletes:      csharp-xapian
87
88 %description -n dotnet-xapian
89 Xapian is an Open Source Probabilistic Information Retrieval
90 framework. It offers a highly adaptable toolkit that allows developers
91 to easily add advanced indexing and search facilities to applications.
92 This package provides the files needed for developing C# applications
93 which use Xapian.
94
95 %description -n dotnet-xapian -l pl.UTF-8
96 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
97 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
98 programistom łatwo dodawać do aplikacji zaawansowane możliwości
99 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
100 tworzeniu aplikacji C# wykorzystujących Xapiana.
101
102 %package -n java-xapian
103 Summary:        Files needed for developing Java applications which use Xapian
104 Summary(pl.UTF-8):      Pliki do tworzenia aplikacji Javy wykorzystujących Xapiana
105 Group:          Libraries/Java
106 Requires:       jpackage-utils
107 Requires:       jre
108 Requires:       xapian-core-libs >= %{version}
109
110 %description -n java-xapian
111 Xapian is an Open Source Probabilistic Information Retrieval
112 framework. It offers a highly adaptable toolkit that allows developers
113 to easily add advanced indexing and search facilities to applications.
114 This package provides the files needed for developing Java
115 applications which use Xapian.
116
117 %description -n java-xapian -l pl.UTF-8
118 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
119 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
120 programistom łatwo dodawać do aplikacji zaawansowane możliwości
121 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
122 tworzeniu aplikacji Javy wykorzystujących Xapiana.
123
124 %package -n lua-xapian
125 Summary:        Files needed for developing Lua scripts which use Xapian
126 Summary(pl.UTF-8):      Pliki do tworzenia skryptów w języku Lua wykorzystujących Xapiana
127 Group:          Development/Languages
128 Requires:       lua51-libs
129 Requires:       xapian-core-libs >= %{version}
130
131 %description -n lua-xapian
132 Xapian is an Open Source Probabilistic Information Retrieval
133 framework. It offers a highly adaptable toolkit that allows developers
134 to easily add advanced indexing and search facilities to applications.
135 This package provides the files needed for developing Lua scripts
136 which use Xapian.
137
138 %description -n lua-xapian -l pl.UTF-8
139 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
140 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
141 programistom łatwo dodawać do aplikacji zaawansowane możliwości
142 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
143 tworzeniu skryptów w języku Lua wykorzystujących Xapiana.
144
145 %package -n perl-Xapian
146 Summary:        Xapian - Perl XS frontend to the Xapian C++ search library
147 Summary(pl.UTF-8):      Xapian - interfejs Perlowy XS do biblioteki wyszukiwania Xapian
148 Group:          Development/Languages/Perl
149 Requires:       xapian-core-libs >= %{version}
150
151 %description -n perl-Xapian
152 This module wraps most methods of most Xapian classes. The missing
153 classes and methods should be added in the future. It also provides a
154 simplified, more 'perlish' interface to some common operations.
155
156 %description -n perl-Xapian -l pl.UTF-8
157 Ten moduł obudowuje większość metod z większości klas Xapiana.
158 Brakujące klasy i metody powinny być dodane w przyszłości. Moduł
159 udostępnia także uproszczony, bardziej perlowy interfejs do niektórych
160 popularnych operacji.
161
162 %package -n %{php_name}-xapian
163 Summary:        Files needed for developing PHP scripts which use Xapian
164 Summary(pl.UTF-8):      Pliki do tworzenia skryptów w PHP wykorzystujących Xapiana
165 Group:          Development/Languages/PHP
166 Requires:       xapian-core-libs >= %{version}
167 %{?requires_php_extension}
168
169 %description -n %{php_name}-xapian
170 Xapian is an Open Source Probabilistic Information Retrieval
171 framework. It offers a highly adaptable toolkit that allows developers
172 to easily add advanced indexing and search facilities to applications.
173 This package provides the files needed for developing PHP scripts
174 which use Xapian.
175
176 %description -n %{php_name}-xapian -l pl.UTF-8
177 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
178 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
179 programistom łatwo dodawać do aplikacji zaawansowane możliwości
180 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
181 tworzeniu skryptów w PHP wykorzystujących Xapiana.
182
183 %package -n python-xapian
184 Summary:        Files needed for developing Python 2 scripts which use Xapian
185 Summary(pl.UTF-8):      Pliki do tworzenia skryptów w Pythonie 2 wykorzystujących Xapiana
186 Group:          Development/Languages/Python
187 Requires:       python-modules >= 1:2.6
188 Requires:       xapian-core-libs >= %{version}
189
190 %description -n python-xapian
191 Xapian is an Open Source Probabilistic Information Retrieval
192 framework. It offers a highly adaptable toolkit that allows developers
193 to easily add advanced indexing and search facilities to applications.
194 This package provides the files needed for developing Python scripts
195 which use Xapian.
196
197 %description -n python-xapian -l pl.UTF-8
198 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
199 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
200 programistom łatwo dodawać do aplikacji zaawansowane możliwości
201 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
202 tworzeniu skryptów w Pythonie wykorzystujących Xapiana.
203
204 %package -n python3-xapian
205 Summary:        Files needed for developing Python 3 scripts which use Xapian
206 Summary(pl.UTF-8):      Pliki do tworzenia skryptów w Pythonie 3 wykorzystujących Xapiana
207 Group:          Development/Languages/Python
208 Requires:       python3-modules >= 1:3.2
209 Requires:       xapian-core-libs >= %{version}
210
211 %description -n python3-xapian
212 Xapian is an Open Source Probabilistic Information Retrieval
213 framework. It offers a highly adaptable toolkit that allows developers
214 to easily add advanced indexing and search facilities to applications.
215 This package provides the files needed for developing Python scripts
216 which use Xapian.
217
218 %description -n python3-xapian -l pl.UTF-8
219 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
220 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
221 programistom łatwo dodawać do aplikacji zaawansowane możliwości
222 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
223 tworzeniu skryptów w Pythonie wykorzystujących Xapiana.
224
225 %package -n ruby-xapian
226 Summary:        Files needed for developing Ruby scripts which use Xapian
227 Summary(pl.UTF-8):      Pliki do tworzenia skryptów w języku Ruby wykorzystujących Xapiana
228 Group:          Development/Languages
229 Requires:       xapian-core-libs >= %{version}
230
231 %description -n ruby-xapian
232 Xapian is an Open Source Probabilistic Information Retrieval
233 framework. It offers a highly adaptable toolkit that allows developers
234 to easily add advanced indexing and search facilities to applications.
235 This package provides the files needed for developing Ruby scripts
236 which use Xapian.
237
238 %description -n ruby-xapian -l pl.UTF-8
239 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
240 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
241 programistom łatwo dodawać do aplikacji zaawansowane możliwości
242 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
243 tworzeniu skryptów w języku Ruby wykorzystujących Xapiana.
244
245 %package -n tcl-xapian
246 Summary:        Files needed for developing Tcl scripts which use Xapian
247 Summary(pl.UTF-8):      Pliki do tworzenia skryptów w Tcl-u wykorzystujących Xapiana
248 Group:          Development/Languages/Tcl
249 Requires:       tcl >= 8.1
250 Requires:       xapian-core-libs >= %{version}
251
252 %description -n tcl-xapian
253 Xapian is an Open Source Probabilistic Information Retrieval
254 framework. It offers a highly adaptable toolkit that allows developers
255 to easily add advanced indexing and search facilities to applications.
256 This package provides the files needed for developing TCL scripts
257 which use Xapian.
258
259 %description -n tcl-xapian -l pl.UTF-8
260 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
261 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
262 programistom łatwo dodawać do aplikacji zaawansowane możliwości
263 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
264 tworzeniu skryptów w Tcl-u wykorzystujących Xapiana.
265
266 %prep
267 %setup -q
268 %patch0 -p1
269
270 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+python(\s|$),#!%{__python}\1,' -e '1s,#!\s*/usr/bin/python(\s|$),#!%{__python}\1,' \
271       python/docs/examples/*.py
272
273 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+python(\s|$),#!%{__python3}\1,' -e '1s,#!\s*/usr/bin/python(\s|$),#!%{__python3}\1,' \
274       python3/docs/examples/*.py
275
276 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+ruby(\s|$),#!%{__ruby}\1,' \
277       ruby/docs/examples/*.rb
278
279 %build
280 %{__libtoolize}
281 %{__aclocal}
282 %{__autoconf}
283 %{__autoheader}
284 %{__automake}
285 CLASSPATH="." \
286 %{?with_java:export JAVA_HOME="%{java_home}"}
287 %configure \
288         PERL_ARCH=%{perl_vendorarch} \
289         PERL_LIB=%{perl_vendorlib} \
290         RUBY_LIB=%{ruby_vendorlibdir} \
291         RUBY_LIB_ARCH=%{ruby_vendorarchdir} \
292         %{?with_lua:LUA=/usr/bin/lua5.1 LUA_INC=/usr/include/lua5.1} \
293         %{?with_dotnet:--with-csharp} \
294         %{?with_java:--with-java} \
295         %{?with_lua:--with-lua} \
296         %{?with_perl:--with-perl} \
297         %{?with_python2:--with-python} \
298         %{?with_python3:--with-python3} \
299         %{?with_php:--with-%{phpbindname}} \
300         %{?with_ruby:--with-ruby} \
301         %{?with_tcl:--with-tcl}
302
303 %{__make} \
304         %{?with_java:JAVA_CPPFLAGS="-I%{java_home}/include -I%{java_home}/include/linux"}
305
306 %install
307 rm -rf $RPM_BUILD_ROOT
308 %{__make} install \
309         DESTDIR=$RPM_BUILD_ROOT \
310         jnidir=%{_jnidir} \
311         phpincdir=%{php_data_dir}
312
313 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
314
315 %if %{with java}
316 install -D java/built/xapian.jar $RPM_BUILD_ROOT%{_javadir}/xapian-%{version}.jar
317 ln -sf xapian-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/xapian.jar
318 %endif
319
320 for binding in %{?with_dotnet:csharp} %{?with_perl:perl} %{?with_php:%{phpbindname}} %{?with_python2:python} %{?with_python3:python3} %{?with_ruby:ruby} %{?with_tcl:tcl8}; do
321         install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/$binding
322         [ ! -f $binding/docs/index.html ] || cp -p $binding/docs/index.html $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/$binding
323         cp -pr $binding/docs/examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/$binding
324 done
325
326 %if %{with python2}
327 %py_postclean
328 %endif
329 %if %{with python3}
330 install -d $RPM_BUILD_ROOT%{py3_sitedir}/xapian/__pycache__
331 %{__mv} $RPM_BUILD_ROOT%{py3_sitedir}/xapian/*.py[co] $RPM_BUILD_ROOT%{py3_sitedir}/xapian/__pycache__
332 %endif
333
334 %clean
335 rm -rf $RPM_BUILD_ROOT
336
337 %files
338 %defattr(644,root,root,755)
339 %doc AUTHORS ChangeLog HACKING NEWS README TODO
340 %{_examplesdir}/%{name}-%{version}
341
342 %if %{with dotnet}
343 %files -n dotnet-xapian
344 %defattr(644,root,root,755)
345 %attr(755,root,root) %{_libdir}/_XapianSharp.so
346 %dir %{_libdir}/mono
347 %{_libdir}/mono/XapianSharp
348 %dir %{_libdir}/mono/gac
349 %{_libdir}/mono/gac/XapianSharp
350 %endif
351
352 %if %{with java}
353 %files -n java-xapian
354 %defattr(644,root,root,755)
355 %attr(755,root,root) %{_jnidir}/libxapian_jni.so
356 %{_javadir}/xapian-%{version}.jar
357 %{_javadir}/xapian.jar
358 %endif
359
360 %if %{with lua}
361 %files -n lua-xapian
362 %defattr(644,root,root,755)
363 %attr(755,root,root) %{_libdir}/lua/5.1/xapian.so
364 %endif
365
366 %if %{with perl}
367 %files -n perl-Xapian
368 %defattr(644,root,root,755)
369 %{perl_vendorlib}/Xapian.pm
370 %dir %{perl_vendorlib}/Xapian
371 %{perl_vendorlib}/Xapian/*.pm
372 %dir %{perl_vendorarch}/auto/Xapian
373 %attr(755,root,root) %{perl_vendorarch}/auto/Xapian/Xapian.so
374 %endif
375
376 %if %{with php}
377 %files -n %{php_name}-xapian
378 %defattr(644,root,root,755)
379 %attr(755,root,root) %{php_extensiondir}/xapian.so
380 %{php_data_dir}/xapian.php
381 %endif
382
383 %if %{with python2}
384 %files -n python-xapian
385 %defattr(644,root,root,755)
386 %dir %{py_sitedir}/xapian
387 %attr(755,root,root) %{py_sitedir}/xapian/_xapian.so
388 %{py_sitedir}/xapian/__init__.py[co]
389 %endif
390
391 %if %{with python3}
392 %files -n python3-xapian
393 %defattr(644,root,root,755)
394 %dir %{py3_sitedir}/xapian
395 %attr(755,root,root) %{py3_sitedir}/xapian/_xapian.cpython-*.so
396 %{py3_sitedir}/xapian/__init__.py
397 %{py3_sitedir}/xapian/__pycache__
398 %endif
399
400 %if %{with ruby}
401 %files -n ruby-xapian
402 %defattr(644,root,root,755)
403 %attr(755,root,root) %{ruby_vendorarchdir}/_xapian.so
404 %{ruby_vendorlibdir}/xapian.rb
405 %endif
406
407 %if %{with tcl}
408 %files -n tcl-xapian
409 %defattr(644,root,root,755)
410 %dir %{_libdir}/xapian%{version}
411 %{_libdir}/xapian%{version}/pkgIndex.tcl
412 %attr(755,root,root) %{_libdir}/xapian%{version}/xapian.so
413 %endif
This page took 0.324366 seconds and 4 git commands to generate.