[packages/xapian-bindings] - updated to 1.4.4 - updated python-install patch - added perl and python3 bindings - php binding no

qboosh qboosh at pld-linux.org
Fri Apr 28 21:36:11 CEST 2017


commit 7164f943a049b115dd3209bbb7b3de43e6c1864c
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Fri Apr 28 21:36:33 2017 +0200

    - updated to 1.4.4
    - updated python-install patch
    - added perl and python3 bindings
    - php binding now supports php7

 python-install.patch |  27 +++++++----
 xapian-bindings.spec | 135 ++++++++++++++++++++++++++++++++++++++++++---------
 2 files changed, 129 insertions(+), 33 deletions(-)
---
diff --git a/xapian-bindings.spec b/xapian-bindings.spec
index b0c6efc..bbc305b 100644
--- a/xapian-bindings.spec
+++ b/xapian-bindings.spec
@@ -1,12 +1,12 @@
-# NOTE: for perl binding, see perl-Search-Xapian.spec
-# TODO: python3- after upgrade to 1.3.x/1.4.x
 #
 # Conditional build:
 %bcond_without	dotnet		# C# bindings
 %bcond_without	java		# Java bindings
 %bcond_without	lua		# Lua bindings
+%bcond_without	perl		# Perl bindings
 %bcond_without	php		# PHP bindings
-%bcond_without	python		# Python bindings
+%bcond_without	python2		# Python 2 bindings
+%bcond_without	python3		# Python 3 bindings
 %bcond_without	ruby		# Ruby bindings
 %bcond_without	tcl		# Tcl bindings
 
@@ -14,17 +14,19 @@
 %undefine	with_dotnet
 %endif
 
+%{?with_dotnet:%include	/usr/lib/rpm/macros.mono}
+%{?with_perl:%include	/usr/lib/rpm/macros.perl}
 Summary:	Bindings for Xapian
 Summary(pl.UTF-8):	Wiązania do Xapiana
 Name:		xapian-bindings
-Version:	1.2.23
+Version:	1.4.4
 Release:	1
 License:	GPL v2+
 Group:		Development/Languages
-Source0:	http://oligarchy.co.uk/xapian/%{version}/%{name}-%{version}.tar.xz
-# Source0-md5:	013ef1b953cec486bc67a98a0f364e32
+Source0:	https://oligarchy.co.uk/xapian/%{version}/%{name}-%{version}.tar.xz
+# Source0-md5:	55f2678a029baa4f897f583e86e33ed8
 Patch0:		python-install.patch
-URL:		http://www.xapian.org/
+URL:		https://xapian.org/
 BuildRequires:	autoconf >= 2.63
 BuildRequires:	automake >= 1:1.11.2
 %{?with_java:BuildRequires:	jdk >= 1.2}
@@ -33,10 +35,11 @@ BuildRequires:	libtool >= 2:2.2.6
 %{?with_lua:BuildRequires:	lua51-devel >= 5.1.5-2}
 # 2.6.x should be sufficient, but 2.11.1 complaints about write permissions to /usr/share/.mono/keypairs
 %{?with_dotnet:BuildRequires:	mono-devel >= 2.11.4}
+%{?with_perl:BuildRequires:	perl-devel >= 1:5.8.0}
 %{?with_php:BuildRequires:	%{php_name}-devel >= 4:5.0.4}
-%{?with_php:BuildRequires:	%{php_name}-devel < 4:7}
 BuildRequires:	pkgconfig
-%{?with_python:BuildRequires:	python-devel >= 1:2.3}
+%{?with_python2:BuildRequires:	python-devel >= 1:2.6}
+%{?with_python3:BuildRequires:	python3-devel >= 1:3.2}
 BuildRequires:	python-modules >= 1:2.3
 BuildRequires:	rpm-pythonprov
 BuildRequires:	rpmbuild(macros) >= 1.665
@@ -47,6 +50,14 @@ BuildRequires:	rpmbuild(macros) >= 1.665
 BuildRequires:	xapian-core-devel >= %{version}
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%if %{with php}
+%if "%{php_major_version}" >= "7"
+%define		phpbindname	php7
+%else
+%define		phpbindname	php
+%endif
+%endif
+
 %description
 Xapian is an Open Source Probabilistic Information Retrieval Library.
 It offers a highly adaptable toolkit that allows developers to easily
@@ -66,6 +77,7 @@ Summary:	Files needed for developing C# applications which use Xapian
 Summary(pl.UTF-8):	Pliki do tworzenia aplikacji C# wykorzystujących Xapiana
 Group:		Development/Languages
 Requires:	mono >= 2.6.7
+Requires:	xapian-core-libs >= %{version}
 Obsoletes:	csharp-xapian
 
 %description -n dotnet-xapian
@@ -88,6 +100,7 @@ Summary(pl.UTF-8):	Pliki do tworzenia aplikacji Javy wykorzystujących Xapiana
 Group:		Libraries/Java
 Requires:	jpackage-utils
 Requires:	jre
+Requires:	xapian-core-libs >= %{version}
 
 %description -n java-xapian
 Xapian is an Open Source Probabilistic Information Retrieval
@@ -108,6 +121,7 @@ Summary:	Files needed for developing Lua scripts which use Xapian
 Summary(pl.UTF-8):	Pliki do tworzenia skryptów w języku Lua wykorzystujących Xapiana
 Group:		Development/Languages
 Requires:	lua51-libs
+Requires:	xapian-core-libs >= %{version}
 
 %description -n lua-xapian
 Xapian is an Open Source Probabilistic Information Retrieval
@@ -123,10 +137,28 @@ programistom łatwo dodawać do aplikacji zaawansowane możliwości
 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
 tworzeniu skryptów w języku Lua wykorzystujących Xapiana.
 
+%package -n perl-Xapian
+Summary:	Xapian - Perl XS frontend to the Xapian C++ search library
+Summary(pl.UTF-8):	Xapian - interfejs Perlowy XS do biblioteki wyszukiwania Xapian
+Group:		Development/Languages/Perl
+Requires:	xapian-core-libs >= %{version}
+
+%description -n perl-Xapian
+This module wraps most methods of most Xapian classes. The missing
+classes and methods should be added in the future. It also provides a
+simplified, more 'perlish' interface to some common operations.
+
+%description -n perl-Xapian -l pl.UTF-8
+Ten moduł obudowuje większość metod z większości klas Xapiana.
+Brakujące klasy i metody powinny być dodane w przyszłości. Moduł
+udostępnia także uproszczony, bardziej perlowy interfejs do niektórych
+popularnych operacji.
+
 %package -n %{php_name}-xapian
 Summary:	Files needed for developing PHP scripts which use Xapian
 Summary(pl.UTF-8):	Pliki do tworzenia skryptów w PHP wykorzystujących Xapiana
 Group:		Development/Languages/PHP
+Requires:	xapian-core-libs >= %{version}
 %{?requires_php_extension}
 
 %description -n %{php_name}-xapian
@@ -144,10 +176,11 @@ indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
 tworzeniu skryptów w PHP wykorzystujących Xapiana.
 
 %package -n python-xapian
-Summary:	Files needed for developing Python scripts which use Xapian
-Summary(pl.UTF-8):	Pliki do tworzenia skryptów w Pythonie wykorzystujących Xapiana
+Summary:	Files needed for developing Python 2 scripts which use Xapian
+Summary(pl.UTF-8):	Pliki do tworzenia skryptów w Pythonie 2 wykorzystujących Xapiana
 Group:		Development/Languages/Python
-%pyrequires_eq	python-modules
+Requires:	python-modules >= 1:2.6
+Requires:	xapian-core-libs >= %{version}
 
 %description -n python-xapian
 Xapian is an Open Source Probabilistic Information Retrieval
@@ -163,10 +196,32 @@ programistom łatwo dodawać do aplikacji zaawansowane możliwości
 indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
 tworzeniu skryptów w Pythonie wykorzystujących Xapiana.
 
+%package -n python3-xapian
+Summary:	Files needed for developing Python 3 scripts which use Xapian
+Summary(pl.UTF-8):	Pliki do tworzenia skryptów w Pythonie 3 wykorzystujących Xapiana
+Group:		Development/Languages/Python
+Requires:	python3-modules >= 1:3.2
+Requires:	xapian-core-libs >= %{version}
+
+%description -n python3-xapian
+Xapian is an Open Source Probabilistic Information Retrieval
+framework. It offers a highly adaptable toolkit that allows developers
+to easily add advanced indexing and search facilities to applications.
+This package provides the files needed for developing Python scripts
+which use Xapian.
+
+%description -n python3-xapian -l pl.UTF-8
+Xapian to mająca otwarte źródła biblioteka do uzyskiwania informacji
+probabilistycznych. Oferuje wysoce adoptowalne narzędzia pozwalające
+programistom łatwo dodawać do aplikacji zaawansowane możliwości
+indeksowania i wyszukiwania. Ten pakiet zawiera pliki potrzebne przy
+tworzeniu skryptów w Pythonie wykorzystujących Xapiana.
+
 %package -n ruby-xapian
 Summary:	Files needed for developing Ruby scripts which use Xapian
 Summary(pl.UTF-8):	Pliki do tworzenia skryptów w języku Ruby wykorzystujących Xapiana
 Group:		Development/Languages
+Requires:	xapian-core-libs >= %{version}
 
 %description -n ruby-xapian
 Xapian is an Open Source Probabilistic Information Retrieval
@@ -187,6 +242,7 @@ Summary:	Files needed for developing Tcl scripts which use Xapian
 Summary(pl.UTF-8):	Pliki do tworzenia skryptów w Tcl-u wykorzystujących Xapiana
 Group:		Development/Languages/Tcl
 Requires:	tcl >= 8.1
+Requires:	xapian-core-libs >= %{version}
 
 %description -n tcl-xapian
 Xapian is an Open Source Probabilistic Information Retrieval
@@ -213,19 +269,24 @@ tworzeniu skryptów w Tcl-u wykorzystujących Xapiana.
 %{__autoheader}
 %{__automake}
 CLASSPATH="." \
-RUBY_LIB=%{ruby_vendorlibdir} \
-RUBY_LIB_ARCH=%{ruby_vendorarchdir} \
 %configure \
+	PERL_ARCH=%{perl_vendorarch} \
+	PERL_LIB=%{perl_vendorlib} \
+	RUBY_LIB=%{ruby_vendorlibdir} \
+	RUBY_LIB_ARCH=%{ruby_vendorarchdir} \
 	%{?with_lua:LUA=/usr/bin/lua5.1 LUA_INC=/usr/include/lua51} \
 	%{?with_dotnet:--with-csharp} \
 	%{?with_java:--with-java} \
 	%{?with_lua:--with-lua} \
-	%{?with_python:--with-python} \
-	%{?with_php:--with-php} \
+	%{?with_perl:--with-perl} \
+	%{?with_python2:--with-python} \
+	%{?with_python3:--with-python3} \
+	%{?with_php:--with-%{phpbindname}} \
 	%{?with_ruby:--with-ruby} \
 	%{?with_tcl:--with-tcl}
 
-%{__make}
+%{__make} \
+	JAVA_CPPFLAGS="-I%{_jvmdir}/java/include"
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -237,16 +298,23 @@ rm -rf $RPM_BUILD_ROOT
 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
 
 %if %{with java}
-install -D java/built/xapian_jni.jar $RPM_BUILD_ROOT%{_javadir}/xapian_jni-%{version}.jar
-ln -sf xapian_jni-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/xapian_jni.jar
+install -D java/built/xapian.jar $RPM_BUILD_ROOT%{_javadir}/xapian-%{version}.jar
+ln -sf xapian-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/xapian.jar
 %endif
 
-for binding in %{?with_dotnet:csharp} %{?with_php:php} %{?with_python:python} %{?with_ruby:ruby} %{?with_tcl:tcl8}; do
+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
 	install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/$binding
-	cp -a $binding/docs/{index.html,examples} $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/$binding
+	[ ! -f $binding/docs/index.html ] || cp -p $binding/docs/index.html $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/$binding
+	cp -pr $binding/docs/examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/$binding
 done
 
+%if %{with python2}
 %py_postclean
+%endif
+%if %{with python3}
+install -d $RPM_BUILD_ROOT%{py3_sitedir}/xapian/__pycache__
+%{__mv} $RPM_BUILD_ROOT%{py3_sitedir}/xapian/*.py[co] $RPM_BUILD_ROOT%{py3_sitedir}/xapian/__pycache__
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -270,8 +338,8 @@ rm -rf $RPM_BUILD_ROOT
 %files -n java-xapian
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_jnidir}/libxapian_jni.so
-%{_javadir}/xapian_jni-%{version}.jar
-%{_javadir}/xapian_jni.jar
+%{_javadir}/xapian-%{version}.jar
+%{_javadir}/xapian.jar
 %endif
 
 %if %{with lua}
@@ -280,6 +348,16 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/lua/5.1/xapian.so
 %endif
 
+%if %{with perl}
+%files -n perl-Xapian
+%defattr(644,root,root,755)
+%{perl_vendorlib}/Xapian.pm
+%dir %{perl_vendorlib}/Xapian
+%{perl_vendorlib}/Xapian/*.pm
+%dir %{perl_vendorarch}/auto/Xapian
+%attr(755,root,root) %{perl_vendorarch}/auto/Xapian/Xapian.so
+%endif
+
 %if %{with php}
 %files -n %{php_name}-xapian
 %defattr(644,root,root,755)
@@ -287,7 +365,7 @@ rm -rf $RPM_BUILD_ROOT
 %{php_data_dir}/xapian.php
 %endif
 
-%if %{with python}
+%if %{with python2}
 %files -n python-xapian
 %defattr(644,root,root,755)
 %dir %{py_sitedir}/xapian
@@ -295,6 +373,15 @@ rm -rf $RPM_BUILD_ROOT
 %{py_sitedir}/xapian/__init__.py[co]
 %endif
 
+%if %{with python3}
+%files -n python3-xapian
+%defattr(644,root,root,755)
+%dir %{py3_sitedir}/xapian
+%attr(755,root,root) %{py3_sitedir}/xapian/_xapian.cpython-*.so
+%{py3_sitedir}/xapian/__init__.py
+%{py3_sitedir}/xapian/__pycache__
+%endif
+
 %if %{with ruby}
 %files -n ruby-xapian
 %defattr(644,root,root,755)
diff --git a/python-install.patch b/python-install.patch
index 366bc0a..3981dc9 100644
--- a/python-install.patch
+++ b/python-install.patch
@@ -1,11 +1,20 @@
---- xapian-bindings-1.2.21/configure.ac~	2015-05-21 14:57:01.000000000 +0900
-+++ xapian-bindings-1.2.21/configure.ac	2016-03-30 21:24:31.826127813 +0900
-@@ -312,7 +312,7 @@
+--- xapian-bindings-1.4.4/configure.ac.orig	2017-04-28 15:59:14.590553235 +0200
++++ xapian-bindings-1.4.4/configure.ac	2017-04-28 16:00:59.977218698 +0200
+@@ -369,7 +369,7 @@
  	AC_MSG_RESULT(yes)
- 	AC_MSG_CHECKING([for directory to install python bindings in])
- 	if test -z "$PYTHON_LIB" ; then
--	  PYTHON_LIB=`$PYTHON -c 'import os,distutils.sysconfig;print(distutils.sysconfig.get_python_lib(1).replace(os.sep,"/"))'`
-+	  PYTHON_LIB=`$PYTHON -c 'import os,distutils.sysconfig;print(distutils.sysconfig.get_python_lib(plat_specific=True,prefix="/usr").replace(os.sep,"/"))'`
+ 	AC_MSG_CHECKING([for directory to install python2 bindings in])
+ 	if test -z "$PYTHON2_LIB" ; then
+-	  PYTHON2_LIB=`$PYTHON2 -c 'import os,distutils.sysconfig;print(distutils.sysconfig.get_python_lib(1).replace(os.sep,"/"))'`
++	  PYTHON2_LIB=`$PYTHON2 -c 'import os,distutils.sysconfig;print(distutils.sysconfig.get_python_lib(plat_specific=True,prefix="/usr").replace(os.sep,"/"))'`
  	fi
- 	AC_MSG_RESULT([$PYTHON_LIB])
- 	AC_ARG_VAR(PYTHON_LIB, [Directory to install python bindings in])
+ 	AC_MSG_RESULT([$PYTHON2_LIB])
+ 	AC_ARG_VAR(PYTHON2_LIB, [Directory to install python2 bindings in])
+@@ -459,7 +459,7 @@
+ 	AC_MSG_RESULT(yes)
+ 	AC_MSG_CHECKING([for directory to install python3 bindings in])
+ 	if test -z "$PYTHON3_LIB" ; then
+-	  PYTHON3_LIB=`$PYTHON3 -c 'import os,distutils.sysconfig;print(distutils.sysconfig.get_python_lib(1).replace(os.sep,"/"))'`
++	  PYTHON3_LIB=`$PYTHON3 -c 'import os,distutils.sysconfig;print(distutils.sysconfig.get_python_lib(plat_specific=True,prefix="/usr").replace(os.sep,"/"))'`
+ 	fi
+ 	AC_MSG_RESULT([$PYTHON3_LIB])
+ 	AC_ARG_VAR(PYTHON3_LIB, [Directory to install python3 bindings in])
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/xapian-bindings.git/commitdiff/7164f943a049b115dd3209bbb7b3de43e6c1864c



More information about the pld-cvs-commit mailing list