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
17 Summary: Bindings for Xapian
18 Summary(pl.UTF-8): Wiązania do Xapiana
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)
55 %if "%{php_major_version}" >= "7"
56 %define phpbindname php7
58 %define phpbindname php
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
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.
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
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
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.
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
104 Requires: xapian-core-libs >= %{version}
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.
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.
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
125 Requires: xapian-core-libs >= %{version}
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
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.
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}
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.
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.
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}
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
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.
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}
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
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.
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}
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
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.
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}
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
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.
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
246 Requires: xapian-core-libs >= %{version}
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
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.
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
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
272 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+ruby(\s|$),#!%{__ruby}\1,' \
273 ruby/docs/examples/*.rb
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}
299 JAVA_CPPFLAGS="-I%{_jvmdir}/java/include -I%{_jvmdir}/java/include/linux"
302 rm -rf $RPM_BUILD_ROOT
304 DESTDIR=$RPM_BUILD_ROOT \
306 phpincdir=%{php_data_dir}
308 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
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
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
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__
330 rm -rf $RPM_BUILD_ROOT
333 %defattr(644,root,root,755)
334 %doc AUTHORS ChangeLog HACKING NEWS README TODO
335 %{_examplesdir}/%{name}-%{version}
338 %files -n dotnet-xapian
339 %defattr(644,root,root,755)
340 %attr(755,root,root) %{_libdir}/_XapianSharp.so
342 %{_libdir}/mono/XapianSharp
343 %dir %{_libdir}/mono/gac
344 %{_libdir}/mono/gac/XapianSharp
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
357 %defattr(644,root,root,755)
358 %attr(755,root,root) %{_libdir}/lua/5.1/xapian.so
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
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
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]
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__
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
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