Subject: [PATCH core-updates-frozen v3] gnu: texlive-texmf: Disable LuaJIT engines on powerpc64le

From: Thiago Jung Bauermann <[email-masked]>
Date: Thu, 19 Aug 2021 21:47:15 -0300

LuaJIT isn’t ported to 64-bit PowerPC. ‘texlive-bin’ and
‘texlive-latex-base’ already disable the engines that rely on it, so just
do the same in texlive-texmf.

Fix suggested by Mathieu Othacehe <[email-masked]>.

Also, for consistency use ‘target-ppc64le’ in ‘texlive-bin’ as well.

* gnu/packages/tex.scm (texlive-bin)[arguments]<#:configure-flags>: Use
‘target-ppc64le’.
(texlive-texmf)[arguments]<#:phases>{texmf-config}:
Disable LuaJIT engines when building for powerpc64le.
---

Hello,

This fixes the build of ‘texlive-texmf’ on powerpc64le. It was failing
with these errors:

  fmtutil [ERROR]: not building luajittex due to missing engine: luajittex
  fmtutil [ERROR]: not building luajithbtex due to missing engine: luajithbtex

Thank you very much to Mathieu for his help in making  this work.

Changes since v2:
- Use ‘target-ppc64le?’ to match target string.
- Change ‘texlive-bin’ to also use ‘target-ppc64le?’.

Changes since v1:
- Match target with “powerpc64” prefix rather than “powerpc64le”.

 gnu/packages/tex.scm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 4500f1929264..9ec015482808 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -339,8 +339,7 @@ files from LOCATIONS with expected checksum HASH.  CODE is not currently in use.
          "--with-system-zlib"
          "--with-system-zziplib"
          ;; LuaJIT is not ported to powerpc64le* yet.
-         ,@(if (string-prefix? "powerpc64le" (or (%current-target-system)
-                                                 (%current-system)))
+         ,@(if (target-ppc64le?)
                '("--disable-luajittex"
                  "--disable-luajithbtex"
                  "--disable-mfluajit")
@@ -6829,9 +6828,15 @@ directly generate PDF documents instead of DVI.")
                      (share (string-append out "/share"))
                      (texmfroot (string-append share "/texmf-dist/web2c"))
                      (texmfcnf (string-append texmfroot "/texmf.cnf"))
+                     (fmtutilcnf (string-append texmfroot "/fmtutil.cnf"))
                      (texlive-bin (assoc-ref inputs "texlive-bin"))
                      (texbin (string-append texlive-bin "/bin"))
                      (tlpkg (string-append texlive-bin "/share/tlpkg")))
+                ;; LuaJIT is not ported to powerpc64* yet.
+                (if ,(target-ppc64le?)
+                    (substitute* fmtutilcnf
+                      (("^(luajittex|luajithbtex|mfluajit)" m)
+                       (string-append "#! " m))))
                 ;; Register SHARE as TEXMFROOT in texmf.cnf.
                 (substitute* texmfcnf
                   (("TEXMFROOT = \\$SELFAUTOPARENT")