py2?-pyqt4* dependents

Peter Danecek Peter.Danecek at bo.ingv.it
Wed Nov 27 07:39:11 PST 2013


Hi all,

recently when I was upgrading `qgis`, I realised that its dependency on `py2?-pyqt4-devel` potentially causes conflicts which are not easily resolved by users.

qgis depends on `port:py2?-pyqt4-devel`, while most other ports depend explicitly on `port:py2?-pyqt4`. There are few ports (python/py-matplotlib & science/gnuradio) which use `path:*` so their dependency is resolved by both.

Now, I imagine that qgis' dependency is due to some specific feature which the port requires. Maybe Vincent could confirm this is the case. But I imagine that py2?-pyqt4-devel would satisfy the requirements of all other dependents of py2?-pyqt4 as well. 

So are there any objections to implement such changes?


Side question / discussion:

I have limited understanding of the Macports base, but I wonder if it would be to difficult to implement a mechanism which would allow to specify several alternative ports instead of the `path:` syntax. What I have in mind is something like this:

depends_lib-append      {port:py27-pyqt4 port:py27-pyqt4-devel}

in analogy to the license specification. If any of the dependencies in the braces exist, this dependency would be satisfied, if not the first is installed. 

An alternative solution to this generic problem could be to specify in the `py2?-pyqt4` port itself that it could be substituted (not "replaced") with a (set of) other ports (here: py2?-pyqt4-devel). At the condition that any of these ports is already installed, dependents would use that port instead. This would avoid to have to change a potentially large set of dependent ports in case an alternative port becomes available and I have the impression that part of the logic can be shared with `replaced_by`. But again, unfortunately I do know to little about base and registry.

Thanks!
~petr


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1762 bytes
Desc: not available
URL: <https://lists.macosforge.org/pipermail/macports-dev/attachments/20131127/9e3f61cb/attachment.p7s>


More information about the macports-dev mailing list