diff options
author | Remi Collet <fedora@famillecollet.com> | 2014-04-30 16:12:48 +0200 |
---|---|---|
committer | Remi Collet <fedora@famillecollet.com> | 2014-04-30 16:12:48 +0200 |
commit | c42c0417f27a31e04b63a0e6081567939f4e87d8 (patch) | |
tree | 8b740fdd20fb4ee3d58a09be50ffe031a9fa35d0 | |
parent | ef196d656cdab3440a76533ebd5833356741c6d5 (diff) |
php-phpunit-phpcov: 2.0.0, sources from github
-rw-r--r-- | autoload.php.in | 28 | ||||
-rw-r--r-- | php-phpunit-phpcov.spec | 100 | ||||
-rw-r--r-- | phpcov-rpm.patch | 27 |
3 files changed, 116 insertions, 39 deletions
diff --git a/autoload.php.in b/autoload.php.in new file mode 100644 index 0000000..f4358a0 --- /dev/null +++ b/autoload.php.in @@ -0,0 +1,28 @@ +<?php +/* Inspired from autoload from version 1.2.0 */ + +require 'PHPUnit/Autoload.php'; +require 'Symfony/Component/Console/autoloader.php'; +require 'SebastianBergmann/FinderFacade/autoload.php'; +/* +already required in PHPUnit +require 'PHP/CodeCoverage/Autoload.php'; +require 'SebastianBergmann/Diff/autoload.php'; +require 'SebastianBergmann/Version/autoload.php'; +*/ + +spl_autoload_register( + function($class) { + static $classes = null; + if ($classes === null) { + $classes = array( + ___CLASSLIST___ + ); + } + $cn = strtolower($class); + if (isset($classes[$cn])) { + require ___BASEDIR___$classes[$cn]; + } + } +); + diff --git a/php-phpunit-phpcov.spec b/php-phpunit-phpcov.spec index 29ed92c..2894413 100644 --- a/php-phpunit-phpcov.spec +++ b/php-phpunit-phpcov.spec @@ -6,35 +6,54 @@ # # Please, preserve the changelog entries # -%{!?pear_metadir: %global pear_metadir %{pear_phpdir}} +%global gh_commit 5e32a1355826e5e2e0e99b4e2d0762867f4a8181 +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_owner sebastianbergmann +%global gh_project phpcov +%global php_home %{_datadir}/php/SebastianBergmann %global pear_name phpcov %global pear_channel pear.phpunit.de +# not Ready +%global with_tests %{?_with_tests:1}%{!?_with_tests:0} + Name: php-phpunit-phpcov -Version: 1.1.0 +Version: 2.0.0 Release: 1%{?dist} Summary: TextUI front-end for PHP_CodeCoverage Group: Development/Libraries License: BSD -URL: https://github.com/sebastianbergmann/phpcov -Source0: http://%{pear_channel}/get/%{pear_name}-%{version}.tgz +URL: https://github.com/%{gh_owner}/%{gh_project} +Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}.tar.gz + +# Autoload template +Source1: autoload.php.in + +# Fix autoload for RPM +Patch0: %{gh_project}-rpm.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: php(language) >= 5.3.3 -BuildRequires: php-pear(PEAR) >= 1.9.4 -BuildRequires: php-channel(%{pear_channel}) - -Requires(post): %{__pear} -Requires(postun): %{__pear} -# from package.xml +BuildRequires: %{_bindir}/phpab +%if %{with_tests} +BuildRequires: php-phpunit-PHPUnit >= 4.0 +BuildRequires: php-phpunit-PHP-CodeCoverage >= 2.0 +BuildRequires: php-phpunit-diff >= 1.1 +BuildRequires: php-phpunit-FinderFacade >= 1.1 +BuildRequires: php-phpunit-Version >= 1.0.3 +BuildRequires: php-symfony-console >= 2.2 +%endif + +# from composer.json Requires: php(language) >= 5.3.3 -Requires: php-pear(PEAR) >= 1.9.4 -Requires: php-channel(%{pear_channel}) -Requires: php-pear(components.ez.no/ConsoleTools) >= 1.6 -Requires: php-pear(%{pear_channel}/PHPUnit) >= 3.7.0 -Requires: php-pear(%{pear_channel}/PHP_CodeCoverage) >= 1.2.0 +Requires: php-phpunit-PHPUnit >= 4.0 +Requires: php-phpunit-PHP-CodeCoverage >= 2.0 +Requires: php-phpunit-diff >= 1.1 +Requires: php-phpunit-FinderFacade >= 1.1 +Requires: php-phpunit-Version >= 1.0.3 +Requires: php-symfony-console >= 2.2 # from phpcompatinfo report for version 1.1.0 Requires: php-reflection Requires: php-spl @@ -49,28 +68,33 @@ TextUI front-end for PHP_CodeCoverage. %prep -%setup -q -c +%setup -q -n %{gh_project}-%{gh_commit} -cd %{pear_name}-%{version} -mv ../package.xml %{name}.xml +%patch0 -p0 -b .rpm %build -cd %{pear_name}-%{version} -# Empty build section, most likely nothing required. +phpab \ + --output src/autoload.php \ + --template %{SOURCE1} \ + src %install -rm -rf %{buildroot} -cd %{pear_name}-%{version} -%{__pear} install --nodeps --packagingroot %{buildroot} %{name}.xml +rm -rf %{buildroot} +mkdir -p %{buildroot}%{php_home} +cp -pr src %{buildroot}%{php_home}/PHPCOV + +install -D -p -m 755 phpcov %{buildroot}%{_bindir}/phpcov -# Clean up unnecessary files -rm -rf %{buildroot}%{pear_metadir}/.??* -# Install XML package description -mkdir -p %{buildroot}%{pear_xmldir} -install -pm 644 %{name}.xml %{buildroot}%{pear_xmldir} +%if %{with_tests} +%check +phpunit \ + --bootstrap src/autoload.php \ + -d date.timezone=UTC \ + tests +%endif %clean @@ -78,25 +102,23 @@ rm -rf %{buildroot} %post -%{__pear} install --nodeps --soft --force --register-only \ - %{pear_xmldir}/%{name}.xml >/dev/null || : - -%postun -if [ $1 -eq 0 ] ; then - %{__pear} uninstall --nodeps --ignore-errors --register-only \ - %{pear_channel}/%{pear_name} >/dev/null || : +if [ -x %{_bindir}/pear ]; then + %{_bindir}/pear uninstall --nodeps --ignore-errors --register-only \ + %{pear_channel}/%{pear_name} >/dev/null || : fi %files %defattr(-,root,root,-) -%doc %{pear_docdir}/%{pear_name} -%{pear_xmldir}/%{name}.xml -%dir %{pear_phpdir}/SebastianBergmann -%{pear_phpdir}/SebastianBergmann/PHPCOV +%doc LICENSE README.md composer.json +%{php_home}/PHPCOV %{_bindir}/phpcov %changelog +* Wed Apr 30 2014 Remi Collet <remi@fedoraproject.org> - 2.0.0-1 +- update to 2.0.0 +- sources from github + * Thu Sep 12 2013 Remi Collet <remi@fedoraproject.org> - 1.1.0-1 - initial package diff --git a/phpcov-rpm.patch b/phpcov-rpm.patch new file mode 100644 index 0000000..062caeb --- /dev/null +++ b/phpcov-rpm.patch @@ -0,0 +1,27 @@ +--- phpcov.rpm 2014-04-30 15:53:58.000000000 +0200 ++++ phpcov 2014-04-30 15:55:08.000000000 +0200 +@@ -42,23 +42,7 @@ + * @since File available since Release 1.0.0 + */ + +-$loaded = false; +- +-foreach (array(__DIR__ . '/../../autoload.php', __DIR__ . '/vendor/autoload.php') as $file) { +- if (file_exists($file)) { +- require $file; +- $loaded = true; +- break; +- } +-} +- +-if (!$loaded) { +- die( +- 'You need to set up the project dependencies using the following commands:' . PHP_EOL . +- 'wget http://getcomposer.org/composer.phar' . PHP_EOL . +- 'php composer.phar install' . PHP_EOL +- ); +-} ++require 'SebastianBergmann/PHPCOV/autoload.php'; + + $application = new SebastianBergmann\PHPCOV\Application; + $application->run(); |