From: Ricardo Wurmus <rekado@elephly.net>
To: 27296@debbugs.gnu.org
Cc: Ricardo Wurmus <rekado@elephly.net>
Subject: bug#27296: [PATCH 33/35] gnu: Add texlive-union.
Date: Fri, 9 Jun 2017 12:45:57 +0200 [thread overview]
Message-ID: <20170609104559.17416-33-rekado@elephly.net> (raw)
In-Reply-To: <20170609104559.17416-1-rekado@elephly.net>
* gnu/packages/tex.scm (texlive-union): New procedure.
---
gnu/packages/tex.scm | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 77 insertions(+)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 0f0c0b7ee..e4ac2f759 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -1371,6 +1371,83 @@ font metrics. The bundle as a whole is part of the LaTeX required set of
packages.")
(license license:lppl1.2+)))
+(define-public texlive-union (lambda* (#:optional (packages '()))
+ "Return 'texlive-union' package which is a union of PACKAGES and the
+standard LaTeX packages."
+ (let ((default-packages
+ (list texlive-bin
+ texlive-dvips
+ texlive-fonts-cm
+ texlive-fonts-latex
+ texlive-metafont-base
+ texlive-latex-base
+ ;; LaTeX packages from the "required" set.
+ texlive-latex-amsmath
+ texlive-latex-amscls
+ texlive-latex-babel
+ texlive-latex-cyrillic
+ texlive-latex-graphics
+ texlive-latex-psnfss
+ texlive-latex-tools)))
+ (package
+ (name "texlive-union")
+ (version (number->string %texlive-revision))
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments
+ '(#:modules ((guix build union)
+ (guix build utils)
+ (guix build texlive-build-system)
+ (guix build gnu-build-system)
+ (guix build gremlin)
+ (guix elf))
+ #:builder
+ (begin
+ (use-modules (ice-9 match)
+ (srfi srfi-26)
+ (guix build union)
+ (guix build utils)
+ (guix build texlive-build-system))
+ (let* ((out (assoc-ref %outputs "out"))
+ (texmf.cnf (string-append out "/share/texmf-dist/web2c/texmf.cnf")))
+ ;; Build a modifiable union of all inputs (but exclude bash)
+ (match (filter (match-lambda
+ ((name . _)
+ (not (string=? "bash" name))))
+ %build-inputs)
+ (((names . directories) ...)
+ (union-build (assoc-ref %outputs "out")
+ directories
+ #:create-all-directories? #t)))
+
+ ;; The configuration file "texmf.cnf" is provided by the
+ ;; "texlive-bin" package. We take it and override only the
+ ;; setting for TEXMFROOT and TEXMF. This file won't be consulted
+ ;; by default, though, so we still need to set TEXMFCNF.
+ (substitute* texmf.cnf
+ (("^TEXMFROOT = .*")
+ (string-append "TEXMFROOT = " out "/share\n"))
+ (("^TEXMF = .*")
+ "TEXMF = $TEXMFROOT/share/texmf-dist\n"))
+ (setenv "PATH" (string-append (assoc-ref %build-inputs "bash")
+ "/bin"))
+ (for-each
+ (cut wrap-program <>
+ `("TEXMFCNF" ":" = (,(dirname texmf.cnf)))
+ `("TEXMF" ":" = (,(string-append out "/share/texmf-dist"))))
+ (find-files (string-append out "/bin") ".*"))
+ #t))))
+ (inputs
+ `(("bash" ,bash)
+ ,@(map (lambda (package)
+ (list (package-name package) package))
+ (append default-packages packages))))
+ (home-page (package-home-page texlive-bin))
+ (synopsis "Union of Texlive packages")
+ (description "This package provides a subset of the Texlive
+distribution.")
+ (license (map package-license (append default-packages packages)))))))
+
(define texlive-texmf
(package
(name "texlive-texmf")
--
2.12.2
next prev parent reply other threads:[~2017-06-09 10:48 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 ` bug#27296: [PATCH 13/35] gnu: Add texlive-latex-base Ricardo Wurmus
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 ` Ricardo Wurmus [this message]
2017-06-09 14:57 ` bug#27296: [PATCH 33/35] gnu: Add texlive-union 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-33-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).