# remirepo/fedora spec file for php-nikic-php-parser4 # # Copyright (c) 2016-2018 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %global gh_commit 9c18e3db49fa469f5feffe40dbd7b1ec2b61e41f %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner nikic %global gh_project PHP-Parser %global pk_project php-parser %global php_home %{_datadir}/php %global ns_project PhpParser %global with_tests 0%{!?_without_tests:1} %global major 4 Name: php-%{gh_owner}-%{pk_project}%{major} Version: 4.0.0 Release: 1%{?dist} Summary: A PHP parser written in PHP License: BSD URL: https://github.com/%{gh_owner}/%{gh_project} Source: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{version}-%{gh_short}.tar.gz # Autoloader Patch0: %{name}-rpm.patch BuildArch: noarch %if %{with_tests} # For tests BuildRequires: php(language) >= 7.0 BuildRequires: php-tokenizer BuildRequires: php-reflection BuildRequires: php-ctype BuildRequires: php-json BuildRequires: php-pcre BuildRequires: php-spl # From composer.json, "require-dev": { # "phpunit/phpunit": "^6.5 || ^7.0" %if 0%{?fedora} >= 28 || 0%{?rhel} >= 8 %global phpunit %{_bindir}/phpunit7 BuildRequires: phpunit7 %else %global phpunit %{_bindir}/phpunit6 BuildRequires: phpunit6 >= 6.5 %endif # Autoloader BuildRequires: php-composer(fedora/autoloader) %endif # From composer.json, "require": { # "php": ">=7.0", # "ext-tokenizer": "*" Requires: php(language) >= 7.0 Requires: php-tokenizer # From phpcompatinfo report for version 4.0.0 Requires: php-reflection Requires: php-ctype Requires: php-json Requires: php-pcre Requires: php-spl Requires: php-cli # Autoloader BuildRequires: php-composer(fedora/autoloader) Provides: php-composer(%{gh_owner}/%{pk_project}) = %{version} %description This is a PHP 5.2 to PHP 7.2 parser written in PHP. Its purpose is to simplify static code analysis and manipulation. This package provides the library version %{major} and the php-parse%{major} command. Documentation: https://github.com/nikic/PHP-Parser/tree/master/doc Autoloader: %{php_home}/%{ns_project}%{major}/autoload.php %prep %setup -q -n %{gh_project}-%{gh_commit} %patch0 -p1 -b .rpm %build : Generate an simple PSR-4 autoloader cat << 'AUTOLOAD' | tee lib/%{ns_project}/autoload.php bin/php-parse-test php bin/php-parse-test --help : Test suite autoloader sed -e 's:@BUILDROOT@:%{buildroot}:' -i test/bootstrap.php : Upstream test suite ret=0 for cmdarg in "php %{phpunit}" "php70 %{_bindir}/phpunit6" php71 php72; do if which $cmdarg; then set $cmdarg $1 ${2:-%{_bindir}/phpunit7} --verbose || ret=1 fi done exit $ret %else : Test suite disabled %endif %files %{!?_licensedir:%global license %%doc} %license LICENSE %doc composer.json %doc *.md %{_bindir}/php-parse%{major} %{php_home}/%{ns_project}%{major} %changelog * Thu Mar 22 2018 Remi Collet - 4.0.0-1 - Update to 4.0.0 - rename to php-nikic-php-parser4 and move to /usr/share/php/PhpParser4 - raise dependency on PHP 7 - use phpunit6 or phpunit7 (F28+) * Thu Mar 1 2018 Remi Collet - 3.1.5-1 - Update to 3.1.5 * Fri Jan 26 2018 Remi Collet - 3.1.4-1 - Update to 3.1.4 * Wed Dec 27 2017 Remi Collet - 3.1.3-1 - Update to 3.1.3 * Mon Nov 6 2017 Remi Collet - 3.1.2-1 - Update to 3.1.2 * Mon Sep 4 2017 Remi Collet - 3.1.1-1 - Update to 3.1.1 * Sat Aug 5 2017 Remi Collet - 3.1.0-1 - Update to 3.1.0 * Thu Jun 29 2017 Remi Collet - 3.0.6-1 - Update to 3.0.6 * Mon Mar 6 2017 Remi Collet - 3.0.5-1 - Update to 3.0.5 - always provide the command, with version suffix * Sat Feb 11 2017 Remi Collet - 3.0.4-1 - update to 3.0.4 * Sat Feb 4 2017 Remi Collet - 3.0.3-1 - update to 3.0.3 * Wed Dec 7 2016 Remi Collet - 3.0.2-1 - new package for library version 3