ryandesign at macports.org
Thu May 19 08:09:05 PDT 2016
On May 19, 2016, at 10:04 AM, René J.V. Bertin wrote:
> On Thursday May 19 2016 09:39:58 Ryan Schmidt wrote:
>> That's not what path:-style dependencies are for, and they don't work like that. A "path:foo:bar" dependency means "if the file at path foo does not exist, install the port bar, which shall provide the file at path foo". It will not reinstall an already installed port with a different variant.
> I'd consider that a bug. A port (with a non-default variant) that omits the file "foo" shouldn't satisfy the above criterium. The file is not there, so the port apparently has to be (re)installed -- or at the very least that situation should be raised as an error (indicated port or equivalent is installed but doesn't provide an expected dependency).
> I don't see the ultimate difference with "install port:bar+universal because you only have port:bar and we're installing some dependent in its universal variant".
The description I provided in quotation marks above is what the path:-based dependency feature is intended to do. What you perceive is not a bug because the feature was not intended to do what you describe.
Some ports have used this feature in clever ways, i.e. by ignoring the "which shall provide the file at path foo" part of the feature's intended use, such that "fixing" the "bug" you describe, e.g. by erroring out if the indicated port does not provide the indicated file, would probably break those ports. So I don't think we should change this feature at all.
More information about the macports-users