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 */




Reply via email to