Blob Blame History Raw
# default values when new /etc/rpm/macros.pear not present
%{!?__pear:       %define __pear       %{_bindir}/pear}
%{!?pear_phpdir:  %define pear_phpdir  %(%{__pear} config-get php_dir  2> /dev/null || echo undefined)}
%{!?pear_docdir:  %define pear_docdir  %(%{__pear} config-get doc_dir  2> /dev/null || echo undefined)}
%{!?pear_testdir: %define pear_testdir %(%{__pear} config-get test_dir 2> /dev/null || echo undefined)}
%{!?pear_datadir: %define pear_datadir %(%{__pear} config-get data_dir 2> /dev/null || echo undefined)}
%{!?pear_xmldir:  %define pear_xmldir  %{pear_phpdir}/.pkgxml}

Summary:      PEAR: XML parsing class based on PHP's bundled expat
Summary(fr):  PEAR: une classe d'analyse XML utilisant l'extension expat de PHP
Name:         php-pear-XML-Parser
Version:      1.2.7
Release:      4%{?dist}
License:      PHP License
Group:        Development/Libraries
Source0:      http://pear.php.net/get/XML_Parser-%{version}.tgz
Source1:      PHP-LICENSE-3.01
BuildRoot:    %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
URL:          http://pear.php.net/package/XML_Parser

BuildArch:        noarch
BuildRequires:    php-pear(PEAR) >= 1.4.9
Requires(post):   %{__pear}
Requires(postun): %{__pear}
Requires:         php-pear(PEAR) >= 1.4.9, php >= 4.2.0
Provides:         php-pear(XML_Parser) = %{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 -c -q
mv package2.xml XML_Parser-%{version}/XML_Parser.xml

%{__install} -m 644 -c %{SOURCE1} LICENSE

%build
# Empty build section

%install
rm -rf %{buildroot} docdir

pushd XML_Parser-%{version}
%{__pear} install --nodeps --packagingroot %{buildroot} XML_Parser.xml

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

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

popd
# Sort out documentation
%{__mkdir} docdir
mv %{buildroot}%{pear_docdir}/* docdir

%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}/XML_Parser.xml >/dev/null || :

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

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

%changelog
* 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