liburi-perl: add to meta-perl from oe-core

The recipe has no usage in core.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Alexander Kanavin 2024-11-25 13:00:45 +01:00 committed by Khem Raj
parent d44f6b934b
commit 0531f2c072
No known key found for this signature in database
GPG Key ID: BB053355919D3314
3 changed files with 166 additions and 0 deletions

View File

@ -21,6 +21,7 @@ PTESTS_FAST_META_PERL = "\
libterm-readkey-perl \
libtest-nowarnings-perl \
libtext-diff-perl \
liburi-perl \
"
PTESTS_SLOW_META_PERL = "\

View File

@ -0,0 +1,109 @@
From c424e6118d3bd836939ce39c70ee9e6bbd984028 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 cf983d6..884b36e 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=>30;
+ plan tests=>28;
} else {
plan skip_all=>"this perl doesn't support PerlIO layers";
}
@@ -67,17 +67,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

View File

@ -0,0 +1,56 @@
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 = "https://metacpan.org/dist/URI"
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE;md5=9944b87af51186f848ae558344aded9f"
SRC_URI = "${CPAN_MIRROR}/authors/id/O/OA/OALDERS/URI-${PV}.tar.gz \
file://0001-Skip-TODO-test-cases-that-fail.patch \
"
SRC_URI[sha256sum] = "b9c4d58b2614b8611ae03a95a6d60ed996f4b311ef3cd5a937b92f1825ecc564"
S = "${WORKDIR}/URI-${PV}"
EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
inherit cpan ptest-perl
do_compile() {
export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
cpan_do_compile
}
do_install:prepend() {
# these tests require "-T" (taint) command line option
rm -rf ${B}/t/cwd.t
rm -rf ${B}/t/file.t
}
RDEPENDS:${PN} += "\
perl-module-integer \
perl-module-mime-base64 \
"
RDEPENDS:${PN}-ptest += " \
libtest-fatal-perl \
libtest-needs-perl \
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"