gnu: Add texlive-latex-psnfss.
[jackhill/guix/guix.git] / gnu / packages / tex.scm
index 9c791ff..5e9370b 100644 (file)
@@ -30,6 +30,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system trivial)
+  #:use-module (guix build-system texlive)
   #:use-module (guix utils)
   #:use-module (guix git-download)
   #:use-module (guix svn-download)
@@ -60,7 +61,7 @@
   #:use-module (gnu packages zip)
   #:autoload   (gnu packages texinfo) (texinfo)
   #:use-module (ice-9 ftw)
-  #:use-module (srfi srfi-1))
+  #:use-module ((srfi srfi-1) #:hide (zip)))
 
 (define texlive-extra-src
   (origin
@@ -180,10 +181,6 @@ This package contains the binaries.")
    (license (license:fsf-free "https://www.tug.org/texlive/copying.html"))
    (home-page "https://www.tug.org/texlive/")))
 
-;; These variables specify the SVN tag and the matching SVN revision.
-(define %texlive-tag "texlive-2017.0")
-(define %texlive-revision 44445)
-
 (define-public texlive-dvips
   (package
     (name "texlive-dvips")
@@ -672,15 +669,6 @@ TeXbook, together with various supporting files (some also discussed in the
 book).")
     (license license:knuth)))
 
-(define (texlive-ref component id)
-  "Return a <svn-reference> object for the package ID, which is part of the
-given Texlive COMPONENT."
-  (svn-reference
-   (url (string-append "svn://www.tug.org/texlive/tags/"
-                       %texlive-tag "/Master/texmf-dist/"
-                       "source/" component "/" id))
-   (revision %texlive-revision)))
-
 (define-public texlive-latex-base
   (let ((texlive-dir
          (lambda (dir hash)
@@ -819,6 +807,553 @@ with the required packages, constitutes what every LaTeX distribution should
 contain.")
       (license license:lppl1.3c+))))
 
+(define-public texlive-latex-filecontents
+  (package
+    (name "texlive-latex-filecontents")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "filecontents"))
+              (sha256
+               (base32
+                "0swkbxv8vg0yizadfnvrwjb4cj0pn34v9wm6v7wqq903fdav7k7q"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/filecontents"))
+    (home-page "http://www.ctan.org/pkg/filecontents")
+    (synopsis "Extended filecontents and filecontents* environments")
+    (description
+     "LaTeX2e's @code{filecontents} and @code{filecontents*} environments
+enable a LaTeX source file to generate external files as it runs through
+LaTeX.  However, there are two limitations of these environments: they refuse
+to overwrite existing files, and they can only be used in the preamble of a
+document.  The filecontents package removes these limitations, letting you
+overwrite existing files and letting you use @code{filecontents} /
+@code{filecontents*} anywhere.")
+    (license license:lppl1.3c+)))
+
+(define-public texlive-generic-ifxetex
+  (package
+    (name "texlive-generic-ifxetex")
+    (version "0.6")
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "generic" "ifxetex"))
+              (sha256
+               (base32
+                "0w2xj7n0szavj329kds09q626szkc378p3w0sk022q0ln4ksz86d"))))
+    (build-system texlive-build-system)
+    (arguments
+     '(#:tex-directory "generic/ifxetex"
+       #:tex-format "xelatex"))
+    (inputs
+     `(("texlive-latex-filecontents" ,texlive-latex-filecontents)))
+    (home-page "http://www.ctan.org/pkg/ifxetex")
+    (synopsis "Am I running under XeTeX?")
+    (description
+     "This is a simple package which provides an @code{\\ifxetex} conditional,
+so that other code can determine that it is running under XeTeX.  The package
+requires the etexe-TeX extensions to the TeX primitive set.")
+    (license license:lppl1.3c+)))
+
+(define-public texlive-latex-fancyvrb
+  (package
+    (name "texlive-latex-fancyvrb")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "fancyvrb"))
+              (sha256
+               (base32
+                "03l7140y031rr14h02i4z9zqsfvrbn7wzwxbjsrjcgrk6sdr71wv"))))
+    (build-system texlive-build-system)
+    (arguments
+     '(#:tex-directory "latex/fancyvrb"
+       ;; We exclude "fvrb-ex" to avoid a dependency on texlive-luaotfload and
+       ;; thus texlive-luatex-lualibs.
+       #:build-targets '("fancyvrb.ins")))
+    (home-page "http://www.ctan.org/pkg/fancyvrb")
+    (synopsis "Sophisticated verbatim text")
+    (description
+     "This package provides tools for the flexible handling of verbatim text
+including: verbatim commands in footnotes; a variety of verbatim environments
+with many parameters; ability to define new customized verbatim environments;
+save and restore verbatim text and environments; write and read files in
+verbatim mode; build \"example\" environments (showing both result and
+verbatim source).")
+    (license license:lppl1.0+)))
+
+(define-public texlive-latex-graphics
+  (package
+    (name "texlive-latex-graphics")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "graphics"))
+              (sha256
+               (base32
+                "17ka701xr9nqsjlhz30hphr8d9j4zzwgv5zl5r2f118yzqh9c34v"))))
+    (build-system texlive-build-system)
+    (arguments
+     '(#:tex-directory "latex/graphics"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-config
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((cfg (assoc-ref inputs "graphics-cfg"))
+                   (target (string-append (assoc-ref outputs "out")
+                                          "/share/texmf-dist/tex/latex/graphics-cfg")))
+               (mkdir-p target)
+               (install-file (string-append cfg "/graphics.cfg") target)
+               (install-file (string-append cfg "/color.cfg")    target)
+               #t)))
+         (add-after 'install 'install-defs
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((def (assoc-ref inputs "graphics-def"))
+                   (target (string-append (assoc-ref outputs "out")
+                                          "/share/texmf-dist/tex/latex/graphics-def")))
+               (mkdir-p target)
+               (copy-recursively def target)
+               #t))))))
+    (native-inputs
+     `(("graphics-cfg"
+        ,(origin
+           (method git-fetch)
+           (uri (git-reference
+                 (url "https://github.com/latex3/graphics-cfg.git")
+                 (commit "19d1238af17df376cd46333b229579b0f7f3a41f")))
+           (sha256
+            (base32
+             "12kbgbm52gmmgn8zajb74s8n5rvnxcfdvs3iyj8vcw5vrsw5i6mh"))))
+       ("graphics-def"
+        ,(origin
+           (method svn-fetch)
+           (uri (svn-reference
+                 (url (string-append "svn://www.tug.org/texlive/tags/"
+                                     %texlive-tag "/Master/texmf-dist/"
+                                     "/tex/latex/graphics-def"))
+                 (revision %texlive-revision)))
+           (sha256
+            (base32
+             "1q5l0x3jsy74v0zq4c9g0x0rb9jfzf7cbhdzkbchyydv49iav802"))))))
+    (home-page "http://www.ctan.org/pkg/latex-graphics")
+    (synopsis "LaTeX standard graphics bundle")
+    (description
+     "This is a collection of LaTeX packages for producing color, including
+graphics (e.g. PostScript) files, and rotation and scaling of text in LaTeX
+documents.  It comprises the packages color, graphics, graphicx, trig, epsfig,
+keyval, and lscape.")
+    ;; The configuration files are released under CC0.
+    (license (list license:lppl1.3c+
+                   license:cc0))))
+
+(define-public texlive-latex-xcolor
+  (package
+    (name "texlive-latex-xcolor")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "xcolor"))
+              (sha256
+               (base32
+                "01n613s7bcrd2n4jfawm0k4nn2ny3aaifp2jjfif3lz4sbv31494"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/xcolor"))
+    (home-page "http://www.ctan.org/pkg/xcolor")
+    (synopsis "Driver-independent color extensions for LaTeX and pdfLaTeX")
+    (description
+     "The package starts from the basic facilities of the colorcolor package,
+and provides easy driver-independent access to several kinds of color tints,
+shades, tones, and mixes of arbitrary colors.  It allows a user to select a
+document-wide target color model and offers complete tools for conversion
+between eight color models.  Additionally, there is a command for alternating
+row colors plus repeated non-aligned material (like horizontal lines) in
+tables.")
+    (license license:lppl1.2+)))
+
+(define-public texlive-latex-hyperref
+  (package
+    (name "texlive-latex-hyperref")
+    (version "6.84a2")
+    ;; The sources in the TeX Live SVN repository do not contain hluatex.dtx,
+    ;; so we fetch the release from GitHub.
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/ho-tex/hyperref/"
+                                  "archive/release-" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1d3rmjgzh0025a1dza55zb6nzzlgd1y9snwx45wq1c1vf42m79h2"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/hyperref"))
+    (home-page "http://www.ctan.org/pkg/hyperref")
+    (synopsis "Extensive support for hypertext in LaTeX")
+    (description
+     "The hyperref package is used to handle cross-referencing commands in
+LaTeX to produce hypertext links in the document.  The package provides
+backends for the special set defined for HyperTeX DVI processors; for embedded
+pdfmark commands for processing by Acrobat Distiller (dvips and dvipsone); for
+dviwindo; for PDF control within pdfTeX and dvipdfm; for TeX4ht; and for VTeX
+pdf and HTML backends.  The package is distributed with the backref and
+nameref packages, which make use of the facilities of hyperref.")
+    (license license:lppl1.3+)))
+
+(define-public texlive-latex-oberdiek
+  (package
+    (name "texlive-latex-oberdiek")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "oberdiek"))
+              (sha256
+               (base32
+                "0aswvsxgsn709xmvpcg50d2xl7vcy1ckdxb9c1cligqqfjjvviqf"))))
+    (build-system texlive-build-system)
+    (arguments
+     '(#:tex-directory "latex/oberdiek"
+       #:phases
+       (modify-phases %standard-phases
+         ;; "ifpdf.ins" is not generated, so we cannot process it.
+         (add-after 'unpack 'do-not-process-ifpdf.ins
+           (lambda _
+             (substitute* "oberdiek.ins"
+               (("\\\\batchinput\\{ifpdf.ins\\}") ""))
+             #t)))))
+    (home-page "http://www.ctan.org/pkg/oberdiek")
+    (synopsis "Bundle of packages submitted by Heiko Oberdiek")
+    (description
+     "The bundle comprises various LaTeX packages, providing among others:
+better accessibility support for PDF files; extensible chemists reaction
+arrows; record information about document class(es) used; and many more.")
+    (license license:lppl1.3+)))
+
+(define-public texlive-latex-tools
+  (package
+    (name "texlive-latex-tools")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "tools"))
+              (sha256
+               (base32
+                "052a0pch2k5zls5jlay9xxcf93rw3i60a2x28y3ip3rhbsv3xgiz"))))
+    (build-system texlive-build-system)
+    (arguments
+     '(#:tex-directory "latex/tools"
+       #:build-targets '("tools.ins")))
+    (home-page "http://www.ctan.org/pkg/latex-tools")
+    (synopsis "LaTeX standard tools bundle")
+    (description
+     "This package is a collection of (variously) simple tools provided as
+part of the LaTeX required tools distribution, comprising the following
+packages: afterpage, array, bm, calc, dcolumn, delarray, enumerate, fileerr,
+fontsmpl, ftnright, hhline, indentfirst, layout, longtable, multicol,
+rawfonts, showkeys, somedefs, tabularx, theorem, trace, varioref, verbatim,
+xr, and xspace.")
+    (license license:lppl1.3+)))
+
+(define-public texlive-latex-url
+  (package
+    (name "texlive-latex-url")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/tex/latex/url"))
+                    (revision %texlive-revision)))
+              (sha256
+               (base32
+                "184s2543cwia5l7iibhlkl1ffbncfhjpv5p56zq0c15by5sghlac"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((target (string-append (assoc-ref %outputs "out")
+                                      "/share/texmf-dist/tex/latex/url")))
+           (mkdir-p target)
+           (copy-recursively (assoc-ref %build-inputs "source") target)
+           #t))))
+    (home-page "https://www.ctan.org/pkg/url")
+    (synopsis "Verbatim with URL-sensitive line breaks")
+    (description "The command @code{\\url} is a form of verbatim command that
+allows linebreaks at certain characters or combinations of characters, accepts
+reconfiguration, and can usually be used in the argument to another command.
+The command is intended for email addresses, hypertext links,
+directories/paths, etc., which normally have no spaces, so by default the
+package ignores spaces in its argument.  However, a package option allows
+spaces, which is useful for operating systems where spaces are a common part
+of file names.")
+    ;; The license header states that it is under LPPL version 2 or later, but
+    ;; the latest version is 1.3c.
+    (license license:lppl1.3c+)))
+
+(define-public texlive-latex-l3kernel
+  (package
+    (name "texlive-latex-l3kernel")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "l3kernel"))
+              (sha256
+               (base32
+                "0ndqw0flhl20f4ny5lssp8rqpnj5kglyg59whbdrxbh2zc7w7j0b"))))
+    (build-system texlive-build-system)
+    (arguments
+     '(#:tex-directory "latex/l3kernel"))
+    (home-page "http://www.ctan.org/pkg/l3kernel")
+    (synopsis "LaTeX3 programmers’ interface")
+    (description
+     "The l3kernel bundle provides an implementation of the LaTeX3
+programmers’ interface, as a set of packages that run under LaTeX 2e.  The
+interface provides the foundation on which the LaTeX3 kernel and other future
+code are built: it is an API for TeX programmers.  The packages are set up so
+that the LaTeX3 conventions can be used with regular LaTeX 2e packages.")
+    (license license:lppl1.3c+)))
+
+(define-public texlive-latex-l3packages
+  (package
+    (name "texlive-latex-l3packages")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "l3packages"))
+              (sha256
+               (base32
+                "1p1y9my6ccmp2ab91fzqqgih8ifrk4y3wyh397kagiq9f6a6v91f"))))
+    (build-system texlive-build-system)
+    (arguments
+     '(#:tex-directory "latex/l3packages"
+       #:phases
+       (modify-phases %standard-phases
+         ;; All package sources are in sub-directories, so we need to add them
+         ;; to TEXINPUTS.
+         (add-after 'unpack 'set-TEXINPUTS
+           (lambda _
+             (let ((cwd (getcwd)))
+               (setenv "TEXINPUTS"
+                       (string-append cwd "/l3keys2e:"
+                                      cwd "/xparse:"
+                                      cwd "/xfrac:"
+                                      cwd "/xfp:"
+                                      cwd "/xtemplate")))
+             #t)))))
+    (inputs
+     `(("texlive-latex-l3kernel" ,texlive-latex-l3kernel)))
+    (home-page "http://www.ctan.org/pkg/l3packages")
+    (synopsis "High-level LaTeX3 concepts")
+    (description
+     "This bundle holds prototype implementations of concepts for a LaTeX
+designer interface, to be used with the experimental LaTeX kernel as
+programming tools and kernel sup­port.  Packages provided in this release are:
+
+@enumerate
+@item l3keys2e, which makes the facilities of the kernel module l3keys
+  available for use by LaTeX 2e packages;
+@item xfrac, which provides flexible splitlevel fractions;
+@item xparse, which provides a high-level interface for declaring document
+  commands; and
+@item xtemplate, which provides a means of defining generic functions using a
+  key-value syntax.
+@end enumerate\n")
+    (license license:lppl1.3c+)))
+
+(define-public texlive-latex-fontspec
+  (package
+    (name "texlive-latex-fontspec")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "fontspec"))
+              (sha256
+               (base32
+                "1rx43y5xmjqvc27pjdnmqwp4pcw3czcfd6nfpmzc1gnqfl1hlc0q"))))
+    (build-system texlive-build-system)
+    (arguments
+     '(#:tex-directory "latex/fontspec"
+       #:build-targets '("fontspec.dtx")))
+    (inputs
+     `(("texlive-latex-l3kernel" ,texlive-latex-l3kernel)))
+    (home-page "http://www.ctan.org/pkg/fontspec")
+    (synopsis "Advanced font selection in XeLaTeX and LuaLaTeX")
+    (description
+     "Fontspec is a package for XeLaTeX and LuaLaTeX.  It provides an
+automatic and unified interface to feature-rich AAT and OpenType fonts through
+the NFSS in LaTeX running on XeTeX or LuaTeX engines.  The package requires
+the l3kernel and xparse bundles from the LaTeX 3 development team.")
+    (license license:lppl1.3+)))
+
+;; The SVN directory contains little more than a dtx file that generates three
+;; of the many lua files that should be installed as part of this package.
+;; This is why we take the release from GitHub instead.
+(define-public texlive-luatex-lualibs
+  (package
+    (name "texlive-luatex-lualibs")
+    (version "2.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/lualatex/lualibs/"
+                                  "releases/download/v"
+                                  version "/lualibs.zip"))
+              (sha256
+               (base32
+                "1xx9blvrmx9hyhrl345lpai9m6xxnw997261a1ahn1bm5r2j5fqy"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags
+       (list (string-append "DESTDIR="
+                            (assoc-ref %outputs "out")
+                            "/share/texmf-dist"))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure))))
+    (native-inputs
+     `(("texlive-bin" ,texlive-bin)
+       ("unzip" ,unzip)
+       ("zip" ,zip)))
+    (home-page "https://github.com/lualatex/lualibs")
+    (synopsis "Lua modules for general programming (in the (La)TeX world)")
+    (description
+     "Lualibs is a collection of Lua modules useful for general programming.
+The bundle is based on Lua modules shipped with ConTeXt, and made available in
+this bundle for use independent of ConTeXt.")
+    ;; GPL version 2 only
+    (license license:gpl2)))
+
+(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"))
+              (sha256
+               (base32
+                "178ywjpdlv78qmfzqdyn6gy14620zjsn2q9wap76fbr9s4hw6dba"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/amsmath"))
+    (home-page "http://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-latex-amscls
+  (package
+    (name "texlive-latex-amscls")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "amscls"))
+              (sha256
+               (base32
+                "0jmcr37mcdi7drczppvr6lmz5d5yd9m67ii79gp2nglg1xpw934j"))))
+    (build-system texlive-build-system)
+    (arguments
+     `(#:tex-directory "latex/amscls"))
+    (home-page "http://www.ctan.org/pkg/amscls")
+    (synopsis "AMS document classes for LaTeX")
+    (description
+     "This bundle contains three AMS classes: @code{amsartamsart} (for writing
+articles for the AMS), @code{amsbookamsbook} (for books) and
+@code{amsprocamsproc} (for proceedings), together with some supporting
+material.  The material is made available as part of the AMS-LaTeX
+distribution.")
+    (license license:lppl1.3c+)))
+
+(define-public texlive-latex-babel
+  (package
+    (name "texlive-latex-babel")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "babel"))
+              (sha256
+               (base32
+                "1n3i5adsyy7jw0imnzrm2i8wkf73i3mjk9h3ic8cb9cd19i4r9r3"))))
+    (build-system texlive-build-system)
+    (arguments
+     '(#:tex-directory "latex/babel"
+       #:phases
+       (modify-phases %standard-phases
+         ;; 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)))))
+    (home-page "http://www.ctan.org/pkg/babel")
+    (synopsis "Multilingual support for Plain TeX or LaTeX")
+    (description
+     "The package manages culturally-determined typographical (and other)
+rules, and hyphenation patterns for a wide range of languages.  A document may
+select a single language to be supported, or it may select several, in which
+case the document may switch from one language to another in a variety of
+ways.  Babel uses contributed configuration files that provide the detail of
+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-latex-cyrillic
+  (package
+    (name "texlive-latex-cyrillic")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "cyrillic"))
+              (sha256
+               (base32
+                "1mdhl35hwas68ki56qqngzar37dwv4mm64l2canihr255bz34lbv"))))
+    (build-system texlive-build-system)
+    (arguments
+     '(#:tex-directory "latex/cyrillic"))
+    (home-page "http://www.ctan.org/pkg/latex-cyrillic")
+    (synopsis "Support for Cyrillic fonts in LaTeX")
+    (description
+     "This bundle of macros files provides macro support (including font
+encoding macros) for the use of Cyrillic characters in fonts encoded under the
+T2* and X2 encodings. These encodings cover (between them) pretty much every
+language that is written in a Cyrillic alphabet.")
+    (license license:lppl1.3c+)))
+
+(define-public texlive-latex-psnfss
+  (package
+    (name "texlive-latex-psnfss")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "psnfss"))
+              (sha256
+               (base32
+                "1920dcq8613yzprasbg80fh4fcjcidvvl54wkx438nimyxcri7qz"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/psnfss"))
+    (home-page "http://www.ctan.org/pkg/psnfss")
+    (synopsis "Font support for common PostScript fonts")
+    (description
+     "The PSNFSS collection includes a set of files that provide a complete
+working setup of the LaTeX font selection scheme (NFSS2) for use with common
+PostScript fonts.  It covers the so-called \"Base\" fonts (which are built
+into any Level 2 PostScript printing device and the Ghostscript interpreter)
+and a number of free fonts.  It provides font definition files, macros and
+font metrics.  The bundle as a whole is part of the LaTeX required set of
+packages.")
+    (license license:lppl1.2+)))
+
 (define texlive-texmf
   (package
    (name "texlive-texmf")