summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore9
-rw-r--r--composer.json30
-rw-r--r--php-nikic-php-parser3-rpm.patch40
-rw-r--r--php-nikic-php-parser4.spec173
4 files changed, 252 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..6f69818
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,9 @@
+clog
+package-*.xml
+*.tgz
+*.tar.gz
+*.tar.bz2
+*.tar.xz
+*.tar.xz.asc
+*.src.rpm
+*/*rpm
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..66df90a
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,30 @@
+{
+ "name": "nikic/php-parser",
+ "description": "A PHP parser written in PHP",
+ "keywords": ["php", "parser"],
+ "type": "library",
+ "license": "BSD-3-Clause",
+ "authors": [
+ {
+ "name": "Nikita Popov"
+ }
+ ],
+ "require": {
+ "php": ">=5.5",
+ "ext-tokenizer": "*"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.0|~5.0"
+ },
+ "autoload": {
+ "psr-4": {
+ "PhpParser\\": "lib/PhpParser"
+ }
+ },
+ "bin": ["bin/php-parse"],
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ }
+}
diff --git a/php-nikic-php-parser3-rpm.patch b/php-nikic-php-parser3-rpm.patch
new file mode 100644
index 0000000..739d7ab
--- /dev/null
+++ b/php-nikic-php-parser3-rpm.patch
@@ -0,0 +1,40 @@
+diff -up ./bin/php-parse.rpm ./bin/php-parse
+--- ./bin/php-parse.rpm 2016-04-19 15:41:41.000000000 +0200
++++ ./bin/php-parse 2016-04-20 06:33:22.712063600 +0200
+@@ -1,12 +1,7 @@
+ #!/usr/bin/env php
+ <?php
+
+-foreach ([__DIR__ . '/../../../autoload.php', __DIR__ . '/../vendor/autoload.php'] as $file) {
+- if (file_exists($file)) {
+- require $file;
+- break;
+- }
+-}
++require '/usr/share/php/PhpParser3/autoload.php';
+
+ ini_set('xdebug.max_nesting_level', 3000);
+
+diff -up ./lib/bootstrap.php.rpm ./lib/bootstrap.php
+--- ./lib/bootstrap.php.rpm 2016-04-19 15:41:41.000000000 +0200
++++ ./lib/bootstrap.php 2016-04-20 06:33:22.712063600 +0200
+@@ -1,6 +1,6 @@
+ <?php
+
+ if (!class_exists('PhpParser\Autoloader')) {
+- require __DIR__ . '/PhpParser/Autoloader.php';
++ require __DIR__ . '/Autoloader.php';
+ }
+ PhpParser\Autoloader::register();
+diff -up ./test/bootstrap.php.rpm ./test/bootstrap.php
+--- ./test/bootstrap.php.rpm 2016-04-20 06:33:22.713063604 +0200
++++ ./test/bootstrap.php 2016-04-20 06:34:38.963385593 +0200
+@@ -2,7 +2,7 @@
+
+ namespace PhpParser;
+
+-require __DIR__ . '/../vendor/autoload.php';
++require '@BUILDROOT@/usr/share/php/PhpParser3/autoload.php';
+
+ function canonicalize($str) {
+ // normalize EOL style
diff --git a/php-nikic-php-parser4.spec b/php-nikic-php-parser4.spec
new file mode 100644
index 0000000..1752c40
--- /dev/null
+++ b/php-nikic-php-parser4.spec
@@ -0,0 +1,173 @@
+# remirepo/fedora spec file for php-nikic-php-parser3
+#
+# Copyright (c) 2016-2018 Remi Collet
+# License: CC-BY-SA
+# http://creativecommons.org/licenses/by-sa/4.0/
+#
+# Please, preserve the changelog entries
+#
+
+# For compatibility with SCL
+%undefine __brp_mangle_shebangs
+
+%global gh_commit bb87e28e7d7b8d9a7fda231d37457c9210faf6ce
+%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 with_tests 0%{!?_without_tests:1}
+%global major 3
+
+%global eolv1 0
+%global eolv2 0
+
+Name: php-%{gh_owner}-%{pk_project}%{major}
+Version: 3.1.5
+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) >= 5.5
+BuildRequires: php-tokenizer
+BuildRequires: php-filter
+BuildRequires: php-json
+BuildRequires: php-pcre
+BuildRequires: php-spl
+BuildRequires: php-xmlreader
+BuildRequires: php-xmlwriter
+# From composer.json, "require-dev": {
+# "phpunit/phpunit": "~4.0|~5.0"
+BuildRequires: php-composer(phpunit/phpunit) >= 4.0
+%endif
+
+# From composer.json, "require": {
+# "php": ">=5.5",
+# "ext-tokenizer": "*"
+Requires: php(language) >= 5.5
+Requires: php-tokenizer
+# From phpcompatinfo report for version 3.0.2
+Requires: php-filter
+Requires: php-json
+Requires: php-pcre
+Requires: php-spl
+Requires: php-xmlreader
+Requires: php-xmlwriter
+%if %{eolv1}
+Obsoletes: php-PHPParser < %{major}
+%endif
+%if %{eolv2}
+Obsoletes: php-%{gh_owner}-%{pk_project} < %{major}
+%endif
+Requires: php-cli
+
+Provides: php-composer(%{gh_owner}/%{pk_project}) = %{version}
+
+
+%description
+This is a PHP 5.2 to PHP 7.1 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}/PhpParser%{major}/autoload.php
+
+
+%prep
+%setup -q -n %{gh_project}-%{gh_commit}
+
+%patch0 -p1 -b .rpm
+
+
+%build
+# Empty build section, most likely nothing required.
+
+
+%install
+: Library
+mkdir -p %{buildroot}%{php_home}
+cp -pr lib/PhpParser %{buildroot}%{php_home}/PhpParser%{major}
+cp -p lib/bootstrap.php %{buildroot}%{php_home}/PhpParser%{major}/autoload.php
+
+: Command
+install -Dpm 0755 bin/php-parse %{buildroot}%{_bindir}/php-parse%{major}
+
+
+%check
+%if %{with_tests}
+: Test the command
+sed -e 's:%{php_home}:%{buildroot}%{php_home}:' \
+ bin/php-parse > 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 cmd in php php70 php71 php72; do
+ if which $cmd; then
+ $cmd %{_bindir}/phpunit --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}/PhpParser%{major}
+
+
+%changelog
+* Thu Mar 1 2018 Remi Collet <remi@remirepo.net> - 3.1.5-1
+- Update to 3.1.5
+
+* Fri Jan 26 2018 Remi Collet <remi@remirepo.net> - 3.1.4-1
+- Update to 3.1.4
+
+* Wed Dec 27 2017 Remi Collet <remi@remirepo.net> - 3.1.3-1
+- Update to 3.1.3
+
+* Mon Nov 6 2017 Remi Collet <remi@remirepo.net> - 3.1.2-1
+- Update to 3.1.2
+
+* Mon Sep 4 2017 Remi Collet <remi@remirepo.net> - 3.1.1-1
+- Update to 3.1.1
+
+* Sat Aug 5 2017 Remi Collet <remi@remirepo.net> - 3.1.0-1
+- Update to 3.1.0
+
+* Thu Jun 29 2017 Remi Collet <remi@remirepo.net> - 3.0.6-1
+- Update to 3.0.6
+
+* Mon Mar 6 2017 Remi Collet <remi@remirepo.net> - 3.0.5-1
+- Update to 3.0.5
+- always provide the command, with version suffix
+
+* Sat Feb 11 2017 Remi Collet <remi@fedoraproject.org> - 3.0.4-1
+- update to 3.0.4
+
+* Sat Feb 4 2017 Remi Collet <remi@fedoraproject.org> - 3.0.3-1
+- update to 3.0.3
+
+* Wed Dec 7 2016 Remi Collet <remi@fedoraproject.org> - 3.0.2-1
+- new package for library version 3
+