recommended "dependencies?"

Mike Roberts zoarre.37258548 at bloglines.com
Mon Feb 12 14:40:30 PST 2007


In article <fc.004c4c580be08f8a3b9aca00f74d15ae.be09341 at biola.edu>,
 "Mark Duling" <mark.duling at biola.edu> wrote:

> I don't think I fully understood what it is you are trying to do with
> variants because I didn't fully understand the example you gave earlier,
> so my comments were limited.  I may not be one that would have an answer
> anyway, and I'm sorry if I've lost track of the thread as I may have, but
> could you restate what is is you'd like to do where an abstract portfile
> is a possible solution?  I'd like to understand it more fully.

no worries. i might have confused the issue by switching examples from a 
dvi previewer to x windows.

say that i've got an application that requires x windows, "emacs-x11" 
for example. there's at least two implementations of x windows (xfree86 
and x.org) that can be installed to satisfy the dependency. how does the 
port system select between the two? how would the user express her 
preference to the ports system if the default were deemed unacceptable? 
a dvi previewer or an http daemon would have a similar problem, since 
there are multiple implementations of each.

the solution i proposed was an abstract port named after a particular 
service or functionality: x11_base or dvi_previewer, which theoretically 
could be configured with the variant syntax to be an alias for user 
preferences (i.e. x11_base+use_xorg or x11_base+use_xfree, extending the 
proposed conventions). it seemed possible with few modifications to the 
existing implementation, if any. the user might specify preferences 
either in variants.conf or by manually installing a port. ports could 
identify incompatibilities because the implementation is part of the 
port signature. the only problem i see, aside from feasibility issues, 
is the signature of default installation being syntactically different 
from it's semantic equivalent (i.e. x11_base and x11_base+xfree are 
identical, if xfree is the default).

/mike




More information about the macports-users mailing list