guix-commits
[Top][All Lists]
Advanced

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

178/435: gnu: texlive-eurosym: Refresh package definition.


From: guix-commits
Subject: 178/435: gnu: texlive-eurosym: Refresh package definition.
Date: Tue, 6 Jun 2023 11:39:39 -0400 (EDT)

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

commit 56e0b1f96ecb2be2531ddbd3c9f53911b867301a
Author: Nicolas Goaziou <mail@nicolasgoaziou.fr>
AuthorDate: Mon May 15 13:28:55 2023 +0200

    gnu: texlive-eurosym: Refresh package definition.
    
    * gnu/packages/tex.scm (texlive-eurosym): Remove SIMPLE-TEXLIVE-PACKAGE
    call.
    [arguments]<#:phases>: Build font metrics.
---
 gnu/packages/tex.scm | 89 +++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 68 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 2e7ab76ba8..b1da3cd60b 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -11704,27 +11704,74 @@ OpenType fonts.")
     (license license:lppl1.3+)))
 
 (define-public texlive-eurosym
-  (let ((template (simple-texlive-package
-                   "texlive-eurosym"
-                   (list "/doc/fonts/eurosym/"
-                         "/fonts/map/dvips/eurosym/"
-                         "/fonts/source/public/eurosym/"
-                         "/fonts/tfm/public/eurosym/"
-                         "/fonts/type1/public/eurosym/"
-                         "/tex/latex/eurosym/eurosym.sty")
-                   (base32
-                    "0ml24rxbl1yir4s3fjjxm0z7axklc3p33syg41b76zc7hck9mk8s")
-                   #:trivial? #true)))
-    (package
-      (inherit template)
-      (home-page "https://www.ctan.org/pkg/eurosym";)
-      (synopsis "METAFONT and macros for Euro sign")
-      (description "This package provides the European currency symbol for the
-Euro implemented in METAFONT, using the official European Commission
-dimensions, and providing several shapes (normal, slanted, bold, outline).
-The package also includes a LaTeX package which defines the macro,
-pre-compiled font files, and documentation.")
-      (license (license:non-copyleft "file:///doc/fonts/eurosym/COPYING")))))
+  (package
+    (name "texlive-eurosym")
+    (version (number->string %texlive-revision))
+    (source (texlive-origin
+             name version
+             (list "doc/fonts/eurosym/"
+                   "fonts/map/dvips/eurosym/"
+                   "fonts/source/public/eurosym/"
+                   "fonts/tfm/public/eurosym/"
+                   "fonts/type1/public/eurosym/"
+                   "tex/latex/eurosym/")
+             (base32
+              "0ml24rxbl1yir4s3fjjxm0z7axklc3p33syg41b76zc7hck9mk8s")))
+    (outputs '("out" "doc"))
+    (build-system texlive-build-system)
+    (arguments
+     (list
+      #:modules
+      '((guix build texlive-build-system)
+        (guix build utils)
+        (srfi srfi-1)
+        (srfi srfi-26))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'install 're-generate-fonts-metrics
+            (lambda _
+              (let ((mf #$(this-package-native-input "texlive-metafont"))
+                    (cm #$(this-package-native-input "texlive-cm"))
+                    (root (getcwd)))
+                (mkdir-p "build")
+                (with-directory-excursion "fonts/source/public/eurosym"
+                  ;; 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) ":"
+                           mf "/share/texmf-dist/metafont/base:"
+                           cm "/share/texmf-dist/fonts/source/public/cm"))
+                  ;; Build font metrics (tfm).
+                  (for-each (lambda (font)
+                              (format #t "building font ~a\n" font)
+                              (invoke "mf" "-progname=mf"
+                                      (string-append "-output-directory="
+                                                     root "/build")
+                                      (string-append "\\"
+                                                     "mode:=ljfour; "
+                                                     "mag:=1; "
+                                                     "batchmode; "
+                                                     "input "
+                                                     (basename font ".mf"))))
+                            (find-files "." "[0-9]+\\.mf$")))
+                ;; Install font metrics at the appropriate location.
+                (for-each
+                 (cut install-file <> "fonts/tfm/public/eurosym")
+                 (find-files "build/" "\\.tfm$"))))))))
+    (native-inputs
+     (list texlive-bin texlive-cm texlive-metafont))
+    (home-page "https://ctan.org/pkg/eurosym";)
+    (synopsis "METAFONT and macros for Euro sign")
+    (description
+     "The European currency symbol for the Euro implemented in METAFONT, using
+the official European Commission dimensions, and providing several
+shapes (normal, slanted, bold, outline).  The package also includes a LaTeX
+package which defines the macro, pre-compiled @file{tfm} files, and
+documentation.")
+    (license (license:non-copyleft "file:///doc/fonts/eurosym/COPYING"))))
 
 (define-public texlive-kastrup
   (package



reply via email to

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