On Jul 28, 2016, at 2:06 AM, Artur Szostak wrote:

> "... A better implementation would let the port indicate that a port builds 
> on macOS 10.X or older, or macOS 10.Y or newer. ..."
> 
> This sounds like there is a need to allow encoding of version ranges.

Right, *if* we make a MacPorts base feature that allows or disallows building 
on some macOS versions, it should allow ranges. We could use the same syntax we 
use in the compiler_blacklist_versions portgroup for blacklisting ranges of 
clang compiler versions.

However, as I've said, there are other reasons why a port might not be able to 
install. Should we really modify MacPorts base and create new variables to 
accommodate each of those reasons? Is there a specific objection to what I 
consider the easiest and most flexible of the options I suggested: implement a 
new preflight phase, in which the port can run any logic to determine if the 
port can be installed?

> In which case I would suggest to solve this problem generically, to allow 
> encoding version ranges in port dependencies also. Similar to what is 
> possible with RPMs or Debian packages. If the logic is implemented for 
> dependencies then one could surely easily have things like the following 
> encoded in the Portfile:
> 
>  macosx >= 10.9
>  macosx < 10.10

Allowing version numbers or ranges in port dependencies is completely unrelated 
to this thread, and is completely outside the realm of possibility, because 
MacPorts does not have the capability to install a specific version of a port, 
because there is only one version of a portfile in existence at a time, so that 
is the only version MacPorts can install. I don't see this ever changing.


_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to