From patchwork Sun May 10 08:15:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Nicol=C3=B2_Balzarotti?= X-Patchwork-Id: 21971 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 1A64C27BBE3; Sun, 10 May 2020 09:17:27 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 430D027BBE1 for ; Sun, 10 May 2020 09:17:26 +0100 (BST) Received: from localhost ([::1]:45152 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jXh9J-00053R-S0 for patchwork@mira.cbaines.net; Sun, 10 May 2020 04:17:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39060) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jXh8x-0004iE-Uh for guix-patches@gnu.org; Sun, 10 May 2020 04:17:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:37340) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jXh8x-0005Mu-L0 for guix-patches@gnu.org; Sun, 10 May 2020 04:17:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jXh8x-0002Qf-HV for guix-patches@gnu.org; Sun, 10 May 2020 04:17:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#41167] [PATCH 4/5] gnu: julia: Update to 1.4.1. Resent-From: nixo Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 10 May 2020 08:17:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41167 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 41167@debbugs.gnu.org Cc: nixo Received: via spool by 41167-submit@debbugs.gnu.org id=B41167.15890986119288 (code B ref 41167); Sun, 10 May 2020 08:17:03 +0000 Received: (at 41167) by debbugs.gnu.org; 10 May 2020 08:16:51 +0000 Received: from localhost ([127.0.0.1]:48881 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jXh8f-0002PY-6u for submit@debbugs.gnu.org; Sun, 10 May 2020 04:16:51 -0400 Received: from mail-wr1-f67.google.com ([209.85.221.67]:44356) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jXh8c-0002Ot-Be for 41167@debbugs.gnu.org; Sun, 10 May 2020 04:16:43 -0400 Received: by mail-wr1-f67.google.com with SMTP id 50so6369340wrc.11 for <41167@debbugs.gnu.org>; Sun, 10 May 2020 01:16:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=kBlzrpFGpZXBMP3l0kFUmc7V2SfMzsJ7ywOsUNBBOqc=; b=YVwlvKs/hET0K+B9J7uM8FL/0EKdsooKfIlZRFiEV0NYkPre+iPOebGnYr07VNceji AAXBRZ5uYUQOcU+nh71A8Z0LhVDHTngkuUQjKzWiYJaqtJzIfa5+qWB/NOmIf15uyesb Ntl4BOR0bUpNCIEp3cO05SMaOCMR5jNUZJREjgr360eSg6ESclu1a7xeai6jPmnMN1nM 4WQf9NI/u0P4QkgwmGOLFhhP82w7j888D3yjgrpyuIfzNzC5HlTSjDp1YfUXrzRcUxJ4 Hh1K1UaXpDF6Y8hKN67OfsRkVQ/+yU/XCK8fdjAmTc+im49L8aubcvrijl0+qVKHO48P uRuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=kBlzrpFGpZXBMP3l0kFUmc7V2SfMzsJ7ywOsUNBBOqc=; b=ZVTmkGkf85BquXUQ9ph1/hh3CJFloLAzqG7HDCSzPLwTANTA6/1sJYboGump6LOUl4 /LSbLvYn1bRWV+7MgBaaE84LtWD3n3NUotpTVP8vXTyPadivuXM+s6AeXCNVmN3a61Wj JiYhADzJryjPNhm6pjja4Bc1bkAYu5AYDfZYFhtDimlyzlFF7mxkoXZRGWB+3xwk6B3q q4+Zj6jI+DcoPpz75HEZGGiSVK5WUbBPpsT5t74P9Ym+ig96ykNT5qhklsBXa08etP3l avxT0QNdTn3Bf7g5ICejQOhrbsn5DgdHVBIDO8hNm68ht4B11imXzvfKe6teQ8/ZIVmN 70Vg== X-Gm-Message-State: AGi0PubcKGGzhSdE7Fxs/Bzo952pY0iiTLChus/oHR7xMKN1CGQhB1Pz wPdCY2Jo1ZYvIms1mYDwPPNP1SOweSE= X-Google-Smtp-Source: APiQypJ79eLW9jDik9N0u7IhXYtq0y63rM/ots+aydVQ/wfzyJNEMe423kPlyq8aCuwIYZqhGX4AeQ== X-Received: by 2002:adf:eccf:: with SMTP id s15mr11584923wro.70.1589098595918; Sun, 10 May 2020 01:16:35 -0700 (PDT) Received: from localhost.localdomain (host187-75-dynamic.12-79-r.retail.telecomitalia.it. [79.12.75.187]) by smtp.gmail.com with ESMTPSA id t2sm21702475wmt.15.2020.05.10.01.16.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 May 2020 01:16:35 -0700 (PDT) From: nixo X-Google-Original-From: nixo Date: Sun, 10 May 2020 10:15:12 +0200 Message-Id: <20200510081513.26015-4-nicolo@nixo.xyz> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200510081513.26015-1-nicolo@nixo.xyz> References: <20200510081513.26015-1-nicolo@nixo.xyz> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/julia.scm (julia): Update to 1.4.1. * gnu/packages/julia.scm (julia-llvm): Update to 8. --- gnu/packages/julia.scm | 191 +++++++++++++++++++---------------------- 1 file changed, 86 insertions(+), 105 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 2bef25277d..c636fa756b 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -53,7 +53,7 @@ (let ((commit "35b1504507a7a4168caae3d78db54d1121b121e1") (revision "1")) ;; When upgrading Julia, also upgrade this. Get the commit from - ;; https://github.com/JuliaLang/julia/blob/v1.3.1/deps/libuv.version + ;; https://github.com/JuliaLang/julia/blob/v1.4.1/deps/libuv.version (package (inherit libuv) (name "libuv-julia") @@ -103,7 +103,7 @@ "/deps/patches/" name ".patch")) (define (julia-patch name sha) - (let ((version "1.3.1")) + (let ((version "1.4.1")) (origin (method url-fetch) (uri (julia-patch-url version name)) (sha256 (base32 sha)) @@ -111,10 +111,10 @@ (define llvm-julia (package - (inherit llvm-6) + (inherit llvm-8) (name "llvm-julia") (source (origin - (inherit (package-source llvm-6)) + (inherit (package-source llvm-8)) ;; Those patches are inside the Julia source repo. ;; They are _not_ Julia specific (https://github.com/julialang/julia#llvm) ;; but they are required to build Julia. @@ -124,42 +124,50 @@ ((name hash) (julia-patch name hash))) (list - '("llvm-6.0-D44650" - "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") + '("llvm-7.0-D44650" + "1h55kkmkiisfj6sk956if2bcj9s0v6n5czn8dxb870vp5nccj3ir") '("llvm-6.0-DISABLE_ABI_CHECKS" "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") '("llvm-6.0-NVPTX-addrspaces" "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") - '("llvm-6.0.0_D27296-libssp" - "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") '("llvm-D27629-AArch64-large_model_6.0.1" "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") - '("llvm-D34078-vectorize-fdiv" - "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") - '("llvm-D42262-jumpthreading-not-i1" - "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") - '("llvm-D44892-Perf-integration" - "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") - '("llvm-D46460" - "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") - '("llvm-D49832-SCEVPred" - "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") - '("llvm-D50010-VNCoercion-ni" - "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") - '("llvm-D50167-scev-umin" - "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") - '("llvm-OProfile-line-num" - "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") - '("llvm-PPC-addrspaces" - "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") - '("llvm-rL323946-LSRTy" - "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") - '("llvm-rL326967-aligned-load" - "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") - '("llvm-rL327898" - "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq")))))) + '("llvm8-D34078-vectorize-fdiv" + "19spqc3xsazn1xs9gpcgv9ldadfkv49rmc5khl7sf1dlmhgi4602") + '("llvm7-D50010-VNCoercion-ni" + "18scg6aa036xa1508s7q93w9dvc5gp69fz6yl6fkh4yffw4gymw6") + '("llvm-8.0-D50167-scev-umin" + "0g9w2x8yryjdkihnrf18x0yi5bi14c5p8wffda1w732dr5ckzk94") + '("llvm-D57118-powerpc" + "0vxz5s0s9b625v1rv8lg1566yhxh1i91ydzmvy5s7njvzc7p19aw") + '("llvm8-WASM-addrspaces" + "1176agj9hh7csdm2lnklb42zcdsb3q6lx9jiyp2shn4p2678y76q") + '("llvm-exegesis-mingw" + "0ph1cj1j7arvf1xq2xcr7qf9g0cpdl14fincgr67vpi520zvd3vp") + '("llvm-test-plugin-mingw" + "12z738cnahbf6n381im7i0hxp1m6k9hrnfjlmq9sac46nxly9gnj") + '("llvm-8.0-D66401-mingw-reloc" + "15v3p5sznn979cfnd7gdn3nd701fd7xd5aks6lnj1mslvljlq3ls") + '("llvm7-revert-D44485" + "0f59kq3p3mpwsbmskypbi4zn01l6ig0x7v2rjp08k2r8z8m6fa8n") + '("llvm-8.0-D63688-wasm-isLocal" + "0i9wi5n63ip3802z6m7aj3p07hkqjlmp4vg4wq3xkf9f6w9rksab") + '("llvm-8.0-D55758-tablegen-cond" + "1l08mg7qigravi7plsq3yzya80fljnp95n8faddr29wbr2qr0655") + '("llvm-8.0-D59389-refactor-wmma" + "0rgrwk4xlwpk7yai2j7xadcfws93rmk2hhh44fysa88imvrbp478") + '("llvm-8.0-D59393-mma-ptx63-fix" + "094jcsxbcx9fljj623mgmc0rjpk12s2rs0di0ck0hakzhr8mbv5n") + '("llvm-8.0-D66657-codegen-degenerate" + "1n1ddx19h90bbpimdyd9dh8fsm6gb93xxyqm4ljkxa1k3cx2vm72") + '("llvm-8.0-D71495-vectorize-freduce" + "1zff08wvji9lnpskk4b3p5zyjsy5hhy23ynxjqlj9dw7jvvfrf0p") + '("llvm-8.0-D75072-SCEV-add-type" + "0amlyyndsc90ml2k6prdahf24q0j23nfmlbqf8gcqcxpl5sqq3i6") + '("llvm-8.0-D65174-limit-merge-stores" + "1ls5114fhgip9rbqabqc16mi367ra0k75ngc1vyqqhq1ghm9x7y9")))))) (arguments - (substitute-keyword-arguments (package-arguments llvm-6) + (substitute-keyword-arguments (package-arguments llvm-8) ((#:configure-flags flags) `(list ;; Taken from NixOS. Only way I could get libLLVM-6.0.so "-DCMAKE_BUILD_TYPE=Release" @@ -191,6 +199,7 @@ (url "https://github.com/vtjnash/libwhich.git") ;; fixes linux-vdso.so related tests (commit "87cffe10080c98e7b5786c5166e420bf1ada1d41"))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "1bpa0fcqpa3ai3hm8mz0p13bf76fsq53wsfcx5qw302zh22108xr")))) @@ -222,7 +231,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") (define-public julia (package (name "julia") - (version "1.3.1") + (version "1.4.1") (source (origin (method url-fetch) (uri (string-append @@ -230,7 +239,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") version "/julia-" version ".tar.gz")) (sha256 (base32 - "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")) + "030aza3qj5zcinxbrbqgi7p64q6klwq2bhwccraarx7l0hg9lw3i")) (patches (search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch")))) (build-system gnu-build-system) @@ -253,15 +262,6 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") (delete 'configure) (add-after 'unpack 'prepare-deps (lambda* (#:key inputs #:allow-other-keys) - (mkdir "deps/srccache") - ;; no USE_SYSTEM_{OBJCONV/LIBWHICH} option - (copy-file (assoc-ref inputs "objconv") - "deps/srccache/objconv.zip") - (copy-file (assoc-ref inputs "libwhich") - (string-append "deps/srccache/libwhich-" - "81e9723c0273d78493dc8c8ed570f68d9ce7e89e" - ".tar.gz")) - ;; needed by libwhich (setenv "LD_LIBRARY_PATH" (string-join (map (lambda (pkg) @@ -286,21 +286,19 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") (("src ui doc deps") "src ui deps")) #t)) + (add-after 'unpack 'use-system-libwhich + (lambda* (#:key inputs #:allow-other-keys) + ;; don't build it + (substitute* "deps/Makefile" + (("DEP_LIBS \\+= libwhich") "")) + ;; call our version + (substitute* "base/Makefile" + (("\\$\\$\\(build_depsbindir\\)/libwhich") + (string-append (assoc-ref inputs "libwhich") "/bin/libwhich"))) + #t)) (add-before 'check 'set-home ;; Some tests require a home directory to be set. (lambda _ (setenv "HOME" "/tmp") #t)) - (add-after 'unpack 'hardcode-soname-map - ;; ./src/runtime_ccall.cpp creates a map from library names to paths - ;; using the output of "/sbin/ldconfig -p". Since ldconfig is not - ;; used in Guix, we patch runtime_ccall.cpp to contain a static map. - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "base/math.jl" - (("const libm = Base.libm_name") - (string-append "const libm = \"" - (assoc-ref inputs "openlibm") - "/lib/libopenlibm.so" - "\""))) - #t)) (add-before 'build 'fix-include-and-link-paths (lambda* (#:key inputs #:allow-other-keys) ;; LIBUTF8PROC is a linker flag, not a build target. It is @@ -343,10 +341,14 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") ;; running order. I think it depends on the number of ;; runners, disabling it for now ;; https://github.com/JuliaLang/julia/issues/34330 - "tests = filter(e->!in(e,[\"backtrace\",\"exceptions\", - \"stress\",\"precompile\", - \"client\",\"stacktraces\"]), + "tests = filter(e->!in(e,[\"backtrace\",\"exceptions\",\"precompile\", + \"client\",\"stacktraces\"]), testnames)")) + ;; precompile test is broken, fixed in + ;; fed29f893544d1dc8f86444c65d632c68168d0f3 + (substitute* "test/precompile.jl" + (("@test !isdefined\\(Base.Nothing.name.mt") + "# @test !isdefined(Base.Nothing.name.mt")) ;; When HOME is not set, julia calls uv_os_homedir, which in ;; turns call getpwuid_r. Add the HOME env variable to the ;; external julia call to fix this @@ -356,24 +358,31 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") ;; https://github.com/JuliaLang/julia/issues/32377 (substitute* "stdlib/REPL/test/replcompletions.jl" (("@test count") "@test_broken count")) + ;; Dates has a similar bug: + ;; https://github.com/JuliaLang/julia/issues/34655 + (substitute* "stdlib/Dates/test/io.jl" + (("\"Dates.Time") "\"Time")) + ;; Upstream bug I found when packaging + ;; https://github.com/JuliaLang/julia/issues/35785 + (substitute* "test/file.jl" + (("@test dirname\\(t\\) == d") "@test_broken dirname(t) == d")) #t)) - (add-after 'install 'make-wrapper - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (program "julia")) - (with-directory-excursion bin - (wrap-program program - `("JULIA_LOAD_PATH" ":" prefix - ("" "$JULIA_LOAD_PATH"))) - (wrap-program program - `("JULIA_DEPOT_PATH" ":" prefix - ("" "$JULIA_DEPOT_PATH")))) - #t)))) + (add-after 'install 'make-wrapper + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (program "julia")) + (with-directory-excursion bin + (wrap-program program + `("JULIA_LOAD_PATH" ":" prefix + ("" "$JULIA_LOAD_PATH"))) + (wrap-program program + `("JULIA_DEPOT_PATH" ":" prefix + ("" "$JULIA_DEPOT_PATH")))) + #t)))) #:make-flags (list - (string-append "prefix=" (assoc-ref %outputs "out")) - (string-append "PREFIX=" (assoc-ref %outputs "out")) + (string-append "prefix=" (assoc-ref %outputs "out")) ;; Passing the MARCH flag is necessary to build binary substitutes for ;; the supported architectures. @@ -421,17 +430,12 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") "USE_SYSTEM_PATCHELF=1" "USE_SYSTEM_PCRE=1" "USE_SYSTEM_OPENLIBM=1" - + "USE_SYSTEM_MBEDTLS=1" + "USE_SYSTEM_LIBSSH2=1" "USE_SYSTEM_GMP=1" "USE_SYSTEM_MPFR=1" "USE_SYSTEM_ARPACK=1" "USE_SYSTEM_LIBGIT2=1" - (string-append "LIBUV=" - (assoc-ref %build-inputs "libuv") - "/lib/libuv.so") - (string-append "LIBUV_INC=" - (assoc-ref %build-inputs "libuv") - "/include") "USE_SYSTEM_ZLIB=1"))) (inputs `(("llvm" ,llvm-julia) @@ -462,30 +466,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") ("suitesparse" ,suitesparse) ;; Find dependencies versions here: ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Versions.make - ("objconv" - ,(origin - (method url-fetch) - ;; No versioned URL, see for updates. - (uri "https://www.agner.org/optimize/objconv.zip") - (file-name "objconv-2018-10-07.zip") - (sha256 - (base32 - "0wp6ld9vk11f4nnkn56627zmlv9k5vafi99qa3yyn1pgcd61zcfs")))) - ("libwhich" - ,(let ((commit "81e9723c0273d78493dc8c8ed570f68d9ce7e89e")) - (origin - ;; Note: We use a /tarball URL, but that's because Julia's build - ;; system checks the hash of that tarball; thus we can't use - ;; 'git-fetch'. - (method url-fetch) - (uri (string-append - "https://api.github.com/repos/vtjnash/libwhich/tarball/" - commit)) - (file-name (string-append "libwhich-" (string-take commit 7) - ".tar.gz")) - (sha256 - (base32 - "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) + ("libwhich" ,libwhich) ("dsfmt" ,dsfmt))) (native-inputs `(("openssl" ,openssl)