# # Fedora spec file for php-guzzlehttp-promises # # Copyright (c) 2015 Shawn Iwinski # # License: MIT # http://opensource.org/licenses/MIT # # Please preserve changelog entries # %global github_owner guzzle %global github_name promises %global github_version 1.0.1 %global github_commit 2ee5bc7f1a92efecc90da7f6711a53a7be26b5b7 %global composer_vendor guzzlehttp %global composer_project promises # "php": ">=5.5.0" %global php_min_ver 5.5.0 # Build using "--without tests" to disable tests %global with_tests 0%{!?_without_tests:1} %{!?phpdir: %global phpdir %{_datadir}/php} Name: php-%{composer_vendor}-%{composer_project} Version: %{github_version} Release: 2%{?github_release}%{?dist} Summary: Guzzle promises library Group: Development/Libraries License: MIT URL: https://github.com/%{github_owner}/%{github_name} Source0: %{url}/archive/%{github_commit}/%{name}-%{github_version}-%{github_commit}.tar.gz BuildArch: noarch # Tests %if %{with_tests} ## composer.json BuildRequires: php(language) >= %{php_min_ver} BuildRequires: php-composer(phpunit/phpunit) ## phpcompatinfo (computed from version 1.0.1) BuildRequires: php-json BuildRequires: php-spl ## Autoloader BuildRequires: php-composer(symfony/class-loader) %endif # composer.json Requires: php(language) >= %{php_min_ver} # phpcompatinfo (computed from version 1.0.1) Requires: php-json Requires: php-spl # Autoloader Requires: php-composer(symfony/class-loader) # Composer Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version} %description Promises/A+ [1] implementation that handles promise chaining and resolution interactively, allowing for "infinite" promise chaining while keeping the stack size constant. [1] https://promisesaplus.com/ %prep %setup -qn %{github_name}-%{github_commit} : Create autoloader (cat <<'AUTOLOAD' register(); } $fedoraClassLoader->addPrefix('GuzzleHttp\\Promise\\', dirname(dirname(__DIR__))); require_once __DIR__ . '/functions.php'; return $fedoraClassLoader; AUTOLOAD ) | tee src/autoload.php %build # Empty build section, nothing required %install mkdir -p %{buildroot}%{phpdir}/GuzzleHttp/Promise cp -rp src/* %{buildroot}%{phpdir}/GuzzleHttp/Promise/ %check %if %{with_tests} sed "s#require.*autoload.*#require '%{buildroot}%{phpdir}/GuzzleHttp/Promise/autoload.php';#" \ -i tests/bootstrap.php %{_bindir}/phpunit --verbose %else : Tests skipped %endif %files %{!?_licensedir:%global license %%doc} %license LICENSE %doc *.md %doc composer.json %dir %{phpdir}/GuzzleHttp %{phpdir}/GuzzleHttp/Promise %changelog * Wed Jul 08 2015 Shawn Iwinski - 1.0.1-2 - Add autoloader dependencies - Modify autoloader * Mon Jul 06 2015 Shawn Iwinski - 1.0.1-1 - Initial package