On Jan 14, 2008, at 03:18, Emmanuel Hainry wrote:

If more than one port installs a binary foo, and either one is good enough, this could be specified in a portfile by saying

depends_lib path:${prefix}/bin/foo:bar

where "bar" is the preferred port for providing foo if it is not already installed.

The dependencies would have to be changed in all ports that currently depend directly on teTeX.

- Seems like it would be more valuable to say "either this port
  or that port" rather than "depends on file", because there
  might be many many files that need to be supported.

Perhaps. But MacPorts does not currently have any syntax for specifying that, and we've gotten along without it so far. The alternative that we currently have available is to specify that a port depends on a certain file existing, and if it does not, then install one particular port that
provides that file. There might be another port (or ports) that could
also provide that file, but the user would have to know about this and install that other port first. The dependent port that's specified should
be the one that "most" users would want.

At the moment, what dependent ports will check for is a texmf tree
(provided by texlive_texmf-minimal and some binaries (latex, pdflatex,
mktexlsr...). So the best dependency scheme would probably be
bin:latex:texlive.  So that people with tetex who do not care to have
the latest distribution can live with teTeX (which works well).

Using something like "bin:latex:texlive" is discouraged because a latex binary outside of the MacPorts prefix would satisfy the dependency, but we don't want it to; we only want latex binaries installed by MacPorts to be detected[1]. Therefore, "path:${prefix}/ bin/latex:texlive" should be used instead.


[1] http://trac.macosforge.org/projects/macports/wiki/ FAQ#WhyisMacPortsusingitsownlibraries

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

Reply via email to