Thread: Re: plperl version on the meson setup summary screen

Re: plperl version on the meson setup summary screen

From
Andrew Dunstan
Date:
On 2024-10-17 Th 10:02 PM, Zharkov Roman wrote:
> Hello,
>
> Would it be convinient to show the plperl version on the meson setup 
> summary
> screen? Now it displays only 'YES' or 'NO'. This is the expected 
> behavior of
> the meson build system and explains in its source code:
>
https://github.com/mesonbuild/meson/blob/5f0bd8ff1e7fc43199d4b371fc4625f80baba810/mesonbuild/dependencies/base.py#L311C15-L311C27

>
> With the attached patch we can see the "perlversion" in the summary
> information table. But without a beautiful console colorize.
>

Yeah, the lack of version number has mildly annoyed me too, so let's fix 
it. I haven't found the right secret sauce to make the version number 
appear colorized, either. Maybe some meson guru can tell us how.


> Additionaly, we found out that "perlversion" gets from the perl
> "api_versionstring" config variable. When the configure script parses the
> "perl -v" output:
>
>> pgac_perl_version=`$PERL -v 2>/dev/null | sed -n 's/This is 
>> perl.*v[a-...
>
> Is this behavior correct?


I think it's ok, it should give the same answer AFAIK. Using sed like 
this to parse the output of 'perl -v' is somewhat hacky, so the meson 
recipe is arguably an improvement.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com




Re: plperl version on the meson setup summary screen

From
Zharkov Roman
Date:
Hello,

On 2024-11-27 21:50, Andrew Dunstan wrote:
> it should give the same answer

Sometimes "version" and "api_versionstring" are different. Here are two 
simple examples from my windows system and from a linux system of one of 
my colleagues:

C:\Temp>perl -MConfig -e "print \"$Config{api_versionstring}\n\"; print 
\"$Config{version}\n\""
5.32.0
5.32.1
C:\Temp>perl -v
This is perl 5, version 32, subversion 1 (v5.32.1) built for 
MSWin32-x64-multi-thread

perl -MConfig -e 'print "$Config{api_versionstring}\n"; print 
"$Config{version}\n"'
5.38.0
5.38.2
perl -v
This is perl 5, version 38, subversion 2 (v5.38.2)


--
Best regards, Roman Zharkov.



Re: plperl version on the meson setup summary screen

From
Nazir Bilal Yavuz
Date:
Hi,

On Fri, 29 Nov 2024 at 08:40, Zharkov Roman <r.zharkov@postgrespro.ru> wrote:
>
> Hello,
>
> On 2024-11-27 21:50, Andrew Dunstan wrote:
> > it should give the same answer
>
> Sometimes "version" and "api_versionstring" are different. Here are two
> simple examples from my windows system and from a linux system of one of
> my colleagues:
>
> C:\Temp>perl -MConfig -e "print \"$Config{api_versionstring}\n\"; print
> \"$Config{version}\n\""
> 5.32.0
> 5.32.1
> C:\Temp>perl -v
> This is perl 5, version 32, subversion 1 (v5.32.1) built for
> MSWin32-x64-multi-thread
>
> perl -MConfig -e 'print "$Config{api_versionstring}\n"; print
> "$Config{version}\n"'
> 5.38.0
> 5.38.2
> perl -v
> This is perl 5, version 38, subversion 2 (v5.38.2)

It is different for me too:

$ perl -MConfig -e 'print "$Config{api_versionstring}\n";
print"$Config{version}\n"'
5.38.0
5.38.2
$ perl -v
This is perl 5, version 38, subversion 2 (v5.38.2)

On Wed, 27 Nov 2024 at 17:51, Andrew Dunstan <andrew@dunslane.net> wrote:
> On 2024-10-17 Th 10:02 PM, Zharkov Roman wrote:
> > With the attached patch we can see the "perlversion" in the summary
> > information table. But without a beautiful console colorize.
> >
> Yeah, the lack of version number has mildly annoyed me too, so let's fix
> it. I haven't found the right secret sauce to make the version number
> appear colorized, either. Maybe some meson guru can tell us how.

It seems that we can force ANSI colors:

- 'plperl': [perl_dep, perlversion],
+ 'plperl': [perl_dep, '\033[1;36m@0@\033[0m'.format(perlversion)],

But I think this is too hacky. I am not sure if that is the best way
or worth it.

--
Regards,
Nazir Bilal Yavuz
Microsoft



Re: plperl version on the meson setup summary screen

From
Andrew Dunstan
Date:
On 2024-11-29 Fr 3:26 AM, Nazir Bilal Yavuz wrote:
> Hi,
>
> On Fri, 29 Nov 2024 at 08:40, Zharkov Roman <r.zharkov@postgrespro.ru> wrote:
>> Hello,
>>
>> On 2024-11-27 21:50, Andrew Dunstan wrote:
>>> it should give the same answer
>> Sometimes "version" and "api_versionstring" are different. Here are two
>> simple examples from my windows system and from a linux system of one of
>> my colleagues:
>>
>> C:\Temp>perl -MConfig -e "print \"$Config{api_versionstring}\n\"; print
>> \"$Config{version}\n\""
>> 5.32.0
>> 5.32.1
>> C:\Temp>perl -v
>> This is perl 5, version 32, subversion 1 (v5.32.1) built for
>> MSWin32-x64-multi-thread
>>
>> perl -MConfig -e 'print "$Config{api_versionstring}\n"; print
>> "$Config{version}\n"'
>> 5.38.0
>> 5.38.2
>> perl -v
>> This is perl 5, version 38, subversion 2 (v5.38.2)
> It is different for me too:
>
> $ perl -MConfig -e 'print "$Config{api_versionstring}\n";
> print"$Config{version}\n"'
> 5.38.0
> 5.38.2
> $ perl -v
> This is perl 5, version 38, subversion 2 (v5.38.2)
>
> On Wed, 27 Nov 2024 at 17:51, Andrew Dunstan <andrew@dunslane.net> wrote:
>> On 2024-10-17 Th 10:02 PM, Zharkov Roman wrote:
>>> With the attached patch we can see the "perlversion" in the summary
>>> information table. But without a beautiful console colorize.
>>>
>> Yeah, the lack of version number has mildly annoyed me too, so let's fix
>> it. I haven't found the right secret sauce to make the version number
>> appear colorized, either. Maybe some meson guru can tell us how.
> It seems that we can force ANSI colors:
>
> - 'plperl': [perl_dep, perlversion],
> + 'plperl': [perl_dep, '\033[1;36m@0@\033[0m'.format(perlversion)],
>
> But I think this is too hacky. I am not sure if that is the best way
> or worth it.
>

Yes, way too hacky. If we can't find a better way I'm good with Roman's 
idea in principle.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com