diff options
author | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2024-06-24 00:57:27 +0200 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2024-06-27 10:14:45 +0100 |
commit | 3f884f7a7c96ba1960de59a8fd4a7c6ee615680f (patch) | |
tree | 745e04f0a6982ef110474aacd8e131b986ff280d | |
parent | 48fd403a8e470ceae997c6fa7fcf60892d744783 (diff) |
gnu: texlive-context: Fix context executable.
* gnu/packages/tex.scm (texlive-context)[arguments]<#:link-scripts>:
"mtxrun.lua" is not meant to be symlinked to "/bin"
<#:phases>: Find another way to force using "texmfcnf.lua" from TEXLIVE-LUATEX
input. Install "context" and "mtxrun" scripts in "/bin".
Change-Id: Ifc62772d6cc4dff1636f0e8c9470a91d8be69229
-rw-r--r-- | gnu/packages/tex.scm | 52 |
1 files changed, 32 insertions, 20 deletions
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index ffdf02ffbe..e6a97778bf 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -73739,30 +73739,42 @@ a counter to be reset when another is incremented) and (build-system texlive-build-system) (arguments (list - #:link-scripts #~(list "mtxrun.lua") #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'locate-texmfcnf.lua - ;; Out of the box, "mtxrun" first looks for "texmfcnf.lua" in - ;; "~/texmf", then in TEXMFCNF. The latter is set within - ;; TEXLIVE-LIBKPATHSEA; it cannot contain the configuration file - ;; provided by TEXLIVE-LUATEX. Point to the right file instead. + (add-after 'install 'install-executables (lambda* (#:key inputs #:allow-other-keys) - (let ((texmfcnf.lua - (search-input-file inputs - "share/texmf-dist/web2c/texmfcnf.lua"))) - (substitute* (find-files "." "\\.lua$") - (("kpse\\.default_texmfcnf\\(\\)") - (format #f "\"~a\"" (dirname texmfcnf.lua))))))) - (add-after 'unpack 'create-context-wrapper - ;; Create a "context" script for convenience. - (lambda _ - (mkdir-p (string-append #$output "/bin")) - (with-directory-excursion (string-append #$output "/bin") - (call-with-output-file "context" + (let* ((bin (string-append #$output "/bin")) + (context (string-append bin "/context")) + (mtxrun (string-append bin "/mtxrun")) + (texmfcnf.lua + (search-input-file inputs + "share/texmf-dist/web2c/texmfcnf.lua")) + (sh (search-input-file inputs "bin/sh"))) + (mkdir-p bin) + ;; Create "mtxrun" runner. + ;; + ;; Out of the box, "mtxrun" first looks for "texmfcnf.lua" in + ;; "~/texmf", then in TEXMFCNF. The latter is set within + ;; TEXLIVE-LIBKPATHSEA; it cannot contain the configuration + ;; file provided by TEXLIVE-LUATEX. Point to the right file + ;; instead. + (call-with-output-file mtxrun + (lambda (port) + (format port + "#!~a~%env ~a ~a luatex --luaonly mtxrun.lua \"$@\"" + sh + (string-append "LUATEXDIR=" + #$output + "/share/texmf-dist/scripts/context/lua") + (format #f + "TEXMFCNF={$HOME/texmf/web2c,~a}" + (dirname texmfcnf.lua))))) + (chmod mtxrun #o755) + ;; Create "context" runner. + (call-with-output-file context (lambda (port) - (format port "#!/bin/sh~%mtxrun --script context \"$@\""))) - (chmod "context" #o755))))))) + (format port "#!~a~%mtxrun --script context \"$@\"" sh))) + (chmod context #o755))))))) (propagated-inputs (list texlive-amsfonts texlive-context-companion-fonts |