Subject: bug#27217: texlive is too big

From: Ricardo Wurmus <[email-masked]>
Date: Tue, 19 Mar 2019 22:36:21 +0100

Ludovic Courtès <[email-masked]> writes:

>> I'm suggesting those following steps:
>>
>> - Write the package definition generator.  We can take inspiration from
>>   opam.scm, it seems to be well written and very similar.
>>   `texlive-fetch' is already aligned with `opam-fetch'.
>>
>>   For testing, we can try to recreate a simple package definition.
>>   texlive-latex-xcolor for instance.
>>   There is an immediate difference already: the name generated by the importer
>>   will be texlive-xcolor and not texlive-latex-xcolor.
>>
>> - Write texlive-fetch so that we can write definitions with multiple
>>   directories.
>>
>> - Update the texlive-build-system to accommodate the importer.  For instance, we
>>   will probably have to build fonts automatically.  We will also have to be
>>   smart about the files that need to be generated, and those that need to be discarded.
>>
>> - Write an updater (again, following opam.scm, should be trivial).
>>
>> I'll get started with the first step today.  Let me know what you think!
>
> So TeX Live packages would use ‘texlive-fetch’ instead of ‘svn-fetch’ or
> similar, right?
>
> If that’s the case, then merely computing the derivation of one of these
> would require fetching the tldb database, which would be problematic.
> Is this correct?

I think there has been a misunderstanding here.  Pierre seems to be
using the name “texlive-fetch” for two different things.  As it stands
it is not a source code downloader.  It is a procedure that extracts a
package’s information from the parsed plain text database.

The thing I proposed some days ago (also named “texlive-fetch”) would be
a variant of “svn-fetch” that supports more than one location in the
target SVN repository so that disjoint subsets of the SVN tree can be
downloaded at the same time.  This is unrelated.

The extraction of information from the plain text database (which is
included with “texlive-bin”) is done “offline” when using the importer,
i.e. when generating package definitions.

--
Ricardo