Subject: Re: [bug#48325] julia-1.6 guix

From: Nicolò Balzarotti <[email-masked]>
Date: Tue, 11 May 2021 11:18:35 +0200

zimoun <[email-masked]> writes:

> Hi Jean-Baptiste,
>
> Thanks for the patch.  Here some minor comments.
>
> Please, split this patch.  One per update, i.e., 5 patches I guess.
>

Some changes should probably be committed together since current julia
will fail to build with newer deps versions, but at least for utf8proc
I'm sure this can be splitted.
 
> Just to be sure, if Nicoló is co-author, it should be worth to add them
> in the commit message, something like:
>
> Co-Authored-By: Nicolò Balzarotti <[email-masked]>.
>

Yep I helped a bit

>> -                                       '("arpack-ng" "curl" "dsfmt"
>
> I have not read the Julia ChangeLog.  Do they remove Arpack?  This
> should be mentioned in the commit message.

Yep, see for example:
https://github.com/JuliaLang/julia/commit/0196cf1ff549ac120d8c556d610927d76d679722

>
>> +                                       '("curl" "dsfmt"
>>                                           "gmp" "lapack"
>> -                                         "libssh2" "libgit2"
>> +                                         "libssh2" "libnghttp2" "libgit2"
>
> Idem for libnghttp2.
>
Yep they added libnghttp2
https://github.com/JuliaLang/julia/blob/bb5b98e72a151c41471d8cc14cacb495d647fb7f/stdlib/nghttp2_jll/src/nghttp2_jll.jl

>>                                           "mbedtls" "mpfr"
>>                                           "openblas" "openlibm" "pcre2"
>> -                                         "suitesparse"))
>> -                                  ":"))
>> -             #t))
>> +                                         "suitesparse" "libfortran"))
>
> Idem for libfortran.

I just realized this is not sorted, would you mind fixing it?  Also,
there are still a few #t which can be removed (like this one in
'prepare-deps)

>
>> -         (add-before 'build 'fix-precompile
>> -           (lambda _
>> -             (substitute* "base/loading.jl"
>> -               (("something(Base.active_project(), \"\")") "\"\""))
>> +         (add-before 'build 'shared-objects-paths
>> +           (lambda* (#:key inputs #:allow-other-keys)
>
> [...]
>
>> +               ;; FAILING: OpenBLAS
>
> What does it mean?
>
I think it's a leftover which can be removed

>
>> +         (add-before 'install 'symlink-libraries
>
> [...]
>
>> +               (link "zlib" "usr/lib/julia/" "libz\\.so")
>
> Does this fix
>
>    <http://issues.guix.gnu.org/48238>
>
> ?
> Does it make sense?
>
I just tried
running
> cd /gnu/store/fp5by15552ihyppxppigmbxs981rd08h-julia-1.6.1
> find -type f -exec grep '/tmp/guix-build-julia-1.5.3.drv-0' {} \;

and it returns nothing.  Also, your Pkg.add("GZip"); using GZip worked

(but it printed
┌ Error: curl_easy_setopt: 48
└ @ Downloads.Curl
~/guix-build-julia-1.6.1.drv-0/julia-1.6.1/usr/share/julia/stdlib/v1.6/Downloads/src/Curl/utils.jl:36
which might be worth investigating)

>> -         "USE_SYSTEM_ARPACK=1"
>
> What is the motivation for removing Arpack?  Sorry if my question is
> naive.
As before, it's no longer used by Julia

>
>>           "USE_SYSTEM_LIBGIT2=1"
>>           "USE_SYSTEM_ZLIB=1")))
>>      (inputs
>>       `(("llvm" ,llvm-julia)
>>         ("p7zip" ,p7zip)
>> -       ;; The bundled version is 3.3.0 so stick to that version.  With other
>> -       ;; versions, we get test failures in 'linalg/arnoldi' as described in
>> -       ;; <https://bugs.gnu.org/30282>.
>> -       ("arpack-ng" ,arpack-ng-3.3.0)
>> -
>> -       ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like
>> +       ("coreutils" ,coreutils)         ;for bindings to "mkdir" and the like
>
> This is not a change.  Even if the new indentation is correct, please
> let avoid cosmetic change in the same commit updating a complex package.
> Because then digging in the history becomes more complex. :-)
>

Agreed
>> +       ("nss-certs" ,nss-certs)         ; required to precompile
>
> Hum?  Is it really necessary?
>
I think that the alternative is to disable a few tests.  I opened a bug
report a few months ago here:
https://github.com/JuliaLang/julia/issues/40185

>> +       ("glibc-locales" ,glibc-locales)
>
> Idem.  Is it really necessary?  Because it is a “big“ packages which
> drastically increases the closure size of the Julia package.
>

I think it's the same as before (fixes a few tests) but I cannot verify
this, Jean-Baptiste do you know what breaks when this is removed?

>
> Thanks again for the patch.
>
Yep, thanks Jean-Baptiste and Simon for your review

Nicolò