Обсуждение: Re: plperl version on the meson setup summary screen
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
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.
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
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
On Tue, 4 Feb 2025 at 12:07, Zharkov Roman <r.zharkov@postgrespro.ru> wrote: > > Hello, > > Here is a new patch version. > I tried to use perl 'version' instead of 'api_versionstring' to sync > with configure script. Thanks for the patch, this looks good to me. Regards, Vignesh
On Tue, 4 Feb 2025 at 12:07, Zharkov Roman <r.zharkov@postgrespro.ru> wrote:
>
> Hello,
>
> Here is a new patch version.
> I tried to use perl 'version' instead of 'api_versionstring' to sync
> with configure script.
One suggestion, there are many other external libraries for which we
don't display the version, can we include the version for them too:
@@ -3711,7 +3712,7 @@ if meson.version().version_compare('>=0.57')
'nls': libintl,
'openssl': ssl,
'pam': pam,
- 'plperl': perl_dep,
+ 'plperl': [perl_dep, perlversion],
'plpython': python3_dep,
Regards,
Vignesh
On 2025-03-14 13:08, vignesh C wrote: > One suggestion, there are many other external libraries for which we > don't display the version, can we include the version for them too: Hello, We have seven "libraries" whose versions meson does not show: bonjour, bsd_auth, docs, docs_pdf, nls, pam, plperl. And only plperl has a known version. bonjour, bsd_auth produces by declare_dependency() function, and I don't know where to find their versions. docs, docs_pdf are the complex of libraries: xmllint_bin, xsltproc_bin and fop. Which version do we need? nls can be formed in two ways: by declare_dependency() or by cc.find_library(). It is not clear to me where to get a version. pam also can be produced by dependency() or cc.find_library(). Best regards, Roman Zharkov
On 2025-03-17 Mo 4:43 AM, Zharkov Roman wrote: > On 2025-03-14 13:08, vignesh C wrote: >> One suggestion, there are many other external libraries for which we >> don't display the version, can we include the version for them too: > > Hello, > We have seven "libraries" whose versions meson does not show: bonjour, > bsd_auth, docs, docs_pdf, nls, pam, plperl. And only plperl has a > known version. > bonjour, bsd_auth produces by declare_dependency() function, and I > don't know where to find their versions. > docs, docs_pdf are the complex of libraries: xmllint_bin, xsltproc_bin > and fop. Which version do we need? > nls can be formed in two ways: by declare_dependency() or by > cc.find_library(). It is not clear to me where to get a version. > pam also can be produced by dependency() or cc.find_library(). > > > Yeah. I'm planning to commit your patch shortly. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com