summaryrefslogtreecommitdiffstats
path: root/php-SymfonyCmfRouting.spec
blob: b9e86a844fe325770ef317721162afeb8c9587d5 (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
#
# RPM spec file for php-SymfonyCmfRouting
#
# Copyright (c) 2013-2014 Shawn Iwinski <shawn.iwinski@gmail.com>
#
# License: MIT
# http://opensource.org/licenses/MIT
#
# Please preserve changelog entries
#

%global github_owner    symfony-cmf
%global github_name     Routing
%global github_version  1.2.0
%global github_commit   c67258b875eef3cb08009bf1428499d0f01ce5e7

# "php": ">=5.3.3"
%global php_min_ver     5.3.3
# "symfony/*": "~2.2"
%global symfony_min_ver 2.2
%global symfony_max_ver 3.0
# "psr/log": "~1.0"
%global psr_log_min_ver 1.0
%global psr_log_max_ver 2.0

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

%{!?__phpunit:  %global __phpunit  %{_bindir}/phpunit}
%{!?phpdir:     %global phpdir     %{_datadir}/php}

Name:          php-SymfonyCmfRouting
Version:       %{github_version}
Release:       1%{?dist}
Summary:       Extends the Symfony2 routing component for dynamic routes and chaining

Group:         Development/Libraries
License:       MIT
URL:           http://symfony.com/doc/master/cmf/book/routing.html
Source0:       https://github.com/%{github_owner}/%{github_name}/archive/%{github_commit}/%{name}-%{github_version}-%{github_commit}.tar.gz

BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch:     noarch
%if %{with_tests}
# composer.json
BuildRequires: php(language)                   >= %{php_min_ver}
BuildRequires: php-composer(psr/log)           >= %{psr_log_min_ver}
BuildRequires: php-composer(psr/log)           <  %{psr_log_max_ver}
BuildRequires: php-phpunit-PHPUnit
BuildRequires: php-symfony-config              >= %{symfony_min_ver}
BuildRequires: php-symfony-config              <  %{symfony_max_ver}
BuildRequires: php-symfony-dependencyinjection >= %{symfony_min_ver}
BuildRequires: php-symfony-dependencyinjection <  %{symfony_max_ver}
BuildRequires: php-symfony-eventdispatcher     >= %{symfony_min_ver}
BuildRequires: php-symfony-eventdispatcher     <  %{symfony_max_ver}
BuildRequires: php-symfony-httpkernel          >= %{symfony_min_ver}
BuildRequires: php-symfony-httpkernel          <  %{symfony_max_ver}
BuildRequires: php-symfony-routing             >= %{symfony_min_ver}
BuildRequires: php-symfony-routing             <  %{symfony_max_ver}
# phpcompatinfo (computed from version 1.2.0)
BuildRequires: php-pcre
BuildRequires: php-spl
%endif

# composer.json
Requires:      php(language)               >= %{php_min_ver}
Requires:      php-composer(psr/log)       >= %{psr_log_min_ver}
Requires:      php-composer(psr/log)       <  %{psr_log_max_ver}
Requires:      php-symfony-httpkernel      >= %{symfony_min_ver}
Requires:      php-symfony-httpkernel      <  %{symfony_max_ver}
Requires:      php-symfony-routing         >= %{symfony_min_ver}
Requires:      php-symfony-routing         <  %{symfony_max_ver}
# composer.json: optional
Requires:      php-symfony-eventdispatcher >= %{symfony_min_ver}
Requires:      php-symfony-eventdispatcher <  %{symfony_max_ver}
# phpcompatinfo (computed from version 1.2.0)
Requires:      php-pcre
Requires:      php-spl

# Composer
Provides:      php-composer(symfony-cmf/routing) = %{version}

%description
The Symfony CMF Routing component extends the Symfony2 core routing component.
It provides:
* A ChainRouter to run several routers in parallel
* A DynamicRouter that can load routes from any database and can generate
      additional information in the route match

Even though it has Symfony in its name, the Routing component does not need the
full Symfony2 Framework and can be used in standalone projects.


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


%build
# Empty build section, nothing to build


%install
mkdir -pm 0755 %{buildroot}%{phpdir}/Symfony/Cmf/Component/Routing
cp -rp * %{buildroot}%{phpdir}/Symfony/Cmf/Component/Routing/


%check
%if %{with_tests}
# Create autoloader
mkdir vendor
cat > vendor/autoload.php <<'AUTOLOAD'
<?php

spl_autoload_register(function ($class) {
    $src = str_replace(array('\\', '_'), '/', $class).'.php';
    @include_once $src;
});
AUTOLOAD

%{__phpunit} --include-path %{buildroot}%{phpdir} -d date.timezone="UTC"
%else
: Tests skipped
%endif


%files
%defattr(-,root,root,-)
%{!?_licensedir:%global license %%doc}
%license LICENSE
%doc CHANGELOG.md README.md composer.json
%dir %{phpdir}/Symfony/Cmf
%dir %{phpdir}/Symfony/Cmf/Component
     %{phpdir}/Symfony/Cmf/Component/Routing
%exclude %{phpdir}/Symfony/Cmf/Component/Routing/LICENSE
%exclude %{phpdir}/Symfony/Cmf/Component/Routing/*.md
%exclude %{phpdir}/Symfony/Cmf/Component/Routing/composer.json
%exclude %{phpdir}/Symfony/Cmf/Component/Routing/phpunit.xml.dist
%exclude %{phpdir}/Symfony/Cmf/Component/Routing/Test*


%changelog
* Mon Oct 20 2014 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.2.0-1
- Updated to 1.2.0 (BZ #1096125)
- Enabled tests by default
- Updated URL, description, dependencies, %%check, and %%files
- Added "php-composer(symfony-cmf/routing)" virtual provide
- %%license usage

* Sat Nov 16 2013 Remi Collet <remi@fedoraproject.org> - 1.1.0-1.1
- backport 1.1.0 for remi repo.

* Wed Oct 30 2013 Shawn Iwinski <shawn.iwinski@gmail.com> 1.1.0-1
- Updated to 1.1.0
- Updated required pkg versions, required pkgs, summary, URL, and description
- php-common -> php(language)

* Thu May 16 2013 Remi Collet <remi@fedoraproject.org> - 1.0.1-1
- backport 1.0.1 for remi repo.

* Wed May 08 2013 Shawn Iwinski <shawn.iwinski@gmail.com> 1.0.1-1
- Updated to version 1.0.1
- Added php-pear(pear.symfony.com/HttpFoundation) require
- Only run tests with "--with tests" option
- Remove phpunit.xml.dist from packaging since tests themselves are not included

* Mon Mar 11 2013 Remi Collet <remi@fedoraproject.org> - 1.0.0-0.3.alpha4.20130306git4706313
- backport for remi repo.

* Sat Mar 09 2013 Shawn Iwinski <shawn.iwinski@gmail.com> 1.0.0-0.3.alpha4.20130306git4706313
- Added additional commits (snapshot) beyond tagged version 1.0.0-alpha4 which
  include several Symfony 2.2 fixes

* Tue Mar 05 2013 Shawn Iwinski <shawn.iwinski@gmail.com> 1.0.0-0.2.alpha4.20130121git92ee467
- Added globals symfony_min_ver and symfony_max_ver
- Removed tests sub-package

* Thu Jan 31 2013 Shawn Iwinski <shawn.iwinski@gmail.com> 1.0.0-0.1.alpha4.20130121git92ee467
- Initial package