Opened 10 months ago

Last modified 3 months ago

#59839 new enhancement

Record default python and perl versions

Reported by: mf2k (Frank Schima) Owned by:
Priority: Normal Milestone:
Component: base Version:
Keywords: Cc:
Port:

Description

I'd like for base to keep track of the currently accepted default version of important programs like python and perl. Then Portfiles could refer to that for the purpose of setting dependencies. Also, it would also be nice for variants.conf to be able to override those values.

While specific versions of python, in the past, have been important (e.g python 2 vs. 3), I don't think that is an issue much anymore. Where it is an issue, then Portfile in question can continue to hardcode the version needed.

Base itself should not hardcode the default versions and they should be easy to update anytime like allowed Xcode versions.

Examples:

default_python python37
default_perl perl5.30

Change History (1)

comment:1 Changed 10 months ago by ryandesign (Ryan Schmidt)

Suppose the "default python version" is 3.7, and that a hypothetical port declares dependencies based on that, and 3.7-specific paths get baked into the files the port installs. Let us suppose a user has installed this port.

Then suppose the "default python version" is changed to 3.8. This would change the dependencies and files installed by this hypothetical port. Logically, we would want the port to be rebuilt, but we don't have a mechanism for that to occur. The only mechanisms by which a port would be rebuilt are if the version/revision/epoch changes, the OS major version changes, or the default c++ standard library changes. We can't really implement your suggestion without this.

Last edited 3 months ago by ryandesign (Ryan Schmidt) (previous) (diff)
Note: See TracTickets for help on using tickets.