[php-symfony2-OptionsResolver] Initial import (#859271)

Shawn Iwinski siwinski at fedoraproject.org
Fri Oct 12 20:49:04 UTC 2012


commit 9569601395fe84a6aa2dc8aec5da12a53ff12b20
Author: Shawn Iwinski <shawn.iwinski at gmail.com>
Date:   Fri Oct 12 16:47:53 2012 -0400

    Initial import (#859271)

 .gitignore                                         |    1 +
 php-symfony2-OptionsResolver.spec                  |  117 ++++++++++++++++++++
 php-symfony2-OptionsResolver.tests.bootstrap.patch |   24 ++++
 sources                                            |    1 +
 4 files changed, 143 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..603e300 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/OptionsResolver-2.1.2.tgz
diff --git a/php-symfony2-OptionsResolver.spec b/php-symfony2-OptionsResolver.spec
new file mode 100644
index 0000000..5f23e2e
--- /dev/null
+++ b/php-symfony2-OptionsResolver.spec
@@ -0,0 +1,117 @@
+%{!?__pear: %{expand: %%global __pear %{_bindir}/pear}}
+
+%global pear_channel pear.symfony.com
+%global pear_name    %(echo %{name} | sed -e 's/^php-symfony2-//' -e 's/-/_/g')
+%global php_min_ver  5.3.3
+
+Name:             php-symfony2-OptionsResolver
+Version:          2.1.2
+Release:          2%{?dist}
+Summary:          Symfony2 %{pear_name} Component
+
+Group:            Development/Libraries
+License:          MIT
+URL:              http://symfony.com/components
+Source0:          http://%{pear_channel}/get/%{pear_name}-%{version}.tgz
+Patch0:           php-symfony2-OptionsResolver.tests.bootstrap.patch
+
+BuildArch:        noarch
+
+BuildRequires:    php-pear(PEAR)
+BuildRequires:    php-channel(%{pear_channel})
+# Test requires
+BuildRequires:    php-common >= %{php_min_ver}
+BuildRequires:    php-pear(pear.phpunit.de/PHPUnit)
+# Test requires: phpci
+Requires:         php-reflection
+Requires:         php-spl
+
+Requires:         php-common >= %{php_min_ver}
+Requires:         php-pear(PEAR)
+Requires:         php-channel(%{pear_channel})
+Requires(post):   %{__pear}
+Requires(postun): %{__pear}
+# phpci requires
+Requires:         php-reflection
+Requires:         php-spl
+
+Provides:         php-pear(%{pear_channel}/%{pear_name}) = %{version}
+
+%description
+OptionsResolver helps at configuring objects with option arrays.
+
+It supports default values on different levels of your class hierarchy, option
+constraints (required vs. optional, allowed values) and lazy options whose
+default value depends on the value of another option.
+
+
+%prep
+%setup -q -c
+
+# Patches
+cd %{pear_name}-%{version}
+%patch0 -p0
+cd ..
+
+# Modify PEAR package.xml file:
+# - Change role from "php" to "test" for all test files
+# - Remove md5sum from bootsrap.php file since it was patched
+sed -e '/phpunit.xml.dist/s/role="php"/role="test"/' \
+    -e '/Tests/s/role="php"/role="test"/' \
+    -e '/bootstrap.php/s/md5sum="[^"]*"\s*//' \
+    -i package.xml
+
+# package.xml is version 2.0
+mv package.xml %{pear_name}-%{version}/%{name}.xml
+
+
+%build
+# Empty build section, nothing required
+
+
+%install
+cd %{pear_name}-%{version}
+%{__pear} install --nodeps --packagingroot $RPM_BUILD_ROOT %{name}.xml
+
+# Clean up unnecessary files
+rm -rf $RPM_BUILD_ROOT%{pear_phpdir}/.??*
+
+# Install XML package description
+mkdir -p $RPM_BUILD_ROOT%{pear_xmldir}
+install -pm 644 %{name}.xml $RPM_BUILD_ROOT%{pear_xmldir}
+
+
+%check
+cd %{pear_name}-%{version}/Symfony/Component/%{pear_name}
+%{_bindir}/phpunit
+
+
+%post
+%{__pear} install --nodeps --soft --force --register-only \
+    %{pear_xmldir}/%{name}.xml >/dev/null || :
+
+
+%postun
+if [ $1 -eq 0 ] ; then
+    %{__pear} uninstall --nodeps --ignore-errors --register-only \
+        %{pear_channel}/%{pear_name} >/dev/null || :
+fi
+
+
+%files
+%doc %{pear_docdir}/%{pear_name}
+%{pear_xmldir}/%{name}.xml
+%dir %{pear_phpdir}/Symfony
+%dir %{pear_phpdir}/Symfony/Component
+     %{pear_phpdir}/Symfony/Component/%{pear_name}
+%{pear_testdir}/%{pear_name}
+
+
+%changelog
+* Mon Oct  8 2012 Shawn Iwinski <shawn.iwinski at gmail.com> 2.1.2-2
+- Added PEAR package.xml modificaions
+- Added patch for tests' bootstrap.php
+- Added tests (%%check)
+
+* Thu Sep 20 2012 Shawn Iwinski <shawn.iwinski at gmail.com> 2.1.2-1
+- Initial package
diff --git a/php-symfony2-OptionsResolver.tests.bootstrap.patch b/php-symfony2-OptionsResolver.tests.bootstrap.patch
new file mode 100644
index 0000000..e4f64b8
--- /dev/null
+++ b/php-symfony2-OptionsResolver.tests.bootstrap.patch
@@ -0,0 +1,24 @@
+--- Symfony/Component/OptionsResolver/Tests/bootstrap.php	2012-09-20 03:42:16.000000000 -0400
++++ Symfony/Component/OptionsResolver/Tests/bootstrap.php	2012-10-08 17:43:39.793922871 -0400
+@@ -10,9 +10,18 @@
+  */
+ 
+ spl_autoload_register(function ($class) {
+-    if (0 === strpos(ltrim($class, '/'), 'Symfony\Component\OptionsResolver')) {
+-        if (file_exists($file = __DIR__.'/../'.substr(str_replace('\\', '/', $class), strlen('Symfony\Component\OptionsResolver')).'.php')) {
+-            require_once $file;
++    if (0 === strpos(ltrim($class, '/'), 'Symfony\Component')) {
++        $file = substr(str_replace('\\', '/', $class), strlen('Symfony\Component')).'.php';
++        if (file_exists(__DIR__.'/../..'.$file)) {
++            // Load from source tree
++            require_once __DIR__.'/../..'.$file;
++        } else {
++            try {
++                // Try loading from incude path
++                require_once 'Symfony/Component'.$file;
++            } catch (Exception $e) {
++                // Fail silently so class not found fatal error still raised
++            }
+         }
+     }
+ });
diff --git a/sources b/sources
index e69de29..cfc54b2 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+9bb1a5320c28edb63426936d2e1ab404  OptionsResolver-2.1.2.tgz


More information about the scm-commits mailing list