summary refs log tree commit diff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2023-05-19 16:32:19 +0200
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2023-07-18 18:12:39 +0200
commitc3e3f03dafb1460b8693fc6c114365f376289197 (patch)
tree8ce70a05f5e9b92c0cd709c4f5c2711bf7879785
parent31cd9a50402ac64e83fce35a7c789613d6ad156a (diff)
downloadguix-c3e3f03dafb1460b8693fc6c114365f376289197.tar.gz
gnu: texlive-cm: Fix build.
* gnu/packages/tex.scm (texlive-cm)[arguments]<#:modules>: Remove keyword.
<#:phases>: Remove unnecessary phases.  Add a phase to build ".pk" files.
-rw-r--r--gnu/packages/tex.scm58
1 files changed, 18 insertions, 40 deletions
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 6ce5e372a4..893899a103 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -1164,52 +1164,30 @@ part of the cite bundle of the author's citation-related packages.")
     (arguments
      (list
       #:texlive-latex-base #f
-      #:modules
-      '((guix build texlive-build-system)
-        (guix build utils)
-        (srfi srfi-26))
       #:phases
       #~(modify-phases %standard-phases
-          (replace 'build
-            (lambda* (#:key inputs #:allow-other-keys)
-              (let ((mf (assoc-ref inputs "texlive-metafont")))
-                ;; Tell mf where to find mf.base
-                (setenv "MFBASES" (string-append mf "/share/texmf-dist/web2c"))
-                ;; Tell mf where to look for source files
-                (setenv "MFINPUTS"
-                        (string-append (getcwd) "/fonts/source/public/cm/:"
-                                       mf "/share/texmf-dist/metafont/base")))
-              (for-each make-file-writable
-                        (cons "fonts/source/public/cm/"
-                              (find-files "fonts/source/public/cm/" ".*")))
-              (let ((build (string-append (getcwd) "/build"))
-                    (pkdir (string-append (getcwd) "/pk/ljfour/public/cm/dpi600")))
-                (mkdir-p pkdir)
-                (mkdir-p build)
+          (add-after 'generate-font-metrics 'generate-pk
+            (lambda _
+              (let* ((cwd (getcwd))
+                     (pkdir
+                      (string-append cwd "/fonts/pk/ljfour/public/cm/dpi600"))
+                     (build-dir (string-append cwd "/build")))
                 (with-directory-excursion "fonts/source/public/cm/"
-                  (for-each (lambda (font)
-                              (format #t "building font ~a\n" font)
-                              (invoke "mf" "-progname=mf"
-                                      (string-append "-output-directory=" build)
-                                      (string-append "\\"
-                                                     "mode:=ljfour; "
-                                                     "mag:=1+0/600; "
-                                                     "scrollmode; "
-                                                     "input "
-                                                     (basename font ".mf")))
-                              (invoke "gftopk"
-                                      (string-append build "/"
-                                                     (basename font ".mf") ".600gf")
-                                      (string-append pkdir "/"
-                                                     (basename font ".mf") ".pk")))
-                            (find-files "." "cm(.*[0-9]+.*|inch)\\.mf$")))))))))
+                  (mkdir-p pkdir)
+                  (for-each
+                   (lambda (font)
+                     (let ((font-name (basename font ".mf")))
+                       (invoke "gftopk"
+                               (string-append build-dir "/" font-name ".600gf")
+                               (string-append pkdir "/" font-name ".pk"))))
+                   (find-files "." "cm(.*[0-9]+.*|inch)\\.mf$")))))))))
     (native-inputs (list texlive-metafont))
     (home-page "https://ctan.org/pkg/cm")
     (synopsis "Computer Modern fonts for TeX")
-    (description "This package provides the Computer Modern fonts by Donald
-Knuth.  The Computer Modern font family is a large collection of text,
-display, and mathematical fonts in a range of styles, based on Monotype Modern
-8A.")
+    (description
+     "This package provides the Computer Modern fonts by Donald Knuth.  The
+Computer Modern font family is a large collection of text, display, and
+mathematical fonts in a range of styles, based on Monotype Modern 8A.")
     (license license:knuth)))
 
 (define-deprecated-package texlive-fonts-cm texlive-cm)