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

commit 156b605c164ccc837cf38eb9af3697af3bcb5db1
Author: Nicolas Goaziou <m...@nicolasgoaziou.fr>
AuthorDate: Thu May 30 23:45:32 2024 +0200

    gnu: texlive-latex-bin: Create symlinks for "latex" variants.
    
    * gnu/packages/tex.scm (texlive-latex-bin)[arguments]<#:phases>: Create
    symlinks for "latex" variants.
    * gnu/packages/tex.scm (texlive-bin)[arguments]<#:phases>: Remove symlink
    creation.
    
    Change-Id: Ib4f1b05082572e8ccb7f5dd5531ed30cf404ce29
---
 gnu/packages/tex.scm | 43 +++++++++++++++++++++++++++----------------
 1 file changed, 27 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 3bda364e1d..7765e226fc 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -783,23 +783,20 @@ and should be preferred to it whenever a package would 
otherwise depend on
                   (("/usr/include /usr/local/include")
                    (string-append #$(this-package-input "texlive-libkpathsea")
                                   "/include"))))))
-          (add-after 'install 'maybe-create-symlinks
-            ;; Create symbolic links for the latex variants.  We link lualatex
-            ;; to luahbtex; see issue #51252 for details.
+          (add-after 'install 'maybe-clear-symlinks
+            ;; XXX: No matter the combination of configure flags, process
+            ;; insists on creating those dangling links, resulting in an error
+            ;; during `validate-runpath' phase.
             ;;
-            ;; Make it conditional so packages inheriting from this one do not
-            ;; need to remove this phase.
+            ;; Make it specific to TEXLIVE-BIN package by verifying the
+            ;; existence of "tex" binary so that packages inheriting from this
+            ;; one do not need to remove the phase.
             (lambda _
-              (with-directory-excursion (string-append #$output "/bin/")
-                (when (file-exists? "tex") ;for TEXLIVE-BIN only
-                  (for-each symlink
-                            '("pdftex" "pdftex"   "luahbtex")
-                            '("latex"  "pdflatex" "lualatex"))
-                  ;; XXX: No matter the combination of configure flags,
-                  ;; process insists on creating those dangling links,
-                  ;; resulting in an error during `validate-runpath' phase.
-                  (for-each delete-file
-                            '("pbibtex" "pdvitype" "ppltotf" "ptftopl"))))))
+              (let ((bin (string-append #$output "/bin/")))
+                (when (file-exists? (string-append bin "tex"))
+                  (with-directory-excursion bin
+                    (for-each delete-file
+                              '("pbibtex" "pdvitype" "ppltotf" "ptftopl")))))))
           (add-after 'install 'remove-documentation
             ;; Documentation is provided by specific TeX Live packages, in
             ;; a dedicated "doc" output.  Ignore documentation generated when
@@ -46023,7 +46020,21 @@ formats.")
     (arguments
      (list
       #:texlive-latex-bin? #f
-      #:create-formats #~(list "dvilualatex" "latex" "lualatex" "pdflatex")))
+      #:create-formats #~(list "dvilualatex" "latex" "lualatex" "pdflatex")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'install 'symlink-binaries
+            ;; Create symbolic links for the latex variants.  We link lualatex
+            ;; to luahbtex; see issue #51252 for details.
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((pdftex (search-input-file inputs "bin/pdftex"))
+                    (luahbtex (search-input-file inputs "bin/luahbtex"))
+                    (bin (string-append #$output "/bin")))
+                (mkdir-p bin)
+                (with-directory-excursion bin
+                  (symlink pdftex "latex")
+                  (symlink pdftex "pdflatex")
+                  (symlink luahbtex "lualatex"))))))))
     (propagated-inputs
      (list texlive-atbegshi
            texlive-atveryend

Reply via email to