Hi Ricardo,
> The correct solution to this problem would be to add a little build
> cycle: build a bootstrap version of pdflatex (and the other formats) so
> that we can build babel; then rebuild pdflatex (and all the other
> formats, and everything that goes into texlive-latex-base) in an
> environment where babel exists.
indeed, adding this package variation to the manifest fixed the issue for me:
---snip---
(define-public texlive-latex-base-fixed
(package
(inherit texlive-latex-base)
(name "texlive-latex-base-fixed")
(propagated-inputs (modify-inputs (package-propagated-inputs
texlive-latex-base)
(append texlive-babel)))))
---snap---
Looking at `guix refresh -l texlive-latex-base` a change like that would
be a world rebuild though. I tried adding something similar to
Guix’ tree, but there’s a loop somewhere I can’t figure out
(see attached patch). I’m guessing through texlive-build-system’s
#:texlive-latex-base.
Cheers,
Lars
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 4831cf0933..703846a1ad 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -2943,9 +2943,9 @@ (define-public texlive-latexconfig
formats.")
(license license:lppl)))
-(define-public texlive-latex-base
+(define-public texlive-latex-base-bootstrap
(let ((template (simple-texlive-package
- "texlive-latex-base"
+ "texlive-latex-base-bootstrap"
(list "/doc/latex/base/"
"/source/latex/base/"
;; Almost all files in /tex/latex/base are generated,
but
@@ -3174,6 +3174,18 @@ (define-public texlive-latex-base
contain.")
(license license:lppl1.3c+))))
+(define-public texlive-latex-base
+ (let ((base texlive-latex-base-bootstrap))
+ (package
+ (inherit base)
+ (name "texlive-latex-base")
+ (arguments
+ `(#:texlive-latex-base texlive-latex-base-bootstrap
+ ,@(package-arguments base)))
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs base)
+ (append texlive-babel))))))
+
(define-public texlive-latex-atveryend
(package
(inherit (simple-texlive-package