summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2019-01-15 17:56:01 +0100
committerAndreas K. Hüttel <dilfridge@gentoo.org>2019-01-15 17:56:26 +0100
commit8d74130f1f767338f76454fc15e7895361fd1c83 (patch)
treea9aecdd8a87f3656cefd93750aba6d0df6a198a0 /dev-perl/Net-LibIDN2
parentapp-portage/layman: Python 3.7, EAPI=7 (diff)
downloadgentoo-8d74130f1f767338f76454fc15e7895361fd1c83.tar.gz
gentoo-8d74130f1f767338f76454fc15e7895361fd1c83.tar.bz2
gentoo-8d74130f1f767338f76454fc15e7895361fd1c83.zip
dev-perl/Net-LibIDN2: Fix tests, patch from RH/upstream
Bug: https://rt.cpan.org/Public/Bug/Display.html?id=125440 Closes: https://bugs.gentoo.org/656288 Package-Manager: Portage-2.3.56, Repoman-2.3.12 Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
Diffstat (limited to 'dev-perl/Net-LibIDN2')
-rw-r--r--dev-perl/Net-LibIDN2/Net-LibIDN2-1.0.0-r1.ebuild (renamed from dev-perl/Net-LibIDN2/Net-LibIDN2-1.0.0.ebuild)2
-rw-r--r--dev-perl/Net-LibIDN2/files/Net-LibIDN2-1.0.0-libidn-2.0.5.patch98
2 files changed, 100 insertions, 0 deletions
diff --git a/dev-perl/Net-LibIDN2/Net-LibIDN2-1.0.0.ebuild b/dev-perl/Net-LibIDN2/Net-LibIDN2-1.0.0-r1.ebuild
index d7df6b24a255..488f3283a249 100644
--- a/dev-perl/Net-LibIDN2/Net-LibIDN2-1.0.0.ebuild
+++ b/dev-perl/Net-LibIDN2/Net-LibIDN2-1.0.0-r1.ebuild
@@ -21,3 +21,5 @@ DEPEND="${RDEPEND}
>=virtual/perl-Test-Simple-0.10.0
)
"
+
+PATCHES=( "${FILESDIR}/${P}"-libidn-2.0.5.patch )
diff --git a/dev-perl/Net-LibIDN2/files/Net-LibIDN2-1.0.0-libidn-2.0.5.patch b/dev-perl/Net-LibIDN2/files/Net-LibIDN2-1.0.0-libidn-2.0.5.patch
new file mode 100644
index 000000000000..e7fb47bd0acd
--- /dev/null
+++ b/dev-perl/Net-LibIDN2/files/Net-LibIDN2-1.0.0-libidn-2.0.5.patch
@@ -0,0 +1,98 @@
+From 1fb29989acde21148e5c36b3bdccbf2a4a88059c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Thu, 31 May 2018 15:02:02 +0200
+Subject: [PATCH] Adapt to libidn-2.0.5
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+libidn-2.0.5 enabled non-transitional TR46 by default. This caused
+a test failure. This patch adds IDN2_NO_TR46 flag, document the
+change and adapts the test.
+
+CPAN RT#125440
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+---
+ lib/Net/LibIDN2.pm | 11 +++++++++--
+ lib/Net/LibIDN2.xs | 3 +++
+ t/001_basic.t | 6 +++++-
+ 3 files changed, 17 insertions(+), 3 deletions(-)
+
+diff --git a/lib/Net/LibIDN2.pm b/lib/Net/LibIDN2.pm
+index b27aaa4..c6ca3bd 100644
+--- a/lib/Net/LibIDN2.pm
++++ b/lib/Net/LibIDN2.pm
+@@ -32,6 +32,7 @@ our %EXPORT_TAGS = ( 'all' => [ qw(
+ IDN2_NONTRANSITIONAL
+ IDN2_ALLOW_UNASSIGNED
+ IDN2_USE_STD3_ASCII_RULES
++ IDN2_NO_TR46
+ ) ] );
+
+ our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
+@@ -50,6 +51,7 @@ our @EXPORT = qw(
+ IDN2_NONTRANSITIONAL
+ IDN2_ALLOW_UNASSIGNED
+ IDN2_USE_STD3_ASCII_RULES
++ IDN2_NO_TR46
+ );
+ our $VERSION = '1.00';
+
+@@ -102,8 +104,10 @@ Pass B<IDN2_ALABEL_ROUNDTRIP> in flags to convert any input A-labels
+ to U-labels and perform additional testing (not yet implemented).
+ Pass IDN2_TRANSITIONAL to enable Unicode
+ TR46 transitional processing, and IDN2_NONTRANSITIONAL to enable Unicode TR46
+-non-transitional processing. Multiple flags may be specified
+-by binary or:ing them together, for example B<IDN2_NFC_INPUT> | B<IDN2_ALABEL_ROUNDTRIP>.
++non-transitional processing. Pass IDN2_NO_TR46 (available since Libidn 2.0.5)
++to disable any TR46 transitional or non-transitional processing. Multiple
++flags may be specified by binary or:ing them together, for example
++B<IDN2_NFC_INPUT> | B<IDN2_ALABEL_ROUNDTRIP>.
+
+ If linked to library GNU Libidn version > 2.0.3: IDN2_USE_STD3_ASCII_RULES disabled by default.
+ Previously we were eliminating non-STD3 characters from domain strings such as
+@@ -112,6 +116,9 @@ That was an unexpected regression for applications switching from libidn
+ and thus it is no longer applied by default. Use IDN2_USE_STD3_ASCII_RULES
+ to enable that behavior again.
+
++If linked to library GNU Libidn version >= 2.0.5: IDNA2008 behavior amended by TR46
++(non-transitional) is default.
++
+ On error, returns undef. If a scalar variable is provided in I<$rc>,
+ returns the internal libidn2 C library result code as well.
+
+diff --git a/lib/Net/LibIDN2.xs b/lib/Net/LibIDN2.xs
+index 5b2f7c3..027285a 100644
+--- a/lib/Net/LibIDN2.xs
++++ b/lib/Net/LibIDN2.xs
+@@ -25,6 +25,9 @@ BOOT:
+ newCONSTSUB(stash, "IDN2_NONTRANSITIONAL", newSViv(IDN2_NONTRANSITIONAL));
+ newCONSTSUB(stash, "IDN2_ALLOW_UNASSIGNED", newSViv(IDN2_ALLOW_UNASSIGNED));
+ newCONSTSUB(stash, "IDN2_USE_STD3_ASCII_RULES", newSViv(IDN2_USE_STD3_ASCII_RULES));
++#if IDN2_VERSION_NUMBER >= 0x02000005
++ newCONSTSUB(stash, "IDN2_NO_TR46", newSViv(IDN2_NO_TR46));
++#endif
+
+
+ const char *
+diff --git a/t/001_basic.t b/t/001_basic.t
+index 3171478..ada1091 100644
+--- a/t/001_basic.t
++++ b/t/001_basic.t
+@@ -76,7 +76,11 @@ my $muesli_dot_de_punycode = "xn--mli-5ka8l.de";
+ my $rc = 0;
+ my $result = Net::LibIDN2::idn2_lookup_u8(
+ "\x65\x78\x61\x6d\x70\x6c\x65\x2e\xe1\x84\x80\xe1\x85\xa1\xe1\x86\xa8",
+- 0,
++ (IDN2_VERSION_MAJOR > 2 ||
++ (IDN2_VERSION_MAJOR == 2 && (IDN2_VERSION_MINOR > 0 ||
++ IDN2_VERSION_MINOR == 0 && IDN2_VERSION_PATCH >= 5)
++ )
++ ) ? IDN2_NO_TR46 : 0,
+ $rc);
+
+ is(Net::LibIDN2::idn2_strerror_name($rc), "IDN2_NOT_NFC");
+--
+2.14.4
+