Subject: bug#27217: texlive is too big

From: Ricardo Wurmus <[email-masked]>
Date: Mon, 28 May 2018 14:02:54 +0200

Mathieu Lirzin <[email-masked]> writes:

> Ricardo Wurmus <[email-masked]> writes:
>
>> What’s missing?
>>
>> Currently, one needs to set a lot of environment variables to use these
>> separate packages.  For “fastcap” I needed to set “DVIPSHEADERS” (to
>> find “tex.pro”), “TFMFONTS” (for compiled metafont files), “TEXFORMATS”
>> (for the compiled “latex.fmt”), and “TEXINPUTS” (for all directories
>> containing tex source files).  Setting these variables manually is
>> really tedious.
>>
>> How can we set them automatically?  A simple idea is to provide a
>> procedure “texlive-union” that takes texlive packages and produces a
>> wrapped variant of the tools in “texlive-bin” that run inside an
>> environment where these variables are set.
>
> After reading, it is not clear to me why having all the environment
> variables set in “~/.guix-profile/etc/profile” is not good enough, or
> not possible?

IIRC the format of these variables is somewhat peculiar and does not
correspond to the way environment variables are commonly specified, so
we probably cannot use the search-path mechanism that Guix provides.
(For example, there is syntax for indicating that a directory is
supposed to be searched recursively.)

Instead we would generate a configuration file that contains all of the
environment variables and then only set the variables that are required
to look up this configuration file.  That’s roughly what “texlive-union”
does.  (It also builds a union directory, but we do this anyway when
building profiles, so that’s nothing special.)

--
Ricardo