#: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)
(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")
license:expat
license:lgpl3+))))
+(define-public texlive-generic-unicode-data
+ (package
+ (name "texlive-generic-unicode-data")
+ (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/generic/unicode-data"))
+ (revision %texlive-revision)))
+ (sha256
+ (base32
+ "0ivrhp6jz31pl4z841g4ws41lmvdiwz4sslmhf02inlib79gz6r2"))))
+ (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/generic/unicode-data")))
+ (mkdir-p target)
+ (copy-recursively (assoc-ref %build-inputs "source") target)
+ #t))))
+ (home-page "http://www.ctan.org/pkg/unicode-data")
+ (synopsis "Unicode data and loaders for TeX")
+ (description "This bundle provides generic access to Unicode Consortium
+data for TeX use. It contains a set of text files provided by the Unicode
+Consortium which are currently all from Unicode 8.0.0, with the exception of
+@code{MathClass.txt} which is not currently part of the Unicode Character
+Database. Accompanying these source data are generic TeX loader files
+allowing this data to be used as part of TeX runs, in particular in building
+format files. Currently there are two loader files: one for general character
+set up and one for initializing XeTeX character classes as has been carried
+out to date by @code{unicode-letters.tex}. ")
+ (license license:lppl1.3c+)))
+
+(define-public texlive-generic-dehyph-exptl
+ (package
+ (name "texlive-generic-dehyph-exptl")
+ (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/generic/dehyph-exptl"))
+ (revision %texlive-revision)))
+ (sha256
+ (base32
+ "1l9wgv99qq0ysvlxqpj4g8bl0dywbzra4g8m2kmpg2fb0i0hczap"))))
+ (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/generic/dehyph-exptl")))
+ (mkdir-p target)
+ (copy-recursively (assoc-ref %build-inputs "source") target)
+ #t))))
+ (home-page "http://projekte.dante.de/Trennmuster/WebHome")
+ (synopsis "Hyphenation patterns for German")
+ (description "The package provides experimental hyphenation patterns for
+the German language, covering both traditional and reformed orthography. The
+patterns can be used with packages Babel and hyphsubst from the Oberdiek
+bundle.")
+ ;; Hyphenation patterns are under the Expat license; documentation is
+ ;; under LPPL.
+ (license (list license:expat license:lppl))))
+
+(define-public texlive-generic-tex-ini-files
+ (package
+ (name "texlive-generic-tex-ini-files")
+ (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/generic/tex-ini-files"))
+ (revision %texlive-revision)))
+ (sha256
+ (base32
+ "1wh42n1lmzcvi3g6mm31nm3yd5ha5bl260xqc444jg1m9fdp3wz5"))))
+ (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/generic/tex-ini-files")))
+ (mkdir-p target)
+ (copy-recursively (assoc-ref %build-inputs "source") target)
+ #t))))
+ (home-page "http://ctan.org/pkg/tex-ini-files")
+ (synopsis "Files for creating TeX formats")
+ (description "This bundle provides a collection of model \".ini\" files
+for creating TeX formats. These files are commonly used to introduced
+distribution-dependent variations in formats. They are also used to
+allow existing format source files to be used with newer engines, for example
+to adapt the plain e-TeX source file to work with XeTeX and LuaTeX.")
+ (license license:public-domain)))
+
+(define-public texlive-generic-hyph-utf8
+ (package
+ (name "texlive-generic-hyph-utf8")
+ (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/generic/hyph-utf8"))
+ (revision %texlive-revision)))
+ (sha256
+ (base32
+ "0ghizcz7ps16dzfqf66wwg5i181assc6qsm0g7g5dbmp909931vi"))))
+ (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/generic/hyph-utf8")))
+ (mkdir-p target)
+ (copy-recursively (assoc-ref %build-inputs "source") target)
+ #t))))
+ (home-page "http://ctan.org/pkg/hyph-utf8")
+ (synopsis "Hyphenation patterns expressed in UTF-8")
+ (description "Modern native UTF-8 engines such as XeTeX and LuaTeX need
+hyphenation patterns in UTF-8 format, whereas older systems require
+hyphenation patterns in the 8-bit encoding of the font in use (such encodings
+are codified in the LaTeX scheme with names like OT1, T2A, TS1, OML, LY1,
+etc). The present package offers a collection of conversions of existing
+patterns to UTF-8 format, together with converters for use with 8-bit fonts in
+older systems. Since hyphenation patterns for Knuthian-style TeX systems are
+only read at iniTeX time, it is hoped that the UTF-8 patterns, with their
+converters, will completely supplant the older patterns.")
+ ;; Individual files each have their own license. Most of these files are
+ ;; independent hyphenation patterns.
+ (license (list license:lppl1.0+
+ license:lppl1.2+
+ license:lppl1.3
+ license:lppl1.3+
+ license:lppl1.3a+
+ license:lgpl2.1
+ license:lgpl2.1+
+ license:lgpl3+
+ license:gpl2+
+ license:gpl3+
+ license:mpl1.1
+ license:asl2.0
+ license:expat
+ license:bsd-3
+ license:cc0
+ license:public-domain
+ license:wtfpl2))))
+
+(define-public texlive-metafont-base
+ (package
+ (name "texlive-metafont-base")
+ (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/"
+ "/metafont"))
+ (revision %texlive-revision)))
+ (sha256
+ (base32
+ "1yl4n8cn5xqk2nc22zgzq6ymd7bhm6xx1mz3azip7i3ki4bhb5q5"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no test target
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((cwd (getcwd)))
+ (setenv "MFINPUTS"
+ (string-append cwd "/base:"
+ cwd "/misc:"
+ cwd "/roex:"
+ cwd "/feynmf:"
+ cwd "/mfpic:"
+ cwd "/config")))
+ (mkdir "build")
+ (with-directory-excursion "build"
+ (zero? (system* "inimf" "mf.mf")))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (base (string-append out "/share/texmf-dist/web2c"))
+ (mf (string-append out "/share/texmf-dist/metafont/base")))
+ (mkdir-p base)
+ (mkdir-p mf)
+ (install-file "build/mf.base" base)
+ (copy-recursively "base" mf)
+ #t))))))
+ (native-inputs
+ `(("texlive-bin" ,texlive-bin)))
+ (home-page "http://www.ctan.org/pkg/metafont")
+ (synopsis "Metafont base files")
+ (description "This package provides the Metafont base files needed to
+build fonts using the Metafont system.")
+ (license license:knuth)))
+
+(define-public texlive-fonts-cm
+ (package
+ (name "texlive-fonts-cm")
+ (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/"
+ "/fonts/source/public/cm"))
+ (revision %texlive-revision)))
+ (sha256
+ (base32
+ "045k5b9rdmbxpy1a3006l1x96z1rd18vg3cwrvnld9bqybw5qz44"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-1)
+ (srfi srfi-26))
+ #:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((mf (assoc-ref inputs "texlive-metafont-base")))
+ ;; 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")))
+ (mkdir "build")
+ (every (lambda (font)
+ (format #t "building font ~a\n" font)
+ (zero? (system* "mf" "-progname=mf"
+ "-output-directory=build"
+ (string-append "\\"
+ "mode:=ljfour; "
+ "mag:=1; "
+ "batchmode; "
+ "input "
+ (basename font ".mf")))))
+ (find-files "." "cm(.*[0-9]+.*|inch)\\.mf$"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (tfm (string-append
+ out "/share/texmf-dist/fonts/tfm/public/cm"))
+ (mf (string-append
+ out "/share/texmf-dist/fonts/source/public/cm")))
+ (for-each (cut install-file <> tfm)
+ (find-files "build" "\\.*"))
+ (for-each (cut install-file <> mf)
+ (find-files "." "\\.mf"))
+ #t))))))
+ (native-inputs
+ `(("texlive-bin" ,texlive-bin)
+ ("texlive-metafont-base" ,texlive-metafont-base)))
+ (home-page "http://www.ctan.org/pkg/cm")
+ (synopsis "Computer Modern fonts for TeX")
+ (description "This package provides the Computer Modern fonts by Donald
+Knuth. The Computer Modern font family is a large collection of text,
+display, and mathematical fonts in a range of styles, based on Monotype Modern
+8A.")
+ (license license:knuth)))
+
+(define-public texlive-fonts-knuth-lib
+ (package
+ (name "texlive-fonts-knuth-lib")
+ (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/"
+ "/fonts/source/public/knuth-lib"))
+ (revision %texlive-revision)))
+ (sha256
+ (base32
+ "0in9aqyi8jkyf9d16z0li50z5fpwj1iwgwm83gmvwqcf7chfs04y"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-26))
+ #:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((mf (assoc-ref inputs "texlive-metafont-base")))
+ ;; 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")))
+ (mkdir "build")
+ (zero? (system* "mf" "-progname=mf"
+ "-output-directory=build"
+ (string-append "\\"
+ "mode:=ljfour; "
+ "mag:=1; "
+ "batchmode; "
+ "input manfnt")))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (tfm (string-append
+ out "/share/texmf-dist/fonts/tfm/public/knuth-lib"))
+ (mf (string-append
+ out "/share/texmf-dist/fonts/source/public/knuth-lib")))
+ (for-each (cut install-file <> tfm)
+ (find-files "build" "\\.*"))
+ (for-each (cut install-file <> mf)
+ (find-files "." "\\.mf"))
+ #t))))))
+ (native-inputs
+ `(("texlive-bin" ,texlive-bin)
+ ("texlive-metafont-base" ,texlive-metafont-base)))
+ (home-page "https://www.ctan.org/pkg/knuth-lib")
+ (synopsis "Small library of METAFONT sources")
+ (description "This is a collection of core TeX and METAFONT macro files
+from Donald Knuth, including the plain format, plain base, and the MF logo
+fonts.")
+ (license license:knuth)))
+
+(define-public texlive-fonts-latex
+ (package
+ (name "texlive-fonts-latex")
+ (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/"
+ "/fonts/source/public/latex-fonts"))
+ (revision %texlive-revision)))
+ (sha256
+ (base32
+ "0ypsm4xv9cw0jckk2qc7gi9hcmhf31mrg56pz3llyx3yd9vq2lps"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-1)
+ (srfi srfi-26))
+ #:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((mf (assoc-ref inputs "texlive-metafont-base")))
+ ;; 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:"
+ (assoc-ref inputs "texlive-fonts-cm")
+ "/share/texmf-dist/fonts/source/public/cm")))
+ (mkdir "build")
+ (every (lambda (font)
+ (format #t "building font ~a\n" font)
+ (zero? (system* "mf" "-progname=mf"
+ "-output-directory=build"
+ (string-append "\\"
+ "mode:=ljfour; "
+ "mag:=1; "
+ "batchmode; "
+ "input " font))))
+ '("icmcsc10" "icmex10" "icmmi8" "icmsy8" "icmtt8"
+ "ilasy8" "ilcmss8" "ilcmssb8" "ilcmssi8"
+ "lasy5" "lasy6" "lasy7" "lasy8" "lasy9" "lasy10" "lasyb10"
+ "lcircle10" "lcirclew10" "lcmss8" "lcmssb8" "lcmssi8"
+ "line10" "linew10"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (tfm (string-append
+ out "/share/texmf-dist/fonts/tfm/public/latex-fonts"))
+ (mf (string-append
+ out "/share/texmf-dist/fonts/source/public/latex-fonts")))
+ (for-each (cut install-file <> tfm)
+ (find-files "build" "\\.*"))
+ (for-each (cut install-file <> mf)
+ (find-files "." "\\.mf"))
+ #t))))))
+ (native-inputs
+ `(("texlive-bin" ,texlive-bin)
+ ("texlive-metafont-base" ,texlive-metafont-base)
+ ("texlive-fonts-cm" ,texlive-fonts-cm)))
+ (home-page "http://www.ctan.org/pkg/latex-fonts")
+ (synopsis "Collection of fonts used in LaTeX distributions")
+ (description "This is a collection of fonts for use with standard LaTeX
+packages and classes. It includes invisible fonts (for use with the slides
+class), line and circle fonts (for use in the picture environment) and LaTeX
+symbol fonts.")
+ (license license:lppl1.2+)))
+
+;; This provides etex.src which is needed to build various formats, including
+;; luatex.fmt and pdflatex.fmt
+(define-public texlive-tex-plain
+ (package
+ (name "texlive-tex-plain")
+ (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/plain"))
+ (revision %texlive-revision)))
+ (sha256
+ (base32
+ "1ifmbyl3ir8k0v1g25xjb5rcyy5vhj8a3fa2088nczga09hna5vn"))))
+ (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/plain")))
+ (mkdir-p target)
+ (copy-recursively (assoc-ref %build-inputs "source") target)
+ #t))))
+ (home-page "https://www.ctan.org/pkg/plain")
+ (synopsis "Plain TeX format and supporting files")
+ (description
+ "Contains files used to build the Plain TeX format, as described in the
+TeXbook, together with various supporting files (some also discussed in the
+book).")
+ (license license:knuth)))
+
+(define-public texlive-latex-base
+ (let ((texlive-dir
+ (lambda (dir hash)
+ (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ dir))
+ (revision %texlive-revision)))
+ (sha256 (base32 hash))))))
+ (package
+ (name "texlive-latex-base")
+ (version (number->string %texlive-revision))
+ (source (origin
+ (method svn-fetch)
+ (uri (texlive-ref "latex" "base"))
+ (sha256
+ (base32
+ "1h9pir2hz6i9avc4lrl733p3zf4rpkg8537x1zdbhs91hvhikw9k"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 match)
+ (srfi srfi-1)
+ (srfi srfi-26))
+ #:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Find required fonts
+ (setenv "TFMFONTS"
+ (string-append (assoc-ref inputs "texlive-fonts-cm")
+ "/share/texmf-dist/fonts/tfm/public/cm:"
+ (assoc-ref inputs "texlive-fonts-latex")
+ "/share/texmf-dist/fonts/tfm/public/latex-fonts:"
+ (assoc-ref inputs "texlive-fonts-knuth-lib")
+ "/share/texmf-dist/fonts/tfm/public/knuth-lib"))
+ (setenv "TEXINPUTS"
+ (string-append
+ (getcwd) ":"
+ (getcwd) "/build:"
+ (string-join
+ (append-map (match-lambda
+ ((_ . dir)
+ (find-files dir
+ (lambda (_ stat)
+ (eq? 'directory (stat:type stat)))
+ #:directories? #t
+ #:stat stat)))
+ inputs)
+ ":")))
+
+ ;; Create an empty texsys.cfg, because latex.ltx wants to include
+ ;; it. This file must exist and it's fine if it's empty.
+ (with-output-to-file "texsys.cfg"
+ (lambda _ (format #t "%")))
+
+ (mkdir "build")
+ (mkdir "web2c")
+ (and (zero? (system* "luatex" "-ini" "-interaction=batchmode"
+ "-output-directory=build"
+ "unpack.ins"))
+ ;; LaTeX and XeTeX require e-TeX, which is enabled only in
+ ;; extended mode (activated with a leading asterisk). We
+ ;; should not use luatex here, because that would make the
+ ;; generated format files incompatible with any other TeX
+ ;; engine.
+
+ ;; FIXME: XeTeX fails to build because neither
+ ;; \XeTeXuseglyphmetrics nor \XeTeXdashbreakstate are
+ ;; defined.
+ (every
+ (lambda (format)
+ (zero? (system* "latex" "-ini" "-interaction=batchmode"
+ "-output-directory=web2c"
+ "-translate-file=cp227.tcx"
+ (string-append "*" format ".ini"))))
+ '("latex" ;"xetex"
+ ))
+ (every
+ (lambda (format)
+ (zero? (system* "luatex" "-ini" "-interaction=batchmode"
+ "-output-directory=web2c"
+ (string-append format ".ini"))))
+ '("dviluatex" "dvilualatex" "luatex" "lualatex" "xelatex")))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (target (string-append
+ out "/share/texmf-dist/tex/latex/base"))
+ (web2c (string-append
+ out "/share/texmf-dist/web2c")))
+ (mkdir-p target)
+ (mkdir-p web2c)
+ (for-each delete-file (find-files "." "\\.(log|aux)$"))
+ (for-each (cut install-file <> target)
+ (find-files "build" ".*"))
+ (for-each (cut install-file <> web2c)
+ (find-files "web2c" ".*"))
+ #t))))))
+ (native-inputs
+ `(("texlive-bin" ,texlive-bin)
+ ("texlive-generic-unicode-data" ,texlive-generic-unicode-data)
+ ("texlive-generic-dehyph-exptl" ,texlive-generic-dehyph-exptl)
+ ("texlive-generic-tex-ini-files" ,texlive-generic-tex-ini-files)
+ ("texlive-latex-latexconfig"
+ ,(texlive-dir "tex/latex/latexconfig/"
+ "1zb3j49cj8p75yph6c8iysjp7qbdvghwf0mn9j0l7qq3qkbz2xaf"))
+ ("texlive-generic-hyph-utf8" ,texlive-generic-hyph-utf8)
+ ("texlive-generic-hyphen"
+ ,(texlive-dir "tex/generic/hyphen/"
+ "0xim36wybw2625yd0zwlp9m2c2xrcybw58gl4rih9nkph0wqwwhd"))
+ ("texlive-generic-ruhyphen"
+ ,(texlive-dir "tex/generic/ruhyphen/"
+ "14rjkpl4zkjqs13rcf9kcd24mn2kx7i1jbdwxq8ds94bi66ylzsd"))
+ ("texlive-generic-ukrhyph"
+ ,(texlive-dir "tex/generic/ukrhyph/"
+ "1cfwdg2rhbayl3w0x1xqd36d45zbc96f029myp13s7cb6kbmbppv"))
+ ("texlive-generic-config"
+ ,(texlive-dir "tex/generic/config/"
+ "19vj088p4kkp6xll0141m4kl6ssgdzhs3g10i232khb07aqiag8s"))
+ ("texlive-tex-plain" ,texlive-tex-plain)
+ ("texlive-fonts-cm" ,texlive-fonts-cm)
+ ("texlive-fonts-latex" ,texlive-fonts-latex)
+ ("texlive-fonts-knuth-lib" ,texlive-fonts-knuth-lib)))
+ (home-page "http://www.ctan.org/pkg/latex-base")
+ (synopsis "Base sources of LaTeX")
+ (description
+ "This bundle comprises the source of LaTeX itself, together with several
+packages which are considered \"part of the kernel\". This bundle, together
+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 texlive-texmf
(package
(name "texlive-texmf")