]>
Commit | Line | Data |
---|---|---|
8a94fd63 ER |
1 | # |
2 | # Conditional build: | |
01be7f54 | 3 | %bcond_without igbinary # memcached igbinary serializer support |
8a94fd63 | 4 | %bcond_without json # memcached json serializer support |
bc194a76 | 5 | %bcond_without msgpack # memcached msgpack serializer support |
8a94fd63 ER |
6 | %bcond_without sasl # memcached sasl support |
7 | %bcond_without session # memcached session handler support | |
f320a8b8 | 8 | %bcond_without tests # build without tests |
8a94fd63 | 9 | |
00a979fe | 10 | %define php_name php%{?php_suffix} |
1686b051 | 11 | %define modname memcached |
3ad40754 ŁK |
12 | Summary: Interface to memcached via libmemcached library |
13 | Summary(pl.UTF-8): Interfejs do memcached z użyciem biblioteki libmemcached | |
00a979fe | 14 | Name: %{php_name}-pecl-%{modname} |
bc194a76 | 15 | # for PHP < 7 support see 2.2.x branch |
32929cc6 | 16 | Version: 3.0.0 |
bc194a76 | 17 | Release: 0.4 |
ecc1f4a0 | 18 | License: PHP 3.01 |
b44f7c50 | 19 | Group: Development/Languages/PHP |
32929cc6 ER |
20 | Source0: https://github.com/php-memcached-dev/php-memcached/archive/php7/%{modname}-%{version}.tar.gz |
21 | # Source0-md5: df81b124ac101bd21922deb0ef2ad9b9 | |
b44f7c50 | 22 | URL: http://pecl.php.net/package/memcached/ |
c3fa9f03 | 23 | BuildRequires: %{php_name}-devel >= 4:7.0.0 |
cba71c6f | 24 | %{?with_igbinary:BuildRequires: %{php_name}-pecl-igbinary-devel} |
bc194a76 | 25 | %{?with_msgpack:BuildRequires: %{php_name}-pecl-msgpack-devel} |
8a94fd63 | 26 | %{?with_sasl:BuildRequires: cyrus-sasl-devel} |
2ef5d149 | 27 | BuildRequires: fastlz-devel |
b791cdba | 28 | BuildRequires: libmemcached-devel >= 1.0.18 |
b39e72bc ER |
29 | BuildRequires: pkgconfig |
30 | BuildRequires: re2c | |
00a979fe | 31 | BuildRequires: rpmbuild(macros) >= 1.650 |
5f6946b2 | 32 | BuildRequires: zlib-devel |
f320a8b8 ER |
33 | %if %{with tests} |
34 | BuildRequires: %{php_name}-cli | |
cba71c6f | 35 | %{?with_igbinary:BuildRequires: %{php_name}-pecl-igbinary} |
bc194a76 | 36 | %{?with_msgpack:BuildRequires: %{php_name}-pecl-msgpack} |
f320a8b8 | 37 | %{?with_session:BuildRequires: %{php_name}-session} |
cba71c6f | 38 | BuildRequires: %{php_name}-spl |
f320a8b8 | 39 | %endif |
b44f7c50 | 40 | %{?requires_php_extension} |
28bdaf6a | 41 | Suggests: %{php_name}-pecl-igbinary |
bc194a76 | 42 | Suggests: %{php_name}-pecl-msgpack |
cba71c6f | 43 | Suggests: %{php_name}-session |
28bdaf6a | 44 | Provides: php(%{modname}) = %{version} |
d30795a1 | 45 | Obsoletes: php-pecl-memcached < 2.2.0-1 |
b44f7c50 AG |
46 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
47 | ||
48 | %description | |
49 | This extension uses libmemcached library to provide API for | |
50 | communicating with memcached servers. | |
51 | ||
b44f7c50 | 52 | %description -l pl.UTF-8 |
c869a57e | 53 | Rozszerzenie to wykorzystuje bibliotekę memcached w celu udostępnienia |
b44f7c50 AG |
54 | API do komunikacji z serwerami memcached. |
55 | ||
b44f7c50 | 56 | %prep |
32929cc6 ER |
57 | %setup -qc |
58 | mv php-memcached-*/{.??*,*} . | |
b44f7c50 | 59 | |
2ef5d149 ER |
60 | rm fastlz/fastlz.c |
61 | ||
01be7f54 ER |
62 | # redirect tests fail (the actual tests they redirect work) |
63 | rm tests/experimental/serializer_igbinary.phpt | |
64 | rm tests/experimental/serializer_json.phpt | |
65 | ||
b44f7c50 AG |
66 | %build |
67 | phpize | |
ecc1f4a0 | 68 | %configure \ |
8a94fd63 ER |
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} \ | |
74 | --with-system-fastlz | |
b44f7c50 AG |
75 | %{__make} |
76 | ||
f320a8b8 ER |
77 | %if %{with tests} |
78 | # simple module load test | |
79 | %{__php} -n -q \ | |
80 | -d extension_dir=modules \ | |
81 | -d extension=%{php_extensiondir}/spl.so \ | |
82 | %if %{with session} | |
83 | -d extension=%{php_extensiondir}/session.so \ | |
cba71c6f ER |
84 | %endif |
85 | %if %{with igbinary} | |
86 | -d extension=%{php_extensiondir}/igbinary.so \ | |
bc194a76 ER |
87 | %endif |
88 | %if %{with msgpack} | |
89 | -d extension=%{php_extensiondir}/msgpack.so \ | |
f320a8b8 ER |
90 | %endif |
91 | -d extension=%{modname}.so \ | |
92 | -m > modules.log | |
93 | grep %{modname} modules.log | |
94 | ||
2a973f5a ER |
95 | cat <<'EOF' > run-tests.sh |
96 | #!/bin/sh | |
f320a8b8 | 97 | export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2 |
2a973f5a | 98 | exec %{__make} test \ |
f320a8b8 | 99 | PHP_EXECUTABLE=%{__php} \ |
bc194a76 | 100 | PHP_TEST_SHARED_SYSTEM_EXTENSIONS="spl%{?with_session: session}%{?with_igbinary: igbinary}%{?with_msgpack: msgpack}" \ |
2a973f5a ER |
101 | RUN_TESTS_SETTINGS="-q $*" |
102 | EOF | |
103 | chmod +x run-tests.sh | |
104 | ||
105 | ./run-tests.sh | |
f320a8b8 ER |
106 | %endif |
107 | ||
b44f7c50 AG |
108 | %install |
109 | rm -rf $RPM_BUILD_ROOT | |
b44f7c50 AG |
110 | %{__make} install \ |
111 | INSTALL_ROOT=$RPM_BUILD_ROOT \ | |
112 | EXTENSION_DIR=%{php_extensiondir} | |
87acf0f0 ER |
113 | |
114 | install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d | |
1686b051 ER |
115 | cat <<'EOF' > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{modname}.ini |
116 | ; Enable %{modname} extension module | |
117 | extension=%{modname}.so | |
ecc1f4a0 | 118 | |
b44f7c50 | 119 | EOF |
ecc1f4a0 | 120 | cat %{modname}.ini >> $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{modname}.ini |
b44f7c50 AG |
121 | |
122 | %clean | |
123 | rm -rf $RPM_BUILD_ROOT | |
124 | ||
125 | %post | |
126 | %php_webserver_restart | |
127 | ||
128 | %postun | |
129 | if [ "$1" = 0 ]; then | |
130 | %php_webserver_restart | |
131 | fi | |
132 | ||
133 | %files | |
134 | %defattr(644,root,root,755) | |
1686b051 ER |
135 | %doc CREDITS |
136 | %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/%{modname}.ini | |
137 | %attr(755,root,root) %{php_extensiondir}/%{modname}.so |