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 |