ryandesign at macports.org
Sun Feb 6 10:51:34 PST 2011
On Feb 6, 2011, at 12:46, Michael Dickens wrote:
> This method of requiring Boost (with Boost::Python) and PythonXY is fragile and can easily be messed up by the user without him/her realizing / knowing it -- the same can be said for various ports that use +x11 and +quartz (and, probably, others). For example, I could do "sudo port install boost +python27" and then "sudo port install PlasmaClient" and the Portfile would work -- building or running might not work, but the Portfile won't know any better. And, doing so will only confuse the end-user and probably even the owners of the various ports.
I had not thought about that... if that's true, that's not good. It all comes back to variants not being very helpful when it comes to dependencies. You can't depend on a variant of a port, which is ticket #126 and the reason for the workaround code in PlasmaClient et al -- but even if you could, you can't have different versions of a port (with different variants) active at the same time, so it wouldn't work to have one port that is using boost +python26 and a different port that's using boost +python27. Best would be if boost's python support were separated into ports for each version of python (e.g. py26-boost, py27-boost) which ports could then depend on as needed. But I don't know if boost's build system makes that easy to do.
More information about the macports-dev