summaryrefslogtreecommitdiffstats
path: root/php-paragonie-random-compat.spec
blob: 559409b91468b30b2c6330277d91ea6f83eb6a68 (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
# remirepo spec file for php-paragonie-random-compat, from
#
# Fedora spec file for php-paragonie-random-compat
#
# Copyright (c) 2015-2019 Shawn Iwinski <shawn@iwin.ski>
#
# License: MIT
# http://opensource.org/licenses/MIT
#
# Please preserve changelog entries
#

%global github_owner     paragonie
%global github_name      random_compat
%global github_version   2.0.18
%global github_commit    0a58ef6e3146256cc3dc7cc393927bcc7d1b72db

%global composer_vendor  paragonie
%global composer_project random_compat

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

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

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

Name:          php-%{composer_vendor}-random-compat
Version:       %{github_version}
Release:       1%{?github_release}%{?dist}
Summary:       PHP 5.x polyfill for random_bytes() and random_int() from PHP 7

License:       MIT
URL:           https://github.com/%{github_owner}/%{github_name}

# GitHub export does not include tests.
# Run php-paragonie-random-compat-get-source.sh to create full source.
Source0:       %{name}-%{github_version}-%{github_commit}.tar.gz
Source1:       %{name}-get-source.sh

BuildArch:     noarch
# Tests
%if %{with_tests}
## composer.json
BuildRequires: php(language) >= %{php_min_ver}
BuildRequires: php-composer(phpunit/phpunit)
## phpcompatinfo (computed from version 2.0.18)
BuildRequires: php-mbstring
BuildRequires: php-openssl
BuildRequires: php-pcre
BuildRequires: php-zlib
%if 0%{?fedora} || 0%{?rhel} >= 7
BuildRequires: php-pecl(libsodium)
%endif
%endif

# composer.json
Requires:      php(language) >= %{php_min_ver}
# phpcompatinfo (computed from version 2.0.18)
Requires:      php-mbstring
Requires:      php-pcre
# Weak dependencies
%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8
Suggests:      php-pecl(libsodium)
%endif

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

%description
%{summary}.

Autoloader: %{phpdir}/random_compat/autoload.php


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

: Autoloader compat
ln -s random.php lib/autoload.php


%build
# Empty build section, nothing to build


%install
mkdir -p %{buildroot}%{phpdir}
cp -rp lib %{buildroot}%{phpdir}/random_compat


%check
%if %{with_tests}
: Upstream tests
RETURN_CODE=0
PHPUNIT=$(which phpunit)
for PHP_EXEC in php %{?rhel:php54 php55 php56 php70} php71 php72 php73 php74; do
    if which $PHP_EXEC; then
        $PHP_EXEC $PHPUNIT --verbose \
            --bootstrap %{buildroot}%{phpdir}/random_compat/autoload.php \
            || RETURN_CODE=1
    fi
done
exit $RETURN_CODE
%else
: Tests skipped
%endif


%files
%{!?_licensedir:%global license %%doc}
%license LICENSE
%doc *.md
%doc composer.json
%{phpdir}/random_compat


%changelog
* Sun Jun 16 2019 Shawn Iwinski <shawn.iwinski@gmail.com> - 2.0.18-1
- Updated to 2.0.18 (RHBZ #1589437)

* Fri Apr 20 2018 Remi Collet <remi@remirepo.net> - 2.0.12-1
- update to 2.0.12

* Sun Oct 08 2017 Shawn Iwinski <shawn.iwinski@gmail.com> - 2.0.11-1
- Updated to 2.0.11 (RHBZ #1496628)

* Fri Mar 17 2017 Shawn Iwinski <shawn.iwinski@gmail.com> - 2.0.10-1
- Updated to 2.0.10 (RHBZ #1432051)

* Mon Mar 13 2017 Remi Collet <remi@remirepo.net> - 2.0.10-1
- Update to 2.0.10

* Sun Mar 05 2017 Shawn Iwinski <shawn.iwinski@gmail.com> - 2.0.9-1
- Updated to 2.0.9 (RHBZ #1385987)

* Sat Mar  4 2017 Remi Collet <remi@remirepo.net> - 2.0.9-1
- Update to 2.0.9

* Tue Feb 28 2017 Remi Collet <remi@remirepo.net> - 2.0.7-1
- update to 2.0.7 (no change)

* Mon Feb 27 2017 Remi Collet <remi@remirepo.net> - 2.0.5-1
- update to 2.0.5

* Thu Dec 29 2016 Shawn Iwinski <shawn.iwinski@gmail.com> - 2.0.4-1
- Updated to 2.0.4 (RHBZ #1385987)
- Run upstream tests with SCLs if they are available

* Mon Apr 04 2016 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.4.1-1
- Updated to 1.4.1 (RHBZ #1318836)

* Sat Mar 12 2016 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.2.2-1
- Updated to 1.2.2 (RHBZ #1317102)

* Sat Mar 12 2016 Remi Collet <remi@remirepo.net> - 1.2.2-1
- update to 1.2.2

* Fri Mar 11 2016 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.2.1-1
- Updated to 1.2.1 (RHBZ #1296738)

* Thu Mar  3 2016 Remi Collet <remi@remirepo.net> - 1.2.1-1
- update to 1.2.1
- sources from git snapshot ro retrive tests

* Fri Jan  8 2016 Remi Collet <remi@remirepo.net> - 1.1.5-1
- update to 1.1.5

* Sun Jan 03 2016 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.1.4-1
- Updated to 1.1.4 (RHBZ #1290629)

* Thu Dec  3 2015 Remi Collet <remi@remirepo.net> - 1.1.0-2
- backport for remi repository
- run test suite with both php 5 and 7 when available

* Tue Dec 01 2015 Shawn Iwinski <shawn@iwin.ski> - 1.1.0-2
- Renamed from "php-paragonie-random_compat" ("_" => "-")
- Removed php-mcrypt suggest
- Added php-pecl(libsodium) suggest

* Wed Nov 25 2015 Shawn Iwinski <shawn@iwin.ski> - 1.1.0-1
- Initial package