summary refs log tree commit diff
path: root/gnu/packages/tex.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/tex.scm')
-rw-r--r--gnu/packages/tex.scm272
1 files changed, 37 insertions, 235 deletions
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 4831cf0933..1dd3f09f90 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -1459,139 +1459,6 @@ Taco Hoekwater.")
                          "/fonts/source/public/amsfonts/"
                          "/fonts/type1/public/amsfonts/"
                          "/fonts/afm/public/amsfonts/"
-                         "/fonts/map/dvips/amsfonts/"
-                         "/tex/plain/amsfonts/"
-                         "/doc/fonts/amsfonts/")
-                   (base32
-                    "15q70nkjf8wqzbd5ivcdx3i2sdgqxjb38q0qn9a2qw9i0qcnx6zw"))))
-    (package
-      (inherit template)
-      ;; TODO: This package is missing files.
-      (replacement texlive-amsfonts/fixed)
-      (arguments
-       (substitute-keyword-arguments (package-arguments template)
-         ((#:build-targets _ #t)
-          '(list "amsfonts.ins"))
-         ((#:tex-directory _ #t)
-          "latex/amsfonts")
-         ((#:modules modules '())
-          `((guix build texlive-build-system)
-            (guix build utils)
-            (ice-9 match)
-            (srfi srfi-1)
-            (srfi srfi-26)))
-         ((#:phases phases)
-          `(modify-phases ,phases
-             (add-before 'build 'build-fonts
-               (lambda* (#:key inputs #:allow-other-keys)
-                 ;; Allow self fonts sources and other resources to be
-                 ;; discovered.
-                 (setenv "GUIX_TEXMF" (string-append (getenv "GUIX_TEXMF")
-                                                     ":" (getcwd)))
-
-                 (let ((build (string-append (getcwd) "/build-fonts")))
-                   (mkdir-p build)
-                   (with-directory-excursion "fonts/source/public/amsfonts"
-                     (for-each (lambda (font)
-                                 (format #t "building font ~a\n" (basename font ".mf"))
-                                 (with-directory-excursion (dirname font)
-                                   (invoke "mf" "-progname=mf"
-                                           (string-append "-output-directory=" build)
-                                           (string-append "\\"
-                                                          "mode:=ljfour; "
-                                                          "mag:=1; "
-                                                          "nonstopmode; "
-                                                          "input "
-                                                          (getcwd) "/"
-                                                          (basename font ".mf")))))
-                               (find-files "." "[0-9]+\\.mf$"))))
-
-                 ;; There are no metafont sources for the Euler fonts, so we
-                 ;; convert the afm files instead.
-                 (let ((build (string-append (getcwd) "/build-fonts/euler")))
-                   (mkdir build)
-                   (with-directory-excursion "fonts/afm/public/amsfonts/euler"
-                     (for-each (lambda (font)
-                                 (format #t "converting afm font ~a\n" (basename font ".afm"))
-                                 (invoke "afm2tfm" font
-                                         (string-append build "/"
-                                                        (basename font ".tfm"))))
-                               (find-files "(cmextra|cyrillic|dummy|euler|symbols)"
-                                           "\\.afm$")))
-
-                   ;; Frustratingly, not all fonts can be created this way.  To
-                   ;; generate eufm8.tfm, for example, we first scale down
-                   ;; eufm10.afm to eufm8.pl, and then generate the tfm file from
-                   ;; the pl file.
-                   (setenv "TEXINPUTS"
-                           (string-append ":" build "//:"
-                                          (getcwd) "/fonts/afm/public/amsfonts//:"
-                                          (getcwd) "/source/latex/amsfonts//:"))
-                   (with-directory-excursion build
-                     (for-each (match-lambda
-                                 (((target-base target-size)
-                                   (source-base source-size))
-                                  (let ((factor (number->string
-                                                 (truncate/ (* 1000 target-size)
-                                                            source-size))))
-                                    (invoke "tex"
-                                            "-interaction=scrollmode"
-                                            (string-append "\\input fontinst.sty "
-                                                           "\\transformfont{" target-base "}"
-                                                           "{\\scalefont{" factor "}"
-                                                           "{\\fromafm{" source-base "}}} "
-                                                           "\\bye")))
-                                  (invoke "pltotf"
-                                          (string-append target-base ".pl")
-                                          (string-append target-base ".tfm"))
-                                  (delete-file (string-append target-base ".pl"))))
-
-                               '((("eufm8" 8) ("eufm10" 10))
-
-                                 (("eufb6" 6) ("eufb7" 7))
-                                 (("eufb8" 8) ("eufb10" 10))
-                                 (("eufb9" 9) ("eufb10" 10))
-
-                                 (("eufm6" 6) ("eufb7" 7))
-                                 (("eufm9" 9) ("eufb10" 10))
-
-                                 (("eurb6" 6) ("eurb7" 7))
-                                 (("eurb8" 8) ("eurb10" 10))
-                                 (("eurb9" 9) ("eurb10" 10))
-
-                                 (("eurm6" 6) ("eurm7" 7))
-                                 (("eurm8" 8) ("eurm10" 10))
-                                 (("eurm9" 9) ("eurm10" 10))))))))
-             (add-after 'install 'install-generated-fonts
-               (lambda* (#:key inputs outputs #:allow-other-keys)
-                 (copy-recursively "build-fonts"
-                                   (string-append
-                                    (assoc-ref outputs "out")
-                                    "/share/texmf-dist/fonts/tfm/public/amsfonts"))))))))
-      (native-inputs
-       (list (texlive-updmap.cfg (list texlive-fontinst))))
-      (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
-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
-of the Computer Modern small caps font; cyrillic fonts (from the University of
-Washington); Euler mathematical fonts.  All fonts are provided as Adobe Type 1
-files, and all except the Euler fonts are provided as Metafont source.  The
-distribution also includes the canonical Type 1 versions of the Computer
-Modern family of fonts.  The Euler fonts are supported by separate packages;
-details can be found in the documentation.")
-      (license license:silofl1.1))))
-
-(define-public texlive-amsfonts/fixed
-  (let ((template (simple-texlive-package
-                   "texlive-amsfonts-fixed"
-                   (list "/source/latex/amsfonts/"
-                         "/fonts/source/public/amsfonts/"
-                         "/fonts/type1/public/amsfonts/"
-                         "/fonts/afm/public/amsfonts/"
                          "/fonts/tfm/public/amsfonts/"
                          "/fonts/map/dvips/amsfonts/"
                          "/tex/plain/amsfonts/"
@@ -4059,37 +3926,6 @@ loading fonts by their proper names instead of file names.")
 
 (define-deprecated-package texlive-luatex-luaotfload texlive-luaotfload)
 
-(define-public texlive-latex-amsmath
-  (package
-    (name "texlive-latex-amsmath")
-    (version (number->string %texlive-revision))
-    (source (origin
-              (method svn-fetch)
-              (uri (texlive-ref "latex" "amsmath"))
-              (file-name (string-append name "-" version "-checkout"))
-              (sha256
-               (base32
-                "172zybw7rp05jca8wl6x0mh6z6gncdyi1j9wdfyjnhbvqw0z4wi4"))))
-    ;; This package misses important files
-    (replacement texlive-amsmath)
-    (build-system texlive-build-system)
-    (arguments '(#:tex-directory "latex/amsmath"))
-    (home-page "https://www.ctan.org/pkg/amsmath")
-    (synopsis "AMS mathematical facilities for LaTeX")
-    (description
-     "This is the principal package in the AMS-LaTeX distribution.  It adapts
-for use in LaTeX most of the mathematical features found in AMS-TeX; it is
-highly recommended as an adjunct to serious mathematical typesetting in LaTeX.
-When amsmath is loaded, AMS-LaTeX packages @code{amsbsyamsbsy} (for bold
-symbols), @code{amsopnamsopn} (for operator names) and
-@code{amstextamstext} (for text embedded in mathematics) are also loaded.
-This package is part of the LaTeX required distribution; however, several
-contributed packages add still further to its appeal; examples are
-@code{empheqempheq}, which provides functions for decorating and highlighting
-mathematics, and @code{ntheoremntheorem}, for specifying theorem (and similar)
-definitions.")
-    (license license:lppl1.3c+)))
-
 (define-public texlive-amsmath
   (let ((template (simple-texlive-package
                    "texlive-amsmath"
@@ -4135,6 +3971,8 @@ mathematics, and @code{ntheoremntheorem}, for specifying theorem (and similar)
 definitions.")
       (license license:lppl1.3c+))))
 
+(define-deprecated-package texlive-latex-amsmath texlive-amsmath)
+
 (define-public texlive-amscls
   (let ((template (simple-texlive-package
                    "texlive-amscls"
@@ -4175,8 +4013,6 @@ distribution.")
                     "0qr5vjp79g1c1l6k173qhfdfabgbky73wymzhm56pazx4a8r08wz"))))
     (package
       (inherit template)
-      ;; TODO: This package is missing files.
-      (replacement texlive-babel/fixed)
       (arguments
        (substitute-keyword-arguments (package-arguments template)
          ((#:tex-directory _ #t)
@@ -4184,14 +4020,27 @@ distribution.")
          ((#:phases phases)
           `(modify-phases ,phases
              (add-after 'unpack 'chdir
-               (lambda _ (chdir "source/latex/babel/") #t))
+               (lambda _ (chdir "source/latex/babel/")))
              ;; This package tries to produce babel.aux twice but refuses to
              ;; overwrite the first one.
              (add-before 'build 'fix-ins
                (lambda _
                  (substitute* "babel.ins"
-                   (("askonceonly") "askforoverwritefalse"))
-                 #t))
+                   (("askonceonly") "askforoverwritefalse"))))
+           (add-before 'copy-files 'unchdir
+             (lambda _
+               (chdir "../../..")))
+           (add-after 'copy-files 'delete-extra-files
+             (lambda* (#:key outputs #:allow-other-keys)
+               (delete-file-recursively
+                (string-append (assoc-ref outputs "out")
+                               "/share/texmf-dist/source/latex/babel/build"))
+               (delete-file
+                (string-append (assoc-ref outputs "out")
+                               "/share/texmf-dist/tex/generic/babel/bbind.ist"))
+               (delete-file
+                (string-append (assoc-ref outputs "out")
+                               "/share/texmf-dist/tex/generic/babel/bbglo.ist"))))
              (add-after 'install 'install-locales
                (lambda* (#:key outputs #:allow-other-keys)
                  (let ((locale-directory
@@ -4214,29 +4063,6 @@ what has to be done for each language.  Users of XeTeX are advised to use the
 polyglossia package rather than Babel.")
       (license license:lppl1.3+))))
 
-(define-public texlive-babel/fixed
-  (package
-    (inherit texlive-babel)
-    (name "texlive-babel-fixed")
-    (arguments
-     (substitute-keyword-arguments (package-arguments texlive-babel)
-       ((#:phases phases)
-        `(modify-phases ,phases
-           (add-before 'copy-files 'unchdir
-             (lambda _
-               (chdir "../../..")))
-           (add-after 'copy-files 'delete-extra-files
-             (lambda* (#:key outputs #:allow-other-keys)
-               (delete-file-recursively
-                (string-append (assoc-ref outputs "out")
-                               "/share/texmf-dist/source/latex/babel/build"))
-               (delete-file
-                (string-append (assoc-ref outputs "out")
-                               "/share/texmf-dist/tex/generic/babel/bbind.ist"))
-               (delete-file
-                (string-append (assoc-ref outputs "out")
-                               "/share/texmf-dist/tex/generic/babel/bbglo.ist"))))))))))
-
 (define-deprecated-package texlive-latex-babel texlive-babel)
 
 (define-public texlive-cs
@@ -4530,8 +4356,6 @@ language that is written in a Cyrillic alphabet.")
                     "11f14dzhwsy4pli21acccip43d36nf3pac33ihjffnps1i2mhqkd"))))
     (package
       (inherit template)
-      ;; TODO: This package is missing files.
-      (replacement texlive-psnfss/fixed)
       (arguments
        (substitute-keyword-arguments (package-arguments template)
          ((#:tex-directory _ #t)
@@ -4540,7 +4364,15 @@ language that is written in a Cyrillic alphabet.")
           `(modify-phases ,phases
              (add-after 'unpack 'chdir
                (lambda _
-                 (chdir "source/latex/psnfss") #t))))))
+                 (chdir "source/latex/psnfss")))
+           (add-before 'copy-files 'unchdir
+             (lambda _
+               (chdir "../../..")))
+           (add-after 'copy-files 'delete-extra-files
+             (lambda* (#:key outputs #:allow-other-keys)
+               (delete-file-recursively
+                (string-append (assoc-ref outputs "out")
+                               "/share/texmf-dist/source/latex/psnfss/build"))))))))
       (native-inputs
        (list texlive-cm))
       (home-page "https://www.ctan.org/pkg/psnfss")
@@ -4559,23 +4391,6 @@ means to select single glyphs from symbol fonts.  The bundle as a whole is
 part of the LaTeX required set of packages.")
       (license license:lppl1.2+))))
 
-(define-public texlive-psnfss/fixed
-  (package
-    (inherit texlive-psnfss)
-    (name "texlive-psnfss-fixed")
-    (arguments
-     (substitute-keyword-arguments (package-arguments texlive-psnfss)
-       ((#:phases phases)
-        `(modify-phases ,phases
-           (add-before 'copy-files 'unchdir
-             (lambda _
-               (chdir "../../..")))
-           (add-after 'copy-files 'delete-extra-files
-             (lambda* (#:key outputs #:allow-other-keys)
-               (delete-file-recursively
-                (string-append (assoc-ref outputs "out")
-                               "/share/texmf-dist/source/latex/psnfss/build"))))))))))
-
 (define-deprecated-package texlive-latex-psnfss texlive-psnfss)
 
 ;; For user profiles
@@ -4591,7 +4406,7 @@ part of the LaTeX required set of packages.")
                 texlive-latex-base
                 texlive-kpathsea       ;for mktex.opt
                 ;; LaTeX packages from the "required" set.
-                texlive-latex-amsmath
+                texlive-amsmath
                 texlive-amscls
                 texlive-babel
                 texlive-generic-babel-english
@@ -7018,8 +6833,6 @@ and alphabets with a set of text faces suitable for professional publishing.")
                     "0yn0yl6x1z9ab5gb56lhvkqabd2agz3ggxifwxkiysrj5780j29z"))))
     (package
       (inherit template)
-      ;; TODO: This package is missing files.
-      (replacement texlive-stmaryrd/fixed)
       (arguments (substitute-keyword-arguments (package-arguments template)
                    ((#:tex-directory _ #t)
                     "latex/stmaryrd")
@@ -7035,7 +6848,15 @@ and alphabets with a set of text faces suitable for professional publishing.")
                              (("^%% LaTeX2e.*") "\\input docstrip\n")
                              (("fontdef\\}\\}" line)
                               (string-append line "\n\\endbatchfile")))
-                           #t))))))
+                           #t))
+                       (add-before 'copy-files 'unchdir
+                         (lambda _
+                           (chdir "../../..")))
+                       (add-after 'copy-files 'delete-extra-files
+                         (lambda* (#:key outputs #:allow-other-keys)
+                           (delete-file-recursively
+                            (string-append (assoc-ref outputs "out")
+                                           "/share/texmf-dist/source/fonts/stmaryrd/build"))))))))
       (home-page "https://www.ctan.org/pkg/stmaryrd")
       (synopsis "St Mary Road symbols for theoretical computer science")
       (description
@@ -7046,25 +6867,6 @@ use under LaTeX; the package supports the @code{only} option (provided by the
 the whole font.")
       (license license:lppl))))
 
-(define-public texlive-stmaryrd/fixed
-  (package
-    (inherit texlive-stmaryrd)
-    (name "texlive-stmaryrd-fixed")
-    (arguments
-     (substitute-keyword-arguments (package-arguments texlive-stmaryrd)
-       ((#:tex-directory _ #t)
-        "latex/stmaryrd")
-       ((#:phases phases)
-        `(modify-phases ,phases
-           (add-before 'copy-files 'unchdir
-             (lambda _
-               (chdir "../../..")))
-           (add-after 'copy-files 'delete-extra-files
-             (lambda* (#:key outputs #:allow-other-keys)
-               (delete-file-recursively
-                (string-append (assoc-ref outputs "out")
-                               "/share/texmf-dist/source/fonts/stmaryrd/build"))))))))))
-
 (define-deprecated-package texlive-fonts-stmaryrd texlive-stmaryrd)
 
 (define-public texlive-latex-subfigure