Subject: bug#33094: latex-koma-script: scrlttr2: ERROR: Argument of \strip@prefix has an extra }.

From: Lars-Dominik Braun <[email-masked]>
Date: Sun, 5 Jun 2022 12:25:36 +0200

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