From 970ac24904299e92ad52330ce3d266bce82227b7 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sep 06 2018 06:56:54 +0000 Subject: import from review #1625558 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..31596f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/php-microsoft-tolerant-php-parser-0.0.13-89ade27.tgz diff --git a/makesrc.sh b/makesrc.sh new file mode 100755 index 0000000..37cb6a2 --- /dev/null +++ b/makesrc.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +NAME=$(basename $PWD) +OWNER=$(sed -n '/^%global gh_owner/{s/.* //;p}' $NAME.spec) +PROJECT=$(sed -n '/^%global gh_project/{s/.* //;p}' $NAME.spec) +VERSION=$(sed -n '/^Version:/{s/.* //;p}' $NAME.spec) +COMMIT=$(sed -n '/^%global gh_commit/{s/.* //;p}' $NAME.spec) +SHORT=${COMMIT:0:7} + +echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION\n" + +echo "Cloning..." +rm -rf $PROJECT-$COMMIT +git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT + +echo "Getting commit..." +pushd $PROJECT-$COMMIT +git checkout $COMMIT +cp composer.json ../composer.json +popd + +echo "Archiving..." +tar czf $NAME-$VERSION-$SHORT.tgz --exclude-vcs $PROJECT-$COMMIT + +echo "Cleaning..." +rm -rf $PROJECT-$COMMIT + +echo "Done." diff --git a/php-microsoft-tolerant-php-parser.spec b/php-microsoft-tolerant-php-parser.spec new file mode 100644 index 0000000..22a2588 --- /dev/null +++ b/php-microsoft-tolerant-php-parser.spec @@ -0,0 +1,133 @@ +# 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 89ade271e639e0612deeccb0555f13c2224ecf84 +%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.13 +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 php73; 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 +* Mon Aug 20 2018 Remi Collet - 0.0.13-1 +- update to 0.0.13 + +* Tue Jun 12 2018 Remi Collet - 0.0.12-1 +- update to 0.0.12 + +* Sun May 13 2018 Remi Collet - 0.0.11-1 +- update to 0.0.11 + +* 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 diff --git a/sources b/sources new file mode 100644 index 0000000..b3fb42a --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (php-microsoft-tolerant-php-parser-0.0.13-89ade27.tgz) = 13356f5067cbd1235d3372c67c1be709e20839ff9aada5d6d5db8da541e4e5e0a30369d0b898242b8dece1f18734b60ea2362071c6d4a16b17bb21e13739ac5f