mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
gnu: Add texlive-latex-base.
* gnu/packages/tex.scm (texlive-latex-base): New variable. (texlive-ref): New procedure.
This commit is contained in:
parent
566e95f7a8
commit
010f476fda
1 changed files with 147 additions and 0 deletions
|
@ -672,6 +672,153 @@ (define-public texlive-tex-plain
|
||||||
book).")
|
book).")
|
||||||
(license license:knuth)))
|
(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)
|
||||||
|
(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 texlive-texmf
|
(define texlive-texmf
|
||||||
(package
|
(package
|
||||||
(name "texlive-texmf")
|
(name "texlive-texmf")
|
||||||
|
|
Loading…
Reference in a new issue