guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

135/141: gnu: texlive-context: Fix context executable.


From: guix-commits
Subject: 135/141: gnu: texlive-context: Fix context executable.
Date: Wed, 26 Jun 2024 06:35:08 -0400 (EDT)

ngz pushed a commit to branch tex-team
in repository guix.

commit 9368a1ab27f352bab6fe766f4b56957f19106349
Author: Nicolas Goaziou <mail@nicolasgoaziou.fr>
AuthorDate: Mon Jun 24 00:57:27 2024 +0200

    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
---
 gnu/packages/tex.scm | 52 ++++++++++++++++++++++++++++++++--------------------
 1 file changed, 32 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 2421ee4514..c1953692bc 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -73738,30 +73738,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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]