[core-updates-frozen] [PATCH] gnu: libunwind-julia: Fix build on i686-linux.

DoneSubmitted by zimoun.
Details
2 participants
  • Efraim Flashner
  • zimoun
Owner
unassigned
Severity
normal
Z
Z
zimoun wrote on 29 Nov 2021 19:21
(address . guix-patches@gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20211129182108.54695-1-zimon.toutoune@gmail.com
* gnu/packages/julia.scm (libunwind)[origin]<patches>: Add patch.
* gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: New file.
* gnu/local/mk (dist_patch_DATA): Register it.
---
gnu/local.mk | 1 +
gnu/packages/julia.scm | 18 +++++----
...libunwind-julia-fix-GCC10-fno-common.patch | 40 +++++++++++++++++++
3 files changed, 52 insertions(+), 7 deletions(-)
create mode 100644 gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch

Toggle diff (91 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 604c6cf151..6e71ad404e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1386,6 +1386,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/libtirpc-hurd.patch			\
   %D%/packages/patches/libtommath-fix-linkage.patch		\
   %D%/packages/patches/libtool-skip-tests2.patch		\
+  %D%/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch \
   %D%/packages/patches/libusb-0.1-disable-tests.patch		\
   %D%/packages/patches/libusb-for-axoloti.patch			\
   %D%/packages/patches/libutils-add-includes.patch		\
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index 83aa8b1099..17f4a9a169 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -71,13 +71,17 @@ (define libunwind-julia
         (base32
          "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3"))
        (patches
-        (list
-         (julia-patch "libunwind-prefer-extbl"
-                      "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m1")
-         (julia-patch "libunwind-static-arm"
-                      "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq")
-         (julia-patch "libunwind-cfa-rsp"
-                      "1aswjhvysahhldbzh1afbf0hsjxrvs6xidsz2i7s1cjkjbdiia1z")))))
+        (append
+            ;; Fix linker issue for i686-linux because GCC10 changed default
+            ;; (see '-fno-common' option).
+            (search-patches "libunwind-julia-fix-GCC10-fno-common.patch")
+            (list
+             (julia-patch "libunwind-prefer-extbl"
+                          "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m1")
+             (julia-patch "libunwind-static-arm"
+                          "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq")
+             (julia-patch "libunwind-cfa-rsp"
+                          "1aswjhvysahhldbzh1afbf0hsjxrvs6xidsz2i7s1cjkjbdiia1z"))))))
     (home-page "https://github.com/JuliaLang/tree/master/deps/")))
 
 (define (julia-patch-url version name)
diff --git a/gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch b/gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch
new file mode 100644
index 0000000000..8ef4b111e4
--- /dev/null
+++ b/gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch
@@ -0,0 +1,40 @@
+Fix compilation with -fno-common.
+
+Borrowed from upstream 29e17d8d2ccbca07c423e3089a6d5ae8a1c9cb6e.
+Author:     Yichao Yu <yyc1992@gmail.com>
+AuthorDate: Tue Mar 31 00:43:32 2020 -0400
+Commit:     Dave Watson <dade.watson@gmail.com>
+CommitDate: Tue Mar 31 08:06:29 2020 -0700
+
+diff --git a/src/x86/Ginit.c b/src/x86/Ginit.c
+index f6b8dc2..9550efa 100644
+--- a/src/x86/Ginit.c
++++ b/src/x86/Ginit.c
+@@ -54,13 +54,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
+ 
+ # endif /* UNW_LOCAL_ONLY */
+ 
+-HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
+-
+-/* XXX fix me: there is currently no way to locate the dyn-info list
+-       by a remote unwinder.  On ia64, this is done via a special
+-       unwind-table entry.  Perhaps something similar can be done with
+-       DWARF2 unwind info.  */
+-
+ static void
+ put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
+ {
+@@ -71,7 +64,12 @@ static int
+ get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
+                         void *arg)
+ {
+-  *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
++#ifndef UNW_LOCAL_ONLY
++# pragma weak _U_dyn_info_list_addr
++  if (!_U_dyn_info_list_addr)
++    return -UNW_ENOINFO;
++#endif
++  *dyn_info_list_addr = _U_dyn_info_list_addr ();
+   return 0;
+ }
+ 

base-commit: f22dfba53032c59fb260173143abf0e4e9a4f1e1
-- 
2.32.0
Z
Z
zimoun wrote on 29 Nov 2021 19:51
Re: bug#52186: [core-updates-frozen] Fix julia on i686-linux
(address . 52186@debbugs.gnu.org)
87r1ayre0h.fsf@gmail.com
Hi,

This patch fixes all broken Julia on i686 for core-updates-frozen.


On Mon, 29 Nov 2021 at 19:21, zimoun <zimon.toutoune@gmail.com> wrote:

Toggle quote (20 lines)
> diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
> index 83aa8b1099..17f4a9a169 100644
> --- a/gnu/packages/julia.scm
> +++ b/gnu/packages/julia.scm
> @@ -71,13 +71,17 @@ (define libunwind-julia
> (base32
> "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3"))
> (patches
> - (list
> - (julia-patch "libunwind-prefer-extbl"
> - "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m1")
> - (julia-patch "libunwind-static-arm"
> - "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq")
> - (julia-patch "libunwind-cfa-rsp"
> - "1aswjhvysahhldbzh1afbf0hsjxrvs6xidsz2i7s1cjkjbdiia1z")))))
> + (append
> + ;; Fix linker issue for i686-linux because GCC10 changed default
> + ;; (see '-fno-common' option).
> + (search-patches "libunwind-julia-fix-GCC10-fno-common.patch")

Here, the patch could be conditionally applied depending on the
architecture. It would avoid to rebuild all Julia packages for x86_64.
Although, they are not broke, I guess. ;-)

Let me know or please go ahead. :-)


Cheers,
simon
Z
Z
zimoun wrote on 1 Dec 2021 16:52
[core-updates-frozen PATCH v2 00/17] Fix Julia on i686-linux.
(address . 52186@debbugs.gnu.org)
20211201155256.60788-1-zimon.toutoune@gmail.com
Hi,

This series allow the julia package itself to build on i686-linux. Then, it
fixes julia-* packages for i686-linux. Note that julia and julia-* are
currently broken on master for i686-linux.

Both julia and julia-* are not impacted on x86_64 by these changes.

These packages are still broken…

/gnu/store/h97dzpkn7h4fxhl8xag8s7cfypg1l96d-julia-sundials-jll-5.2.1+0.drv
/gnu/store/q489ygk7y0y3xxcyi1c72c9lwrvgkfvd-sundials-julia-5.2.0.drv
/gnu/store/7g5443kq028lv44f0kdj5p14w5xcx9c4-julia-pyplot-2.10.0.drv
/gnu/store/iy5liqrkdlvvx6bmiczxxi5zmyj4999v-julia-pycall-1.92.5.drv
/gnu/store/x2na68r5qbyhnilmqpi50sr3iwf9y2fd-julia-gr-0.58.1.drv

…but, IMHO, they can wait another round. Only pycall (so pyplot) and gr are
failing on core-updates-frozen only. The 2 other (sundials) are currently
broken on master.


Cheers,
simon



zimoun (17):
gnu: libunwind-julia: Fix build on i686-linux.
gnu: julia-datastructures: Fix tests on i686-linux.
gnu: julia-benchmarktools: Fix tests on i686-linux.
gnu: julia-finitedifferences: Fix tests on i686-linux.
gnu: julia-configurations: Fix tests on i686-linux.
gnu: julia-lazyarrays: Fix tests on i686-linux.
gnu: julia-blockarrays: Fix tests on i686-linux.
gnu: julia-mappedarrays: Fix tests on i686-linux.
gnu: julia-arrayinterface: Disable tests for i686.
gnu: julia-interpolations: Disable tests in i686-linux.
gnu: julia-reversediff: Disable tests on i686-linux.
gnu: julia-intervalsets: Fix tests on i686-linux.
gnu: julia-woodburymatrices: Fix tests on i686-linux.
gnu: julia-mutablearithmetics: Fix tests on i686-linux.
gnu: julia-structarrays: Fix tests on i686-linux.
gnu: julia-geometrybasics: Fix tests on i686-linux.
gnu: julia-forwarddiff: Disable tests on i686-linux.

gnu/local.mk | 1 +
gnu/packages/julia-xyz.scm | 189 +++++++++++++++++-
gnu/packages/julia.scm | 18 +-
...libunwind-julia-fix-GCC10-fno-common.patch | 40 ++++
4 files changed, 232 insertions(+), 16 deletions(-)
create mode 100644 gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch


base-commit: 68d090002a1a5623494006fca3e2c2c97d3ff676
--
2.32.0
Z
Z
zimoun wrote on 1 Dec 2021 16:53
[core-updates-frozen PATCH v2 01/17] gnu: libunwind-julia: Fix build on i686-linux.
(address . 52186@debbugs.gnu.org)
20211201155355.60845-1-zimon.toutoune@gmail.com
* gnu/packages/julia.scm (libunwind)[origin]<patches>: Add patch.
* gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: New file.
* gnu/local/mk (dist_patch_DATA): Register it.
---
gnu/local.mk | 1 +
gnu/packages/julia.scm | 18 +++++----
...libunwind-julia-fix-GCC10-fno-common.patch | 40 +++++++++++++++++++
3 files changed, 52 insertions(+), 7 deletions(-)
create mode 100644 gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch

Toggle diff (89 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 2fc05ba703..ae024484c5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1388,6 +1388,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/libtirpc-hurd.patch			\
   %D%/packages/patches/libtommath-fix-linkage.patch		\
   %D%/packages/patches/libtool-skip-tests2.patch		\
+  %D%/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch \
   %D%/packages/patches/libusb-0.1-disable-tests.patch		\
   %D%/packages/patches/libusb-for-axoloti.patch			\
   %D%/packages/patches/libutils-add-includes.patch		\
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index 83aa8b1099..17f4a9a169 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -71,13 +71,17 @@ (define libunwind-julia
         (base32
          "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3"))
        (patches
-        (list
-         (julia-patch "libunwind-prefer-extbl"
-                      "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m1")
-         (julia-patch "libunwind-static-arm"
-                      "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq")
-         (julia-patch "libunwind-cfa-rsp"
-                      "1aswjhvysahhldbzh1afbf0hsjxrvs6xidsz2i7s1cjkjbdiia1z")))))
+        (append
+            ;; Fix linker issue for i686-linux because GCC10 changed default
+            ;; (see '-fno-common' option).
+            (search-patches "libunwind-julia-fix-GCC10-fno-common.patch")
+            (list
+             (julia-patch "libunwind-prefer-extbl"
+                          "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m1")
+             (julia-patch "libunwind-static-arm"
+                          "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq")
+             (julia-patch "libunwind-cfa-rsp"
+                          "1aswjhvysahhldbzh1afbf0hsjxrvs6xidsz2i7s1cjkjbdiia1z"))))))
     (home-page "https://github.com/JuliaLang/tree/master/deps/")))
 
 (define (julia-patch-url version name)
diff --git a/gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch b/gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch
new file mode 100644
index 0000000000..8ef4b111e4
--- /dev/null
+++ b/gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch
@@ -0,0 +1,40 @@
+Fix compilation with -fno-common.
+
+Borrowed from upstream 29e17d8d2ccbca07c423e3089a6d5ae8a1c9cb6e.
+Author:     Yichao Yu <yyc1992@gmail.com>
+AuthorDate: Tue Mar 31 00:43:32 2020 -0400
+Commit:     Dave Watson <dade.watson@gmail.com>
+CommitDate: Tue Mar 31 08:06:29 2020 -0700
+
+diff --git a/src/x86/Ginit.c b/src/x86/Ginit.c
+index f6b8dc2..9550efa 100644
+--- a/src/x86/Ginit.c
++++ b/src/x86/Ginit.c
+@@ -54,13 +54,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
+ 
+ # endif /* UNW_LOCAL_ONLY */
+ 
+-HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
+-
+-/* XXX fix me: there is currently no way to locate the dyn-info list
+-       by a remote unwinder.  On ia64, this is done via a special
+-       unwind-table entry.  Perhaps something similar can be done with
+-       DWARF2 unwind info.  */
+-
+ static void
+ put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
+ {
+@@ -71,7 +64,12 @@ static int
+ get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
+                         void *arg)
+ {
+-  *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
++#ifndef UNW_LOCAL_ONLY
++# pragma weak _U_dyn_info_list_addr
++  if (!_U_dyn_info_list_addr)
++    return -UNW_ENOINFO;
++#endif
++  *dyn_info_list_addr = _U_dyn_info_list_addr ();
+   return 0;
+ }
+ 
-- 
2.32.0
Z
Z
zimoun wrote on 1 Dec 2021 16:53
[core-updates-frozen PATCH v2 02/17] gnu: julia-datastructures: Fix tests on i686-linux.
(address . 52186@debbugs.gnu.org)
20211201155355.60845-2-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-datastructures)[arguments]<#:phases>:
Conditionnally disable the failing test.
---
gnu/packages/julia-xyz.scm | 14 ++++++++++++++
1 file changed, 14 insertions(+)

Toggle diff (27 lines)
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index d2e57aeadc..da1dae40f0 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -979,6 +979,20 @@ (define-public julia-datastructures
      `(("julia-compat" ,julia-compat)
        ("julia-orderedcollections" ,julia-orderedcollections)))
     (build-system julia-build-system)
+    (arguments
+     `(#:phases
+       ,@(if (string-prefix? "i686" (or (%current-target-system)
+                                        (%current-system)))
+             '((modify-phases %standard-phases
+                 (add-after 'unpack 'remove-failing-test-i686
+                   (lambda _
+                     ;; The evaluation returns the correct value,
+                     ;; Evaluated: "Accumulator(1 => 3, 3 => 4)"
+                     ;; but, for some reasons, is considered as failed.
+                     (substitute* "test/test_accumulator.jl"
+                       (("@test sprint\\(show,Accumulator\\(1 => 3, 3 => 4\\)\\)")
+                        "@test_broken sprint(show, Accumulator(1 => 3, 3 => 4))"))))))
+             '(%standard-phases))))
     (home-page "https://github.com/JuliaCollections/DataStructures.jl")
     (synopsis "Julia module providing different data structures")
     (description "This package implements a variety of data structures,
-- 
2.32.0
Z
Z
zimoun wrote on 1 Dec 2021 16:53
[core-updates-frozen PATCH v2 03/17] gnu: julia-benchmarktools: Fix tests on i686-linux.
(address . 52186@debbugs.gnu.org)
20211201155355.60845-3-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-benchmarktools)[arguments]<#:phases>:
Conditionnally disable the failing tests.
---
gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index da1dae40f0..d668924bf7 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -298,6 +298,26 @@ (define-public julia-benchmarktools
        (sha256
         (base32 "1xz3kdrphp4b158pg7dwkiry49phs2fjjpdvk1hjpww5ykxacks8"))))
     (build-system julia-build-system)
+    (arguments
+     `(#:phases
+       ,@(if (string-prefix? "i686" (or (%current-target-system)
+                                        (%current-system)))
+             '((modify-phases %standard-phases
+                 (add-after 'unpack 'remove-failing-tests-i686
+                   (lambda _
+                     (substitute* "test/GroupsTests.jl"
+                       (("@test sprint\\(show, g1\\)")
+                        "@test_broken sprint(show, g1)")
+                       (("@test sprint\\(show, g1; context = :boundto => 1\\)")
+                        "@test_broken sprint(show, g1; context = :boundto => 1)")
+                       (("@test sprint\\(show, g1; context = :limit => false\\)")
+                        "@test_broken sprint(show, g1; context = :limit => false)")
+                       (("@test @test_deprecated") "@test_broken"))
+                     (substitute* "test/ExecutionTests.jl"
+                       ;; Evaluated: 12 == 8
+                       (("@test @ballocated\\(Ref\\(1\\)\\)")
+                        "@test_broken @ballocated(Ref(1))"))))))
+             '(%standard-phases))))
     (propagated-inputs `(("julia-json" ,julia-json)))
     (home-page "https://github.com/JuliaCI/BenchmarkTools.jl")
     (synopsis "Benchmarking framework for the Julia language")
-- 
2.32.0
Z
Z
zimoun wrote on 1 Dec 2021 16:53
[core-updates-frozen PATCH v2 04/17] gnu: julia-finitedifferences: Fix tests on i686-linux.
(address . 52186@debbugs.gnu.org)
20211201155355.60845-4-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz (julia-finitedifferences)[arguments]<#:phases>:
Conditionnally disable the failing test.
---
gnu/packages/julia-xyz.scm | 12 ++++++++++++
1 file changed, 12 insertions(+)

Toggle diff (25 lines)
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index d668924bf7..f5d2f69997 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -1685,6 +1685,18 @@ (define-public julia-finitedifferences
        (sha256
         (base32 "09nsf9cgk49yrvprflnhd9h5rrgs280rgj8sad3csghxdx6jqk5c"))))
     (build-system julia-build-system)
+    (arguments
+     `(#:phases
+       ,@(if (string-prefix? "i686" (or (%current-target-system)
+                                        (%current-system)))
+             '((modify-phases %standard-phases
+                 (add-after 'unpack 'remove-failing-test-i686
+                   (lambda _
+                     ;; Machine Precision incorrectly handled
+                     (substitute* "test/methods.jl"
+                       (("@test central_fdm\\(15, 5, adapt=2\\)\\(exp, 1.0\\)")
+                        "@test_broken central_fdm(15, 5, adapt=2)(exp, 1.0)"))))))
+             '(%standard-phases))))
     (inputs
      `(("julia-benchmarktools" ,julia-benchmarktools)))
     (propagated-inputs
-- 
2.32.0
Z
Z
zimoun wrote on 1 Dec 2021 16:53
[core-updates-frozen PATCH v2 05/17] gnu: julia-configurations: Fix tests on i686-linux.
(address . 52186@debbugs.gnu.org)
20211201155355.60845-5-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-configurations)[arguments]<#:phases>:
Conditionally replace the incorrect type in test suite.
---
gnu/packages/julia-xyz.scm | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index f5d2f69997..d673045033 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -804,8 +804,7 @@ (define-public julia-configurations
          (add-after 'link-depot 'fix-tests
            (lambda _
              (substitute* "test/runtests.jl"
-               (("option.toml") "test/option.toml"))
-             #t))
+               (("option.toml") "test/option.toml"))))
          (add-after 'link-depot 'dont-use-exproniconlite
            (lambda _
              (substitute* '("Project.toml"
@@ -814,8 +813,14 @@ (define-public julia-configurations
                (("ExproniconLite") "Expronicon"))
              (substitute* "Project.toml"
                (("55351af7-c7e9-48d6-89ff-24e801d99491")
-                "6b7a57c9-7cc1-4fdf-b7f5-e857abae3636"))
-             #t)))))
+                "6b7a57c9-7cc1-4fdf-b7f5-e857abae3636"))))
+         ,@(if (string-prefix? "i686" (or (%current-target-system)
+                                          (%current-system)))
+               '((add-after 'unpack 'fix-tests-int32-i686
+                   (lambda _
+                     (substitute* "test/runtests.jl"
+                       (("Int64") "Int32")))))
+               '()))))
     (propagated-inputs
      `(("julia-crayons" ,julia-crayons)
        ("julia-expronicon" ,julia-expronicon)
-- 
2.32.0
Z
Z
zimoun wrote on 1 Dec 2021 16:53
[core-updates-frozen PATCH v2 06/17] gnu: julia-lazyarrays: Fix tests on i686-linux.
(address . 52186@debbugs.gnu.org)
20211201155355.60845-6-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-lazyarrays)[arguments]<#:phases>:
Conditionally replace the incorrect type in test suite.
---
gnu/packages/julia-xyz.scm | 10 ++++++++++
1 file changed, 10 insertions(+)

Toggle diff (23 lines)
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index d673045033..e6efbfdf45 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -2811,6 +2811,16 @@ (define-public julia-lazyarrays
         (sha256
          (base32 "17rhlrmgfvdw8w62pg32ikr9j4xy2ylr7mx7ar0hnpzryv929rp5"))))
     (build-system julia-build-system)
+    (arguments
+     `(#:phases
+       ,@(if (string-prefix? "i686" (or (%current-target-system)
+                                        (%current-system)))
+            '((modify-phases %standard-phases
+                (add-after 'unpack 'fix-tests-int32-i686
+                  (lambda _
+                    (substitute* "test/multests.jl"
+                      (("Int64") "Int32"))))))
+            '(%standard-phases))))
     (propagated-inputs
      `(("julia-arraylayouts" ,julia-arraylayouts)
        ("julia-fillarrays" ,julia-fillarrays)
-- 
2.32.0
Z
Z
zimoun wrote on 1 Dec 2021 16:53
[core-updates-frozen PATCH v2 07/17] gnu: julia-blockarrays: Fix tests on i686-linux.
(address . 52186@debbugs.gnu.org)
20211201155355.60845-7-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-blockarrays)[arguments]<#:phases>:
Conditionally replace the incorrect type in test suite.
---
gnu/packages/julia-xyz.scm | 10 ++++++++++
1 file changed, 10 insertions(+)

Toggle diff (23 lines)
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index e6efbfdf45..d7add65fc6 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -340,6 +340,16 @@ (define-public julia-blockarrays
         (sha256
          (base32 "1by26036fk9mawmcgqxpwizgbs398v9p6vrbsgg7h6llqn3q9iw1"))))
     (build-system julia-build-system)
+    (arguments
+     `(#:phases
+       ,@(if (string-prefix? "i686" (or (%current-target-system)
+                                        (%current-system)))
+             '((modify-phases %standard-phases
+                 (add-after 'unpack 'fix-tests-int32-i686
+                   (lambda _
+                     (substitute* "test/test_blockarrays.jl"
+                       (("Int64") "Int32"))))))
+             '(%standard-phases))))
     (propagated-inputs
      `(("julia-arraylayouts" ,julia-arraylayouts)
        ("julia-fillarrays" ,julia-fillarrays)))
-- 
2.32.0
Z
Z
zimoun wrote on 1 Dec 2021 16:53
[core-updates-frozen PATCH v2 08/17] gnu: julia-mappedarrays: Fix tests on i686-linux.
(address . 52186@debbugs.gnu.org)
20211201155355.60845-8-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-mappedarrays)[arguments]<#:phases>:
Conditionally replace the incorrect type in test suite.
---
gnu/packages/julia-xyz.scm | 10 ++++++++++
1 file changed, 10 insertions(+)

Toggle diff (23 lines)
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index d7add65fc6..bf65fae39a 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -2907,6 +2907,16 @@ (define-public julia-mappedarrays
         (sha256
          (base32 "0l5adird8m1cmnsxwhzi5hcr7q9bm1rf7a6018zc7kcn2yxdshy3"))))
     (build-system julia-build-system)
+    (arguments
+     `(#:phases
+       ,@(if (string-prefix? "i686" (or (%current-target-system)
+                                        (%current-system)))
+             '((modify-phases %standard-phases
+                 (add-after 'unpack 'fix-tests-int32-i686
+                   (lambda _
+                     (substitute* "test/runtests.jl"
+                       (("Int64") "Int32"))))))
+             '(%standard-phases))))
     (propagated-inputs
      `(("julia-fixedpointnumbers" ,julia-fixedpointnumbers)))
     (native-inputs
-- 
2.32.0
Z
Z
zimoun wrote on 1 Dec 2021 16:53
[core-updates-frozen PATCH v2 09/17] gnu: julia-arrayinterface: Disable tests for i686.
(address . 52186@debbugs.gnu.org)
20211201155355.60845-9-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-arrayinterface)[arguments]<#:tests?>:
Conditionally disable tests.
---
gnu/packages/julia-xyz.scm | 8 ++++++++
1 file changed, 8 insertions(+)

Toggle diff (21 lines)
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index bf65fae39a..caa038ab45 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -158,6 +158,14 @@ (define-public julia-arrayinterface
         (sha256
          (base32 "0cmldnzvdgmfnrnrzgj6v1mfr2rvk5096392rwmhd3iyx7v0pq33"))))
     (build-system julia-build-system)
+    (arguments
+     ;; XXXX: Unexpected failures for i686, e.g.,
+     ;; Expression: @inferred(ArrayInterface.size(Rnr)) === (StaticInt(4),)
+     ;; Evaluated: (static(2),) === (static(4),)
+     ;; Disable as stopgap.
+     `(#:tests? ,(if (string-prefix? "i686" (or (%current-target-system)
+                                                (%current-system)))
+                     #f #t)))
     (propagated-inputs
      `(("julia-ifelse" ,julia-ifelse)
        ("julia-requires" ,julia-requires)
-- 
2.32.0
Z
Z
zimoun wrote on 1 Dec 2021 16:54
[core-updates-frozen PATCH v2 10/17] gnu: julia-interpolations: Disable tests in i686-linux.
(address . 52186@debbugs.gnu.org)
20211201155442.60916-1-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-interpolations)[arguments]<#:tests?>:
Conditionally disable tests.
---
gnu/packages/julia-xyz.scm | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

Toggle diff (22 lines)
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index caa038ab45..b7074c66ae 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -2588,7 +2588,14 @@ (define-public julia-interpolations
          (base32 "1236c20k388qlh7k74mhf7hkbn0vf7ss8b1rgh1a6aj0234ayfnc"))))
     (build-system julia-build-system)
     (arguments
-     `(#:parallel-tests? #f))
+     `(#:parallel-tests? #f
+       ;; XXXX: Unexpected failures for i686, e.g.,
+       ;; Got exception outside of a @test
+       ;; OverflowError: 96908232 * 106943408 overflowed for type Int32
+       ;; Disable as stopgap.
+       #:tests? ,(if (string-prefix? "i686" (or (%current-target-system)
+                                                (%current-system)))
+                     #f #t)))
     (propagated-inputs
      `(("julia-axisalgorithms" ,julia-axisalgorithms)
        ("julia-offsetarrays" ,julia-offsetarrays)
-- 
2.32.0
Z
Z
zimoun wrote on 1 Dec 2021 16:54
[core-updates-frozen PATCH v2 11/17] gnu: julia-reversediff: Disable tests on i686-linux.
(address . 52186@debbugs.gnu.org)
20211201155442.60916-2-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz (julia-reversediff)[arguments]<#:tests?>:
Conditionally disable tests.
---
gnu/packages/julia-xyz.scm | 8 ++++++++
1 file changed, 8 insertions(+)

Toggle diff (21 lines)
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index b7074c66ae..42f79e58c5 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -4090,6 +4090,14 @@ (define-public julia-reversediff
         (sha256
          (base32 "1wrr6sqj2xl9grkvdp88rw3manxy9vbx28zq2wssya5ns1xabsnl"))))
     (build-system julia-build-system)
+    (arguments
+     ;; XXXX: Test suite failing for i686, e.g.,
+     ;; Expression: hash(tr_float, hash(1)) === hash(v_float, hash(1))
+     ;; MethodError: no method matching decompose(::ReverseDiff.TrackedReal{Float64, Float64, Nothing})
+     ;; Disable as stopgap.
+     `(#:tests? ,(if (string-prefix? "i686" (or (%current-target-system)
+                                                (%current-system)))
+                     #f #t)))
     (propagated-inputs
      `(("julia-diffresults" ,julia-diffresults)
        ("julia-diffrules" ,julia-diffrules)
-- 
2.32.0
Z
Z
zimoun wrote on 1 Dec 2021 16:54
[core-updates-frozen PATCH v2 12/17] gnu: julia-intervalsets: Fix tests on i686-linux.
(address . 52186@debbugs.gnu.org)
20211201155442.60916-3-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-intervalsets)[arguments]<#:phases>:
Conditionally disable the failing test.
---
gnu/packages/julia-xyz.scm | 15 +++++++++++++++
1 file changed, 15 insertions(+)

Toggle diff (28 lines)
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 42f79e58c5..ea7f9a3caa 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -2630,6 +2630,21 @@ (define-public julia-intervalsets
         (sha256
          (base32 "0gsz89cd3iygbl5qr389k9vwpg7w1nk0s90g25nsmk34y9hifxag"))))
     (build-system julia-build-system)
+    (arguments
+     `(#:phases
+       ,@(if (string-prefix? "i686" (or (%current-target-system)
+                                        (%current-system)))
+             '((modify-phases %standard-phases
+                 (add-after 'unpack 'remove-failing-test-i686
+                   (lambda _
+                     (substitute* "test/runtests.jl"
+                       ;; For some reason, the output is correct but the test
+                       ;; is considered as failed:
+                       ;; Expression: duration(ClosedInterval(A, B)) ≡ 60
+                       ;; Evaluated: 60 ≡ 60
+                       (("@test duration\\(ClosedInterval")
+                        "@test_broken duration(ClosedInterval"))))))
+             '(%standard-phases))))
     (propagated-inputs
      `(("julia-ellipsisnotation" ,julia-ellipsisnotation)))
     (native-inputs
-- 
2.32.0
Z
Z
zimoun wrote on 1 Dec 2021 16:54
[core-updates-frozen PATCH v2 13/17] gnu: julia-woodburymatrices: Fix tests on i686-linux.
(address . 52186@debbugs.gnu.org)
20211201155442.60916-4-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-woodburymatrices)[arguments]<#:phases>:
Conditionally disable the failing test.
---
gnu/packages/julia-xyz.scm | 11 +++++++++++
1 file changed, 11 insertions(+)

Toggle diff (24 lines)
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index ea7f9a3caa..14012a3c3b 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -5045,6 +5045,17 @@ (define-public julia-woodburymatrices
         (sha256
          (base32 "04yykivi8zrbryxlmb0p5xa6lma8iq22r5s863117dnnqj5gaffd"))))
     (build-system julia-build-system)
+    (arguments
+     `(#:phases
+       ,@(if (string-prefix? "i686" (or (%current-target-system)
+                                        (%current-system)))
+             '((modify-phases %standard-phases
+                 (add-after 'unpack 'remove-failing-test-i686
+                   (lambda _
+                     (substitute* "test/woodbury.jl"
+                       (("@test logdet\\(W\\)")
+                        "@test_broken logdet(W)"))))))
+             '(%standard-phases))))
     (home-page "https://github.com/timholy/WoodburyMatrices.jl")
     (synopsis "Support for the Woodbury matrix identity for Julia")
     (description "This package provides support for the Woodbury matrix identity
-- 
2.32.0
Z
Z
zimoun wrote on 1 Dec 2021 16:54
[core-updates-frozen PATCH v2 14/17] gnu: julia-mutablearithmetics: Fix tests on i686-linux.
(address . 52186@debbugs.gnu.org)
20211201155442.60916-5-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-mutablearithmetics)[arguments]<#:phases>:
Conditionally disable the failing test.
---
gnu/packages/julia-xyz.scm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)

Toggle diff (30 lines)
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 14012a3c3b..363e7b5f11 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -3241,6 +3241,23 @@ (define-public julia-mutablearithmetics
         (sha256
          (base32 "1isyj8h4nx96cr6892d154v8pw1nhr7mjyz5bd6ffr2mkzb2bq4f"))))
     (build-system julia-build-system)
+    (arguments
+     `(#:phases
+       ,@(if (string-prefix? "i686" (or (%current-target-system)
+                                        (%current-system)))
+             '((modify-phases %standard-phases
+                 (add-after 'unpack 'remove-failing-test-i686
+                   (lambda _
+                     (substitute* "test/utilities.jl"
+                       ;; Non-deterministic returned value, e.g.,
+                       ;;    Expression: n == @allocated(f())
+                       ;;    Evaluated: 240 == 120
+                       ;; and for some other values:
+                       ;;    Got correct result, please change to @test
+                       ;; so @test_broken is not enough.
+                       (("@test n == @allocated f\\(\\)")
+                        " "))))))
+             '(%standard-phases))))
     (propagated-inputs
      `(("julia-offsetarrays" ,julia-offsetarrays)))
     (home-page "https://github.com/jump-dev/MutableArithmetics.jl")
-- 
2.32.0
Z
Z
zimoun wrote on 1 Dec 2021 16:54
[core-updates-frozen PATCH v2 16/17] gnu: julia-geometrybasics: Fix tests on i686-linux.
(address . 52186@debbugs.gnu.org)
20211201155442.60916-7-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz (julia-geometrybasics)[arguments]<#:phases>:
Conditionally replace the incorrect type in test suite.
---
gnu/packages/julia-xyz.scm | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)

Toggle diff (30 lines)
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 02c652ce28..6638ecf726 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -1988,14 +1988,19 @@ (define-public julia-geometrybasics
            (lambda _
              (substitute* '("Project.toml"
                             "src/GeometryBasics.jl")
-               ((".*EarCut.*") ""))
-             #t))
+               ((".*EarCut.*") ""))))
          (add-after 'link-depot 'skip-incompatible-test
            (lambda _
              (substitute* "test/runtests.jl"
                (("@testset.*MetaT and heterogeneous data.*" all)
-                (string-append all "return\n")))
-             #t)))))
+                (string-append all "return\n")))))
+         ,@(if (string-prefix? "i686" (or (%current-target-system)
+                                          (%current-system)))
+               '((add-after 'unpack 'fix-tests-int32-i686
+                   (lambda _
+                     (substitute* "test/runtests.jl"
+                       (("Int64") "Int32")))))
+               '()))))
     (propagated-inputs
      `(("julia-itertools" ,julia-itertools)
        ("julia-staticarrays" ,julia-staticarrays)
-- 
2.32.0
Z
Z
zimoun wrote on 1 Dec 2021 16:54
[core-updates-frozen PATCH v2 17/17] gnu: julia-forwarddiff: Disable tests on i686-linux.
(address . 52186@debbugs.gnu.org)
20211201155442.60916-8-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-forwarddiff)[arguments]<#:tests?>:
Conditionally disable tests.
---
gnu/packages/julia-xyz.scm | 8 ++++++++
1 file changed, 8 insertions(+)

Toggle diff (21 lines)
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 6638ecf726..8c37b0bf23 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -1801,6 +1801,14 @@ (define-public julia-forwarddiff
        (sha256
         (base32 "1vb46x8mcn61g1l14qrk22c043khg2ml4q1ci7h4k2v34f2ak5fs"))))
     (build-system julia-build-system)
+    (arguments
+     ;; XXXX: Unexpected and non-deterministic failures for i686, e.g.,
+     ;; Expression: dual_isapprox(FDNUM ^ PRIMAL, exp(PRIMAL * log(FDNUM)))
+     ;; ERROR: LoadError: LoadError: There was an error during testing
+     ;; Disable as stopgap.
+     `(#:tests? ,(if (string-prefix? "i686" (or (%current-target-system)
+                                                (%current-system)))
+                     #f #t)))
     (inputs                             ;required for tests
      `(("julia-calculus" ,julia-calculus)
        ("julia-difftests" ,julia-difftests)))
-- 
2.32.0
Z
Z
zimoun wrote on 1 Dec 2021 16:54
[core-updates-frozen PATCH v2 15/17] gnu: julia-structarrays: Fix tests on i686-linux.
(address . 52186@debbugs.gnu.org)
20211201155442.60916-6-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-structarrays)[arguments]<#:phases>:
Conditionally replace the incorrect type in the test suite.
---
gnu/packages/julia-xyz.scm | 11 +++++++++++
1 file changed, 11 insertions(+)

Toggle diff (24 lines)
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 363e7b5f11..02c652ce28 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -4616,6 +4616,17 @@ (define-public julia-structarrays
         (sha256
          (base32 "0rjcpyjwzg70n87q5r9c5i1qzigavncslxssm3rk5a3y549py56v"))))
     (build-system julia-build-system)
+    (arguments
+     `(#:phases
+       ,@(if (string-prefix? "i686" (or (%current-target-system)
+                                        (%current-system)))
+             '((modify-phases %standard-phases
+                 (add-after 'unpack 'fix-tests-int32-i686
+                   (lambda _
+                     (substitute* '("src/utils.jl"
+                                    "test/runtests.jl")
+                       (("Int64") "Int32"))))))
+             '(%standard-phases))))
     (propagated-inputs
      `(("julia-dataapi" ,julia-dataapi)
        ("julia-staticarrays" ,julia-staticarrays)
-- 
2.32.0
E
E
Efraim Flashner wrote on 4 Dec 2021 18:54
Re: [core-updates-frozen PATCH v2 00/17] Fix Julia on i686-linux.
(name . zimoun)(address . zimon.toutoune@gmail.com)
YaurWWJZXx7C78jT@3900XT
On Wed, Dec 01, 2021 at 04:52:56PM +0100, zimoun wrote:
Toggle quote (25 lines)
> Hi,
>
> This series allow the julia package itself to build on i686-linux. Then, it
> fixes julia-* packages for i686-linux. Note that julia and julia-* are
> currently broken on master for i686-linux.
>
> Both julia and julia-* are not impacted on x86_64 by these changes.
>
> These packages are still broken…
>
> /gnu/store/h97dzpkn7h4fxhl8xag8s7cfypg1l96d-julia-sundials-jll-5.2.1+0.drv
> /gnu/store/q489ygk7y0y3xxcyi1c72c9lwrvgkfvd-sundials-julia-5.2.0.drv
> /gnu/store/7g5443kq028lv44f0kdj5p14w5xcx9c4-julia-pyplot-2.10.0.drv
> /gnu/store/iy5liqrkdlvvx6bmiczxxi5zmyj4999v-julia-pycall-1.92.5.drv
> /gnu/store/x2na68r5qbyhnilmqpi50sr3iwf9y2fd-julia-gr-0.58.1.drv
>
> …but, IMHO, they can wait another round. Only pycall (so pyplot) and gr are
> failing on core-updates-frozen only. The 2 other (sundials) are currently
> broken on master.
>
>
> Cheers,
> simon
>

I made a couple of changes, mostly to use target-x86-32? and
target-64bit?. Patches pushed! Thanks.

--
Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmGrq1kACgkQQarn3Mo9
g1FHMw/9F9hyKSjN87k4zSHYChjjxa+ke2xHCsQrOVa2JGuHVe467YYQ/CjgaLwF
Bqo+WYR5Xp0Q6QutD3Ivr9SVDIwFZAWGE7ij9aEmgkdpztO65XbP0a68qzce9UCP
kULLw+xDNeKr2vH14OVcgcSRogyFzZ8sqXUL0bEcMOVcjWo8uQiH6Cz/q2CdYI4b
gbTLhqAteLs2Nip5tNiBArL5KjUMuaF+0+6EORaDzzcTQKRDFOVpKTfGV22xGmUw
RlcoB+Lgzjb52xB2kj9bNyi7AkM3ysyDk3DL11+rAxecifDZig0gIqHAw45ovzRl
kpJDu/lshqYkAU7bNrCjyzPbTlUo7aL3uW9C8qWNNpBH+7ih9kOxIuZt1nOFmVXM
MAV/RMpdGrkCQ9Iib7n/tA8KIP07skOCzzcwu6Bb6iaSptM0Z5y/tc4IR63OlgeX
GBW4OanRmLNac+zMc5+YXQILXwYPMZtdsnaWdTSI766dFE4Vk28aS+8kta09yd+9
t9hL7qWetiC/7IQAHrhqa1MlcecWmpg6TtWlOu/4irrcHiYJ4pY8fbGtNkFZZk3V
cUKaIQcq7oLs0/NIMySawAjOINZTeLCmiHbig3R3Ht6NW4n3hh5jpvuFCIok0Q96
8bLUMil0R5WtzWE6c4S0F5kaBfCtUoh0KfzYceeBcnSltmjFNXg=
=TfBD
-----END PGP SIGNATURE-----


Closed
Z
Z
zimoun wrote on 4 Dec 2021 19:27
(name . Efraim Flashner)(address . efraim@flashner.co.il)
864k7okyxq.fsf@gmail.com
Hi Efraim,

Thanks!


On Sat, 04 Dec 2021 at 19:54, Efraim Flashner <efraim@flashner.co.il> wrote:

Toggle quote (3 lines)
> I made a couple of changes, mostly to use target-x86-32? and
> target-64bit?. Patches pushed! Thanks.

I get 44 instances using ’string-prefix? “i686”’ vs 5 instance using
’target-x86-32’. For my information, why is target-x86-32 preferred
here?


Toggle snippet (47 lines)
$ find . -name "*.scm" | xargs grep 'string-prefix' | grep i686
./build-aux/compile-all.scm: (if (string-prefix? "i686" %host-type)
./guix/utils.scm: (string-prefix? "i686-" target)))
./gnu/build/bootloader.scm: ((string-prefix? "i686" system)
./gnu/packages/video.scm: (if (string-prefix? "i686" (%current-system))
./gnu/packages/scheme.scm: (string-prefix? "i686" system))
./gnu/packages/scheme.scm: (string-prefix? "i686" system))
./gnu/packages/linux.scm: (or (string-prefix? "i686-" system)
./gnu/packages/maths.scm: ((string-prefix? "i686" system)
./gnu/packages/maths.scm: (string-prefix? "i686" system)
./gnu/packages/maths.scm: (string-prefix? "i686" system))
./gnu/packages/maths.scm: (string-prefix? "i686" system))
./gnu/packages/image.scm: ((string-prefix? "i686" target)
./gnu/packages/tls.scm: ((string-prefix? "i686" target)
./gnu/packages/databases.scm: ,@(if (string-prefix? "i686" (%current-system))
./gnu/packages/music.scm: (string-prefix? "i686" system))
./gnu/packages/music.scm: (string-prefix? "i686" system)))
./gnu/packages/music.scm: (string-prefix? "i686" system))
./gnu/packages/gstreamer.scm: ,@(if (string-prefix? "i686" (or (%current-target-system)
./gnu/packages/gl.scm: ,@(if (string-prefix? "i686" (or (%current-target-system)
./gnu/packages/algebra.scm: ((string-prefix? "i686" system)
./gnu/packages/python-xyz.scm: (when (string-prefix? "i686" ,(%current-system))
./gnu/packages/machine-learning.scm: ((string-prefix? "i686" system)
./gnu/packages/machine-learning.scm: (string-prefix? "i686" system)))
./gnu/packages/xorg.scm: (filter (lambda (system) (string-prefix? "i686-" system))
./gnu/packages/xorg.scm: (filter (lambda (system) (or (string-prefix? "i686-" system)
./gnu/packages/compression.scm: ,@(if (string-prefix? "i686" (or (%current-target-system)
./gnu/packages/compression.scm: ((string-prefix? "i686" system)
./gnu/packages/compression.scm: ((string-prefix? "i686" system)
./gnu/packages/node.scm: ((? (cut string-prefix? "i686" <>))
./gnu/packages/node.scm: ((? (cut string-prefix? "i686" <>))
./gnu/packages/haskell-web.scm: #:tests? ,(not (string-prefix? "i686" (or (%current-target-system)
./gnu/packages/package-management.scm: (string-prefix? "i686" system)))
./gnu/packages/bioinformatics.scm: (string-prefix? "i686" system))
./gnu/packages/graph.scm: ((string-prefix? "i686" system)
./gnu/packages/graph.scm: ((string-prefix? "i686" system)
./gnu/packages/lean.scm: (not (or (string-prefix? "i686" arch)
./gnu/packages/virtualization.scm: ((? (cut string-prefix? "i686" <>))
./gnu/packages/virtualization.scm: ((string-prefix? "i686" system)
./gnu/packages/virtualization.scm: ((string-prefix? "i686" system)
./gnu/packages/password-utils.scm: (string-prefix? "i686" system)) "sse2")
./gnu/ci.scm: (and (or (string-prefix? "i686-" system)
./gnu/system/install.scm: (string-prefix? "i686" %host-type))))
./gnu/tests/install.scm: ((string-prefix? "i686" system)
./gnu/tests/install.scm: ((string-prefix? "i686" #$system)

Toggle snippet (8 lines)
$ find . -name "*.scm" | xargs grep 'target-x86-32'
./guix/utils.scm: target-x86-32?
./guix/utils.scm:(define* (target-x86-32? #:optional (target (or (%current-target-system)
./tests/utils.scm:(test-equal "target-x86-32?"
./tests/utils.scm: (map target-x86-32?
./gnu/packages/webkit.scm: ,@(if (target-x86-32?)

Cheers,
simon
Closed
E
E
Efraim Flashner wrote on 5 Dec 2021 10:49
(name . zimoun)(address . zimon.toutoune@gmail.com)
YayLEuWXdsGxMMVX@3900XT
On Sat, Dec 04, 2021 at 07:27:45PM +0100, zimoun wrote:
Toggle quote (15 lines)
> Hi Efraim,
>
> Thanks!
>
>
> On Sat, 04 Dec 2021 at 19:54, Efraim Flashner <efraim@flashner.co.il> wrote:
>
> > I made a couple of changes, mostly to use target-x86-32? and
> > target-64bit?. Patches pushed! Thanks.
>
> I get 44 instances using ’string-prefix? “i686”’ vs 5 instance using
> ’target-x86-32’. For my information, why is target-x86-32 preferred
> here?
>

The string-prefix way is the current way on master to do it. On
core-updates we now have the different target macros to try to make all
the different times everything comes up have less chance of mistakes.

--
Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmGsiw8ACgkQQarn3Mo9
g1Fw0hAAp6sq2bfXMuL1MN3ewJRjz8yUO9w+Ts+GM8NTtMIHuZk3Ld2xb8Tf4w8W
zxZV6xchKG6bjytyHLlXy3QTwEFEsRXXPrKlgc3224rr3kb7TjoG62tdpaMwsyh6
HTUbQQL1q4I8qLUdbo6zUsCBwf8ZgI5DEm+jACuZ/Zpt/KO56pvVrM2MGWs9+gwH
6j1r77hpgqIjfC+TTBLG9bAHfvwE2o7NuLWHPco1aAwf8gsQi48d3Bu5kiZGPEP3
L8DeR4jl9EcHcRaU95KgeK2/OqzEwvJfaBFFtR43uixp78akNYBGNw5T4cO+tuo6
uHJeR91NCoEm4mr6YMLl10m9oQtJyhXq/JU5mQ87lit+31X5bcK+KldEPaOoXHOw
riR0jy+R2m2412XlCgsIbYgWB+MQbPG537b3wAUJSiQJQi99o73GFsUxmY47jeDi
jaCWrFBWCowPYyFdwh1dzvll8gsuI+stttysgLhlQgxXI8+Z3GAM33JVk/dfdKyj
/4vY1Lk1BFhqOCFYwr/Zm5shk00+m8Fb0y17NWjfuLxQ25Me/a467/CzUda/dcLp
NAcjv6TuF0N8XtxZ0TCigyGOYzC/kQRKroWasD3+knLi+XrkA4lajkpN6NuBukHU
VKD9i+jugq05SGyexWeFAwANI118IFpBmJ1Cj8yCoR613Xgx/ws=
=HJ3s
-----END PGP SIGNATURE-----


Closed
Z
Z
zimoun wrote on 5 Dec 2021 11:36
(name . Efraim Flashner)(address . efraim@flashner.co.il)
86y24zjq2r.fsf@gmail.com
Hi,

On Sun, 05 Dec 2021 at 11:49, Efraim Flashner <efraim@flashner.co.il> wrote:

Toggle quote (4 lines)
> The string-prefix way is the current way on master to do it. On
> core-updates we now have the different target macros to try to make all
> the different times everything comes up have less chance of mistakes.

Thanks for explaining. On a side note, these macros are not documented
in the manual, if I read correctly.


Cheers,
simon
Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 52186@debbugs.gnu.org