[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
309/452: gnu: texlive-tipa: Refresh package definition.
From: |
guix-commits |
Subject: |
309/452: gnu: texlive-tipa: Refresh package definition. |
Date: |
Fri, 9 Jun 2023 13:43:47 -0400 (EDT) |
ngz pushed a commit to branch tex-team-next
in repository guix.
commit 664f3849a282fbf3548d2c99b40e8a00610e7b3e
Author: Nicolas Goaziou <mail@nicolasgoaziou.fr>
AuthorDate: Tue May 16 20:25:23 2023 +0200
gnu: texlive-tipa: Refresh package definition.
* gnu/packages/tex.scm (texlive-tipa): Remove SIMPLE-TEXLIVE-PACKAGE
call.
[arguments]<#:phases>: Build font metrics.
---
gnu/packages/tex.scm | 101 ++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 83 insertions(+), 18 deletions(-)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 7ae8b99ae8..48a0bbc51a 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -5191,25 +5191,90 @@ It includes little more than the required set of LaTeX
packages.")))
(define-public texlive-tipa
(package
- (inherit (simple-texlive-package
- "texlive-tipa"
- (list "/tex4ht/ht-fonts/alias/tipa/"
- "/doc/fonts/tipa/"
- "/fonts/map/dvips/tipa/"
- "/fonts/source/public/tipa/"
- "/fonts/tfm/public/tipa/"
- "/fonts/type1/public/tipa/"
- "/tex/latex/tipa/")
- (base32
- "0cqzf8vb10b8jw99m9gflskxa4c3rpiznxglix6chl5lai5sgw44")
- #:trivial? #t))
- (home-page "https://www.ctan.org/pkg/tipa")
+ (name "texlive-tipa")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/fonts/tipa/"
+ "fonts/map/dvips/tipa/"
+ "fonts/source/public/tipa/"
+ "fonts/tfm/public/tipa/"
+ "fonts/type1/public/tipa/"
+ "tex/latex/tipa/")
+ (base32
+ "11gi7yhq2lnfgvqa29i0sidi5mwkzpja5ggdcpvqwv4xljf4vpvh")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (arguments
+ (list
+ #:modules
+ '((guix build texlive-build-system)
+ (guix build utils)
+ (ice-9 regex)
+ (srfi srfi-1)
+ (srfi srfi-26))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'install 'generate-fonts-metrics
+ (lambda _
+ (let ((mf #$(this-package-native-input "texlive-metafont"))
+ (cm #$(this-package-native-input "texlive-cm"))
+ (fonts-directories
+ (delete-duplicates
+ (map dirname
+ (find-files "." "[0-9]+\\.mf$"))))
+ (root (getcwd)))
+ (mkdir-p "build")
+ ;; Tell mf where to find mf.base.
+ (setenv "MFBASES" (string-append mf "/share/texmf-dist/web2c"))
+ (for-each
+ (lambda (directory)
+ ;; Tell mf where to look for source files.
+ (setenv "MFINPUTS"
+ (string-append
+ (getcwd) "/" directory ":"
+ mf "/share/texmf-dist/metafont/base:"
+ cm "/share/texmf-dist/fonts/source/public/cm"))
+ ;; Build font metrics (tfm).
+ (with-directory-excursion directory
+ (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"))))
+ ;; "tipasym[1-4].mf are files to be included in
+ ;; other ".mf" files and should not be compiled
+ ;; by themselves.
+ (filter
+ (negate
+ (cut string-match "tipasym[0-9]\\.mf$" <>))
+ (find-files "." "[0-9]+\\.mf$"))))
+ ;; Install font metrics at the appropriate location.
+ (let ((destination
+ ;; fonts/source/xxx/yyy/... -> fonts/tfm/xxx/yyy/...
+ (string-append "fonts/tfm"
+ (string-drop
+ directory
+ (string-length "fonts/source")))))
+ (format #t "moving font metrics in ~a\n" destination)
+ (for-each (cut install-file <> destination)
+ (find-files "build/" "\\.tfm$"))))
+ fonts-directories)))))))
+ (native-inputs
+ (list texlive-cm texlive-metafont))
+ (home-page "https://ctan.org/pkg/tipa")
(synopsis "Fonts and macros for IPA phonetics characters")
- (description "These fonts are considered the \"ultimate answer\" to IPA
-typesetting. The encoding of these 8-bit fonts has been registered as LaTeX
-standard encoding T3, and the set of addendum symbols as encoding
-TS3. \"Times-like\" Adobe Type 1 versions are provided for both the T3 and the
-TS3 fonts.")
+ (description
+ "These fonts are considered the ultimate answer to IPA typesetting. The
+encoding of these 8-bit fonts has been registered as LaTeX standard encoding
+T3, and the set of addendum symbols as encoding TS3. Times-like Adobe Type
+1 versions are provided for both the T3 and the TS3 fonts.")
(license license:lppl)))
(define-public texlive-amsrefs
- 274/452: gnu: texlive-mflogo: Refresh package definition., (continued)
- 274/452: gnu: texlive-mflogo: Refresh package definition., guix-commits, 2023/06/09
- 266/452: gnu: texlive-ltxcmds: Refresh package definition., guix-commits, 2023/06/09
- 263/452: gnu: texlive-intcalc: Refresh package definition., guix-commits, 2023/06/09
- 279/452: gnu: texlive-filecontents: Refresh package definition., guix-commits, 2023/06/09
- 281/452: gnu: Add texlive-hopatch., guix-commits, 2023/06/09
- 280/452: gnu: texlive-graphics: Refresh package definition., guix-commits, 2023/06/09
- 285/452: gnu: texlive-oberdiek: Refresh package definition., guix-commits, 2023/06/09
- 303/452: gnu: texlive-ddphonism: Refresh package definition., guix-commits, 2023/06/09
- 304/452: gnu: texlive-carlisle: Refresh package definition., guix-commits, 2023/06/09
- 311/452: gnu: texlive-cs: Refresh package definition., guix-commits, 2023/06/09
- 309/452: gnu: texlive-tipa: Refresh package definition.,
guix-commits <=
- 318/452: gnu: texlive-graphics-cfg: Refresh package definition., guix-commits, 2023/06/09
- 322/452: gnu: texlive-epsf: Refresh package definition., guix-commits, 2023/06/09
- 327/452: gnu: texlive-ruhyphen: Refresh package definition., guix-commits, 2023/06/09
- 331/452: gnu: texlive-hardwrap: Refresh package definition., guix-commits, 2023/06/09
- 336/452: gnu: texlive-lm-math: Refresh package definition., guix-commits, 2023/06/09
- 337/452: gnu: texlive-lm: Refresh package definition., guix-commits, 2023/06/09
- 340/452: gnu: texlive-cm-super: Refresh package definition., guix-commits, 2023/06/09
- 346/452: gnu: texlive-fontinst: Refresh package definition., guix-commits, 2023/06/09
- 350/452: gnu: texlive-dvips: Refresh package definition., guix-commits, 2023/06/09
- 357/452: gnu: texlive-context: Refresh package definition., guix-commits, 2023/06/09