summaryrefslogtreecommitdiffstats
path: root/php-phpdocumentor-reflection-common2.spec
blob: 8fc80b1dad0804604d4fab0f8a0c99dd604b15c4 (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
# remirepo/fedora spec file for php-phpdocumentor-reflection-common2
#
# Copyright (c) 2017-2019 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.0.0
%global github_commit    63a995caa1ca9e5590304cd845c15ad6d482a62a

%global composer_vendor  phpdocumentor
%global composer_project reflection-common

%global major            2

# "php": ">=7.1"
%global php_min_ver 7.1

# 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:       2%{?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: phpunit6
## 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

: Upstream tests
RETURN_CODE=0
for PHP_EXEC in php php71 php72 php73 php74; do
    if which $PHP_EXEC; then
        $PHP_EXEC -d auto_prepend_file=$BOOTSTRAP \
            %{_bindir}/phpunit6 --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
* 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