diff mbox series

[bug#47182,10/18] gnu: texlive-bin: Fix compilation on powerpc64le*.

Message ID 20210316064511.2891553-10-cmmarusich@gmail.com
State Accepted
Headers show
Series Add support for powerpc64le-linux (wip-ppc64le-for-master) | expand

Checks

Context Check Description
cbaines/submitting builds success
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Christopher Marusich March 16, 2021, 6:45 a.m. UTC
From: Leo Le Bouter <lle-bout@zaclys.net>

* gnu/packages/tex.scm (texlive-bin)[arguments]: Append "--disable-luajittex"
and "--disable-mfluajit" to keyword argument "#:configure-flags" on
powerpc64le* because LuaJIT is not ported to powerpc64le* yet. Also set
"#:tests?" to "#f" on powerpc64le*.

Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
---
 gnu/packages/tex.scm | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

Comments

Efraim Flashner March 16, 2021, 7:53 a.m. UTC | #1
On Mon, Mar 15, 2021 at 11:45:03PM -0700, Chris Marusich wrote:
> From: Leo Le Bouter <lle-bout@zaclys.net>
> 
> * gnu/packages/tex.scm (texlive-bin)[arguments]: Append "--disable-luajittex"
> and "--disable-mfluajit" to keyword argument "#:configure-flags" on
> powerpc64le* because LuaJIT is not ported to powerpc64le* yet. Also set
> "#:tests?" to "#f" on powerpc64le*.
> 
> Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
> ---
>  gnu/packages/tex.scm | 20 +++++++++++++++-----
>  1 file changed, 15 insertions(+), 5 deletions(-)
> 
> diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
> index c0f4ff0fcdc..508537acdaf 100644
> --- a/gnu/packages/tex.scm
> +++ b/gnu/packages/tex.scm
> @@ -15,6 +15,7 @@
>  ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
>  ;;; Copyright © 2020, 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
>  ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
> +;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -342,14 +343,23 @@ files from LOCATIONS with expected checksum HASH.  CODE is not currently in use.
>           "--with-system-teckit"
>           "--with-system-xpdf"
>           "--with-system-zlib"
> -         "--with-system-zziplib")
> -
> -      ;; Disable tests on mips64/aarch64 to cope with a failure of luajiterr.test.
> -      ;; XXX FIXME fix luajit properly on mips64 and aarch64.
> +         "--with-system-zziplib"
> +         ;; LuaJIT is not ported to powerpc64le* yet.
> +         ,@(if (string-prefix? "powerpc64le" (or (%current-target-system)
> +                                                 (%current-system)))
> +               '("--disable-luajittex"
> +                 "--disable-mfluajit")
> +               '()))
> +
> +      ;; Disable tests on some architectures to cope with a failure of
> +      ;; luajiterr.test.
> +      ;; XXX FIXME fix luajit properly on these architectures.
>        #:tests? ,(let ((s (or (%current-target-system)
>                               (%current-system))))
>                    (not (or (string-prefix? "aarch64" s)
> -                           (string-prefix? "mips64" s))))
> +                           (string-prefix? "mips64" s)
> +                           (string-prefix? "powerpc64le" s))))
> +

we can probably change this to use cute in core-updates. I don't know if
changing it here will cause rebuilds on aarch64.

>        #:phases
>        (modify-phases %standard-phases
>          (add-after 'unpack 'configure-ghostscript-executable
> -- 
> 2.26.2
> 
> 
> 
>
Christopher Marusich March 18, 2021, 6:16 a.m. UTC | #2
Efraim Flashner <efraim@flashner.co.il> writes:

>>        #:tests? ,(let ((s (or (%current-target-system)
>>                               (%current-system))))
>>                    (not (or (string-prefix? "aarch64" s)
>> -                           (string-prefix? "mips64" s))))
>> +                           (string-prefix? "mips64" s)
>> +                           (string-prefix? "powerpc64le" s))))
>> +
>
> we can probably change this to use cute in core-updates. I don't know if
> changing it here will cause rebuilds on aarch64.

The result of unquoting the expression will be either #t or #f,
depending on the system.  For an aarch64 system, the string s hasn't
changed (it'll still start with "aarch64", right?).  Therefore, my
understanding is that this change here will not alter the package
definition; it will still say "#:tests? #f", just like it did before, on
an aarch64 system.  Is there something else I'm missing?
Efraim Flashner March 18, 2021, 8:34 a.m. UTC | #3
On Wed, Mar 17, 2021 at 11:16:07PM -0700, Chris Marusich wrote:
> Efraim Flashner <efraim@flashner.co.il> writes:
> 
> >>        #:tests? ,(let ((s (or (%current-target-system)
> >>                               (%current-system))))
> >>                    (not (or (string-prefix? "aarch64" s)
> >> -                           (string-prefix? "mips64" s))))
> >> +                           (string-prefix? "mips64" s)
> >> +                           (string-prefix? "powerpc64le" s))))
> >> +
> >
> > we can probably change this to use cute in core-updates. I don't know if
> > changing it here will cause rebuilds on aarch64.
> 
> The result of unquoting the expression will be either #t or #f,
> depending on the system.  For an aarch64 system, the string s hasn't
> changed (it'll still start with "aarch64", right?).  Therefore, my
> understanding is that this change here will not alter the package
> definition; it will still say "#:tests? #f", just like it did before, on
> an aarch64 system.  Is there something else I'm missing?
> 

I like the way it looks better if we use something like

#:tests? ,(if (any (cute string-prefix? <> (or (%current-target-system)
                                               (%current-system)))
                   '("aarch64" "powerpc64le" "mips64"))
            '#f '#t)
Christopher Marusich March 19, 2021, 6:22 a.m. UTC | #4
Efraim Flashner <efraim@flashner.co.il> writes:

> On Wed, Mar 17, 2021 at 11:16:07PM -0700, Chris Marusich wrote:
>> Efraim Flashner <efraim@flashner.co.il> writes:
>> 
>> >>        #:tests? ,(let ((s (or (%current-target-system)
>> >>                               (%current-system))))
>> >>                    (not (or (string-prefix? "aarch64" s)
>> >> -                           (string-prefix? "mips64" s))))
>> >> +                           (string-prefix? "mips64" s)
>> >> +                           (string-prefix? "powerpc64le" s))))
>> >> +
>> >
>> > we can probably change this to use cute in core-updates. I don't know if
>> > changing it here will cause rebuilds on aarch64.
>> 
>> The result of unquoting the expression will be either #t or #f,
>> depending on the system.  For an aarch64 system, the string s hasn't
>> changed (it'll still start with "aarch64", right?).  Therefore, my
>> understanding is that this change here will not alter the package
>> definition; it will still say "#:tests? #f", just like it did before, on
>> an aarch64 system.  Is there something else I'm missing?
>> 
>
> I like the way it looks better if we use something like
>
> #:tests? ,(if (any (cute string-prefix? <> (or (%current-target-system)
>                                                (%current-system)))
>                    '("aarch64" "powerpc64le" "mips64"))
>             '#f '#t)

Both forms achieve the same result.  I honestly think either would be
fine.  Therefore, I don't intend to change the commit corresponding to
this specific patch.  However, if you went and changed it per above, I
wouldn't mind at all.
diff mbox series

Patch

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index c0f4ff0fcdc..508537acdaf 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -15,6 +15,7 @@ 
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2020, 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -342,14 +343,23 @@  files from LOCATIONS with expected checksum HASH.  CODE is not currently in use.
          "--with-system-teckit"
          "--with-system-xpdf"
          "--with-system-zlib"
-         "--with-system-zziplib")
-
-      ;; Disable tests on mips64/aarch64 to cope with a failure of luajiterr.test.
-      ;; XXX FIXME fix luajit properly on mips64 and aarch64.
+         "--with-system-zziplib"
+         ;; LuaJIT is not ported to powerpc64le* yet.
+         ,@(if (string-prefix? "powerpc64le" (or (%current-target-system)
+                                                 (%current-system)))
+               '("--disable-luajittex"
+                 "--disable-mfluajit")
+               '()))
+
+      ;; Disable tests on some architectures to cope with a failure of
+      ;; luajiterr.test.
+      ;; XXX FIXME fix luajit properly on these architectures.
       #:tests? ,(let ((s (or (%current-target-system)
                              (%current-system))))
                   (not (or (string-prefix? "aarch64" s)
-                           (string-prefix? "mips64" s))))
+                           (string-prefix? "mips64" s)
+                           (string-prefix? "powerpc64le" s))))
+
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'configure-ghostscript-executable