+#
+# Conditional build:
+%bcond_without tests # do not perform "make test"
+#
+# TODO:
+# - add pod files to spec
+#
%include /usr/lib/rpm/macros.perl
-
-%define pdir XML
-%define pnam LibXML
-
-Summary: XML-LibXML perl module
-Summary(pl): Modu³ perla XML-LibXML
+%define pdir XML
+%define pnam LibXML
+Summary: XML::LibXML - interface to the GNOME libxml2 library
+Summary(pl): XML::LibXML - interfejs do biblioteki libxml2 z GNOME
Name: perl-%{pdir}-%{pnam}
-Version: 1.40
+Version: 1.58
Release: 1
-License: GPL
+# same as perl
+License: GPL v1+ or Artistic
Group: Development/Languages/Perl
-Source0: ftp://ftp.perl.org/pub/CPAN/modules/by-module/%{pdir}/%{pdir}-%{pnam}-%{version}.tar.gz
-Patch0: %{name}-Makefile.patch
-BuildRequires: rpm-perlprov >= 4.0.2-56
-BuildRequires: perl-devel >= 5.6.1
-BuildRequires: perl-XML-SAX
-BuildRequires: libxml2-devel >= 2.4.8
+Source0: http://www.cpan.org/authors/id/P/PH/PHISH/%{pdir}-%{pnam}-%{version}.tar.gz
+# Source0-md5: 4691fc436e5c0f22787f5b4a54fc56b0
+BuildRequires: gdome2-devel >= 0.7.3
+BuildRequires: libxml2-devel >= 2.5.10
+BuildRequires: perl-XML-LibXML-Common
+BuildRequires: perl-XML-NamespaceSupport >= 1.07
+BuildRequires: perl-XML-SAX >= 0.11
+BuildRequires: perl-devel >= 1:5.8.0
+BuildRequires: pkgconfig
+BuildRequires: rpm-perlprov >= 4.1-13
+Requires: libxml2 >= 2.5.10
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-Requires: libxml2 >= 2.4.8
%description
This module implements much of the DOM Level 2 API as an interface to
-the Gnome libxml2 library. This makes it a fast and highly capable
+the GNOME libxml2 library. This makes it a fast and highly capable
validating XML parser library, as well as a high performance DOM.
%description -l pl
Ten modu³ to implementacja wiêkszo¶ci API DOM Level 2 jako interfejsu
-do biblioteki Gnome libxml2. Daje to szybki i o du¿ych mo¿liwo¶ciach
-parser sprawdzaj±cy poprawno¶æ XML, a tak¿e wysoko wydajny DOM.
+do biblioteki GNOME libxml2. Daje to szybki i o du¿ych mo¿liwo¶ciach
+parser sprawdzaj±cy poprawno¶æ XML-a, a tak¿e wysoko wydajny DOM.
%package SAX
-Summary: XML-LibXML-SAX perl module
-Summary(pl): Modu³ perla XML-LibXML-SAX
+Summary: XML::LibXML::SAX Perl module - XML::LibXML direct SAX parser
+Summary(pl): Modu³ Perla XML::LibXML::SAX - bezpo¶redni parser SAX z XML::LibXML
Group: Development/Languages/Perl
+Requires: %{name} = %{version}
%description SAX
This class allows you to generate SAX2 events using LibXML. Note that
-this is not a stream based parser, instead it parses documents into
-a DOM and traverses the DOM tree. The reason being that libxml2's
-stream based parsing is extremely primitive, and would require an
-extreme amount of work to allow SAX2 parsing in a stream manner.
+this is not a stream based parser, instead it parses documents into a
+DOM and traverses the DOM tree. The reason being that libxml2's stream
+based parsing is extremely primitive, and would require an extreme
+amount of work to allow SAX2 parsing in a stream manner.
%description SAX -l pl
Ta klasa pozwala generowaæ zdarzenia SAX2 przy u¿yciu LibXML2. To nie
%prep
%setup -q -n %{pdir}-%{pnam}-%{version}
-%patch0 -p1
%build
-perl Makefile.PL
-%{__make} OPTIMIZE="%{rpmcflags}"
+SKIP_SAX_INSTALL=true;
+export SKIP_SAX_INSTALL
+
+%{__perl} Makefile.PL \
+ INSTALLDIRS=vendor
+%{__make} \
+ OPTIMIZE="%{rpmcflags}"
+
+%{?with_tests:%{__make} test}
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
-%{__make} install DESTDIR=$RPM_BUILD_ROOT
-
-install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
install example/{*.pl,*.xml,*.dtd,*.xhtml} $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/complex
install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/complex/dtd
install example/complex/dtd/*.dtd $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/complex/dtd
-gzip -9nf Changes README PHISHS.CHANGES
+%clean
+rm -rf $RPM_BUILD_ROOT
%post SAX
-perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::LibXML::SAX::Parser))->save_parsers()"
+umask 022
+%{__perl} -MXML::SAX -e "XML::SAX->add_parser(q(XML::LibXML::SAX::Parser))->save_parsers()"
%preun SAX
-perl -MXML::SAX -e "XML::SAX->remove_parser(q(XML::LibXML::SAX::Parser))->save_parsers()"
-
-%clean
-rm -rf $RPM_BUILD_ROOT
+if [ "$1" = "0" ]; then
+ umask 022
+ %{__perl} -MXML::SAX -e "XML::SAX->remove_parser(q(XML::LibXML::SAX::Parser))->save_parsers()"
+fi
%files
%defattr(644,root,root,755)
-%doc *.gz
-%{perl_sitearch}/XML/LibXML.pm
-%dir %{perl_sitearch}/XML/LibXML
-%{perl_sitearch}/XML/LibXML/*.pm
-%{perl_sitearch}/XML/LibXML/*.pod
-%dir %{perl_sitearch}/auto/XML/LibXML
-%{perl_sitearch}/auto/XML/LibXML/LibXML.bs
-%attr(755,root,root) %{perl_sitearch}/auto/XML/LibXML/LibXML.so
-%{_mandir}/man3/XML::LibXML.3pm.gz
-%{_mandir}/man3/XML::LibXML::[^S][^A][^X]*
-%{_examplesdir}/%{name}-%{version}
+%doc Changes README
+%{perl_vendorarch}/XML/LibXML.pm
+%{perl_vendorarch}/XML/LibXML/[!S]*.pm
+%{perl_vendorarch}/auto/XML/LibXML/LibXML.bs
+%attr(755,root,root) %{perl_vendorarch}/auto/XML/LibXML/LibXML.so
+%{_mandir}/man3/XML::LibXML.3pm*
+%{_mandir}/man3/XML::LibXML::[!S]*
+%dir %{_examplesdir}/%{name}-%{version}
+%attr(755,root,root) %{_examplesdir}/%{name}-%{version}/x*.pl
+%{_examplesdir}/%{name}-%{version}/[!x]*
%files SAX
%defattr(644,root,root,755)
-%dir %{perl_sitearch}/XML/LibXML/SAX
-%{perl_sitearch}/XML/LibXML/SAX/*.pm
+%dir %{perl_vendorarch}/XML/LibXML/SAX
+%{perl_vendorarch}/XML/LibXML/SAX.pm
+%{perl_vendorarch}/XML/LibXML/SAX/*.pm
+%{_mandir}/man3/XML::LibXML::SAX.3pm*
%{_mandir}/man3/XML::LibXML::SAX::*