diff options
Diffstat (limited to 'php-Metadata.spec')
-rw-r--r-- | php-Metadata.spec | 104 |
1 files changed, 48 insertions, 56 deletions
diff --git a/php-Metadata.spec b/php-Metadata.spec index d36ea5b..1201fea 100644 --- a/php-Metadata.spec +++ b/php-Metadata.spec @@ -1,8 +1,8 @@ # remirepo spec file for php-Metadata, from Fedora: # -# RPM spec file for php-Metadata +# Fedora spec file for php-Metadata # -# Copyright (c) 2013-2015 Shawn Iwinski <shawn.iwinski@gmail.com> +# Copyright (c) 2013-2017 Shawn Iwinski <shawn.iwinski@gmail.com> # # License: MIT # http://opensource.org/licenses/MIT @@ -12,8 +12,8 @@ %global github_owner schmittjoh %global github_name metadata -%global github_version 1.5.1 -%global github_commit 22b72455559a25777cfd28c4ffda81ff7639f353 +%global github_version 1.6.0 +%global github_commit 6a06970a10e0a532fb52d3959547123b84a3b3ab %global composer_vendor jms %global composer_project metadata @@ -32,43 +32,43 @@ Name: php-Metadata Version: %{github_version} -Release: 3%{?github_release}%{?dist} -Summary: A library for class/method/property metadata management in PHP +Release: 1%{?github_release}%{?dist} +Summary: Class/method/property metadata management in PHP Group: Development/Libraries License: ASL 2.0 URL: https://github.com/%{github_owner}/%{github_name} Source0: %{url}/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: %{_bindir}/phpunit -BuildRequires: php-composer(symfony/dependency-injection) +BuildRequires: php-composer(phpunit/phpunit) ## composer.json -BuildRequires: php(language) >= %{php_min_ver} -BuildRequires: php-composer(doctrine/cache) >= %{doctrine_cache_min_ver} -BuildRequires: php-composer(doctrine/cache) < %{doctrine_cache_max_ver} -## phpcompatinfo (computed from version 1.5.1) +BuildRequires: php(language) >= %{php_min_ver} +## phpcompatinfo (computed from version 1.6.0) BuildRequires: php-date BuildRequires: php-reflection BuildRequires: php-spl ## Autoloader -BuildRequires: php-composer(symfony/class-loader) +BuildRequires: php-composer(fedora/autoloader) %endif -Requires: php-composer(doctrine/cache) >= %{doctrine_cache_min_ver} -Requires: php-composer(doctrine/cache) < %{doctrine_cache_max_ver} -Requires: php-composer(symfony/dependency-injection) # composer.json Requires: php(language) >= %{php_min_ver} -# phpcompatinfo (computed from version 1.5.1) +# phpcompatinfo (computed from version 1.6.0) Requires: php-date Requires: php-reflection Requires: php-spl # Autoloader -Requires: php-composer(symfony/class-loader) +Requires: php-composer(fedora/autoloader) + +%if 0%{?fedora} >= 21 +# phpcompatinfo (computed from version 1.6.0) +Suggests: php-composer(doctrine/cache) +Suggests: php-composer(psr/cache) +Suggests: php-composer(symfony/dependency-injection) +%endif # Standard "php-{COMPOSER_VENDOR}-{COMPOSER_PROJECT}" naming Provides: php-%{composer_vendor}-%{composer_project} = %{version}-%{release} @@ -83,50 +83,37 @@ sources (annotations, YAML/XML/PHP configuration files). The metadata classes are used to abstract away that source and provide a common interface for all of them. +Autoloader: %{phpdir}/Metadata/autoload.php + %prep %setup -qn %{github_name}-%{github_commit} + +%build : Create autoloader cat <<'AUTOLOAD' | tee src/Metadata/autoload.php <?php /** * Autoloader for %{name} and its' dependencies - * - * Created by %{name}-%{version}-%{release} - * - * @return \Symfony\Component\ClassLoader\ClassLoader + * (created by %{name}-%{version}-%{release}). */ +require_once '%{phpdir}/Fedora/Autoloader/autoload.php'; -require_once '%{phpdir}/Doctrine/Common/Cache/autoload.php'; - -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('Metadata\\', dirname(__DIR__)); +\Fedora\Autoloader\Autoload::addPsr4('Metadata\\', __DIR__); -// Not all dependency autoloaders exist or are in every dist yet so fallback -// to using include path for dependencies for now -$fedoraClassLoader->setUseIncludePath(true); - -return $fedoraClassLoader; +\Fedora\Autoloader\Dependencies::optional(array( + '%{phpdir}/Doctrine/Common/Cache/autoload.php', + '%{phpdir}/Psr/Cache/autoload.php', + '%{phpdir}/Symfony/Component/DependencyInjection/autoload.php', +)); AUTOLOAD -%build -# Empty build section, nothing to build - %install -rm -rf %{buildroot} mkdir -p %{buildroot}%{phpdir} -cp -rp src/* %{buildroot}%{phpdir}/ +cp -rp src/Metadata %{buildroot}%{phpdir}/ %check @@ -134,25 +121,25 @@ cp -rp src/* %{buildroot}%{phpdir}/ : Create tests bootstrap cat <<'BOOTSTRAP' | tee bootstrap.php <?php - -$fedoraClassLoader = - require_once '%{buildroot}%{phpdir}/Metadata/autoload.php'; - -$fedoraClassLoader->addprefix('Metadata\\Tests\\', __DIR__ . '/tests'); +require_once '%{buildroot}%{phpdir}/Metadata/autoload.php'; +\Fedora\Autoloader\Autoload::addPsr4('Metadata\\Tests\\', __DIR__.'/tests/Metadata/Tests'); BOOTSTRAP -%{_bindir}/phpunit --verbose --bootstrap ./bootstrap.php +: 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 -%clean -rm -rf %{buildroot} - - %files -%defattr(-,root,root,-) %{!?_licensedir:%global license %%doc} %license LICENSE %doc *.md @@ -162,6 +149,11 @@ rm -rf %{buildroot} %changelog +* Sun Jun 04 2017 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.6.0-1 +- Updated to 1.6.0 +- Switched autoloader to php-composer(fedora/autoloader) +- Test with SCLs if available + * Sat Jul 11 2015 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.5.1-3 - Added autoloader - Added standard "php-{COMPOSER_VENDOR}-{COMPOSER_PROJECT}" naming provides |