File php5-pear-XML_Serializer.spec of Package php5-pear-XML_Serializer

# spec file for package php5-pear-XML_Serializer
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via

Name:           php5-pear-XML_Serializer
%define pear_name  XML_Serializer
%define pear_sname xml_serializer
Summary:        Swiss-army knife for creating, reading and writing XML files
License:        BSD-3-Clause
Group:          Productivity/Networking/Web/Servers
Version:        0.20.2
Release:        0
BuildArch:      noarch
Url:  {pear_name}
Source0:        %{pear_name}-%{version}.tgz
## Source 1:        COPYING
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  php >= 5
%if 0%{?sles_version} == 11
BuildRequires:  php53-devel
BuildRequires:  php-macros
BuildRequires:  php-pear
Requires:       php >= 5
Requires:       php-pear
Provides:       pear-%{pear_name}
Provides:       pear-%{pear_sname} = %{version}
Provides:       php-pear-%{pear_name}
Provides:       php-pear-%{pear_sname} = %{version}
Provides:       php5-pear-%{pear_sname} = %{version}
Obsoletes:      pear-%{pear_sname} < %{version}
Obsoletes:      php-pear-%{pear_sname} < %{version}
Obsoletes:      php5-pear-%{pear_sname} < %{version}

XML_Serializer serializes complex data structures like arrays or object as XML

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.

    Stephan Schmidt

%setup -c
## prozentklammer__cp} prozentklammerSOURCE1} .


%{__mv} package*.xml %{pear_name}-%{version}
cd %{pear_name}-%{version}
PHP_PEAR_PHP_BIN="$(which php) -d memory_limit=50m"
%{__pear} -v \
        -d doc_dir=/doc \
        -d bin_dir=%{_bindir} \
        -d data_dir=%{php_peardir}/data \
        install --offline --nodeps -R "%{buildroot}" package.xml

%{__install} -D -m 0644 package.xml %{buildroot}%{php_pearxmldir}/%{pear_name}.xml

%{__rm} -rf %{buildroot}/{doc,tmp}
%{__rm} -rf %{buildroot}%{php_peardir}/.{filemap,lock,registry,channels,depdb,depdblock}

cd ..


# on `rpm -ivh` PARAM is 1
# on `rpm -Uvh` PARAM is 2
if [ "$1" = "1" ]; then
  %{__pear} install --nodeps --soft --force --register-only %{php_pearxmldir}/%{pear_name}.xml
if [ "$1" = "2" ]; then
  %{__pear} upgrade --offline --register-only %{php_pearxmldir}/%{pear_name}.xml

# on `rpm -e` PARAM is 0
if [ "$1" = "0" ]; then
  %{__pear} uninstall --nodeps --ignore-errors --register-only{pear_name}

%{__rm} -rf %{buildroot}

%files -f %{name}.files
%defattr(-, root, root)
#prozentdoc COPYING

openSUSE Build Service is sponsored by