diff --git a/HTML-Parser-3.81.tar.gz b/HTML-Parser-3.81.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..5dae5499c2586e77eac2354a7739c8bf800811e4 Binary files /dev/null and b/HTML-Parser-3.81.tar.gz differ diff --git a/perl-HTML-Parser.spec b/perl-HTML-Parser.spec new file mode 100644 index 0000000000000000000000000000000000000000..d834a3936b960b9772bc97cfc00d5f7a25cd521c --- /dev/null +++ b/perl-HTML-Parser.spec @@ -0,0 +1,114 @@ +%define anolis_release 1 +Name: perl-HTML-Parser +Summary: Perl module for parsing HTML +Version: 3.81 +Release: %{anolis_release}%{?dist} +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Source0: https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTML-Parser-%{version}.tar.gz +URL: https://metacpan.org/release/HTML-Parser +BuildRequires: coreutils +BuildRequires: findutils +BuildRequires: gcc +BuildRequires: glibc-common +BuildRequires: make +BuildRequires: perl-devel +BuildRequires: perl-generators +BuildRequires: perl-interpreter +BuildRequires: perl(Config) +BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 +BuildRequires: perl(strict) +BuildRequires: perl(warnings) +# Run-time +BuildRequires: perl(Carp) +BuildRequires: perl(Exporter) +BuildRequires: perl(HTML::Tagset) >= 3 +BuildRequires: perl(HTTP::Headers) +BuildRequires: perl(IO::File) +BuildRequires: perl(URI) +BuildRequires: perl(XSLoader) +# Tests +BuildRequires: perl(File::Spec) +BuildRequires: perl(FileHandle) +BuildRequires: perl(SelectSaver) +BuildRequires: perl(Test::More) +BuildRequires: perl(threads) +Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) +Requires: perl(HTML::Tagset) >= 3 +Requires: perl(HTTP::Headers) +Requires: perl(IO::File) +Requires: perl(URI) + +%{?perl_default_filter} +%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}perl\\(HTML::Tagset\\)$ + +%description +The HTML-Parser module for perl to parse and extract information from +HTML documents, including the HTML::Entities, HTML::HeadParser, +HTML::LinkExtor, HTML::PullParser, and HTML::TokeParser modules. + +%package tests +Summary: Tests for %{name} +Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: perl-Test-Harness + +%description tests +Tests from %{name}. Execute them +with "%{_libexecdir}/%{name}/test". + +%prep +%setup -q -n HTML-Parser-%{version} +chmod -c a-x eg/* + +# Help file to recognise the Perl scripts and normalize shebangs +for F in t/*.t; do + perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!.*perl\b}{$Config{startperl}}' "$F" + chmod +x "$F" +done + +%build +perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" NO_PACKLIST=1 NO_PERLLOCAL=1 +%{make_build} + +%install +%{make_install} +file=%{buildroot}%{_mandir}/man3/HTML::Entities.3pm +iconv -f iso-8859-1 -t utf-8 <"$file" > "${file}_" && \ + touch -r ${file} ${file}_ && \ + mv -f "${file}_" "$file" +find %{buildroot} -type f -name '*.bs' -empty -delete +%{_fixperms} %{buildroot}/* + +# Install tests +mkdir -p %{buildroot}/%{_libexecdir}/%{name} +cp -a t %{buildroot}/%{_libexecdir}/%{name} +cat > %{buildroot}/%{_libexecdir}/%{name}/test << 'EOF' +#!/bin/bash +set -e +# Some tests write into temporary files/directories. The easiest solution +# is to copy the tests into a writable directory and execute them from there. +DIR=$(mktemp -d) +pushd "$DIR" +cp -a %{_libexecdir}/%{name}/* ./ +prove -I . -j "$(getconf _NPROCESSORS_ONLN)" +popd +rm -rf "$DIR" +EOF +chmod +x %{buildroot}/%{_libexecdir}/%{name}/test + +%check +export HARNESS_OPTIONS=j$(perl -e 'if ($ARGV[0] =~ /.*-j([0-9][0-9]*).*/) {print $1} else {print 1}' -- '%{?_smp_mflags}') +make test + +%files +%license LICENSE +%doc Changes README TODO eg/ +%{perl_vendorarch}/HTML/ +%{perl_vendorarch}/auto/HTML/ +%{_mandir}/man3/*.3pm* + +%files tests +%{_libexecdir}/%{name} + +%changelog +* Thu Feb 02 2023 Chunmei Xu - 3.81-1 +- init from upstream