summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--php-ocramius-code-generator-utils.spec79
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