diff --git a/HTTP-Daemon-6.04-EU-MM-is-not-deprecated.patch b/HTTP-Daemon-6.04-EU-MM-is-not-deprecated.patch new file mode 100644 index 0000000000000000000000000000000000000000..450f193f7a0af31427af1e431ea6bb12ed8760cd --- /dev/null +++ b/HTTP-Daemon-6.04-EU-MM-is-not-deprecated.patch @@ -0,0 +1,92 @@ +From 30b91a0898e50874886343b66d27f78eaf960faf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Tue, 2 Apr 2019 16:54:42 +0200 +Subject: [PATCH] EU::MM is not deprecated +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Contrary to the warning in the Makefile.PL, only ExtUtils::MakeMaker +is a full-fledged system. Module::Build is not maintained anymore and +Module::Build::Tiny contains design flaws regarding XS compilation. + +Signed-off-by: Petr Písař +--- + Makefile.PL | 61 ----------------------------------------------------- + 1 file changed, 61 deletions(-) + +diff --git a/Makefile.PL b/Makefile.PL +index 5915c46..e98af42 100644 +--- a/Makefile.PL ++++ b/Makefile.PL +@@ -9,67 +9,6 @@ use warnings; + use 5.006; + use ExtUtils::MakeMaker; + +-BEGIN { +-my %configure_requires = ( +- 'ExtUtils::MakeMaker' => '0', +- 'Module::Build::Tiny' => '0.034', +-); +- +-my %errors = map { +- eval "require $_; $_->VERSION($configure_requires{$_}); 1"; +- $_ => $@, +-} keys %configure_requires; +- +-if (grep { $_ } values %errors) +-{ +- warn "Errors from configure prereqs:\n" +- . do { +- require Data::Dumper; Data::Dumper->new([ \%errors ])->Indent(2)->Terse(1)->Sortkeys(1)->Dump; +- }; +-} +- +-if (not $ENV{PERL_MM_FALLBACK_SILENCE_WARNING}) +-{ +- warn <<'EOW'; +-*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING *** +- +-If you're seeing this warning, your toolchain is really, really old* and +-you'll almost certainly have problems installing CPAN modules from this +-century. But never fear, dear user, for we have the technology to fix this! +- +-If you're using CPAN.pm to install things, then you can upgrade it using: +- +- cpan CPAN +- +-If you're using CPANPLUS to install things, then you can upgrade it using: +- +- cpanp CPANPLUS +- +-If you're using cpanminus, you shouldn't be seeing this message in the first +-place, so please file an issue on github. +- +-If you're using a packaging tool through a unix distribution, this issue +-should be reported to the package manager. +- +-If you're installing manually, please retrain your fingers to run Build.PL +-when present instead of Makefile.PL. +- +-This public service announcement was brought to you by the Perl Toolchain +-Gang, the irc.perl.org #toolchain IRC channel, and the number 42. +- +----- +- +-* Alternatively, you are doing something overly clever, in which case you +-should consider setting the 'prefer_installer' config option in CPAN.pm, or +-'prefer_makefile' in CPANPLUS, to 'mb" and '0' respectively. +- +-You can also silence this warning for future installations by setting the +-PERL_MM_FALLBACK_SILENCE_WARNING environment variable. +-EOW +- sleep 10 if -t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT)); +-} +-} # end BEGIN +- + my %WriteMakefileArgs = ( + "ABSTRACT" => "A simple http server class", + "AUTHOR" => "Gisle Aas ", +-- +2.20.1 + diff --git a/HTTP-Daemon-6.14.tar.gz b/HTTP-Daemon-6.14.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..442cdb91374d5a9c1eb59112b159dcb398d19b47 Binary files /dev/null and b/HTTP-Daemon-6.14.tar.gz differ diff --git a/perl-HTTP-Daemon.spec b/perl-HTTP-Daemon.spec new file mode 100644 index 0000000000000000000000000000000000000000..8523c8ec471e0b5e3b7df2a64189cca20ab3eef8 --- /dev/null +++ b/perl-HTTP-Daemon.spec @@ -0,0 +1,117 @@ +%define anolis_release 1 +# Perform optional tests +%{bcond_without perl_HTTP_Daemon_enables_optional_test} + +Name: perl-HTTP-Daemon +Version: 6.14 +Release: %{anolis_release}%{?dist} +Summary: Simple HTTP server class +License: GPL-1.0-or-later OR Artistic-1.0-Perl +URL: https://metacpan.org/release/HTTP-Daemon +Source0: https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Daemon-%{version}.tar.gz +# Use Makefile.PL without unneeded dependencies +Patch0: HTTP-Daemon-6.04-EU-MM-is-not-deprecated.patch +BuildArch: noarch +BuildRequires: coreutils +BuildRequires: make +BuildRequires: findutils +BuildRequires: perl-generators +BuildRequires: perl-interpreter +BuildRequires: perl(:VERSION) >= 5.6 +BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 +BuildRequires: perl(strict) +# Run-time: +BuildRequires: perl(Carp) +BuildRequires: perl(HTTP::Date) >= 6 +BuildRequires: perl(HTTP::Request) >= 6 +BuildRequires: perl(HTTP::Response) >= 6 +BuildRequires: perl(HTTP::Status) >= 6 +BuildRequires: perl(IO::Socket::IP) >= 0.32 +BuildRequires: perl(LWP::MediaTypes) >= 6 +BuildRequires: perl(Socket) +BuildRequires: perl(warnings) +# Tests only: +BuildRequires: perl(Config) +BuildRequires: perl(File::Spec) +BuildRequires: perl(HTTP::Tiny) >= 0.042 +BuildRequires: perl(Module::Metadata) +BuildRequires: perl(Test) +BuildRequires: perl(Test::More) >= 0.98 +BuildRequires: perl(Test::Needs) +BuildRequires: perl(URI) +# Optional tests: +%if %{with perl_HTTP_Daemon_enables_optional_test} && !%{defined %perl_bootstrap} +BuildRequires: perl(LWP::RobotUA) +BuildRequires: perl(LWP::UserAgent) +# CPAN::Meta not helpful +# CPAN::Meta::Prereqs not helpful +%endif +Requires: perl(HTTP::Date) >= 6 +Requires: perl(HTTP::Request) >= 6 +Requires: perl(HTTP::Response) >= 6 +Requires: perl(HTTP::Status) >= 6 +Requires: perl(IO::Socket::IP) >= 0.25 +Requires: perl(LWP::MediaTypes) >= 6 +Conflicts: perl-libwww-perl < 6 + +# Remove underspecified dependencies +%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(HTTP::(Date|Request|Response|Status)|IO::Socket::IP|LWP::MediaTypes\\)$ + +%description +Instances of the HTTP::Daemon class are HTTP/1.1 servers that listen on a +socket for incoming requests. The HTTP::Daemon is a subclass of +IO::Socket::IP, so you can perform socket operations directly on it too. + +%package tests +Summary: Tests for %{name} +Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: perl-Test-Harness +# perl-generators doesn't detect 'use Test::Needs 'LWP::RobotUA';' +Requires: perl(LWP::RobotUA) +# perl-generators doesn't detect 'use Test::Needs 'LWP::UserAgent';' +Requires: perl(LWP::UserAgent) + +%description tests +Tests from %{name}. Execute them +with "%{_libexecdir}/%{name}/test". + +%prep +%setup -q -n HTTP-Daemon-%{version} +%patch0 -p1 +# Help generators to recognize Perl scripts +for F in $(find t/ -name '*.t'); do + perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!\s*perl}{$Config{startperl}}' "$F" + chmod +x "$F" +done + +%build +perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 +%{make_build} + +%install +%{make_install} +# Install tests +mkdir -p %{buildroot}%{_libexecdir}/%{name} +cp -a t %{buildroot}%{_libexecdir}/%{name} +cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF' +#!/bin/sh +cd %{_libexecdir}/%{name} && exec prove -I . -j "$(getconf _NPROCESSORS_ONLN)" -r +EOF +chmod +x %{buildroot}%{_libexecdir}/%{name}/test +%{_fixperms} %{buildroot}/* + +%check +make test + +%files +%license LICENCE +%doc Changes CONTRIBUTING README +%{perl_vendorlib}/* +%{_mandir}/man3/* + +%files tests +%{_libexecdir}/%{name} + +%changelog +* Thu Feb 02 2023 Chunmei Xu - 6.14-1 +- init from upstream