]> git.pld-linux.org Git - packages/php-pecl-solr.git/blob - php-pecl-solr.spec
52e2662f121d132bdcef1d0aa2c1a03425fb9d9d
[packages/php-pecl-solr.git] / php-pecl-solr.spec
1 #
2 # Conditional build:
3 %bcond_without  tests           # build without tests
4 %bcond_with     network_tests   # run tests requiring setup Solr Server on localhost:8983
5
6 %define         php_name        php%{?php_suffix}
7 %define         modname solr
8 Summary:        Object oriented API to Apache Solr
9 Summary(fr.UTF-8):      API orientée objet pour Apache Solr
10 Name:           %{php_name}-pecl-solr
11 Version:        2.4.0
12 Release:        1
13 License:        PHP v3.01
14 Group:          Development/Languages
15 Source0:        https://pecl.php.net/get/%{modname}-%{version}.tgz
16 # Source0-md5:  2c9accf66681a3daaaf371bc07e44902
17 Patch0:         tests-online.patch
18 URL:            https://pecl.php.net/package/solr
19 BuildRequires:  %{php_name}-cli
20 BuildRequires:  %{php_name}-devel >= 4:5.3.0
21 BuildRequires:  curl-devel
22 BuildRequires:  libxml2-devel >= 1:2.6.16
23 BuildRequires:  php-packagexml2cl
24 BuildRequires:  rpmbuild(macros) >= 1.666
25 %if %{with tests}
26 BuildRequires:  %{php_name}-curl
27 BuildRequires:  %{php_name}-json
28 BuildRequires:  %{php_name}-pcre
29 BuildRequires:  %{php_name}-xml
30 %endif
31 %{?requires_php_extension}
32 Requires:       %{php_name}-cli
33 Requires:       %{php_name}-json
34 Requires:       %{php_name}-pcre
35 Requires:       %{php_name}-xml
36 Provides:       php(solr) = %{version}
37 Obsoletes:      php-pecl-solr < 1.0.2-6
38 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39
40 %description
41 Feature-rich library that allows PHP developers to communicate easily
42 and efficiently with Apache Solr server instances using an
43 object-oriented API.
44
45 It effectively simplifies the process of interacting with Apache Solr
46 using PHP5 and it already comes with built-in readiness for the latest
47 features available in Solr 1.4. The extension has features such as
48 built-in, serializable query string builder objects which effectively
49 simplifies the manipulation of name-value pair request parameters
50 across repeated requests. The response from the Solr server is also
51 automatically parsed into native php objects whose properties can be
52 accessed as array keys or object properties without any additional
53 configuration on the client-side. Its advanced HTTP client reuses the
54 same connection across multiple requests and provides built-in support
55 for connecting to Solr servers secured behind HTTP Authentication or
56 HTTP proxy servers. It is also able to connect to SSL-enabled
57 containers.
58
59 Notice: PECL Solr 2.x is not compatible with Apache Solr Server 3.x
60
61 %description -l fr.UTF-8
62 Bibliothèque riche en fonctionnalités qui permet aux développeurs PHP
63 de communiquer facilement et efficacement avec des instances du
64 serveur Apache Solr en utilisant une API orientée objet.
65
66 Cela simplifie réellement le processus d'interaction avec Apache Solr
67 en utilisant PHP5 et fournit dores et déjà des facilités pour les
68 dernières fonctionnalités disponibles dans Solr 1.4. L'extension
69 possède des fonctionnalités telles qu'un constructeur de requêtes
70 embarqué et sérialisable qui simplifie réellement la manipulation des
71 couples de paramètres nom-valeur entre différentes requêtes. La
72 réponse de Solr est également analysée automatiquement en objets php
73 natifs dont les propriétés sont accessibles en tant que clés de
74 tableaux ou en tant que propriétés d'objets sans la moindre
75 configuration supplémentaire sur le client. Son client HTTP avancé
76 utilise la même connexion entre différentes requêtes et fournit un
77 support embarqué pour la connexion aux serveurs Solr protégés par
78 authentification HTTP ou par un serveur mandataire. Il est également
79 possible de se connecter à des serveurs via SSL.
80
81 %prep
82 %setup -qc
83 mv %{modname}-%{version}/* .
84 %{!?with_network_tests:%patch0 -p1}
85
86 cat <<'EOF' > run-tests.sh
87 #!/bin/sh
88 export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
89 exec %{__make} test \
90         PHP_EXECUTABLE=%{__php} \
91         PHP_TEST_SHARED_SYSTEM_EXTENSIONS="json pcre" \
92         RUN_TESTS_SETTINGS="-q $*"
93 EOF
94 chmod +x run-tests.sh
95
96 %build
97 packagexml2cl package.xml > ChangeLog
98
99 # Check version
100 extver=$(awk -F'"' '/define PHP_SOLR_VERSION / {print $2}' src/php%{php_major_version}/php_solr_version.h)
101 if test "x${extver}" != "x%{version}"; then
102         : Error: Upstream version is ${extver}, expecting %{version}.
103         exit 1
104 fi
105
106 phpize
107 %configure
108 %{__make}
109
110 %{__php} -n -q \
111         -d extension_dir=modules \
112         -d extension=%{php_extensiondir}/curl.so \
113         -d extension=%{php_extensiondir}/json.so \
114         -d extension=%{modname}.so \
115         -m > modules.log
116 grep %{modname} modules.log
117
118 %if %{with tests}
119 ./run-tests.sh --show-diff
120 %endif
121
122 %install
123 rm -rf $RPM_BUILD_ROOT
124 install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir}}
125 %{__make} install \
126         EXTENSION_DIR=%{php_extensiondir} \
127         INSTALL_ROOT=$RPM_BUILD_ROOT
128
129 cat <<'EOF' > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{modname}.ini
130 ; Enable Solr extension module
131 extension=%{modname}.so
132 EOF
133
134 %clean
135 rm -rf $RPM_BUILD_ROOT
136
137 %post
138 %php_webserver_restart
139
140 %postun
141 if [ "$1" = 0 ]; then
142         %php_webserver_restart
143 fi
144
145 %files
146 %defattr(644,root,root,755)
147 %doc ChangeLog CREDITS README.SUBMITTING_CONTRIBUTIONS README.MEMORY_ALLOCATION
148 %doc README.ABOUT_SOLR_EXTENSION TODO LICENSE docs/documentation.php
149 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/%{modname}.ini
150 %{php_extensiondir}/%{modname}.so
This page took 0.050821 seconds and 2 git commands to generate.