summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/tex.scm128
1 files changed, 60 insertions, 68 deletions
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index f8d7c0b7ac..79621a6f8e 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -1176,77 +1176,69 @@ cite bundle of the author's citation-related packages.")
               "/share/texmf-dist/doc/latex/cite/README"))))
 
 (define-public texlive-cm
-  (let ((template (simple-texlive-package
-                   "texlive-cm"
-                   (list "/fonts/source/public/cm/"
-                         "/fonts/map/dvips/cm/cmtext-bsr-interpolated.map"
-                         "/doc/fonts/cm/")
-                   (base32
-                    "0mfslqs9saqkb3z3xdhsqnklxk858nmipgj1y93by2791jzkma1d")
-                   #:trivial? #t)))
-    (package
-      (inherit template)
-      (arguments
-       (substitute-keyword-arguments (package-arguments template)
-         ((#:modules modules '())
-          '((guix build gnu-build-system)
-            (guix build utils)
-            (srfi srfi-26)))
-         ((#:phases phases)
-          `(modify-phases ,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)
-                   (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$"))))
-                 #t))
-             (add-after 'install 'install-generated-fonts
-               (lambda* (#:key inputs outputs #:allow-other-keys)
-                 (let* ((out    (assoc-ref outputs "out"))
-                        (fonts  (string-append out "/share/texmf-dist/fonts/"))
-                        (pk     (string-append fonts "pk"))
-                        (tfm    (string-append fonts "tfm/public/cm")))
-                   (for-each (cut install-file <> tfm)
-                             (find-files "build" "\\.*"))
-                   (copy-recursively "pk" pk)
-                   #t)))))))
-      (native-inputs
-       (list texlive-bin texlive-metafont))
-      (home-page "https://www.ctan.org/pkg/cm")
-      (synopsis "Computer Modern fonts for TeX")
-      (description "This package provides the Computer Modern fonts by Donald
+  (package
+    (name "texlive-cm")
+    (version (number->string %texlive-revision))
+    (source (texlive-origin
+             name version
+             (list "doc/fonts/cm/" "fonts/map/dvips/cm/"
+                   "fonts/pk/ljfour/public/cm/dpi600/"
+                   "fonts/source/public/cm/"
+                   "fonts/tfm/public/cm/")
+             (base32
+              "10adgjc3lkj2z50jp1f9n83bdrx8bqxd76rl605d0d5pb435k97m")))
+    (outputs '("out" "doc"))
+    (build-system texlive-build-system)
+    (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)
+                (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$")))))))))
+    (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.")
-      (license license:knuth))))
+    (license license:knuth)))
 
 (define-deprecated-package texlive-fonts-cm texlive-cm)