gnu: texlive-latex-base: Install additional formats.

* gnu/packages/tex.scm (texlive-latex-base)[arguments]: Additionally build and
install tex.fmt, pdftex.fmt, pdfetex.fmt, and pdflatex.fmt.
This commit is contained in:
Ricardo Wurmus 2017-06-29 01:33:41 +02:00
parent 6bcf1cd5db
commit bd6e23856f
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 14 additions and 6 deletions

View File

@ -735,11 +735,14 @@ book).")
(and (zero? (system* "luatex" "-ini" "-interaction=batchmode" (and (zero? (system* "luatex" "-ini" "-interaction=batchmode"
"-output-directory=build" "-output-directory=build"
"unpack.ins")) "unpack.ins"))
;; LaTeX and XeTeX require e-TeX, which is enabled only in (zero? (system* "tex" "-ini" "-interaction=batchmode"
;; extended mode (activated with a leading asterisk). We "-output-directory=web2c"
;; should not use luatex here, because that would make the "tex.ini"))
;; generated format files incompatible with any other TeX ;; LaTeX, pdfetex/pdftex, and XeTeX require e-TeX, which
;; engine. ;; is enabled only in extended mode (activated with a
;; leading asterisk). We should not use luatex here,
;; because that would make the generated format files
;; incompatible with any other TeX engine.
;; FIXME: XeTeX fails to build because neither ;; FIXME: XeTeX fails to build because neither
;; \XeTeXuseglyphmetrics nor \XeTeXdashbreakstate are ;; \XeTeXuseglyphmetrics nor \XeTeXdashbreakstate are
@ -751,7 +754,8 @@ book).")
"-translate-file=cp227.tcx" "-translate-file=cp227.tcx"
(string-append "*" format ".ini")))) (string-append "*" format ".ini"))))
'("latex" ;"xetex" '("latex" ;"xetex"
)) "pdflatex"
"pdfetex"))
(every (every
(lambda (format) (lambda (format)
(zero? (system* "luatex" "-ini" "-interaction=batchmode" (zero? (system* "luatex" "-ini" "-interaction=batchmode"
@ -772,6 +776,10 @@ book).")
(find-files "build" ".*")) (find-files "build" ".*"))
(for-each (cut install-file <> web2c) (for-each (cut install-file <> web2c)
(find-files "web2c" ".*")) (find-files "web2c" ".*"))
;; pdftex is really just the same as pdfetex, but since it
;; doesn't have its own format file, we need to copy it.
(copy-file "web2c/pdfetex.fmt"
(string-append web2c "/pdftex.fmt"))
#t)))))) #t))))))
(native-inputs (native-inputs
`(("texlive-bin" ,texlive-bin) `(("texlive-bin" ,texlive-bin)