Blob Blame History Raw
%{!?__pear: %{expand: %%global __pear %{_bindir}/pear}}
%define pear_name XML_Parser

Summary:      XML parsing class based on PHP's bundled expat
Summary(fr):  Une classe d'analyse XML utilisant l'extension expat de PHP
Name:         php-pear-XML-Parser
Version:      1.2.8
Release:      1%{?dist}
License:      PHP License
Group:        Development/Libraries
URL:          http://pear.php.net/package/XML_Parser
Source0:      http://pear.php.net/get/%{pear_name}-%{version}.tgz
Source1:      PHP-LICENSE-3.01
Source2:      xml2changelog

BuildRoot:    %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildArch:        noarch
BuildRequires:    php-pear >= 1:1.4.9-1.2
Requires(post):   %{__pear}
Requires(postun): %{__pear}
Requires:         php-pear(PEAR) >= 1.4.9, php >= 4.2.0
Provides:         php-pear(%{pear_name}) = %{version}

%description
This is an XML parser based on PHPs built-in xml extension.
It supports two basic modes of operation: "func" and "event".  
In "func" mode, it will look for a function named after each element 
(xmltag_ELEMENT for start tags and xmltag_ELEMENT_ for end tags), 
and in "event" mode it uses a set of generic callbacks.

Since version 1.2.0 there's a new XML_Parser_Simple class that makes 
parsing of most XML documents easier, by automatically providing a stack 
for the elements. Furthermore its now possible to split the parser from 
the handler object, so you do not have to extend XML_Parser anymore in 
order to parse a document with it.

%description -l fr
Une analyseur XML utilisant l'extension xml intégrée à PHP.
Il supporte deux simples modes de fonctionnement : "func" et "event".
Dans le mode "func", il cherche une fonction nommée après chaque élément
(xmltag_ELEMENT pour le drapeau de début et xmltag_ELEMENT_ pour celui
de fin), et dans le mode "event" il utilise en ensemble de fonctions
"callbacks" génériques.

Depuis la version 1.2.0, la nouvelle classe XML_Parser_Simple simplifie
l'analse de la plupart des documents XML, en fournissant automatiquement
une pile pour les élements. De plus il est désormais possible de séparer
l'analyseur du gestionnaire d'objets, il n'est donc plus nécessaire d'étendre
XML_Parser pour analyser un document.

%prep
%setup -q -c
[ -f package2.xml ] || mv package.xml package2.xml
%{_bindir}/php -n %{SOURCE2} package2.xml >CHANGELOG
mv package2.xml %{pear_name}-%{version}/%{pear_name}.xml
%{__install} -m 644 -c %{SOURCE1} LICENSE

%build
# Empty build section

%install
rm -rf %{buildroot} docdir
pushd %{pear_name}-%{version}

%{__pear} install --nodeps --packagingroot %{buildroot} %{pear_name}.xml

# Clean up unnecessary files
rm -rf %{buildroot}%{pear_phpdir}/.??*

# Install XML package description
%{__mkdir_p} %{buildroot}%{pear_xmldir}
%{__install} -pm 644 %{pear_name}.xml %{buildroot}%{pear_xmldir}

popd
# Sort out documentation
mv %{buildroot}%{pear_docdir}/%{pear_name} docdir
for file in  docdir/examples/*; do
  %{__sed} -i -e 's/\r//' $file
done


%check
# Sanity check
lst=$(find %{buildroot}%{pear_phpdir} -exec grep -q %{buildroot} {} \; -print)
[ ! -z "$lst" ] && echo "Reference to BUILDROOT in $lst" && exit 1;

%clean
rm -rf %{buildroot}

%post
%{__pear} install --nodeps --soft --force --register-only %{pear_xmldir}/%{pear_name}.xml >/dev/null || :

%postun
if [ "$1" -eq "0" ]; then
    %{__pear} uninstall --nodeps --ignore-errors --register-only %{pear_name} >/dev/null || :
fi

%files
%defattr(-,root,root,-)
%doc CHANGELOG LICENSE docdir/examples
%{pear_phpdir}/XML/Parser
%{pear_phpdir}/XML/Parser.php
%{pear_testdir}/%{pear_name}
%{pear_xmldir}/%{pear_name}.xml


%changelog
* Sat Dec 02 2006 Remi Collet <Fedora@FamilleCollet.com> 1.2.8-1
- update to 1.2.8
- remove PEAR from sumnary
- don't own %%{pear_phpdir}/XML
- spec cleanning (new template)

* Fri Sep 08 2006 Remi Collet <Fedora@FamilleCollet.com> 1.2.7-4
- last template.spec

* Sun Sep 03 2006 Remi Collet <Fedora@FamilleCollet.com> 1.2.7-3
- new and simpler %%prep and %%install

* Sat Sep 02 2006 Remi Collet <Fedora@FamilleCollet.com> 1.2.7-2
- use new macros from /etc/rpm/macros.pear
- own /usr/share/pear/XML
- require php >= 4.2.0

* Sun May 21 2006 Remi Collet <Fedora@FamilleCollet.com> 1.2.7-1
- spec for extras
- add french description & sumnary