summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2023-06-13 16:36:03 +0200
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2023-07-18 18:15:03 +0200
commit520551a59699e0c23c429a83a50be057f0160f5c (patch)
tree6426a4343563fefeb93cfb03539a9dd1f56f20db
parent0d7e2380b626c7b367ebe4f5d7d7ba8fa487c283 (diff)
gnu: Replace texlive-latex-base with texlive-latex-bin.
Although `latex-base' is clearly defined on CTAN, it isn't a proper TeX Live package. Since we're trying to follow as closely as possible this TeX distribution, we replace the package with the closest one, which is `texlive-latex-bin'. As a consequence, the #:TEXLIVE-LATEX-BASE argument becomes #:TEXLIVE-LATEX-BIN?, emphasizing the fact that the meaningful values for it are booleans. * gnu/packages/graphviz.scm (dot2tex)[propagated-inputs]: Remove TEXLIVE-GRAPHICS, TEXLIVE-LATEX-BASE. Add TEXLIVE-LATEX-BIN. * gnu/packages/plotutils.scm (asymptote)[native-inputs]: Remove TEXLIVE-LATEX-BASE, TEXLIVE-GRAPHICS, TEXLIVE-L3BACKEND. Use TEXLIVE-UPDMAP.CFG. * gnu/packages/sphinx.scm (python-sphinx)[propagated-inputs]: Remove TEXLIVE-GRAPHICS, TEXLIVE-LATEX-BASE. Add TEXLIVE-LATEX-BIN. * gnu/packages/tex.scm (texlive-latex-base): Deprecate variable. (texlive-hyphen-complete): (texlive-tex): (texlive-latex): (texlive-docstrip): (texlive-unicode-data): (texlive-hyphen-base): (texlive-tex-ini-files): (texlive-metafont): (texlive-modes): (texlive-knuth-lib): (texlive-latex-fonts): (texlive-etex): (texlive-plain): (texlive-kpathsea): (texlive-latexconfig): (texlive-latex-bin): (texlive-l3kernel): (texlive-l3backend): (texlive-l3packages): (texlive-luatex): (texlive-luahbtex): (texlive-babel): (texlive-cyrillic): (texlive-pdftex): (texlive-cm)[arguments]: Replace #:TEXLIVE-LATEX-BASE with #:TEXLIVE-LATEX-BIN?. (texlive-lm): (texlive-lua-alt-getopt): (texlive-luaotfload): (texlive-graphics-def): (texlive-graphics-cfg): Set #:TEXLIVE-LATEX-BIN? to #F. (texlive-graphics): (texlive-lualibs): (texlive-firstaid): (texlive-atveryend)[arguments]: Set #:TEXLIVE-LATEX-BIN? to #F. [native-inputs]: Add TEXLIVE-DOCSTRIP, TEXLIVE-PDFTEX. (texlive-updmap.cfg): Remove TEXLIVE-CM, TEXLIVE-GRAPHICS, TEXLIVE-LATEX-BASE. Add TEXLIVE-LATEX-BIN. (texlive-atbegshi)[arguments]: Set #:TEXLIVE-LATEX-BIN? to #F. [native-inputs]: Add TEXLIVE-DOCSTRIP, TEXLIVE-PDFTEX. [propagated-inputs]: Remove TEXLIVE-IFTEX, TEXLIVE-INFWARERR and TEXLIVE-LTXCMDS. (texlive-everyshi)[arguments]: Build package with a temporary "latex.fmt" file. (texlive-cyrillic): Set #:TEXLIVE-LATEX-BIN? to #T. * guix/build-system/texlive.scm (default-texlive-latex-base): Rename to TEXLIVE-LATEX-BIN. (lower): Set default value for TEXLIVE-LATEX-BIN? to #TRUE. * gnu/packages/statistics.scm (r-with-tests): Remove TEXLIVE-LATEX-BASE and TEXLIVE-GRAPHICS. * doc/guix.texi (Build Systems): Document #:TEXLIVE-LATEX-BIN? argument. Remove reference to #:TEXLIVE-LATEX-BASE.
-rw-r--r--doc/guix.texi14
-rw-r--r--gnu/packages/graphviz.scm3
-rw-r--r--gnu/packages/plotutils.scm3
-rw-r--r--gnu/packages/sphinx.scm3
-rw-r--r--gnu/packages/statistics.scm27
-rw-r--r--gnu/packages/tex.scm153
-rw-r--r--guix/build-system/texlive.scm14
7 files changed, 105 insertions, 112 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index e58bb65bd1..213c183e1f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -10012,10 +10012,16 @@ files whenever possible. Likewise, it can also create TeX formats
(i.e., @file{.fmt} files) listed in the @code{#:create-formats}
argument.
-The build system adds only @code{texlive-bin} and
-@code{texlive-latex-base} (both from @code{(gnu packages tex}) to the
-inputs. Both can be overridden with the arguments @code{#:texlive-bin}
-and @code{#:texlive-latex-base}, respectively.
+The build system adds @code{texlive-bin} from @code{(gnu packages tex)}
+to the native inputs. It can be overridden with the
+@code{#:texlive-bin} argument.
+
+The package @code{texlive-latex-bin}, from the same module, contains
+most of the tools for building TeX Live packages; for convenience, it is
+also added by default to the native inputs. However, this can be
+troublesome when building a dependency of @code{texlive-latex-bin}
+itself. In this particular situation, the @code{#:texlive-latex-bin?}
+argument should be set to @code{#f}.
@end defvar
@defvar ruby-build-system
diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index 658cc494d1..61e4ec7a9f 100644
--- a/gnu/packages/graphviz.scm
+++ b/gnu/packages/graphviz.scm
@@ -388,8 +388,7 @@ graphs in Graphviz's DOT language, written in pure Python.")
texlive-amsmath
texlive-bin
texlive-geometry
- texlive-graphics
- texlive-latex-base
+ texlive-latex-bin
texlive-pgf
texlive-pstricks
texlive-preview
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index db14272804..00ddd34355 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -312,14 +312,11 @@ colors, styles, options and details.")
texlive-epsf
texlive-etoolbox
texlive-geometry
- texlive-graphics
texlive-grfext
texlive-hyperref
texlive-infwarerr
texlive-kvdefinekeys
texlive-kvoptions
- texlive-l3backend
- texlive-latex-base
texlive-media9
texlive-oberdiek ;for ifluatex
texlive-ocgx2
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index b2ad5d99e8..173accd768 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -117,10 +117,9 @@
texlive-fncychap
texlive-framed
texlive-geometry
- texlive-graphics ;graphicx, color
texlive-hyperref
texlive-kvoptions
- texlive-latex-base ;alltt, atbegshi, makeidx, textcomp
+ texlive-latex-bin
texlive-ltxcmds
texlive-needspace
texlive-oberdiek ;hypcap
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index a25b8d2cb3..1cea3afda5 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -388,20 +388,19 @@ as.POSIXct(if (\"\" != Sys.getenv(\"SOURCE_DATE_EPOCH\")) {\
perl
pkg-config
texinfo ; for building HTML manuals
- (texlive-updmap.cfg (list texlive-ae
- texlive-amsfonts
- texlive-ec
- texlive-fancyvrb
- texlive-graphics
- texlive-grfext
- texlive-hyperref
- texlive-inconsolata
- texlive-latex-base
- texlive-oberdiek
- texlive-tools
- texlive-upquote
- texlive-url
- texlive-xkeyval))
+ (texlive-updmap.cfg
+ (list texlive-ae
+ texlive-amsfonts
+ texlive-ec
+ texlive-fancyvrb
+ texlive-grfext
+ texlive-hyperref
+ texlive-inconsolata
+ texlive-oberdiek
+ texlive-tools
+ texlive-upquote
+ texlive-url
+ texlive-xkeyval))
tzdata-for-tests
xz))
(inputs
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 57de356205..e66993e492 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -147,7 +147,7 @@
(build-system texlive-build-system)
(arguments
(list
- #:texlive-latex-base #f
+ #:texlive-latex-bin? #f
#:tex-engine "tex"
#:phases
#~(modify-phases %standard-phases
@@ -715,7 +715,7 @@ This package contains the binaries.")
(outputs '("out" "doc"))
(build-system texlive-build-system)
(arguments
- (list #:texlive-latex-base #f
+ (list #:texlive-latex-bin? #f
#:create-formats #~(list "tex")))
(propagated-inputs
(list texlive-cm
@@ -751,7 +751,7 @@ it should not be processed without Knuth's direct permission.")
(build-system texlive-build-system)
(arguments
(list
- #:texlive-latex-base #f
+ #:texlive-latex-bin? #f
#:tex-engine "tex"
#:tex-format #f
#:build-targets #~(list "unpack.ins")
@@ -879,7 +879,7 @@ a replacement for LaTeX's @code{\\@@alph} and @code{\\@@Alph} macros.")
"1pxbqbia0727vg01xv8451szm55z2w8sb0vv3kf4iqx5ibb6m0d2")))
(build-system texlive-build-system)
(arguments
- (list #:texlive-latex-base #f))
+ (list #:texlive-latex-bin? #f))
(home-page "https://www.ctan.org/texlive")
(synopsis "Utility to strip documentation from TeX files")
(description "This package provides the docstrip utility to strip
@@ -921,7 +921,7 @@ affected).")
"1d41zvjsig7sqf2j2m89dnbv3gicpb16r04b4ikps4gabhbky83k")))
(outputs '("out" "doc"))
(build-system texlive-build-system)
- (arguments (list #:texlive-latex-base #f))
+ (arguments (list #:texlive-latex-bin? #f))
(home-page "https://ctan.org/pkg/unicode-data")
(synopsis "Unicode data and loaders for TeX")
(description "This bundle provides generic access to Unicode Consortium
@@ -979,7 +979,7 @@ until the package appears.")
(base32
"1nad1bqpjsywm49hlv7d75mqvgha3j5vayvkvfhv8wwzgdb3mk84")))
(build-system texlive-build-system)
- (arguments (list #:texlive-latex-base #f))
+ (arguments (list #:texlive-latex-bin? #f))
(home-page "https://tug.org/texlive/")
(synopsis "Core hyphenation support files")
(description "This package includes Knuth's original @file{hyphen.tex},
@@ -1094,7 +1094,7 @@ PostScript.")
"0a18k27fz1vjha5blwskxpnd715k08hmfm7d1yc2f7adaf0rwl3m")))
(outputs '("out" "doc"))
(build-system texlive-build-system)
- (arguments (list #:texlive-latex-base #f))
+ (arguments (list #:texlive-latex-bin? #f))
(home-page "https://www.ctan.org/pkg/tex-ini-files")
(synopsis "Files for creating TeX formats")
(description
@@ -1128,7 +1128,7 @@ adapt the plain e-TeX source file to work with XeTeX and LuaTeX.")
(build-system texlive-build-system)
(arguments
(list
- #:texlive-latex-base #f
+ #:texlive-latex-bin? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'build 'generate-mf.base
@@ -1228,7 +1228,7 @@ that support for the Pandora fonts is also available via the
(outputs '("out" "doc"))
(build-system texlive-build-system)
(arguments
- (list #:texlive-latex-base #f))
+ (list #:texlive-latex-bin? #f))
(home-page "https://ctan.org/pkg/modes")
(synopsis "Collection of Metafont @code{mode_def}'s")
(description
@@ -1426,7 +1426,7 @@ part of the cite bundle of the author's citation-related packages.")
(build-system texlive-build-system)
(arguments
(list
- #:texlive-latex-base #f
+ #:texlive-latex-bin? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'generate-font-metrics 'generate-pk
@@ -1632,6 +1632,7 @@ in LuaTeX. It is required by the @code{luatexbase} package which uses
"0yyk0dr4yms82mwy4dc03zf5igyhgcb65icdah042rk23rlpxygv")))
(outputs '("out" "doc"))
(build-system texlive-build-system)
+ (arguments (list #:texlive-latex-bin? #f))
(home-page "https://ctan.org/pkg/lm")
(synopsis "Latin Modern family of fonts")
(description "The Latin Modern fonts are derived from the famous Computer
@@ -1709,7 +1710,7 @@ conversion software and word processors.")
(base32
"0dl8z340n6m6xn7wari4hir0syxqi0kl2fhnf0bvnmkqhqwyzpca")))
(build-system texlive-build-system)
- (arguments (list #:texlive-latex-base #f))
+ (arguments (list #:texlive-latex-bin? #f))
(native-inputs (list texlive-cm texlive-metafont))
(home-page "https://ctan.org/pkg/knuth-lib")
(synopsis "Small library of METAFONT sources")
@@ -1755,7 +1756,7 @@ directories.")
"1bzqzzhs15w7dqz90hfjnaffjqh24q14w2h1h8vnxzvrlsyv21vq")))
(outputs '("out" "doc"))
(build-system texlive-build-system)
- (arguments (list #:texlive-latex-base #f))
+ (arguments (list #:texlive-latex-bin? #f))
(native-inputs (list texlive-cm texlive-metafont))
(home-page "https://ctan.org/pkg/latex-fonts")
(synopsis "Collection of fonts used in LaTeX distributions")
@@ -1943,7 +1944,7 @@ features generation of clean UTF-8 patterns.")
"17pvh7i9zw8qa5hr53kci7di64fqzx4j35gsn28s36b74x6xj4bc")))
(outputs '("out" "doc"))
(build-system texlive-build-system)
- (arguments (list #:texlive-latex-base #f))
+ (arguments (list #:texlive-latex-bin? #f))
(native-inputs (list texlive-cm texlive-metafont))
(home-page "https://www.ctan.org/pkg/etex")
(synopsis "Extended version of TeX")
@@ -1991,7 +1992,7 @@ e-TeX's facilities.")
(list
#:tex-engine "tex"
#:tex-format #f
- #:texlive-latex-base #f))
+ #:texlive-latex-bin? #f))
(home-page "https://ctan.org/pkg/plain")
(synopsis "Plain TeX format and supporting files")
(description
@@ -2174,7 +2175,7 @@ replacement for the @code{inputenc} package.")
(build-system texlive-build-system)
(arguments
(list
- #:texlive-latex-base #f
+ #:texlive-latex-bin? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-references
@@ -2240,61 +2241,13 @@ default and narrow versions of multiple integrals.")
(base32
"1x5fyr2185nx3qlyariykdz44hcy5azimrk9db2p707dg08bjhsd")))
(build-system texlive-build-system)
- (arguments (list #:texlive-latex-base #f))
+ (arguments (list #:texlive-latex-bin? #f))
(home-page "https://ctan.org/pkg/latexconfig")
(synopsis "Configuration files for LaTeX-related formats")
(description "The package provides configuration files for LaTeX-related
formats.")
(license license:lppl)))
-(define-public texlive-latex-base
- (package
- (name "texlive-latex-base")
- (version (number->string %texlive-revision))
- (source (texlive-origin
- name version
- (list "doc/latex/base/" "makeindex/latex/"
- "source/latex/base/" "tex/latex/base/")
- (base32
- "0k2b6qi281cl4zml6l537iyps1zwaq7pip81qq8vlkhb9h5ggpnw")))
- (build-system texlive-build-system)
- (outputs '("out" "doc"))
- (arguments
- (list
- #:texlive-latex-base #f
- #:tex-engine "tex"
- #:tex-format #f
- #:build-targets #~(list "unpack.ins")
- #:create-formats #~(list "dvilualatex" "latex" "lualatex" "pdflatex")))
- (propagated-inputs
- (list texlive-babel
- texlive-cm
- texlive-etex
- texlive-hyphen-complete
- texlive-knuth-lib
- texlive-kpathsea
- texlive-l3backend
- texlive-l3kernel
- texlive-latex-fonts
- texlive-latexconfig
- texlive-luatex
- texlive-pdftex
- texlive-plain
- texlive-tex-ini-files
- texlive-unicode-data
- ;; TODO: This dependency isn't needed for LaTeX version 2021-06-01
- ;; and later. See:
- ;; <https://tug.org/pipermail/tex-live/2021-June/047180.html>
- texlive-l3packages))
- (home-page "https://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-bin
(package
(name "texlive-latex-bin")
@@ -2315,7 +2268,7 @@ contain.")
(build-system texlive-build-system)
(arguments
(list
- #:texlive-latex-base #f
+ #:texlive-latex-bin? #f
#:create-formats #~(list "dvilualatex" "latex" "lualatex" "pdflatex")))
(propagated-inputs
(list texlive-atbegshi
@@ -2346,6 +2299,8 @@ contain.")
several packages that are considered as part of the LaTeX kernel.")
(license license:lppl1.3c+)))
+(define-deprecated-package texlive-latex-base texlive-latex-bin)
+
(define-public texlive-atenddvi
(package
(name "texlive-atenddvi")
@@ -2416,6 +2371,8 @@ customize their appearance in the enclosing document.")
"1rp805h0m99rxs107a798l951lyahlnp7irfklfadn2a2ljzhafn")))
(outputs '("out" "doc"))
(build-system texlive-build-system)
+ (arguments (list #:texlive-latex-bin? #f))
+ (native-inputs (list texlive-docstrip texlive-pdftex))
(home-page "https://ctan.org/pkg/atveryend")
(synopsis "Hooks at the very end of a document")
(description
@@ -2636,6 +2593,7 @@ Unicode points; it is maintained by Adobe. The additional
"0b66fy06safyrd717rfr476g1gz6nqfv1vqvam7ac2yy0g0djb17")))
(outputs '("out" "doc"))
(build-system texlive-build-system)
+ (arguments (list #:texlive-latex-bin? #f))
(home-page "https://ctan.org/pkg/graphics-def")
(synopsis "Colour and graphics option files")
(description
@@ -2657,6 +2615,7 @@ packages.")
"00n63adb2laf43lzix39xl68aq0k5k80mmrw602w99w5n7f96gsf")))
(outputs '("out" "doc"))
(build-system texlive-build-system)
+ (arguments (list #:texlive-latex-bin? #f))
(home-page "https://ctan.org/pkg/graphics-cfg")
(synopsis "Sample configuration files for LaTeX color and graphics")
(description
@@ -2677,6 +2636,8 @@ set default \"driver\" options for the color and graphics packages.")
"0prw1zcv4fcj3zg0kyhj0k7ax0530adl60bajzvbv3fi16d7rqlq")))
(outputs '("out" "doc"))
(build-system texlive-build-system)
+ (arguments (list #:texlive-latex-bin? #f))
+ (native-inputs (list texlive-docstrip texlive-pdftex))
(propagated-inputs
(list texlive-graphics-def texlive-graphics-cfg))
(home-page "https://ctan.org/macros/latex/required/graphics")
@@ -3112,7 +3073,7 @@ of file names.")
(list
#:tex-engine "tex"
#:tex-format #f
- #:texlive-latex-base #f))
+ #:texlive-latex-bin? #f))
(native-inputs
(list texlive-docstrip))
(propagated-inputs
@@ -3147,7 +3108,7 @@ LaTeX3 conventions can be used with regular LaTeX2e packages.")
(list
#:tex-engine "tex"
#:tex-format #f
- #:texlive-latex-base #f))
+ #:texlive-latex-bin? #f))
(native-inputs
(list texlive-docstrip))
(home-page "https://ctan.org/pkg/l3backend")
@@ -3194,7 +3155,7 @@ an independent schedule.")
"xtemplate.ins")
#:tex-engine "tex"
#:tex-format #f
- #:texlive-latex-base #f))
+ #:texlive-latex-bin? #f))
(native-inputs
(list texlive-docstrip))
(propagated-inputs
@@ -3450,6 +3411,8 @@ they are not directly related to Unicode mathematics typesetting.")
"0gf60vj9y75a7dlrmpbyqgsa00s1717r6if3lm5ldm41i9fm8ywz")))
(outputs '("out" "doc"))
(build-system texlive-build-system)
+ (arguments (list #:texlive-latex-bin? #f))
+ (native-inputs (list texlive-docstrip texlive-pdftex))
(home-page "https://ctan.org/pkg/lualibs")
(synopsis "Additional Lua functions for LuaTeX macro programmers")
(description
@@ -3472,6 +3435,7 @@ this bundle for use independent of ConTeXt.")
"0cizxzn33n3pn98xkqnxb8s6vdwkar3xrwhraqrs05pjfdn9d4wz")))
(outputs '("out" "doc"))
(build-system texlive-build-system)
+ (arguments (list #:texlive-latex-bin? #f))
(home-page "https://ctan.org/pkg/lua-alt-getopt")
(synopsis "Process application arguments as @code{getopt_long}")
(description
@@ -3502,7 +3466,7 @@ in the same way as BSD/GNU @code{getopt_long(3)} functions do.")
(outputs '("out" "doc"))
(build-system texlive-build-system)
(arguments
- (list #:texlive-latex-base #f
+ (list #:texlive-latex-bin? #f
#:create-formats #~(list "dviluatex" "luatex")))
(propagated-inputs
(list texlive-cm
@@ -3585,7 +3549,7 @@ upgrade smoothly to the new support structure.")
(build-system texlive-build-system)
(arguments
(list
- #:texlive-latex-base #f
+ #:texlive-latex-bin? #f
#:create-formats #~(list "luahbtex")))
(propagated-inputs
(list texlive-cm
@@ -3623,6 +3587,7 @@ shaping, instead of LuaTeX's built-in shaper.")
"15xhnb4kyzmr11lj0md1d502cqrxyq6zdcq738z9394k6bas377f")))
(outputs '("out" "doc"))
(build-system texlive-build-system)
+ (arguments (list #:texlive-latex-bin? #f))
(propagated-inputs (list texlive-lm texlive-lua-alt-getopt texlive-lualibs))
(home-page "https://ctan.org/pkg/luaotfload")
(synopsis "OpenType font loader for LuaTeX")
@@ -3772,7 +3737,7 @@ available as part of the AMS-LaTeX distribution.")
(build-system texlive-build-system)
(arguments
(list
- #:texlive-latex-base #f
+ #:texlive-latex-bin? #f
#:phases
#~(modify-phases %standard-phases
;; This package tries to produce babel.aux twice but refuses to
@@ -4029,8 +3994,7 @@ German.")
(arguments
(list
#:tex-engine "tex"
- #:tex-format #f
- #:texlive-latex-base #f))
+ #:tex-format #f))
(native-inputs
(list texlive-docstrip))
(home-page "https://ctan.org/pkg/cyrillic")
@@ -4148,13 +4112,11 @@ part of the LaTeX required set of packages.")
configuration of a base set of packages plus PACKAGES."
(let ((default-packages
(list texlive-bin
- texlive-cm
texlive-cm-super
texlive-dvips
texlive-fontname
- texlive-graphics
texlive-kpathsea
- texlive-latex-base
+ texlive-latex-bin
texlive-latex-fonts
texlive-metafont
;; LaTeX packages from the "required" set.
@@ -4673,6 +4635,8 @@ corresponding italics: light, regular, medium, bold, ...")
"1ahn47kz8a2qdmzdfdgjanf6h5bn8f2rzp1zvwgjpk1plcix8k90")))
(outputs '("out" "doc"))
(build-system texlive-build-system)
+ (arguments (list #:texlive-latex-bin? #f))
+ (native-inputs (list texlive-docstrip texlive-pdftex))
(home-page "https://ctan.org/pkg/firstaid")
(synopsis
"First aid for external LaTeX files and packages that need updating")
@@ -7772,7 +7736,7 @@ e-TeX.")
(build-system texlive-build-system)
(arguments
(list
- #:texlive-latex-base #f
+ #:texlive-latex-bin? #f
#:create-formats #~(list "etex" "pdfetex" "pdftex")))
(propagated-inputs
(list texlive-cm
@@ -8733,8 +8697,8 @@ not only with KOMA-Script classes but also with the standard classes.")
"0vd90wdjwj5w4g4xka4nms3rgixjw63iwf0hj0v1akcfflwvgn69")))
(outputs '("out" "doc"))
(build-system texlive-build-system)
- (propagated-inputs
- (list texlive-iftex texlive-infwarerr texlive-ltxcmds))
+ (arguments (list #:texlive-latex-bin? #f))
+ (native-inputs (list texlive-docstrip texlive-pdftex))
(home-page "https://ctan.org/pkg/atbegshi")
(synopsis "Execute commands at @code{\\shipout} time")
(description
@@ -12422,8 +12386,37 @@ compatibility reasons.")
"11y6xazv1nk0m2hzsainjr8ijn5cff04xfccm6a65hzg7ipggraj")))
(outputs '("out" "doc"))
(build-system texlive-build-system)
+ ;; Building `texlive-everyshi' requires "latex" format, provided by
+ ;; `texlive-latex-bin'. However, `texlive-everyshi' is also a propagated
+ ;; inputs from `texlive-latex-bin'. To work around this cycle, build
+ ;; a temporary "latex.fmt" format file, and use it to build the package.
+ ;; At the end of the process, remove that temporary format file.
(arguments
- (list #:tex-format "latex"))
+ (list
+ #:texlive-latex-bin? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'create-latex-format
+ (lambda* (#:key inputs #:allow-other-keys)
+ (apply (assoc-ref %standard-phases 'create-formats)
+ (list #:inputs inputs #:create-formats '("latex")))))
+ (replace 'build
+ (lambda* (#:key inputs build-targets tex-engine #:allow-other-keys)
+ (apply (assoc-ref %standard-phases 'build)
+ (list #:inputs inputs
+ #:build-targets build-targets
+ #:tex-engine tex-engine
+ #:tex-format (string-append (getcwd)
+ "/web2c/pdftex/latex")))))
+ (add-after 'build 'remove-latex-format
+ (lambda _
+ (delete-file-recursively "web2c"))))))
+ (native-inputs
+ (list texlive-l3kernel
+ texlive-l3packages
+ texlive-latex
+ texlive-latexconfig
+ texlive-tex-ini-files))
(home-page "https://ctan.org/pkg/everyshi")
(synopsis "Take action at every @code{\\shipout}")
(description
diff --git a/guix/build-system/texlive.scm b/guix/build-system/texlive.scm
index e68cb87589..19bf459dc2 100644
--- a/guix/build-system/texlive.scm
+++ b/guix/build-system/texlive.scm
@@ -88,24 +88,24 @@ level package ID."
(let ((tex-mod (resolve-interface '(gnu packages tex))))
(module-ref tex-mod 'texlive-bin)))
-(define (default-texlive-latex-base)
- "Return the default texlive-latex-base package."
+(define (texlive-latex-bin)
+ "Return the default texlive-latex-bin package."
;; Lazily resolve the binding to avoid a circular dependency.
(let ((tex-mod (resolve-interface '(gnu packages tex))))
- (module-ref tex-mod 'texlive-latex-base)))
+ (module-ref tex-mod 'texlive-latex-bin)))
(define* (lower name
#:key
source inputs native-inputs outputs
system target
- (texlive-latex-base (default-texlive-latex-base))
+ (texlive-latex-bin? #true)
(texlive-bin (default-texlive-bin))
#:allow-other-keys
#:rest arguments)
"Return a bag for NAME."
(define private-keywords
'(#:target #:inputs #:native-inputs
- #:texlive-latex-base #:texlive-bin))
+ #:texlive-latex-bin? #:texlive-bin))
(bag
(name name)
@@ -118,8 +118,8 @@ level package ID."
;; Keep the standard inputs of 'gnu-build-system'.
,@(standard-packages)))
(build-inputs `(("texlive-bin" ,texlive-bin)
- ,@(if texlive-latex-base
- `(("texlive-latex-base" ,texlive-latex-base))
+ ,@(if texlive-latex-bin?
+ `(("texlive-latex-bin" ,(texlive-latex-bin)))
'())
,@native-inputs))
(outputs outputs)