diff options
| -rw-r--r-- | php-ocramius-code-generator-utils.spec | 79 | 
1 files changed, 56 insertions, 23 deletions
diff --git a/php-ocramius-code-generator-utils.spec b/php-ocramius-code-generator-utils.spec index d1fcbc8..2954258 100644 --- a/php-ocramius-code-generator-utils.spec +++ b/php-ocramius-code-generator-utils.spec @@ -1,7 +1,8 @@ +# remirepo spec file for php-ocramius-code-generator-utils, from  # -# RPM spec file for php-ocramius-code-generator-utils +# Fedora spec file for php-ocramius-code-generator-utils  # -# Copyright (c) 2014-2015 Shawn Iwinski <shawn.iwinski@gmail.com> +# Copyright (c) 2014-2016 Shawn Iwinski <shawn.iwinski@gmail.com>  #  # License: MIT  # http://opensource.org/licenses/MIT @@ -24,14 +25,13 @@  %global php_parser_max_ver 2  # Build using "--without tests" to disable tests -%global with_tests  %{?_without_tests:0}%{!?_without_tests:1} +%global with_tests 0%{!?_without_tests:1} -%{!?phpdir:     %global phpdir     %{_datadir}/php} -%{!?__phpunit:  %global __phpunit  %{_bindir}/phpunit} +%{!?phpdir:  %global phpdir  %{_datadir}/php}  Name:          php-%{composer_vendor}-%{composer_project}  Version:       %{github_version} -Release:       1%{?github_release}%{?dist} +Release:       4%{?github_release}%{?dist}  Summary:       A set of code generator utilities built on top of PHP-Parsers  Group:         Development/Libraries @@ -46,11 +46,13 @@ BuildArch:     noarch  BuildRequires: php(language) >= %{php_min_ver}  BuildRequires: php-composer(nikic/php-parser) >= %{php_parser_min_ver}  BuildRequires: php-composer(nikic/php-parser) <  %{php_parser_max_ver} -BuildRequires: php-phpunit-PHPUnit +BuildRequires: php-composer(phpunit/phpunit)  # phpcompatinfo (computed from version 0.3.0)  BuildRequires: php-pcre  BuildRequires: php-reflection  BuildRequires: php-spl +# Autoloader +BuildRequires: php-composer(symfony/class-loader)  %endif  # composer.json @@ -59,8 +61,9 @@ Requires:      php-composer(nikic/php-parser) >= %{php_parser_min_ver}  Requires:      php-composer(nikic/php-parser) <  %{php_parser_max_ver}  # phpcompatinfo (computed from version 0.3.0)  Requires:      php-pcre -Requires:      php-reflection  Requires:      php-spl +# Autoloader +Requires:      php-composer(symfony/class-loader)  # Composer  Provides:      php-composer(%{composer_vendor}/%{composer_project}) = %{version} @@ -69,36 +72,59 @@ Provides:      php-composer(%{composer_vendor}/%{composer_project}) = %{version}  A set of code generator utilities built on top of PHP-Parsers that ease its use  when combined with Reflection. +Autoloader: %{phpdir}/CodeGenerationUtils/autoload.php +  %prep  %setup -qn %{github_name}-%{github_commit}  %build -# Empty build section, nothing required +: Create autoloader +cat <<'AUTOLOAD' | tee src/CodeGenerationUtils/autoload.php +<?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('CodeGenerationUtils\\', dirname(__DIR__)); + +// Required dependency +require_once '%{phpdir}/PhpParser/autoload.php'; + +return $fedoraClassLoader; +AUTOLOAD  %install  rm -rf %{buildroot} -mkdir -pm 0755 %{buildroot}%{phpdir} -cp -rp src/* %{buildroot}%{phpdir}/ + +mkdir -p %{buildroot}%{phpdir} +cp -rp src/CodeGenerationUtils %{buildroot}%{phpdir}/  %check  %if %{with_tests} -# Create autoloader -cat > autoload.php <<'AUTOLOAD' +: Create tests bootstrap +cat <<'BOOTSTRAP' | tee bootstrap.php  <?php +$fedoraClassLoader = require '%{buildroot}%{phpdir}/CodeGenerationUtils/autoload.php'; +$fedoraClassLoader->addPrefix('CodeGenerationUtilsTest\\', __DIR__.'/tests'); +BOOTSTRAP -spl_autoload_register(function ($class) { -    $src = str_replace('\\', '/', $class).'.php'; -    @include_once $src; -}); -AUTOLOAD - -%{__phpunit} \ -    --bootstrap autoload.php \ -    --include-path %{buildroot}%{phpdir}:./tests +%{_bindir}/phpunit --verbose --bootstrap bootstrap.php  %else  : Tests skipped  %endif @@ -112,11 +138,18 @@ rm -rf %{buildroot}  %defattr(-,root,root,-)  %{!?_licensedir:%global license %%doc}  %license LICENSE -%doc *.md composer.json +%doc *.md +%doc composer.json  %{phpdir}/CodeGenerationUtils  %changelog +* Wed Oct 12 2016 Remi Collet <remi@fedoraproject.org> - 0.3.2-4 +- add missing dependency for autoloader + +* Tue Oct 11 2016 Shawn Iwinski <shawn.iwinski@gmail.com> - 0.3.2-3 +- Add autoloader +  * Sun Aug  9 2015 Remi Collet <remi@fedoraproject.org> - 0.3.2-1  - update to 0.3.2  | 
