On 5/21/24 9:44 AM, Giovanni Bechis wrote:
Update to latest version.
Most regression tests have warnings like:
t/01.Policy.t ................................ ok
perl:/usr/local/libdata/perl5/site_perl/amd64-openbsd/auto/Net/IDN/Punycode/Punycode.so:
 undefined symbol 'uvuni_to_utf8_flags'

warning happens in Net::IDN::Encode and is present at build time as well:

===>  Building for p5-Net-IDN-Encode-2.500p1
Building Net-IDN-Encode
cc -I/usr/libdata/perl5/amd64-openbsd/CORE '-DVERSION="2.500"' 
'-DXS_VERSION="2.500"' -DPIC -fpic -c -DNO_LOCALE_NUMERIC -DNO_LOCALE_COLLATE 
-fno-strict-aliasing -fno-delete-null-pointer-checks -pipe -fstack-protector-strong 
-I/usr/local/include -O2 -pipe -O2 -o lib/Net/IDN/Punycode.o lib/Net/IDN/Punycode.c
lib/Net/IDN/Punycode.xs:256:5: warning: call to undeclared function 
'uvuni_to_utf8_flags'; ISO C99 and later do not support implicit function 
declarations [-Wimplicit-function-declaration]
                  uvuni_to_utf8_flags((U8*)skip_p, n, UNICODE_ALLOW_ANY);
                  ^
1 warning generated.
ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/Net/IDN/Punycode/Punycode.bs')
cc -shared -fpic -fstack-protector-strong -L/usr/local/lib -o 
blib/arch/auto/Net/IDN/Punycode/Punycode.so lib/Net/IDN/Punycode.o

Attached diff fixes the issue.
 ok ?

 Cheers
   Giovanni
Index: Makefile
===================================================================
RCS file: /cvs/ports/converters/p5-Net-IDN-Encode/Makefile,v
diff -u -p -r1.26 Makefile
--- Makefile	11 Mar 2022 18:27:15 -0000	1.26
+++ Makefile	21 May 2024 16:42:45 -0000
@@ -1,7 +1,7 @@
 COMMENT =	Internationalizing Domain Names in Applications
 
 DISTNAME =	Net-IDN-Encode-2.500
-REVISION =	1
+REVISION =	2
 
 CATEGORIES =	net converters
 
Index: patches/patch-lib_Net_IDN_Punycode_xs
===================================================================
RCS file: patches/patch-lib_Net_IDN_Punycode_xs
diff -N patches/patch-lib_Net_IDN_Punycode_xs
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-lib_Net_IDN_Punycode_xs	21 May 2024 16:42:45 -0000
@@ -0,0 +1,25 @@
+use uvchr_to_utf8_flags instead of uvuni_to_utf8_flags which is removed in Perl 5.38
+https://github.com/cfaerber/Net-IDN-Encode/pull/11
+Index: lib/Net/IDN/Punycode.xs
+--- lib/Net/IDN/Punycode.xs.orig
++++ 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 */

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to