gnu: Add texlive-amsfonts.
* gnu/packages/tex.scm (texlive-fonts-amsfonts, texlive-latex-amsfonts): Deprecate and merge... (texlive-amsfonts): ...to this new package.
This commit is contained in:
parent
e976d3618d
commit
82ff725df9
|
@ -1039,198 +1039,138 @@ Taco Hoekwater.")
|
||||||
(define-public texlive-fonts-mflogo-font
|
(define-public texlive-fonts-mflogo-font
|
||||||
(deprecated-package "texlive-fonts-mflogo-font" texlive-mflogo-font))
|
(deprecated-package "texlive-fonts-mflogo-font" texlive-mflogo-font))
|
||||||
|
|
||||||
(define-public texlive-fonts-amsfonts
|
(define-public texlive-amsfonts
|
||||||
(package
|
(let ((template (simple-texlive-package
|
||||||
(name "texlive-fonts-amsfonts")
|
"texlive-amsfonts"
|
||||||
(version (number->string %texlive-revision))
|
(list "/source/latex/amsfonts/"
|
||||||
(source (origin
|
"/fonts/source/public/amsfonts/"
|
||||||
(method svn-fetch)
|
"/fonts/type1/public/amsfonts/"
|
||||||
(uri (svn-reference
|
"/fonts/afm/public/amsfonts/"
|
||||||
(url (string-append "svn://www.tug.org/texlive/tags/"
|
"/fonts/map/dvips/amsfonts/"
|
||||||
%texlive-tag "/Master/texmf-dist/"
|
"/tex/plain/amsfonts/"
|
||||||
"/fonts/source/public/amsfonts"))
|
"/doc/fonts/amsfonts/")
|
||||||
(revision %texlive-revision)))
|
(base32
|
||||||
(file-name (string-append name "-" version "-checkout"))
|
"15q70nkjf8wqzbd5ivcdx3i2sdgqxjb38q0qn9a2qw9i0qcnx6zw"))))
|
||||||
(sha256
|
(package
|
||||||
(base32
|
(inherit template)
|
||||||
"07h20rvpbdb4k72hzmjkyb29426zr9wxsfp6yd4ajbbpd3vx8grb"))))
|
(arguments
|
||||||
(build-system gnu-build-system)
|
(substitute-keyword-arguments (package-arguments template)
|
||||||
(arguments
|
((#:tex-directory _ #t)
|
||||||
`(#:modules ((guix build gnu-build-system)
|
"latex/amsfonts")
|
||||||
(guix build utils)
|
((#:modules modules '())
|
||||||
(ice-9 match)
|
`((guix build texlive-build-system)
|
||||||
(srfi srfi-1)
|
(guix build utils)
|
||||||
(srfi srfi-26))
|
(ice-9 match)
|
||||||
#:tests? #f ; no tests
|
(srfi srfi-1)
|
||||||
#:phases
|
(srfi srfi-26)))
|
||||||
(modify-phases %standard-phases
|
((#:phases phases)
|
||||||
(delete 'configure)
|
`(modify-phases ,phases
|
||||||
(replace 'build
|
(add-before 'build 'build-fonts
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
(let ((mf (assoc-ref inputs "texlive-union"))
|
(let ((mf (assoc-ref inputs "texlive-union"))
|
||||||
(cwd (getcwd)))
|
(src (string-append (getcwd) "/fonts/source/public/amsfonts/")))
|
||||||
;; Make METAFONT reproducible
|
;; Make METAFONT reproducible
|
||||||
(setenv "SOURCE_DATE_EPOCH" "1")
|
(setenv "SOURCE_DATE_EPOCH" "1")
|
||||||
;; Tell mf where to find mf.base
|
;; Tell mf where to find mf.base
|
||||||
(setenv "MFBASES" (string-append mf "/share/texmf-dist/web2c"))
|
(setenv "MFBASES" (string-append mf "/share/texmf-dist/web2c"))
|
||||||
;; Tell mf where to look for source files
|
;; Tell mf where to look for source files
|
||||||
(setenv "MFINPUTS"
|
(setenv "MFINPUTS"
|
||||||
(string-append cwd ":"
|
(string-append src ":"
|
||||||
cwd "/cmextra:"
|
src "/cmextra:"
|
||||||
cwd "/cyrillic:"
|
src "/cyrillic:"
|
||||||
cwd "/dummy:"
|
src "/dummy:"
|
||||||
cwd "/symbols:"
|
src "/symbols:"
|
||||||
mf "/share/texmf-dist/metafont/base:"
|
mf "/share/texmf-dist/metafont/base:"
|
||||||
(assoc-ref inputs "texlive-fonts-cm")
|
(assoc-ref inputs "texlive-fonts-cm")
|
||||||
"/share/texmf-dist/fonts/source/public/cm")))
|
"/share/texmf-dist/fonts/source/public/cm")))
|
||||||
(mkdir "build")
|
(let ((build (string-append (getcwd) "/build")))
|
||||||
(for-each (lambda (font)
|
(mkdir-p build)
|
||||||
(format #t "building font ~a\n" (basename font ".mf"))
|
(with-directory-excursion "fonts/source/public/amsfonts"
|
||||||
(with-directory-excursion (dirname font)
|
(for-each (lambda (font)
|
||||||
(invoke "mf" "-progname=mf"
|
(format #t "building font ~a\n" (basename font ".mf"))
|
||||||
"-output-directory=../build"
|
(with-directory-excursion (dirname font)
|
||||||
(string-append "\\"
|
(invoke "mf" "-progname=mf"
|
||||||
"mode:=ljfour; "
|
(string-append "-output-directory=" build)
|
||||||
"mag:=1; "
|
(string-append "\\"
|
||||||
"nonstopmode; "
|
"mode:=ljfour; "
|
||||||
"input "
|
"mag:=1; "
|
||||||
(getcwd) "/"
|
"nonstopmode; "
|
||||||
(basename font ".mf")))))
|
"input "
|
||||||
(find-files "." "[0-9]+\\.mf$"))
|
(getcwd) "/"
|
||||||
|
(basename font ".mf")))))
|
||||||
|
(find-files "." "[0-9]+\\.mf$"))))
|
||||||
|
|
||||||
;; There are no metafont sources for the Euler fonts, so we
|
;; There are no metafont sources for the Euler fonts, so we
|
||||||
;; convert the afm files instead.
|
;; convert the afm files instead.
|
||||||
(mkdir "build/euler")
|
(let ((build (string-append (getcwd) "/build/euler")))
|
||||||
(for-each (lambda (font)
|
(mkdir build)
|
||||||
(format #t "converting afm font ~a\n" (basename font ".afm"))
|
(with-directory-excursion "fonts/afm/public/amsfonts/"
|
||||||
(invoke "afm2tfm" font
|
(for-each (lambda (font)
|
||||||
(string-append "build/euler/"
|
(format #t "converting afm font ~a\n" (basename font ".afm"))
|
||||||
(basename font ".tfm"))))
|
(invoke "afm2tfm" font
|
||||||
(find-files (assoc-ref inputs "amsfonts-afm")
|
(string-append build "/"
|
||||||
"\\.afm$"))
|
(basename font ".tfm"))))
|
||||||
|
(find-files "." "\\.afm$")))
|
||||||
|
|
||||||
;; Frustratingly, not all fonts can be created this way. To
|
;; Frustratingly, not all fonts can be created this way. To
|
||||||
;; generate eufm8.tfm, for example, we first scale down
|
;; generate eufm8.tfm, for example, we first scale down
|
||||||
;; eufm10.afm to eufm8.pl, and then generate the tfm file from
|
;; eufm10.afm to eufm8.pl, and then generate the tfm file from
|
||||||
;; the pl file.
|
;; the pl file.
|
||||||
(with-directory-excursion "build/euler"
|
(setenv "TEXINPUTS"
|
||||||
(setenv "TEXINPUTS"
|
(string-append build "//:"
|
||||||
(string-append (getcwd) "//:"
|
(getcwd) "/fonts/afm/public/amsfonts//:"
|
||||||
(assoc-ref inputs "amsfonts-afm") "//:"
|
(assoc-ref inputs "texlive-union") "//"))
|
||||||
(assoc-ref inputs "texlive-union") "//"))
|
(with-directory-excursion build
|
||||||
(for-each (match-lambda
|
(for-each (match-lambda
|
||||||
(((target-base target-size)
|
(((target-base target-size)
|
||||||
(source-base source-size))
|
(source-base source-size))
|
||||||
(let ((factor (number->string
|
(let ((factor (number->string
|
||||||
(truncate/ (* 1000 target-size)
|
(truncate/ (* 1000 target-size)
|
||||||
source-size))))
|
source-size))))
|
||||||
(invoke "tex"
|
(invoke "tex"
|
||||||
"-interaction=scrollmode"
|
"-interaction=scrollmode"
|
||||||
(string-append "\\input fontinst.sty "
|
(string-append "\\input fontinst.sty "
|
||||||
"\\transformfont{" target-base "}"
|
"\\transformfont{" target-base "}"
|
||||||
"{\\scalefont{" factor "}"
|
"{\\scalefont{" factor "}"
|
||||||
"{\\fromafm{" source-base "}}} "
|
"{\\fromafm{" source-base "}}} "
|
||||||
"\\bye")))
|
"\\bye")))
|
||||||
(invoke "pltotf"
|
(invoke "pltotf"
|
||||||
(string-append target-base ".pl")
|
(string-append target-base ".pl")
|
||||||
(string-append target-base ".tfm"))
|
(string-append target-base ".tfm"))
|
||||||
(delete-file (string-append target-base ".pl"))))
|
(delete-file (string-append target-base ".pl"))))
|
||||||
|
|
||||||
'((("eufm8" 8) ("eufm10" 10))
|
'((("eufm8" 8) ("eufm10" 10))
|
||||||
|
|
||||||
(("eufb6" 6) ("eufb7" 7))
|
(("eufb6" 6) ("eufb7" 7))
|
||||||
(("eufb8" 8) ("eufb10" 10))
|
(("eufb8" 8) ("eufb10" 10))
|
||||||
(("eufb9" 9) ("eufb10" 10))
|
(("eufb9" 9) ("eufb10" 10))
|
||||||
|
|
||||||
(("eufm6" 6) ("eufb7" 7))
|
(("eufm6" 6) ("eufb7" 7))
|
||||||
(("eufm9" 9) ("eufb10" 10))
|
(("eufm9" 9) ("eufb10" 10))
|
||||||
|
|
||||||
(("eurb6" 6) ("eurb7" 7))
|
(("eurb6" 6) ("eurb7" 7))
|
||||||
(("eurb8" 8) ("eurb10" 10))
|
(("eurb8" 8) ("eurb10" 10))
|
||||||
(("eurb9" 9) ("eurb10" 10))
|
(("eurb9" 9) ("eurb10" 10))
|
||||||
|
|
||||||
(("eurm6" 6) ("eurm7" 7))
|
(("eurm6" 6) ("eurm7" 7))
|
||||||
(("eurm8" 8) ("eurm10" 10))
|
(("eurm8" 8) ("eurm10" 10))
|
||||||
(("eurm9" 9) ("eurm10" 10)))))
|
(("eurm9" 9) ("eurm10" 10))))))
|
||||||
#t))
|
#t))
|
||||||
(replace 'install
|
(add-after 'install 'install-generated-fonts
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(copy-recursively "build"
|
||||||
(root (string-append out "/share/texmf-dist/fonts/"))
|
(string-append
|
||||||
(pkgs '(("amsfonts-afm" . "afm/public/amsfonts")
|
(assoc-ref outputs "out")
|
||||||
("amsfonts-type1" . "type1/public/amsfonts")
|
"/share/texmf-dist/fonts/tfm/public/amsfonts"))
|
||||||
("amsfonts-map" . "map/dvips/amsfonts"))))
|
#t))))))
|
||||||
(for-each (match-lambda
|
(native-inputs
|
||||||
((pkg . dir)
|
`(("texlive-union" ,(texlive-union (list texlive-tex-fontinst-base
|
||||||
(let ((target (string-append root dir)))
|
texlive-fonts-cm
|
||||||
(mkdir-p target)
|
texlive-metafont-base)))))
|
||||||
(copy-recursively (assoc-ref inputs pkg)
|
(home-page "https://www.ctan.org/pkg/amsfonts")
|
||||||
target))))
|
(synopsis "TeX fonts from the American Mathematical Society")
|
||||||
pkgs)
|
(description
|
||||||
(copy-recursively (assoc-ref inputs "amsfonts-plain")
|
"This package provides an extended set of fonts for use in mathematics,
|
||||||
(string-append out "/share/texmf-dist/tex/plain/amsfonts"))
|
|
||||||
(let* ((tfm (string-append root "tfm/public/amsfonts"))
|
|
||||||
(mf (string-append root "source/public/amsfonts")))
|
|
||||||
(copy-recursively "build" tfm)
|
|
||||||
(for-each (cut install-file <> mf)
|
|
||||||
(find-files "." "\\.mf"))
|
|
||||||
#t)))))))
|
|
||||||
(native-inputs
|
|
||||||
`(("texlive-union" ,(texlive-union (list texlive-tex-fontinst-base
|
|
||||||
texlive-fonts-cm
|
|
||||||
texlive-metafont-base)))
|
|
||||||
("amsfonts-plain"
|
|
||||||
,(origin
|
|
||||||
(method svn-fetch)
|
|
||||||
(uri (svn-reference
|
|
||||||
(url (string-append "svn://www.tug.org/texlive/tags/"
|
|
||||||
%texlive-tag "/Master/texmf-dist/"
|
|
||||||
"/tex/plain/amsfonts"))
|
|
||||||
(revision %texlive-revision)))
|
|
||||||
(file-name (string-append name "-plain-" version "-checkout"))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"1hi8c9rkfb6395sxf7fhkr91xygfg8am1hqij9g3h2c7qx3714qp"))))
|
|
||||||
("amsfonts-map"
|
|
||||||
,(origin
|
|
||||||
(method svn-fetch)
|
|
||||||
(uri (svn-reference
|
|
||||||
(url (string-append "svn://www.tug.org/texlive/tags/"
|
|
||||||
%texlive-tag "/Master/texmf-dist/"
|
|
||||||
"/fonts/map/dvips/amsfonts"))
|
|
||||||
(revision %texlive-revision)))
|
|
||||||
(file-name (string-append name "-map-" version "-checkout"))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"1lrj3bd9ybj4aawzlygc6qvakbrwc5s0mc5n9rpic331frv3axfs"))))
|
|
||||||
("amsfonts-type1"
|
|
||||||
,(origin
|
|
||||||
(method svn-fetch)
|
|
||||||
(uri (svn-reference
|
|
||||||
(url (string-append "svn://www.tug.org/texlive/tags/"
|
|
||||||
%texlive-tag "/Master/texmf-dist/"
|
|
||||||
"/fonts/type1/public/amsfonts"))
|
|
||||||
(revision %texlive-revision)))
|
|
||||||
(file-name (string-append name "-type1-" version "-checkout"))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"1zfz33vn6gm19njy74n8wmn7sljrimfhwns5z8qqhxqfh1g4qip2"))))
|
|
||||||
("amsfonts-afm"
|
|
||||||
,(origin
|
|
||||||
(method svn-fetch)
|
|
||||||
(uri (svn-reference
|
|
||||||
(url (string-append "svn://www.tug.org/texlive/tags/"
|
|
||||||
%texlive-tag "/Master/texmf-dist/"
|
|
||||||
"/fonts/afm/public/amsfonts"))
|
|
||||||
(revision %texlive-revision)))
|
|
||||||
(file-name (string-append name "-afm-" version "-checkout"))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"1fifzkaihmjgchnk7dmw0c23k0cz999dxnc78ivmqvgi1dhx0iv8"))))))
|
|
||||||
(home-page "https://www.ctan.org/pkg/amsfonts")
|
|
||||||
(synopsis "TeX fonts from the American Mathematical Society")
|
|
||||||
(description
|
|
||||||
"This package provides an extended set of fonts for use in mathematics,
|
|
||||||
including: extra mathematical symbols; blackboard bold letters (uppercase
|
including: extra mathematical symbols; blackboard bold letters (uppercase
|
||||||
only); fraktur letters; subscript sizes of bold math italic and bold Greek
|
only); fraktur letters; subscript sizes of bold math italic and bold Greek
|
||||||
letters; subscript sizes of large symbols such as sum and product; added sizes
|
letters; subscript sizes of large symbols such as sum and product; added sizes
|
||||||
|
@ -1240,31 +1180,13 @@ files, and all except the Euler fonts are provided as Metafont source. The
|
||||||
distribution also includes the canonical Type 1 versions of the Computer
|
distribution also includes the canonical Type 1 versions of the Computer
|
||||||
Modern family of fonts. The Euler fonts are supported by separate packages;
|
Modern family of fonts. The Euler fonts are supported by separate packages;
|
||||||
details can be found in the documentation.")
|
details can be found in the documentation.")
|
||||||
(license license:silofl1.1)))
|
(license license:silofl1.1))))
|
||||||
|
|
||||||
|
(define-public texlive-fonts-amsfonts
|
||||||
|
(deprecated-package "texlive-fonts-amsfonts" texlive-amsfonts))
|
||||||
|
|
||||||
(define-public texlive-latex-amsfonts
|
(define-public texlive-latex-amsfonts
|
||||||
(package
|
(deprecated-package "texlive-latex-amsfonts" texlive-amsfonts))
|
||||||
(name "texlive-latex-amsfonts")
|
|
||||||
(version (number->string %texlive-revision))
|
|
||||||
(source (origin
|
|
||||||
(method svn-fetch)
|
|
||||||
(uri (texlive-ref "latex" "amsfonts"))
|
|
||||||
(file-name (string-append name "-" version "-checkout"))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"0slzfv5h2m03b2xvm2sasznz4azh6rgi069z161dja3l8rln79hm"))))
|
|
||||||
(build-system texlive-build-system)
|
|
||||||
(arguments '(#:tex-directory "latex/amsfonts"))
|
|
||||||
(native-inputs
|
|
||||||
`(("texlive-fonts-cm" ,texlive-fonts-cm)
|
|
||||||
("texlive-metafont-base" ,texlive-metafont-base)))
|
|
||||||
(home-page "https://www.ctan.org/pkg/amsfonts")
|
|
||||||
(synopsis "TeX fonts from the American Mathematical Society")
|
|
||||||
(description
|
|
||||||
"This package provides basic LaTeX support for the symbol fonts provides
|
|
||||||
by the amsfonts package. It provides @code{amsfonts.sty}, with names of
|
|
||||||
individual symbols defined in @code{amssymb.sty}.")
|
|
||||||
(license license:silofl1.1)))
|
|
||||||
|
|
||||||
(define-public texlive-mkpattern
|
(define-public texlive-mkpattern
|
||||||
(package
|
(package
|
||||||
|
|
Loading…
Reference in New Issue