]>
Commit | Line | Data |
---|---|---|
9ce6e03e ER |
1 | %define buildver %(pkg-config --silence-errors --modversion libsodium 2>/dev/null || echo 65536) |
2 | ||
3 | # | |
4 | # Conditional build: | |
5 | %bcond_without tests # build without tests | |
6 | ||
7 | %define php_name php%{?php_suffix} | |
8 | %define modname libsodium | |
9 | Summary: Wrapper for the Sodium cryptographic library | |
10 | Name: php-pecl-%{modname} | |
11 | Version: 1.0.2 | |
12 | Release: 1 | |
13 | License: BSD | |
14 | Group: Development/Languages | |
15 | Source0: http://pecl.php.net/get/%{modname}-%{version}.tgz | |
16 | # Source0-md5: b4083271f4fe0a94b8ae69320878a5e8 | |
17 | URL: http://pecl.php.net/package/libsodium | |
18 | # See https://github.com/jedisct1/libsodium-php/pull/70 | |
19 | Patch0: %{modname}-pr70.patch | |
f3d673b7 | 20 | Patch1: tests-php53.patch |
9ce6e03e ER |
21 | BuildRequires: %{php_name}-devel >= 4:5.3 |
22 | BuildRequires: libsodium-devel >= 0.6.0 | |
23 | BuildRequires: pkgconfig | |
24 | BuildRequires: rpmbuild(macros) >= 1.666 | |
25 | %if %{with tests} | |
26 | BuildRequires: %{php_name}-cli | |
27 | BuildRequires: %{php_name}-json | |
28 | %endif | |
29 | Requires: libsodium >= %{buildver} | |
30 | %{?requires_php_extension} | |
31 | Provides: php(libsodium) = %{version} | |
32 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
33 | ||
34 | %description | |
35 | A simple, low-level PHP extension for libsodium. | |
36 | ||
37 | Documentation: https://paragonie.com/book/pecl-libsodium | |
38 | ||
39 | %prep | |
40 | %setup -qc | |
41 | mv %{modname}-%{version}/* . | |
42 | ||
43 | %patch0 -p1 | |
f3d673b7 | 44 | %patch1 -p1 |
9ce6e03e ER |
45 | |
46 | # Sanity check, really often broken | |
47 | extver=$(sed -n '/#define PHP_LIBSODIUM_VERSION/{s/.* "//;s/".*$//;p}' php_libsodium.h) | |
48 | if test "x${extver}" != "x%{version}"; then | |
49 | : Error: Upstream extension version is ${extver}, expecting %{version}. | |
50 | exit 1 | |
51 | fi | |
52 | ||
53 | %build | |
54 | phpize | |
55 | %configure | |
56 | %{__make} | |
57 | ||
58 | %if %{with tests} | |
59 | : Minimal load test | |
60 | %{__php} -n \ | |
61 | -d extension_dir=modules \ | |
62 | -d extension=%{modname}.so \ | |
63 | -m > modules.log | |
64 | grep %{modname} modules.log | |
65 | ||
66 | : Upstream test suite | |
67 | export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2 | |
68 | %{__make} test \ | |
69 | PHP_EXECUTABLE=%{__php} \ | |
70 | PHP_TEST_SHARED_SYSTEM_EXTENSIONS="json" \ | |
71 | %endif | |
72 | ||
73 | %install | |
74 | rm -rf $RPM_BUILD_ROOT | |
75 | %{__make} install \ | |
76 | EXTENSION_DIR=%{php_extensiondir} \ | |
77 | INSTALL_ROOT=$RPM_BUILD_ROOT | |
78 | ||
79 | install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d | |
80 | cat <<'EOF' > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{modname}.ini | |
81 | ; Enable %{modname} extension module | |
82 | extension=%{modname}.so | |
83 | EOF | |
84 | ||
85 | %clean | |
86 | rm -rf $RPM_BUILD_ROOT | |
87 | ||
88 | %post | |
89 | %php_webserver_restart | |
90 | ||
91 | %postun | |
92 | if [ "$1" = 0 ]; then | |
93 | %php_webserver_restart | |
94 | fi | |
95 | ||
96 | %files | |
97 | %defattr(644,root,root,755) | |
98 | %doc README.md LICENSE | |
99 | %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/%{modname}.ini | |
100 | %attr(755,root,root) %{php_extensiondir}/%{modname}.so |