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_without 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 %{?with_dotnet:%include /usr/lib/rpm/macros.mono}
18 %{?with_perl:%include /usr/lib/rpm/macros.perl}
19 Summary: Bindings for Xapian
20 Summary(pl.UTF-8): Wiązania do Xapiana
25 Group: Development/Languages
26 Source0: https://oligarchy.co.uk/xapian/%{version}/%{name}-%{version}.tar.xz
27 # Source0-md5: 55f2678a029baa4f897f583e86e33ed8
28 Patch0: python-install.patch
29 URL: https://xapian.org/
30 BuildRequires: autoconf >= 2.63
31 BuildRequires: automake >= 1:1.11.2
32 %{?with_java:BuildRequires: jdk >= 1.2}
33 %{?with_java:BuildRequires: jpackage-utils}
34 BuildRequires: libtool >= 2:2.2.6
35 %{?with_lua:BuildRequires: lua51-devel >= 5.1.5-2}
36 # 2.6.x should be sufficient, but 2.11.1 complaints about write permissions to /usr/share/.mono/keypairs
37 %{?with_dotnet:BuildRequires: mono-devel >= 2.11.4}
38 %{?with_perl:BuildRequires: perl-devel >= 1:5.8.0}
39 %{?with_php:BuildRequires: %{php_name}-devel >= 4:5.0.4}
40 BuildRequires: pkgconfig
41 %{?with_python2:BuildRequires: python-devel >= 1:2.6}
42 %{?with_python3:BuildRequires: python3-devel >= 1:3.2}
43 BuildRequires: python-modules >= 1:2.3
44 BuildRequires: rpm-pythonprov
45 BuildRequires: rpmbuild(macros) >= 1.665
46 %{?with_ruby:BuildRequires: ruby-devel >= 1.8}
47 %{?with_ruby:BuildRequires: ruby-modules >= 1.8}
48 %{?with_ruby:BuildRequires: rpm-rubyprov}
49 %{?with_tcl:BuildRequires: tcl-devel >= 8.1}
50 BuildRequires: xapian-core-devel >= %{version}
51 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54 %if "%{php_major_version}" >= "7"
55 %define phpbindname php7
57 %define phpbindname php
62 Xapian is an Open Source Probabilistic Information Retrieval Library.
63 It offers a highly adaptable toolkit that allows developers to easily
64 add advanced indexing and search facilities to applications. This
65 package is a collection of bindings for different programming
68 %description -l pl.UTF-8
69 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
70 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
71 programistom łatwo dodawać do aplikacji zaawansowane możliwości
72 indeksowania i wyszukiwania. Ten pakiet zawiera zestaw wiązań dla
73 różnych języków programowania.
75 %package -n dotnet-xapian
76 Summary: Files needed for developing C# applications which use Xapian
77 Summary(pl.UTF-8): Pliki do tworzenia aplikacji C# wykorzystujących Xapiana
78 Group: Development/Languages
79 Requires: mono >= 2.6.7
80 Requires: xapian-core-libs >= %{version}
81 Obsoletes: csharp-xapian
83 %description -n dotnet-xapian
84 Xapian is an Open Source Probabilistic Information Retrieval
85 framework. It offers a highly adaptable toolkit that allows developers
86 to easily add advanced indexing and search facilities to applications.
87 This package provides the files needed for developing C# applications
90 %description -n dotnet-xapian -l pl.UTF-8
91 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
92 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
93 programistom łatwo dodawać do aplikacji zaawansowane możliwości
94 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
95 tworzeniu aplikacji C# wykorzystujących Xapiana.
97 %package -n java-xapian
98 Summary: Files needed for developing Java applications which use Xapian
99 Summary(pl.UTF-8): Pliki do tworzenia aplikacji Javy wykorzystujących Xapiana
100 Group: Libraries/Java
101 Requires: jpackage-utils
103 Requires: xapian-core-libs >= %{version}
105 %description -n java-xapian
106 Xapian is an Open Source Probabilistic Information Retrieval
107 framework. It offers a highly adaptable toolkit that allows developers
108 to easily add advanced indexing and search facilities to applications.
109 This package provides the files needed for developing Java
110 applications which use Xapian.
112 %description -n java-xapian -l pl.UTF-8
113 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
114 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
115 programistom łatwo dodawać do aplikacji zaawansowane możliwości
116 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
117 tworzeniu aplikacji Javy wykorzystujących Xapiana.
119 %package -n lua-xapian
120 Summary: Files needed for developing Lua scripts which use Xapian
121 Summary(pl.UTF-8): Pliki do tworzenia skryptów w języku Lua wykorzystujących Xapiana
122 Group: Development/Languages
124 Requires: xapian-core-libs >= %{version}
126 %description -n lua-xapian
127 Xapian is an Open Source Probabilistic Information Retrieval
128 framework. It offers a highly adaptable toolkit that allows developers
129 to easily add advanced indexing and search facilities to applications.
130 This package provides the files needed for developing Lua scripts
133 %description -n lua-xapian -l pl.UTF-8
134 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
135 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
136 programistom łatwo dodawać do aplikacji zaawansowane możliwości
137 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
138 tworzeniu skryptów w języku Lua wykorzystujących Xapiana.
140 %package -n perl-Xapian
141 Summary: Xapian - Perl XS frontend to the Xapian C++ search library
142 Summary(pl.UTF-8): Xapian - interfejs Perlowy XS do biblioteki wyszukiwania Xapian
143 Group: Development/Languages/Perl
144 Requires: xapian-core-libs >= %{version}
146 %description -n perl-Xapian
147 This module wraps most methods of most Xapian classes. The missing
148 classes and methods should be added in the future. It also provides a
149 simplified, more 'perlish' interface to some common operations.
151 %description -n perl-Xapian -l pl.UTF-8
152 Ten moduł obudowuje większość metod z większości klas Xapiana.
153 Brakujące klasy i metody powinny być dodane w przyszłości. Moduł
154 udostępnia także uproszczony, bardziej perlowy interfejs do niektórych
155 popularnych operacji.
157 %package -n %{php_name}-xapian
158 Summary: Files needed for developing PHP scripts which use Xapian
159 Summary(pl.UTF-8): Pliki do tworzenia skryptów w PHP wykorzystujących Xapiana
160 Group: Development/Languages/PHP
161 Requires: xapian-core-libs >= %{version}
162 %{?requires_php_extension}
164 %description -n %{php_name}-xapian
165 Xapian is an Open Source Probabilistic Information Retrieval
166 framework. It offers a highly adaptable toolkit that allows developers
167 to easily add advanced indexing and search facilities to applications.
168 This package provides the files needed for developing PHP scripts
171 %description -n %{php_name}-xapian -l pl.UTF-8
172 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
173 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
174 programistom łatwo dodawać do aplikacji zaawansowane możliwości
175 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
176 tworzeniu skryptów w PHP wykorzystujących Xapiana.
178 %package -n python-xapian
179 Summary: Files needed for developing Python 2 scripts which use Xapian
180 Summary(pl.UTF-8): Pliki do tworzenia skryptów w Pythonie 2 wykorzystujących Xapiana
181 Group: Development/Languages/Python
182 Requires: python-modules >= 1:2.6
183 Requires: xapian-core-libs >= %{version}
185 %description -n python-xapian
186 Xapian is an Open Source Probabilistic Information Retrieval
187 framework. It offers a highly adaptable toolkit that allows developers
188 to easily add advanced indexing and search facilities to applications.
189 This package provides the files needed for developing Python scripts
192 %description -n python-xapian -l pl.UTF-8
193 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
194 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
195 programistom łatwo dodawać do aplikacji zaawansowane możliwości
196 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
197 tworzeniu skryptów w Pythonie wykorzystujących Xapiana.
199 %package -n python3-xapian
200 Summary: Files needed for developing Python 3 scripts which use Xapian
201 Summary(pl.UTF-8): Pliki do tworzenia skryptów w Pythonie 3 wykorzystujących Xapiana
202 Group: Development/Languages/Python
203 Requires: python3-modules >= 1:3.2
204 Requires: xapian-core-libs >= %{version}
206 %description -n python3-xapian
207 Xapian is an Open Source Probabilistic Information Retrieval
208 framework. It offers a highly adaptable toolkit that allows developers
209 to easily add advanced indexing and search facilities to applications.
210 This package provides the files needed for developing Python scripts
213 %description -n python3-xapian -l pl.UTF-8
214 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
215 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
216 programistom łatwo dodawać do aplikacji zaawansowane możliwości
217 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
218 tworzeniu skryptów w Pythonie wykorzystujących Xapiana.
220 %package -n ruby-xapian
221 Summary: Files needed for developing Ruby scripts which use Xapian
222 Summary(pl.UTF-8): Pliki do tworzenia skryptów w języku Ruby wykorzystujących Xapiana
223 Group: Development/Languages
224 Requires: xapian-core-libs >= %{version}
226 %description -n ruby-xapian
227 Xapian is an Open Source Probabilistic Information Retrieval
228 framework. It offers a highly adaptable toolkit that allows developers
229 to easily add advanced indexing and search facilities to applications.
230 This package provides the files needed for developing Ruby scripts
233 %description -n ruby-xapian -l pl.UTF-8
234 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
235 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
236 programistom łatwo dodawać do aplikacji zaawansowane możliwości
237 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
238 tworzeniu skryptów w języku Ruby wykorzystujących Xapiana.
240 %package -n tcl-xapian
241 Summary: Files needed for developing Tcl scripts which use Xapian
242 Summary(pl.UTF-8): Pliki do tworzenia skryptów w Tcl-u wykorzystujących Xapiana
243 Group: Development/Languages/Tcl
245 Requires: xapian-core-libs >= %{version}
247 %description -n tcl-xapian
248 Xapian is an Open Source Probabilistic Information Retrieval
249 framework. It offers a highly adaptable toolkit that allows developers
250 to easily add advanced indexing and search facilities to applications.
251 This package provides the files needed for developing TCL scripts
254 %description -n tcl-xapian -l pl.UTF-8
255 Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
256 probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
257 programistom łatwo dodawać do aplikacji zaawansowane możliwości
258 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
259 tworzeniu skryptów w Tcl-u wykorzystujących Xapiana.
273 PERL_ARCH=%{perl_vendorarch} \
274 PERL_LIB=%{perl_vendorlib} \
275 RUBY_LIB=%{ruby_vendorlibdir} \
276 RUBY_LIB_ARCH=%{ruby_vendorarchdir} \
277 %{?with_lua:LUA=/usr/bin/lua5.1 LUA_INC=/usr/include/lua51} \
278 %{?with_dotnet:--with-csharp} \
279 %{?with_java:--with-java} \
280 %{?with_lua:--with-lua} \
281 %{?with_perl:--with-perl} \
282 %{?with_python2:--with-python} \
283 %{?with_python3:--with-python3} \
284 %{?with_php:--with-%{phpbindname}} \
285 %{?with_ruby:--with-ruby} \
286 %{?with_tcl:--with-tcl}
289 JAVA_CPPFLAGS="-I%{_jvmdir}/java/include -I%{_jvmdir}/java/include/linux"
292 rm -rf $RPM_BUILD_ROOT
294 DESTDIR=$RPM_BUILD_ROOT \
296 phpincdir=%{php_data_dir}
298 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
301 install -D java/built/xapian.jar $RPM_BUILD_ROOT%{_javadir}/xapian-%{version}.jar
302 ln -sf xapian-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/xapian.jar
305 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
306 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/$binding
307 [ ! -f $binding/docs/index.html ] || cp -p $binding/docs/index.html $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/$binding
308 cp -pr $binding/docs/examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/$binding
315 install -d $RPM_BUILD_ROOT%{py3_sitedir}/xapian/__pycache__
316 %{__mv} $RPM_BUILD_ROOT%{py3_sitedir}/xapian/*.py[co] $RPM_BUILD_ROOT%{py3_sitedir}/xapian/__pycache__
320 rm -rf $RPM_BUILD_ROOT
323 %defattr(644,root,root,755)
324 %doc AUTHORS ChangeLog HACKING NEWS README TODO
325 %{_examplesdir}/%{name}-%{version}
328 %files -n dotnet-xapian
329 %defattr(644,root,root,755)
330 %attr(755,root,root) %{_libdir}/_XapianSharp.so
332 %{_libdir}/mono/XapianSharp
333 %dir %{_libdir}/mono/gac
334 %{_libdir}/mono/gac/XapianSharp
338 %files -n java-xapian
339 %defattr(644,root,root,755)
340 %attr(755,root,root) %{_jnidir}/libxapian_jni.so
341 %{_javadir}/xapian-%{version}.jar
342 %{_javadir}/xapian.jar
347 %defattr(644,root,root,755)
348 %attr(755,root,root) %{_libdir}/lua/5.1/xapian.so
352 %files -n perl-Xapian
353 %defattr(644,root,root,755)
354 %{perl_vendorlib}/Xapian.pm
355 %dir %{perl_vendorlib}/Xapian
356 %{perl_vendorlib}/Xapian/*.pm
357 %dir %{perl_vendorarch}/auto/Xapian
358 %attr(755,root,root) %{perl_vendorarch}/auto/Xapian/Xapian.so
362 %files -n %{php_name}-xapian
363 %defattr(644,root,root,755)
364 %attr(755,root,root) %{php_extensiondir}/xapian.so
365 %{php_data_dir}/xapian.php
369 %files -n python-xapian
370 %defattr(644,root,root,755)
371 %dir %{py_sitedir}/xapian
372 %attr(755,root,root) %{py_sitedir}/xapian/_xapian.so
373 %{py_sitedir}/xapian/__init__.py[co]
377 %files -n python3-xapian
378 %defattr(644,root,root,755)
379 %dir %{py3_sitedir}/xapian
380 %attr(755,root,root) %{py3_sitedir}/xapian/_xapian.cpython-*.so
381 %{py3_sitedir}/xapian/__init__.py
382 %{py3_sitedir}/xapian/__pycache__
386 %files -n ruby-xapian
387 %defattr(644,root,root,755)
388 %attr(755,root,root) %{ruby_vendorarchdir}/_xapian.so
389 %{ruby_vendorlibdir}/xapian.rb
394 %defattr(644,root,root,755)
395 %dir %{_libdir}/xapian%{version}
396 %{_libdir}/xapian%{version}/pkgIndex.tcl
397 %attr(755,root,root) %{_libdir}/xapian%{version}/xapian.so