summary refs log tree commit diff
path: root/guix
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2023-06-17 11:34:23 +0200
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2023-07-18 18:15:05 +0200
commit9fadbf759c7ae0c4555bf43883f3f0a0d8a4e6a6 (patch)
tree783eb1f894a6c76c82c14254a34badf062ce4643 /guix
parentec97cf15693a0567daa741ecf6d21e6e7ec68134 (diff)
downloadguix-9fadbf759c7ae0c4555bf43883f3f0a0d8a4e6a6.tar.gz
gnu: texlive-bin: Do not install all linked scripts.
* gnu/packages/tex.scm (texlive-scripts): Include only core scripts along with
their man pages and their dependencies.  Also patch them for use in Guix.
(texlive-bin): Simplify package.
[inputs]: Remove "texlive-extra-src" and "texlive-scripts" inputs.  Remove
labels from other inputs.
[propagated-inputs]: Add TEXLIVE-SCRIPTS.
[arguments]: Use G-expressions.
<#:configure-flags>: Add "--disable-linked-scripts".
<#:phases>: Remove phases relative to scripts.
* guix/profiles.scm (texlive-font-maps): Fetch executables from both
TEXLIVE-SCRIPTS and TEXLIVE-BIN.
* guix/import/texlive.scm (tlpdb-file): Grab file from TEXLIVE-SCRIPTS instead
of TEXLIVE-BIN.
Diffstat (limited to 'guix')
-rw-r--r--guix/import/texlive.scm8
-rw-r--r--guix/profiles.scm14
2 files changed, 13 insertions, 9 deletions
diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm
index 554258f20d..d4fa8bb674 100644
--- a/guix/import/texlive.scm
+++ b/guix/import/texlive.scm
@@ -153,20 +153,20 @@ When TEXLIVE-ONLY is true, only TeX Live packages are returned."
                depends)))
 
 (define (tlpdb-file)
-  (define texlive-bin
+  (define texlive-scripts
     ;; Resolve this variable lazily so that (gnu packages ...) does not end up
     ;; in the closure of this module.
     (module-ref (resolve-interface '(gnu packages tex))
-                'texlive-bin))
+                'texlive-scripts))
 
   (with-store store
     (run-with-store store
       (mlet* %store-monad
-          ((drv (lower-object texlive-bin))
+          ((drv (lower-object texlive-scripts))
            (built (built-derivations (list drv))))
         (match (derivation->output-paths drv)
           (((names . items) ...)
-           (return (string-append (first items)
+           (return (string-append (second items) ;"out"
                                   "/share/tlpkg/texlive.tlpdb"))))))))
 
 (define tlpdb
diff --git a/guix/profiles.scm b/guix/profiles.scm
index 30ac0d52e4..35208dd0c9 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -1789,6 +1789,8 @@ MANIFEST."
            '()))))
   (define texlive-inputs
     (append-map entry->texlive-input (manifest-entries manifest)))
+  (define texlive-scripts
+    (module-ref (resolve-interface '(gnu packages tex)) 'texlive-scripts))
   (define texlive-bin
     (module-ref (resolve-interface '(gnu packages tex)) 'texlive-bin))
   (define coreutils
@@ -1823,8 +1825,10 @@ MANIFEST."
                                  ":"
                                  #$(file-append grep "/bin")
                                  ":"
-                                 #$(file-append sed "/bin")))
-          (setenv "PERL5LIB" #$(file-append texlive-bin "/share/tlpkg"))
+                                 #$(file-append sed "/bin")
+                                 ":"
+                                 #$(file-append texlive-bin "/bin")))
+          (setenv "PERL5LIB" #$(file-append texlive-scripts "/share/tlpkg"))
           (setenv "GUIX_TEXMF" "/tmp/texlive/share/texmf-dist")
 
           ;; Remove invalid maps from config file.
@@ -1834,7 +1838,7 @@ MANIFEST."
             (install-file #$(file-append updmap.cfg "/web2c/updmap.cfg") web2c)
             (make-file-writable updmap.cfg)
             (let* ((port (open-pipe* OPEN_WRITE
-                                     #$(file-append texlive-bin "/bin/updmap-sys")
+                                     #$(file-append texlive-scripts "/bin/updmap-sys")
                                      "--syncwithtrees"
                                      "--nohash"
                                      "--force"
@@ -1844,7 +1848,7 @@ MANIFEST."
                 (error "failed to filter updmap.cfg")))
 
             ;; Generate font maps.
-            (invoke #$(file-append texlive-bin "/bin/updmap-sys")
+            (invoke #$(file-append texlive-scripts "/bin/updmap-sys")
                     (string-append "--cnffile=" updmap.cfg)
                     (string-append "--dvipdfmxoutputdir="
                                    maproot "dvipdfmx/updmap")
@@ -1862,7 +1866,7 @@ MANIFEST."
             ;; to /tmp and run mktexlsr only once.
             (let ((a (string-append #$output "/share/texmf-dist"))
                   (b "/tmp/texlive/share/texmf-dist")
-                  (mktexlsr #$(file-append texlive-bin "/bin/mktexlsr")))
+                  (mktexlsr #$(file-append texlive-scripts "/bin/mktexlsr")))
               (copy-recursively a b)
               (invoke mktexlsr b)
               (install-file (string-append b "/ls-R") a))))))