%{!?pear_metadir: %global pear_metadir %{pear_phpdir}} %{!?__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') Name: php-symfony2-OptionsResolver Version: 2.1.2 Release: 1%{?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 Source1: bootstrap.php BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: php-pear(PEAR) BuildRequires: php-channel(%{pear_channel}) # For tests BuildRequires: php-pear(pear.phpunit.de/PHPUnit) Requires: php-common >= 5.3.2 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 # Hum... sed -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' \ -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_metadir}/.??* # 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}/Tests cp %{SOURCE1} bootstrap.php phpunit --bootstrap bootstrap.php --verbose . %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 %defattr(-,root,root,-) %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 * Sat Oct 6 2012 Remi Collet 2.1.2-1 - rebuild * Thu Sep 20 2012 Shawn Iwinski 2.1.2-1 - Initial package