summaryrefslogtreecommitdiffstats
path: root/php-phpdocumentor-reflection-common2.spec
blob: 9faf5b259c1b135730d520d91e17fc9641c0bfaa (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
# remirepo/fedora spec file for php-phpdocumentor-reflection-common2
#
# Copyright (c) 2017-2021 Remi Collet, Shawn Iwinski
#
# License: MIT
# http://opensource.org/licenses/MIT
#
# Please preserve changelog entries
#

%global github_owner     phpDocumentor
%global github_name      ReflectionCommon
%global github_version   2.2.0
%global github_commit    1d01c49d4ed62f25aa84a747ad35d5a16924662b

%global composer_vendor  phpdocumentor
%global composer_project reflection-common

%global major            2

# "php": "^7.2 || ^8.0"
%global php_min_ver 7.2

# Build using "--without tests" to disable tests
%global with_tests 0%{!?_without_tests:1}

%{!?phpdir:  %global phpdir  %{_datadir}/php}

Name:          php-%{composer_vendor}-%{composer_project}%{major}
Version:       %{github_version}
Release:       4%{?github_release}%{?dist}
Summary:       Common reflection classes used by phpdocumentor

Group:         Development/Libraries
License:       MIT
URL:           https://github.com/%{github_owner}/%{github_name}
# GitHub export does not include tests.
# Run makesrc.sh to create full source.
Source0:       %{name}-%{github_version}-%{github_commit}.tar.gz
Source1:       makesrc.sh

BuildArch:     noarch
# Tests
%if %{with_tests}
## composer.json
BuildRequires: php(language) >= %{php_min_ver}
BuildRequires: phpunit7
## phpcompatinfo (computed from version 2.0.0)
BuildRequires: php-pcre
BuildRequires: php-spl
## Autoloader
BuildRequires: php-fedora-autoloader-devel
%endif

# composer.json
Requires:      php(language) >= %{php_min_ver}
# phpcompatinfo (computed from version 2.0.0)
Requires:      php-pcre
Requires:      php-spl
# Autoloader
Requires:      php-composer(fedora/autoloader)

# Composer
Provides:      php-composer(%{composer_vendor}/%{composer_project}) = %{version}

%description
Common reflection classes used by phpdocumentor to reflect the code structure.

Autoloader: %{phpdir}/phpDocumentor/Reflection%{major}/autoload-common.php


%prep
%setup -qn %{github_name}-%{github_commit}


%build
: Create autoloader
%{_bindir}/phpab --template fedora --output src/autoload-common.php src


%install
mkdir -p %{buildroot}%{phpdir}/phpDocumentor
cp -rp src %{buildroot}%{phpdir}/phpDocumentor/Reflection%{major}


%check
%if %{with_tests}
BOOTSTRAP=%{buildroot}%{phpdir}/phpDocumentor/Reflection%{major}/autoload-common.php
mkdir vendor
touch vendor/autoload.php

: Upstream tests
RETURN_CODE=0
for PHP_EXEC in php php73 php74 php80; do
    if which $PHP_EXEC; then
        $PHP_EXEC -d auto_prepend_file=$BOOTSTRAP \
            %{_bindir}/phpunit7 --no-coverage --verbose || RETURN_CODE=1
    fi
done
exit $RETURN_CODE
%else
: Tests skipped
%endif


%files
%{!?_licensedir:%global license %%doc}
%license LICENSE
%doc *.md
%doc composer.json
%dir %{phpdir}/phpDocumentor
%dir %{phpdir}/phpDocumentor/Reflection%{major}
     %{phpdir}/phpDocumentor/Reflection%{major}/autoload-common.php
     %{phpdir}/phpDocumentor/Reflection%{major}/Element.php
     %{phpdir}/phpDocumentor/Reflection%{major}/File.php
     %{phpdir}/phpDocumentor/Reflection%{major}/Fqsen.php
     %{phpdir}/phpDocumentor/Reflection%{major}/Location.php
     %{phpdir}/phpDocumentor/Reflection%{major}/Project.php
     %{phpdir}/phpDocumentor/Reflection%{major}/ProjectFactory.php


%changelog
* Tue Mar 23 2021 Remi Collet <remi@remirepo.net> - 2.2.0-4
- switch to phpunit7

* Mon Jun 29 2020 Remi Collet <remi@remirepo.net> - 2.2.0-1
- update to 2.2.0
- raise dependency on PHP 7.2

* Mon Apr 27 2020 Remi Collet <remi@remirepo.net> - 2.1.0-1
- update to 2.1.0

* Fri Sep 13 2019 Remi Collet <remi@remirepo.net> - 2.0.0-2
- fix autoloader path in description

* Fri Sep 13 2019 Remi Collet <remi@remirepo.net> - 2.0.0-1
- update to 2.0.0
- rename to php-phpdocumentor-reflection-common2
- move to /usr/share/php/phpDocumentor/Reflection2
- raise dependency on PHP 7.1
- use phpunit6

* Sat Nov 18 2017 Remi Collet <remi@remirepo.net> - 1.0.1-1
- Update to 1.0.1
- ensure current version is used during the test
- use git snapshot as sources for tests

* Sat Mar 11 2017 Shawn Iwinski <shawn@iwin.ski> - 1.0-1
- Initial package