%define _requires_exceptions pear(PHPUnit/Framework.php) %define upstream_name XML_Serializer %define xmldir %{_var}/lib/pear %define peardir %(pear config-get php_dir 2> /dev/null) Name: php-pear-%{upstream_name} Version: 0.20.2 Release: %mkrel 5 Summary: Swiss-army knife for reading and writing XML files. Creates XML files from data structures and vice versa License: BSD License Group: Development/PHP Source0: http://pear.php.net/get/XML_Serializer-%{version}.tgz URL: http://pear.php.net/package/XML_Serializer BuildRequires: php-pear >= 1.4.7 Requires: php-pear-XML_Util >= 1.1.1 Requires: php-pear-XML_Parser >= 1.2.6 Requires: php-pear >= 1.4.7 BuildArch: noarch %description XML_Serializer serializes complex data structures like arrays or object as XML documents. This class helps you generating any XML document you require without the need for DOM. Furthermore this package can be used as a replacement to serialize() and unserialize() as it comes with a matching XML_Unserializer that is able to create PHP data structures (like arrays and objects) from XML documents, if type hints are available. If you use the XML_Unserializer on standard XML files, it will try to guess how it has to be unserialized. In most cases it does exactly what you expect it to do. Try reading a RSS file with XML_Unserializer and you have the whole RSS file in a structured array or even a collection of objects, similar to XML_RSS. Since version 0.8.0 the package is able to treat XML documents similar to the simplexml extension of PHP 5. %prep %setup -c -T pear -v -c pearrc \ -d php_dir=%{peardir} \ -d doc_dir=/docs \ -d bin_dir=%{_bindir} \ -d data_dir=%{peardir}/data \ -d test_dir=%{peardir}/tests \ -d ext_dir=%{_libdir} \ -s %build %install rm -rf %{buildroot} pear -c pearrc install --nodeps --packagingroot %{buildroot} %{SOURCE0} # Clean up unnecessary files rm pearrc rm %{buildroot}/%{peardir}/.filemap rm %{buildroot}/%{peardir}/.lock rm -rf %{buildroot}/%{peardir}/.registry rm -rf %{buildroot}%{peardir}/.channels rm %{buildroot}%{peardir}/.depdb rm %{buildroot}%{peardir}/.depdblock mv %{buildroot}/docs . # Install XML package description mkdir -p %{buildroot}%{xmldir} tar -xzf %{SOURCE0} package.xml cp -p package.xml %{buildroot}%{xmldir}/XML_Serializer.xml %clean rm -rf %{buildroot} %post pear install --nodeps --soft --force --register-only %{xmldir}/XML_Serializer.xml %postun if [ "$1" -eq "0" ]; then pear uninstall --nodeps --ignore-errors --register-only pear.php.net/XML_Serializer fi %files %defattr(-,root,root) %doc docs/XML_Serializer/* %{peardir}/* %{xmldir}/XML_Serializer.xml %changelog * Sun Jan 13 2013 umeabot <umeabot> 0.20.2-5.mga3 + Revision: 377450 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Thu Jan 26 2012 spuhler <spuhler> 0.20.2-4.mga2 + Revision: 201676 - removed Obsoletes: php-pear-XML_Tree XML_Tree has been superseded upstreams but many pear packages still require it * Sun Jan 22 2012 spuhler <spuhler> 0.20.2-3.mga2 + Revision: 199849 - added Obsoletes: php-pear-XML_Tree as per upstream * Sun Jan 15 2012 spuhler <spuhler> 0.20.2-2.mga2 + Revision: 196185 - added requires exception for missing file * Thu Jan 12 2012 spuhler <spuhler> 0.20.2-1.mga2 + Revision: 195211 - upgrade to 0.20.2 pearized spec * Fri Jan 21 2011 spuhler <spuhler> 0.19.2-5.mga1 + Revision: 28065 - removed buildroot definition from .spec removed the if mdkversion lines - imported package php-pear-XML_Serializer