diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2019-01-15 17:56:01 +0100 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2019-01-15 17:56:26 +0100 |
commit | 8d74130f1f767338f76454fc15e7895361fd1c83 (patch) | |
tree | a9aecdd8a87f3656cefd93750aba6d0df6a198a0 /dev-perl/Net-LibIDN2 | |
parent | app-portage/layman: Python 3.7, EAPI=7 (diff) | |
download | gentoo-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.patch | 98 |
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 + |