# remirepo/fedora spec file for php-microsoft-tolerant-php-parser # # Copyright (c) 2018 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # # Github %global gh_commit 694b1538bb73fdcf1b8ea8e20f5acd03aae594e9 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner Microsoft %global gh_project tolerant-php-parser # Packagist %global pk_vendor microsoft %global pk_name %{gh_project} # PSR-0 namespace %global ns_vendor %{gh_owner} %global ns_project PhpParser %global with_tests 0%{!?_without_tests:1} Name: php-%{pk_vendor}-%{pk_name} Version: 0.0.10 Release: 1%{?dist} Summary: Tolerant PHP-to-AST parser License: MIT URL: https://github.com/%{gh_owner}/%{gh_project} Source0: %{name}-%{version}-%{gh_short}.tgz # Create git snapshot as tests are excluded from official tarball Source1: makesrc.sh BuildArch: noarch %if %{with_tests} # For tests BuildRequires: php(language) >= 7.0 BuildRequires: php-reflection BuildRequires: php-json BuildRequires: php-spl BuildRequires: php-tokenizer # From composer.json, "require-dev": { # "phpunit/phpunit": "^6.4" BuildRequires: phpunit6 >= 6.4 %endif # Autoloader BuildRequires: php-fedora-autoloader-devel # From composer.json, "require": { # "php": ">=7.0" # php-parser 1.4 for autoloader Requires: php(language) >= 7.0 # From phpcompatifo report for 2.1.0 Requires: php-reflection Requires: php-json Requires: php-spl Requires: php-tokenizer # Autoloader Requires: php-composer(fedora/autoloader) Provides: php-composer(%{pk_vendor}/%{pk_name}) = %{version} %description This is an early-stage PHP parser designed, from the beginning, for IDE usage scenarios. There is still a ton of work to be done, so at this point, this repo mostly serves as an experiment and the start of a conversation. Autoloader %{_datadir}/php/%{ns_vendor}/%{ns_project}/autoload.php %prep %setup -q -n %{gh_project}-%{gh_commit} %build phpab --template fedora --output src/autoload.php src %install mkdir -p %{buildroot}%{_datadir}/php/%{ns_vendor} cp -pr src %{buildroot}%{_datadir}/php/%{ns_vendor}/%{ns_project} %check %if %{with_tests} sed -e 's:src/bootstrap.php:%{buildroot}%{_datadir}/php/%{ns_vendor}/%{ns_project}/autoload.php:' \ -i phpunit.xml : Run the test suite ret=0 for cmd in php php70 php71 php72; do if which $cmd; then $cmd %{_bindir}/phpunit6 --testsuite invariants || ret=1 $cmd %{_bindir}/phpunit6 --testsuite grammar || ret=1 $cmd %{_bindir}/phpunit6 --testsuite api || : ignore fi done exit $ret %else : Test suite disabled %endif %files %{!?_licensedir:%global license %%doc} %license LICENSE.txt %doc *.md %doc composer.json %dir %{_datadir}/php/%{ns_vendor} %{_datadir}/php/%{ns_vendor}/%{ns_project} %changelog * Tue Mar 20 2018 Remi Collet - 0.0.10-1 - update to 0.0.10 * Thu Feb 15 2018 Remi Collet - 0.0.9-1 - Update to 0.0.9 * Mon Jan 22 2018 Remi Collet - 0.0.8-1 - initial package