summaryrefslogtreecommitdiffstats
path: root/php-gecko-packages-gecko-php-unit.spec
blob: 226f949872b5efbd966fa8fe8c0ae89d579aefd2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# remirepo/fedora spec file for php-gecko-packages-gecko-php-unit
#
# Copyright (c) 2016-2017 Remi Collet
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
#
%global gh_commit    ab525fac9a9ffea219687f261b02008b18ebf2d1
%global gh_short     %(c=%{gh_commit}; echo ${c:0:7})
#global gh_date      20150717
%global gh_owner     GeckoPackages
%global gh_project   GeckoPHPUnit
%global pk_owner     gecko-packages
%global pk_project   gecko-php-unit
%global php_home     %{_datadir}/php
%global with_tests   0%{!?_without_tests:1}

Name:           php-%{pk_owner}-%{pk_project}
Version:        2.2
Release:        1%{?gh_date:.%{gh_date}git%{gh_short}}%{?dist}
Summary:        Additional PHPUnit asserts and constraints

Group:          Development/Tools
License:        MIT
URL:            https://github.com/%{gh_owner}/%{gh_project}
# git snapshot to get upstream test suite
Source0:        %{name}-%{version}-%{gh_short}.tgz
Source1:        makesrc.sh

BuildArch:      noarch
%if %{with_tests}
# For tests
BuildRequires:  php(language) >= 5.3.6
BuildRequires:  php-dom
BuildRequires:  php-libxml
BuildRequires:  php-pcre
BuildRequires:  php-spl
# From composer.json,     "require-dev": {
#        "phpunit/phpunit": "4.0"
BuildRequires:  php-composer(phpunit/phpunit)
# Autoloader
BuildRequires:  php-composer(fedora/autoloader)
%endif

# From composer.json,     "require": {
#        "php": "^5.3.6 || ^7.0"
Requires:       php(language) >= 5.3.6
# From phpcompatinfo report for version 2.2
Requires:       php-dom
Requires:       php-libxml
Requires:       php-pcre
Requires:       php-spl
# Autoloader
Requires:       php-composer(fedora/autoloader)

Provides:       php-composer(%{pk_owner}/%{pk_project}) = %{version}


%description
Provides additional asserts to be used in PHPUnit tests.
The asserts are provided using Traits so no changes are needed
in the hierarchy of test classes.

Autoloader: %{php_home}/GeckoPackages/PHPUnit/autoload.php


%prep
%setup -q -n %{gh_project}-%{gh_commit}

cat << 'EOF' | tee src/PHPUnit/autoload.php
<?php
/* Autoloader for friendsofphp/php-cs-fixer and its dependencies */

require_once '%{php_home}/Fedora/Autoloader/autoload.php';
\Fedora\Autoloader\Autoload::addPsr4('GeckoPackages\\PHPUnit\\', __DIR__);

EOF


%build
# Empty build section, most likely nothing required.


%install
mkdir -p           %{buildroot}%{php_home}/GeckoPackages
cp -pr src/PHPUnit %{buildroot}%{php_home}/GeckoPackages/PHPUnit



%check
%if %{with_tests}
mkdir vendor
ln -s %{buildroot}%{php_home}/GeckoPackages/PHPUnit/autoload.php vendor/autoload.php

: Fix paths in unit tests
for unit in $(find tests -name \*Test.php -print); do
  sed -e 's:PHPUnit/tests:tests:' -i $unit
done

ret=0
for cmd in php php56 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
%dir %{php_home}/GeckoPackages
     %{php_home}/GeckoPackages/PHPUnit


%changelog
* Thu Aug 24 2017 Remi Collet <remi@remirepo.net> - 2.2-1
- Update to 2.2

* Wed Jun 28 2017 Remi Collet <remi@remirepo.net> - 2.1-1
- Update to 2.1

* Thu Dec  1 2016 Remi Collet <remi@fedoraproject.org> - 2.0.0-1
- initial package, version 2.0.0