From 30c0a3a8d826eae788f492ec43f80fbf94e0b67b Mon Sep 17 00:00:00 2001 From: jackie_wu123 Date: Mon, 2 Mar 2020 18:08:25 +0800 Subject: [PATCH 1/3] package init --- Net-LibIDN2-1.00-Adapt-to-libidn-2.0.5.patch | 98 +++++++++++++++++++ Net-LibIDN2-1.00.tar.gz | Bin 0 -> 23603 bytes perl-Net-LibIDN2.spec | 53 ++++++++++ 3 files changed, 151 insertions(+) create mode 100644 Net-LibIDN2-1.00-Adapt-to-libidn-2.0.5.patch create mode 100644 Net-LibIDN2-1.00.tar.gz create mode 100644 perl-Net-LibIDN2.spec diff --git a/Net-LibIDN2-1.00-Adapt-to-libidn-2.0.5.patch b/Net-LibIDN2-1.00-Adapt-to-libidn-2.0.5.patch new file mode 100644 index 0000000..e7fb47b --- /dev/null +++ b/Net-LibIDN2-1.00-Adapt-to-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?= +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ř +--- + 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 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 | B. ++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 | B. + + 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 + diff --git a/Net-LibIDN2-1.00.tar.gz b/Net-LibIDN2-1.00.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..50badef92a7c03187ccfa7ccc38d18593f2927bf GIT binary patch literal 23603 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 2.0.0 perl-interpreter perl-devel perl-generators +BuildRequires: perl(Devel::CheckLib) perl(ExtUtils::CBuilder) perl(lib) perl(Module::Build) perl(strict) +BuildRequires: perl(warnings) sed perl(:VERSION) >= 5.6 perl(DynaLoader) perl(Exporter) perl(Encode) +BuildRequires: perl(Test::More) >= 0.10 glibc-langpack-en perl(POSIX) +Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) + +%description +Provides bindings for GNU Libdin2, a C Library for handling internationalized domain names based on +IDNA 2008,Punycode and TR46. + +package help +Summary: Help documents for perl-Net-LibIDN2 + +%description +Help documents for perl-Net-LibIDN2. + +%prep +%autosetup -n Net-LibIDN2-%{version} -p1 +rm -rf inc +sed -i -e '/^inc\//d' MANIFEST + +%build +perl Build.PL installdirs=vendor optimize="$RPM_OPT_FLAGS" +./Build + +%install +./Build install destdir=$RPM_BUILD_ROOT create_packlist=0 +find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -delete +%{_fixperms} $RPM_BUILD_ROOT/* + +%check +./Build test + +%files +%license LICENSE +%{perl_vendorarch}/auto/* +%{perl_vendorarch}/Net* + +%files help +%doc Changes README +%{_mandir}/man3/* + +%changelog +* Mon Mar 2 2020 - 1.00-7 +- Package init From f810d0b38b9bf0672b3fae93b1ec9b527c7696cd Mon Sep 17 00:00:00 2001 From: jackie_wu123 Date: Tue, 3 Mar 2020 15:31:41 +0800 Subject: [PATCH 2/3] fix --- perl-Net-LibIDN2.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/perl-Net-LibIDN2.spec b/perl-Net-LibIDN2.spec index 45e45f6..9d129e9 100644 --- a/perl-Net-LibIDN2.spec +++ b/perl-Net-LibIDN2.spec @@ -16,10 +16,10 @@ Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) Provides bindings for GNU Libdin2, a C Library for handling internationalized domain names based on IDNA 2008,Punycode and TR46. -package help +%package help Summary: Help documents for perl-Net-LibIDN2 -%description +%description help Help documents for perl-Net-LibIDN2. %prep From 346594597230c02ddd0d82dcf1b333e4f03f1074 Mon Sep 17 00:00:00 2001 From: jackie_wu123 Date: Sat, 7 Mar 2020 17:39:06 +0800 Subject: [PATCH 3/3] add comments --- perl-Net-LibIDN2.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/perl-Net-LibIDN2.spec b/perl-Net-LibIDN2.spec index 9d129e9..55e7317 100644 --- a/perl-Net-LibIDN2.spec +++ b/perl-Net-LibIDN2.spec @@ -5,6 +5,7 @@ Summary: GNU Libidn2 connected to Perl License: GPL+ or Artistic URL: https://metacpan.org/release/Net-LibIDN2 Source0: https://cpan.metacpan.org/authors/id/T/TH/THOR/Net-LibIDN2-%{version}.tar.gz +#change interface to adapt to libidn-2.0.5 Patch0: Net-LibIDN2-1.00-Adapt-to-libidn-2.0.5.patch BuildRequires: coreutils findutils libidn2-devel >= 2.0.0 perl-interpreter perl-devel perl-generators BuildRequires: perl(Devel::CheckLib) perl(ExtUtils::CBuilder) perl(lib) perl(Module::Build) perl(strict)