Archived
1
0
Fork 0

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.
This commit is contained in:
Nicolas Goaziou 2023-06-13 16:36:03 +02:00
parent 0d7e2380b6
commit 520551a596
No known key found for this signature in database
GPG key ID: DA00B4F048E92F2D
7 changed files with 105 additions and 112 deletions

View file

@ -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} (i.e., @file{.fmt} files) listed in the @code{#:create-formats}
argument. argument.
The build system adds only @code{texlive-bin} and The build system adds @code{texlive-bin} from @code{(gnu packages tex)}
@code{texlive-latex-base} (both from @code{(gnu packages tex}) to the to the native inputs. It can be overridden with the
inputs. Both can be overridden with the arguments @code{#:texlive-bin} @code{#:texlive-bin} argument.
and @code{#:texlive-latex-base}, respectively.
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 @end defvar
@defvar ruby-build-system @defvar ruby-build-system

View file

@ -388,8 +388,7 @@ graphs in Graphviz's DOT language, written in pure Python.")
texlive-amsmath texlive-amsmath
texlive-bin texlive-bin
texlive-geometry texlive-geometry
texlive-graphics texlive-latex-bin
texlive-latex-base
texlive-pgf texlive-pgf
texlive-pstricks texlive-pstricks
texlive-preview texlive-preview

View file

@ -312,14 +312,11 @@ colors, styles, options and details.")
texlive-epsf texlive-epsf
texlive-etoolbox texlive-etoolbox
texlive-geometry texlive-geometry
texlive-graphics
texlive-grfext texlive-grfext
texlive-hyperref texlive-hyperref
texlive-infwarerr texlive-infwarerr
texlive-kvdefinekeys texlive-kvdefinekeys
texlive-kvoptions texlive-kvoptions
texlive-l3backend
texlive-latex-base
texlive-media9 texlive-media9
texlive-oberdiek ;for ifluatex texlive-oberdiek ;for ifluatex
texlive-ocgx2 texlive-ocgx2

View file

@ -117,10 +117,9 @@
texlive-fncychap texlive-fncychap
texlive-framed texlive-framed
texlive-geometry texlive-geometry
texlive-graphics ;graphicx, color
texlive-hyperref texlive-hyperref
texlive-kvoptions texlive-kvoptions
texlive-latex-base ;alltt, atbegshi, makeidx, textcomp texlive-latex-bin
texlive-ltxcmds texlive-ltxcmds
texlive-needspace texlive-needspace
texlive-oberdiek ;hypcap texlive-oberdiek ;hypcap

View file

@ -388,20 +388,19 @@ as.POSIXct(if (\"\" != Sys.getenv(\"SOURCE_DATE_EPOCH\")) {\
perl perl
pkg-config pkg-config
texinfo ; for building HTML manuals texinfo ; for building HTML manuals
(texlive-updmap.cfg (list texlive-ae (texlive-updmap.cfg
texlive-amsfonts (list texlive-ae
texlive-ec texlive-amsfonts
texlive-fancyvrb texlive-ec
texlive-graphics texlive-fancyvrb
texlive-grfext texlive-grfext
texlive-hyperref texlive-hyperref
texlive-inconsolata texlive-inconsolata
texlive-latex-base texlive-oberdiek
texlive-oberdiek texlive-tools
texlive-tools texlive-upquote
texlive-upquote texlive-url
texlive-url texlive-xkeyval))
texlive-xkeyval))
tzdata-for-tests tzdata-for-tests
xz)) xz))
(inputs (inputs

View file

@ -147,7 +147,7 @@
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
(list (list
#:texlive-latex-base #f #:texlive-latex-bin? #f
#:tex-engine "tex" #:tex-engine "tex"
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
@ -715,7 +715,7 @@ This package contains the binaries.")
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
(list #:texlive-latex-base #f (list #:texlive-latex-bin? #f
#:create-formats #~(list "tex"))) #:create-formats #~(list "tex")))
(propagated-inputs (propagated-inputs
(list texlive-cm (list texlive-cm
@ -751,7 +751,7 @@ it should not be processed without Knuth's direct permission.")
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
(list (list
#:texlive-latex-base #f #:texlive-latex-bin? #f
#:tex-engine "tex" #:tex-engine "tex"
#:tex-format #f #:tex-format #f
#:build-targets #~(list "unpack.ins") #:build-targets #~(list "unpack.ins")
@ -879,7 +879,7 @@ a replacement for LaTeX's @code{\\@@alph} and @code{\\@@Alph} macros.")
"1pxbqbia0727vg01xv8451szm55z2w8sb0vv3kf4iqx5ibb6m0d2"))) "1pxbqbia0727vg01xv8451szm55z2w8sb0vv3kf4iqx5ibb6m0d2")))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
(list #:texlive-latex-base #f)) (list #:texlive-latex-bin? #f))
(home-page "https://www.ctan.org/texlive") (home-page "https://www.ctan.org/texlive")
(synopsis "Utility to strip documentation from TeX files") (synopsis "Utility to strip documentation from TeX files")
(description "This package provides the docstrip utility to strip (description "This package provides the docstrip utility to strip
@ -921,7 +921,7 @@ affected).")
"1d41zvjsig7sqf2j2m89dnbv3gicpb16r04b4ikps4gabhbky83k"))) "1d41zvjsig7sqf2j2m89dnbv3gicpb16r04b4ikps4gabhbky83k")))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (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") (home-page "https://ctan.org/pkg/unicode-data")
(synopsis "Unicode data and loaders for TeX") (synopsis "Unicode data and loaders for TeX")
(description "This bundle provides generic access to Unicode Consortium (description "This bundle provides generic access to Unicode Consortium
@ -979,7 +979,7 @@ until the package appears.")
(base32 (base32
"1nad1bqpjsywm49hlv7d75mqvgha3j5vayvkvfhv8wwzgdb3mk84"))) "1nad1bqpjsywm49hlv7d75mqvgha3j5vayvkvfhv8wwzgdb3mk84")))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (list #:texlive-latex-base #f)) (arguments (list #:texlive-latex-bin? #f))
(home-page "https://tug.org/texlive/") (home-page "https://tug.org/texlive/")
(synopsis "Core hyphenation support files") (synopsis "Core hyphenation support files")
(description "This package includes Knuth's original @file{hyphen.tex}, (description "This package includes Knuth's original @file{hyphen.tex},
@ -1094,7 +1094,7 @@ PostScript.")
"0a18k27fz1vjha5blwskxpnd715k08hmfm7d1yc2f7adaf0rwl3m"))) "0a18k27fz1vjha5blwskxpnd715k08hmfm7d1yc2f7adaf0rwl3m")))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (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") (home-page "https://www.ctan.org/pkg/tex-ini-files")
(synopsis "Files for creating TeX formats") (synopsis "Files for creating TeX formats")
(description (description
@ -1128,7 +1128,7 @@ adapt the plain e-TeX source file to work with XeTeX and LuaTeX.")
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
(list (list
#:texlive-latex-base #f #:texlive-latex-bin? #f
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'build 'generate-mf.base (add-after 'build 'generate-mf.base
@ -1228,7 +1228,7 @@ that support for the Pandora fonts is also available via the
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
(list #:texlive-latex-base #f)) (list #:texlive-latex-bin? #f))
(home-page "https://ctan.org/pkg/modes") (home-page "https://ctan.org/pkg/modes")
(synopsis "Collection of Metafont @code{mode_def}'s") (synopsis "Collection of Metafont @code{mode_def}'s")
(description (description
@ -1426,7 +1426,7 @@ part of the cite bundle of the author's citation-related packages.")
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
(list (list
#:texlive-latex-base #f #:texlive-latex-bin? #f
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'generate-font-metrics 'generate-pk (add-after 'generate-font-metrics 'generate-pk
@ -1632,6 +1632,7 @@ in LuaTeX. It is required by the @code{luatexbase} package which uses
"0yyk0dr4yms82mwy4dc03zf5igyhgcb65icdah042rk23rlpxygv"))) "0yyk0dr4yms82mwy4dc03zf5igyhgcb65icdah042rk23rlpxygv")))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (list #:texlive-latex-bin? #f))
(home-page "https://ctan.org/pkg/lm") (home-page "https://ctan.org/pkg/lm")
(synopsis "Latin Modern family of fonts") (synopsis "Latin Modern family of fonts")
(description "The Latin Modern fonts are derived from the famous Computer (description "The Latin Modern fonts are derived from the famous Computer
@ -1709,7 +1710,7 @@ conversion software and word processors.")
(base32 (base32
"0dl8z340n6m6xn7wari4hir0syxqi0kl2fhnf0bvnmkqhqwyzpca"))) "0dl8z340n6m6xn7wari4hir0syxqi0kl2fhnf0bvnmkqhqwyzpca")))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (list #:texlive-latex-base #f)) (arguments (list #:texlive-latex-bin? #f))
(native-inputs (list texlive-cm texlive-metafont)) (native-inputs (list texlive-cm texlive-metafont))
(home-page "https://ctan.org/pkg/knuth-lib") (home-page "https://ctan.org/pkg/knuth-lib")
(synopsis "Small library of METAFONT sources") (synopsis "Small library of METAFONT sources")
@ -1755,7 +1756,7 @@ directories.")
"1bzqzzhs15w7dqz90hfjnaffjqh24q14w2h1h8vnxzvrlsyv21vq"))) "1bzqzzhs15w7dqz90hfjnaffjqh24q14w2h1h8vnxzvrlsyv21vq")))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (list #:texlive-latex-base #f)) (arguments (list #:texlive-latex-bin? #f))
(native-inputs (list texlive-cm texlive-metafont)) (native-inputs (list texlive-cm texlive-metafont))
(home-page "https://ctan.org/pkg/latex-fonts") (home-page "https://ctan.org/pkg/latex-fonts")
(synopsis "Collection of fonts used in LaTeX distributions") (synopsis "Collection of fonts used in LaTeX distributions")
@ -1943,7 +1944,7 @@ features generation of clean UTF-8 patterns.")
"17pvh7i9zw8qa5hr53kci7di64fqzx4j35gsn28s36b74x6xj4bc"))) "17pvh7i9zw8qa5hr53kci7di64fqzx4j35gsn28s36b74x6xj4bc")))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (list #:texlive-latex-base #f)) (arguments (list #:texlive-latex-bin? #f))
(native-inputs (list texlive-cm texlive-metafont)) (native-inputs (list texlive-cm texlive-metafont))
(home-page "https://www.ctan.org/pkg/etex") (home-page "https://www.ctan.org/pkg/etex")
(synopsis "Extended version of TeX") (synopsis "Extended version of TeX")
@ -1991,7 +1992,7 @@ e-TeX's facilities.")
(list (list
#:tex-engine "tex" #:tex-engine "tex"
#:tex-format #f #:tex-format #f
#:texlive-latex-base #f)) #:texlive-latex-bin? #f))
(home-page "https://ctan.org/pkg/plain") (home-page "https://ctan.org/pkg/plain")
(synopsis "Plain TeX format and supporting files") (synopsis "Plain TeX format and supporting files")
(description (description
@ -2174,7 +2175,7 @@ replacement for the @code{inputenc} package.")
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
(list (list
#:texlive-latex-base #f #:texlive-latex-bin? #f
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-references (add-after 'unpack 'patch-references
@ -2240,61 +2241,13 @@ default and narrow versions of multiple integrals.")
(base32 (base32
"1x5fyr2185nx3qlyariykdz44hcy5azimrk9db2p707dg08bjhsd"))) "1x5fyr2185nx3qlyariykdz44hcy5azimrk9db2p707dg08bjhsd")))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (list #:texlive-latex-base #f)) (arguments (list #:texlive-latex-bin? #f))
(home-page "https://ctan.org/pkg/latexconfig") (home-page "https://ctan.org/pkg/latexconfig")
(synopsis "Configuration files for LaTeX-related formats") (synopsis "Configuration files for LaTeX-related formats")
(description "The package provides configuration files for LaTeX-related (description "The package provides configuration files for LaTeX-related
formats.") formats.")
(license license:lppl))) (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 (define-public texlive-latex-bin
(package (package
(name "texlive-latex-bin") (name "texlive-latex-bin")
@ -2315,7 +2268,7 @@ contain.")
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
(list (list
#:texlive-latex-base #f #:texlive-latex-bin? #f
#:create-formats #~(list "dvilualatex" "latex" "lualatex" "pdflatex"))) #:create-formats #~(list "dvilualatex" "latex" "lualatex" "pdflatex")))
(propagated-inputs (propagated-inputs
(list texlive-atbegshi (list texlive-atbegshi
@ -2346,6 +2299,8 @@ contain.")
several packages that are considered as part of the LaTeX kernel.") several packages that are considered as part of the LaTeX kernel.")
(license license:lppl1.3c+))) (license license:lppl1.3c+)))
(define-deprecated-package texlive-latex-base texlive-latex-bin)
(define-public texlive-atenddvi (define-public texlive-atenddvi
(package (package
(name "texlive-atenddvi") (name "texlive-atenddvi")
@ -2416,6 +2371,8 @@ customize their appearance in the enclosing document.")
"1rp805h0m99rxs107a798l951lyahlnp7irfklfadn2a2ljzhafn"))) "1rp805h0m99rxs107a798l951lyahlnp7irfklfadn2a2ljzhafn")))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (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") (home-page "https://ctan.org/pkg/atveryend")
(synopsis "Hooks at the very end of a document") (synopsis "Hooks at the very end of a document")
(description (description
@ -2636,6 +2593,7 @@ Unicode points; it is maintained by Adobe. The additional
"0b66fy06safyrd717rfr476g1gz6nqfv1vqvam7ac2yy0g0djb17"))) "0b66fy06safyrd717rfr476g1gz6nqfv1vqvam7ac2yy0g0djb17")))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (list #:texlive-latex-bin? #f))
(home-page "https://ctan.org/pkg/graphics-def") (home-page "https://ctan.org/pkg/graphics-def")
(synopsis "Colour and graphics option files") (synopsis "Colour and graphics option files")
(description (description
@ -2657,6 +2615,7 @@ packages.")
"00n63adb2laf43lzix39xl68aq0k5k80mmrw602w99w5n7f96gsf"))) "00n63adb2laf43lzix39xl68aq0k5k80mmrw602w99w5n7f96gsf")))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (list #:texlive-latex-bin? #f))
(home-page "https://ctan.org/pkg/graphics-cfg") (home-page "https://ctan.org/pkg/graphics-cfg")
(synopsis "Sample configuration files for LaTeX color and graphics") (synopsis "Sample configuration files for LaTeX color and graphics")
(description (description
@ -2677,6 +2636,8 @@ set default \"driver\" options for the color and graphics packages.")
"0prw1zcv4fcj3zg0kyhj0k7ax0530adl60bajzvbv3fi16d7rqlq"))) "0prw1zcv4fcj3zg0kyhj0k7ax0530adl60bajzvbv3fi16d7rqlq")))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (list #:texlive-latex-bin? #f))
(native-inputs (list texlive-docstrip texlive-pdftex))
(propagated-inputs (propagated-inputs
(list texlive-graphics-def texlive-graphics-cfg)) (list texlive-graphics-def texlive-graphics-cfg))
(home-page "https://ctan.org/macros/latex/required/graphics") (home-page "https://ctan.org/macros/latex/required/graphics")
@ -3112,7 +3073,7 @@ of file names.")
(list (list
#:tex-engine "tex" #:tex-engine "tex"
#:tex-format #f #:tex-format #f
#:texlive-latex-base #f)) #:texlive-latex-bin? #f))
(native-inputs (native-inputs
(list texlive-docstrip)) (list texlive-docstrip))
(propagated-inputs (propagated-inputs
@ -3147,7 +3108,7 @@ LaTeX3 conventions can be used with regular LaTeX2e packages.")
(list (list
#:tex-engine "tex" #:tex-engine "tex"
#:tex-format #f #:tex-format #f
#:texlive-latex-base #f)) #:texlive-latex-bin? #f))
(native-inputs (native-inputs
(list texlive-docstrip)) (list texlive-docstrip))
(home-page "https://ctan.org/pkg/l3backend") (home-page "https://ctan.org/pkg/l3backend")
@ -3194,7 +3155,7 @@ an independent schedule.")
"xtemplate.ins") "xtemplate.ins")
#:tex-engine "tex" #:tex-engine "tex"
#:tex-format #f #:tex-format #f
#:texlive-latex-base #f)) #:texlive-latex-bin? #f))
(native-inputs (native-inputs
(list texlive-docstrip)) (list texlive-docstrip))
(propagated-inputs (propagated-inputs
@ -3450,6 +3411,8 @@ they are not directly related to Unicode mathematics typesetting.")
"0gf60vj9y75a7dlrmpbyqgsa00s1717r6if3lm5ldm41i9fm8ywz"))) "0gf60vj9y75a7dlrmpbyqgsa00s1717r6if3lm5ldm41i9fm8ywz")))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (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") (home-page "https://ctan.org/pkg/lualibs")
(synopsis "Additional Lua functions for LuaTeX macro programmers") (synopsis "Additional Lua functions for LuaTeX macro programmers")
(description (description
@ -3472,6 +3435,7 @@ this bundle for use independent of ConTeXt.")
"0cizxzn33n3pn98xkqnxb8s6vdwkar3xrwhraqrs05pjfdn9d4wz"))) "0cizxzn33n3pn98xkqnxb8s6vdwkar3xrwhraqrs05pjfdn9d4wz")))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (list #:texlive-latex-bin? #f))
(home-page "https://ctan.org/pkg/lua-alt-getopt") (home-page "https://ctan.org/pkg/lua-alt-getopt")
(synopsis "Process application arguments as @code{getopt_long}") (synopsis "Process application arguments as @code{getopt_long}")
(description (description
@ -3502,7 +3466,7 @@ in the same way as BSD/GNU @code{getopt_long(3)} functions do.")
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
(list #:texlive-latex-base #f (list #:texlive-latex-bin? #f
#:create-formats #~(list "dviluatex" "luatex"))) #:create-formats #~(list "dviluatex" "luatex")))
(propagated-inputs (propagated-inputs
(list texlive-cm (list texlive-cm
@ -3585,7 +3549,7 @@ upgrade smoothly to the new support structure.")
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
(list (list
#:texlive-latex-base #f #:texlive-latex-bin? #f
#:create-formats #~(list "luahbtex"))) #:create-formats #~(list "luahbtex")))
(propagated-inputs (propagated-inputs
(list texlive-cm (list texlive-cm
@ -3623,6 +3587,7 @@ shaping, instead of LuaTeX's built-in shaper.")
"15xhnb4kyzmr11lj0md1d502cqrxyq6zdcq738z9394k6bas377f"))) "15xhnb4kyzmr11lj0md1d502cqrxyq6zdcq738z9394k6bas377f")))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (list #:texlive-latex-bin? #f))
(propagated-inputs (list texlive-lm texlive-lua-alt-getopt texlive-lualibs)) (propagated-inputs (list texlive-lm texlive-lua-alt-getopt texlive-lualibs))
(home-page "https://ctan.org/pkg/luaotfload") (home-page "https://ctan.org/pkg/luaotfload")
(synopsis "OpenType font loader for LuaTeX") (synopsis "OpenType font loader for LuaTeX")
@ -3772,7 +3737,7 @@ available as part of the AMS-LaTeX distribution.")
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
(list (list
#:texlive-latex-base #f #:texlive-latex-bin? #f
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
;; This package tries to produce babel.aux twice but refuses to ;; This package tries to produce babel.aux twice but refuses to
@ -4029,8 +3994,7 @@ German.")
(arguments (arguments
(list (list
#:tex-engine "tex" #:tex-engine "tex"
#:tex-format #f #:tex-format #f))
#:texlive-latex-base #f))
(native-inputs (native-inputs
(list texlive-docstrip)) (list texlive-docstrip))
(home-page "https://ctan.org/pkg/cyrillic") (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." configuration of a base set of packages plus PACKAGES."
(let ((default-packages (let ((default-packages
(list texlive-bin (list texlive-bin
texlive-cm
texlive-cm-super texlive-cm-super
texlive-dvips texlive-dvips
texlive-fontname texlive-fontname
texlive-graphics
texlive-kpathsea texlive-kpathsea
texlive-latex-base texlive-latex-bin
texlive-latex-fonts texlive-latex-fonts
texlive-metafont texlive-metafont
;; LaTeX packages from the "required" set. ;; LaTeX packages from the "required" set.
@ -4673,6 +4635,8 @@ corresponding italics: light, regular, medium, bold, ...")
"1ahn47kz8a2qdmzdfdgjanf6h5bn8f2rzp1zvwgjpk1plcix8k90"))) "1ahn47kz8a2qdmzdfdgjanf6h5bn8f2rzp1zvwgjpk1plcix8k90")))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (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") (home-page "https://ctan.org/pkg/firstaid")
(synopsis (synopsis
"First aid for external LaTeX files and packages that need updating") "First aid for external LaTeX files and packages that need updating")
@ -7772,7 +7736,7 @@ e-TeX.")
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
(list (list
#:texlive-latex-base #f #:texlive-latex-bin? #f
#:create-formats #~(list "etex" "pdfetex" "pdftex"))) #:create-formats #~(list "etex" "pdfetex" "pdftex")))
(propagated-inputs (propagated-inputs
(list texlive-cm (list texlive-cm
@ -8733,8 +8697,8 @@ not only with KOMA-Script classes but also with the standard classes.")
"0vd90wdjwj5w4g4xka4nms3rgixjw63iwf0hj0v1akcfflwvgn69"))) "0vd90wdjwj5w4g4xka4nms3rgixjw63iwf0hj0v1akcfflwvgn69")))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (build-system texlive-build-system)
(propagated-inputs (arguments (list #:texlive-latex-bin? #f))
(list texlive-iftex texlive-infwarerr texlive-ltxcmds)) (native-inputs (list texlive-docstrip texlive-pdftex))
(home-page "https://ctan.org/pkg/atbegshi") (home-page "https://ctan.org/pkg/atbegshi")
(synopsis "Execute commands at @code{\\shipout} time") (synopsis "Execute commands at @code{\\shipout} time")
(description (description
@ -12422,8 +12386,37 @@ compatibility reasons.")
"11y6xazv1nk0m2hzsainjr8ijn5cff04xfccm6a65hzg7ipggraj"))) "11y6xazv1nk0m2hzsainjr8ijn5cff04xfccm6a65hzg7ipggraj")))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system texlive-build-system) (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 (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") (home-page "https://ctan.org/pkg/everyshi")
(synopsis "Take action at every @code{\\shipout}") (synopsis "Take action at every @code{\\shipout}")
(description (description

View file

@ -88,24 +88,24 @@ level package ID."
(let ((tex-mod (resolve-interface '(gnu packages tex)))) (let ((tex-mod (resolve-interface '(gnu packages tex))))
(module-ref tex-mod 'texlive-bin))) (module-ref tex-mod 'texlive-bin)))
(define (default-texlive-latex-base) (define (texlive-latex-bin)
"Return the default texlive-latex-base package." "Return the default texlive-latex-bin package."
;; Lazily resolve the binding to avoid a circular dependency. ;; Lazily resolve the binding to avoid a circular dependency.
(let ((tex-mod (resolve-interface '(gnu packages tex)))) (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 (define* (lower name
#:key #:key
source inputs native-inputs outputs source inputs native-inputs outputs
system target system target
(texlive-latex-base (default-texlive-latex-base)) (texlive-latex-bin? #true)
(texlive-bin (default-texlive-bin)) (texlive-bin (default-texlive-bin))
#:allow-other-keys #:allow-other-keys
#:rest arguments) #:rest arguments)
"Return a bag for NAME." "Return a bag for NAME."
(define private-keywords (define private-keywords
'(#:target #:inputs #:native-inputs '(#:target #:inputs #:native-inputs
#:texlive-latex-base #:texlive-bin)) #:texlive-latex-bin? #:texlive-bin))
(bag (bag
(name name) (name name)
@ -118,8 +118,8 @@ level package ID."
;; Keep the standard inputs of 'gnu-build-system'. ;; Keep the standard inputs of 'gnu-build-system'.
,@(standard-packages))) ,@(standard-packages)))
(build-inputs `(("texlive-bin" ,texlive-bin) (build-inputs `(("texlive-bin" ,texlive-bin)
,@(if texlive-latex-base ,@(if texlive-latex-bin?
`(("texlive-latex-base" ,texlive-latex-base)) `(("texlive-latex-bin" ,(texlive-latex-bin)))
'()) '())
,@native-inputs)) ,@native-inputs))
(outputs outputs) (outputs outputs)