# remirepo/Fedora spec file for php-zendframework-zend-code # # Copyright (c) 2015-2016 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %global bootstrap 0 %global gh_commit 2a69bd42bddf9a955f3747af9e06b6d26e7c41ba %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner zendframework %global gh_project zend-code %global php_home %{_datadir}/php %global library Code %if %{bootstrap} %global with_tests 0%{?_with_tests:1} %else %global with_tests 0%{!?_without_tests:1} %endif Name: php-%{gh_owner}-%{gh_project} Version: 2.5.3 Release: 1%{?dist} Summary: Zend Framework %{library} component Group: Development/Libraries License: BSD URL: http://framework.zend.com/ Source0: %{gh_commit}/%{name}-%{version}-%{gh_short}.tgz Source1: makesrc.sh BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildArch: noarch # Tests %if %{with_tests} BuildRequires: php(language) >= 5.5 BuildRequires: php-pcre BuildRequires: php-reflection BuildRequires: php-spl BuildRequires: php-tokenizer BuildRequires: php-composer(%{gh_owner}/zend-eventmanager) >= 2.5 # From composer, "require-dev": { # "doctrine/common": ">=2.1", # "zendframework/zend-version": "~2.5", # "fabpot/php-cs-fixer": "1.7.*", # "phpunit/PHPUnit": "~4.0" BuildRequires: php-composer(%{gh_owner}/zend-version) >= 2.5 BuildRequires: php-composer(doctrine/common) >= 2.1 BuildRequires: php-composer(phpunit/phpunit) >= 4.0 # Autoloader BuildRequires: php-composer(%{gh_owner}/zend-loader) >= 2.5 %endif # From composer, "require": { # "php": ">=5.5", # "zendframework/zend-eventmanager": "~2.5" Requires: php(language) >= 5.5 %if ! %{bootstrap} Requires: php-composer(%{gh_owner}/zend-eventmanager) >= 2.5 Requires: php-composer(%{gh_owner}/zend-eventmanager) < 3 # From composer, "suggest": { # "doctrine/common": "Doctrine\\Common >=2.1 for annotation features", # "zendframework/zend-stdlib": "Zend\\Stdlib component" %if 0%{?fedora} >= 21 Suggests: php-composer(doctrine/common) >= 2.1 Suggests: php-composer(%{gh_owner}/zend-stdlib) %endif %endif # From phpcompatinfo report for version 2.5.2 Requires: php-pcre Requires: php-reflection Requires: php-spl Requires: php-tokenizer Obsoletes: php-ZendFramework2-%{library} < 2.5 Provides: php-ZendFramework2-%{library} = %{version} Provides: php-composer(%{gh_owner}/%{gh_project}) = %{version} %description Zend\Code\Generator provides facilities to generate arbitrary code using an object-oriented interface, both to create new code as well as to update existing code. While the current implementation is limited to generating PHP code, you can easily extend the base class in order to provide code generation for other tasks: JavaScript, configuration files, apache vhosts, etc. %prep %setup -q -n %{gh_project}-%{gh_commit} %build # Empty build section, nothing required %install rm -rf %{buildroot} mkdir -p %{buildroot}%{php_home}/Zend/ cp -pr src %{buildroot}%{php_home}/Zend/%{library} %check %if %{with_tests} # waiting for https://github.com/zendframework/zend-code/pull/5 sed -s '/Version.php/s:filePath.*$:filePath = "%{php_home}/Zend/Version/Version.php";:' \ -i test/Reflection/FileReflectionTest.php mkdir vendor cat << EOF | tee vendor/autoload.php array( 'namespaces' => array( 'ZendTest\\\\%{library}' => dirname(__DIR__).'/test/', 'Zend\\\\%{library}' => '%{buildroot}%{php_home}/Zend/%{library}' )))); require_once '%{php_home}/Zend/autoload.php'; EOF %{_bindir}/phpunit --include-path=%{buildroot}%{php_home} if which php70; then php70 %{_bindir}/phpunit --include-path=%{buildroot}%{php_home} fi %else : Test suite disabled %endif %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) %{!?_licensedir:%global license %%doc} %license LICENSE.md %doc CONTRIBUTING.md README.md %doc composer.json %{php_home}/Zend/%{library} %changelog * Thu Nov 19 2015 Remi Collet - 2.5.3-1 - update to 2.5.3 - run test suite with both PHP 5 and 7 when available * Tue Aug 4 2015 Remi Collet - 2.5.2-1 - initial package - open https://github.com/zendframework/zend-code/pull/5 avoid using 'vendor' path