# remirepo/Fedora spec file for php-zendframework-zend-code # # Copyright (c) 2015-2019 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 268040548f92c2bfcba164421c1add2ba43abaaa %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: 3.4.1 Release: 1%{?dist} Summary: Zend Framework %{library} component License: BSD URL: https://zendframework.github.io/%{gh_project}/ Source0: %{gh_commit}/%{name}-%{version}-%{gh_short}.tgz Source1: makesrc.sh BuildArch: noarch # Tests %if %{with_tests} BuildRequires: php(language) >= 7.2 BuildRequires: php-pcre BuildRequires: php-reflection BuildRequires: php-spl BuildRequires: php-tokenizer # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 BuildRequires: (php-autoloader(%{gh_owner}/zend-eventmanager) >= 2.6 with php-autoloader(%{gh_owner}/zend-eventmanager) < 4) # From composer, "require-dev": { # "ext-phar": "*", # "doctrine/annotations": "^1.7", # "phpunit/phpunit": "^7.5.16 || ^8.4," # "zendframework/zend-coding-standard": "^1.0", # "zendframework/zend-stdlib": "^2.7 || ^3.0" BuildRequires: (php-composer(doctrine/annotations) >= 1.7 with php-composer(doctrine/annotations) < 2) BuildRequires: (php-autoloader(%{gh_owner}/zend-stdlib) >= 2.7 with php-autoloader(%{gh_owner}/zend-stdlib) < 4) # remirepo:8 %else BuildRequires: php-autoloader(%{gh_owner}/zend-eventmanager) < 4 BuildRequires: php-autoloader(%{gh_owner}/zend-eventmanager) >= 2.6 BuildRequires: php-composer(doctrine/annotations) < 2 BuildRequires: php-composer(doctrine/annotations) >= 1.7 BuildRequires: php-autoloader(%{gh_owner}/zend-stdlib) < 4 BuildRequires: php-autoloader(%{gh_owner}/zend-stdlib) >= 2.7 %endif BuildRequires: phpunit8 >= 8.4 %endif # Autoloader BuildRequires: php-fedora-autoloader-devel # From composer, "require": { # "php": "^7.1", # "zendframework/zend-eventmanager": "^2.6 || ^3.0"" Requires: php(language) >= 7.1 %if ! %{bootstrap} # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Requires: (php-autoloader(%{gh_owner}/zend-eventmanager) >= 2.6 with php-autoloader(%{gh_owner}/zend-eventmanager) < 4) # From composer, "suggest": { # "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", # "zendframework/zend-stdlib": "Zend\\Stdlib component" Suggests: php-composer(doctrine/annotations) Suggests: php-autoloader(%{gh_owner}/zend-stdlib) # remirepo:4 %else Requires: php-autoloader(%{gh_owner}/zend-eventmanager) < 4 Requires: php-autoloader(%{gh_owner}/zend-eventmanager) >= 2.6 %endif # Autoloader Requires: php-composer(fedora/autoloader) %endif # From phpcompatinfo report for version 2.6.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} Provides: php-autoloader(%{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. Documentation: https://zendframework.github.io/%{gh_project}/ %prep %setup -q -n %{gh_project}-%{gh_commit} mv LICENSE.md LICENSE %build : Create autoloader phpab --template fedora --output src/autoload.php src cat << 'EOF' | tee -a src/autoload.php \Fedora\Autoloader\Dependencies::required([ '%{php_home}/Zend/EventManager/autoload.php', ]); \Fedora\Autoloader\Dependencies::optional([ '%{php_home}/Doctrine/Common/Annotations/autoload.php', '%{php_home}/Zend/Stdlib/autoload.php', ]); EOF %install mkdir -p %{buildroot}%{php_home}/Zend/ cp -pr src %{buildroot}%{php_home}/Zend/%{library} %check %if %{with_tests} mkdir vendor cat << 'EOF' | tee vendor/autoload.php - 3.4.1-1 - update to 3.4.1 * Mon Oct 7 2019 Remi Collet - 3.4.0-1 - update to 3.4.0 - drop patch merged upstream - use phpunit8 * Mon Sep 2 2019 Remi Collet - 3.3.2-2 - update to 3.3.2 - use phpunit7 - use range dependencies - add patch for PHP 7.4 from https://github.com/zendframework/zend-code/pull/172 * Mon Aug 20 2018 Remi Collet - 3.3.1-1 - update to 3.3.1 * Tue Nov 28 2017 Remi Collet - 3.3.0-2 - switch from zend-loader to fedora/autoloader * Sat Oct 21 2017 Remi Collet - 3.3.0-1 - Update to 3.3.0 * Fri Aug 4 2017 Remi Collet - 3.2.0-1 - Update to 3.2.0 - raise dependency on PHP 7.1 - switch to phpunit6 * Tue Oct 25 2016 Remi Collet - 3.1.0-1 - update to 3.1.0 - raise dependency on PHP 5.6 * Fri Jul 1 2016 Remi Collet - 3.0.4-1 - update to 3.0.4 * Wed Jun 29 2016 Remi Collet - 3.0.3-2 - add patch for ocramius/proxy-manager https://github.com/zendframework/zend-code/pull/80 * Wed Jun 29 2016 Remi Collet - 3.0.3-1 - update to 3.0.0 for ZendFramework 3 * Thu Apr 21 2016 Remi Collet - 2.6.3-1 - update to 2.6.3 * Thu Jan 28 2016 Remi Collet - 2.6.2-1 - update to 2.6.2 - dependency on doctrine/annotations instrad of doctrine/common - raise dependency on zend-stdlib ~2.7 - raise dependency on zend-eventmanager ~2.6 * 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