# remirepo/fedora spec file for php-doctrine-reflection # # Copyright (c) 2018-2020 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 bc420ead87fdfe08c03ecc3549db603a45b06d4c %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner doctrine %global gh_project reflection # packagist %global pk_vendor %{gh_owner} %global pk_project %{gh_project} # Namespace %global ns_vendor Doctrine %global ns_project Common %global ns_subproj Reflection %if %{bootstrap} %global with_tests 0%{?_with_tests:1} %else %global with_tests 0%{!?_without_tests:1} %endif Name: php-%{pk_vendor}-%{pk_project} Version: 1.1.0 Release: 1%{?dist} Summary: Additional reflection functionality License: MIT URL: https://github.com/%{gh_owner}/%{gh_project} Source0: %{name}-%{version}-%{gh_short}.tgz Source1: makesrc.sh BuildArch: noarch BuildRequires: php-fedora-autoloader-devel %if %{with_tests} BuildRequires: php(language) >= 7.1 BuildRequires: php-reflection BuildRequires: php-pcre BuildRequires: php-spl BuildRequires: php-tokenizer # From composer.json # "phpstan/phpstan": "^0.11.0", # "phpstan/phpstan-phpunit": "^0.11.0", # "phpunit/phpunit": "^7.0", # "doctrine/coding-standard": "^5.0", # "doctrine/common": "^2.10" # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 BuildRequires: (php-composer(doctrine/annotations) >= 1.0 with php-composer(doctrine/annotations) < 2) BuildRequires: (php-composer(doctrine/common) >= 2.10 with php-composer(doctrine/common) < 3) # remirepo:6 %else BuildRequires: php-composer(doctrine/annotations) < 2 BuildRequires: php-composer(doctrine/annotations) >= 1.0 BuildRequires: php-composer(doctrine/common) < 3 BuildRequires: php-composer(doctrine/common) >= 2.10 %endif BuildRequires: phpunit7 %endif # From composer.json # "php": "^7.1" # "doctrine/annotations": "^1.0" Requires: php(language) >= 7.1 # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Requires: (php-composer(doctrine/annotations) >= 1.0 with php-composer(doctrine/annotations) < 2) # remirepo:4 %else Requires: php-composer(doctrine/annotations) < 2 Requires: php-composer(doctrine/annotations) >= 1.0 %endif # From phpcompatinfo report for version 1.0.0 Requires: php-reflection Requires: php-pcre Requires: php-tokenizer # Autoloader Requires: php-composer(fedora/autoloader) Provides: php-composer(%{pk_vendor}/%{pk_project}) = %{version} # Split off doctrine/common Conflicts: php-doctrine-common < 1:2.9 %description The Doctrine Reflection project is a simple library used by the various Doctrine projects which adds some additional functionality on top of the reflection functionality that comes with PHP. It allows you to get the reflection information about classes, methods and properties statically. Autoloader: %{_datadir}/php/%{ns_vendor}/%{ns_project}/%{ns_subproj}/autoload.php %prep %setup -q -n %{gh_project}-%{gh_commit} %build : Generate a simple autoloader %{_bindir}/phpab \ --output lib/%{ns_vendor}/%{ns_project}/%{ns_subproj}/autoload.php \ --template fedora \ lib/%{ns_vendor}/%{ns_project} cat << 'EOF' | tee -a lib/%{ns_vendor}/%{ns_project}/%{ns_subproj}/autoload.php // Dependencies \Fedora\Autoloader\Dependencies::required([ '%{_datadir}/php/%{ns_vendor}/%{ns_project}/Annotations/autoload.php', ]); EOF %install mkdir -p %{buildroot}%{_datadir}/php/%{ns_vendor} cp -pr lib/%{ns_vendor}/%{ns_project} %{buildroot}%{_datadir}/php/%{ns_vendor}/%{ns_project} %check %if %{with_tests} : Generate autoloader mkdir vendor %{_bindir}/phpab \ --output vendor/autoload.php \ --template fedora \ tests cat << 'EOF' | tee -a vendor/autoload.php require "%{buildroot}%{_datadir}/php/%{ns_vendor}/%{ns_project}/%{ns_subproj}/autoload.php"; require "%{_datadir}/php/%{ns_vendor}/%{ns_project}/autoload.php"; EOF # we don't want PHPStan (which pull nette framework) find tests -type f -exec grep -q PHPStan {} \; -delete -print : Run test suite ret=0 for cmd in php php71 php72 php73 php74; do if which $cmd; then $cmd %{_bindir}/phpunit7 \ --bootstrap vendor/autoload.php \ --verbose || ret=1 fi done exit $ret %else : Test suite disabled %endif %files %{!?_licensedir:%global license %%doc} %license LICENSE %doc *.md %doc composer.json %{_datadir}/php/%{ns_vendor}/%{ns_project}/%{ns_subproj}/ %changelog * Thu Jan 9 2020 Remi Collet - 1.1.0-1 - update to 1.1.0 * Thu Nov 22 2018 Remi Collet - 1.0.0-2 - fix conflicts * Thu Oct 18 2018 Remi Collet - 1.0.0-1 - initial package, version 1.0.0