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