]> git.pld-linux.org Git - packages/php-pecl-igbinary.git/blob - php-pecl-igbinary.spec
fb9cbc66ee94a501e4ba1b3e791add09992fd60f
[packages/php-pecl-igbinary.git] / php-pecl-igbinary.spec
1 #
2 # Conditional build:
3 %bcond_without  tests           # build without tests
4
5 %define         php_name        php%{?php_suffix}
6 %define         modname igbinary
7 Summary:        Replacement for the standard PHP serializer
8 Name:           %{php_name}-pecl-%{modname}
9 Version:        3.0.1
10 Release:        1
11 License:        BSD
12 Group:          Development/Languages/PHP
13 Source0:        https://pecl.php.net/get/%{modname}-%{version}.tgz
14 # Source0-md5:  fb3b2f7fa306ca582afd9f382c409a24
15 Source2:        %{modname}.ini
16 URL:            https://pecl.php.net/package/igbinary
17 %{?with_tests:BuildRequires:    %{php_name}-cli}
18 BuildRequires:  %{php_name}-devel >= 4:7.0
19 %{?with_tests:BuildRequires:    %{php_name}-pcre}
20 %{?with_tests:BuildRequires:    %{php_name}-session}
21 %{?with_tests:BuildRequires:    %{php_name}-simplexml}
22 %{?with_tests:BuildRequires:    %{php_name}-spl}
23 BuildRequires:  rpmbuild(macros) >= 1.666
24 %{?requires_php_extension}
25 Requires:       %{php_name}-session
26 Provides:       php(%{modname}) = %{version}
27 Obsoletes:      php-pecl-igbinary < 1.1.1-6
28 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
29
30 %description
31 Igbinary is a drop in replacement for the standard PHP serializer.
32
33 Instead of time and space consuming textual representation, igbinary
34 stores php data structures in a compact binary form. Savings are
35 significant when using memcached or similar memory based storages for
36 serialized data.
37
38 %package devel
39 Summary:        Igbinary developer files (header)
40 Group:          Development/Libraries
41 Requires:       %{php_name}-devel
42 # does not require base
43
44 %description devel
45 These are the files needed to compile programs using Igbinary
46
47 %prep
48 %setup -qc
49 mv %{modname}-*/* .
50
51 cat <<'EOF' > run-tests.sh
52 #!/bin/sh
53 export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
54 exec %{__make} test \
55         PHP_EXECUTABLE=%{__php} \
56 %if "%php_major_version.%php_minor_version" >= "7.4"
57         PHP_TEST_SHARED_SYSTEM_EXTENSIONS="simplexml session" \
58 %else
59         PHP_TEST_SHARED_SYSTEM_EXTENSIONS="pcre spl simplexml session" \
60 %endif
61         RUN_TESTS_SETTINGS="-q $*"
62 EOF
63 chmod +x run-tests.sh
64
65 xfail() {
66         local t=$1
67         test -f $t
68         cat >> $t <<-EOF
69
70         --XFAIL--
71         Skip
72         EOF
73 }
74
75 while read line; do
76         t=${line##*\[}; t=${t%\]}
77         xfail $t
78 done << 'EOF'
79 Test serializing multiple reference groups to the same empty array [tests/igbinary_067.phpt]
80 EOF
81
82 %build
83 phpize
84 %configure
85 %{__make}
86
87 # simple module load test
88 %{__php} -n -q \
89         -dextension_dir=modules \
90         -dextension=%{php_extensiondir}/pcre.so \
91         -dextension=%{php_extensiondir}/spl.so \
92         -dextension=%{php_extensiondir}/simplexml.so \
93         -dextension=%{php_extensiondir}/session.so \
94         -dextension=%{modname}.so \
95         -m > modules.log
96 grep %{modname} modules.log
97
98 %if %{with tests}
99 ./run-tests.sh --show-diff
100 %endif
101
102 %install
103 rm -rf $RPM_BUILD_ROOT
104 install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir}}
105 %{__make} install \
106         EXTENSION_DIR=%{php_extensiondir} \
107         INSTALL_ROOT=$RPM_BUILD_ROOT
108
109 %if "%php_major_version.%php_minor_version" >= "7.4"
110 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/01_%{modname}.ini
111 %else
112 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/session_%{modname}.ini
113 %endif
114
115 %clean
116 rm -rf $RPM_BUILD_ROOT
117
118 %files
119 %defattr(644,root,root,755)
120 %doc COPYING CREDITS NEWS README.md
121 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/*_%{modname}.ini
122 %attr(755,root,root) %{php_extensiondir}/%{modname}.so
123
124 %files devel
125 %defattr(644,root,root,755)
126 %doc igbinary.php
127 %{_includedir}/php/ext/%{modname}
This page took 0.047325 seconds and 2 git commands to generate.