summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Fredric <kentnl@gentoo.org>2020-08-22 02:20:41 +1200
committerKent Fredric <kentnl@gentoo.org>2020-08-22 02:22:08 +1200
commit491e75c9555192102acfda589f7a73193cfaafed (patch)
tree27310b880d2450c1c21fb200389928f2306fa1c3 /dev-perl/Feed-Find
parentdev-perl/CGI-Application-Server: Add w/ version=0.63.0 (diff)
downloadgentoo-491e75c9555192102acfda589f7a73193cfaafed.tar.gz
gentoo-491e75c9555192102acfda589f7a73193cfaafed.tar.bz2
gentoo-491e75c9555192102acfda589f7a73193cfaafed.zip
dev-perl/Feed-Find: -r bump for EAPI7 and a LOT of fixes
- EAPI7 - Convert 'sed' hack to a patch - Strip bundled deps in inc/ which got used in testing and reported bogus warnings that will probably become fatal in future, in favour ot using system dependencies. - Inhale a modified version of a set of patches submitted upstream that makes the http tests not require a live internet connection to be tested, at the cost of *many* dependencies. But manual steps are no longer required to properly test this \o/ Bug: https://github.com/btrott/Feed-Find/pull/2 Package-Manager: Portage-2.3.103, Repoman-2.3.22 Signed-off-by: Kent Fredric <kentnl@gentoo.org>
Diffstat (limited to 'dev-perl/Feed-Find')
-rw-r--r--dev-perl/Feed-Find/Feed-Find-0.70.0-r3.ebuild61
-rw-r--r--dev-perl/Feed-Find/files/Feed-Find-0.07-local-network.patch109
-rw-r--r--dev-perl/Feed-Find/files/Feed-Find-0.07-no-dot-inc.patch21
3 files changed, 191 insertions, 0 deletions
diff --git a/dev-perl/Feed-Find/Feed-Find-0.70.0-r3.ebuild b/dev-perl/Feed-Find/Feed-Find-0.70.0-r3.ebuild
new file mode 100644
index 000000000000..3e1c6d265b59
--- /dev/null
+++ b/dev-perl/Feed-Find/Feed-Find-0.70.0-r3.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DIST_AUTHOR=BTROTT
+DIST_VERSION=0.07
+inherit perl-module
+
+DESCRIPTION="Syndication feed auto-discovery"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-perl/Class-ErrorHandler
+ dev-perl/HTML-Parser
+ dev-perl/libwww-perl
+ dev-perl/URI
+"
+BDEPEND="${RDEPEND}
+ test? (
+ dev-perl/Test-Base
+ dev-perl/CGI-Application-Server
+ dev-perl/Test-HTTP-Server-Simple
+ )
+"
+PATCHES=(
+ "${FILESDIR}/${PN}-0.07-no-dot-inc.patch"
+ "${FILESDIR}/${PN}-0.07-local-network.patch"
+)
+PERL_RM_FILES=(
+ inc/Spiffy.pm
+ inc/Test/Base.pm
+ inc/Test/Base/Filter.pm
+ inc/Test/Builder.pm
+ inc/Test/Builder/Module.pm
+ inc/Test/More.pm
+)
+src_test() {
+ local MODULES=(
+ "Feed::Find ${DIST_VERSION}"
+ )
+ local failed=()
+ for dep in "${MODULES[@]}"; do
+ ebegin "Compile testing ${dep}"
+ perl -Mblib="${S}" -M"${dep} ()" -e1
+ eend $? || failed+=( "$dep" )
+ done
+ if [[ ${failed[@]} ]]; then
+ echo
+ eerror "One or more modules failed compile:";
+ for dep in "${failed[@]}"; do
+ eerror " ${dep}"
+ done
+ die "Failing due to module compilation errors";
+ fi
+ perl-module_src_test
+}
diff --git a/dev-perl/Feed-Find/files/Feed-Find-0.07-local-network.patch b/dev-perl/Feed-Find/files/Feed-Find-0.07-local-network.patch
new file mode 100644
index 000000000000..4cf8f567547a
--- /dev/null
+++ b/dev-perl/Feed-Find/files/Feed-Find-0.07-local-network.patch
@@ -0,0 +1,109 @@
+From bea092aae37300053b971a12b6e37b6104df41f9 Mon Sep 17 00:00:00 2001
+From: Nikolay Mishin <mi@ya.ru>
+Date: Thu, 22 Oct 2015 02:59:04 +0400
+Subject: Rework 01-find.t
+
+Rework test to not rely on external web resources by mocking the setup
+with a HTTP::Server::Simple derived webserver
+
+Bug: https://github.com/btrott/Feed-Find/pull/2
+Signed-off-by: Gary Greene <greeneg@tolharadys.net>
+Signed-off-by: Kent Fredric <kentnl@gentoo.org>
+---
+ t/01-find.t | 57 ++++++++++++++++++++++++++++++++------
+ t/htdocs/anchors-only.html | 9 ++++++
+ 2 files changed, 58 insertions(+), 8 deletions(-)
+ create mode 100644 t/htdocs/anchors-only.html
+
+diff --git a/t/01-find.t b/t/01-find.t
+index 58549b5..22d0048 100644
+--- a/t/01-find.t
++++ b/t/01-find.t
+@@ -1,20 +1,61 @@
++use CGI::Application::Server;
++use Test::HTTP::Server::Simple;
++
++package My::WebServer {
++ use base qw/Test::HTTP::Server::Simple CGI::Application::Server/;
++}
++
++package main;
++
+ use strict;
+-use Test::More tests => 4;
++use Test::More tests => 5;
+ use Feed::Find;
+ use LWP::UserAgent;
+
+-use constant BASE => 'http://stupidfool.org/perl/feeds/';
++my $port = $ENV{CGI_APP_SERVER_TEST_PORT} || 40000 + int(rand(10000));
++
++my $s = My::WebServer->new($port);
++$s->document_root('./t/htdocs');
++
++my $url_root = $s->started_ok("start up my web server");
++
++# generate our anchors-only.html file to get the URL correct in the links
++my $anchor_html = <<"END";
++<html>
++ <head>
++ <link rel="alternate" title="my feed"
++ href="$url_root/ok.xml" type="application/xml" />
++ <head>
++ <body>
++ <a href="$url_root/ok.xml" type="application/xml">my feed</a>
++ </body>
++</html>
++END
+
+-my(@feeds);
++open(my $fh, ">./t/htdocs/anchors-only.html") or
++ die "Cannot open file\n";
++print $fh <<"END";
++<html>
++ <head>
++ <link rel="alternate" title="my feed"
++ href="$url_root/ok.xml" type="application/xml" />
++ <head>
++ <body>
++ <a href="$url_root/ok.xml" type="application/xml">my feed</a>
++ </body>
++</html>
++END
++close $fh;
+
+-@feeds = Feed::Find->find(BASE . 'anchors-only.html');
++my @feeds = ();
++@feeds = Feed::Find->find("$url_root/anchors-only.html");
+ is(scalar @feeds, 1);
+-is($feeds[0], BASE . 'ok.xml');
++is($feeds[0], "$url_root/ok.xml");
+
+ my $ua = LWP::UserAgent->new;
+ $ua->env_proxy;
+-my $req = HTTP::Request->new(GET => BASE . 'anchors-only.html');
++my $req = HTTP::Request->new(GET => "$url_root/anchors-only.html");
+ my $res = $ua->request($req);
+-@feeds = Feed::Find->find_in_html(\$res->content, BASE . 'anchors-only.html');
++@feeds = Feed::Find->find_in_html(\$res->content, "$url_root/anchors-only.html");
+ is(scalar @feeds, 1);
+-is($feeds[0], BASE . 'ok.xml');
++is($feeds[0], "$url_root/ok.xml");
+diff --git a/t/htdocs/anchors-only.html b/t/htdocs/anchors-only.html
+new file mode 100644
+index 0000000..79f1df8
+--- /dev/null
++++ b/t/htdocs/anchors-only.html
+@@ -0,0 +1,9 @@
++<html>
++ <head>
++ <link rel="alternate" title="my feed"
++ href="http://localhost:45578/ok.xml" type="application/xml" />
++ <head>
++ <body>
++ <a href="http://localhost:45578/ok.xml" type="application/xml">my feed</a>
++ </body>
++</html>
+--
+2.28.0
+
diff --git a/dev-perl/Feed-Find/files/Feed-Find-0.07-no-dot-inc.patch b/dev-perl/Feed-Find/files/Feed-Find-0.07-no-dot-inc.patch
new file mode 100644
index 000000000000..ae60d0f1f7b1
--- /dev/null
+++ b/dev-perl/Feed-Find/files/Feed-Find-0.07-no-dot-inc.patch
@@ -0,0 +1,21 @@
+From b624dda904b26792464697a1c5e7b210be410eff Mon Sep 17 00:00:00 2001
+From: Kent Fredric <kentnl@gentoo.org>
+Date: Fri, 21 Aug 2020 21:06:23 +1200
+Subject: Include '.' in @INC for perl 5.26+
+
+---
+ Makefile.PL | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.PL b/Makefile.PL
+index 64e091c..34b5c67 100644
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -1,3 +1,4 @@
++use lib q[.];
+ use inc::Module::Install;
+ name 'Feed-Find';
+ all_from 'lib/Feed/Find.pm';
+--
+2.28.0
+