3 %bcond_without igbinary # memcached igbinary serializer support
4 %bcond_without json # memcached json serializer support
5 %bcond_without msgpack # memcached msgpack serializer support
6 %bcond_without sasl # memcached sasl support
7 %bcond_without session # memcached session handler support
8 %bcond_without tests # build without tests
10 %define php_name php%{?php_suffix}
11 %define modname memcached
12 Summary: Interface to memcached via libmemcached library
13 Summary(pl.UTF-8): Interfejs do memcached z użyciem biblioteki libmemcached
14 Name: %{php_name}-pecl-%{modname}
15 # for PHP < 7 support see 2.2.x branch
19 Group: Development/Languages/PHP
20 Source0: https://github.com/php-memcached-dev/php-memcached/archive/php7/%{modname}-%{version}.tar.gz
21 # Source0-md5: df81b124ac101bd21922deb0ef2ad9b9
22 URL: http://pecl.php.net/package/memcached/
23 BuildRequires: %{php_name}-devel >= 4:7.0.0
24 %{?with_igbinary:BuildRequires: %{php_name}-pecl-igbinary-devel}
25 %{?with_msgpack:BuildRequires: %{php_name}-pecl-msgpack-devel}
26 %{?with_sasl:BuildRequires: cyrus-sasl-devel}
27 BuildRequires: fastlz-devel
28 BuildRequires: libmemcached-devel >= 1.0.18
29 BuildRequires: pkgconfig
31 BuildRequires: rpmbuild(macros) >= 1.650
32 BuildRequires: zlib-devel
34 BuildRequires: %{php_name}-cli
35 %{?with_igbinary:BuildRequires: %{php_name}-pecl-igbinary}
36 %{?with_msgpack:BuildRequires: %{php_name}-pecl-msgpack}
37 %{?with_session:BuildRequires: %{php_name}-session}
38 BuildRequires: %{php_name}-spl
40 %{?requires_php_extension}
41 Suggests: %{php_name}-pecl-igbinary
42 Suggests: %{php_name}-pecl-msgpack
43 Suggests: %{php_name}-session
44 Provides: php(%{modname}) = %{version}
45 Obsoletes: php-pecl-memcached < 2.2.0-1
46 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49 This extension uses libmemcached library to provide API for
50 communicating with memcached servers.
52 %description -l pl.UTF-8
53 Rozszerzenie to wykorzystuje bibliotekę memcached w celu udostępnienia
54 API do komunikacji z serwerami memcached.
58 mv php-memcached-*/{.??*,*} .
62 # redirect tests fail (the actual tests they redirect work)
63 rm tests/experimental/serializer_igbinary.phpt
64 rm tests/experimental/serializer_json.phpt
69 %{__enable_disable igbinary memcached-igbinary} \
70 %{__enable_disable json memcached-json} \
71 %{__enable_disable msgpack memcached-msgpack} \
72 %{__enable_disable sasl memcached-sasl} \
73 %{__enable_disable session memcached-session} \
78 # simple module load test
80 -d extension_dir=modules \
81 -d extension=%{php_extensiondir}/spl.so \
83 -d extension=%{php_extensiondir}/session.so \
86 -d extension=%{php_extensiondir}/igbinary.so \
89 -d extension=%{php_extensiondir}/msgpack.so \
91 -d extension=%{modname}.so \
93 grep %{modname} modules.log
95 cat <<'EOF' > run-tests.sh
97 export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
99 PHP_EXECUTABLE=%{__php} \
100 PHP_TEST_SHARED_SYSTEM_EXTENSIONS="spl%{?with_session: session}%{?with_igbinary: igbinary}%{?with_msgpack: msgpack}" \
101 RUN_TESTS_SETTINGS="-q $*"
103 chmod +x run-tests.sh
109 rm -rf $RPM_BUILD_ROOT
111 INSTALL_ROOT=$RPM_BUILD_ROOT \
112 EXTENSION_DIR=%{php_extensiondir}
114 install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
115 cat <<'EOF' > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{modname}.ini
116 ; Enable %{modname} extension module
117 extension=%{modname}.so
120 cat %{modname}.ini >> $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{modname}.ini
123 rm -rf $RPM_BUILD_ROOT
126 %php_webserver_restart
129 if [ "$1" = 0 ]; then
130 %php_webserver_restart
134 %defattr(644,root,root,755)
136 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/%{modname}.ini
137 %attr(755,root,root) %{php_extensiondir}/%{modname}.so