[php-phpunit-phpcov] - update to 2.0.0 for PHPUnit 4 - sources from github - drop dependency on php-pezc-ConsoleTools - a

Remi Collet remi at fedoraproject.org
Tue May 6 08:44:57 UTC 2014


commit 8a459bd29a4189f68014c9f43bb57cc614cdaa82
Author: Remi Collet <remi at fedoraproject.org>
Date:   Tue May 6 10:45:17 2014 +0200

    - update to 2.0.0 for PHPUnit 4
    - sources from github
    - drop dependency on php-pezc-ConsoleTools
    - add dependencies on php-phpunit-diff, php-phpunit-FinderFacade, php-phpunit-Version and php-symfony-console

 .gitignore              |    1 +
 autoload.php.in         |   28 +++++++++++++
 php-phpunit-phpcov.spec |  103 ++++++++++++++++++++++++++++------------------
 phpcov-rpm.patch        |   27 ++++++++++++
 sources                 |    2 +-
 5 files changed, 120 insertions(+), 41 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 9764813..38ff59b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 clog
 php-phpunit-phpcov.spec~
 /phpcov-1.1.0.tgz
+/phpcov-2.0.0.tar.gz
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 c5854ad..6a6b059 100644
--- a/php-phpunit-phpcov.spec
+++ b/php-phpunit-phpcov.spec
@@ -1,40 +1,57 @@
 # spec file for php-phpunit-phpcov
 #
-# Copyright (c) 2013 Remi Collet
+# Copyright (c) 2013-2014 Remi Collet
 # License: CC-BY-SA
 # http://creativecommons.org/licenses/by-sa/3.0/
 #
 # Please, preserve the changelog entries
 #
-%{!?pear_metadir: %global pear_metadir %{pear_phpdir}}
-%{!?__pear: %{expand: %%global __pear %{_bindir}/pear}}
+%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
 
 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,48 +66,54 @@ 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
-cd %{pear_name}-%{version}
-%{__pear} install --nodeps --packagingroot %{buildroot} %{name}.xml
+mkdir -p   %{buildroot}%{php_home}
+cp -pr src %{buildroot}%{php_home}/PHPCOV
 
-# Clean up unnecessary files
-rm -rf %{buildroot}%{pear_metadir}/.??*
+install -D -p -m 755 phpcov %{buildroot}%{_bindir}/phpcov
 
-# 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
 
-%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 || :
+%post
+if [ -x %{_bindir}/pear ]; then
+   %{_bindir}/pear uninstall --nodeps --ignore-errors --register-only \
+      %{pear_channel}/%{pear_name} >/dev/null || :
 fi
 
 
 %files
-%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 at fedoraproject.org> - 2.0.0-1
+- update to 2.0.0 for PHPUnit 4
+- sources from github
+- drop dependency on php-pezc-ConsoleTools
+- add dependencies on php-phpunit-diff, php-phpunit-FinderFacade,
+  php-phpunit-Version and php-symfony-console
+
 * Thu Sep 12 2013 Remi Collet <remi at 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();
diff --git a/sources b/sources
index 561e736..6e7b022 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-b31ccc697554246ab625f63b28cd8ae5  phpcov-1.1.0.tgz
+ad552f250d5e1d416884bccdd4eee970  phpcov-2.0.0.tar.gz


More information about the scm-commits mailing list