I hoped someone else would have something to say on the topic, since I myself don't use any of this TeX software. But they haven't so I will. On Jan 9, 2008, at 18:03, John Owens wrote:
Ryan Schmidt <ryandesign@...> writes:
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.
OK cool. A few questions then:
- At what point do we think about making texlive the 'default' TeX port rather than teTeX? (We should, eventually.)
The first thing on the teTeX homepage is a "De-support notice" explaining there will be no further versions. Sounds like now would be a good time. You could contact the maintainers of the teTeX and texlive ports to see if they agree. If they do, then you can contact the maintainers of all the ports that currently declare a dependency on teTeX and work with them to change this to texlive.
- 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.
- Let's say I'm updating a port and want to make this change. How can I actually tell what file is the dependency (without delving into the makefiles)? Seems like I'd have to delve.
Personally, I would just pick any important file (a binary perhaps, or a library) that both teTeX and texlive provide. I'm not familiar with TeX software, but take perl as an example. We now have ports perl5.8 and perl5.10 which (as far as I know) both install ${prefix}/ bin/perl (and if they don't, then assume they do for the sake of this example). Instead of specifying a dependency on "port:perl5.8" this could be changed to "path:${prefix}/bin/perl:perl5.8". This way, perl5.10's perl is used if it was already installed, and if it wasn't, perl5.8 gets installed.