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