Subject: [bug#27296] [PATCH 14/35] build-system: Add 'texlive-build-system'.

From: Ricardo Wurmus <[email-masked]>
Date: Wed, 14 Jun 2017 09:24:26 +0200

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

> Ricardo Wurmus <[email-masked]> skribis:
>
>> * guix/build-system/texlive.scm: New file.
>> * guix/build/texlive-build-system.scm: New file.
>> * Makefile.am (MODULES): Add them.
>> * doc/guix.texi (Build Systems): Document it.
>> * gnu/packages/tex.scm (%texlive-tag, %texlive-revision): Remove variables.
>> (texlife-ref): Remove procedure.
>
> [...]
>
[…]
>> +(define* (build #:key inputs build-targets tex-format #:allow-other-keys)
>> +  ;; Find additional tex and sty files
>> +  (setenv "TEXINPUTS"
>> +          (string-append
>> +           (getcwd) ":" (getcwd) "/build:"
>> +           (string-join
>> +            (append-map (match-lambda
>> +                          ((_ . dir)
>> +                           (find-files dir
>> +                                       (lambda (_ stat)
>> +                                         (eq? 'directory (stat:type stat)))
>> +                                       #:directories? #t
>> +                                       #:stat stat)))
>> +                        inputs)
>> +            ":")))
>> +  (setenv "TEXFORMATS"
>> +          (string-append (assoc-ref inputs "texlive-latex-base")
>> +                         "/share/texmf-dist/web2c/"))
>> +  (setenv "LUAINPUTS"
>> +          (string-append (assoc-ref inputs "texlive-latex-base")
>> +                         "/share/texmf-dist/tex/latex/base/"))
>
> Should these variables be declared as search paths somewhere?

I don’t think they should.  There are many more environment variables
needed by a usual TeX Live installation, but they are usually configured
in “texmf.cnf” and with special syntax e.g. to permit recursive
traversal (ending on “//”).  These three variables are just the bare
minimum I needed to run “latex” or “luatex” on the packages up to this
point.

If we really do need more in the future it might be better to create a
custom “texmf.cnf” and set the TEXMFCNF variable to use it.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net