guix_mirror_bot pushed a commit to branch tex-team
in repository guix.

commit e70f9e1631a361128dc22b2fd7e4f6c87b9dbd7f
Author: Nicolas Goaziou <[email protected]>
AuthorDate: Tue Jul 14 20:06:40 2026 +0200

    gnu: texlive: Use libfaketime also on 32-bit systems.
    
    * guix/build/texlive-build-system.scm (create-formats): Call "faketime"
    independently on the target system.
    * gnu/packages/tex.scm (texlive-aleph):
    (texlive-amstex):
    (texlive-eplain):
    (texlive-hitex):
    (texlive-lollipop):
    (texlive-mex):
    (texlive-mltex):
    (texlive-texsis):
    (texlive-platex):
    (texlive-ptex):
    (texlive-tex):
    (texlive-uplatex):
    (texlive-uptex):
    (texlive-luajittex):
    (texlive-mflua):
    (texlive-mptopdf):
    (texlive-cslatex):
    (texlive-latex-bin):
    (texlive-xmltex):
    (texlive-luatex):
    (texlive-luahbtex):
    (texlive-csplain):
    (texlive-jadetex):
    (texlive-pdftex):
    (texlive-optex):
    (texlive-context-legacy):
    (texlive-everyshi):
    (texlive-xetex)[native-inputs]: Use libfaketime even on 32-bit systems.
    
    Fixes: #5712
---
 gnu/packages/tex.scm                | 56 ++++++++++++++++++-------------------
 guix/build/texlive-build-system.scm | 15 +++-------
 2 files changed, 32 insertions(+), 39 deletions(-)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index ebe57d1bdb..3973dc064c 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -2497,7 +2497,7 @@ number styles are available.")
     (outputs '("out" "doc"))
     (build-system texlive-build-system)
     (arguments (list #:create-formats #~(list "aleph")))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-aleph-bin
            texlive-cm
@@ -3139,7 +3139,7 @@ create a bibliography.")
                      (mkdir-p bin)
                      (with-directory-excursion bin
                        (symlink pdftex "amstex"))))))))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-amsfonts
            texlive-cm
@@ -17265,7 +17265,7 @@ Cosmetica font, which is a similar design to Optima and 
includes Greek.")
                      (mkdir-p bin)
                      (with-directory-excursion bin
                        (symlink pdftex "eplain"))))))))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-babel
            texlive-cm
@@ -22382,7 +22382,7 @@ Indian Type Foundry, with support for LaTeX and 
pdfLaTeX.")
     (outputs '("out" "doc"))
     (build-system texlive-build-system)
     (arguments (list #:create-formats #~(list "hilatex" "hitex")))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-cm
            texlive-etex
@@ -27223,7 +27223,7 @@ Etalab 2.0} vector logo.")
                      (mkdir-p bin)
                      (with-directory-excursion bin
                        (symlink tex "lollipop"))))))))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs (list texlive-cm texlive-hyphen-base texlive-tex))
     (home-page "https://ctan.org/pkg/lollipop";)
     (synopsis "TeX made easy")
@@ -29352,7 +29352,7 @@ with symbols, giving automatic alignment.")
                        (symlink pdftex "mex")
                        (symlink pdftex "pdfmex")
                        (symlink pdftex "utf8mex"))))))))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-enctex
            texlive-hyphen-complete
@@ -29758,7 +29758,7 @@ avoids the spindliness of most other Type 1 versions of 
Computer Modern.")
                      (with-directory-excursion bin
                        (symlink pdftex "mllatex")
                        (symlink pdftex "mltex"))))))))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-babel
            texlive-cm
@@ -40247,7 +40247,7 @@ produces.")
                      (mkdir-p bin)
                      (with-directory-excursion bin
                        (symlink pdftex "texsis"))))))))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-cm
            texlive-hyphen-base
@@ -49289,7 +49289,7 @@ LaTeX packages use of @samp{@@@@}) in nested package 
files.")
                      (mkdir-p bin)
                      (with-directory-excursion bin
                        (symlink euptex "platex"))))))))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-babel
            texlive-cm
@@ -49554,7 +49554,7 @@ their specific needs.")
     (outputs '("out" "doc"))
     (build-system texlive-build-system)
     (arguments (list #:create-formats #~(list "eptex" "ptex")))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-cm
            texlive-etex
@@ -50444,7 +50444,7 @@ of the fonts used in printers shops in Lispia.")
     (arguments
      (list #:texlive-latex-bin? #f
            #:create-formats #~(list "tex")))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-cm
            texlive-hyphen-base
@@ -50811,7 +50811,7 @@ LaTeX work (partially).")
                      (mkdir-p bin)
                      (with-directory-excursion bin
                        (symlink euptex "uplatex"))))))))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-babel
            texlive-cm
@@ -50883,7 +50883,7 @@ and e-upTeX.")
     (outputs '("out" "doc"))
     (build-system texlive-build-system)
     (arguments (list #:create-formats #~(list "euptex" "uptex")))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-cm
            texlive-etex
@@ -53017,7 +53017,7 @@ environments and another with all extracted 
environments converted to
            #~(and (not #$(or (target-ppc64le?)
                              (target-riscv64?)))
                   (list "luajithbtex" "luajittex"))))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-cm
            texlive-etex
@@ -53171,7 +53171,7 @@ for the regular font.")
                 "0xxyry3xrs4pq2slqfcgp0y3v2d4mx6mdcrg9l94vzdsyqkmazws"))))
     (build-system texlive-build-system)
     (arguments (list #:create-formats #~(list "mflua")))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs (list texlive-luatex texlive-metafont 
texlive-mflua-bin))
     (home-page "https://ctan.org/pkg/mflua";)
     (synopsis "Configuration and base files for MFLua")
@@ -54240,7 +54240,7 @@ information in the TFM file.")
               (let ((perl (search-input-file inputs "/bin/perl")))
                 (substitute* "scripts/context/perl/mptopdf.pl"
                   (("exec perl") (string-append "exec " perl)))))))))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (inputs (list perl))
     (propagated-inputs (list texlive-pdftex texlive-plain))
     (home-page "https://ctan.org/pkg/mptopdf";)
@@ -54846,7 +54846,7 @@ see the structure of a document by looking at the 
source file of the manual.")
               (substitute* "source/cslatex/base/cslatex.ins"
                 (("\\keepsilent\n" all)
                  (string-append all "\\askforoverwritefalse\n"))))))))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-atbegshi
            texlive-atveryend
@@ -63557,7 +63557,7 @@ formats.")
                   (symlink pdftex "latex")
                   (symlink luahbtex "lualatex")
                   (symlink pdftex "pdflatex"))))))))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-babel
            texlive-cm
@@ -64578,7 +64578,7 @@ MusiXTeX processing.")
                 (mkdir-p (string-append #$output "/bin"))
                 (symlink pdftex (string-append #$output "/bin/xmltex"))
                 (symlink pdftex (string-append #$output 
"/bin/pdfxmltex"))))))))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-babel
            texlive-cm
@@ -66180,7 +66180,7 @@ iterate, apply, etc., to the table.")
       #:texlive-latex-bin? #f
       #:create-formats #~(list "dviluatex" "luatex")))
     (native-inputs
-     (list (if (target-64bit?) libfaketime datefudge)
+     (list libfaketime
            texlive-kpathsea))
     (propagated-inputs
      (list texlive-cm
@@ -66306,7 +66306,7 @@ Either of the Plain and LaTeX2e formats may be used 
with the package.")
       #:texlive-latex-bin? #f
       #:create-formats #~(list "luahbtex")))
     (native-inputs
-     (list (if (target-64bit?) libfaketime datefudge)
+     (list libfaketime
            texlive-kpathsea))
     (propagated-inputs
      (list texlive-cm
@@ -67095,7 +67095,7 @@ a beginner-friendly template example.")
                        (symlink pdftex "pdfcsplain")
                        (symlink luatex "luacsplain"))))))))
     (native-inputs
-     (list (if (target-64bit?) libfaketime datefudge)
+     (list libfaketime
            texlive-xetex))
     (propagated-inputs
      (list texlive-cm
@@ -76599,7 +76599,7 @@ light and condensed versions, and the creation of 
multiple math versions.")
                 (with-directory-excursion bin
                   (symlink pdftex "jadetex")
                   (symlink pdftex "pdfjadetex"))))))))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-amsfonts
            texlive-babel
@@ -77520,7 +77520,7 @@ e-TeX.")
                       (string-append prefix
                                      #$(this-package-input "ghostscript")
                                      "/bin\"\n"))))))))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (inputs (list ghostscript))
     (propagated-inputs
      (list texlive-cm
@@ -78032,7 +78032,7 @@ and back-ends.  It also ensures compatibility with the 
@code{media9} and
                      (mkdir-p bin)
                      (with-directory-excursion bin
                        (symlink luahbtex "optex"))))))))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-amsfonts
            texlive-cm
@@ -79890,7 +79890,7 @@ to make the correct sequence of sections of a book 
block visible.")
     (arguments
      (list #:link-scripts #~(list "texexec.rb" "texmfstart.rb")
            #:create-formats #~(list "cont-en")))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)
+    (native-inputs (list libfaketime
                          texlive-xetex))
     (inputs (list ruby))
     (propagated-inputs (list texlive-amsfonts
@@ -97187,7 +97187,7 @@ compatibility reasons.")
             (lambda _
               (delete-file-recursively "web2c"))))))
     (native-inputs
-     (list (if (target-64bit?) libfaketime datefudge)
+     (list libfaketime
            texlive-firstaid
            texlive-l3kernel
            texlive-l3packages
@@ -98111,7 +98111,7 @@ used in DVI files.")
     (arguments
      (list #:link-scripts #~(list "xelatex-unsafe.sh" "xetex-unsafe.sh")
            #:create-formats #~(list "xelatex" "xetex")))
-    (native-inputs (list (if (target-64bit?) libfaketime datefudge)))
+    (native-inputs (list libfaketime))
     (propagated-inputs
      (list texlive-babel
            texlive-cm
diff --git a/guix/build/texlive-build-system.scm 
b/guix/build/texlive-build-system.scm
index ab731d35aa..b3f3d9ad75 100644
--- a/guix/build/texlive-build-system.scm
+++ b/guix/build/texlive-build-system.scm
@@ -205,18 +205,11 @@ generation also needs to be wrapped within a `faketime' 
call in the
             (string-join (collect-locations inputs "\\.lua$") ":"))
     (mkdir-p "web2c")
     ;; The ".fmt" format files contain timestamps.  Reset them.
-    ;;
-    ;; XXX: At the moment 32bit systems do not support "faketime" (see
-    ;; <https://issues.guix.gnu.org/72239>), so accept "datefudge" for them.
-    (let* ((inputs (or native-inputs inputs))
-           (command
-            (cond
-             ((assoc-ref inputs "libfaketime") "faketime")
-             ((assoc-ref inputs "datefudge") "datefudge")
-             (else
-              (error "Missing 'libfaketime' or 'datefudge' native input")))))
+    (let ((inputs (or native-inputs inputs)))
+      (unless (assoc-ref inputs "libfaketime")
+        (error "Missing 'libfaketime' native input"))
       (for-each (cut invoke
-                     command "1970-01-01T00:00:00+00:00"
+                     "faketime" "1970-01-01T00:00:00+00:00"
                      "fmtutil-sys" "--byfmt" <> "--fmtdir=web2c")
                 create-formats))
     ;; Remove cruft.

Reply via email to