]> git.pld-linux.org Git - packages/php-pecl-solr.git/blob - php-pecl-solr.spec
5e3209bd6328212f591af4650397d727f0f982a5
[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.5.0
12 Release:        3
13 License:        PHP v3.01
14 Group:          Development/Languages
15 Source0:        https://pecl.php.net/get/%{modname}-%{version}.tgz
16 # Source0-md5:  5034f5d274e2c80b8ac63f601d0beb01
17 Patch0:         tests-online.patch
18 URL:            https://pecl.php.net/package/solr
19 BuildRequires:  %{php_name}-cli
20 BuildRequires:  %{php_name}-curl
21 BuildRequires:  %{php_name}-devel >= 4:5.3.0
22 BuildRequires:  %{php_name}-json
23 BuildRequires:  curl-devel
24 BuildRequires:  libxml2-devel >= 1:2.6.16
25 BuildRequires:  php-packagexml2cl
26 BuildRequires:  rpmbuild(macros) >= 1.666
27 %if %{with tests}
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 %if "%php_major_version.%php_minor_version" >= "7.4"
92         PHP_TEST_SHARED_SYSTEM_EXTENSIONS="json" \
93 %else
94         PHP_TEST_SHARED_SYSTEM_EXTENSIONS="json pcre" \
95 %endif
96         RUN_TESTS_SETTINGS="-q $*"
97 EOF
98 chmod +x run-tests.sh
99
100 %build
101 packagexml2cl package.xml > ChangeLog
102
103 # Check version
104 extver=$(awk -F'"' '/define PHP_SOLR_VERSION / {print $2}' src/php%{php_major_version}/php_solr_version.h)
105 if test "x${extver}" != "x%{version}"; then
106         : Error: Upstream version is ${extver}, expecting %{version}.
107         exit 1
108 fi
109
110 phpize
111 %configure
112 %{__make}
113
114 %{__php} -n -q \
115         -d extension_dir=modules \
116         -d extension=%{php_extensiondir}/curl.so \
117         -d extension=%{php_extensiondir}/json.so \
118         -d extension=%{modname}.so \
119         -m > modules.log
120 grep %{modname} modules.log
121
122 %if %{with tests}
123 ./run-tests.sh --show-diff
124 %endif
125
126 %install
127 rm -rf $RPM_BUILD_ROOT
128 install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir}}
129 %{__make} install \
130         EXTENSION_DIR=%{php_extensiondir} \
131         INSTALL_ROOT=$RPM_BUILD_ROOT
132
133 cat <<'EOF' > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{modname}.ini
134 ; Enable Solr extension module
135 extension=%{modname}.so
136 EOF
137
138 %clean
139 rm -rf $RPM_BUILD_ROOT
140
141 %post
142 %php_webserver_restart
143
144 %postun
145 if [ "$1" = 0 ]; then
146         %php_webserver_restart
147 fi
148
149 %files
150 %defattr(644,root,root,755)
151 %doc ChangeLog CREDITS README.SUBMITTING_CONTRIBUTIONS README.MEMORY_ALLOCATION
152 %doc README.ABOUT_SOLR_EXTENSION TODO LICENSE docs/documentation.php
153 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/%{modname}.ini
154 %{php_extensiondir}/%{modname}.so
This page took 0.074965 seconds and 2 git commands to generate.