diff mbox series

[5/5] liburi-perl: upgrade 5.08 -> 5.17

Message ID 28ed7318cfe4c40768995e201360a87f2309f248.1668793524.git.tim.orling@konsulko.com
State Accepted, archived
Commit f5aad6f125b88920c7ff8dc749768fd2c3f40a89
Headers show
Series [1/5] mirrors.bbclass: update CPAN_MIRROR | expand

Commit Message

Tim Orling Nov. 18, 2022, 5:52 p.m. UTC
* Author changed back from ETHER to OALDERS
* Use CPAN_MIRROR for SRC_URI
* Update HOMEPAGE
* Update RPEPENDS for -ptest
* Patch to skip TODO test cases

For changes, see:
https://metacpan.org/release/OALDERS/URI-5.17/changes

License-Update: whitespace changes

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
---
 .../0001-Skip-TODO-test-cases-that-fail.patch | 110 ++++++++++++++++++
 ...iburi-perl_5.08.bb => liburi-perl_5.17.bb} |  34 +++---
 2 files changed, 130 insertions(+), 14 deletions(-)
 create mode 100644 meta/recipes-devtools/perl/liburi-perl/0001-Skip-TODO-test-cases-that-fail.patch
 rename meta/recipes-devtools/perl/{liburi-perl_5.08.bb => liburi-perl_5.17.bb} (65%)
diff mbox series

Patch

diff --git a/meta/recipes-devtools/perl/liburi-perl/0001-Skip-TODO-test-cases-that-fail.patch b/meta/recipes-devtools/perl/liburi-perl/0001-Skip-TODO-test-cases-that-fail.patch
new file mode 100644
index 00000000000..68ccd061202
--- /dev/null
+++ b/meta/recipes-devtools/perl/liburi-perl/0001-Skip-TODO-test-cases-that-fail.patch
@@ -0,0 +1,110 @@ 
+From 858daa5047b00e7d5aa795302a9fad5504c8f0b9 Mon Sep 17 00:00:00 2001
+From: Tim Orling <tim.orling@konsulko.com>
+Date: Thu, 17 Nov 2022 16:33:20 -0800
+Subject: [PATCH] Skip TODO test cases that fail
+
+TODO cases report as "not ok" with ptest-runner
+
+Upstream-Status: Inappropriate [ptest-runner specific]
+
+Signed-off-by: Tim Orling <tim.orling@konsulko.com>
+
+---
+ t/escape-char.t | 20 ++++++++++----------
+ t/iri.t         | 18 +++++++++---------
+ t/mailto.t      | 12 ++++++------
+ 3 files changed, 25 insertions(+), 25 deletions(-)
+
+diff --git a/t/escape-char.t b/t/escape-char.t
+index c6ce79c..5e62ad5 100644
+--- a/t/escape-char.t
++++ b/t/escape-char.t
+@@ -6,16 +6,16 @@ use warnings;
+ use Test::More;
+ use URI ();
+ 
+-TODO: {
+-    my $str = "http://foo/\xE9";
+-    utf8::upgrade($str);
+-    my $uri = URI->new($str);
+-
+-    local $TODO = 'URI::Escape::escape_char misunderstands utf8';
+-
+-    # http://foo/%C3%A9
+-    is("$uri", 'http://foo/%E9', 'correctly created a URI from a utf8-upgraded string');
+-}
++#TODO: {
++#    my $str = "http://foo/\xE9";
++#    utf8::upgrade($str);
++#    my $uri = URI->new($str);
++#
++#    local $TODO = 'URI::Escape::escape_char misunderstands utf8';
++#
++#    # http://foo/%C3%A9
++#    is("$uri", 'http://foo/%E9', 'correctly created a URI from a utf8-upgraded string');
++#}
+ 
+ {
+     my $str = "http://foo/\xE9";
+diff --git a/t/iri.t b/t/iri.t
+index 2eb64b2..9c663c9 100644
+--- a/t/iri.t
++++ b/t/iri.t
+@@ -6,7 +6,7 @@ use Test::More;
+ use Config qw( %Config );
+ 
+ if (defined $Config{useperlio}) {
+-    plan tests=>26;
++    plan tests=>24;
+ } else {
+     plan skip_all=>'this perl doesn\'t support PerlIO layers';
+ }
+@@ -60,17 +60,17 @@ is $u->as_iri, "http://➡.ws/";
+ # draft-duerst-iri-bis.txt examples (section 3.7.1):
+ is(URI->new("http://www.example.org/D%C3%BCrst")->as_iri, "http://www.example.org/D\xFCrst");
+ is(URI->new("http://www.example.org/D%FCrst")->as_iri, "http://www.example.org/D%FCrst");
+-TODO: {
+-    local $TODO = "some chars (like U+202E, RIGHT-TO-LEFT OVERRIDE) need to stay escaped";
+-is(URI->new("http://xn--99zt52a.example.org/%e2%80%ae")->as_iri, "http://\x{7D0D}\x{8C46}.example.org/%e2%80%ae");
+-}
++#TODO: {
++#    local $TODO = "some chars (like U+202E, RIGHT-TO-LEFT OVERRIDE) need to stay escaped";
++#is(URI->new("http://xn--99zt52a.example.org/%e2%80%ae")->as_iri, "http://\x{7D0D}\x{8C46}.example.org/%e2%80%ae");
++#}
+ 
+ # try some URLs that can't be IDNA encoded (fallback to encoded UTF8 bytes)
+ $u = URI->new("http://" . ("ü" x 128));
+ is $u, "http://" . ("%C3%BC" x 128);
+ is $u->host, ("\xC3\xBC" x 128);
+-TODO: {
+-    local $TODO = "should ihost decode UTF8 bytes?";
+-    is $u->ihost, ("ü" x 128);
+-}
++#TODO: {
++#    local $TODO = "should ihost decode UTF8 bytes?";
++#    is $u->ihost, ("ü" x 128);
++#}
+ is $u->as_iri, "http://" . ("ü" x 128);
+diff --git a/t/mailto.t b/t/mailto.t
+index 79e9a13..c68cfb2 100644
+--- a/t/mailto.t
++++ b/t/mailto.t
+@@ -48,12 +48,12 @@ $u = URI->new('mailto:user+detail@example.com');
+ is $u->to, 'user+detail@example.com', 'subaddress with `+` parsed correctly';
+ is $u, 'mailto:user+detail@example.com', '... and stringification works';
+ 
+-TODO: {
+-    local $TODO = "We can't handle quoted local parts without properly parsing the email addresses";
+-    $u = URI->new('mailto:"foo bar+baz"@example.com');
+-    is $u->to, '"foo bar+baz"@example.com', 'address with quoted local part containing spaces is parsed correctly';
+-    is $u, 'mailto:%22foo%20bar+baz%22@example.com', '... and stringification works';
+-}
++#TODO: {
++#    local $TODO = "We can't handle quoted local parts without properly parsing the email addresses";
++#    $u = URI->new('mailto:"foo bar+baz"@example.com');
++#    is $u->to, '"foo bar+baz"@example.com', 'address with quoted local part containing spaces is parsed correctly';
++#    is $u, 'mailto:%22foo%20bar+baz%22@example.com', '... and stringification works';
++#}
+ 
+ # RFC 5321 (4.1.3) - Address Literals
+ 
diff --git a/meta/recipes-devtools/perl/liburi-perl_5.08.bb b/meta/recipes-devtools/perl/liburi-perl_5.17.bb
similarity index 65%
rename from meta/recipes-devtools/perl/liburi-perl_5.08.bb
rename to meta/recipes-devtools/perl/liburi-perl_5.17.bb
index 5428c9ddf9f..5e15004dd0f 100644
--- a/meta/recipes-devtools/perl/liburi-perl_5.08.bb
+++ b/meta/recipes-devtools/perl/liburi-perl_5.17.bb
@@ -2,19 +2,17 @@  SUMMARY = "Perl module to manipulate and access URI strings"
 DESCRIPTION = "This package contains the URI.pm module with friends. \
 The module implements the URI class. URI objects can be used to access \
 and manipulate the various components that make up these strings."
-
-HOMEPAGE = "http://search.cpan.org/dist/URI/"
+HOMEPAGE = "https://metacpan.org/dist/URI"
 SECTION = "libs"
 LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
 
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c453e94fae672800f83bc1bd7a38b53f"
-
-DEPENDS += "perl"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d8ca5f628bf2cd180bc4fa044cb8ef41"
 
-SRC_URI = "http://www.cpan.org/authors/id/E/ET/ETHER/URI-${PV}.tar.gz"
+SRC_URI = "${CPAN_MIRROR}/authors/id/O/OA/OALDERS/URI-${PV}.tar.gz \
+           file://0001-Skip-TODO-test-cases-that-fail.patch \
+           "
 
-SRC_URI[md5sum] = "cdbbf8f8ccdec5c162c8505077a35c2c"
-SRC_URI[sha256sum] = "7e2c6fe3b1d5947da334fa558a96e748aaa619213b85bcdce5b5347d4d26c46e"
+SRC_URI[sha256sum] = "5f7e42b769cb27499113cfae4b786c37d49e7c7d32dbb469602cd808308568f8"
 
 S = "${WORKDIR}/URI-${PV}"
 
@@ -33,18 +31,26 @@  do_install:prepend() {
 	rm -rf ${B}/t/file.t
 }
 
-RDEPENDS:${PN} += "perl-module-integer perl-module-mime-base64"
+RDEPENDS:${PN} += "\
+    perl-module-integer \
+    perl-module-mime-base64 \
+"
+
 RDEPENDS:${PN}-ptest += " \
+    libtest-fatal-perl \
     libtest-needs-perl \
-    perl-module-test-more \
-    perl-module-test \
-    perl-module-utf8 \
-    perl-module-extutils-makemaker \
-    perl-module-net-domain \
+    libtest-warnings-perl \
     perl-module-encode \
+    perl-module-encode-encoding \
+    perl-module-extutils-makemaker \
     perl-module-extutils-mm-unix \
     perl-module-file-spec-functions \
+    perl-module-net-domain \
     perl-module-perlio \
+    perl-module-perlio-encoding \
+    perl-module-test \
+    perl-module-test-more \
+    perl-module-utf8 \
 "
 
 BBCLASSEXTEND = "native"