From: Ricardo Wurmus <rekado@elephly.net>
To: 27296@debbugs.gnu.org
Cc: Ricardo Wurmus <rekado@elephly.net>
Subject: bug#27296: [PATCH 13/35] gnu: Add texlive-latex-base.
Date: Fri, 9 Jun 2017 12:45:37 +0200 [thread overview]
Message-ID: <20170609104559.17416-13-rekado@elephly.net> (raw)
In-Reply-To: <20170609104559.17416-1-rekado@elephly.net>
* gnu/packages/tex.scm (texlive-latex-base): New variable.
(texlive-ref): New procedure.
---
gnu/packages/tex.scm | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 147 insertions(+)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index c9d6d058e..9ff0f234e 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -689,6 +689,153 @@ 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)
+ (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
(package
(name "texlive-texmf")
--
2.12.2
next prev parent reply other threads:[~2017-06-09 10:47 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-09 10:42 bug#27296: Modular Texlive Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 01/35] guix: Add download-svn-to-store Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 02/35] guix: Add common TeX and LaTeX licenses Ricardo Wurmus
2017-06-09 14:45 ` Ludovic Courtès
2017-06-10 2:15 ` Arun Isaac
2017-06-09 10:45 ` bug#27296: [PATCH 03/35] gnu: Add texlive-dvips Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 04/35] gnu: Add texlive-generic-unicode-data Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 05/35] gnu: Add texlive-generic-dehyph-exptl Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 06/35] gnu: Add texlive-generic-tex-ini-files Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 07/35] gnu: Add texlive-generic-hyph-utf8 Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 08/35] gnu: Add texlive-metafont-base Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 09/35] gnu: Add texlive-fonts-cm Ricardo Wurmus
2017-06-09 14:41 ` Ludovic Courtès
2017-06-09 15:00 ` Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 10/35] gnu: Add texlive-fonts-knuth-lib Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 11/35] gnu: Add texlive-fonts-latex Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 12/35] gnu: Add texlive-tex-plain Ricardo Wurmus
2017-06-09 10:45 ` Ricardo Wurmus [this message]
2017-06-09 10:45 ` bug#27296: [PATCH 14/35] build-system: Add 'texlive-build-system' Ricardo Wurmus
2017-06-09 14:50 ` Ludovic Courtès
2017-06-14 7:24 ` [bug#27296] " Ricardo Wurmus
2017-06-14 7:41 ` Ludovic Courtès
2017-06-09 10:45 ` bug#27296: [PATCH 15/35] gnu: Add texlive-latex-filecontents Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 16/35] gnu: Add texlive-generic-ifxetex Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 17/35] gnu: Add texlive-latex-fancyvrb Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 18/35] gnu: Add texlive-latex-graphics Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 19/35] gnu: Add texlive-latex-xcolor Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 20/35] gnu: Add texlive-latex-hyperref Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 21/35] gnu: Add texlive-latex-oberdiek Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 22/35] gnu: Add texlive-latex-tools Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 23/35] gnu: Add texlive-latex-url Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 24/35] gnu: Add texlive-latex-l3kernel Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 25/35] gnu: Add texlive-latex-l3packages Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 26/35] gnu: Add texlive-latex-fontspec Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 27/35] gnu: Add texlive-luatex-lualibs Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 28/35] gnu: Add texlive-latex-amsmath Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 29/35] gnu: Add texlive-latex-amscls Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 30/35] gnu: Add texlive-latex-babel Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 31/35] gnu: texlive-latex-cyrillic Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 32/35] gnu: Add texlive-latex-psnfss Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 33/35] gnu: Add texlive-union Ricardo Wurmus
2017-06-09 14:57 ` Ludovic Courtès
2017-06-09 15:06 ` Ricardo Wurmus
2017-06-09 15:12 ` Ludovic Courtès
2017-06-09 15:51 ` Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 34/35] gnu: Add texlive-tiny Ricardo Wurmus
2017-06-09 10:45 ` bug#27296: [PATCH 35/35] guix: Add texlive importer Ricardo Wurmus
2017-06-09 15:05 ` Ludovic Courtès
2017-06-15 15:01 ` [bug#27296] " Ricardo Wurmus
2017-06-16 15:06 ` Ludovic Courtès
2017-06-16 16:12 ` Ricardo Wurmus
2017-06-09 14:38 ` bug#27296: [PATCH 01/35] guix: Add download-svn-to-store Ludovic Courtès
2017-06-15 15:04 ` bug#27296: Modular Texlive Ricardo Wurmus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170609104559.17416-13-rekado@elephly.net \
--to=rekado@elephly.net \
--cc=27296@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).