What have I forgotten about specifying which Perl should be /opt/local/bin/perl?

Ryan Schmidt ryandesign at macports.org
Sat Jan 22 15:40:19 UTC 2022

On Jan 22, 2022, at 09:06, Gabriel Rosenkoetter wrote:
> On 2022-01-22 09:10 EST, Ryan Schmidt wrote:
>> The use of the "+" character is intentional.
>> "+" means a variant is enabled. "-" means a variant is disabled.
>> "[ ]" around either "+" or "-" means the choice comes from the port's default_variants directives. "( )" around either "+" or "-" means the choice comes from your variants.conf file. No symbol around "+" or "-" means the choice comes from what you specified on the command line. This is explained in the port-variants manpage.
> Huh. Okay. That's helpful, thank you!
> I still think it's confusing for the output of, eg, `port variants perl5`, to place a special marker on the default version of the port, but to not indicate what version the user will get when they run, eg, `/opt/local/bin/perl`.
> I understand that that data isn't necessarily available in the portindex. I'm saying maybe it should be?
>> The version field of the perl5 port is pretty irrelevant since the port does nothing other than depend on other ports that install the real files. The version of the perl5 port could just as easily have been "1.0" or "0" or "42".
> Gotcha. I think I agree that synchronizing that to the implied version of Perl is probably less confusing than generating a separate numberspace.

It is not possible for a port to offer a different version based on what variant has been selected. If a port were to do that, the port would either not show up as outdated when "port outdated" or "sudo port upgrade outdated" are run, or else it would always show up as outdated even when it is not. The portindex, which is what is used to determine outdatedness, only stores one set of data for each port -- the data corresponding to whatever that port's default variants are.

More information about the macports-users mailing list