[MacPorts] #16336: Allow multiple ports to satisfy a single dependency

MacPorts noreply at macports.org
Thu Aug 21 07:40:54 PDT 2008


#16336: Allow multiple ports to satisfy a single dependency
----------------------------------+-----------------------------------------
  Reporter:  rhwood at macports.org  |       Owner:  macports-tickets at lists.macosforge.org
      Type:  enhancement          |      Status:  new                                  
  Priority:  Normal               |   Milestone:  MacPorts base enhancements           
 Component:  base                 |     Version:  1.6.0                                
Resolution:                       |    Keywords:                                       
----------------------------------+-----------------------------------------
Comment (by febeling at macports.org):

 In my earlier comment I described how we could get Virtual Packages using
 conflicting variants. The idea is, to spell it out, that the dependent
 port depends on the virtual port, and that virtual port can be installed
 using one of several ways, depending on how you specify (mutually
 exclusive) variants. The variants drive setup a dependency the the
 implementing port. I think ORed dependencies and Virtual Packages are
 alternative solutions to the same problem. Virtual Packages have the
 advantage of hiding "Implementation" (the actual package) behind and
 "Interface" (virtual package). At least Debian uses this approach as well
 [1], but I think others as well.

 I'm not sure which approach will be better in the long run. And we should
 probably have only one, not both. But I have tried to implement this as a
 port group and I find the result quite reasonable, because it does not
 require changes to the core workings, i.e., not very intrusive, and the
 resulting "virtual" portfile is short [2], here the postgresql example.
 And you can list virtual packages, if we put them all into a category
 "virtual", which is what my patch does. So now we have both options really
 open for discussion. One disadvantage is that it is very explicit,
 resulting in portfiles proper, instead of just symbols or names. Which
 have to be kept current and all. Just have a look. Patch follows.

 [1] http://www.debian.org/doc/FAQ/ch-pkg_basics.en.html#s-virtual

 [2] http://pastie.org/257239

-- 
Ticket URL: <http://trac.macports.org/ticket/16336#comment:13>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list