Subject: Re: bug#52117: [core-updates-frozen] [PATCH 0/6] Fix Julia packages.

From: Maxim Cournoyer <[email-masked]>
Date: Fri, 26 Nov 2021 21:26:09 -0500

Hello Simon!

zimoun <[email-masked]> writes:

> * gnu/packages/julia.scm (julia)[arguments]<#:phases>: Fix parallel-test.
> ---
>  gnu/packages/julia.scm | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
> index ac5bf7db25..c123711da5 100644
> --- a/gnu/packages/julia.scm
> +++ b/gnu/packages/julia.scm
> @@ -315,11 +315,10 @@ (define-public julia
>                 (substitute* (jlpath "Zlib")
>                   (((from "libz")) (to "zlib" "libz"))))))
>           (add-after 'unpack 'enable-parallel-tests
> -           ;; FIXME: julia fails at networking in the container and falls back
> -           ;; to a single worker, which causes the tests to not run in
> -           ;; parallel (see: https://github.com/JuliaLang/julia/issues/43205).
> -           (lambda* (#:key parallel-build? #:allow-other-keys)
> -             (setenv "JULIA_CPU_THREADS" (if parallel-build?
> +           ;; Parallel tests require 'julia-allow-parallel-build.patch'.
> +           ;; https://github.com/JuliaLang/julia/issues/43205.
> +           (lambda* (#:key parallel-tests? #:allow-other-keys)
> +             (setenv "JULIA_CPU_THREADS" (if parallel-tests?
>                                               (number->string (parallel-job-count))
>                                               "1"))
>               (format #t "JULIA_CPU_THREADS environment variable set to ~a~%"

I've moved the comment where I thought it made more sense, at the top of
the patch itself, like so:

--8<---------------cut here---------------start------------->8---
modified   gnu/packages/julia.scm
@@ -315,8 +315,6 @@ (define-public julia
                (substitute* (jlpath "Zlib")
                  (((from "libz")) (to "zlib" "libz"))))))
          (add-after 'unpack 'enable-parallel-tests
-           ;; Parallel tests require 'julia-allow-parallel-build.patch'.
-           ;; https://github.com/JuliaLang/julia/issues/43205.
            (lambda* (#:key parallel-tests? #:allow-other-keys)
              (setenv "JULIA_CPU_THREADS" (if parallel-tests?
                                              (number->string (parallel-job-count))
modified   gnu/packages/patches/julia-allow-parallel-build.patch
@@ -1,3 +1,8 @@
+Allow parallel tests with isolated environment.
+
+See https://github.com/JuliaLang/julia/issues/43205 and
+https://github.com/JuliaLang/julia/pull/43211.
+
 diff --git a/test/runtests.jl b/test/runtests.jl
 index 2f9cd058bb..150395e78c 100644
 --- a/test/runtests.jl
@@ -11,14 +16,11 @@ index 2f9cd058bb..150395e78c 100644
  using Base: Experimental
  
  include("choosetests.jl")
-@@ -83,11 +83,15 @@ prepend!(tests, linalg_tests)
+@@ -83,11 +83,12 @@ prepend!(tests, linalg_tests)
  import LinearAlgebra
  cd(@__DIR__) do
      n = 1
 -    if net_on
-+    # Allow parallel tests with isolated environment
-+    # https://github.com/JuliaLang/julia/issues/43205
-+    # https://github.com/JuliaLang/julia/pull/43211
 +    if net_on || haskey(ENV, "JULIA_CPU_THREADS")
          n = min(Sys.CPU_THREADS, length(tests))
          n > 1 && addprocs_with_testenv(n)
--8<---------------cut here---------------end--------------->8---

Maxim