summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore8
-rw-r--r--php-SymfonyCmfRouting.spec151
2 files changed, 89 insertions, 70 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..fc9aa8c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+clog
+package-*.xml
+*.tgz
+*.tar.gz
+*.tar.xz
+*.tar.xz.asc
+*.src.rpm
+*/*rpm
diff --git a/php-SymfonyCmfRouting.spec b/php-SymfonyCmfRouting.spec
index f4d4e5c..9eb1784 100644
--- a/php-SymfonyCmfRouting.spec
+++ b/php-SymfonyCmfRouting.spec
@@ -12,8 +12,8 @@
%global github_owner symfony-cmf
%global github_name routing
-%global github_version 1.4.0
-%global github_commit b93704ca098334f56e9b317932f21a4362e620db
+%global github_version 1.4.1
+%global github_commit fb1e7f85ff8c6866238b7e73a490a0a0243ae8ac
%global composer_vendor symfony-cmf
%global composer_project routing
@@ -26,9 +26,8 @@
# "symfony/http-kernel": "^2.2|3.*"
# "symfony/routing": "^2.2|3.*"
## NOTE: Min version not 2.2 because autoloaders required
-## NOTE: Max version not 4.0 to force version 2
%global symfony_min_ver 2.7.1
-%global symfony_max_ver 3.0
+%global symfony_max_ver 4.0
# "psr/log": "1.*"
## NOTE: Min version not 1.0 because autoloader required
%global psr_log_min_ver 1.0.1
@@ -49,37 +48,45 @@ 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
# Tests
%if %{with_tests}
BuildRequires: php-composer(phpunit/phpunit)
## composer.json
-BuildRequires: php(language) >= %{php_min_ver}
-BuildRequires: php-composer(psr/log) >= %{psr_log_min_ver}
-BuildRequires: php-composer(symfony/config) >= %{symfony_min_ver}
+BuildRequires: php(language) >= %{php_min_ver}
+BuildRequires: php-composer(psr/log) < %{psr_log_max_ver}
+BuildRequires: php-composer(psr/log) >= %{psr_log_min_ver}
+BuildRequires: php-composer(symfony/config) < %{symfony_max_ver}
+BuildRequires: php-composer(symfony/config) >= %{symfony_min_ver}
+BuildRequires: php-composer(symfony/dependency-injection) < %{symfony_max_ver}
BuildRequires: php-composer(symfony/dependency-injection) >= %{symfony_min_ver}
-BuildRequires: php-composer(symfony/event-dispatcher) >= %{symfony_min_ver}
-BuildRequires: php-composer(symfony/http-kernel) >= %{symfony_min_ver}
-BuildRequires: php-composer(symfony/routing) >= %{symfony_min_ver}
-## phpcompatinfo (computed from version 1.4.0)
+BuildRequires: php-composer(symfony/event-dispatcher) < %{symfony_max_ver}
+BuildRequires: php-composer(symfony/event-dispatcher) >= %{symfony_min_ver}
+BuildRequires: php-composer(symfony/http-kernel) < %{symfony_max_ver}
+BuildRequires: php-composer(symfony/http-kernel) >= %{symfony_min_ver}
+BuildRequires: php-composer(symfony/routing) < %{symfony_max_ver}
+BuildRequires: php-composer(symfony/routing) >= %{symfony_min_ver}
+## phpcompatinfo (computed from version 1.4.1)
BuildRequires: php-pcre
BuildRequires: php-spl
## Autoloader
-BuildRequires: php-composer(symfony/class-loader)
+BuildRequires: php-composer(fedora/autoloader)
%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(language) >= %{php_min_ver}
+Requires: php-composer(psr/log) >= %{psr_log_min_ver}
+Requires: php-composer(psr/log) < %{psr_log_max_ver}
Requires: php-composer(symfony/http-kernel) >= %{symfony_min_ver}
Requires: php-composer(symfony/http-kernel) < %{symfony_max_ver}
-Requires: php-composer(symfony/routing) >= %{symfony_min_ver}
-Requires: php-composer(symfony/routing) < %{symfony_max_ver}
-# phpcompatinfo (computed from version 1.4.0)
+Requires: php-composer(symfony/routing) >= %{symfony_min_ver}
+Requires: php-composer(symfony/routing) < %{symfony_max_ver}
+# phpcompatinfo (computed from version 1.4.1)
Requires: php-pcre
Requires: php-spl
+# Autoloader
+Requires: php-composer(fedora/autoloader)
+
# composer.json: optional
%if 0%{?fedora} > 21
Suggests: php-composer(symfony/event-dispatcher)
@@ -100,6 +107,8 @@ It provides:
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.
+Autoloader: %{phpdir}/Symfony/Cmf/Component/Routing/autoload.php
+
%prep
%setup -qn %{github_name}-%{github_commit}
@@ -112,35 +121,29 @@ cat <<'AUTOLOAD' | tee autoload.php
/**
* Autoloader for %{name} and its' dependencies
* (created by %{name}-%{version}-%{release}).
- *
- * @return \Symfony\Component\ClassLoader\ClassLoader
*/
-
-if (!isset($fedoraClassLoader) || !($fedoraClassLoader instanceof \Symfony\Component\ClassLoader\ClassLoader)) {
- if (!class_exists('Symfony\\Component\\ClassLoader\\ClassLoader', false)) {
- require_once '%{phpdir}/Symfony/Component/ClassLoader/ClassLoader.php';
- }
-
- $fedoraClassLoader = new \Symfony\Component\ClassLoader\ClassLoader();
- $fedoraClassLoader->register();
-}
-
-$fedoraClassLoader->addPrefix(
- 'Symfony\\Cmf\\Component\\Routing\\',
- dirname(dirname(dirname(dirname(__DIR__))))
-);
-
-// Required dependencies
-require_once '%{phpdir}/Psr/Log/autoload.php';
-require_once '%{phpdir}/Symfony/Component/HttpKernel/autoload.php';
-require_once '%{phpdir}/Symfony/Component/Routing/autoload.php';
-
-// Optional dependency
-if (file_exists('%{phpdir}/Symfony/Component/EventDispatcher/autoload.php')) {
- require_once '%{phpdir}/Symfony/Component/EventDispatcher/autoload.php';
-}
-
-return $fedoraClassLoader;
+require_once '%{phpdir}/Fedora/Autoloader/autoload.php';
+
+\Fedora\Autoloader\Autoload::addPsr4('Symfony\\Cmf\\Component\\Routing\\', __DIR__);
+
+\Fedora\Autoloader\Dependencies::required(array(
+ '%{phpdir}/Psr/Log/autoload.php',
+ array(
+ '%{phpdir}/Symfony3/Component/HttpKernel/autoload.php',
+ '%{phpdir}/Symfony/Component/HttpKernel/autoload.php',
+ ),
+ array(
+ '%{phpdir}/Symfony3/Component/Routing/autoload.php',
+ '%{phpdir}/Symfony/Component/Routing/autoload.php',
+ ),
+));
+
+\Fedora\Autoloader\Dependencies::optional(array(
+ array(
+ '%{phpdir}/Symfony3/Component/EventDispatcher/autoload.php',
+ '%{phpdir}/Symfony/Component/EventDispatcher/autoload.php',
+ ),
+));
AUTOLOAD
@@ -154,44 +157,46 @@ cp -rp * %{buildroot}%{phpdir}/Symfony/Cmf/Component/Routing/
: Create tests bootstrap
cat <<'BOOTSTRAP' | tee bootstrap.php
<?php
-$fedoraClassLoader =
- require_once '%{buildroot}%{phpdir}/Symfony/Cmf/Component/Routing/autoload.php';
-$fedoraClassLoader->addPrefix(
+require_once '%{buildroot}%{phpdir}/Symfony/Cmf/Component/Routing/autoload.php';
+
+\Fedora\Autoloader\Autoload::addPsr4(
'Symfony\\Cmf\\Component\\Routing\\Test\\',
- '%{buildroot}%{phpdir}'
+ '%{buildroot}%{phpdir}/Symfony/Cmf/Component/Routing/Test'
);
-$fedoraClassLoader->addPrefix(
+\Fedora\Autoloader\Autoload::addPsr4(
'Symfony\\Cmf\\Component\\Routing\\Tests\\',
- '%{buildroot}%{phpdir}'
+ '%{buildroot}%{phpdir}/Symfony/Cmf/Component/Routing/Tests'
);
-require_once '%{phpdir}/Symfony/Component/Config/autoload.php';
-require_once '%{phpdir}/Symfony/Component/DependencyInjection/autoload.php';
+\Fedora\Autoloader\Dependencies::required(array(
+ array(
+ '%{phpdir}/Symfony3/Component/Config/autoload.php',
+ '%{phpdir}/Symfony/Component/Config/autoload.php',
+ ),
+ array(
+ '%{phpdir}/Symfony3/Component/DependencyInjection/autoload.php',
+ '%{phpdir}/Symfony/Component/DependencyInjection/autoload.php',
+ ),
+));
BOOTSTRAP
-run=0
-ret=0
-if which php56; then
- php56 %{_bindir}/phpunit --bootstrap bootstrap.php || ret=1
- run=1
-fi
-if which php71; then
- php71 %{_bindir}/phpunit --bootstrap bootstrap.php || ret=1
- run=1
-fi
-if [ $run -eq 0 ]; then
-%{_bindir}/phpunit --verbose --bootstrap bootstrap.php
-fi
-exit $ret
+: Upstream tests
+RETURN_CODE=0
+PHPUNIT=$(which phpunit)
+for PHP_EXEC in "" %{?rhel:php54 php55} php56 php70 php71 php72; do
+ if [ -z "$PHP_EXEC" ] || which $PHP_EXEC; then
+ $PHP_EXEC $PHPUNIT --verbose --bootstrap bootstrap.php || RETURN_CODE=1
+ fi
+ done
+exit $RETURN_CODE
%else
: Tests skipped
%endif
%files
-%defattr(-,root,root,-)
%{!?_licensedir:%global license %%doc}
%license LICENSE
%doc CHANGELOG.md
@@ -208,6 +213,12 @@ exit $ret
%changelog
+* Fri Sep 22 2017 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.4.1-1
+- Update to 1.4.1
+- Allow Symfony 3
+- Add max versions to BuildRequires
+- Switch autloader to fedora/autoloader
+
* Thu Nov 03 2016 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.4.0-1
- Updated to 1.4.0 (RHBZ #1297159)