%global composer_vendor phpseclib
%global composer_project phpseclib
%global github_owner phpseclib
%global github_name phpseclib
%global github_commit f8dd0e18d2328c447dd4190fecd11ef52680d968
%global github_short %(c=%{github_commit}; echo ${c:0:7})
%global with_tests 0%{!?_without_tests:1}
Name: php-%{composer_vendor}
Version: 2.0.5
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
%if %{with_tests}
BuildRequires: php-composer(fedora/autoloader)
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
# Autoloader
Requires: php-composer(fedora/autoloader)
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
# https://github.com/phpseclib/phpseclib/pull/1121
chmod -x phpseclib/Net/SCP.php
%build
%install
mkdir -p %{buildroot}%{_datadir}/php
cp -pr %{composer_vendor} %{buildroot}%{_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
ret=0
for cmd in php php70 php71 php72; do
if which $cmd; then
$cmd %{_bindir}/phpunit || ret=1
fi
done
exit $ret
%endif
%files
%{_datadir}/php/%{composer_vendor}
%doc AUTHORS CHANGELOG.md composer.json README.md
%{!?_licensedir:%global license %%doc}
%license LICENSE
%changelog
* Mon May 8 2017 Remi Collet <remi@remirepo.net> - 2.0.5-1
- Update to 2.0.5
- switch to fedora/autoloader
- use SCL of PHP when available for test suite
- open https://github.com/phpseclib/phpseclib/issues/1122 - regression with 5.3
- open https://github.com/phpseclib/phpseclib/pull/1121 - fix permission
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Oct 4 2016 Remi Collet <remi@fedoraproject.org> - 2.0.4-1
- update to 2.0.4
* Tue Jun 7 2016 Remi Collet <remi@fedoraproject.org> - 2.0.2-1
- update to 2.0.2
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Jan 19 2016 Remi Collet <remi@fedoraproject.org> - 2.0.1-1
- update to 2.0.1
- sources from git snapshot for tests
* 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