summaryrefslogtreecommitdiffstats
path: root/php-mikey179-vfsstream.spec
blob: 5becd92c0b50bef057e8735ebaa1134370f11c74 (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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
# spec file for php-mikey179-vfsstream
#
# Copyright (c) 2014-2024 Remi Collet
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
#
%global gh_commit    fe695ec993e0a55c3abdda10a9364eb31c6f1bf0
%global gh_short     %(c=%{gh_commit}; echo ${c:0:7})
%global gh_owner     bovigo
%global gh_project   vfsStream
%global pk_owner     mikey179
%global pk_project   vfsstream
%global with_tests   %{?_without_tests:0}%{!?_without_tests:1}

Name:           php-%{pk_owner}-%{pk_project}
Version:        1.6.12
Release:        1%{?dist}
Summary:        PHP stream wrapper for a virtual file system

License:        BSD-3-Clause
URL:            https://github.com/%{gh_owner}/%{gh_project}
Source0:        https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{version}-%{gh_short}.tar.gz

BuildArch:      noarch
BuildRequires:  php(language) >= 7.1
BuildRequires:  %{_bindir}/phpab
%if %{with_tests}
# From composer.json, "require-dev": {
#        "phpunit/phpunit": "^7.5||^8.5||^9.6",
#        "yoast/phpunit-polyfills": "^2.0"
BuildRequires:  phpunit9 >= 9.6
BuildRequires: (php-composer(yoast/phpunit-polyfills) >= 2.0 with php-composer(yoast/phpunit-polyfills) < 3)
%endif

# From composer.json, "require": {
#        "php": ">=7.1.0"
Requires:       php(language) >= 7.1
# From phpcompatifo report for 1.6.0
Requires:       php-date
Requires:       php-dom
Requires:       php-pcre
Requires:       php-posix
Requires:       php-spl
Requires:       php-xml
Requires:       php-zip

# provides both cases for compatibility
Provides:       php-composer(%{pk_owner}/%{pk_project}) = %{version}
Provides:       php-composer(%{pk_owner}/%{gh_project}) = %{version}


%description
vfsStream is a PHP stream wrapper for a virtual file system that may be
helpful in unit tests to mock the real file system.

It can be used with any unit test framework, like PHPUnit or SimpleTest.

To use this library, you just have to add, in your project:
  require_once '%{_datadir}/php/org/bovigo/vfs/autoload.php';


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


%build
: Generate autoloader
%{_bindir}/phpab \
    --output src/main/php/org/bovigo/vfs/autoload.php \
             src/main/php/org/bovigo/vfs


%install
mkdir -p                %{buildroot}%{_datadir}/php
cp -pr src/main/php/org %{buildroot}%{_datadir}/php/org


%if %{with_tests}
%check
# erratic result in mock
rm src/test/php/org/bovigo/vfs/vfsStreamWrapperLargeFileTestCase.php

: Use installed tree and autoloader
mkdir vendor
cat << 'EOF' | tee -a vendor/autoload.php
<?php
require_once '%{buildroot}%{_datadir}/php/org/bovigo/vfs/autoload.php';
require_once '%{_datadir}/php/Yoast/PHPUnitPolyfills2/autoload.php';
EOF

ret=0
for cmd in php php81 php82 php83 php84; do
  if which $cmd; then
    VER=$($cmd -r 'echo PHP_VERSION_ID;')
    $cmd %{_bindir}/phpunit9 \
      --filter '^((?!(unregisterThirdPartyVfsScheme|unregisterWhenNotInRegisteredState)).)*$' \
      --verbose --no-coverage || ret=1
  fi
done
exit $ret
%endif


%files
%license LICENSE
%doc *.md
%doc composer.json

%dir %{_datadir}/php/org
%dir %{_datadir}/php/org/bovigo
     %{_datadir}/php/org/bovigo/vfs


%changelog
* Fri Aug 30 2024 Remi Collet <remi@remirepo.net> - 1.6.12-1
- update to 1.6.12
- raise dependency on PHP 7.1
- add build dependency on yoast/phpunit-polyfills 2.0

* Thu Aug 11 2022 Remi Collet <remi@remirepo.net> - 1.6.11-1
- update to 1.6.11

* Thu Jun 30 2022 Remi Collet <remi@remirepo.net> - 1.6.10-2
- add upstream patch for 8.2
- skip test suite with PHP >= 8.1

* Mon Sep 27 2021 Remi Collet <remi@remirepo.net> - 1.6.10-1
- update to 1.6.10

* Mon Jul 19 2021 Remi Collet <remi@remirepo.net> - 1.6.9-1
- update to 1.6.9

* Thu Oct 31 2019 Remi Collet <remi@remirepo.net> - 1.6.8-1
- update to 1.6.8

* Fri Aug  2 2019 Remi Collet <remi@remirepo.net> - 1.6.7-1
- update to 1.6.7

* Tue Apr  9 2019 Remi Collet <remi@remirepo.net> - 1.6.6-2
- fix vendor

* Tue Apr  9 2019 Remi Collet <remi@remirepo.net> - 1.6.6-1
- update to 1.6.6 (no change)
- project ownership have moved to bovigo

* Tue Oct 16 2018 Remi Collet <remi@remirepo.net> - 1.6.5-5
- ignore 1 failed test related to behavior change in 7.3
  open https://github.com/mikey179/vfsStream/pull/172

* Mon Mar  5 2018 Remi Collet <remi@remirepo.net> - 1.6.5-3
- provides both mikey179/vfsstream and mikey179/vfsStream

* Fri Aug  4 2017 Remi Collet <remi@remirepo.net> - 1.6.5-1
- Update to 1.6.5

* Mon Jul 18 2016 Remi Collet <remi@fedoraproject.org> - 1.6.4-1
- update to 1.6.4

* Wed Apr 13 2016 Remi Collet <remi@fedoraproject.org> - 1.6.3-1
- update to 1.6.3

* Wed Jan 13 2016 Remi Collet <remi@fedoraproject.org> - 1.6.2-1
- update to 1.6.2

* Fri Dec  4 2015 Remi Collet <remi@fedoraproject.org> - 1.6.1-1
- update to 1.6.1

* Wed Oct  7 2015 Remi Collet <remi@fedoraproject.org> - 1.6.0-1
- update to 1.6.0
- add generated autoloader

* Sun Mar 29 2015 Remi Collet <remi@fedoraproject.org> - 1.5.0-1
- update to 1.5.0
- create source from git snapshot for test suite
  see https://github.com/mikey179/vfsStream/issues/108

* Sun Sep 14 2014 Remi Collet <remi@fedoraproject.org> - 1.4.0-1
- update to 1.4.0

* Tue Jul 22 2014 Remi Collet <remi@fedoraproject.org> - 1.3.0-1
- update to 1.3.0
- fix license handling

* Fri Jun  6 2014 Remi Collet <remi@fedoraproject.org> - 1.2.0-2
- provides php-composer(mikey179/vfsstream)

* Tue May 13 2014 Remi Collet <remi@fedoraproject.org> - 1.2.0-1
- initial package