#16336: Allow multiple ports to satisfy a single dependency ----------------------------------+----------------------------------------- Reporter: rhwood@macports.org | Owner: macports-tickets@lists.macosforge.org Type: enhancement | Status: new Priority: Normal | Milestone: MacPorts base enhancements Component: base | Version: 1.6.0 Resolution: | Keywords: ----------------------------------+----------------------------------------- Comment (by macsforever2000@macports.org): Replying to [comment:7 ryandesign@macports.org]:
What is the advantage to a "port:a|b|c" syntax? If all these ports provide the same thing, then "path:${prefix}/some/file:a" (where ${prefix}/some/file is a file provided by all three ports) is sufficient, isn't it?
Sometimes the dependency requires the entire port, not just a single file. For example, in the bacula port it requires a database be installed (when not using the client-only variant) but it really doesn't matter which precise version it is. To work around this, I had to create variants for each database version which is cumbersome. So instead of creating a variant for postgresql83, postgresql82, postgresql81 AND postgresl80, I decided to only use the latest version. However, it would be better to just have had a "postgresql8" variant which required any of them. The provides keyword would not work in this case. However, it brings up an issue. If none of the ports are available, which one gets installed? The first one in the list? I fully agree that the provides keyword is also a great idea. But it seems limited in usefulness to devel type ports only. -- Ticket URL: <http://trac.macports.org/ticket/16336#comment:8> MacPorts <http://www.macports.org/> Ports system for Mac OS