# remirepo/Fedora spec file for php-phpstan-phpdoc-parser # # Copyright (c) 2023 Remi Collet # License: CC-BY-SA-4.0 # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %bcond_without tests %global gh_commit 10553ab3f0337ff1a71433c3417d7eb2a3eec1fd %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner phpstan %global gh_project phpdoc-parser %global php_home %{_datadir}/php %global namespace PHPStan %global library PhpDocParser %global major %nil Name: php-%{gh_owner}-%{gh_project}%{major} Version: 1.20.0 Release: 1%{?dist} Summary: PHPDoc parser with support for nullable, intersection and generic types License: MIT URL: https://github.com/%{gh_owner}/%{gh_project} # git snapshot to retrieve test suite Source0: %{gh_commit}/%{name}-%{version}-%{gh_short}.tgz Source1: makesrc.sh BuildArch: noarch # Tests %if %{with tests} BuildRequires: php(language) >= 7.2 BuildRequires: php-json BuildRequires: php-pcre # From composer, "require-dev": { # "php-parallel-lint/php-parallel-lint": "^1.2", # "phpstan/extension-installer": "^1.0", # "phpstan/phpstan": "^1.5", # "phpstan/phpstan-phpunit": "^1.1", # "phpstan/phpstan-strict-rules": "^1.0", # "phpunit/phpunit": "^9.5", # "symfony/process": "^5.2" %global phpunit %{_bindir}/phpunit9 BuildRequires: phpunit9 >= 9.5 %endif # Autoloader BuildRequires: php-fedora-autoloader-devel # From composer, "require": { # "php": "^7.2 || ^8.0" Requires: php(language) >= 7.2 # Autoloader Requires: php-composer(fedora/autoloader) # From phpcompatinfo report for version 2.4.2 Requires: php-json Requires: php-pcre Provides: php-composer(%{gh_owner}/%{gh_project}) = %{version} %description Next generation phpDoc parser with support for intersection types and generics. %prep %setup -q -n %{gh_project}-%{gh_commit} %build phpab --template fedora --output src/autoload.php src %install : library mkdir -p %{buildroot}%{php_home}/%{namespace}/ cp -pr src %{buildroot}%{php_home}/%{namespace}/%{library}%{major} %check %if %{with tests} mkdir vendor phpab --template fedora --output vendor/autoload.php tests : ignore tests using symfony/process rm tests/PHPStan/Parser/FuzzyTest.php : upstream test suite # use auto_prepend_file to ensure we use new version ret=0 for cmdarg in "php %{phpunit}" php80 php81 php82; do if which $cmdarg; then set $cmdarg $1 -d auto_prepend_file=%{buildroot}%{php_home}/%{namespace}/%{library}%{major}/autoload.php \ ${2:-%{_bindir}/phpunit9} \ -d memory_limit=1G \ --no-coverage \ --verbose || ret=1 fi done exit $ret %else : Test suite disabled %endif %files # remirepo:1 %{!?_licensedir:%global license %%doc} %license LICENSE %doc *.md %doc composer.json %dir %{php_home}/%{namespace} %{php_home}/%{namespace}/%{library}%{major} %changelog * Thu Apr 20 2023 Remi Collet - 1.20.0-1 - update to 1.20.0 * Wed Apr 19 2023 Remi Collet - 1.19.1-1 - update to 1.19.1 * Fri Apr 7 2023 Remi Collet - 1.18.1-1 - update to 1.18.1 * Thu Apr 6 2023 Remi Collet - 1.18.0-1 - update to 1.18.0 * Tue Apr 4 2023 Remi Collet - 1.17.1-1 - update to 1.17.1 * Mon Mar 20 2023 Remi Collet - 1.16.1-1 - initial package