1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
%global composer_vendor phpseclib
%global composer_project phpseclib
%global github_owner phpseclib
%global github_name phpseclib
%global github_commit ba6fb78f727cd09f2a649113b95468019e490585
%global github_short %(c=%{github_commit}; echo ${c:0:7})
%if 0%{?rhel} == 5
%global with_tests 0%{?_with_tests:1}
%else
%global with_tests 0%{!?_without_tests:1}
%endif
Name: php-%{composer_vendor}
Version: 2.0.1
Release: 1%{?dist}
Summary: PHP Secure Communications Library
Group: System Environment/Libraries
License: MIT
URL: https://github.com/%{github_owner}/%{github_name}
Source0: %{name}-%{version}-%{github_short}.tgz
Source1: %{name}-autoload.php
# Generate a full archive from git snapshot, with tests
Source2: makesrc.sh
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%if %{with_tests}
BuildRequires: php-composer(symfony/class-loader)
BuildRequires: %{_bindir}/phpunit
BuildRequires: %{_bindir}/phpab
# Optional at runtime, to avoid too muck skipped tests
BuildRequires: php-bcmath
BuildRequires: php-gmp
BuildRequires: php-mcrypt
%endif
Requires: php(language) >= 5.3.3
Requires: php-bcmath
Requires: php-date
Requires: php-gmp
Requires: php-hash
Requires: php-openssl
Requires: php-pcre
Requires: php-session
Requires: php-standard
Requires: php-xml
Requires: php-composer(symfony/class-loader)
Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version}
%description
MIT-licensed pure-PHP implementations of an arbitrary-precision integer
arithmetic library, fully PKCS#1 (v2.1) compliant RSA, DES, 3DES, RC4,
Rijndael, AES, Blowfish, Twofish, SSH-1, SSH-2, SFTP, and X.509
%prep
%setup -qn %{github_name}-%{github_commit}
cp %{SOURCE1} %{composer_vendor}/autoload.php
%build
%install
rm -rf %{buildroot}
mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/php
cp -pr %{composer_vendor} ${RPM_BUILD_ROOT}%{_datadir}/php
%if %{with_tests}
%check
%{_bindir}/phpab --output tests/bootstrap.php tests
echo 'require "%{buildroot}%{_datadir}/php/%{composer_vendor}/autoload.php";' >> tests/bootstrap.php
%{_bindir}/phpunit
if which php70; then
php70 %{_bindir}/phpunit
fi
%endif
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{_datadir}/php/%{composer_vendor}
%doc AUTHORS CHANGELOG.md composer.json README.md
%{!?_licensedir:%global license %%doc}
%license LICENSE
%changelog
* Tue Jan 19 2016 Remi Collet <remi@fedoraproject.org> - 2.0.1-1
- update to 1.0.1
- sources from git snapshot for tests
- run test suite with both PHP 5 and 7 when available
* Sun Sep 6 2015 Remi Collet <remi@fedoraproject.org> - 2.0.0-4
- change source0 to commit reference
- add BR for better test coverage
- add needed backport stuff for EL-5 in #remirepo
* Wed Sep 02 2015 François Kooman <fkooman@tuxed.net> - 2.0.0-3
- apply patch for test to avoid loading class that is now autoloaded
* Wed Sep 02 2015 François Kooman <fkooman@tuxed.net> - 2.0.0-2
- add autoload script
- make use of autoload script when running tests during build
- fix double inclusion of directory
* Sat Aug 08 2015 François Kooman <fkooman@tuxed.net> - 2.0.0-1
- initial package
|