[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