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