aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/texlive.scm
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2016-01-15 16:00:47 +0100
committerAndreas Enge <andreas@enge.fr>2016-02-16 16:44:36 +0100
commit6b5eb8406c0bba1032bc990efc9d63442a09a042 (patch)
treedf6a5c32b0cffd8f95c5bb2266e17a8993e3b783 /gnu/packages/texlive.scm
parent3c192e4e1b066e0212dc3f10d838e552ded8144b (diff)
downloadguix-6b5eb8406c0bba1032bc990efc9d63442a09a042.tar.gz
guix-6b5eb8406c0bba1032bc990efc9d63442a09a042.zip
gnu: Add texlive-minimal.
* gnu/packages/texlive.scm (texlive-texmf-minimal, texlive-minimal): New variables.
Diffstat (limited to 'gnu/packages/texlive.scm')
-rw-r--r--gnu/packages/texlive.scm76
1 files changed, 75 insertions, 1 deletions
diff --git a/gnu/packages/texlive.scm b/gnu/packages/texlive.scm
index 0b2dec41f6..d8200846ac 100644
--- a/gnu/packages/texlive.scm
+++ b/gnu/packages/texlive.scm
@@ -24,6 +24,7 @@
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
+ #:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
@@ -45,7 +46,9 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages zip)
- #:autoload (gnu packages texinfo) (texinfo))
+ #:autoload (gnu packages texinfo) (texinfo)
+ #:use-module (ice-9 ftw)
+ #:use-module (srfi srfi-1))
(define texlive-extra-src
(origin
@@ -284,6 +287,77 @@ This package contains the complete TeX Live distribution.")
(license (license:fsf-free "http://tug.org/texlive/copying.html"))
(home-page "http://www.tug.org/texlive/")))
+
+;; texlive-texmf-minimal is a pruned, small version of the texlive tree,
+;; in particular dropping documentation and fonts.
+(define texlive-texmf-minimal
+ (package (inherit texlive-texmf)
+ (name "texlive-texmf-minimal")
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments texlive-texmf)
+ ((#:modules modules)
+ `((ice-9 ftw)
+ (srfi srfi-1)
+ ,@modules))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'prune
+ (lambda _
+ (define (delete subdir exclude)
+ "Delete all files and directories in SUBDIR except for those
+given in the list EXCLUDE."
+ (with-directory-excursion subdir
+ (for-each delete-file-recursively
+ (lset-difference equal?
+ (scandir ".")
+ (append '("." "..")
+ exclude)))))
+ (with-directory-excursion "texmf-dist"
+ (for-each delete-file-recursively
+ '("doc" "source" "tex4ht"))
+ ;; Delete all subdirectories of "fonts", except for "tfm" and
+ ;; any directories named "cm".
+ (delete "fonts" '("afm" "map" "pk" "source" "tfm" "type1"))
+ (delete "fonts/afm" '("public"))
+ (delete "fonts/afm/public" '("amsfonts"))
+ (delete "fonts/afm/public/amsfonts" '("cm"))
+ (delete "fonts/map" '("dvips"))
+ (delete "fonts/map/dvips" '("cm"))
+ (delete "fonts/source" '("public"))
+ (delete "fonts/source/public" '("cm"))
+ (delete "fonts/tfm" '("public"))
+ (delete "fonts/type1" '("public"))
+ (delete "fonts/type1/public" '("amsfonts"))
+ (delete "fonts/type1/public/amsfonts" '("cm")))
+ #t))))))
+ (description
+ "TeX Live provides a comprehensive TeX document production system.
+It includes all the major TeX-related programs, macro packages, and fonts
+that are free software, including support for many languages around the
+world.
+
+This package contains a small subset of the texmf-dist data.")))
+
+
+;; texlive-minimal is the same as texlive, but using texlive-texmf-minimal
+;; instead of the full texlive-texmf. It can be used, for instance, as a
+;; native input to packages that need texlive to build their documentation.
+(define-public texlive-minimal
+ (package (inherit texlive)
+ (name "texlive-minimal")
+ (inputs
+ `(("texlive-texmf" ,texlive-texmf-minimal)
+ ,@(alist-delete "texlive-texmf" (package-inputs texlive))))
+ (description
+ "TeX Live provides a comprehensive TeX document production system.
+It includes all the major TeX-related programs, macro packages, and fonts
+that are free software, including support for many languages around the
+world.
+
+This package contains a small working part of the TeX Live distribution.")))
+
+
(define-public rubber
(package
(name "rubber")
td>guix system: Remove unused 'read-operating-system' procedure....* guix/scripts/system.scm (read-operating-system): Remove. * gnu/ci.scm: Remove unused (guix scripts system) import. Ludovic Courtès 2022-05-25Move (gnu platform) and (gnu platforms ...) to guix/....* gnu/platform.scm: * gnu/platforms/arm.scm: * gnu/platforms/hurd.scm: * gnu/platforms/mips.scm: * gnu/platforms/powerpc.scm: * gnu/platforms/riscv.scm: * gnu/platforms/s390.scm: * gnu/platforms/x86.scm: Move to guix/. * Makefile.am: * doc/guix.texi (Porting to a New Platform): * etc/release-manifest.scm: * gnu/ci.scm: * gnu/image.scm: * gnu/local.mk: * gnu/packages/bioinformatics.scm: * gnu/packages/bootstrap.scm: * gnu/packages/cross-base.scm: * gnu/packages/instrumentation.scm: * gnu/packages/linux.scm: * gnu/system/image.scm: * gnu/system/images/hurd.scm: * gnu/system/images/novena.scm: * gnu/system/images/pine64.scm: * gnu/system/images/pinebook-pro.scm: * gnu/system/images/rock64.scm: * guix/scripts/build.scm: * guix/scripts/system.scm: * guix/self.scm: Update (gnu platform...) to (guix platform...). Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Josselin Poiret 2022-05-22ci: Do not rely on hardcoded cross-targets lists....* gnu/ci.scm (%cross-targets): Remove it ... (cross-jobs): ... and use the targets procedure instead. * etc/release-manifest.scm: Adapt it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Mathieu Othacehe 2022-01-01ci: Add extra jobs for tunable packages....This allows us to provide substitutes for tuned package variants. * gnu/ci.scm (package-job): Add #:suffix and honor it. (package->job): Add #:suffix and honor it. (%x86-64-micro-architectures): New variable. (tuned-package-jobs): New procedure. (cuirass-jobs): Add jobs for tunable packages. Ludovic Courtès 2021-12-10Merge remote-tracking branch 'signed/master' into core-updatesMathieu Othacehe 2021-12-06ci: Cross-build the 'guix' package....* gnu/ci.scm (%core-packages): Add GUIX. Ludovic Courtès 2021-10-12Merge remote-tracking branch 'origin/master' into core-updates-frozen.Mathieu Othacehe 2021-10-04ci: Allow manifests to contain any lowerable object....Previously, manifests could only contain packages: https://lists.gnu.org/archive/html/guix-devel/2021-10/msg00002.html This allows us to pass origins as found in 'etc/source-manifest.scm'. * gnu/ci.scm (derivation->job): Change default #:timeout value to 5h. (manifests->packages): Remove. (manifests->jobs): New procedure. (cuirass-jobs): Use it in the 'manifests' case. Ludovic Courtès 2021-09-27ci: Adjust 'channel-build-system' to monadic style....* gnu/ci.scm (channel-build-system): Adjust to new monadic style. Ludovic Courtès 2021-07-10ci: Build commencement packages supported on the target system....This is a followup to df49fe2a13d933c640e3189413c5adfced1103c5. * gnu/ci.scm (%bootstrap-packages): Rename to... (commencement-packages): ... this, and turn into a procedure. Filter packages that pass 'supported-package?'. (cuirass-jobs): Adjust accordingly. Ludovic Courtès 2021-07-09ci: Add bootstrap packages to the core subset....* gnu/ci.scm (%bootstrap-packages): New variable. (cuirass-jobs): Add it to the core subset. Mathieu Othacehe 2021-07-09ci: Add bootstrap packages to the core subset....* gnu/ci.scm (%bootstrap-packages): New variable. (cuirass-jobs): Add it to the core subset. Mathieu Othacehe 2021-07-05ci: Change "core" subset to include the latest GCC and Guile....* gnu/ci.scm (%core-packages): Replace GCC-7 by GCC-11 and GUILE-2.0 by GUILE-3.0. Ludovic Courtès 2021-07-03ci: Remove duplicate ".SYSTEM" extension for cross-compilation jobs....* gnu/ci.scm (package-cross-job): Remove ".SYSTEM". Ludovic Courtès