diff --git a/pkgs/development/perl-modules/perl-POE-1.367-pod_linkcheck.patch b/pkgs/development/perl-modules/perl-POE-1.367-pod_linkcheck.patch new file mode 100644 index 00000000000..e2f604985be --- /dev/null +++ b/pkgs/development/perl-modules/perl-POE-1.367-pod_linkcheck.patch @@ -0,0 +1,40 @@ +commit 6d985026 +Author: Michael Brantley +Date: Tue Feb 20 07:12:06 2018 -0500 + + Update broken Pod links in lib/POE/Filter/HTTPD.pm + + Update Pod links to refer only to the utf8 module and not its methods, + fix a mis-capitalized internal reference, and convert the dangling + "MaxContent" link into a code reference. + + Resolves bug: https://rt.cpan.org/Public/Bug/Display.html?id=124496 + +diff --git a/lib/POE/Filter/HTTPD.pm b/lib/POE/Filter/HTTPD.pm +index 9d4898e3..517be691 100644 +--- a/lib/POE/Filter/HTTPD.pm ++++ b/lib/POE/Filter/HTTPD.pm +@@ -621,10 +621,10 @@ how to use these objects. + + HTTP headers are not allowed to have UTF-8 characters; they must be + ISO-8859-1. POE::Filter::HTTPD will convert all UTF-8 into the MIME encoded +-equivalent. It uses L for detection-8 and ++equivalent. It uses C for detection-8 and + L for convertion. If L is not + installed, no conversion happens. If L is +-not installed, L is used instead. In this last case, you will ++not installed, C is used instead. In this last case, you will + see a warning if you try to send UTF-8 headers. + + +@@ -651,8 +651,8 @@ streaming mode this filter will return either an HTTP::Request object or a + block of content. The HTTP::Request object's content will return empty. + The blocks of content will be parts of the request's body, up to + Content-Length in size. You distinguish between request objects and content +-blocks using C (See L below). This +-option supersedes L. ++blocks using C (See L below). This ++option supersedes C. + + =head1 CAVEATS + diff --git a/pkgs/development/perl-modules/perl-POE-1.367-pod_no404s.patch b/pkgs/development/perl-modules/perl-POE-1.367-pod_no404s.patch new file mode 100644 index 00000000000..097a7677e51 --- /dev/null +++ b/pkgs/development/perl-modules/perl-POE-1.367-pod_no404s.patch @@ -0,0 +1,46 @@ +commit 32571a21 +Author: Michael Brantley +Date: Tue Feb 20 07:07:22 2018 -0500 + + Update old URLs referenced in Pod + + Remove mention of old URLs, replace mention of canonical SVN repo with + the new git-based one at github.com. + + Resolves bug: https://rt.cpan.org/Public/Bug/Display.html?id=124495 + +diff --git a/lib/POE.pm b/lib/POE.pm +index 80e7feac..0554ff70 100644 +--- a/lib/POE.pm ++++ b/lib/POE.pm +@@ -465,7 +465,7 @@ code snippets there as well. + The following command will fetch the most current version of POE into + the "poe" subdirectory: + +- svn co https://poe.svn.sourceforge.net/svnroot/poe poe ++ git clone https://github.com/rcaputo/poe.git + + =head2 SourceForge + +@@ -535,18 +535,9 @@ https://rt.cpan.org/Dist/Display.html?Status=Active&Queue=POE + + =head2 Repositories and Changes + +-Thanks to the magic of distributed version control, POE is hosted at +-three locations for redundancy. You can browse the source at any one +-of: +- +-https://github.com/rcaputo/poe +- +-https://gitorious.org/poe +- +-http://poe.git.sourceforge.net/git/gitweb-index.cgi +- +-Complete change logs can also be browsed at those sites. They all +-provide RSS news feeds for those who want to follow development in ++You can browse the POE source and complete change logs at ++https://github.com/rcaputo/poe. It also provides an RSS ++news feed for those who want to follow development in + near-realtime. + + =head2 Other Resources diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 05ff6289ff4..834ead8575a 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -11376,6 +11376,47 @@ let self = _self // overrides; _self = with self; { }; }; + POE = buildPerlPackage rec { + name = "POE-1.367"; + patches = [ + ../development/perl-modules/perl-POE-1.367-pod_linkcheck.patch + ../development/perl-modules/perl-POE-1.367-pod_no404s.patch + ]; + src = fetchurl { + url = "mirror://cpan/authors/id/R/RC/RCAPUTO/POE-1.367.tar.gz"; + sha256 = "0b9s7yxaa2lgzyi56brgygycfjk7lz33d1ddvc1wvwwvm45p4wmp"; + }; + # N.B. removing TestPodLinkCheck from buildInputs because tests requiring + # this module don't disable themselves when "run_network_tests" is + # not present (see below). + buildInputs = [ + Curses EmailMIME HTTPMessage IOTty LWPProtocolHttps POETestLoops + TermReadKey TestPod TestPodCoverage TestPodNo404s YAML + ]; + propagatedBuildInputs = [ pkgs.cacert IOPipely ]; + meta = { + maintainers = [ maintainers.limeytexan ]; + description = "Portable multitasking and networking framework for any event loop"; + license = stdenv.lib.licenses.artistic2; + }; + preCheck = '' + set -x + + : Makefile.PL touches the following file as a "marker" to indicate + : it should perform tests which use the network. Delete this file + : for sandbox builds. + rm -f run_network_tests + + : Certs are required if not running in a sandbox. + export SSL_CERT_FILE=${pkgs.cacert.out}/etc/ssl/certs/ca-bundle.crt + + : The following flag enables extra tests not normally performed. + export RELEASE_TESTING=1 + + set +x + ''; + }; + POETestLoops = buildPerlPackage rec { name = "POE-Test-Loops-1.360"; src = fetchurl {