From 6c3451b0ddb51d074f44a8347809dff20b8b88c9 Mon Sep 17 00:00:00 2001
From: Remi Collet <fedora@famillecollet.com>
Date: Tue, 30 Oct 2012 20:14:49 +0100
Subject: php-symfony2-Form:  sync with rawhide, update to 2.1.3

---
 bootstrap.php                           | 24 ---------
 php-symfony2-Form-tests-bootstrap.patch | 26 +++++++++
 php-symfony2-Form.spec                  | 96 +++++++++++++++++++++++----------
 3 files changed, 94 insertions(+), 52 deletions(-)
 delete mode 100644 bootstrap.php
 create mode 100644 php-symfony2-Form-tests-bootstrap.patch

diff --git a/bootstrap.php b/bootstrap.php
deleted file mode 100644
index 329fef2..0000000
--- a/bootstrap.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-date_default_timezone_set('UTC');
-spl_autoload_register(function ($class) {
-    if (0 === strpos(ltrim($class, '/'), 'Symfony\Component')) {
-        $file = substr(str_replace('\\', '/', $class), strlen('Symfony\Component')).'.php';
-        if (file_exists(__DIR__.'/../..'.$file)) {
-            # Run from source tree
-            require_once __DIR__.'/../..'.$file;
-        } else {
-            # Run from install dir
-            require_once 'Symfony/Component'.$file;        
-        }
-    }
-});
diff --git a/php-symfony2-Form-tests-bootstrap.patch b/php-symfony2-Form-tests-bootstrap.patch
new file mode 100644
index 0000000..0154679
--- /dev/null
+++ b/php-symfony2-Form-tests-bootstrap.patch
@@ -0,0 +1,26 @@
+--- Symfony/Component/Form/Tests/bootstrap.php	2012-09-20 03:42:11.000000000 -0400
++++ Symfony/Component/Form/Tests/bootstrap.php	2012-10-26 08:45:05.449221535 -0400
+@@ -9,10 +9,20 @@
+  * file that was distributed with this source code.
+  */
+ 
++date_default_timezone_set('UTC');
+ spl_autoload_register(function ($class) {
+-    if (0 === strpos(ltrim($class, '/'), 'Symfony\Component\Form')) {
+-        if (file_exists($file = __DIR__.'/../'.substr(str_replace('\\', '/', $class), strlen('Symfony\Component\Form')).'.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/php-symfony2-Form.spec b/php-symfony2-Form.spec
index b769a9b..14ffc83 100644
--- a/php-symfony2-Form.spec
+++ b/php-symfony2-Form.spec
@@ -1,11 +1,12 @@
-%{!?pear_metadir: %global pear_metadir %{pear_phpdir}}
 %{!?__pear: %{expand: %%global __pear %{_bindir}/pear}}
+%{!?pear_metadir: %global pear_metadir %{pear_phpdir}}
 
 %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-Form
-Version:          2.1.2
+Version:          2.1.3
 Release:          1%{?dist}
 Summary:          Symfony2 %{pear_name} Component
 
@@ -13,54 +14,79 @@ Group:            Development/Libraries
 License:          MIT
 URL:              http://symfony.com/components
 Source0:          http://%{pear_channel}/get/%{pear_name}-%{version}.tgz
-Source1:          bootstrap.php
+Patch0:           %{name}-tests-bootstrap.patch
 
 BuildRoot:        %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildArch:        noarch
 BuildRequires:    php-pear(PEAR)
 BuildRequires:    php-channel(%{pear_channel})
-# For tests
+# Test requires
+BuildRequires:    php(language) >= %{php_min_ver}
 BuildRequires:    php-pear(pear.phpunit.de/PHPUnit)
-BuildRequires:    php-pear(%{pear_channel}/EventDispatcher)
-BuildRequires:    php-pear(%{pear_channel}/Validator)
-BuildRequires:    php-pear(%{pear_channel}/Locale)
-BuildRequires:    php-pear(%{pear_channel}/OptionsResolver)
-
-Requires:         php-common >= 5.3.2
+BuildRequires:    php-pear(%{pear_channel}/EventDispatcher) >= 2.1.0
+BuildRequires:    php-pear(%{pear_channel}/Locale) >= 2.1.0
+BuildRequires:    php-pear(%{pear_channel}/OptionsResolver) >= 2.1.0
+BuildRequires:    php-pear(%{pear_channel}/HttpFoundation) >= 2.1.0
+BuildRequires:    php-pear(%{pear_channel}/Validator) >= 2.1.0
+# Test requires: phpci
+BuildRequires:    php-ctype
+BuildRequires:    php-date
+BuildRequires:    php-dom
+BuildRequires:    php-intl
+BuildRequires:    php-json
+BuildRequires:    php-pcre
+BuildRequires:    php-reflection
+BuildRequires:    php-session
+BuildRequires:    php-spl
+
+Requires:         php(language) >= %{php_min_ver}
 Requires:         php-pear(PEAR)
 Requires:         php-channel(%{pear_channel})
-Requires:         php-pear(%{pear_channel}/EventDispatcher) = %{version}
-Requires:         php-pear(%{pear_channel}/Validator) = %{version}
-Requires:         php-pear(%{pear_channel}/Locale) = %{version}
-Requires:         php-pear(%{pear_channel}/OptionsResolver) = %{version}
+Requires:         php-pear(%{pear_channel}/EventDispatcher) >= 2.1.0
+Requires:         php-pear(%{pear_channel}/Locale) >= 2.1.0
+Requires:         php-pear(%{pear_channel}/OptionsResolver) >= 2.1.0
 Requires(post):   %{__pear}
 Requires(postun): %{__pear}
 # phpci requires
 Requires:         php-ctype
 Requires:         php-date
+Requires:         php-dom
 Requires:         php-intl
+Requires:         php-json
 Requires:         php-pcre
 Requires:         php-reflection
 Requires:         php-session
 Requires:         php-spl
 # Optional requires
-Requires:         php-pear(%{pear_channel}/DependencyInjection) = %{version}
-Requires:         php-pear(%{pear_channel}/HttpFoundation) = %{version}
+Requires:         php-pear(%{pear_channel}/HttpFoundation) >= 2.1.0
+Requires:         php-pear(%{pear_channel}/Validator) >= 2.1.0
 
 Provides:         php-pear(%{pear_channel}/%{pear_name}) = %{version}
 
 %description
-%{summary}.
+Form provides tools for defining forms, rendering and binding request data
+to related models. Furthermore it provides integration with the Validation
+component.
 
 
 %prep
 %setup -q -c
 
-# Hum...
-sed -e '/CHANGELOG.md/s/role="php"/role="doc"/' \
+# Patches
+cd %{pear_name}-%{version}
+%patch0 -p0
+cd ..
+
+# Modify PEAR package.xml file:
+# - Remove .gitignore file
+# - Change role from "php" to "doc" for CHANGELOG.md file
+# - Change role from "php" to "test" for all test files
+# - Remove md5sum from bootsrap.php file since it was patched
+sed -e '/.gitignore/d' \
+    -e '/CHANGELOG.md/s/role="php"/role="doc"/' \
     -e '/phpunit.xml.dist/s/role="php"/role="test"/' \
     -e '/Tests/s/role="php"/role="test"/' \
-    -e '/.gitignore/d' \
+    -e '/bootstrap.php/s/md5sum="[^"]*"\s*//' \
     -i package.xml
 
 # package.xml is version 2.0
@@ -68,26 +94,25 @@ mv package.xml %{pear_name}-%{version}/%{name}.xml
 
 
 %build
-# Empty build section, nothing required.
+# Empty build section, nothing required
 
 
 %install
 cd %{pear_name}-%{version}
-%{__pear} install --nodeps --packagingroot $RPM_BUILD_ROOT %{name}.xml
+%{__pear} install --nodeps --packagingroot %{buildroot} %{name}.xml
 
 # Clean up unnecessary files
-rm -rf $RPM_BUILD_ROOT%{pear_metadir}/.??*
+rm -rf %{buildroot}%{pear_metadir}/.??*
 
 # Install XML package description
-mkdir -p $RPM_BUILD_ROOT%{pear_xmldir}
-install -pm 644 %{name}.xml $RPM_BUILD_ROOT%{pear_xmldir}
+mkdir -p %{buildroot}%{pear_xmldir}
+install -pm 644 %{name}.xml %{buildroot}%{pear_xmldir}
 
 
 %check
 %if 0%{?fedora} > 13
-cd %{pear_name}-%{version}/Symfony/Component/%{pear_name}/Tests
-cp %{SOURCE1} bootstrap.php
-phpunit  --bootstrap bootstrap.php --verbose .
+cd %{pear_name}-%{version}/Symfony/Component/%{pear_name}
+%{_bindir}/phpunit
 %else
 : Test temporary disabled on EL
 %endif
@@ -114,6 +139,21 @@ fi
 
 
 %changelog
+* Tue Oct 30 2012 Remi Collet <RPMS@FamilleCollet.com> 2.1.3-1
+- sync with rawhide, update to 2.1.3
+
+* Fri Oct 26 2012 Shawn Iwinski <shawn.iwinski@gmail.com> 2.1.2-1
+- Updated to upstream version 2.1.2
+- Updated description
+- PHP minimum version 5.3.3 instead of 5.3.2
+- Require other components ">= 2.1.0" instead of "= %%{version}"
+- Added php-dom, php-json, OptionsResolver and Templating requires
+- Added PEAR package.xml modifications
+- Added patch for tests' bootstrap.php
+- Added tests (%%check)
+- Changed RPM_BUILD_ROOT to %%{buildroot}
+- Added %%global pear_metadir
+
 * Sat Oct  6 2012 Remi Collet <RPMS@FamilleCollet.com> 2.1.2-1
 - update to 2.1.2
 
-- 
cgit