#
# Conditional build:
%bcond_without tests # build without tests
+%bcond_with network_tests # run tests requiring setup Solr Server on localhost:8983
+%define php_name php%{?php_suffix}
%define modname solr
Summary: Object oriented API to Apache Solr
-Summary(fr): API orientée objet pour Apache Solr
-Name: php-pecl-solr
-Version: 0.9.11
-Release: 1
-License: PHP
+Summary(fr.UTF-8): API orientée objet pour Apache Solr
+Name: %{php_name}-pecl-solr
+Version: 2.4.0
+Release: 2
+License: PHP v3.01
Group: Development/Languages
-URL: http://pecl.php.net/package/solr
-Source0: http://pecl.php.net/get/%{modname}-%{version}.tgz
-# Source0-md5: 2416237107d6df6fef60a39a20ef8a7c
+Source0: https://pecl.php.net/get/%{modname}-%{version}.tgz
+# Source0-md5: 2c9accf66681a3daaaf371bc07e44902
+Patch0: tests-online.patch
+URL: https://pecl.php.net/package/solr
+BuildRequires: %{php_name}-cli
+BuildRequires: %{php_name}-curl
+BuildRequires: %{php_name}-devel >= 4:5.3.0
+BuildRequires: %{php_name}-json
BuildRequires: curl-devel
-BuildRequires: libxml2-devel
-%{?with_tests:BuildRequires: php-curl}
-BuildRequires: php-devel >= 4:5.2.3
+BuildRequires: libxml2-devel >= 1:2.6.16
BuildRequires: php-packagexml2cl
-BuildRequires: rpmbuild(macros) >= 1.519
-Requires: php-xml
-Provides: php-solr = %{version}
+BuildRequires: rpmbuild(macros) >= 1.666
+%if %{with tests}
+BuildRequires: %{php_name}-pcre
+BuildRequires: %{php_name}-xml
+%endif
%{?requires_php_extension}
+Requires: %{php_name}-cli
+Requires: %{php_name}-json
+Requires: %{php_name}-pcre
+Requires: %{php_name}-xml
+Provides: php(solr) = %{version}
+Obsoletes: php-pecl-solr < 1.0.2-6
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
HTTP proxy servers. It is also able to connect to SSL-enabled
containers.
-%description -l fr
+Notice: PECL Solr 2.x is not compatible with Apache Solr Server 3.x
+
+%description -l fr.UTF-8
Bibliothèque riche en fonctionnalités qui permet aux développeurs PHP
de communiquer facilement et efficacement avec des instances du
serveur Apache Solr en utilisant une API orientée objet.
possible de se connecter à des serveurs via SSL.
%prep
-%setup -q -c
+%setup -qc
mv %{modname}-%{version}/* .
+%{!?with_network_tests:%patch0 -p1}
-# avoid 1970 dates in doc
-find -newer TODO -o -print | xargs touch --reference %{SOURCE0}
+cat <<'EOF' > run-tests.sh
+#!/bin/sh
+export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
+exec %{__make} test \
+ PHP_EXECUTABLE=%{__php} \
+ PHP_TEST_SHARED_SYSTEM_EXTENSIONS="json pcre" \
+ RUN_TESTS_SETTINGS="-q $*"
+EOF
+chmod +x run-tests.sh
%build
packagexml2cl package.xml > ChangeLog
+# Check version
+extver=$(awk -F'"' '/define PHP_SOLR_VERSION / {print $2}' src/php%{php_major_version}/php_solr_version.h)
+if test "x${extver}" != "x%{version}"; then
+ : Error: Upstream version is ${extver}, expecting %{version}.
+ exit 1
+fi
+
phpize
%configure
%{__make}
-%if %{with tests}
-ln -sf %{php_extensiondir}/curl.so modules
-%{_bindir}/php \
- -n -q -d extension_dir=modules \
- -d extension=curl.so \
+%{__php} -n -q \
+ -d extension_dir=modules \
+ -d extension=%{php_extensiondir}/curl.so \
+ -d extension=%{php_extensiondir}/json.so \
-d extension=%{modname}.so \
- --modules | grep %{modname}
-rm -f modules/curl.so
+ -m > modules.log
+grep %{modname} modules.log
+
+%if %{with tests}
+./run-tests.sh --show-diff
%endif
%install
%{__make} install \
EXTENSION_DIR=%{php_extensiondir} \
INSTALL_ROOT=$RPM_BUILD_ROOT
+
cat <<'EOF' > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{modname}.ini
; Enable Solr extension module
extension=%{modname}.so
%clean
rm -rf $RPM_BUILD_ROOT
+%post
+%php_webserver_restart
+
+%postun
+if [ "$1" = 0 ]; then
+ %php_webserver_restart
+fi
+
%files
%defattr(644,root,root,755)
%doc ChangeLog CREDITS README.SUBMITTING_CONTRIBUTIONS README.MEMORY_ALLOCATION