On Mar 10, 2007, at 12:20 PM, Kevin Ballard wrote:
The manpage for portfile.7 talks about how to specify dependencies, though I disagree with how it presents port:foo versus bin:foo:bar (or lib:libfoo:foo).
You might disagree, but the port:foo version is preferred as a matter of policy (and because it prevents a certain class of problems).
I believe you should use bin: or lib: if those accurately describe the type of dependency - need libjpeg? use a lib:libjpeg:jpeg dependency. Need gnumake? Use bin:gnumake:gmake. Doesn't matter if apple can or does satisfy these dependencies.
It makes sense to use those styles if you can be sure that anyone satisfying the conditions they impose is OK (this is not usually the case since they just look for a file and the test cannot make sure the file is actually one that is OK). They're a good alternative if you want a version of python installed, but don't actually care which version it is (for example, how the subversion-pythonbindings port works).
The port:foo variation, I think, should generally only be used if you don't know how the dependency is meant to be satisfied (e.g. what library? what binary? etc.) or if you require a version newer than you know apple provides.
port:foo version should be used unless there is a good reason (tm) for not using it. -- Daniel J. Luke +========================================================+ | *---------------- dluke@geeklair.net ----------------* | | *-------------- http://www.geeklair.net -------------* | +========================================================+ | Opinions expressed are mine and do not necessarily | | reflect the opinions of my employer. | +========================================================+