michaelld at macports.org
Sun Feb 6 10:46:35 PST 2011
All of the below said: Per the replies, I'm just going to copy what is in the PlasmaClient Portfile, tweak it to work with vigra, & hope for the best. - MLD
On Feb 4, 2011, at 11:14 PM, Ryan Schmidt wrote:
> Last I checked, all ports that required boost with python support were checking for the python26 variant, so that's what I used in my port as well (PlasmaClient). I suggest you copy that block from there so all ports doing this continue to handle it identically. Ideally we would update to using the python27 variant, but it should be done for all such ports at the same time.
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.
Although the detection code I added isn't perfect, it can easily be corrected to work & also isn't as fragile -- it detects the correct PythonXY version to link to automatically. Its fragility is if the user installs a boost w/o Boost::Python -after- vigra is installed -- but that's also an issue for PlasmaClient (and, I assume the other ports that use Boost::Python).
As always, it seems to me that there must be a better way to keep track of these dependencies -- but also that I have no idea how the internals of 'port' work & hence it won't be me to try to figure out a better implementation.
More information about the macports-dev