summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--php-symfony2-PropertyAccess.spec155
1 files changed, 93 insertions, 62 deletions
diff --git a/php-symfony2-PropertyAccess.spec b/php-symfony2-PropertyAccess.spec
index fe42991..d3282bb 100644
--- a/php-symfony2-PropertyAccess.spec
+++ b/php-symfony2-PropertyAccess.spec
@@ -1,64 +1,98 @@
%{!?__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 pear_name PropertyAccess
%global php_min_ver 5.3.3
-# Circular dependency with Form
-%global with_tests %{?_with_tests:1}%{!?_with_tests:0}
-
-Name: php-symfony2-PropertyAccess
-Version: 2.2.0
-Release: 1%{?dist}
-Summary: Symfony2 %{pear_name} Component
-
-Group: Development/Libraries
-License: MIT
-URL: http://symfony.com/components
-Source0: http://pear.symfony.com/get/%{pear_name}-%{version}.tgz
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-BuildRequires: php(language) >= %{php_min_ver}
-BuildRequires: php-pear(PEAR)
-%if %{with_tests}
-BuildRequires: php-pear(pear.phpunit.de/PHPUnit)
-BuildRequires: php-pear(%{pear_channel}/Form) >= 2.2.0
-%endif
-
-BuildRequires: php-ctype
-BuildRequires: php-pcre
-BuildRequires: php-reflection
-BuildRequires: php-spl
-BuildRequires: php-channel(%{pear_channel})
-
-Requires(post): %{__pear}
-Requires(postun): %{__pear}
-Requires: php(language) >= %{php_min_ver}
-Requires: php-ctype
-Requires: php-pcre
-Requires: php-reflection
-Requires: php-spl
-Requires: php-pear(PEAR)
-Requires: php-channel(pear.symfony.com)
-Provides: php-pear(pear.symfony.com/%{pear_name}) = %{version}
+Name: php-symfony2-%{pear_name}
+Version: 2.2.0
+Release: 1%{?dist}
+Summary: Symfony2 %{pear_name} Component
+
+Group: Development/Libraries
+License: MIT
+URL: http://symfony.com/doc/current/components/property_access/index.html
+Source0: http://%{pear_channel}/get/%{pear_name}-%{version}.tgz
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildArch: noarch
+
+BuildRequires: php-pear(PEAR)
+BuildRequires: php-channel(%{pear_channel})
+# For tests
+BuildRequires: php(language) >= %{php_min_ver}
+BuildRequires: php-pear(pear.phpunit.de/PHPUnit)
+# For tests: phpci
+BuildRequires: php-ctype
+BuildRequires: php-pcre
+BuildRequires: php-reflection
+BuildRequires: php-spl
+
+Requires: php(language) >= %{php_min_ver}
+Requires: php-pear(PEAR)
+Requires: php-channel(%{pear_channel})
+Requires(post): %{__pear}
+Requires(postun): %{__pear}
+# phpci
+Requires: php-ctype
+Requires: php-pcre
+Requires: php-reflection
+Requires: php-spl
+Provides: php-pear(%{pear_channel}/%{pear_name}) = %{version}
%description
-Symfony2 PropertyAccess Component
+The PropertyAccess component provides function to read and write from/to an
+object or array using a simple string notation.
+
%prep
%setup -q -c
+# Create PHPUnit autoloader
+( cat <<'PHPUNIT_AUTOLOADER'
+<?php
+
+# This file was created by RPM packaging and is not part of the original
+# Symfony2 %{pear_name} PEAR package.
+
+set_include_path(
+ '%{pear_phpdir}'.PATH_SEPARATOR.
+ '%{pear_testdir}/%{pear_name}'.PATH_SEPARATOR.
+ '%{pear_testdir}/Form'.PATH_SEPARATOR.
+ get_include_path()
+);
+
+spl_autoload_register(function ($class) {
+ if ('\\' == $class[0]) {
+ $class = substr($class, 1);
+ }
+
+ $file = str_replace('\\', '/', $class).'.php';
+ @include $file;
+});
+PHPUNIT_AUTOLOADER
+) > phpunit.autoloader.php
+
+# Update PHPUnit config
+sed -e 's#vendor/autoload.php#./phpunit.autoloader.php#' \
+ -i %{pear_name}-%{version}/Symfony/Component/%{pear_name}/phpunit.xml.dist
+
+# Remove test that cannot be run without Form component's tests
+rm -f %{pear_name}-%{version}/Symfony/Component/%{pear_name}/Tests/PropertyAccessorCustomArrayObjectTest.php
+
# Modify PEAR package.xml file:
+# - Remove .gitattributes file
# - Remove .gitignore file
-# - Change role from "php" to "doc" for CHANGELOG.md file
+# - Remove test that cannot be run without Form component's tests
# - Change role from "php" to "test" for all test files
-# - Remove md5sum from bootsrap.php file since it was patched
-sed -e '/\.git/d' \
- -e '/CHANGELOG.md/s/role="php"/role="doc"/' \
- -e '/phpunit.xml.dist/s/role="php"/role="test"/' \
+# - Remove md5sum from phpunit.xml.dist file since it was updated
+sed -e '/\.gitattributes/d' \
+ -e '/\.gitignore/d' \
+ -e '/PropertyAccessorCustomArrayObjectTest.php/d' \
-e '/Tests/s/role="php"/role="test"/' \
+ -e '/phpunit.xml.dist/s/role="php"/role="test"/' \
+ -e '/phpunit.xml.dist/s/md5sum="[^"]*"\s*//' \
-i package.xml
# package.xml is version 2.0
@@ -66,11 +100,10 @@ mv package.xml %{pear_name}-%{version}/%{name}.xml
%build
-# Empty build section, most likely nothing required.
+# Empty build section, nothing required
%install
-rm -rf %{buildroot}
cd %{pear_name}-%{version}
%{__pear} install --nodeps --packagingroot %{buildroot} %{name}.xml
@@ -81,34 +114,28 @@ rm -rf %{buildroot}%{pear_metadir}/.??*
mkdir -p %{buildroot}%{pear_xmldir}
install -pm 644 %{name}.xml %{buildroot}%{pear_xmldir}
-sed -e '/bootstrap/s:vendor/autoload.php:%{pear_phpdir}/Symfony/Component/%{pear_name}/autoloader.php:' \
- %{buildroot}%{pear_testdir}/%{pear_name}/Symfony/Component/%{pear_name}/phpunit.xml.dist \
- > %{buildroot}%{pear_testdir}/%{pear_name}/Symfony/Component/%{pear_name}/phpunit.xml
+# Install PHPUnit autoloader
+install -pm 0644 ../phpunit.autoloader.php \
+ %{buildroot}/%{pear_testdir}/%{pear_name}/Symfony/Component/%{pear_name}/
%check
-%if %{with_tests}
cd %{pear_name}-%{version}/Symfony/Component/%{pear_name}
-sed -e '/bootstrap/s:vendor/autoload.php:autoloader.php:' \
- phpunit.xml.dist > phpunit.xml
-%{_bindir}/phpunit -d date.timezone=UTC
-%else
-: Tests skipped, missing '--with tests' option
-%endif
+sed 's#./phpunit.autoloader.php#./autoloader.php#' -i phpunit.xml.dist
-%clean
-rm -rf %{buildroot}
+%{_bindir}/phpunit -d date.timezone="UTC"
%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.symfony.com/%{pear_name} >/dev/null || :
+ %{pear_channel}/%{pear_name} >/dev/null || :
fi
@@ -116,11 +143,15 @@ fi
%defattr(-,root,root,-)
%doc %{pear_docdir}/%{pear_name}
%{pear_xmldir}/%{name}.xml
-%{pear_phpdir}/Symfony/Component/%{pear_name}
+%dir %{pear_phpdir}/Symfony
+%dir %{pear_phpdir}/Symfony/Component
+ %{pear_phpdir}/Symfony/Component/%{pear_name}
%{pear_testdir}/%{pear_name}
-
%changelog
+* Fri Mar 15 2013 Shawn Iwinski <shawn.iwinski@gmail.com> 2.2.0-1
+- Initial package
+
* Wed Mar 06 2013 Remi Collet <remi@fedoraproject.org> - 2.2.0-1
- New package