summaryrefslogtreecommitdiffstats
path: root/php-evenement.spec
blob: 1768bbc2a1987b2b0ed01866196af39d977d3632 (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
# remirepo spec file for php-evenement, from:
#
# Fedora spec file for php-evenement
#
# License: MIT
# http://opensource.org/licenses/MIT
#
# Please preserve changelog entries
#
Name:       php-evenement
Version:    2.1.0
Release:    1%{?dist}
BuildArch:  noarch

License:    MIT
Summary:    Événement is a very simple event dispatching library for PHP
URL:        https://github.com/igorw/evenement
Source0:    %{url}/archive/v%{version}.tar.gz

BuildRequires: php-composer(phpunit/phpunit)
BuildRequires: php-composer(fedora/autoloader)
# phpcompatinfo (computed from version 2.1.0)
#     <none>

Requires:      php(language) >= 5.4.0
# This is for the autoloader
Requires:      php-composer(fedora/autoloader)
# phpcompatinfo (computed from version 2.1.0)
#     <none>

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


%description
Événement is a very simple event dispatching library for PHP.

It has the same design goals as Silex and Pimple, to empower the user
while staying concise and simple.

It is very strongly inspired by the EventEmitter API found in node.js.

Autoloader: %{_datadir}/php/Evenement/autoload.php


%prep
%setup -q -n evenement-%{version}


%build
: Create autoloader
cat <<'AUTOLOAD' | tee src/Evenement/autoload.php
<?php
/**
 * Autoloader for %{name} and its' dependencies
 * (created by %{name}-%{version}-%{release}).
 */
require_once '%{_datadir}/php/Fedora/Autoloader/autoload.php';

\Fedora\Autoloader\Autoload::addPsr4('Evenement\\', __DIR__);
AUTOLOAD


%install
install -d -p -m 0755 %{buildroot}/%{_datadir}/php

cp -a -r src/Evenement %{buildroot}/%{_datadir}/php/


%check
: Create tests autoloader
cat <<'AUTOLOAD' | tee autoload.php
<?php
require_once '%{buildroot}%{_datadir}/php/Evenement/autoload.php';

\Fedora\Autoloader\Autoload::addPsr4('Evenement\\Tests\\', __DIR__.'/tests/Evenement/Tests');

\Fedora\Autoloader\Dependencies::required([
    __DIR__.'/tests/Evenement/Tests/functions.php'
]);
AUTOLOAD

phpunit --bootstrap autoload.php

: Upstream tests
RETURN_CODE=0
PHPUNIT=$(which phpunit)
for PHP_EXEC in "" %{?rhel:php55} php56 php70 php71 php72; do
    if [ -z "$PHP_EXEC" ] || which $PHP_EXEC; then
        $PHP_EXEC $PHPUNIT --verbose --bootstrap autoload.php \
            || RETURN_CODE=1
    fi
done
exit $RETURN_CODE


%files
%{!?_licensedir:%global license %%doc}
%license LICENSE
%doc CHANGELOG.md composer.json README.md
%{_datadir}/php/Evenement


%changelog
* Sun Sep 10 2017 Shawn Iwinski <shawn@iwin.ski> - 2.1.0-1
- Update to 2.1.0
- Remove now unneeded patch
- Test with SCLs if available

* Tue Jan 24 2017 Remi Collet <remi@remirepo.net> - 2.0.0-3
- backport for remi repo

* Tue Jan 24 2017 Randy Barlow <bowlofeggs@fedoraproject.org> - 2.0.0-3
- Update the patch to work for PHP 5 and PHP 7.

* Tue Jan 17 2017 Shawn Iwinski <shawn@iwin.ski> - 2.0.0-2
- Use php-composer(fedora/autoloader) instead of php-composer(symfony/class-loader)
- Install to %%{_datadir}/php/Evenement instead of %%{_datadir}/php/Evenement/Evenement

* Sat Jan 14 2017 Randy Barlow <bowlofeggs@fedoraproject.org> - 2.0.0-1
- Initial release.