On Tue, May 21, 2024 at 06:44:09PM +0200, giova...@paclan.it wrote: > 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 ?
I wonder if we really need the define. uvuni_to_utf8_flags was deprecated synonym for uvoffuni_to_utf8_flags, and now Perl has removed it. Maybe if you want to merge this upstream, it makes sense to define backwards compatibiliy. anyway OK bluhm@ > 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 */