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 */
OpenPGP_signature.asc
Description: OpenPGP digital signature