blob: 1e02d40f0443aa00f747d9c40156c4752afcc53f (
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
|
# remirepo/Fedora spec file for php-aura-di
#
# Copyright (c) 2015-2016 Remi Collet
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
#
%global bootstrap 0
%global gh_commit 81d5d9c602ca292a16e32001dcbd2adab5350e28
%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
%global gh_owner auraphp
%global gh_project Aura.Di
%global pk_owner aura
%global pk_project di
%global ns_owner Aura
%global ns_project Di
%global php_home %{_datadir}/php
%global with_tests 0%{!?_without_tests:1}
Name: php-%{pk_owner}-%{pk_project}
Version: 2.2.4
Release: 1%{?dist}
Summary: Dependency injection container system
Group: Development/Libraries
License: BSD
URL: https://github.com/%{gh_owner}/%{gh_project}
Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}-%{gh_short}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildArch: noarch
BuildRequires: %{_bindir}/phpab
# Tests
%if %{with_tests}
BuildRequires: php(language) >= 5.3.0
BuildRequires: php-reflection
BuildRequires: php-spl
BuildRequires: php-composer(phpunit/phpunit)
%endif
# From composer, "require": {
# "php": ">=5.3.0"
Requires: php(language) >= 5.3.0
# From phpcompatinfo report for version 2.2.4
Requires: php-reflection
Requires: php-spl
Provides: php-composer(%{pk_owner}/%{pk_project}) = %{version}
%description
The Aura.Di package provides a dependency injection container system
with the following features:
* constructor and setter injection
* explicit and implicit auto-resolution of typehinted constructor
parameter values
* configuration of setters across interfaces and traits
* inheritance of constructor parameter and setter method values
* lazy-loaded services, values, and instances
* instance factories
Autoloader: %{php_home}/%{ns_owner}/%{ns_project}/autoload.php
%prep
%setup -q -n %{gh_project}-%{gh_commit}
# Uggly hack, need by this package and others
# Only usable in phpunit environment
mv tests/_Config src/_Config
%build
: Generate a classmap autoloader
%{_bindir}/phpab --output src/autoload.php src
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{php_home}/%{ns_owner}
cp -pr src %{buildroot}%{php_home}/%{ns_owner}/%{ns_project}
%check
%if %{with_tests}
mkdir vendor
%{_bindir}/phpab --output vendor/autoload.php tests
cat << 'EOF' | tee -a vendor/autoload.php
require '%{buildroot}/%{php_home}/%{ns_owner}/%{ns_project}/autoload.php';
EOF
# remirepo:11
run=0
ret=0
if which php56; then
php56 %{_bindir}/phpunit --verbose || ret=1
run=1
fi
if which php71; then
php70 %{_bindir}/phpunit --verbose || ret=1
run=1
fi
if [ $run -eq 0 ]; then
%{_bindir}/phpunit --verbose
# remirepo:2
fi
exit $ret
%else
: Test suite disabled
%endif
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{!?_licensedir:%global license %%doc}
%license LICENSE
%doc *.md
%doc composer.json
%dir %{php_home}/%{ns_owner}/
%{php_home}/%{ns_owner}/%{ns_project}/
%changelog
* Fri Jul 1 2016 Remi Collet <remi@fedoraproject.org> - 2.2.4-1
- initial package
|