If B and C are different versions of the same program, for example a stable 
version and a development version, then it is usual to use a path:-style 
dependency. The ports should be named X and X-devel. The ports would install 
the same files to the same places and would be marked as conflicting with one 
another. See how ports depend on graphviz/graphviz-devel, pango/pango-devel, 
cairo/cairo-devel, glib2/glib2-devel for examples.

If B and C are different programs that serve a similar function, then it is 
usual to use port:-style dependencies. Have B and C not conflict with one 
another, and have them install files to different places. In D, offer variants 
for selecting B or C. Make the variants conflict and make one the default. In 
each variant, add the appropriate dependency and configure args. See how ports 
depend on gnutls/openssl, libiodbc/unixODBC for examples.


_______________________________________________
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to