.tlpsrc files and package dependencies

Karl Berry karl at freefriends.org
Mon Jun 1 23:58:33 CEST 2020


Hi Zdenek, Ivan, all,

    I have dependences listed in the manual but maybe it can be done
    better. 

Indeed, I don't read manuals on the offchance of discovering
dependencies :).  In general, I never try to figure out dependencies
myself (aside from format creation requirements or other deps induced by
TL itself) but merely await author input. I cannot discern any good
automated way to do it.

So ... we have never specified a way for authors to communicate
dependencies to us in their package uploads. I don't especially look
forward to processing them, but it seems like this could be helpful.

So, how about this: if a file DEPENDS.txt is in the top level of the
CTAN upload, we will look at it for dependencies. Lines starting with #
are comments. Other lines specify package names, preceded by either
"hard" for hard dependencies, or "soft" for soft dependencies (which we
will ignore), or "package" for the package name (only necessary in the
highly unusual case that more than one package is installed out of the
same CTAN directory). Thus, a sample file might contain:

--------------------------------------------------------
# Last checked 2020-06-01.
hard dep1
hard dep2
# This package only needed when running with xetex:
soft xedep
--------------------------------------------------------

As in this example, deps which are engine-specific should always be
specified as soft. Not everyone installs all engines.

It's useful to have it in a separate file, because then I will notice
when it is updated. If it was only in the README, it would be easier to
overlook.

Wdyt?  If this suits, I'll add it to the
https://tug.org/texlive/pkgcontrib.html web page soon and "officially"
communicate it to CTAN, though it doesn't really matter to them.

    Soft: the package will work but som non-mandatory features will be unavailable

We can't do anything with soft dependencies. TL != Debian.
But there's no harm in listing them informationally if you want to take
the time to do so. --best, karl.


More information about the tex-live mailing list.