diff options
-rw-r--r-- | php-jsonlint-bin-without-composer-autoloader.patch | 35 | ||||
-rw-r--r-- | php-jsonlint.spec | 76 |
2 files changed, 90 insertions, 21 deletions
diff --git a/php-jsonlint-bin-without-composer-autoloader.patch b/php-jsonlint-bin-without-composer-autoloader.patch new file mode 100644 index 0000000..fdad739 --- /dev/null +++ b/php-jsonlint-bin-without-composer-autoloader.patch @@ -0,0 +1,35 @@ +diff --git a/bin/jsonlint b/bin/jsonlint +index 1b9272a..c15cfa6 100755 +--- a/bin/jsonlint ++++ b/bin/jsonlint +@@ -1,4 +1,4 @@ +-#!/usr/bin/env php ++#!/usr/bin/php + <?php + + /* +@@ -10,20 +10,10 @@ + * file that was distributed with this source code. + */ + +-function includeIfExists($file) +-{ +- if (file_exists($file)) { +- return include $file; +- } +-} +- +-if ((!$loader = includeIfExists(__DIR__.'/../vendor/autoload.php')) && (!$loader = includeIfExists(__DIR__.'/../../../autoload.php'))) { +- $msg = 'You must set up the project dependencies, run the following commands:'.PHP_EOL. +- 'curl -sS https://getcomposer.org/installer | php'.PHP_EOL. +- 'php composer.phar install'.PHP_EOL; +- fwrite(STDERR, $msg); +- exit(1); +-} ++spl_autoload_register(function ($class) { ++ $src = str_replace('\\', '/', $class).'.php'; ++ @include_once $src; ++}); + + use Seld\JsonLint\JsonParser; + diff --git a/php-jsonlint.spec b/php-jsonlint.spec index 870809d..1dabed0 100644 --- a/php-jsonlint.spec +++ b/php-jsonlint.spec @@ -1,13 +1,29 @@ +# +# RPM spec file for php-jsonlint +# +# Copyright (c) 2013-2014 Shawn Iwinski <shawn.iwinski@gmail.com> +# Remi Collet <remi@fedoraproject.org> +# +# License: MIT +# http://opensource.org/licenses/MIT +# +# Please preserve changelog entries +# + %global github_owner Seldaek %global github_name jsonlint -%global github_version 1.1.2 -%global github_commit 7cd4c4965e17e6e4c07f26d566619a4c76f8c672 +%global github_version 1.2.0 +%global github_commit 9cae56dbe34f4392e7d0f559474df33749a39f8d +# "php": ">=5.3.0" %global php_min_ver 5.3.0 +# Build using "--without tests" to disable tests +%global with_tests %{?_without_tests:0}%{!?_without_tests:1} + Name: php-%{github_name} Version: %{github_version} -Release: 2%{?dist} +Release: 1%{?dist} Summary: JSON Lint for PHP Group: Development/Libraries @@ -15,19 +31,21 @@ License: MIT URL: https://github.com/%{github_owner}/%{github_name} Source0: %{url}/archive/%{github_commit}/%{name}-%{github_version}-%{github_commit}.tar.gz -# Upstream -Patch0: %{github_name}-phpunit.patch +# Bin usage without Composer autoloader +Patch0: %{name}-bin-without-composer-autoloader.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch -# For tests +%if %{with_tests} +# For tests: composer.json BuildRequires: php(language) >= %{php_min_ver} BuildRequires: php-phpunit-PHPUnit -# For tests: phpcompatinfo +# For tests: phpcompatinfo (computed from version 1.2.0) BuildRequires: php-pcre +%endif Requires: php(language) >= %{php_min_ver} -# phpcompatinfo +# phpcompatinfo (computed from version 1.2.0) Requires: php-pcre Provides: php-composer(seld/jsonlint) = %{version} @@ -45,29 +63,39 @@ This library is a port of the JavaScript jsonlint %patch0 -p1 -# Create PSR-0 autoloader for tests -( cat <<'AUTOLOAD' -<?php -spl_autoload_register(function ($class) { - $src = str_replace('\\', '/', $class).'.php'; - require_once $src; -}); -AUTOLOAD -) > autoload.php - %build # Empty build section, nothing to build %install -mkdir -p -m 755 %{buildroot}%{_datadir}/php/Seld +# Lib +mkdir -p %{buildroot}%{_datadir}/php/Seld cp -rp src/Seld/JsonLint %{buildroot}%{_datadir}/php/Seld/ +# Bin +mkdir -p %{buildroot}%{_bindir} +install -pm 0755 bin/jsonlint %{buildroot}%{_bindir}/ + %check -%{_bindir}/phpunit --bootstrap=./autoload.php \ - --include-path=./src:./tests . +%if %{with_tests} +# Create autoloader +cat > autoload.php <<'AUTOLOAD' +<?php +spl_autoload_register(function ($class) { + $src = str_replace('\\', '/', $class).'.php'; + @include_once $src; +}); +AUTOLOAD + +# Create PHPUnit config w/ colors turned off +sed 's/colors\s*=\s*"true"/colors="false"/' phpunit.xml.dist > phpunit.xml + +%{_bindir}/phpunit --bootstrap=./autoload.php --include-path=./src:./tests . +%else +: Tests skipped +%endif %files @@ -75,9 +103,15 @@ cp -rp src/Seld/JsonLint %{buildroot}%{_datadir}/php/Seld/ %doc LICENSE *.mdown composer.json %dir %{_datadir}/php/Seld %{_datadir}/php/Seld/JsonLint +%{_bindir}/jsonlint %changelog +* Wed Aug 20 2014 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.2.0-1 +- Updated to 1.2.0 (BZ #1124228) +- Added option to build without tests ("--without tests") +- Added bin + * Mon Jun 9 2014 Remi Collet <remi@fedoraproject.org> - 1.1.2-2 - fix FTBFS, include path during test - upstream patch for latest PHPUnit |