Re: Why don't p5-* ports mark their dependencies?

2021-06-25 Thread Ryan Schmidt
On Jun 12, 2021, at 13:07, Bill Cole wrote:

> On 2021-06-12 at 12:55:24 UTC-0400 (Sat, 12 Jun 2021 09:55:24 -0700)
> Ken Cunningham is rumored to have said:
> 
>> macports recommended perl is still 5.28
> 
> Which has been unsupported upstream for just over a year.

The point Ken was making is that we select a specific perl (python, php, etc.) 
version to be the default, both in the portgroups and in default variants of 
individual ports. The version that is selected is typically the latest stable 
version at the time the selection is made. Indeed we could and should select a 
newer version for perl by now, but changing the selection takes effort, so 
someone will have to expend the effort to make that happen. Typically it has 
been Mojca who has done this work for previous versions, and she has begun the 
process of adding p5.32 modules and will presumably move on to p5.34 modules 
after that, and perhaps after that on to changing the default.


>> $ port info perl5
>> perl5 @5.28.3 (lang)
>> Sub-ports:perl5.16, perl5.18, perl5.20, perl5.22, perl5.24, 
>> perl5.26, perl5.28, perl5.30, perl5.32
>> Variants: perl5_26, [+]perl5_28, perl5_30
> 
> Odd that perl5.32 is a sub-port but perl5_32 isn't a variant.

It's not odd, in that nothing in MacPorts gets done until someone does it. 
Nobody has yet added a perl5_32 variant, therefore none exists.

The p5.32 module ports were just added en masse to MacPorts some days ago (some 
days after you wrote your message). There are so many of them that it will 
still take many days before the automated build system is finished building 
them. Until that's done, there's little point to offer a variant for that perl 
version for the perl5 port.


> Someone could make a full-time+ job of maintaining just the Perl packages in 
> MacPorts.

Or indeed any other sufficiently large subset of ports. Many of our maintainers 
do spend a great deal of time maintaining a great many ports, for which I thank 
them! :)



Re: Why don't p5-* ports mark their dependencies?

2021-06-25 Thread Ryan Schmidt
On Jun 12, 2021, at 12:39, Kastus Shchuka wrote:

>> sudo port upgrade --enforce-variants git -perl5_28 +perl5_30
> 
> Thank you, that worked and allowed me to uninstall all p5.28 modules.
> 
> What puzzles me still, why port info shows that git depends on perl 5.28 
> modules:
> 
> $ port info git  
> git @2.32.0 (devel)
> Variants: [+]credential_osxkeychain, [+]diff_highlight, [+]doc, 
> gitweb, [+]pcre, perl5_26, [+]perl5_28,
>  perl5_30, python, svn, universal
> 
> Description:  Git is a fast, scalable, distributed open source 
> version control system focusing on speed and
>  efficiency.
> Homepage: https://git-scm.com/
> 
> Extract Dependencies: xz
> Library Dependencies: perl5.28, curl, zlib, openssl, expat, libiconv, pcre2
> Runtime Dependencies: p5.28-authen-sasl, p5.28-error, p5.28-net-smtp-ssl, 
> p5.28-term-readkey, p5.28-cgi, rsync
> Platforms:darwin
> License:  GPL-2 and LGPL-2.1+
> Maintainers:  Email: ciserl...@macports.org, GitHub: ci42
>  Policy: openmaintainer
> $ port installed and git
> The following ports are currently installed:
>  git @2.31.1_2+credential_osxkeychain+diff_highlight+doc+pcre+perl5_30
>  git @2.32.0_0+credential_osxkeychain+diff_highlight+doc+pcre+perl5_30 
> (active)

Because git, with its default perl5_28 variant, does depend on p5.28 modules.

"port info" does not take into account the variants you have selected when 
installing the port. Rather, it shows you the info of the port with its default 
variants. If you want to see the info with a different set of variants you can 
specify them, e.g. "port info git +perl5_30"



Re: Why don't p5-* ports mark their dependencies?

2021-06-12 Thread raf
On Sat, Jun 12, 2021 at 06:02:25PM -0700, Ken Cunningham 
 wrote:

> I think Bill perhaps then you really want to open a thread with the title:
> 
> “I would like to suggest we move MacPorts default perl to 5.30 now”.
> 
> And then let the conversation happen, and if the outcome is “Yes” then that 
> will happen.
> 
> Or 5.32. Whatever you care to suggest.
> 
> But trying to fight against the current default recommended perl, whatever it 
> is, is kind of a waste of precious time and effort.
> 
> Ken

5.34 has just been released, so 5.32 might be better.
but they're all fine choices.

cheers,
raf



Re: Why don't p5-* ports mark their dependencies?

2021-06-12 Thread Ken Cunningham
I think Bill perhaps then you really want to open a thread with the title:

“I would like to suggest we move MacPorts default perl to 5.30 now”.

And then let the conversation happen, and if the outcome is “Yes” then that 
will happen.

Or 5.32. Whatever you care to suggest.

But trying to fight against the current default recommended perl, whatever it 
is, is kind of a waste of precious time and effort.

Ken

Re: Why don't p5-* ports mark their dependencies?

2021-06-12 Thread Bill Cole

On 2021-06-12 at 12:55:24 UTC-0400 (Sat, 12 Jun 2021 09:55:24 -0700)
Ken Cunningham 
is rumored to have said:


macports recommended perl is still 5.28


Which has been unsupported upstream for just over a year. 5.30 just fell 
out of support a few weeks ago. They are doing a major release every 
year and only supporting the current and prior stable releases. "Pace" 
is all the rage these days, having supplanted "stability."


I still have stable production on 5.28.3 because of some known issues in 
5.30 and later with code hygiene, but I need to work on those issues so 
a 5.30 test system (and soon 5.32) is necessary for me.




$ port info perl5
perl5 @5.28.3 (lang)
Sub-ports:perl5.16, perl5.18, perl5.20, perl5.22, 
perl5.24, perl5.26, perl5.28, perl5.30, perl5.32

Variants: perl5_26, [+]perl5_28, perl5_30


Odd that perl5.32 is a sub-port but perl5_32 isn't a variant.

so that is supposed to be the default perl for everything, until such 
time as that is changed to perl 5.30.


So if you want perl 5.30 for everything, you will be fighting upstream 
at every turn.


I see it more as opening a second front downstream of MacPorts in 
alliance with the Perl upstream. :)


Someone could make a full-time+ job of maintaining just the Perl 
packages in MacPorts.


--
Bill Cole
b...@scconsult.com or billc...@apache.org
(AKA @grumpybozo and many *@billmail.scconsult.com addresses)
Not Currently Available For Hire


Re: Why don't p5-* ports mark their dependencies?

2021-06-12 Thread Kastus Shchuka



> On Jun 12, 2021, at 9:54 AM, Rainer Müller  wrote:
> 
> On 12/06/2021 18.32, Bill Cole wrote:
>> On 2021-06-12 at 12:11:47 UTC-0400 (Sat, 12 Jun 2021 09:11:47 -0700)
>> Kastus Shchuka 
>> is rumored to have said:
>> 
>>> I wish it could be so easy to remove perl5.28. Apparently, I have to
>>> keep it because of git:
>> 
>> port uninstall git
>> port install git -perl5_28 +perl5_30
> 
> sudo port upgrade --enforce-variants git -perl5_28 +perl5_30
> 

Thank you, that worked and allowed me to uninstall all p5.28 modules.

What puzzles me still, why port info shows that git depends on perl 5.28 
modules:

$ port info git  
git @2.32.0 (devel)
Variants: [+]credential_osxkeychain, [+]diff_highlight, [+]doc, 
gitweb, [+]pcre, perl5_26, [+]perl5_28,
  perl5_30, python, svn, universal

Description:  Git is a fast, scalable, distributed open source version 
control system focusing on speed and
  efficiency.
Homepage: https://git-scm.com/

Extract Dependencies: xz
Library Dependencies: perl5.28, curl, zlib, openssl, expat, libiconv, pcre2
Runtime Dependencies: p5.28-authen-sasl, p5.28-error, p5.28-net-smtp-ssl, 
p5.28-term-readkey, p5.28-cgi, rsync
Platforms:darwin
License:  GPL-2 and LGPL-2.1+
Maintainers:  Email: ciserl...@macports.org, GitHub: ci42
  Policy: openmaintainer
$ port installed and git
The following ports are currently installed:
  git @2.31.1_2+credential_osxkeychain+diff_highlight+doc+pcre+perl5_30
  git @2.32.0_0+credential_osxkeychain+diff_highlight+doc+pcre+perl5_30 (active)


git works, as far as I can test. 

Thanks,

Kastus




Re: Why don't p5-* ports mark their dependencies?

2021-06-12 Thread Ken Cunningham
macports recommended perl is still 5.28

$ port info perl5
perl5 @5.28.3 (lang)
Sub-ports:perl5.16, perl5.18, perl5.20, perl5.22, perl5.24, 
perl5.26, perl5.28, perl5.30, perl5.32
Variants: perl5_26, [+]perl5_28, perl5_30


so that is supposed to be the default perl for everything, until such time as 
that is changed to perl 5.30.

So if you want perl 5.30 for everything, you will be fighting upstream at every 
turn.

Ken

Re: Why don't p5-* ports mark their dependencies?

2021-06-12 Thread Rainer Müller
On 12/06/2021 18.32, Bill Cole wrote:
> On 2021-06-12 at 12:11:47 UTC-0400 (Sat, 12 Jun 2021 09:11:47 -0700)
> Kastus Shchuka 
> is rumored to have said:
> 
>> I wish it could be so easy to remove perl5.28. Apparently, I have to
>> keep it because of git:
> 
> port uninstall git
> port install git -perl5_28 +perl5_30

sudo port upgrade --enforce-variants git -perl5_28 +perl5_30

https://guide.macports.org/#using.port.upgrade

Rainer


Re: Why don't p5-* ports mark their dependencies?

2021-06-12 Thread Bill Cole

On 2021-06-12 at 12:11:47 UTC-0400 (Sat, 12 Jun 2021 09:11:47 -0700)
Kastus Shchuka 
is rumored to have said:

I wish it could be so easy to remove perl5.28. Apparently, I have to 
keep it because of git:


port uninstall git
port install git -perl5_28 +perl5_30


--
Bill Cole
b...@scconsult.com or billc...@apache.org
(AKA @grumpybozo and many *@billmail.scconsult.com addresses)
Not Currently Available For Hire


Re: Why don't p5-* ports mark their dependencies?

2021-06-12 Thread Kastus Shchuka
I wish it could be so easy to remove perl5.28. Apparently, I have to keep it 
because of git:

$ port info git
git @2.31.1_2 (devel)
Variants: [+]credential_osxkeychain, [+]diff_highlight, [+]doc, 
gitweb, [+]pcre, perl5_26, [+]perl5_28,
  perl5_30, python, svn, universal

Description:  Git is a fast, scalable, distributed open source version 
control system focusing on speed and
  efficiency.
Homepage: https://git-scm.com/

Extract Dependencies: xz
Library Dependencies: perl5.28, curl, zlib, openssl, expat, libiconv, pcre2
Runtime Dependencies: p5.28-authen-sasl, p5.28-error, p5.28-net-smtp-ssl, 
p5.28-term-readkey, p5.28-cgi, rsync
Platforms:darwin
License:  GPL-2 and LGPL-2.1+
Maintainers:  Email: ciserl...@macports.org, GitHub: ci42
  Policy: openmaintainer

Are Library and Runtime dependencies of git on perl5.28 intentional or an 
oversight?

Thanks,

Kastus

> On Jun 12, 2021, at 8:34 AM, Bill Cole 
>  wrote:
> 
> On 2021-06-09 at 15:51:09 UTC-0400 (Wed, 9 Jun 2021 15:51:09 -0400)
> Daniel J. Luke 
> is rumored to have said:
> 
>> On Jun 6, 2021, at 1:41 PM, Bill Cole 
>>  wrote:
>>> I *think* I've even worked out the right way to use that construct to make 
>>> Perl upgrades simpler, so I use the p5-* ports:
>> 
>> I gave up on trying to use this in any useful way a while ago - if you've 
>> got some way that it works, please share.
> 
> According to my shell history, this is what I did to clear out all the old 
> perl5.2[68] and
> 
> port deactivate perl5
> port install perl5 +perl5_30
> port deactivate perl5.26
> port deactivate perl5.28
> port installed|grep '^  p5\.2.*-' |awk '{print $1}'|while read x; do y=`echo 
> $x|sed 's/\.2.-/-/'`; port -v -f deactivate $x ; port -v install $y; done
> 
> Adjust to suit whatever versions you're trying to remove/replace.
> 
> -- 
> Bill Cole
> b...@scconsult.com or billc...@apache.org
> (AKA @grumpybozo and many *@billmail.scconsult.com addresses)
> Not Currently Available For Hire



Re: Why don't p5-* ports mark their dependencies?

2021-06-12 Thread Bill Cole

On 2021-06-09 at 15:51:09 UTC-0400 (Wed, 9 Jun 2021 15:51:09 -0400)
Daniel J. Luke 
is rumored to have said:

On Jun 6, 2021, at 1:41 PM, Bill Cole 
 wrote:
I *think* I've even worked out the right way to use that construct to 
make Perl upgrades simpler, so I use the p5-* ports:


I gave up on trying to use this in any useful way a while ago - if 
you've got some way that it works, please share.


According to my shell history, this is what I did to clear out all the 
old perl5.2[68] and


port deactivate perl5
port install perl5 +perl5_30
port deactivate perl5.26
port deactivate perl5.28
port installed|grep '^  p5\.2.*-' |awk '{print $1}'|while read x; do 
y=`echo $x|sed 's/\.2.-/-/'`; port -v -f deactivate $x ; port -v install 
$y; done


Adjust to suit whatever versions you're trying to remove/replace.

--
Bill Cole
b...@scconsult.com or billc...@apache.org
(AKA @grumpybozo and many *@billmail.scconsult.com addresses)
Not Currently Available For Hire


Re: Why don't p5-* ports mark their dependencies?

2021-06-10 Thread Ryan Schmidt
On Jun 6, 2021, at 12:41, Bill Cole wrote:

> Not sure where the bug is here, but it's evident in 'port reclaim'.
> 
> The p5-* ports are basically placeholders for the p5.##- ports. I *think* 
> I've even worked out the right way to use that construct to make Perl 
> upgrades simpler, so I use the p5-* ports:
> 
>   $ sudo port install p5-net-cidr p5-term-readline p5-test-fatal
>   --->  Computing dependencies for p5-net-cidr
>   The following dependencies will be installed:  p5.30-net-cidr
>   Continue? [Y/n]: y
>   --->  Fetching archive for p5.30-net-cidr
>   --->  Attempting to fetch 
> p5.30-net-cidr-0.200.0_0.darwin_18.noarch.tbz2 from 
> https://ywg.ca.packages.macports.org/mirror/macports/packages/p5.30-net-cidr
>   --->  Attempting to fetch 
> p5.30-net-cidr-0.200.0_0.darwin_18.noarch.tbz2.rmd160 from 
> https://ywg.ca.packages.macports.org/mirror/macports/packages/p5.30-net-cidr
>   --->  Installing p5.30-net-cidr @0.200.0_0
>   --->  Activating p5.30-net-cidr @0.200.0_0
>   --->  Cleaning p5.30-net-cidr
>   --->  Cleaning p5-net-cidr
>   --->  Computing dependencies for p5-term-readline
>   The following dependencies will be installed:  p5.30-term-readline
>   Continue? [Y/n]: y
>   --->  Fetching archive for p5.30-term-readline
>   --->  Attempting to fetch 
> p5.30-term-readline-1.140.0_0.darwin_18.noarch.tbz2 from 
> https://ywg.ca.packages.macports.org/mirror/macports/packages/p5.30-term-readline
>   --->  Attempting to fetch 
> p5.30-term-readline-1.140.0_0.darwin_18.noarch.tbz2.rmd160 from 
> https://ywg.ca.packages.macports.org/mirror/macports/packages/p5.30-term-readline
>   --->  Installing p5.30-term-readline @1.140.0_0
>   --->  Activating p5.30-term-readline @1.140.0_0
>   --->  Cleaning p5.30-term-readline
>   --->  Cleaning p5-term-readline
>   --->  Computing dependencies for p5-test-fatal
>   The following dependencies will be installed:  p5.30-test-fatal
>   Continue? [Y/n]: y
>   --->  Fetching archive for p5.30-test-fatal
>   --->  Attempting to fetch 
> p5.30-test-fatal-0.16.0_0.darwin_18.noarch.tbz2 from 
> https://ywg.ca.packages.macports.org/mirror/macports/packages/p5.30-test-fatal
>   --->  Attempting to fetch 
> p5.30-test-fatal-0.16.0_0.darwin_18.noarch.tbz2.rmd160 from 
> https://ywg.ca.packages.macports.org/mirror/macports/packages/p5.30-test-fatal
>   --->  Installing p5.30-test-fatal @0.16.0_0
>   --->  Activating p5.30-test-fatal @0.16.0_0
>   --->  Cleaning p5.30-test-fatal
>   --->  Cleaning p5-test-fatal
>   --->  Scanning binaries for linking errors
>   --->  No broken files found.
>   --->  No broken ports found.
> 
> Perfectly normal, right?
> 
> However, immediately after doing that, I did a reclaim and got a surprise:
> 
>   $ sudo port -v reclaim
>   --->  Checking for unnecessary unrequested ports
>   Unrequested ports without requested dependents found:
>p5.30-test-fatal  @0.16.0_0
>p5.30-net-cidr  @0.200.0_0
>p5.30-term-readline  @1.140.0_0
>   Would you like to uninstall them? [Y/n]: n
> 
> And the dependency map is not reversible:
> 
>   $ port deps p5-net-cidr
>   Full Name: p5-net-cidr @0.200.0_0
>   Library Dependencies: p5.30-net-cidr
>   $ port rdependents p5.30-net-cidr
>   p5.30-net-cidr has no dependents.

Yes, the p5 ports are a bit weird in that regard. The p5-* ports can be 
installed -- they install essentially nothing (a placeholder text file) 
themselves but depend on e.g. the corresponding p5.30-* port which then gets 
installed. But also, the p5-* ports are marked as being replaced_by the 
corresponding p5.30-* port. This is unusual. Normally, when a port uses the 
replaced_by feature, the port also prevents itself from being able to be 
installed. The php-* and python-* ports do not use the replaced_by feature in 
this way; maybe the p5-* ports shouldn't do that either. Maybe that would cure 
the issue you observed.

Re: Why don't p5-* ports mark their dependencies?

2021-06-09 Thread Daniel J. Luke
On Jun 6, 2021, at 1:41 PM, Bill Cole 
 wrote:
> I *think* I've even worked out the right way to use that construct to make 
> Perl upgrades simpler, so I use the p5-* ports:

I gave up on trying to use this in any useful way a while ago - if you've got 
some way that it works, please share.

(FWIW, things would 'just work' if we'd ship the current version of perl5 and 
only have p5-foo ports).

For anything outside of MacPorts I recommend using perlbrew and just letting 
the macports perl install be only for things installed via macports.

-- 
Daniel J. Luke