diff options
author | Remi Collet <fedora@famillecollet.com> | 2015-05-18 07:47:35 +0200 |
---|---|---|
committer | Remi Collet <fedora@famillecollet.com> | 2015-05-18 07:47:35 +0200 |
commit | 3528e65741e78eedf0a31cb2b29a198b27c082b8 (patch) | |
tree | 092faffc0ff07a6d431037ac7349eb8c603bd971 |
php-ocramius-proxy-manager: import from rawhide
-rw-r--r-- | php-ocramius-proxy-manager.spec | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/php-ocramius-proxy-manager.spec b/php-ocramius-proxy-manager.spec new file mode 100644 index 0000000..6d2d348 --- /dev/null +++ b/php-ocramius-proxy-manager.spec @@ -0,0 +1,147 @@ +# +# RPM spec file for php-ocramius-proxy-manager +# +# Copyright (c) 2015 Shawn Iwinski <shawn.iwinski@gmail.com> +# +# License: MIT +# http://opensource.org/licenses/MIT +# +# Please preserve changelog entries +# + +%global github_owner Ocramius +%global github_name ProxyManager +%global github_version 1.0.0 +%global github_commit a80a39fac4fbd771aea7d3871929933a3a1bbf3e + +%global composer_vendor ocramius +%global composer_project proxy-manager + +# "php": ">=5.3.3" +%global php_min_ver 5.3.3 +# "zendframework/zend-code": ">2.2.5,<3.0" +%global zf_min_ver 2.2.5 +%global zf_max_ver 3.0 + +# Skip tests for EPEL 6 b/c PHPUnit < 4 +# TODO: Need to get tests running on EPEL 6! +%if 0%{?el6} +%global with_tests 0 +%else +# Build using "--without tests" to disable tests +%global with_tests %{?_without_tests:0}%{!?_without_tests:1} +%endif + +%{!?phpdir: %global phpdir %{_datadir}/php} + +Name: php-%{composer_vendor}-%{composer_project} +Version: %{github_version} +Release: 1%{?github_release}%{?dist} +Summary: OOP proxy wrappers utilities + +Group: Development/Libraries +License: MIT +URL: http://ocramius.github.io/ProxyManager/ +Source0: https://github.com/%{github_owner}/%{github_name}/archive/%{github_commit}/%{name}-%{github_version}-%{github_commit}.tar.gz + +BuildArch: noarch +# For autoload generation +BuildRequires: %{_bindir}/phpab +%if %{with_tests} +# For tests +## composer.json +BuildRequires: %{_bindir}/phpunit +BuildRequires: php(language) >= %{php_min_ver} +BuildRequires: php-composer(zendframework/zend-code) >= %{zf_min_ver} +BuildRequires: php-composer(zendframework/zend-code) < %{zf_max_ver} +## phpcompatinfo (computed from version 1.0.0) +BuildRequires: php-pcre +BuildRequires: php-reflection +BuildRequires: php-spl +%endif + +# composer.json +Requires: php(language) >= %{php_min_ver} +Requires: php-composer(zendframework/zend-code) >= %{zf_min_ver} +Requires: php-composer(zendframework/zend-code) < %{zf_max_ver} +# phpcompatinfo (computed from version 1.0.0) +Requires: php-pcre +Requires: php-reflection +Requires: php-spl + +# Composer +Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version} + +%description +A library providing utilities to generate, instantiate and generally operate +with Object Proxies. + +Optional: +* php-ZendFramework2-Json + To have the JsonRpc adapter (Remote Object feature) +* php-ZendFramework2-Soap + To have the Soap adapter (Remote Object feature) +* php-ZendFramework2-Stdlib + To use the hydrator proxy +* php-ZendFramework2-XmlRpc + To have the XmlRpc adapter (Remote Object feature) +* php-ocramius-generated-hydrator + To have very fast object to array to object conversion for ghost objects + + +%prep +%setup -qn %{github_name}-%{github_commit} + + +%build +: Generate autoloader +%{_bindir}/phpab --nolower --output src/ProxyManager/autoload.php src/ProxyManager + +cat >> src/ProxyManager/autoload.php <<'AUTOLOAD' + +// TODO: Add Zend autoloaders from their packages when they are available +spl_autoload_register(function ($class) { + if (0 === strpos($class, 'Zend\\')) { + $src = str_replace('\\', '/', $class) . '.php'; + @include_once $src; + } +}); +AUTOLOAD + + +%install +mkdir -p %{buildroot}%{phpdir} +cp -rp src/* %{buildroot}%{phpdir}/ + + +%check +%if %{with_tests} +: Create tests autoload +%{_bindir}/phpab --nolower --output tests/autoload.php tests %{phpdir}/PHPUnit + +: Create mock Composer "vendor/autoload.php" +mkdir vendor +cat >> vendor/autoload.php <<'AUTOLOAD' +<?php +require __DIR__ . '/../tests/autoload.php'; +require '%{buildroot}%{phpdir}/ProxyManager/autoload.php'; +AUTOLOAD + +: Run tests +%{_bindir}/phpunit --exclude-group Performance +%else +: Tests skipped +%endif + + +%files +%{!?_licensedir:%global license %%doc} +%license LICENSE +%doc *.md +%doc composer.json +%{phpdir}/ProxyManager + + +%changelog +* Sat May 16 2015 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.0.0-1 +- Initial package |