diff mbox series

[meta-perl] libnet-idn-encode: Fix build with perl 2.38 and gcc13

Message ID 20231011173109.1842230-1-raj.khem@gmail.com
State New
Headers show
Series [meta-perl] libnet-idn-encode: Fix build with perl 2.38 and gcc13 | expand

Commit Message

Khem Raj Oct. 11, 2023, 5:31 p.m. UTC
Add missing rdep on perl-module-encode-encoding
fixes

Can't locate Encode/Encoding.pm in @INC (you may need to install the Encode::Encoding module)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...flags_instead_of_uvuni_to_utf8_flags.patch | 36 +++++++++++++++++++
 .../libnet/libnet-idn-encode_2.500.bb         |  6 ++--
 2 files changed, 40 insertions(+), 2 deletions(-)
 create mode 100644 meta-perl/recipes-perl/libnet/libnet-idn-encode/Net-IDN-Encode-2.500-use_uvchr_to_utf8_flags_instead_of_uvuni_to_utf8_flags.patch
diff mbox series

Patch

diff --git a/meta-perl/recipes-perl/libnet/libnet-idn-encode/Net-IDN-Encode-2.500-use_uvchr_to_utf8_flags_instead_of_uvuni_to_utf8_flags.patch b/meta-perl/recipes-perl/libnet/libnet-idn-encode/Net-IDN-Encode-2.500-use_uvchr_to_utf8_flags_instead_of_uvuni_to_utf8_flags.patch
new file mode 100644
index 0000000000..f0e9010bf4
--- /dev/null
+++ b/meta-perl/recipes-perl/libnet/libnet-idn-encode/Net-IDN-Encode-2.500-use_uvchr_to_utf8_flags_instead_of_uvuni_to_utf8_flags.patch
@@ -0,0 +1,36 @@ 
+Subject: [PATCH] use uvchr_to_utf8_flags instead of uvuni_to_utf8_flags (which is removed in perl 5.38.0)
+
+https://perldoc.perl.org/5.36.0/perlintern#uvuni_to_utf8_flags
+Signed-off-by: Shin Kojima <shin@kojima.org>
+Upstream-Status: Submitted [https://github.com/cfaerber/Net-IDN-Encode/pull/11]
+---
+ lib/Net/IDN/Punycode.xs | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/lib/Net/IDN/Punycode.xs b/lib/Net/IDN/Punycode.xs
+index 211ef9c..36530dd 100644
+--- a/lib/Net/IDN/Punycode.xs
++++ b/lib/Net/IDN/Punycode.xs
+@@ -24,6 +24,10 @@
+ #define utf8_to_uvchr_buf(in_p,in_e,u8) utf8_to_uvchr(in_p,u8);
+ #endif
+ 
++#ifndef uvchr_to_utf8_flags
++#define uvchr_to_utf8_flags(d, uv, flags) uvuni_to_utf8_flags(d, uv, flags);
++#endif
++
+ static char enc_digit[BASE] = {
+   'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
+   'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
+@@ -253,7 +257,7 @@ decode_punycode(input)
+ 		  if(skip_p < re_p)				/* move succeeding chars */
+ 		    Move(skip_p, skip_p + u8, re_p - skip_p, char);
+ 		  re_p += u8;
+-		  uvuni_to_utf8_flags((U8*)skip_p, n, UNICODE_ALLOW_ANY);
++		  uvchr_to_utf8_flags((U8*)skip_p, n, UNICODE_ALLOW_ANY);
+ 		}
+ 
+ 		if(!first) SvUTF8_on(RETVAL);			/* UTF-8 chars have been inserted */
+-- 
+2.41.0
+
diff --git a/meta-perl/recipes-perl/libnet/libnet-idn-encode_2.500.bb b/meta-perl/recipes-perl/libnet/libnet-idn-encode_2.500.bb
index ce3b75b774..7f33fd2b1f 100644
--- a/meta-perl/recipes-perl/libnet/libnet-idn-encode_2.500.bb
+++ b/meta-perl/recipes-perl/libnet/libnet-idn-encode_2.500.bb
@@ -7,7 +7,9 @@  SECTION = "libs"
 LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=8ea5704cf65ca4ec6e9e167fb94f14dd"
 
-SRC_URI = "${CPAN_MIRROR}/authors/id/C/CF/CFAERBER/Net-IDN-Encode-${PV}.tar.gz"
+SRC_URI = "${CPAN_MIRROR}/authors/id/C/CF/CFAERBER/Net-IDN-Encode-${PV}.tar.gz \
+           file://Net-IDN-Encode-2.500-use_uvchr_to_utf8_flags_instead_of_uvuni_to_utf8_flags.patch \
+"
 SRC_URI[sha256sum] = "55453633e3ff24ce325b34bc2c8157b9859962a31ab5cf28bf7ccc1c9b3a3eaa"
 
 S = "${WORKDIR}/Net-IDN-Encode-${PV}"
@@ -20,4 +22,4 @@  do_configure:prepend() {
 
 BBCLASSEXTEND = "native"
 
-RDEPENDS:${PN} += "perl-module-unicode-normalize"
+RDEPENDS:${PN} += "perl-module-unicode-normalize perl-module-encode-encoding"