From unknown Sat Jun 21 03:00:44 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#38546 <38546@debbugs.gnu.org> To: bug#38546 <38546@debbugs.gnu.org> Subject: Status: Update Julia to 1.3.1. Reply-To: bug#38546 <38546@debbugs.gnu.org> Date: Sat, 21 Jun 2025 10:00:44 +0000 retitle 38546 Update Julia to 1.3.1. reassign 38546 guix-patches submitter 38546 nixo severity 38546 normal tag 38546 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 09 08:57:15 2019 Received: (at submit) by debbugs.gnu.org; 9 Dec 2019 13:57:15 +0000 Received: from localhost ([127.0.0.1]:52792 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ieJXH-0002on-9V for submit@debbugs.gnu.org; Mon, 09 Dec 2019 08:57:15 -0500 Received: from lists.gnu.org ([209.51.188.17]:34535) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ieJXF-0002of-9k for submit@debbugs.gnu.org; Mon, 09 Dec 2019 08:57:13 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58340) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ieJXD-00053I-MX for guix-patches@gnu.org; Mon, 09 Dec 2019 08:57:13 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ieJX7-0004aH-PZ for guix-patches@gnu.org; Mon, 09 Dec 2019 08:57:11 -0500 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]:36129) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ieJX7-0004YP-GV for guix-patches@gnu.org; Mon, 09 Dec 2019 08:57:05 -0500 Received: by mail-wm1-x32f.google.com with SMTP id p17so15036368wma.1 for ; Mon, 09 Dec 2019 05:57:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=lGHrLUtDMEjV0hsZdOmjjkn/NtRgJtMiKhpXKMoxN50=; b=AV7R9aaMKANFDfmR4zxeaDcH2ySVs8l7q/O8HcLTOM2InGaRJl1wd3vw226dw2VC0H 4t6ROX1McNt0eUxiTpiyMxFGYxwL7MhWNwNPAg7SNmqG9Tx3Z1BEfdGUtdDfEOtdfqRu uyywx2zp2kGK54xsEYMNfhGdvNti59AZGk7XC904gqrIOd6N0blGd7fOlCkSunZQYGRD 44k2zv1DTp4XpvQ826plSyE6nVKf3xRq1bw+Ilr4jmrYBPiJ1SQ67GhQaS+BAWQrqcgJ UuD9t38G35JN3G2tMGD9zdohLVPPJJNNfDYaouKr4AbMbEZsTIvd1FakHIwgDZJai5qJ ASPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=lGHrLUtDMEjV0hsZdOmjjkn/NtRgJtMiKhpXKMoxN50=; b=UAPBE7G8A2UW+QIrDU6DaKsw+6tAWqBYb1wzEDHWr/GX2cKvLcCZMmMUiRiTlWBP9U 7SQpmZQPAtfyyXjZ8w/8cSusMGFlswFnRRQ1db72LYUdjMOa8TYR7xMQBcfTmX0qdQ3d 4TRxYwFEY5STUqUGWyIAa8jNgPNY6gJYQL1lL5/ug/dEb81qKP6MTCmXD2oxUbbfFjLe bbXbf3D4R59knGfBXfrWcEI1aMJP568ZlRZCFEsu1L4kW76fkyAmXEwV50r7crqRjAM5 /lVaBL6VDs74qoZhnAvvgP93fxh40YzWiYZ6C/efXFI5sskD9RDqmHf9l7ts115esr8G ZrPA== X-Gm-Message-State: APjAAAWAJvl0+DtLAJn8WLWvKRFRuFKQ4IY1AzQKzG/qI9RRsTtikwid vOA96v8ZBG5DhSZrGIp2cGyCUA8GAxc= X-Google-Smtp-Source: APXvYqx90QIX2MzQpEJbwR2cJ51LNPsbHtLkvxUPjlM8ZcoHrO4NwopzIq5BP+0ADdaRUPbZ4gSkbg== X-Received: by 2002:a05:600c:2c08:: with SMTP id q8mr8124791wmg.45.1575899822257; Mon, 09 Dec 2019 05:57:02 -0800 (PST) Received: from guixSD (host1-200-dynamic.5-87-r.retail.telecomitalia.it. [87.5.200.1]) by smtp.gmail.com with ESMTPSA id e6sm26212882wru.44.2019.12.09.05.57.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Dec 2019 05:57:01 -0800 (PST) From: nixo X-Google-Original-From: nixo To: Guix Patches Subject: [PATCH 0/3] Julia: fix package build and add julia-xyz Date: Mon, 9 Dec 2019 14:36:25 +0100 Message-ID: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32f X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Hello Guix! Changes: This set of patches improve the state of julia-build-system. 1. set path JULIA_LOAD_PATH to enable installing packages, and JULIA_DEPOT_PATH to allow guix-precompiled cache to be recognized by julia. To do this, a small "hack" with libfaketime was required (julia decides if the cache is valid by comparing source ".jl" mtime with cache ".ji" file, in which julia stores a timestamp. We need to force this timestamp to be equal to the mtime of guix-store files). 2. Enable package tests 3. Add a first package (julia-compat) definition. If this is fine, I'll start pushing many many more (I have them ready, but I need to update many of them) Thanks! :) One note: with this PATH changes, julia will not be able to find packages installed by Julia Pkg3.jl anymore. This is expected (it should happen for R, python, emacs... too) but since we still need to merge the packages, this patch renders julia pretty unusable. The workaround is for users to add to JULIA_LOAD_PATH and JULIA_LOAD_PATH local user-writable folders, activate a profile, and then install packages manually: #+begin_src bash JULIA_LOAD_PATH=/tmp/julia:$JULIA_LOAD_PATH JULIA_DEPOT_PATH=/tmp/julia:$JULIA_DEPOT_PATH julia #+end_src nixo (3): gnu: julia: Set to JULIA_LOAD_PATH and JULIA_DEPOT_PATH variables. gnu: julia-build-system: Enable tests. gnu: julia-xyz: Add julia-compat. #+begin_src julia using Pkg Pkg.activate("/tmp/julia") Pkg.add("PACKAGE_NAME") #+end_src -- 2.24.0 gnu/packages/julia-xyz.scm | 62 +++++++++++++ gnu/packages/julia.scm | 146 +++++++++++++++--------------- guix/build-system/julia.scm | 4 +- guix/build/julia-build-system.scm | 28 ++++-- 4 files changed, 159 insertions(+), 81 deletions(-) create mode 100644 gnu/packages/julia-xyz.scm From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 09 09:00:43 2019 Received: (at 38546) by debbugs.gnu.org; 9 Dec 2019 14:00:43 +0000 Received: from localhost ([127.0.0.1]:52797 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ieJaR-0002we-OE for submit@debbugs.gnu.org; Mon, 09 Dec 2019 09:00:43 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:43562) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ieJaP-0002w9-Et for 38546@debbugs.gnu.org; Mon, 09 Dec 2019 09:00:30 -0500 Received: by mail-wr1-f68.google.com with SMTP id d16so16275824wre.10 for <38546@debbugs.gnu.org>; Mon, 09 Dec 2019 06:00:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=H7wc+w6tZQZL6th+Fvp0bJLzljuhSaRMH8S5/FfyG0M=; b=oDjZf64TAyn5e0+ZkBB6c+YApTKDKw0MYo4f0kmkZdb9kvTsz7NopJKEKPFFl5YVbh Q4bbItX6PPTsiYikARpuR+TXhR+gJNHO+IUjX6aULvBSlh/vMou6889FrnsLwo71NLel fovs7r/fyNG5J1QyCm1FeRWDliZVUIlnlYvvNLNQKHNPKTdFV0abfLfO7iW+t/lCukYh LupHFmDBU4E8FGjdqVp5dbY/gK8IBAVD7JnPdrboacWSthdp0B+dYcM1p3Q73dEJx4Px C1Ig36UQ7jgazMWjDs3K6+LuK8nqjn2f1K2E6yb74J/+q9QFpsS0rSOSU0TegNWxcmyu hlUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=H7wc+w6tZQZL6th+Fvp0bJLzljuhSaRMH8S5/FfyG0M=; b=C2rT9/3G7T/vghqcwkPjU2AG+38e9BWqHlfd/vgNih90viYlLRU2ChUjG+LW7hcrtB Cq00J6r6Uh6ge8nHu9dmkin601I83Vitg8snOy26kTcoYDKrdowNMQHcBBqcHLdGD8wS NPw69lS79ddSYHZtDq8hs9BSrNl+4SEx6pcunG3W7snpxQwLMasxOpxGRNZhkD3L59Gt Vq/M0wFsKcwwPsgpu4txdER40rOhR+wS40QiiW0PUMTV6TwP9zoQzPj8ahzZo8LB7aY6 UCGwrEK20/+lZ0sG+jDUO2MiZPgxmocouMOyAssFSSOzX8in/bwYMXytWew0Sq4AGO8R livQ== X-Gm-Message-State: APjAAAXf3WLYoyIED7RfjHVVffKT+baoGqTcd+xiK2Hq5nmz1JoKwLhG M3DHGY54tErfDMyiJLihWBLFO+lnFws= X-Google-Smtp-Source: APXvYqyG49gHGEmBDKk2oEcHRuaqK/I2Uej620LSzDoyUY2piDYiLb78jyJZi5YtmrAGo8rJ/WsLvg== X-Received: by 2002:a5d:61cf:: with SMTP id q15mr2351346wrv.231.1575900022922; Mon, 09 Dec 2019 06:00:22 -0800 (PST) Received: from guixSD (host1-200-dynamic.5-87-r.retail.telecomitalia.it. [87.5.200.1]) by smtp.gmail.com with ESMTPSA id s25sm13304054wmh.4.2019.12.09.06.00.22 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Dec 2019 06:00:22 -0800 (PST) From: =?UTF-8?q?Nicol=C3=B2=20Balzarotti?= X-Google-Original-From: nixo To: Guix Patches <38546@debbugs.gnu.org> Subject: [PATCH 1/3] gnu: julia: Set to JULIA_LOAD_PATH and JULIA_DEPOT_PATH variables. Date: Thu, 10 Oct 2019 17:49:15 +0200 Message-ID: <87tv69vbt6.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/julia.scm | 146 +++++++++++++++++++++ 1 file changed, 75 insertions(+), 71 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 65a5e42beb..2516e7fa82 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -158,7 +158,7 @@ (define-public julia (pac [...] Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: libopenspecfun.so] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.68 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.68 listed in wl.mailspike.net] X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/julia.scm | 146 +++++++++++++++++++++ 1 file changed, 75 insertions(+), 71 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 65a5e42beb..2516e7fa82 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -158,7 +158,7 @@ (define-public julia (pac [...] Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: libopenblas.so] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager gnu/packages/julia.scm | 146 +++++++++++++++++++++-------------------- 1 file changed, 75 insertions(+), 71 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 65a5e42beb..2516e7fa82 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -158,7 +158,7 @@ (define-public julia (package (name "julia") - (version "1.1.1") + (version "1.1.1") ;; Update also JULIA_LOAD_PATH with it (source (origin (method url-fetch) (uri (string-append @@ -229,77 +229,77 @@ ;; 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) - (use-modules (ice-9 match)) - (substitute* "src/runtime_ccall.cpp" - ;; Patch out invocations of '/sbin/ldconfig' to avoid getting - ;; error messages about missing '/sbin/ldconfig' on Guix System. - (("popen\\(.*ldconfig.*\\);") - "NULL;\n") + ;; ./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) + (use-modules (ice-9 match)) + (substitute* "src/runtime_ccall.cpp" + ;; Patch out invocations of '/sbin/ldconfig' to avoid getting + ;; error messages about missing '/sbin/ldconfig' on Guix System. + (("popen\\(.*ldconfig.*\\);") + "NULL;\n") - ;; Populate 'sonameMap'. - (("jl_read_sonames.*;") - (string-join - (map (match-lambda - ((input libname soname) - (string-append - "sonameMap[\"" libname "\"] = " - "\"" (assoc-ref inputs input) "/lib/" soname "\";"))) - '(("libc" "libc" "libc.so.6") - ("pcre2" "libpcre2-8" "libpcre2-8.so") - ("mpfr" "libmpfr" "libmpfr.so") - ("openblas" "libblas" "libopenblas.so") - ("arpack-ng" "libarpack" "libarpack.so") - ("lapack" "liblapack" "liblapack.so") - ("libgit2" "libgit2" "libgit2.so") - ("gmp" "libgmp" "libgmp.so") - ("openspecfun" "libopenspecfun" "libopenspecfun.so") - ("fftw" "libfftw3" "libfftw3_threads.so") - ("fftwf" "libfftw3f" "libfftw3f_threads.so")))))) - (substitute* "base/math.jl" - (("const libm = Base.libm_name") - (string-append "const libm = \"" - (assoc-ref inputs "openlibm") - "/lib/libopenlibm.so" - "\"")) - (("const openspecfun = \"libopenspecfun\"") - (string-append "const openspecfun = \"" - (assoc-ref inputs "openspecfun") - "/lib/libopenspecfun.so" - "\""))) - #t)) + ;; Populate 'sonameMap'. + (("jl_read_sonames.*;") + (string-join + (map (match-lambda + ((input libname soname) + (string-append + "sonameMap[\"" libname "\"] = " + "\"" (assoc-ref inputs input) "/lib/" soname "\";"))) + '(("libc" "libc" "libc.so.6") + ("pcre2" "libpcre2-8" "libpcre2-8.so") + ("mpfr" "libmpfr" "libmpfr.so") + ("openblas" "libblas" "libopenblas.so") + ("arpack-ng" "libarpack" "libarpack.so") + ("lapack" "liblapack" "liblapack.so") + ("libgit2" "libgit2" "libgit2.so") + ("gmp" "libgmp" "libgmp.so") + ("openspecfun" "libopenspecfun" "libopenspecfun.so") + ("fftw" "libfftw3" "libfftw3_threads.so") + ("fftwf" "libfftw3f" "libfftw3f_threads.so")))))) + (substitute* "base/math.jl" + (("const libm = Base.libm_name") + (string-append "const libm = \"" + (assoc-ref inputs "openlibm") + "/lib/libopenlibm.so" + "\"")) + (("const openspecfun = \"libopenspecfun\"") + (string-append "const openspecfun = \"" + (assoc-ref inputs "openspecfun") + "/lib/libopenspecfun.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 - ;; included in the LIBFILES_* variable which is used as a - ;; collection of build targets and a list of libraries to link - ;; against. - (substitute* "src/flisp/Makefile" - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\): \\$\\(OBJS\\) \\$\\(LIBFILES_release\\)") - "$(BUILDDIR)/$(EXENAME): $(OBJS) $(LLT_release)") - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug: \\$\\(DOBJS\\) \\$\\(LIBFILES_debug\\)") - "$(BUILDDIR)/$(EXENAME)-debug: $(DOBJS) $(LLT_debug)")) + (lambda* (#:key inputs #:allow-other-keys) + ;; LIBUTF8PROC is a linker flag, not a build target. It is + ;; included in the LIBFILES_* variable which is used as a + ;; collection of build targets and a list of libraries to link + ;; against. + (substitute* "src/flisp/Makefile" + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\): \\$\\(OBJS\\) \\$\\(LIBFILES_release\\)") + "$(BUILDDIR)/$(EXENAME): $(OBJS) $(LLT_release)") + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug: \\$\\(DOBJS\\) \\$\\(LIBFILES_debug\\)") + "$(BUILDDIR)/$(EXENAME)-debug: $(DOBJS) $(LLT_debug)")) - ;; The REPL must be linked with libuv. - (substitute* "ui/Makefile" - (("JLDFLAGS \\+= ") - (string-append "JLDFLAGS += " - (assoc-ref %build-inputs "libuv") - "/lib/libuv.so "))) + ;; The REPL must be linked with libuv. + (substitute* "ui/Makefile" + (("JLDFLAGS \\+= ") + (string-append "JLDFLAGS += " + (assoc-ref %build-inputs "libuv") + "/lib/libuv.so "))) - (substitute* "base/Makefile" - (("\\$\\(build_includedir\\)/uv/errno.h") - (string-append (assoc-ref inputs "libuv") - "/include/uv/errno.h"))) - #t)) + (substitute* "base/Makefile" + (("\\$\\(build_includedir\\)/uv/errno.h") + (string-append (assoc-ref inputs "libuv") + "/include/uv/errno.h"))) + #t)) (add-before 'build 'replace-default-shell - (lambda _ - (substitute* "base/client.jl" - (("/bin/sh") (which "sh"))) - #t)) + (lambda _ + (substitute* "base/client.jl" + (("/bin/sh") (which "sh"))) + #t)) (add-after 'unpack 'hardcode-paths (lambda _ (substitute* "stdlib/InteractiveUtils/src/InteractiveUtils.jl" @@ -345,9 +345,9 @@ ;; platforms, e.g. when running "guix package --search=" (_ "MARCH=UNSUPPORTED")) - "CONFIG_SHELL=bash" ;needed to build bundled libraries - "USE_SYSTEM_DSFMT=0" ;not packaged for Guix and upstream has no - ;build system for a shared library. + "CONFIG_SHELL=bash" ;needed to build bundled libraries + "USE_SYSTEM_DSFMT=0" ;not packaged for Guix and upstream has no + ;build system for a shared library. "USE_SYSTEM_LAPACK=1" "USE_SYSTEM_BLAS=1" "USE_BLAS64=0" ;needed when USE_SYSTEM_BLAS=1 @@ -485,7 +485,11 @@ (native-search-paths (list (search-path-specification (variable "JULIA_LOAD_PATH") - (files (list "share/julia/packages/"))))) + (files (list "share/julia/packages/" + "share/julia/stdlib/v1.1/"))) + (search-path-specification + (variable "JULIA_DEPOT_PATH") + (files (list "share/julia/"))))) ;; Julia is not officially released for ARM and MIPS. ;; See https://github.com/JuliaLang/julia/issues/10639 (supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux")) -- 2.24.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 09 09:01:12 2019 Received: (at 38546) by debbugs.gnu.org; 9 Dec 2019 14:01:12 +0000 Received: from localhost ([127.0.0.1]:52805 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ieJb6-0002zF-4Q for submit@debbugs.gnu.org; Mon, 09 Dec 2019 09:01:12 -0500 Received: from mail-wm1-f53.google.com ([209.85.128.53]:51965) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ieJb5-0002z2-GT for 38546@debbugs.gnu.org; Mon, 09 Dec 2019 09:01:11 -0500 Received: by mail-wm1-f53.google.com with SMTP id g206so15615370wme.1 for <38546@debbugs.gnu.org>; Mon, 09 Dec 2019 06:01:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=R1pOjVjfkYP0/RizHzBsVDjA1ihpjc8d/A/lxx+upj4=; b=BPp3TzqJLT8yrcFLcKy9xxpP/1UO9YoIFWRj0vEGRLOVfzUEegxschJtgqqoJfcK5g y4OXjPq2In2isRxzJGtw4Dk7gTbmx5kIKYbf2ufLMl6xHQY3vGf+GyC5SOEAQHIIsLxb wEp9FxgTJTBpCda2SLl5SZcPPZ7LcpCrQy49I9MrkO8H/WYm+bsw2X6KvqV1o57FY56a Roj1coS3bSbvmBGdCzyCRQcT6XLoUMdsj5f2uN4bvHFiyjxjI/55QGpFJXNwxvZm0G2N RnpEU7sQSmCHx81DVNIRSvs0lPH1QID1cABlSKKUaoxcybaCcyWJMxaYn1T50bj/0JuR abXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=R1pOjVjfkYP0/RizHzBsVDjA1ihpjc8d/A/lxx+upj4=; b=mBb7+7lm5/vgt5MMswvMkBaoT9ict6zA6US01jqennpuFdNY9M0OeYbnU3fLgwexlS ZKP6AYtNfPYRxaV49wlnpfIRH2uZnC4MPJLIaSKxS/bzlDxrL4nHs8jXrbKbSYfRzEAs SLlroXiN2CHFTrQIUULNmwTDhfLSMutVahG8YGD9hoadhR05Kh/EaFnCVdD4PyB6jpIj Cgodicu57Ru+LJdDCWQWFo9OGxtQqpr3V8qGaK7xtEox7AzaD5WKvnGBktaGCv6CGm9o ctKNb1SDLzhBcWtbb8j3+btTyrekIhasAFkAF4FOKYYc6qXtzcOhY1dyAppkKfNxPrgE pLTw== X-Gm-Message-State: APjAAAUdUU46ReqJhNefxuUn4xIyEo2kUnlBdx7VmCaHeN1n6ZJ3Cqp9 8402IVnTd4U6owec2NnPyB/19OBfNb4= X-Google-Smtp-Source: APXvYqzixuLdpDo6FFqpwBYQ2Of34hBBeKGEHPLPuCBKlcLfRlzrzaWgLL6meFNzv3SLsPgTdwz8VA== X-Received: by 2002:a05:600c:cd:: with SMTP id u13mr25130362wmm.24.1575900065069; Mon, 09 Dec 2019 06:01:05 -0800 (PST) Received: from guixSD (host1-200-dynamic.5-87-r.retail.telecomitalia.it. [87.5.200.1]) by smtp.gmail.com with ESMTPSA id w13sm28688595wru.38.2019.12.09.06.01.04 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Dec 2019 06:01:04 -0800 (PST) From: =?UTF-8?q?Nicol=C3=B2=20Balzarotti?= X-Google-Original-From: nixo To: Guix Patches <38546@debbugs.gnu.org> Subject: [PATCH 2/3] gnu: julia-build-system: Enable tests. Date: Thu, 10 Oct 2019 17:49:15 +0200 Message-ID: <87sgltvbs1.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: --- guix/build-system/julia.scm | 4 +++- guix/build/julia-build-system.scm | 28 +++++++++++++++++++--------- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/guix/build-system/julia.scm b/guix/build-system/julia.scm index 488fe9bb1d..0c07484f12 100644 --- a/guix/build-system/julia.scm +++ b/guix/build-system/julia.scm @@ -26,6 +26,7 @@ #:use-m [...] Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.53 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.53 listed in wl.mailspike.net] X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: --- guix/build-system/julia.scm | 4 +++- guix/build/julia-build-system.scm | 28 +++++++++++++++++++--------- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/guix/build-system/julia.scm b/guix/build-system/julia.scm index 488fe9bb1d..0c07484f12 100644 --- a/guix/build-system/julia.scm +++ b/guix/build-system/julia.scm @@ -26,6 +26,7 @@ #:use-m [...] Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.53 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.53 listed in wl.mailspike.net] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager --- guix/build-system/julia.scm | 4 +++- guix/build/julia-build-system.scm | 28 +++++++++++++++++++--------- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/guix/build-system/julia.scm b/guix/build-system/julia.scm index 488fe9bb1d..0c07484f12 100644 --- a/guix/build-system/julia.scm +++ b/guix/build-system/julia.scm @@ -26,6 +26,7 @@ #:use-module (guix build-system gnu) #:use-module (ice-9 match) #:use-module (srfi srfi-26) + #:use-module (gnu packages check) ;; libfaketime #:export (%julia-build-system-modules julia-build julia-build-system)) @@ -68,6 +69,7 @@ ;; Keep the standard inputs of 'gnu-build-system'. ,@(standard-packages))) (build-inputs `(("julia" ,julia) + ("libfaketime" ,libfaketime) ,@native-inputs)) (outputs outputs) (build julia-build) @@ -75,7 +77,7 @@ (define* (julia-build store name inputs #:key source - (tests? #f) + (tests? #t) (phases '(@ (guix build julia-build-system) %standard-phases)) (outputs '("out")) diff --git a/guix/build/julia-build-system.scm b/guix/build/julia-build-system.scm index ff6fcf5fe3..bd4c64fa11 100644 --- a/guix/build/julia-build-system.scm +++ b/guix/build/julia-build-system.scm @@ -32,7 +32,13 @@ ;; Code: (define (invoke-julia code) - (invoke "julia" "-e" code)) + ;; Julia stores the result of the time() call + ;; inside the precompiled file. When trying to load it, its precompilation + ;; it fails at comparing the file mtime with the precompilation time, + ;; always triggering a recompile. This fixes the stored value. + ;; Also, libc.jl rand() uses time() as its seed. This might introduce indeterminism while building + ;; Default guix mtime is 1, so I'm setting the same here (if they differ, precompilation is invalid) + (invoke "faketime" "-f" "1970-01-01 00:00:01" "julia" "-e" code)) ;; subpath where we store the package content (define %package-path "/share/julia/packages/") @@ -78,13 +84,17 @@ (invoke-julia (string-append "using " package))) #t) -(define* (check #:key source inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (package (strip-store-file-name source)) - (builddir (string-append out "/share/julia/"))) - (setenv "JULIA_DEPOT_PATH" builddir) - (setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs)) - (invoke-julia (string-append "using Pkg;Pkg.test(\"" package "\")"))) +(define* (check #:key tests? source inputs outputs #:allow-other-keys) + (when tests? + (let* ((out (assoc-ref outputs "out")) + (package (strip-store-file-name source)) + (builddir (string-append out "/share/julia/"))) + (setenv "JULIA_DEPOT_PATH" builddir) + (setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs)) + (display builddir) + (invoke "julia" (string-append builddir + "packages/" + package "/test/runtests.jl")))) #t) (define (julia-create-package-toml outputs source @@ -119,7 +129,7 @@ version = \"" version "\" (delete 'check) ; tests must be run after installation (replace 'install install) (add-after 'install 'precompile precompile) - ;; (add-after 'install 'check check) + (add-after 'install 'check check) ;; TODO: In the future we could add a "system-image-generation" phase ;; where we use PackageCompiler.jl to speed up package loading times (delete 'configure) -- 2.24.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 09 09:01:39 2019 Received: (at 38546) by debbugs.gnu.org; 9 Dec 2019 14:01:39 +0000 Received: from localhost ([127.0.0.1]:52808 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ieJbX-000304-Fd for submit@debbugs.gnu.org; Mon, 09 Dec 2019 09:01:39 -0500 Received: from mail-wr1-f41.google.com ([209.85.221.41]:41360) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ieJbU-0002zp-4a for 38546@debbugs.gnu.org; Mon, 09 Dec 2019 09:01:37 -0500 Received: by mail-wr1-f41.google.com with SMTP id c9so16322984wrw.8 for <38546@debbugs.gnu.org>; Mon, 09 Dec 2019 06:01:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=jKZqmGi9UblsXcAB5zboN+7molI8KReX/LEostBrgbA=; b=BtVYTnP8C7ylK9MBSc/6M+PPU6wunJpu8FJtGRzU9vsnH0LE5xedKBhwYqVGPUF4yA uHbVM7afFL1lpzpJMolw7iDNdq1MfY8iwYxXyDHQ99Ue2ZScm4RBjBYulv7QBnFcV4B8 olk+FjQDiWLJi/Z2JKdhl5TROhv33FuuIV4o5PoK8JrikSdG1k5+goujXN0Wnwvdq5AR iapZQgHRZw9c6+7HMvfjknzFgci2tvzQtmRkYfU+gZNYoxffby8SoVSnT6PYVUVGFJRD Zz7cyLRGz6I4SLxzmZp75OBvzWQxc0QGuKaeDXo8b6iiCP0S0Nl4i0NWU0jKEcW9UojO CqDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=jKZqmGi9UblsXcAB5zboN+7molI8KReX/LEostBrgbA=; b=gACFCkQgE5MbZXgxX/HWGPHzVmWEjYarG6L7rXc2Vleba3Mx8tgs/isFaVcwLRuwNz hOXHWGNUulQafz/1DUmJmvtsV+cuEHZRM7Jq3j8hN8HIGAE9LBp/G9e/XS6zZHaydOAb n4sNJuoa/RIBEVtTsf6UCa86MZk4Aemzj3h55AxW9sH/tFPcHkdbv+E8x04SqskbqN8h Abxl0tx9AXGw3XafOMY349Y15OV4NQOz/wOe1ZMxUa4svtPI+wrwIVJxW3x2LdyJBzRq T811JSrmQaOLpbPxSj8FgvB61NpYNaMDBErtwQYDdcsZqOYb/MSg/rj2bM0RBrKIPs4n 1vxw== X-Gm-Message-State: APjAAAWHbyrp/ts3TpnsJkV1LFiWwj8YhfIVnJsejBzz3g0XZrrMFgjv pgK0XQTxRlhhixTDtRDn3WnxhOI9kww= X-Google-Smtp-Source: APXvYqz8FIfwRKDShXG1Maeuhi6rk0WzVjDh+ai6tYpj+kfIwiTvp++vAwqGUt36Qcgi8TlsPX40HA== X-Received: by 2002:adf:c145:: with SMTP id w5mr2307647wre.205.1575900089902; Mon, 09 Dec 2019 06:01:29 -0800 (PST) Received: from guixSD (host1-200-dynamic.5-87-r.retail.telecomitalia.it. [87.5.200.1]) by smtp.gmail.com with ESMTPSA id f9sm5012616wmb.4.2019.12.09.06.01.28 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Dec 2019 06:01:29 -0800 (PST) From: =?UTF-8?q?Nicol=C3=B2=20Balzarotti?= X-Google-Original-From: nixo To: Guix Patches <38546@debbugs.gnu.org> Subject: [PATCH 3/3] gnu: julia-xyz: Add julia-compat. Date: Thu, 10 Oct 2019 17:49:15 +0200 Message-ID: <87r21dvbrc.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/julia-xyz.scm: New file. * gnu/packages/julia-xyz.scm (julia-compat): New variable. --- gnu/packages/julia-xyz.scm | 62 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 inserti [...] Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: gnu.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.41 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.41 listed in wl.mailspike.net] X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/julia-xyz.scm: New file. * gnu/packages/julia-xyz.scm (julia-compat): New variable. --- gnu/packages/julia-xyz.scm | 62 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 inserti [...] Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: nixo.xyz] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.41 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.41 listed in wl.mailspike.net] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/julia-xyz.scm: New file. * gnu/packages/julia-xyz.scm (julia-compat): New variable. --- gnu/packages/julia-xyz.scm | 62 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 gnu/packages/julia-xyz.scm diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm new file mode 100644 index 0000000000..85d4d696d9 --- /dev/null +++ b/gnu/packages/julia-xyz.scm @@ -0,0 +1,62 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2019 Nicol=C3=B2 Balzarotti +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages julia-xyz) + #:use-module (guix build-system julia) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (gnu packages algebra) + #:use-module (gnu packages base) ; binutils (packagecompiler) + #:use-module (gnu packages commencement) + #:use-module (gnu packages compression) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages fonts) + #:use-module (gnu packages graphics) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) + #:use-module (gnu packages maths) + #:use-module (gnu packages statistics) + #:use-module (gnu packages video) + #:use-module (gnu packages web) + #:use-module (gnu packages xml) + #:use-module (gnu packages tls)) + +(define-public julia-compat + (package + (name "julia-compat") + (version "3.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaLang/Compat.jl") + (commit (string-append "v" version)))) + (file-name "Compat") + (sha256 + (base32 "0n4gqk0b5fcf0d12gizjs7hsgakh7w7xgx2srbvzc5pkm5z469l4")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaLang/Compat.jl") + (synopsis "Compatibility across Julia versions") + (description "The Compat package is designed to ease interoperability +between older and newer versions of the Julia language. The Compat package +provides a macro that lets you use the latest syntax in a backwards-compat= ible +way.") + (license license:expat))) --=20 2.24.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 15 16:40:10 2019 Received: (at 38546) by debbugs.gnu.org; 15 Dec 2019 21:40:10 +0000 Received: from localhost ([127.0.0.1]:37321 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1igbcY-0001Ij-Ez for submit@debbugs.gnu.org; Sun, 15 Dec 2019 16:40:10 -0500 Received: from eggs.gnu.org ([209.51.188.92]:42644) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1igbcW-0001IR-5K for 38546@debbugs.gnu.org; Sun, 15 Dec 2019 16:40:08 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:49522) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1igbcQ-0000QT-VA; Sun, 15 Dec 2019 16:40:03 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=44724 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1igbcQ-0000ay-EV; Sun, 15 Dec 2019 16:40:02 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: nixo Subject: Re: [bug#38546] [PATCH 0/3] Julia: fix package build and add julia-xyz References: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> Date: Sun, 15 Dec 2019 22:40:00 +0100 In-Reply-To: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> (nixo's message of "Mon, 9 Dec 2019 14:36:25 +0100") Message-ID: <87fthls1xr.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 38546 Cc: 38546@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi! nixo skribis: > This set of patches improve the state of julia-build-system. > > 1. set path JULIA_LOAD_PATH to enable installing packages, and > JULIA_DEPOT_PATH to allow guix-precompiled cache to be recognized by ju= lia. To These two environment variables are supported upstream, right? > do this, a small "hack" with libfaketime was required (julia decides if= the > cache is valid by comparing source ".jl" mtime with cache ".ji" file, i= n which > julia stores a timestamp. We need to force this timestamp to be equal t= o the > mtime of guix-store files). OK. This hack shouldn=E2=80=99t break =E2=80=9Cnormal=E2=80=9D Julia uses = (outside of the store), right? Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 15 16:43:25 2019 Received: (at 38546) by debbugs.gnu.org; 15 Dec 2019 21:43:25 +0000 Received: from localhost ([127.0.0.1]:37325 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1igbfg-0001NN-Tk for submit@debbugs.gnu.org; Sun, 15 Dec 2019 16:43:25 -0500 Received: from eggs.gnu.org ([209.51.188.92]:46567) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1igbff-0001NA-Ih for 38546@debbugs.gnu.org; Sun, 15 Dec 2019 16:43:23 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:49536) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1igbfa-0001yK-DG; Sun, 15 Dec 2019 16:43:18 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=44730 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1igbfa-0000mt-0m; Sun, 15 Dec 2019 16:43:18 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: =?utf-8?Q?Nicol=C3=B2?= Balzarotti Subject: Re: [bug#38546] [PATCH 1/3] gnu: julia: Set to JULIA_LOAD_PATH and JULIA_DEPOT_PATH variables. References: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87tv69vbt6.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> Date: Sun, 15 Dec 2019 22:43:16 +0100 In-Reply-To: <87tv69vbt6.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> (=?utf-8?Q?=22Nicol=C3=B2?= Balzarotti"'s message of "Thu, 10 Oct 2019 17:49:15 +0200") Message-ID: <87bls9s1sb.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 38546 Cc: Guix Patches <38546@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Nicol=C3=B2 Balzarotti skribis: > gnu/packages/julia.scm | 146 +++++++++++++++++++++-------------------- > 1 file changed, 75 insertions(+), 71 deletions(-) Please make sure to add a commit log listing all the entities changed. Apparently there was some reindentation that makes this patch looks big and makes the actual changes harder to spot. Could you resubmit it without the reindentation? > (native-search-paths > (list (search-path-specification > (variable "JULIA_LOAD_PATH") > - (files (list "share/julia/packages/"))))) > + (files (list "share/julia/packages/" > + "share/julia/stdlib/v1.1/"))) Why is this extra entry needed? Doesn=E2=80=99t Julia find its own standard library by default, even if JULIA_LOAD_PATH is unset? > + (search-path-specification > + (variable "JULIA_DEPOT_PATH") > + (files (list "share/julia/"))))) What=E2=80=99s JULIA_DEPOT_PATH supposed to point to again? =E2=80=98share= /julia=E2=80=99 seems to be very much a catch-all thing. :-) Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 15 16:46:02 2019 Received: (at 38546) by debbugs.gnu.org; 15 Dec 2019 21:46:02 +0000 Received: from localhost ([127.0.0.1]:37329 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1igbiE-0001Rm-AH for submit@debbugs.gnu.org; Sun, 15 Dec 2019 16:46:02 -0500 Received: from eggs.gnu.org ([209.51.188.92]:48580) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1igbiD-0001RG-2i for 38546@debbugs.gnu.org; Sun, 15 Dec 2019 16:46:01 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:49542) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1igbi7-0004M9-Sr; Sun, 15 Dec 2019 16:45:55 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=44732 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1igbi7-0000za-9U; Sun, 15 Dec 2019 16:45:55 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: =?utf-8?Q?Nicol=C3=B2?= Balzarotti Subject: Re: [bug#38546] [PATCH 2/3] gnu: julia-build-system: Enable tests. References: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87sgltvbs1.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> Date: Sun, 15 Dec 2019 22:45:53 +0100 In-Reply-To: <87sgltvbs1.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> (=?utf-8?Q?=22Nicol=C3=B2?= Balzarotti"'s message of "Thu, 10 Oct 2019 17:49:15 +0200") Message-ID: <877e2xs1ny.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 38546 Cc: Guix Patches <38546@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Nicol=C3=B2 Balzarotti skribis: > --- > guix/build-system/julia.scm | 4 +++- > guix/build/julia-build-system.scm | 28 +++++++++++++++++++--------- > 2 files changed, 22 insertions(+), 10 deletions(-) With a commit log, please. :-) > --- a/guix/build/julia-build-system.scm > +++ b/guix/build/julia-build-system.scm > @@ -32,7 +32,13 @@ > ;; Code: >=20=20 > (define (invoke-julia code) > - (invoke "julia" "-e" code)) > + ;; Julia stores the result of the time() call > + ;; inside the precompiled file. When trying to load it, its precompila= tion > + ;; it fails at comparing the file mtime with the precompilation time, > + ;; always triggering a recompile. This fixes the stored value. > + ;; Also, libc.jl rand() uses time() as its seed. This might introduce = indeterminism while building > + ;; Default guix mtime is 1, so I'm setting the same here (if they diff= er, precompilation is invalid) > + (invoke "faketime" "-f" "1970-01-01 00:00:01" "julia" "-e" code)) Do you think it would be feasible to modify Julia to emit this fixed timestamp, or to honor SOURCE_DATE_EPOCH, instead of using =E2=80=98faketim= e=E2=80=99? The reason I=E2=80=99m asking is that (1) =E2=80=98faketime=E2=80=99 relies= on LD_PRELOAD and so it could introduce its own set of issues, and (2) I wouldn=E2=80=99t be surprised to find ready-to-use SOURCE_DATE_EPOCH patches from fellow Reproducible Builders floating around. :-) Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 15 16:47:06 2019 Received: (at 38546) by debbugs.gnu.org; 15 Dec 2019 21:47:06 +0000 Received: from localhost ([127.0.0.1]:37333 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1igbjG-0001Tb-LJ for submit@debbugs.gnu.org; Sun, 15 Dec 2019 16:47:06 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49542) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1igbjF-0001T1-5X for 38546@debbugs.gnu.org; Sun, 15 Dec 2019 16:47:05 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:49548) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1igbj9-0006BV-Vm; Sun, 15 Dec 2019 16:47:00 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=44734 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1igbj9-00012q-DO; Sun, 15 Dec 2019 16:46:59 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: =?utf-8?Q?Nicol=C3=B2?= Balzarotti Subject: Re: [bug#38546] [PATCH 3/3] gnu: julia-xyz: Add julia-compat. References: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87r21dvbrc.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> Date: Sun, 15 Dec 2019 22:46:56 +0100 In-Reply-To: <87r21dvbrc.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> (=?utf-8?Q?=22Nicol=C3=B2?= Balzarotti"'s message of "Thu, 10 Oct 2019 17:49:15 +0200") Message-ID: <8736dls1m7.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 38546 Cc: Guix Patches <38546@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Nicol=C3=B2 Balzarotti skribis: > * gnu/packages/julia-xyz.scm: New file. > * gnu/packages/julia-xyz.scm (julia-compat): New variable. The second line is unnecessary. However, please make sure to add the file to =E2=80=98gnu/local.mk=E2=80=99. Otherwise LGTM. Thanks! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 18 08:32:47 2020 Received: (at 38546) by debbugs.gnu.org; 18 Jan 2020 13:32:47 +0000 Received: from localhost ([127.0.0.1]:40663 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoDW-00070K-Qq for submit@debbugs.gnu.org; Sat, 18 Jan 2020 08:32:47 -0500 Received: from mail-wr1-f52.google.com ([209.85.221.52]:47051) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoDU-000703-CE for 38546@debbugs.gnu.org; Sat, 18 Jan 2020 08:32:45 -0500 Received: by mail-wr1-f52.google.com with SMTP id z7so25179792wrl.13 for <38546@debbugs.gnu.org>; Sat, 18 Jan 2020 05:32:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:references:date:message-id:mime-version :content-transfer-encoding; bh=bW1S8bDWJbJhqaIS9Jdn2qL5jp0mx9Yn5vHV92cDygE=; b=qXtP7yza7RcbY/Ay9ZNKPhosOSy8B37ITIPEDe9ufWqWuk6gGwiYc1RYLSwD+RZUGv z5x8LlH06IFkdogKRW79aMpJ9otxYXpPjj7WD6p5P8ZrGi8zDT8tU0lBdqePknyGV7dR l/I/YAZMbcGp5rPVTFQ82ykr34+1lzHsssfs7E1XsIMN+yHolqrnjRuiV+f4UCtPXg1u N6qAkswmhBhW2MnU95k9euiVEKS1pj1caMnVeRZhZmZoCLwkDMmh/II8S2ZcdRm2wBfN D0qbmJMBy0F5NwkJXpWmT3K7KHy7CsCGkTDxuX/E5hC7hdj6uKIi9gp+soF9/PwHT+MF U0AQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:references:date:message-id :mime-version:content-transfer-encoding; bh=bW1S8bDWJbJhqaIS9Jdn2qL5jp0mx9Yn5vHV92cDygE=; b=PpP6Mq5WRKSxoXrDTeJjj+MIJBp6RJnR+0TDUtAVjbBIHtRBlkHMDA3/tZLxFN9vZ7 9v+71X6lj49nFUOqbkiTxuDPc3YqdnRSJ8+z5bUa9Rpxm4EE7d0up1ud2uguNrT/QjOq 8+0YaLIRL/I7FHoPwWYWyR37Nc5vKTXriMlHgxvb2FBHHvrdNw6lS2VZCmjgipvIkC3p MplLESpXBvEgKwKVnWTFry0DntwU/j9ortuE4cDY0WftUXUBubQlD1eRkrLOmDqPgvxs /Xe4rZ3/uJt5f/1qTjjBVnLW+cqudxr5SzGRM2DCuXYD3DlLUS94mYzSlCEmILnE4705 F4Og== X-Gm-Message-State: APjAAAWnBWBM9PVY7KoewUjiMnXkZrtb13GZr5jGSXvK9XfxbSnmfxis A25dAAlBiDleS0MquAEiogPn2PR0 X-Google-Smtp-Source: APXvYqzYw9d27YPZBCo9mZpcR6HaJwjpphxR9ji+Bfb2AoqIRoJnsAiiyAGWPP9kPbM2ftghFJYEdA== X-Received: by 2002:adf:eb0a:: with SMTP id s10mr8082681wrn.320.1579354358006; Sat, 18 Jan 2020 05:32:38 -0800 (PST) Received: from guixSD (host146-19-dynamic.50-79-r.retail.telecomitalia.it. [79.50.19.146]) by smtp.gmail.com with ESMTPSA id b15sm3359777wmj.13.2020.01.18.05.32.37 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2020 05:32:37 -0800 (PST) From: anothersms@gmail.com (=?utf-8?Q?Nicol=C3=B2?= Balzarotti) To: 38546@debbugs.gnu.org Subject: =?utf-8?Q?=5BNicol=C3=B2?= Balzarotti] [PATCH 00/11] Update julia to 1.3.1, fix precompilation, add HTTP.jl References: <87zhekvqpj.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> Date: Sat, 18 Jan 2020 14:32:36 +0100 Message-ID: <87sgkcvqiz.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Ok I had time to look at this again. 1. Package installation can be done both the julia way and the guix way 2. SOURCE_DATE_EPOCH is respected in package precompile timestamp. Other fi= xes are needed to get reproducible builds, but for now that means that pack= age cache is used. 3. This patch adds some first julia package (HTTP.jl and dependencies)=20 4. Updated julia to 1.3.1 (latest release). It's working great and the build recipe is simplified a lot. However, some test is failing. The "interesting" part is that when running tests alone, they are working. It seems like the problem arise when tests are run on the _same core_ and not on different cores. I opened a issue upstream for this (https://github.com/JuliaLang/julia/issues/34330), I'll have to look further on it, but for now if it's fine for me this is ready to be merged. I'm sending the patch series here. Thanks, Nicol=C3=B2 Ludovic Court=C3=A8s writes: > Hi, > > (+Cc: bug report.) > > Nicol=C3=B2 Balzarotti skribis: > >> Ludovic Court=C3=A8s writes: >> >>> Hi! >>> >>> nixo skribis: >>> >>>> This set of patches improve the state of julia-build-system. >>>> >>>> 1. set path JULIA_LOAD_PATH to enable installing packages, and >>>> JULIA_DEPOT_PATH to allow guix-precompiled cache to be recognized by= julia. To >>> >>> These two environment variables are supported upstream, right? >> >> Yes, those variables are documented here: >> https://docs.julialang.org/en/v1/manual/environment-variables/index.html > > Great. > >> Should user be allowed to manually install packages in his own private >> home folder manually? (I just tried with R: R recognize the store is RO >> and ask for an alternative path). I'll try to allow "standard" package >> installation and submit the patch again (also, I just read you other >> comments, so I'll fix everything!) > > I think users should have the option to install packages in the normal > Julia way, without Guix. > >>>> do this, a small "hack" with libfaketime was required (julia decides= if the >>>> cache is valid by comparing source ".jl" mtime with cache ".ji" file= , in which >>>> julia stores a timestamp. We need to force this timestamp to be equa= l to the >>>> mtime of guix-store files). >>> >>> OK. This hack shouldn=E2=80=99t break =E2=80=9Cnormal=E2=80=9D Julia u= ses (outside of the >>> store), right? >> You are right, the issue is that julia finds its src (.jl) file to have >> a different (although older) timestamp (because guix fixes the >> mtime). This applies only to cache files placed in the store. Other >> cache files (non-guix installed files) have the right timestamp, so are >> not affected (I don't know if this explanation is clear. The TLDR is: >> with this hack store works without double-precompilation, non-store >> works normally, too). >> However, I'll check if I can make it work with SOURCE_DATE_EPOCH. I >> already read the code responsible for precompilation, so hopefully it >> won't take too much time > > Awesome, thanks! > > Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 18 08:34:39 2020 Received: (at 38546) by debbugs.gnu.org; 18 Jan 2020 13:34:39 +0000 Received: from localhost ([127.0.0.1]:40667 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoFL-00073D-8u for submit@debbugs.gnu.org; Sat, 18 Jan 2020 08:34:39 -0500 Received: from mail-wr1-f46.google.com ([209.85.221.46]:37330) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoFG-00072x-Sg for 38546@debbugs.gnu.org; Sat, 18 Jan 2020 08:34:38 -0500 Received: by mail-wr1-f46.google.com with SMTP id w15so25285597wru.4 for <38546@debbugs.gnu.org>; Sat, 18 Jan 2020 05:34:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=VEzOjbQpmoo7l/vVk8Wiqaj3UFvoUUdKYHhv4hTiQcU=; b=vGMrEUiRpKRrNGLAfxdGftI2ZmcMhvVWONR7MPDWQ/M0gTBlvjL6kX2TtdhTNw4e3n UirPksZP493PUOxljV+Zuoc/oqdSNTianu5vz2RFVv9r586gpGh/l37jBmf8pe+l+L7X o6pNN9nUYZ/aTbT1xk10lAYZmpPvZx2Lnh74Iw8yVQ7kXfe+3j+iHsi0N0LevgLRFzy1 603vrz5V8Uq/FYtDlXYWixL2OnnRv4lGygGB9dpOaI0KfU3PzTljvf6k8eACkEJzY2+y kBfLH3Fy+W1QlCpxzNX5Z6J4Uapg+ovnwXVNke3T9+Px3IkTL9fc1FnntwHsEovN16D3 ksVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=VEzOjbQpmoo7l/vVk8Wiqaj3UFvoUUdKYHhv4hTiQcU=; b=g0Pt8uvpI8Xoc6GTvENqrdCkdWTUM4fX9aFPr+9yTEL0eksFzmuOOrwXf4pc0QB+jb BjO9yyVLz7iSqGrhzvEC8zyy0boK3YQ50h2vaTEGqlgDSgmLNy69ErO3FjewOvBR+iZR kApn1UK+mGfA8q9eKywJ7tgAOZScTVqEMengqx0ucniuW7LGKAaYX7D8ibdY9CBndl0J eAcOpIHATykC3Cg7AsUP6OxzzWqX5jB+xSQnWQqDk6SAbJzhAErn8JV0uytBSZhh6JQo qrFuMDXkt//Ai57Kk6Q1PP2+wdCF4b90Bh/yVfyCm1KIPUyEmlA3/dwInHG4t9rRJpnL LzOg== X-Gm-Message-State: APjAAAViQsfWvr2LHS7ouzV/KsX5WSqGxjhNVz6eYgk3ez/h9k7vRXT9 gK7bHU3iSHTBPN5o/sWWFZPB1u0B X-Google-Smtp-Source: APXvYqyRETvRCu36uEOlOPL1nCjVwEnAqPk16LHQx012Da/QfJBpkjjMOfOxKTbQOqYFDDSE3bCxxA== X-Received: by 2002:a5d:6191:: with SMTP id j17mr8042118wru.427.1579354468801; Sat, 18 Jan 2020 05:34:28 -0800 (PST) Received: from guixSD (host146-19-dynamic.50-79-r.retail.telecomitalia.it. [79.50.19.146]) by smtp.gmail.com with ESMTPSA id m10sm38785131wrx.19.2020.01.18.05.34.28 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2020 05:34:28 -0800 (PST) From: nixo X-Google-Original-From: nixo To: 38546@debbugs.gnu.org Subject: [PATCH 02/11] gnu: julia: use SOURCE_DATE_EPOCH for precompilation timestamp Date: Sat, 18 Jan 2020 13:58:37 +0100 Message-ID: <87o8v0vqfw.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/patches/julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch: new file --- gnu/local.mk | 1 + gnu/packages/julia.scm | 4 ++- ...ia-fake-mtime-with-SOURCE_DATE_EPOCH.patch | 29 ++++++++++++++++ [...] Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) 1.9 PDS_OTHER_BAD_TLD Untrustworthy TLDs [URI: nixo.xyz (xyz)] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: local.mk] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.46 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.46 listed in wl.mailspike.net] X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.9 (/) * gnu/packages/patches/julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch: new file --- gnu/local.mk | 1 + gnu/packages/julia.scm | 4 ++- ...ia-fake-mtime-with-SOURCE_DATE_EPOCH.patch | 29 +++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch diff --git a/gnu/local.mk b/gnu/local.mk index 00ff3b8d61..fe8634b44d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1010,6 +1010,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-xerces-bootclasspath.patch \ %D%/packages/patches/java-xerces-build_dont_unzip.patch \ %D%/packages/patches/java-xerces-xjavac_taskdef.patch \ + %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/kdbusaddons-kinit-file-name.patch \ %D%/packages/patches/libvirt-create-machine-cgroup.patch \ diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index e4db39afbd..a66309b611 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -191,7 +191,9 @@ version "/julia-" version ".tar.gz")) (sha256 (base32 - "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")))) + "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")) + (patches + (search-patches "julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch")))) (build-system gnu-build-system) (arguments `(#:test-target "test" diff --git a/gnu/packages/patches/julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch b/gnu/packages/patches/julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch new file mode 100644 index 0000000000..467e6d68d1 --- /dev/null +++ b/gnu/packages/patches/julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch @@ -0,0 +1,29 @@ +From e4dc28db1d70819505fd1a68fd9d2bfc4fb61a7d Mon Sep 17 00:00:00 2001 +From: nixo +Date: Fri, 17 Jan 2020 11:28:30 +0100 +Subject: [PATCH] base: loading: support fake mtime with SOURCE_DATE_EPCOCH + +Do this when loading libraries +--- + base/loading.jl | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/base/loading.jl b/base/loading.jl +index 7f11a2d4fc..1b4686d1dc 100644 +--- a/base/loading.jl ++++ b/base/loading.jl +@@ -807,7 +807,10 @@ function _include_dependency(mod::Module, _path::AbstractString) + path = normpath(joinpath(dirname(prev), _path)) + end + if _track_dependencies[] +- push!(_require_dependencies, (mod, path, mtime(path))) ++ push!(_require_dependencies, ++ (mod, path, ++ haskey(ENV, "SOURCE_DATE_EPOCH") ? ++ parse(Float64, ENV["SOURCE_DATE_EPOCH"]) : mtime(path))) + end + return path, prev + end +-- +2.24.1 + -- 2.24.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 18 08:34:59 2020 Received: (at 38546) by debbugs.gnu.org; 18 Jan 2020 13:34:59 +0000 Received: from localhost ([127.0.0.1]:40670 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoFb-00073h-JK for submit@debbugs.gnu.org; Sat, 18 Jan 2020 08:34:59 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:45501) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoFa-00073V-2H for 38546@debbugs.gnu.org; Sat, 18 Jan 2020 08:34:55 -0500 Received: by mail-wr1-f67.google.com with SMTP id j42so25184478wrj.12 for <38546@debbugs.gnu.org>; Sat, 18 Jan 2020 05:34:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=GLDTNuXU121CZ94Kj4kIMlULUgf04wfx7vcVihPgWH4=; b=Ne83fLiY+yxKO9203OHc4l07drl9AGQn99criDWR/Cr/WGtYO/8NPIqTLAK7k+cPru YOYUQ/GoHwsEkIwVLqJ2qBP4B6TZD0XxDCPQnW5Jdq5evmNCvvNHYmLif4+glaZUvQyQ B8kDwKtkrrvhDgeFIEaZShkiuThYAxtpBcr4eQocBqThyEziqucOngC+yMgMTYRUb9fC QjAz8OnHbhbjJKffvtnd0wKXKuh0iAauWMre3pIBoGfBUX/R9RwfzmikuUaNJ6snQ6Bl JrK8EI7rzUPQLHdD2VCfgjm+9pAwoTS5Cfkn++HxE+r2VFoY/KQwzT+OrTirVrfJLcNJ pA/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=GLDTNuXU121CZ94Kj4kIMlULUgf04wfx7vcVihPgWH4=; b=kLsOkPOYOtMCSH+Qfs+e6Xx96apDmDd/h1jYxrbh4b2x5cYOcxcSEPKL0urt7DkkDj Hh1J4RorhceTnEHvAb6oQ/Koc473aMg3qHcrt7uo3/KRBn+i65+JzPFdxAYxLJcM7ZNN dozOFq7eLS+71B6v5CWcmv19Sw3v0bmhHVLtGjU4k19xsF0KDOOADuP2UQkvaYQ76GSl M5ncT9/4AxNxEpk5XmzCYux/GfAGgYLBTAQY0blpU0DTNlHYC7GlhJpQ4iVkXAsdyMEd iAeUcgQF83HaX8ijvxVV74ccXz9qPihLEkVRE8NCf8K9kJ27AKK0nfYDP2dY4E9JoWLU 0/+Q== X-Gm-Message-State: APjAAAU4iGyBJ5tIQ/Q2909zHXR4o9Gcrp7sSvViuf7xHBAmYmTUXB9E jz2JpO5f5oHfh+tMuIf1NiDsIWJB X-Google-Smtp-Source: APXvYqwQZchrwFxQF7W+MfkhL0Nurg9exjLp5vEhXXYjHu4WFLy4YewhR57yPzrRYKtYmmQhv/lyhA== X-Received: by 2002:adf:e6c6:: with SMTP id y6mr8330584wrm.284.1579354487730; Sat, 18 Jan 2020 05:34:47 -0800 (PST) Received: from guixSD (host146-19-dynamic.50-79-r.retail.telecomitalia.it. [79.50.19.146]) by smtp.gmail.com with ESMTPSA id s1sm14058484wmc.23.2020.01.18.05.34.46 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2020 05:34:47 -0800 (PST) From: nixo X-Google-Original-From: nixo To: 38546@debbugs.gnu.org Subject: [PATCH 03/11] gnu: julia: Adjust indentation. Date: Fri, 10 Jan 2020 10:25:49 +0100 Message-ID: <87muakvqfd.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/julia.scm (julia): Correct indentation, untabify --- gnu/packages/julia.scm | 216 ++++++++++++++++++++ 1 file changed, 108 insertions(+), 108 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index a66309b611..e1c4685227 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -51,14 +51,14 @@ Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: gnu.org] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/julia.scm (julia): Correct indentation, untabify --- gnu/packages/julia.scm | 216 ++++++++++++++++++++ 1 file changed, 108 insertions(+), 108 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index a66309b611..e1c4685227 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -51,14 +51,14 @@ Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: githubusercontent.com] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/julia.scm (julia): Correct indentation, untabify --- gnu/packages/julia.scm | 216 ++++++++++++++++++++--------------------- 1 file changed, 108 insertions(+), 108 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index a66309b611..e1c4685227 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -51,14 +51,14 @@ (define (julia-patch-url version name) (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" version - "/deps/patches/" name ".patch")) + "/deps/patches/" name ".patch")) (define (julia-patch name sha) (let ((version "1.3.1")) (origin (method url-fetch) - (uri (julia-patch-url version name)) - (sha256 (base32 sha)) - (file-name name)))) + (uri (julia-patch-url version name)) + (sha256 (base32 sha)) + (file-name name)))) (define libuv-julia (let ((commit "35b1504507a7a4168caae3d78db54d1121b121e1")) @@ -101,7 +101,7 @@ "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3")) (patches (list - (julia-patch "libunwind-prefer-extbl" + (julia-patch "libunwind-prefer-extbl" "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m1") (julia-patch "libunwind-static-arm" "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq"))))) @@ -124,45 +124,45 @@ ;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919628 (patches (list - (julia-patch "llvm-6.0-D44650" - "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") - (julia-patch "llvm-6.0-DISABLE_ABI_CHECKS" - "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") - (julia-patch "llvm-6.0-NVPTX-addrspaces" - "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") - (julia-patch "llvm-6.0.0_D27296-libssp" - "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") - (julia-patch "llvm-D27629-AArch64-large_model_6.0.1" - "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") - (julia-patch "llvm-D34078-vectorize-fdiv" - "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") - (julia-patch "llvm-D42262-jumpthreading-not-i1" - "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") - (julia-patch "llvm-D44892-Perf-integration" - "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") - (julia-patch "llvm-D46460" - "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") - (julia-patch "llvm-D49832-SCEVPred" - "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") - (julia-patch "llvm-D50010-VNCoercion-ni" - "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") - (julia-patch "llvm-D50167-scev-umin" - "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") - (julia-patch "llvm-OProfile-line-num" - "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") - (julia-patch "llvm-PPC-addrspaces" - "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") - (julia-patch "llvm-rL323946-LSRTy" - "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") - (julia-patch "llvm-rL326967-aligned-load" - "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") - (julia-patch "llvm-rL327898" - "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))) + (julia-patch "llvm-6.0-D44650" + "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") + (julia-patch "llvm-6.0-DISABLE_ABI_CHECKS" + "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") + (julia-patch "llvm-6.0-NVPTX-addrspaces" + "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") + (julia-patch "llvm-6.0.0_D27296-libssp" + "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") + (julia-patch "llvm-D27629-AArch64-large_model_6.0.1" + "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") + (julia-patch "llvm-D34078-vectorize-fdiv" + "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") + (julia-patch "llvm-D42262-jumpthreading-not-i1" + "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") + (julia-patch "llvm-D44892-Perf-integration" + "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") + (julia-patch "llvm-D46460" + "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") + (julia-patch "llvm-D49832-SCEVPred" + "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") + (julia-patch "llvm-D50010-VNCoercion-ni" + "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") + (julia-patch "llvm-D50167-scev-umin" + "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") + (julia-patch "llvm-OProfile-line-num" + "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") + (julia-patch "llvm-PPC-addrspaces" + "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") + (julia-patch "llvm-rL323946-LSRTy" + "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") + (julia-patch "llvm-rL326967-aligned-load" + "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") + (julia-patch "llvm-rL327898" + "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))) (arguments (substitute-keyword-arguments (package-arguments llvm-6) ((#:configure-flags flags) `(list ;; Taken from NixOS. Only way I could get libLLVM-6.0.so - "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_BUILD_TYPE=Release" ;; Build a native compiler and the NVPTX backend (NVIDIA) since ;; Julia insists on it, nothing more. This reduces build times and @@ -170,15 +170,15 @@ ,(string-append "-DLLVM_TARGETS_TO_BUILD=" (system->llvm-target)) "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=NVPTX" - "-DLLVM_INSTALL_UTILS=ON" - "-DLLVM_BUILD_TESTS=ON" - "-DLLVM_ENABLE_FFI=ON" - "-DLLVM_ENABLE_RTTI=ON" + "-DLLVM_INSTALL_UTILS=ON" + "-DLLVM_BUILD_TESTS=ON" + "-DLLVM_ENABLE_FFI=ON" + "-DLLVM_ENABLE_RTTI=ON" ;; "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" ;; "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" - ;; "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" - "-DLLVM_ENABLE_DUMP=ON" - "-DLLVM_LINK_LLVM_DYLIB=ON")))))) + ;; "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" + "-DLLVM_ENABLE_DUMP=ON" + "-DLLVM_LINK_LLVM_DYLIB=ON")))))) (define-public julia (package @@ -222,9 +222,9 @@ (string-append "deps/srccache/libwhich-" "81e9723c0273d78493dc8c8ed570f68d9ce7e89e" ".tar.gz")) - ;; needed by libwhich - (setenv "LD_LIBRARY_PATH" - (string-join (map (lambda (pkg) + ;; needed by libwhich + (setenv "LD_LIBRARY_PATH" + (string-join (map (lambda (pkg) (string-append (assoc-ref inputs pkg) "/lib")) '("arpack-ng" "curl" "dsfmt" @@ -234,7 +234,7 @@ "openblas" "openlibm" "pcre2" "suitesparse")) ":")) - #t)) + #t)) ;; FIXME: Building the documentation requires Julia packages that ;; would be downloaded from the Internet. We should build them in a ;; separate build phase. @@ -250,40 +250,40 @@ ;; 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" - "\""))))) + ;; ./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" + "\""))))) (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 - ;; included in the LIBFILES_* variable which is used as a - ;; collection of build targets and a list of libraries to link - ;; against. - (substitute* "src/flisp/Makefile" + (lambda* (#:key inputs #:allow-other-keys) + ;; LIBUTF8PROC is a linker flag, not a build target. It is + ;; included in the LIBFILES_* variable which is used as a + ;; collection of build targets and a list of libraries to link + ;; against. + (substitute* "src/flisp/Makefile" (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)\\$\\(EXE\\): \\$\\(OBJS\\) \\$\\(LIBFILES_release\\)") "$(BUILDDIR)/$(EXENAME)$(EXE): $(OBJS) $(LLT_release)") (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug$(EXE): \\$\\(DOBJS\\) \\$\\(LIBFILES_debug\\)") "$(BUILDDIR)/$(EXENAME)-debug\\$\\(EXE\\): $(DOBJS) $(LLT_debug)")) - ;; The REPL must be linked with libuv. - (substitute* "ui/Makefile" - (("JLDFLAGS \\+= ") - (string-append "JLDFLAGS += " - (assoc-ref %build-inputs "libuv") - "/lib/libuv.so "))) + ;; The REPL must be linked with libuv. + (substitute* "ui/Makefile" + (("JLDFLAGS \\+= ") + (string-append "JLDFLAGS += " + (assoc-ref %build-inputs "libuv") + "/lib/libuv.so "))) - (substitute* "base/Makefile" - (("\\$\\(build_includedir\\)/uv/errno.h") - (string-append (assoc-ref inputs "libuv") - "/include/uv/errno.h"))) - #t)) + (substitute* "base/Makefile" + (("\\$\\(build_includedir\\)/uv/errno.h") + (string-append (assoc-ref inputs "libuv") + "/include/uv/errno.h"))) + #t)) (add-before 'build 'replace-default-shell (lambda _ (substitute* "base/client.jl" @@ -307,7 +307,7 @@ ;; https://github.com/JuliaLang/julia/issues/32377 (substitute* "stdlib/REPL/test/replcompletions.jl" (("@test count") "@test_broken count")) - #t))) + #t))) #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")) @@ -331,7 +331,7 @@ "USE_SYSTEM_P7ZIP=1" "USE_SYSTEM_LAPACK=1" "USE_SYSTEM_BLAS=1" - "USE_BLAS64=0" ;needed when USE_SYSTEM_BLAS=1 + "USE_BLAS64=0" ;needed when USE_SYSTEM_BLAS=1 "LIBBLAS=-lopenblas" "LIBBLASNAME=libopenblas" @@ -339,35 +339,35 @@ (string-append "SUITESPARSE_INC=-I " (assoc-ref %build-inputs "suitesparse") "/include") - "USE_GPL_LIBS=1" ;proudly + "USE_GPL_LIBS=1" ;proudly "USE_SYSTEM_UTF8PROC=1" (string-append "UTF8PROC_INC=" (assoc-ref %build-inputs "utf8proc") "/include") "USE_SYSTEM_LLVM=1" - "LLVM_VER=6.0.1" + "LLVM_VER=6.0.1" - "USE_LLVM_SHLIB=1" - "USE_SYSTEM_LIBUNWIND=1" - "USE_SYSTEM_LIBUV=1" - (string-append "LIBUV=" - (assoc-ref %build-inputs "libuv") - "/lib/libuv.so") - (string-append "LIBUV_INC=" - (assoc-ref %build-inputs "libuv") - "/include") - "USE_SYSTEM_PATCHELF=1" - "USE_SYSTEM_PCRE=1" - "USE_SYSTEM_OPENLIBM=1" + "USE_LLVM_SHLIB=1" + "USE_SYSTEM_LIBUNWIND=1" + "USE_SYSTEM_LIBUV=1" + (string-append "LIBUV=" + (assoc-ref %build-inputs "libuv") + "/lib/libuv.so") + (string-append "LIBUV_INC=" + (assoc-ref %build-inputs "libuv") + "/include") + "USE_SYSTEM_PATCHELF=1" + "USE_SYSTEM_PCRE=1" + "USE_SYSTEM_OPENLIBM=1" "USE_SYSTEM_LIBM=0" "USE_SYSTEM_LIBSSH2=1" "USE_SYSTEM_CURL=1" - "USE_SYSTEM_GMP=1" - "USE_SYSTEM_MPFR=1" - "USE_SYSTEM_MBEDTLS=1" - "USE_SYSTEM_ARPACK=1" - "USE_SYSTEM_LIBGIT2=1" - "USE_SYSTEM_ZLIB=1"))) + "USE_SYSTEM_GMP=1" + "USE_SYSTEM_MPFR=1" + "USE_SYSTEM_MBEDTLS=1" + "USE_SYSTEM_ARPACK=1" + "USE_SYSTEM_LIBGIT2=1" + "USE_SYSTEM_ZLIB=1"))) (inputs `(("llvm" ,llvm-julia) @@ -377,9 +377,9 @@ ;; . ("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 ("lapack" ,lapack) - ("openblas" ,openblas) ;Julia does not build with Atlas + ("openblas" ,openblas) ;Julia does not build with Atlas ("libunwind" ,libunwind-julia) ("openlibm" ,openlibm) ("mbedtls" ,mbedtls-apache) @@ -411,20 +411,20 @@ (base32 "0wp6ld9vk11f4nnkn56627zmlv9k5vafi99qa3yyn1pgcd61zcfs")))) ("libwhich" - ,(let ((commit "81e9723c0273d78493dc8c8ed570f68d9ce7e89e")) + ,(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 + (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"))))) + (sha256 + (base32 + "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) ("dsfmt" ,dsfmt))) (native-inputs `(("openssl" ,openssl) -- 2.24.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 18 08:35:15 2020 Received: (at 38546) by debbugs.gnu.org; 18 Jan 2020 13:35:15 +0000 Received: from localhost ([127.0.0.1]:40677 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoFu-000753-Mv for submit@debbugs.gnu.org; Sat, 18 Jan 2020 08:35:14 -0500 Received: from mail-wm1-f54.google.com ([209.85.128.54]:37907) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoFr-00074b-U4 for 38546@debbugs.gnu.org; Sat, 18 Jan 2020 08:35:13 -0500 Received: by mail-wm1-f54.google.com with SMTP id u2so10284656wmc.3 for <38546@debbugs.gnu.org>; Sat, 18 Jan 2020 05:35:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=UsOPYVmbJHt8FK74CgycGw9Ov4jBseuNgiDMIBqtb2s=; b=av4+z1aRkRU1iTGjl0dWwGsIPAslta9iJ+9KZwvVemYYE+vjekaI8TiqBeKrxjxG/g omFUMxcvFm0ZL+b+NbcVYLmn/fWdViZkL3bstD2HOenzJ0HtDJoQdqYxax/hQTJvOu/b BEQ9r9Y0cn64b2fdGQ3T64bWFgxcu2kz46lFDbnhj9/l0zHLiqbUEVC3dQKBKhf/smMa HF/LBuckMQg7F3eh9qP+ZxUXNWtFfjvCOmP00sNaCsbuuEmqcJCS6PK2uyq2xuDGpbaI Yi5haay/FHasb56+9NFjc1c6mRQ6cHOAjhvbZFgqdjBd5gJ80g6uJA7UCZU7iPsIH20C cHew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=UsOPYVmbJHt8FK74CgycGw9Ov4jBseuNgiDMIBqtb2s=; b=J6sKu6pKPw433r0mmy0PfW/Uq6bHj8Pgh39poUHVuUQIi6viV1rOEn9tGXugfkmENc sOtgFFkqbG+KFh7qYNEQqcB6NuP2Jm+SBwRFFM9HwH9IoNYivfGrlCHAQ/sloVckUi4Y T5/pugMdqKgOODIApuOv7MzN78IWy13QAs7bzsuvc4e17G6e0lbO/Pp49VsSS4g2qkc6 KTuDqph3Asn45B38HaLzm/z3WQEssCyMyGToTHEcDK3zpVAYHeFC4lEJCu8+DtXSupJF DJpOb5kU/bbIcYJSDPJFR0V2jYZhNmOrVs1cpcwwGab81OLWeBUM2uSDzJYMpuEhBp6P oYEw== X-Gm-Message-State: APjAAAW3WWpPp90GEUOuVvprDtZMoHapWaGx/i8+kZUZEKfN02aIskqg JuhH1KPgiwgBfFxeOu4Ezh9KqCLO X-Google-Smtp-Source: APXvYqyFRTUgwjSWZwqgiuolxUKQX78mtpT7hwP2gcYGEgy2qfNLuHYz6Zt+e3TzGG+K3bWQxKucSw== X-Received: by 2002:a05:600c:2c53:: with SMTP id r19mr9799893wmg.39.1579354505861; Sat, 18 Jan 2020 05:35:05 -0800 (PST) Received: from guixSD (host146-19-dynamic.50-79-r.retail.telecomitalia.it. [79.50.19.146]) by smtp.gmail.com with ESMTPSA id y139sm5787986wmd.24.2020.01.18.05.35.04 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2020 05:35:05 -0800 (PST) From: nixo X-Google-Original-From: nixo To: 38546@debbugs.gnu.org Subject: [PATCH 04/11] use wrapper to set JULIA_LOAD_PATH and JULIA_DEPOT_PATH Date: Sat, 18 Jan 2020 14:23:44 +0100 Message-ID: <87lfq4vqev.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --- gnu/packages/julia.scm | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index e1c4685227..39c7d6d34f 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -297,7 +297,9 @@ ;; 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\",\"client\",\"stacktraces\"]),testnames)")) + "tests = filter(e->!in(e,[\"backtrace\",\"exceptions\",\"client\", + \"stacktraces\",\"stress\",\"precompile\"]), + testnames)")) ;; 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 @@ -307,11 +309,23 @@ ;; https://github.com/JuliaLang/julia/issues/32377 (substitute* "stdlib/REPL/test/replcompletions.jl" (("@test count") "@test_broken count")) - #t))) + #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")) ;; Passing the MARCH flag is necessary to build binary substitutes for ;; the supported architectures. @@ -435,7 +449,10 @@ (native-search-paths (list (search-path-specification (variable "JULIA_LOAD_PATH") - (files (list "share/julia/packages/"))))) + (files (list "share/julia/packages/"))) + (search-path-specification + (variable "JULIA_DEPOT_PATH") + (files (list "share/julia/"))))) ;; Julia is not officially released for ARM and MIPS. ;; See https://github.com/JuliaLang/julia/issues/10639 (supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux")) -- 2.24.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 18 08:35:20 2020 Received: (at 38546) by debbugs.gnu.org; 18 Jan 2020 13:35:20 +0000 Received: from localhost ([127.0.0.1]:40680 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoFz-00075P-W5 for submit@debbugs.gnu.org; Sat, 18 Jan 2020 08:35:20 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:44794) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoFw-00074p-Kk for 38546@debbugs.gnu.org; Sat, 18 Jan 2020 08:35:18 -0500 Received: by mail-wr1-f67.google.com with SMTP id q10so25226857wrm.11 for <38546@debbugs.gnu.org>; Sat, 18 Jan 2020 05:35:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=3wHwIKzcx13DtpDUPgHgk/mc6iYE8CtmkxrF8EUOukw=; b=fG25p3DXwS1CdJn5djnqJFHijytlTCcTcQkwV1rLjbIHcRd9jG41E/2tlNvshj3xGZ cl2nFgQgDGb9KKyWYkw5hhC3wdFRPpfFxPm9y3MFWSObfaq97N3fkYIexR38D4/L4voz yYT46MbzgPIHu+OmnXrnwjzEaQa8jQGo9K3xziChb7YjKP13krAAgqBkCc2xDttUNnsQ tRdnT1/I9LR2yh/dTz6Ttxgr0W5CwXXve9d+8E/5KsUyR3V/VODrqQm8ZlEjSSNLHVbe dH+uF9FKRo7x095RuBPzJ3bJ5aI1cldbuattvRhdGaASbs6fv/I1eQqak16dzmrzM9pu FfZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=3wHwIKzcx13DtpDUPgHgk/mc6iYE8CtmkxrF8EUOukw=; b=jHG8ECp+dmIWwvF7xqECfdniA/41gJABSN8VMOGhiFXxmXKn/u77JVDfJzlePQQHDF VEc7/35f/E0O4aUgFdiFAgTGrJe6c/d5j/CyVX11tLKJj6sGRFG2WuXggVcsz61Q5sEc y7IK5lbkVO9i1pFXgZeejuUwiRoOD/7Lln9XkM40IqwRq7rSDTMHvPALeLxFkFUBO9v5 IzigcmGL9nKwDLMYvmjLa0m0TRTb+jZz5JX3wS9PGHDjXQ2QGypBRCpkM80lZ5+EfaEx lK9jSUCj2MTEqUrypLjxF+nQWX7zxaj8wn6Q1tQqb8OpSGrgrB3oKimbPpAmdesF1WK3 /YBg== X-Gm-Message-State: APjAAAW2F2wPjVmDsbHbxQ1urgC3gLNhZT4CLbo/1DJw/teJCcMOIxWF t0iOz4PXh5xWEEH2WC63DbuckWLU X-Google-Smtp-Source: APXvYqzB5fFXuymWkcOKfhO2UqU0mucpCXl/dXbS2lDTZVY9oY0QGOiJH6kx6HQ+AVJxQI6vnDX/rA== X-Received: by 2002:adf:fd07:: with SMTP id e7mr8381561wrr.21.1579354510576; Sat, 18 Jan 2020 05:35:10 -0800 (PST) Received: from guixSD (host146-19-dynamic.50-79-r.retail.telecomitalia.it. [79.50.19.146]) by smtp.gmail.com with ESMTPSA id f1sm38767911wru.6.2020.01.18.05.35.09 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2020 05:35:10 -0800 (PST) From: nixo X-Google-Original-From: nixo To: 38546@debbugs.gnu.org Subject: [PATCH 05/11] gnu: build: julia-build-system: fix package Date: Fri, 17 Jan 2020 19:40:55 +0100 Message-ID: <87k15ovqeq.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 2.7 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: precompilation --- guix/build/julia-build-system.scm | 51 +++++++++++++ 1 file changed, 22 insertions(+), 29 deletions(-) diff --git a/guix/build/julia-build-system.scm b/guix/build/julia-build-system.scm index ff6fcf5fe3..dbd4af623d 100644 --- a/guix/build/julia-build-system.scm +++ b/guix/build/julia-build-system.scm @ [...] Content analysis details: (2.7 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: nixo.xyz] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) 1.9 PDS_OTHER_BAD_TLD Untrustworthy TLDs [URI: nixo.xyz (xyz)] -0.0 SPF_PASS SPF: sender matches SPF record 0.8 DATE_IN_PAST_12_24 Date: is 12 to 24 hours before Received: date 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.7 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: precompilation --- guix/build/julia-build-system.scm | 51 +++++++++++++ 1 file changed, 22 insertions(+), 29 deletions(-) diff --git a/guix/build/julia-build-system.scm b/guix/build/julia-build-system.scm index ff6fcf5fe3..dbd4af623d 100644 --- a/guix/build/julia-build-system.scm +++ b/guix/build/julia-build-system.scm @ [...] Content analysis details: (1.7 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: nixo.xyz] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) 1.9 PDS_OTHER_BAD_TLD Untrustworthy TLDs [URI: nixo.xyz (xyz)] -0.0 SPF_PASS SPF: sender matches SPF record 0.8 DATE_IN_PAST_12_24 Date: is 12 to 24 hours before Received: date 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager precompilation --- guix/build/julia-build-system.scm | 51 +++++++++++++------------------ 1 file changed, 22 insertions(+), 29 deletions(-) diff --git a/guix/build/julia-build-system.scm b/guix/build/julia-build-sys= tem.scm index ff6fcf5fe3..dbd4af623d 100644 --- a/guix/build/julia-build-system.scm +++ b/guix/build/julia-build-system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright =C2=A9 2019 Nicol=C3=B2 Balzarotti +;;; Copyright =C2=A9 2019, 2020 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,53 +37,46 @@ ;; subpath where we store the package content (define %package-path "/share/julia/packages/") =20 -(define (generate-load-path inputs outputs) - (string-append - (string-join (map (match-lambda - ((_ . path) - (string-append path %package-path))) - ;; Restrict to inputs beginning with "julia-". - (filter (match-lambda - ((name . _) - (string-prefix? "julia-" name))) - inputs)) - ":") - (string-append ":" (assoc-ref outputs "out") %package-path) - ;; stdlib is always required to find Julia's standard libraries. - ;; usually there are other two paths in this variable: - ;; "@" and "@v#.#" - ":@stdlib")) - (define* (install #:key source inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (package-dir (string-append out %package-path - (string-append - (strip-store-file-name source))))) - (setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs)) + (strip-store-file-name source)))) (mkdir-p package-dir) - (copy-recursively source package-dir)) + (copy-recursively (getcwd) package-dir)) #t) =20 -;; TODO: Precompilation is working, but I don't know how to tell -;; julia to use use it. If (on rantime) we set HOME to -;; store path, julia tries to write files there (failing) (define* (precompile #:key source inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (builddir (string-append out "/share/julia/")) (package (strip-store-file-name source))) (mkdir-p builddir) + ;; With a patch, SOURCE_DATE_EPOCH is honored + (setenv "SOURCE_DATE_EPOCH" "1") (setenv "JULIA_DEPOT_PATH" builddir) - (setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs)) - ;; Actual precompilation - (invoke-julia (string-append "using " package))) + ;; add new package dir to the load path + (setenv "JULIA_LOAD_PATH" + (string-append builddir "packages/" ":" + (or (getenv "JULIA_LOAD_PATH") + ""))) + ;; Actual precompilation. + (invoke-julia + ;; when using julia as a user, julia writes precompile cache to the f= irst + ;; entry of the DEPOT_PATH list (by default, the home dir). We want = to + ;; write it to the store, so let's push the store path as the first + ;; element of DEPOT_PATH. Once the cache file exists, this hack is n= ot + ;; needed anymore (like in the check phase). If the user install new + ;; pacakges, those will be installed and precompiled in the home dir + (string-append "pushfirst!(DEPOT_PATH, pop!(DEPOT_PATH)); using " pac= kage))) #t) =20 (define* (check #:key source inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (package (strip-store-file-name source)) (builddir (string-append out "/share/julia/"))) + ;; With a patch, SOURCE_DATE_EPOCH is honored + (setenv "SOURCE_DATE_EPOCH" "1") (setenv "JULIA_DEPOT_PATH" builddir) - (setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs)) + (setenv "JULIA_LOAD_PATH" (string-append builddir "packages/")) (invoke-julia (string-append "using Pkg;Pkg.test(\"" package "\")"))) #t) =20 --=20 2.24.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 18 08:35:24 2020 Received: (at 38546) by debbugs.gnu.org; 18 Jan 2020 13:35:24 +0000 Received: from localhost ([127.0.0.1]:40684 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoG4-00075p-Cv for submit@debbugs.gnu.org; Sat, 18 Jan 2020 08:35:24 -0500 Received: from mail-wm1-f51.google.com ([209.85.128.51]:35309) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoG0-000754-7l for 38546@debbugs.gnu.org; Sat, 18 Jan 2020 08:35:22 -0500 Received: by mail-wm1-f51.google.com with SMTP id p17so10332911wmb.0 for <38546@debbugs.gnu.org>; Sat, 18 Jan 2020 05:35:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=GnIoBFrtNSeDRAfvbds5a8dE14FgGxkaDFQzX+fwTAk=; b=q2DMH44klEN8/mirMec00UCSDdE74Y9Hib6UeRYcqOfdSFk6GSX59UxFH8//sIHiZN 7bmCPEReuMnWpjfjKzP+cZQHkyqwaKJ9vzTvhvzJLIg1lPoEZxuaO0ugQoRud0MHPgy2 CqtiXicwKh3aGtp/u2AcX4/FbQz5qCm964a2r553lw6QUdkaZKztCaiMYiZ7ZT6Bexff tmXxEDv8uY4zCtgTH1qKpbSoSOcDKzf20fNjdh3TLC2iaXUG7WUuMXuMlnOwc1HkduhQ avLIk6/C+dO0lSYDtzbX5TqBNLmblEBzb2QzrHVzgsUnSyj+BLYYDJLdjJ6YUcuxa/Xt s2Ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=GnIoBFrtNSeDRAfvbds5a8dE14FgGxkaDFQzX+fwTAk=; b=q7ZiJ+RWfAJ59ex9ziHN/2GhYp7iGzCyPcL0dnhvNKoDKy53ZAMgz9xVogymi13d3Q /M1YWayxa9cpwil/YKj/W1FQQ3N82Itr2RsZmkEvEgHYD0IqYgc3cquL47thkcg2Fr0x vObNpFQE0QSL/qH1E07sZNapZlTMKmvNrRff4ffEkBjlaqGz6WgJvl/siqz0o7fF53DX xl2E1R2odIAWlINW7NT6VyeZsSjfAyEY2Oq2FnPcRXVF3Dm7WgYOTAxDYk/rE7FIMqqn FCtUvcTmRLiKNlei5gVjGnCFYo84NaylRuwGk/dywIBl5Ino8SULum7hXjftxVZLp8a6 B2dA== X-Gm-Message-State: APjAAAXTeYW7mmmK2ToTa6Z4N77iWDQUvkhUZN8q/pjSouUWFFaeqGtn w9XsRkS1Q/ApvBd/VAIHdP7kgRnG X-Google-Smtp-Source: APXvYqxKJrAVFx8ZJ7wXa1l0KjqChODGWgUfrVpywnYpwK4k9pCreXEKqAiOD1g53BPVQUYzAWm3Jg== X-Received: by 2002:a7b:c3d2:: with SMTP id t18mr10068112wmj.90.1579354514069; Sat, 18 Jan 2020 05:35:14 -0800 (PST) Received: from guixSD (host146-19-dynamic.50-79-r.retail.telecomitalia.it. [79.50.19.146]) by smtp.gmail.com with ESMTPSA id q68sm15983642wme.14.2020.01.18.05.35.13 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2020 05:35:13 -0800 (PST) From: nixo X-Google-Original-From: nixo To: 38546@debbugs.gnu.org Subject: [PATCH 06/11] gnu: Add julia-compat. Date: Sat, 18 Jan 2020 14:05:00 +0100 Message-ID: <87iml8vqen.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/julia-xyz.scm: New file * gnu/packages/julia-xyz.scm (julia-compat): New variable --- gnu/local.mk | 1 + gnu/packages/julia-xyz.scm | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 gnu/packages/julia-xyz.scm diff --git a/gnu/local.mk b/gnu/local.mk index fe8634b44d..e07229ee20 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -277,6 +277,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/jrnl.scm \ %D%/packages/jose.scm \ %D%/packages/julia.scm \ + %D%/packages/julia-xyz.scm \ %D%/packages/jupyter.scm \ %D%/packages/kawa.scm \ %D%/packages/kde.scm \ diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm new file mode 100644 index 0000000000..7d9faa63e9 --- /dev/null +++ b/gnu/packages/julia-xyz.scm @@ -0,0 +1,27 @@ +(define-module (gnu packages julia-xyz) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system julia)) + +(define-public julia-compat + (package + (name "julia-compat") + (version "3.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaLang/Compat.jl") + (commit (string-append "v" version)))) + (file-name "Compat") + (sha256 + (base32 "0d21h3l2ry2mmlhpg7b9cxifayzwcv7r13h5wydcbd5pjf6k4qd4")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaLang/Compat.jl") + (synopsis "Compatibility across Julia versions") + (description "The Compat package is designed to ease interoperability +between older and newer versions of the Julia language. The Compat package +provides a macro that lets you use the latest syntax in a backwards-compatible +way.") + (license license:expat))) -- 2.24.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 18 08:35:27 2020 Received: (at 38546) by debbugs.gnu.org; 18 Jan 2020 13:35:28 +0000 Received: from localhost ([127.0.0.1]:40686 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoG7-000767-LZ for submit@debbugs.gnu.org; Sat, 18 Jan 2020 08:35:27 -0500 Received: from mail-wr1-f51.google.com ([209.85.221.51]:37373) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoG3-00075D-CI for 38546@debbugs.gnu.org; Sat, 18 Jan 2020 08:35:26 -0500 Received: by mail-wr1-f51.google.com with SMTP id w15so25286744wru.4 for <38546@debbugs.gnu.org>; Sat, 18 Jan 2020 05:35:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=qLWFlL8nfW7ef0DZVdBxhDYxhLyDwtn5SnI0OuCkqjI=; b=iCajD5oPngS8T1r5LlakSgtfm13vcXWqlI1xCsehG3TjATeWFTg+f31At1d6jTze7C wejfRtKbAJuoMPbj4gDEeRkocjPO8VjN4OYa2pBF0wymcGVNdCMfazHDpdrzlO6VwibF k7I4OvvSvUE8rWsFoqSaVkF3eUyvB4GgPZY4y94JU+akyDYuLq71fNpe99iWUgFsanU3 YhFuGcKUERFgp082dzPVIDUSj//rkA8RDzXZjTi7ND7927/MLLGnEO5IOAfepyuV1dAp 7uw2WRJrlv15h6jn88/208kqAyc+wp2WTqjg4pNpbYgJw169DwrMk+qF9DraAuFuge8x RFjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=qLWFlL8nfW7ef0DZVdBxhDYxhLyDwtn5SnI0OuCkqjI=; b=A57m5KH4NWD3WT+eyWB/YnsmH6x7DyVTUWB9Y2Q8k2/cqCr9VXPYeP6ntZfrq0cc6k n2aQEwuYipLTkRI7d1uof3fkwfU8ehMV4VfZDW4dKTQ+PogD+Hg2ioZbrIK0KluaAMmi MQG07jUu0oKTUWuAKGylbNOZdYx4bQUmL8wZTpXzcxfDtPPfdstOJ22VDbj2UhdBWhci oo25KEItKfXmnVVX5H/YMHEGcLHF6AeyZEaMX2SuX6xuEPo2io1iAIU7fgeZHlcyVFAM QVdxYNbe4CmysDDJiFLPTDtVVDUlYvMhiZVRE5YJZC3RY9gn87bVH7RIPiNHd8GIRbHu T/wg== X-Gm-Message-State: APjAAAWIfO8gux0nNAwzKx7RLorJu6MNIYqfwaM5aUxEuJqPxi4AsuaS 0rC9aIVisLivVdxeTtn5nEX6skDK X-Google-Smtp-Source: APXvYqxbbta6Q6KBczFjlQipyNCE1d88H02ePs6li+lcPdo00JuuoF6Q1UXBwgUUDcNri3CNUd7Y4w== X-Received: by 2002:adf:f605:: with SMTP id t5mr8199052wrp.282.1579354517402; Sat, 18 Jan 2020 05:35:17 -0800 (PST) Received: from guixSD (host146-19-dynamic.50-79-r.retail.telecomitalia.it. [79.50.19.146]) by smtp.gmail.com with ESMTPSA id p18sm14372380wmb.8.2020.01.18.05.35.16 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2020 05:35:16 -0800 (PST) From: nixo X-Google-Original-From: nixo To: 38546@debbugs.gnu.org Subject: [PATCH 07/11] gnu: Add julia-inifile. Date: Sat, 18 Jan 2020 14:06:11 +0100 Message-ID: <87h80svqej.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/julia-xyz.scm (julia-inifile): New variable. --- gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 7d9faa63e9..6b8053e5f8 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -25,3 +25,23 @@ between older and newer versions of the Julia language. The Compat package provides a macro that lets you use the latest syntax in a backwards-compatible way.") (license license:expat))) + +(define-public julia-inifile + (package + (name "julia-inifile") + (version "0.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaIO/IniFile.jl") + (commit "8ba59958495fa276d6489d2c3903e765d75e0bc0"))) + (file-name "IniFile") + (sha256 + (base32 "11h6f99jpbg729lplw841m68jprka7q3n8yw390bndlmcdsjabpd")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaIO/IniFile.jl") + (synopsis "Reading Windows-style INI files") + (description "This is a julia package that defines an IniFile type that +allows to interface with @file{.ini} files") + (license license:expat))) -- 2.24.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 18 08:35:30 2020 Received: (at 38546) by debbugs.gnu.org; 18 Jan 2020 13:35:30 +0000 Received: from localhost ([127.0.0.1]:40689 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoG9-00076M-UF for submit@debbugs.gnu.org; Sat, 18 Jan 2020 08:35:30 -0500 Received: from mail-wm1-f46.google.com ([209.85.128.46]:50609) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoG8-00075k-5W for 38546@debbugs.gnu.org; Sat, 18 Jan 2020 08:35:29 -0500 Received: by mail-wm1-f46.google.com with SMTP id a5so10060791wmb.0 for <38546@debbugs.gnu.org>; Sat, 18 Jan 2020 05:35:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=xvh5LIGoAp424JxkF0udeGC5Th13yeNJc2jMKkku9Z0=; b=ZB2wSYq/z31Cgubg6S3L40ttwHbjUTzyNAvW5BGOUyXiQB2+IkyEffXAgDc0/ggxxO wTUEy+dZyaqqvJnbfKWYDRutfe1ireg+xTupM6wcCRC9Ulm8bP8d7bNY2wpA12oECk7s n7aTUmyRMcxcUfSwrGY2DmKspA7RxRZYH+lSvciTcGPxgDIWiqC4J/OXIwtwRYdCEtaV n74tolD/jaN11pPaUTYTykB2tFM66NGBpuiAGHt9I74VaTCMjakp47k3cklsHaZInQ69 nQ0Kgh1tMlht2jAVXJ+QIIqotpJaIBkjeal3bUV5gf4vK5r6JWrYYPY+TifcIkBQkwAW FzSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=xvh5LIGoAp424JxkF0udeGC5Th13yeNJc2jMKkku9Z0=; b=julaVNgGCnZBRtQZqeSK7MwW6ao7YQ6lmgyHfXlkKMXhb5HEtEVMmitFe01Buvck0w jZhVX/aLfwnX8Lc/84CvjgX/NXtyROPCFDaHCa/bs4XC2RO3d0wlqO1U5WzoXgKkuql/ byFg60/odqnGzgMxE9DywXTovOF2F/5p4EtBKzuT9LTzRXOT+yNdu7+T24X6T9dNKy7/ eVTYzguWNQE6yXD+rSZNHvZPM13qgNvLNpp6UpnpoX/YPSzzKVifYjGzOJ3DjW5oUc// 5oDVspvvYeEQ6JTsgDLyF7oTFfinCu9M1O8enIyc5OpG1r5mbiewQgRh7nBfqGNnbe0h 5xYg== X-Gm-Message-State: APjAAAVUsam1s51tHfLcGdSKpEpeUefu06wUm5aD6JjxfBBmNXmePhVR dhyXZN3UbCAjVh7Evn7sCkL3uAFV X-Google-Smtp-Source: APXvYqz21Snt74pYAeq5eEX2nWYwaRjg0K2GWrTJ4l918BD9esJq9Kg+CmnpyF99XEeGzx4ZFU65SQ== X-Received: by 2002:a05:600c:224d:: with SMTP id a13mr9376350wmm.57.1579354522205; Sat, 18 Jan 2020 05:35:22 -0800 (PST) Received: from guixSD (host146-19-dynamic.50-79-r.retail.telecomitalia.it. [79.50.19.146]) by smtp.gmail.com with ESMTPSA id t125sm14780950wmf.17.2020.01.18.05.35.21 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2020 05:35:21 -0800 (PST) From: nixo X-Google-Original-From: nixo To: 38546@debbugs.gnu.org Subject: [PATCH 08/11] gnu: Add julia-sha. Date: Sat, 18 Jan 2020 14:07:13 +0100 Message-ID: <87ftgcvqee.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/julia-xyz.scm (julia-sha): New variable. --- gnu/packages/julia-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 6b8053e5f8..92ffde58e7 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -45,3 +45,26 @@ way.") (description "This is a julia package that defines an IniFile type that allows to interface with @file{.ini} files") (license license:expat))) + +(define-public julia-sha + (package + (name "julia-sha") + (version "0.5.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/staticfloat/SHA.jl") + (commit (string-append "v" version)))) + (file-name "SHA") + (sha256 + (base32 "10a09kg9z0m8rvwmlgsna6p342kyvizx2axdqc6pzyhraddr8jrp")))) + (propagated-inputs `(("julia-compat" ,julia-compat))) + (build-system julia-build-system) + (home-page "https://github.com/staticfloat/SHA.jl") + (synopsis + "Performant, 100% native-julia SHA1, SHA2, and SHA3 implementation") + (description "Julia package implementing SHA algorithms. Each exported +function takes in either an @code{Array{UInt8}}, a @code{ByteString} or an +@code{IO} object.") + (license license:expat))) -- 2.24.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 18 08:35:34 2020 Received: (at 38546) by debbugs.gnu.org; 18 Jan 2020 13:35:34 +0000 Received: from localhost ([127.0.0.1]:40693 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoGE-00076e-5r for submit@debbugs.gnu.org; Sat, 18 Jan 2020 08:35:34 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:37572) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoGB-000760-NI for 38546@debbugs.gnu.org; Sat, 18 Jan 2020 08:35:33 -0500 Received: by mail-wm1-f67.google.com with SMTP id f129so10303928wmf.2 for <38546@debbugs.gnu.org>; Sat, 18 Jan 2020 05:35:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=uO5YfTFrrMVSnmGfyWGOuKUKzCewIhmMgyopSlglAgM=; b=NE7LiOVqAJTYrOCWA9RQaMx92hRUfdvha8jXsm71QaJeogek1HsTxYzgjcuW52VVXc NaGBDkO52JZbtLD4ptJn2Hr6ULPTKlZLaBaQDUk4zcMthwnHo8n1jQiq1naY1XpDzm69 NvSzBwHG8kSCjp8zBhbyZgrUAFTi5GNKOHLMhR/bdalGPKjaMhRcOWHFrk0w2XJgHJ00 zj9dNpGMxqUHtlrQLpUWfy0TtmnPjBi5GdETwFdqmCEzz66o+CW7cSjqBwQcdzwqkYTp uw1r4FCC2wUATGkp9eb3r0p2Ti1sWXyJI9ScWupgLazP4zgX6obYmh1/r8BROMWr0SGu rJ1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=uO5YfTFrrMVSnmGfyWGOuKUKzCewIhmMgyopSlglAgM=; b=bavd/W0rL9Lzs97O0E529bxM/NyX0m0vpSMVQ3SIKMci04c7Et9Hytvq3DCPcyJjmX 0w7JUFX+VU5KLbGx19lk/W2695S1VptG0gZwxxbPYIytbhhYFo7yNE7lGH4RFT6MTyER hYyEEOEOf5BaL0cpaQW1lPXonP2cNgwf9zHGJnPYkIsb4J2FkAwi7un835tVvetyyM34 ZRO4v6JLhcCr5wWq7chi56GVQ/nksyifuYdDqJ7yh/CrQT+Jujfb3RU2y1Cy2+g3bzGg NsxBtEWqIbheWfqDL5GmGQF7p+Fa6YLfcoNunrrkePyrpxAiqmqGLkJEy90uoXV+NMT6 akhA== X-Gm-Message-State: APjAAAVtCKhEJWd+vP6Q/IhqN6eW9mvjRBPs0SHjaGNIdSixkg0DQE78 I/+SXnhXqZaJOyiwZgGDf+KcCLVc X-Google-Smtp-Source: APXvYqwHR1FwH3mPEZIh/wZq5GQSM9O6aKsRz7Q2+XNuWjOrnOGEV0d9ID7g9nzWS+KLe5PBSIGnrA== X-Received: by 2002:a1c:80d4:: with SMTP id b203mr9968211wmd.102.1579354525250; Sat, 18 Jan 2020 05:35:25 -0800 (PST) Received: from guixSD (host146-19-dynamic.50-79-r.retail.telecomitalia.it. [79.50.19.146]) by smtp.gmail.com with ESMTPSA id y17sm235843wma.36.2020.01.18.05.35.24 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2020 05:35:24 -0800 (PST) From: nixo X-Google-Original-From: nixo To: 38546@debbugs.gnu.org Subject: [PATCH 09/11] gnu: Add julia-binaryprovider. Date: Sat, 18 Jan 2020 14:07:36 +0100 Message-ID: <87eevwvqec.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/julia-xyz.scm (julia-binaryprovider): New variable. --- gnu/packages/julia-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 92ffde58e7..0f8e04b4d1 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -68,3 +68,36 @@ allows to interface with @file{.ini} files") function takes in either an @code{Array{UInt8}}, a @code{ByteString} or an @code{IO} object.") (license license:expat))) + +(define-public julia-binaryprovider + (package + (name "julia-binaryprovider") + (version "0.5.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaPackaging/BinaryProvider.jl") + (commit (string-append "v" version)))) + (file-name "BinaryProvider") + (sha256 + (base32 "174jmg4w8ncgfhdvfnm0p4cnlayw31j4s9sksqlwz1sipywqvww7")))) + (propagated-inputs `(("julia-sha" ,julia-sha))) + ;; We don't really need BinaryProvider (as guix provides the binaries) but + ;; since it's a dependency of other packages we want to precompile it. + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-engine-probe + (lambda _ + (substitute* "src/BinaryProvider.jl" + ;; Precompilation tries to download things from the internet, + ;; disable the download part + (("probe_platform_engines") "# probe_platform_engines")) + #t))))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaPackaging/BinaryProvider.jl") + (synopsis "Reliable Binary provider for Julia") + (description "@code{BinaryProvider.jl} simplifies the installation of +binaries required by julia packages.") + (license license:expat))) -- 2.24.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 18 08:35:37 2020 Received: (at 38546) by debbugs.gnu.org; 18 Jan 2020 13:35:37 +0000 Received: from localhost ([127.0.0.1]:40696 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoGH-00076z-EP for submit@debbugs.gnu.org; Sat, 18 Jan 2020 08:35:37 -0500 Received: from mail-wm1-f68.google.com ([209.85.128.68]:38773) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoGD-00076E-Iq for 38546@debbugs.gnu.org; Sat, 18 Jan 2020 08:35:34 -0500 Received: by mail-wm1-f68.google.com with SMTP id u2so10285283wmc.3 for <38546@debbugs.gnu.org>; Sat, 18 Jan 2020 05:35:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=dkWhEsJxIVsduip/IR1sjUmS0HukAVzwsS4Wb6iDTM0=; b=cPgGEts7KiyTXrYwstyu5NirA18OkaQoUWDvskFdh7Hv8Gy4Cm5hp8d0wfzXRBvSLk 87fI253jfgie6mHfxNGdQs+6Ft5xApeh/xLn/SZzHLNomeiU/WRunWMWkcUJ5ktJj7Yb G7SEWPaU/wWtrMarEtSyquKANreSDtR6bx9gwkamKe7ttpSGtiVwrcoC2eS2fNxb3zzJ ZIJwIgNRplK36KT/a1M0m6yYuOiyhYQnqKhDAHON4j+cV+8uopqncU5WjfTvdfPjKdIB RG358AB3PzRmm5k6FORN3ybexDBdJMmC3N5PawM46ZvSUDOSaL/l2kSePmEJDdEnFW2l ezVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=dkWhEsJxIVsduip/IR1sjUmS0HukAVzwsS4Wb6iDTM0=; b=aGMhh97QGJ55CUHMnRRdhPtUZw2ya7gRdIAgRggXtR3Ciey70/4P5mQ+ipZncOl2XJ uoptVD6VkmIlK4X6HxmRTsFVwVwtdO/NTalct5Y+YmGL5bqoIzmi8cjWr9uQbesoDSPm 6zMlt2/cZN91BSMU6kw61gje4KOWFPltL3tmKTszH9m636mbcx897GyBkDCXqBXVyjT0 tflNY3t3uNQDfpngiEKVVPLAhvjM/6hDY8l4WOK+zP9gpBTYPtf6cDEIIXcd5mUEY+wR JYc9Bq2QHp9/0pOXHSjHgfxUxNlzbfKJOj+bfblbkt7ZDTEuIEnioyJkQw0QgojJVlzP CTNg== X-Gm-Message-State: APjAAAVp1DDSecGsqLL7u2T/45aEa5eKRODW41JdgFUwrE0dRnq0BJ7+ Sn3McuIVrqBNyPyUNUmRDypA6AYF X-Google-Smtp-Source: APXvYqxpXXMChw2JCC8N/yF8hmfop12/WB5dOEGuwY/9MN3QtCgf7/OzIgglDrN1Pc0idF261e3pYA== X-Received: by 2002:a05:600c:2959:: with SMTP id n25mr6385404wmd.185.1579354527625; Sat, 18 Jan 2020 05:35:27 -0800 (PST) Received: from guixSD (host146-19-dynamic.50-79-r.retail.telecomitalia.it. [79.50.19.146]) by smtp.gmail.com with ESMTPSA id k16sm39617833wru.0.2020.01.18.05.35.26 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2020 05:35:27 -0800 (PST) From: nixo X-Google-Original-From: nixo To: 38546@debbugs.gnu.org Subject: [PATCH 10/11] gnu: Add julia-mbedtls. Date: Sat, 18 Jan 2020 14:11:14 +0100 Message-ID: <87d0bgvqe9.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/julia-xyz.scm (julia-mbedtls): New variable. --- gnu/packages/julia-xyz.scm | 49 +++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 0f8e04b4d1..3e9f532697 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -2,7 +2,8 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix git-download) - #:use-module (guix build-system julia)) + #:use-module (guix build-system julia) + #:use-module (gnu packages tls)) (define-public julia-compat (package @@ -101,3 +102,49 @@ function takes in either an @code{Array{UInt8}}, a @code{ByteString} or an (description "@code{BinaryProvider.jl} simplifies the installation of binaries required by julia packages.") (license license:expat))) + +(define-public julia-mbedtls + (package + (name "julia-mbedtls") + (version "0.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaLang/MbedTLS.jl") + (commit (string-append "v" version)))) + (file-name "MbedTLS") + (sha256 + (base32 "1a8snw9gi21lm6r3kh6ly7ngi99s9k5shqkfiizj3g9li20q23h2")))) + (propagated-inputs + `(("julia-binaryprovider" ,julia-binaryprovider) + ("mbedtls-apache" ,mbedtls-apache))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'precompile 'build-deps + (lambda* (#:key outputs source inputs #:allow-other-keys) + (let ((f (open-file + (string-append + (assoc-ref outputs "out") + "/share/julia/packages/" + (string-append + (strip-store-file-name source) "/deps/deps.jl")) + "w"))) + (display (string-append "const libmbedcrypto = \"" + (assoc-ref inputs "mbedtls-apache") + "/lib/libmbedcrypto.so\"\n") f) + (display (string-append "const libmbedtls = \"" + (assoc-ref inputs "mbedtls-apache") + "/lib/libmbedtls.so\"\n") f) + (display (string-append "const libmbedx509 = \"" + (assoc-ref inputs "mbedtls-apache") + "/lib/libmbedx509.so\"\n") f) + (close-port f)) + #t))))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaLang/MbedTLS.jl") + (synopsis "Apache's mbed TLS library wrapper") + (description "@code{MbedTLS.jl} provides a wrapper around the mbed TLS and +cryptography C libary for Julia.") + (license license:expat))) -- 2.24.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 18 08:35:38 2020 Received: (at 38546) by debbugs.gnu.org; 18 Jan 2020 13:35:38 +0000 Received: from localhost ([127.0.0.1]:40698 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoGH-000771-OE for submit@debbugs.gnu.org; Sat, 18 Jan 2020 08:35:38 -0500 Received: from mail-wr1-f50.google.com ([209.85.221.50]:35171) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoGG-00076U-4m for 38546@debbugs.gnu.org; Sat, 18 Jan 2020 08:35:36 -0500 Received: by mail-wr1-f50.google.com with SMTP id g17so25206327wro.2 for <38546@debbugs.gnu.org>; Sat, 18 Jan 2020 05:35:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=yqi6NU8znKG+TtYigo1FxEFwMUGT7B5Q2jmVrIMFp28=; b=aAZ50oPWc6XiOweo7rX3qw1RLaaK1Mt79rHhACvOVcoXCpCDFmGe7iujSlMWlyonmb bdvtzaINfkAt0I8f73I4pCLfUMC5VgqGwCGNt+kv+TNghUDEINsBaCz7LAynzSe6XwpJ cIDtj+WZ8n7xwkzsf92qssuG4U/XTYc4yRgZXrxLfR/Db/YCGBaqRlTuXE7UFni7dDzy 80jb/FoIxUxaksbcU0hXqiPQUNnDLdbdSf+v/+KGchquTKotMan3S1jNX2wKVGxXSxxv x5F6oo58wl2vKsiglZTNVDqr0ZPRCAiK3No9j3MFqMQoTXSLnRMukstqEh1y1N57wfFZ p0wQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=yqi6NU8znKG+TtYigo1FxEFwMUGT7B5Q2jmVrIMFp28=; b=a2tv46YWSlb/cLKLxFZLowX3MDxFteraPKvM9AZVFnQvpIuBQQ5aUivmal3s9vP8wj NruYpRvoAzfBzhFjUCFrqZ6ZrOqx1I2+4bSE6Dy0Aj21p0sxIsu2DlbINgvVla6UXtGR V8BSOxwiifQ2755Sqp1Ek6xpjVe9uXq+L7OozyHyW8FnUmDOjwdvOQUoGcxiYPPPtWuk zgtkTfCp+wj00K/ZIkEOAs3dYQfgi9SpAXe9tRye101EcMTFcFN/+w9bJHIRqY5P1hYp 321JxLPPj82i51YEGBPmP6jKaIWH9VugvCTonhWjayT7skisvdLqCTY2HAZZevgKsfTN 9UVQ== X-Gm-Message-State: APjAAAXT4UuuGBLQ7OM/sylRiIMkcAh/a5Lw/mf8ptpxei5V1LYVajuf Q19LWF4mMFz75vXfav/6d25r9QLu X-Google-Smtp-Source: APXvYqwbUAo7sqofAS1cdzgzlzb0E2QTP3KjLMkC+xtaXc/K/ntpMTbFx9N5l+HCRXPCdLJsfwLxtQ== X-Received: by 2002:a5d:548e:: with SMTP id h14mr7908454wrv.380.1579354530235; Sat, 18 Jan 2020 05:35:30 -0800 (PST) Received: from guixSD (host146-19-dynamic.50-79-r.retail.telecomitalia.it. [79.50.19.146]) by smtp.gmail.com with ESMTPSA id t131sm15151276wmb.13.2020.01.18.05.35.29 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2020 05:35:29 -0800 (PST) From: nixo X-Google-Original-From: nixo To: 38546@debbugs.gnu.org Subject: [PATCH 11/11] gnu: Add julia-http. Date: Sat, 18 Jan 2020 14:11:45 +0100 Message-ID: <87blr0vqe7.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/julia-xyz.scm (julia-http): New variable. --- gnu/packages/julia-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 3e9f532697..ff1bb483f9 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -148,3 +148,27 @@ binaries required by julia packages.") (description "@code{MbedTLS.jl} provides a wrapper around the mbed TLS and cryptography C libary for Julia.") (license license:expat))) + +(define-public julia-http + (package + (name "julia-http") + (version "0.8.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaWeb/HTTP.jl") + (commit (string-append "v" version)))) + (file-name "HTTP") + (sha256 + (base32 "0928fvncfp07i5hvqxjyj8i27xmxxllas1m5idqq2i8h7jshzq3y")))) + (propagated-inputs + `(("julia-inifile" ,julia-inifile) + ("julia-mbedtls" ,julia-mbedtls) + ("julia-compat" ,julia-compat))) + (build-system julia-build-system) + (home-page "https://juliaweb.github.io/HTTP.jl/") + (synopsis "HTTP support for Julia") + (description "@code{HTTP.jl} is a Julia library for HTTP Messages, +implementing both a client and a server.") + (license license:expat))) -- 2.24.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 18 08:37:06 2020 Received: (at 38546) by debbugs.gnu.org; 18 Jan 2020 13:37:06 +0000 Received: from localhost ([127.0.0.1]:40709 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoHW-00079z-5b for submit@debbugs.gnu.org; Sat, 18 Jan 2020 08:37:06 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:33331) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoHQ-00079h-4F for 38546@debbugs.gnu.org; Sat, 18 Jan 2020 08:36:52 -0500 Received: by mail-wr1-f66.google.com with SMTP id b6so25265878wrq.0 for <38546@debbugs.gnu.org>; Sat, 18 Jan 2020 05:36:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:references:date:message-id:mime-version :content-transfer-encoding; bh=ofg0BDSa2celyTp1X58OFZPxovSXjNotoVaw3+LwfuA=; b=Pezg3jqq2aMex5AeJSff/U7wjuROuxEnr6NvqCWrvk+ab+p6kM7jfqSEeNLW3WNim6 u4eTnPAffWjK1MHG22c9FF4RTDR8E0PVirshC7GJ4qEvfH4yyAXIJoajW8I3xtH0TcSf tqroZAYD/Q+9n+PohxATl38+NTLPGazSlp3zgLNZN6KLV4VWtlrvX3uZ/1lXxlolKPPP ScJZOCoyWV2XMoEYWKdnaj3oIPYjr6VGrhh46SKOLxcPI1G5wvgdNSMeDW8A4cI7Kali IGZ97t7OsdJby47+/Sf3moMGPsl319d9XoQYCJr/EvV8KnHHq/2kCmez8UlIR2fV6bH7 sgsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:references:date:message-id :mime-version:content-transfer-encoding; bh=ofg0BDSa2celyTp1X58OFZPxovSXjNotoVaw3+LwfuA=; b=o0FZNspRqYvbIGWiwATyZfAhPqCllszoYO0L3nHQ/dXKV5iAESuLCtd55GKvfqAqcn IF0YgDS8hB7Dh2Gl0dSw2l1xUZLmk993vRpCfxs//zJsMKb3ko7xm/8d05QGDg0ofCth +WcRju1tnGR8pyFZaVXVvsd9bjkp69721vtcbF7kGqZ77J+MycSb5nNuzOgE1hlEZsZx eloi8ou9GGMf7iBWLkX+OuvF96vllGJ0eGCePOBT7M9b/pDB1FLrue0iOT/+qqeYIwse iuTTEJ/rYDSe3Pl/ZVQFpsYVpYr8WhkDkdF9F2BInNnLTREKln9I8JM71ulWZKZfvpCF nEWA== X-Gm-Message-State: APjAAAXym+eJqQvb39Hd/l3t9DZEabfMArmXtzSSSl6clZDqRXNB0Z0w FmFgErijDRfe8zT3KohpfMwRe621 X-Google-Smtp-Source: APXvYqwXElXZH9KXLPGqD9LJFwMDsU9n7zjov13vOdL1TCFCSvJ59XPXyPJMPqMbzMm/gP9BS6RapA== X-Received: by 2002:adf:e8ca:: with SMTP id k10mr8027149wrn.50.1579354601722; Sat, 18 Jan 2020 05:36:41 -0800 (PST) Received: from guixSD (host146-19-dynamic.50-79-r.retail.telecomitalia.it. [79.50.19.146]) by smtp.gmail.com with ESMTPSA id o4sm38380394wrw.97.2020.01.18.05.36.40 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2020 05:36:41 -0800 (PST) From: anothersms@gmail.com (=?utf-8?Q?Nicol=C3=B2?= Balzarotti) To: 38546@debbugs.gnu.org Subject: [nixo] [PATCH 01/11] gnu: julia: Update to 1.3.1. References: <87pnfgvqgt.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> Date: Sat, 18 Jan 2020 14:36:40 +0100 Message-ID: <878sm4vqc7.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/julia.scm (julia): Update to 1.3.1. * gnu/packages/julia.scm (libuv-julia): Update to 2.0.0. --- gnu/packages/julia.scm | 278 +++++++++++++++++ 1 file changed, 1 [...] Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: gnu.org] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) 1.9 PDS_OTHER_BAD_TLD Untrustworthy TLDs [URI: nixo.xyz (xyz)] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.9 (/) * gnu/packages/julia.scm (julia): Update to 1.3.1. * gnu/packages/julia.scm (libuv-julia): Update to 2.0.0. --- gnu/packages/julia.scm | 278 +++++++++++++++++------------------------ 1 file changed, 113 insertions(+), 165 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 65a5e42beb..e4db39afbd 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright =C2=A9 2015, 2016, 2017 Ricardo Wurmus ;;; Copyright =C2=A9 2016 Efraim Flashner +;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) #:use-module (gnu packages elf) #:use-module (gnu packages gcc) #:use-module (gnu packages llvm) @@ -43,18 +45,30 @@ #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages ssh) #:use-module (gnu packages wget) #:use-module (ice-9 match)) =20 +(define (julia-patch-url version name) + (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" ver= sion + "/deps/patches/" name ".patch")) + +(define (julia-patch name sha) + (let ((version "1.3.1")) + (origin (method url-fetch) + (uri (julia-patch-url version name)) + (sha256 (base32 sha)) + (file-name name)))) + (define libuv-julia - (let ((commit "26dbe5672c33fc885462c509fe2a9b36f35866fd") - (revision "6")) + (let ((commit "35b1504507a7a4168caae3d78db54d1121b121e1")) ;; When upgrading Julia, also upgrade this. - ;; Get the commit from https://github.com/JuliaLang/julia/blob/v1.1.1/= deps/libuv.version + ;; Get the commit from + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/deps/libuv.version (package (inherit libuv) (name "libuv-julia") - (version (string-append "1.9.0-" revision "." (string-take commit 8)= )) + (version (string-append "2.0.0" "." (string-take commit 8))) (source (origin (method git-fetch) (uri (git-reference @@ -63,7 +77,7 @@ (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "17pn2xmqaramilx897s9grs966i5246gi6sric5alch4g9j4685n"))= )) + "0dn3v6fdp1z382pqg3nhjzk60l61ky9b65mfgaj29fv2da95rwjs"))= )) (build-system gnu-build-system) (arguments (substitute-keyword-arguments (package-arguments libuv) @@ -72,16 +86,27 @@ (delete 'autogen))))) (home-page "https://github.com/JuliaLang/libuv")))) =20 -(define (llvm-patch-url version name) - (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" ver= sion - "/deps/patches/" name)) - -(define (llvm-patch name sha) - (let ((version "1.1.1")) - (origin (method url-fetch) - (uri (llvm-patch-url version name)) - (sha256 (base32 sha)) - (file-name name)))) +(define libunwind-julia + ;; julia requires a patched version + (package + (inherit libunwind) + (name "libunwind-julia") + (version "1.3.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/libunwind/libunwind-" + version ".tar.gz")) + (sha256 + (base32 + "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3")) + (patches + (list + (julia-patch "libunwind-prefer-extbl" + "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hh= xfgnh2m1") + (julia-patch "libunwind-static-arm" + "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic87= 0zh3lhgq"))))) + (build-system gnu-build-system) + (home-page "https://github.com/JuliaLang/libuv"))) =20 (define llvm-julia (package @@ -99,39 +124,39 @@ ;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi= ?bug=3D919628 (patches (list - (llvm-patch "llvm-6.0-D44650.patch" + (julia-patch "llvm-6.0-D44650" "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") - (llvm-patch "llvm-6.0-DISABLE_ABI_CHECKS.patch" + (julia-patch "llvm-6.0-DISABLE_ABI_CHECKS" "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") - (llvm-patch "llvm-6.0-NVPTX-addrspaces.patch" + (julia-patch "llvm-6.0-NVPTX-addrspaces" "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") - (llvm-patch "llvm-6.0.0_D27296-libssp.patch" + (julia-patch "llvm-6.0.0_D27296-libssp" "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") - (llvm-patch "llvm-D27629-AArch64-large_model_6.0.1.patch" + (julia-patch "llvm-D27629-AArch64-large_model_6.0.1" "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") - (llvm-patch "llvm-D34078-vectorize-fdiv.patch" + (julia-patch "llvm-D34078-vectorize-fdiv" "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") - (llvm-patch "llvm-D42262-jumpthreading-not-i1.patch" + (julia-patch "llvm-D42262-jumpthreading-not-i1" "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") - (llvm-patch "llvm-D44892-Perf-integration.patch" + (julia-patch "llvm-D44892-Perf-integration" "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") - (llvm-patch "llvm-D46460.patch" + (julia-patch "llvm-D46460" "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") - (llvm-patch "llvm-D49832-SCEVPred.patch" + (julia-patch "llvm-D49832-SCEVPred" "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") - (llvm-patch "llvm-D50010-VNCoercion-ni.patch" + (julia-patch "llvm-D50010-VNCoercion-ni" "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") - (llvm-patch "llvm-D50167-scev-umin.patch" + (julia-patch "llvm-D50167-scev-umin" "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") - (llvm-patch "llvm-OProfile-line-num.patch" + (julia-patch "llvm-OProfile-line-num" "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") - (llvm-patch "llvm-PPC-addrspaces.patch" + (julia-patch "llvm-PPC-addrspaces" "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") - (llvm-patch "llvm-rL323946-LSRTy.patch" + (julia-patch "llvm-rL323946-LSRTy" "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") - (llvm-patch "llvm-rL326967-aligned-load.patch" + (julia-patch "llvm-rL326967-aligned-load" "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") - (llvm-patch "llvm-rL327898.patch" + (julia-patch "llvm-rL327898" "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))) (arguments (substitute-keyword-arguments (package-arguments llvm-6) @@ -158,7 +183,7 @@ (define-public julia (package (name "julia") - (version "1.1.1") + (version "1.3.1") (source (origin (method url-fetch) (uri (string-append @@ -166,7 +191,7 @@ version "/julia-" version ".tar.gz")) (sha256 (base32 - "0hk983mywimclgnjc41zmlppm5kfdz2aj85ky07p49ilcqxi998f")))) + "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -188,30 +213,24 @@ (add-after 'unpack 'prepare-deps (lambda* (#:key inputs #:allow-other-keys) (mkdir "deps/srccache") - (copy-file (assoc-ref inputs "dsfmt") - "deps/srccache/dsfmt-2.2.3.tar.gz") + ;; no USE_SYSTEM_{OBJCONV/LIBWHICH} (copy-file (assoc-ref inputs "objconv") "deps/srccache/objconv.zip") - (copy-file (assoc-ref inputs "suitesparse") - "deps/srccache/SuiteSparse-4.4.5.tar.gz") - (copy-file (string-append (assoc-ref inputs "virtualenv") - "/bin/virtualenv") - "julia-env") (copy-file (assoc-ref inputs "libwhich") (string-append "deps/srccache/libwhich-" "81e9723c0273d78493dc8c8ed570f68d9c= e7e89e" ".tar.gz")) - (copy-file (assoc-ref inputs "rmath") - "deps/srccache/Rmath-julia-0.1.tar.gz") - ;; needed by libwhich (setenv "LD_LIBRARY_PATH" (string-join (map (lambda (pkg) (string-append (assoc-ref inputs = pkg) "/lib")) - '("arpack-ng" "fftw" "gmp" "lapack" - "libgit2" "mpfr" "openblas" "openlibm" - "openspecfun" "pcre2")) + '("arpack-ng" "curl" "dsfmt" + "gmp" "lapack" + "libssh2" "libgit2" + "mbedtls" "mpfr" + "openblas" "openlibm" "pcre2" + "suitesparse")) ":")) #t)) ;; FIXME: Building the documentation requires Julia packages that @@ -233,44 +252,12 @@ ;; using the output of "/sbin/ldconfig -p". Since ldconfig is n= ot ;; used in Guix, we patch runtime_ccall.cpp to contain a static = map. (lambda* (#:key inputs #:allow-other-keys) - (use-modules (ice-9 match)) - (substitute* "src/runtime_ccall.cpp" - ;; Patch out invocations of '/sbin/ldconfig' to avoid getting - ;; error messages about missing '/sbin/ldconfig' on Guix Sys= tem. - (("popen\\(.*ldconfig.*\\);") - "NULL;\n") - - ;; Populate 'sonameMap'. - (("jl_read_sonames.*;") - (string-join - (map (match-lambda - ((input libname soname) - (string-append - "sonameMap[\"" libname "\"] =3D " - "\"" (assoc-ref inputs input) "/lib/" soname "\";= "))) - '(("libc" "libc" "libc.so.6") - ("pcre2" "libpcre2-8" "libpcre2-8.so") - ("mpfr" "libmpfr" "libmpfr.so") - ("openblas" "libblas" "libopenblas.so") - ("arpack-ng" "libarpack" "libarpack.so") - ("lapack" "liblapack" "liblapack.so") - ("libgit2" "libgit2" "libgit2.so") - ("gmp" "libgmp" "libgmp.so") - ("openspecfun" "libopenspecfun" "libopenspecfun.so") - ("fftw" "libfftw3" "libfftw3_threads.s= o") - ("fftwf" "libfftw3f" "libfftw3f_threads.= so")))))) (substitute* "base/math.jl" (("const libm =3D Base.libm_name") (string-append "const libm =3D \"" (assoc-ref inputs "openlibm") "/lib/libopenlibm.so" - "\"")) - (("const openspecfun =3D \"libopenspecfun\"") - (string-append "const openspecfun =3D \"" - (assoc-ref inputs "openspecfun") - "/lib/libopenspecfun.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 @@ -278,10 +265,10 @@ ;; collection of build targets and a list of libraries to link ;; against. (substitute* "src/flisp/Makefile" - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\): \\$\\(OBJS\\) \\$\\(L= IBFILES_release\\)") - "$(BUILDDIR)/$(EXENAME): $(OBJS) $(LLT_release)") - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug: \\$\\(DOBJS\\) = \\$\\(LIBFILES_debug\\)") - "$(BUILDDIR)/$(EXENAME)-debug: $(DOBJS) $(LLT_debug)")) + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)\\$\\(EXE\\): \\$\\(OB= JS\\) \\$\\(LIBFILES_release\\)") + "$(BUILDDIR)/$(EXENAME)$(EXE): $(OBJS) $(LLT_release)") + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug$(EXE): \\$\\(DO= BJS\\) \\$\\(LIBFILES_debug\\)") + "$(BUILDDIR)/$(EXENAME)-debug\\$\\(EXE\\): $(DOBJS) $(LLT_= debug)")) =20 ;; The REPL must be linked with libuv. (substitute* "ui/Makefile" @@ -296,38 +283,28 @@ "/include/uv/errno.h"))) #t)) (add-before 'build 'replace-default-shell - (lambda _ - (substitute* "base/client.jl" - (("/bin/sh") (which "sh"))) - #t)) - (add-after 'unpack 'hardcode-paths (lambda _ - (substitute* "stdlib/InteractiveUtils/src/InteractiveUtils.jl" - (("`which") (string-append "`" (which "which"))) - (("`wget") (string-append "`" (which "wget")))) + (substitute* "base/client.jl" + (("/bin/sh") (which "sh"))) #t)) - (add-before 'check 'disable-broken-tests + (add-before 'check 'fix-broken-tests (lambda _ - (define (touch file-name) - (call-with-output-file file-name (const #t))) - ;; FIXME: All git tests works except this one. But *THIS* "fix" - ;; is not working, so right now I'm disabling all libgit2.jl = tests - ;; (substitute* "stdlib/LibGit2/test/libgit2.jl" - ;; (("!LibGit2.use_http_path(cfg, github_cred)") "true") - ;; (("LibGit2.use_http_path(cfg, mygit_cred)") "true")) - (map (lambda (test) - (delete-file test) - (touch test)) - '("stdlib/Sockets/test/runtests.jl" - "stdlib/Distributed/test/runtests.jl" - ;; FIXME: see above - "stdlib/LibGit2/test/libgit2.jl")) - (substitute* "test/choosetests.jl" - ;; These tests fail, probably because some of the input - ;; binaries have been stripped and thus backtraces don't look - ;; as expected. - (("\"backtrace\",") "") - (("\"cmdlineargs\",") "")) + (substitute* "test/choosetests.jl" + (("tests =3D testnames") + ;; Those failings are not deterministic. They depends on = the + ;; running order. I think it depends on the number of + ;; runners, disabling it for now + ;; https://github.com/JuliaLang/julia/issues/34330 + "tests =3D filter(e->!in(e,[\"backtrace\",\"exceptions\",\= "client\",\"stacktraces\"]),testnames)")) + ;; 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 + (substitute* "test/cmdlineargs.jl" + (("\"JULIA_PROJECT\"") "\"HOME\"=3D>\"/tmp\", \"JULIA_PROJE= CT\"")) + ;; Marking the test as broken as it's a known bug: + ;; https://github.com/JuliaLang/julia/issues/32377 + (substitute* "stdlib/REPL/test/replcompletions.jl" + (("@test count") "@test_broken count")) #t))) #:make-flags (list @@ -345,26 +322,21 @@ ;; platforms, e.g. when running "guix package --search=3D" (_ "MARCH=3DUNSUPPORTED")) =20 - "CONFIG_SHELL=3Dbash" ;needed to build bundled libraries - "USE_SYSTEM_DSFMT=3D0" ;not packaged for Guix and upstream has = no - ;build system for a shared library. + "CONFIG_SHELL=3Dbash" ;needed to build bundled librari= es + ;; list of "USE_SYSTEM_*" is here: + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/Make.inc + "USE_SYSTEM_DSFMT=3D1" + "USE_SYSTEM_P7ZIP=3D1" "USE_SYSTEM_LAPACK=3D1" "USE_SYSTEM_BLAS=3D1" "USE_BLAS64=3D0" ;needed when USE_SYSTEM_BLAS=3D1 "LIBBLAS=3D-lopenblas" "LIBBLASNAME=3Dlibopenblas" =20 - "USE_SYSTEM_FFTW=3D1" - "LIBFFTWNAME=3Dlibfftw3" - "LIBFFTWFNAME=3Dlibfftw3f" - - ;; TODO: Suitesparse does not install shared libraries, so we cann= ot - ;; use the suitesparse package. - ;; "USE_SYSTEM_SUITESPARSE=3D1" - ;; (string-append "SUITESPARSE_INC=3D-I " - ;; (assoc-ref %build-inputs "suitesparse") - ;; "/include") - + "USE_SYSTEM_SUITESPARSE=3D1" + (string-append "SUITESPARSE_INC=3D-I " + (assoc-ref %build-inputs "suitesparse") + "/include") "USE_GPL_LIBS=3D1" ;proudly "USE_SYSTEM_UTF8PROC=3D1" (string-append "UTF8PROC_INC=3D" @@ -385,16 +357,19 @@ "USE_SYSTEM_PATCHELF=3D1" "USE_SYSTEM_PCRE=3D1" "USE_SYSTEM_OPENLIBM=3D1" - + "USE_SYSTEM_LIBM=3D0" + "USE_SYSTEM_LIBSSH2=3D1" + "USE_SYSTEM_CURL=3D1" "USE_SYSTEM_GMP=3D1" "USE_SYSTEM_MPFR=3D1" + "USE_SYSTEM_MBEDTLS=3D1" "USE_SYSTEM_ARPACK=3D1" "USE_SYSTEM_LIBGIT2=3D1" - "USE_SYSTEM_ZLIB=3D1" - "USE_SYSTEM_OPENSPECFUN=3D1"))) + "USE_SYSTEM_ZLIB=3D1"))) (inputs `(("llvm" ,llvm-julia) =20 + ("p7zip" ,p7zip) ;; The bundled version is 3.3.0 so stick to that version. With oth= er ;; versions, we get test failures in 'linalg/arnoldi' as described = in ;; . @@ -403,12 +378,12 @@ ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like ("lapack" ,lapack) ("openblas" ,openblas) ;Julia does not build with Atlas - ("libunwind" ,libunwind) + ("libunwind" ,libunwind-julia) ("openlibm" ,openlibm) - ("openspecfun" ,openspecfun) + ("mbedtls" ,mbedtls-apache) + ("curl" ,curl) ("libgit2" ,libgit2) - ("fftw" ,fftw) - ("fftwf" ,fftwf) + ("libssh2" ,libssh2) ("fortran" ,gfortran) ("libuv" ,libuv-julia) ("pcre2" ,pcre2) @@ -418,31 +393,12 @@ ("which" ,which) ("zlib" ,zlib) ("gmp" ,gmp) - ("virtualenv" ,python2-virtualenv) + ("suitesparse" ,suitesparse) ;; FIXME: The following inputs are downloaded from upstream to allo= w us ;; to use the lightweight Julia release tarball. Ideally, these in= puts ;; would eventually be replaced with proper Guix packages. - - ;; TODO: run "make -f contrib/repackage_system_suitesparse4.make" t= o copy static lib - ;; Find dependency versions here: - ;; https://raw.githubusercontent.com/JuliaLang/julia/77a2c1e245c858= 12dc1c7687540beedecc52758f/deps/Versions.make - ("rmath" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaLang/Rmath-julia") - (commit "v0.1"))) - (file-name "rmath-julia-0.1-checkout") - (sha256 - (base32 - "1zkpy0cg5zivq40zbhbdgj9128fqzs2j94wkwih8nc6xaj3gp9p6")))) - ("suitesparse" - ,(origin - (method url-fetch) - (uri "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse= -4.4.5.tar.gz") - (sha256 - (base32 - "1jcbxb8jx5wlcixzf6n5dca2rcfx6mlcms1k2rl5gp67ay3bix43")))) + ;; Find dependencies versions here: + ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Ve= rsions.make ("objconv" ,(origin (method url-fetch) @@ -467,15 +423,7 @@ (sha256 (base32 "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) - ("dsfmt" - ,(origin - (method url-fetch) - (uri (string-append - "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/" - "SFMT/dSFMT-src-2.2.3.tar.gz")) - (sha256 - (base32 - "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42")))))) + ("dsfmt" ,dsfmt))) (native-inputs `(("openssl" ,openssl) ("perl" ,perl) --=20 2.24.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 18 08:41:55 2020 Received: (at 38546) by debbugs.gnu.org; 18 Jan 2020 13:41:55 +0000 Received: from localhost ([127.0.0.1]:40713 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoMA-0007HV-Te for submit@debbugs.gnu.org; Sat, 18 Jan 2020 08:41:55 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:42352) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoM1-0007HA-L2 for 38546@debbugs.gnu.org; Sat, 18 Jan 2020 08:41:41 -0500 Received: by mail-wr1-f68.google.com with SMTP id q6so25149030wro.9 for <38546@debbugs.gnu.org>; Sat, 18 Jan 2020 05:41:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:references:message-id:mime-version :content-transfer-encoding; bh=ofg0BDSa2celyTp1X58OFZPxovSXjNotoVaw3+LwfuA=; b=ksOoz+OwisizL8/Y67lK25GqGmUoDFQ10D2O3ViYXRvmlBF0y6bC8CaJAC/qiXFiCv tnvqIQWU9XexEnvgwCNBC3hLQ785E3m4NPJqkMA0pCxEZbLU0yEy7GZD5YMqWyRvo6GR clDubqm3pCxgC8Vht7Aci+LR6NQKV9VOoEX2lcNbR+cOceM5SaH0sLp2vT8W75fRCgh3 50Zas49xuQQrLYsq0BeeQhvqfCwvHR1TzwJIWmufFrq5YC2p+aOiENw0iGQLdF9oISy+ IODe2d/4yTCgHAr1eXGvz3CKrryV68ong0tITCLkJtqDOfzMudTDBdZ8tZjATbw3iaIR kP3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:references:message-id :mime-version:content-transfer-encoding; bh=ofg0BDSa2celyTp1X58OFZPxovSXjNotoVaw3+LwfuA=; b=O+8/xMuT66H3YelR8RpyaC6p5szWm1OgJbvMM5nBJKBqSZ8r/XZbmZ/4y3QKAmkn7z dJA52FixCy26uqlXFVa9/ETq+FwbqaHMp4uOOzHoiWGMdgo2d17mB/43yvOt3UYe9Btm A7F19pUDZk1Cpwcg0gmFHhpd8rdodbN70SqUQtJxDT7fmIjJFBH03zGo1avzWhHGrv3k 6kIjwftmfCyK04FejQ111MCvAlomLNK9Tm7QMFhtWtS+w0Wz0sZdbk+OBAmjXkUXdTdF h4DZoeFLw7qW4A50TBrefisGNiI696uoXCseSTssUiWAo4Vc/mRz5zqbgzKMM9Et91kp y9ew== X-Gm-Message-State: APjAAAUqiTx7nHCBRcVr40zZ4anLRf5TP3CLt9QLI9HTTk87L/jWzJ0R c+pplJi33whC+4PbAuakmopaJGBq X-Google-Smtp-Source: APXvYqy7e8/jJN0ovD/qsFuxvqo9+7ypBwcYwpRcGohTGH4RUxGRyrMaZniZfOBMLb2bVaw1A2HLlg== X-Received: by 2002:a5d:558d:: with SMTP id i13mr8409544wrv.364.1579354887012; Sat, 18 Jan 2020 05:41:27 -0800 (PST) Received: from guixSD (host146-19-dynamic.50-79-r.retail.telecomitalia.it. [79.50.19.146]) by smtp.gmail.com with ESMTPSA id i16sm14974818wmb.36.2020.01.18.05.41.25 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2020 05:41:26 -0800 (PST) From: nixo X-Google-Original-From: nixo To: 38546@debbugs.gnu.org Subject: [PATCH 01/11] gnu: julia: Update to 1.3.1. Date: Thu, 12 Dec 2019 09:43:20 +0100 References: <87pnfgvqgt.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> Message-ID: <875zh8vq4a.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 4.0 (++++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/julia.scm (julia): Update to 1.3.1. * gnu/packages/julia.scm (libuv-julia): Update to 2.0.0. --- gnu/packages/julia.scm | 278 +++++++++++++++++ 1 file changed, 1 [...] Content analysis details: (4.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: libmpfr.so] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.68 listed in wl.mailspike.net] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) 1.9 PDS_OTHER_BAD_TLD Untrustworthy TLDs [URI: nixo.xyz (xyz)] -0.0 SPF_PASS SPF: sender matches SPF record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.68 listed in list.dnswl.org] X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 3.0 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/julia.scm (julia): Update to 1.3.1. * gnu/packages/julia.scm (libuv-julia): Update to 2.0.0. --- gnu/packages/julia.scm | 278 +++++++++++++++++ 1 file changed, 1 [...] Content analysis details: (3.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: libmpfr.so] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) 1.9 PDS_OTHER_BAD_TLD Untrustworthy TLDs [URI: nixo.xyz (xyz)] -0.0 SPF_PASS SPF: sender matches SPF record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/julia.scm (julia): Update to 1.3.1. * gnu/packages/julia.scm (libuv-julia): Update to 2.0.0. --- gnu/packages/julia.scm | 278 +++++++++++++++++------------------------ 1 file changed, 113 insertions(+), 165 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 65a5e42beb..e4db39afbd 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright =C2=A9 2015, 2016, 2017 Ricardo Wurmus ;;; Copyright =C2=A9 2016 Efraim Flashner +;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) #:use-module (gnu packages elf) #:use-module (gnu packages gcc) #:use-module (gnu packages llvm) @@ -43,18 +45,30 @@ #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages ssh) #:use-module (gnu packages wget) #:use-module (ice-9 match)) =20 +(define (julia-patch-url version name) + (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" ver= sion + "/deps/patches/" name ".patch")) + +(define (julia-patch name sha) + (let ((version "1.3.1")) + (origin (method url-fetch) + (uri (julia-patch-url version name)) + (sha256 (base32 sha)) + (file-name name)))) + (define libuv-julia - (let ((commit "26dbe5672c33fc885462c509fe2a9b36f35866fd") - (revision "6")) + (let ((commit "35b1504507a7a4168caae3d78db54d1121b121e1")) ;; When upgrading Julia, also upgrade this. - ;; Get the commit from https://github.com/JuliaLang/julia/blob/v1.1.1/= deps/libuv.version + ;; Get the commit from + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/deps/libuv.version (package (inherit libuv) (name "libuv-julia") - (version (string-append "1.9.0-" revision "." (string-take commit 8)= )) + (version (string-append "2.0.0" "." (string-take commit 8))) (source (origin (method git-fetch) (uri (git-reference @@ -63,7 +77,7 @@ (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "17pn2xmqaramilx897s9grs966i5246gi6sric5alch4g9j4685n"))= )) + "0dn3v6fdp1z382pqg3nhjzk60l61ky9b65mfgaj29fv2da95rwjs"))= )) (build-system gnu-build-system) (arguments (substitute-keyword-arguments (package-arguments libuv) @@ -72,16 +86,27 @@ (delete 'autogen))))) (home-page "https://github.com/JuliaLang/libuv")))) =20 -(define (llvm-patch-url version name) - (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" ver= sion - "/deps/patches/" name)) - -(define (llvm-patch name sha) - (let ((version "1.1.1")) - (origin (method url-fetch) - (uri (llvm-patch-url version name)) - (sha256 (base32 sha)) - (file-name name)))) +(define libunwind-julia + ;; julia requires a patched version + (package + (inherit libunwind) + (name "libunwind-julia") + (version "1.3.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/libunwind/libunwind-" + version ".tar.gz")) + (sha256 + (base32 + "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3")) + (patches + (list + (julia-patch "libunwind-prefer-extbl" + "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hh= xfgnh2m1") + (julia-patch "libunwind-static-arm" + "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic87= 0zh3lhgq"))))) + (build-system gnu-build-system) + (home-page "https://github.com/JuliaLang/libuv"))) =20 (define llvm-julia (package @@ -99,39 +124,39 @@ ;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi= ?bug=3D919628 (patches (list - (llvm-patch "llvm-6.0-D44650.patch" + (julia-patch "llvm-6.0-D44650" "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") - (llvm-patch "llvm-6.0-DISABLE_ABI_CHECKS.patch" + (julia-patch "llvm-6.0-DISABLE_ABI_CHECKS" "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") - (llvm-patch "llvm-6.0-NVPTX-addrspaces.patch" + (julia-patch "llvm-6.0-NVPTX-addrspaces" "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") - (llvm-patch "llvm-6.0.0_D27296-libssp.patch" + (julia-patch "llvm-6.0.0_D27296-libssp" "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") - (llvm-patch "llvm-D27629-AArch64-large_model_6.0.1.patch" + (julia-patch "llvm-D27629-AArch64-large_model_6.0.1" "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") - (llvm-patch "llvm-D34078-vectorize-fdiv.patch" + (julia-patch "llvm-D34078-vectorize-fdiv" "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") - (llvm-patch "llvm-D42262-jumpthreading-not-i1.patch" + (julia-patch "llvm-D42262-jumpthreading-not-i1" "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") - (llvm-patch "llvm-D44892-Perf-integration.patch" + (julia-patch "llvm-D44892-Perf-integration" "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") - (llvm-patch "llvm-D46460.patch" + (julia-patch "llvm-D46460" "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") - (llvm-patch "llvm-D49832-SCEVPred.patch" + (julia-patch "llvm-D49832-SCEVPred" "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") - (llvm-patch "llvm-D50010-VNCoercion-ni.patch" + (julia-patch "llvm-D50010-VNCoercion-ni" "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") - (llvm-patch "llvm-D50167-scev-umin.patch" + (julia-patch "llvm-D50167-scev-umin" "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") - (llvm-patch "llvm-OProfile-line-num.patch" + (julia-patch "llvm-OProfile-line-num" "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") - (llvm-patch "llvm-PPC-addrspaces.patch" + (julia-patch "llvm-PPC-addrspaces" "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") - (llvm-patch "llvm-rL323946-LSRTy.patch" + (julia-patch "llvm-rL323946-LSRTy" "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") - (llvm-patch "llvm-rL326967-aligned-load.patch" + (julia-patch "llvm-rL326967-aligned-load" "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") - (llvm-patch "llvm-rL327898.patch" + (julia-patch "llvm-rL327898" "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))) (arguments (substitute-keyword-arguments (package-arguments llvm-6) @@ -158,7 +183,7 @@ (define-public julia (package (name "julia") - (version "1.1.1") + (version "1.3.1") (source (origin (method url-fetch) (uri (string-append @@ -166,7 +191,7 @@ version "/julia-" version ".tar.gz")) (sha256 (base32 - "0hk983mywimclgnjc41zmlppm5kfdz2aj85ky07p49ilcqxi998f")))) + "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -188,30 +213,24 @@ (add-after 'unpack 'prepare-deps (lambda* (#:key inputs #:allow-other-keys) (mkdir "deps/srccache") - (copy-file (assoc-ref inputs "dsfmt") - "deps/srccache/dsfmt-2.2.3.tar.gz") + ;; no USE_SYSTEM_{OBJCONV/LIBWHICH} (copy-file (assoc-ref inputs "objconv") "deps/srccache/objconv.zip") - (copy-file (assoc-ref inputs "suitesparse") - "deps/srccache/SuiteSparse-4.4.5.tar.gz") - (copy-file (string-append (assoc-ref inputs "virtualenv") - "/bin/virtualenv") - "julia-env") (copy-file (assoc-ref inputs "libwhich") (string-append "deps/srccache/libwhich-" "81e9723c0273d78493dc8c8ed570f68d9c= e7e89e" ".tar.gz")) - (copy-file (assoc-ref inputs "rmath") - "deps/srccache/Rmath-julia-0.1.tar.gz") - ;; needed by libwhich (setenv "LD_LIBRARY_PATH" (string-join (map (lambda (pkg) (string-append (assoc-ref inputs = pkg) "/lib")) - '("arpack-ng" "fftw" "gmp" "lapack" - "libgit2" "mpfr" "openblas" "openlibm" - "openspecfun" "pcre2")) + '("arpack-ng" "curl" "dsfmt" + "gmp" "lapack" + "libssh2" "libgit2" + "mbedtls" "mpfr" + "openblas" "openlibm" "pcre2" + "suitesparse")) ":")) #t)) ;; FIXME: Building the documentation requires Julia packages that @@ -233,44 +252,12 @@ ;; using the output of "/sbin/ldconfig -p". Since ldconfig is n= ot ;; used in Guix, we patch runtime_ccall.cpp to contain a static = map. (lambda* (#:key inputs #:allow-other-keys) - (use-modules (ice-9 match)) - (substitute* "src/runtime_ccall.cpp" - ;; Patch out invocations of '/sbin/ldconfig' to avoid getting - ;; error messages about missing '/sbin/ldconfig' on Guix Sys= tem. - (("popen\\(.*ldconfig.*\\);") - "NULL;\n") - - ;; Populate 'sonameMap'. - (("jl_read_sonames.*;") - (string-join - (map (match-lambda - ((input libname soname) - (string-append - "sonameMap[\"" libname "\"] =3D " - "\"" (assoc-ref inputs input) "/lib/" soname "\";= "))) - '(("libc" "libc" "libc.so.6") - ("pcre2" "libpcre2-8" "libpcre2-8.so") - ("mpfr" "libmpfr" "libmpfr.so") - ("openblas" "libblas" "libopenblas.so") - ("arpack-ng" "libarpack" "libarpack.so") - ("lapack" "liblapack" "liblapack.so") - ("libgit2" "libgit2" "libgit2.so") - ("gmp" "libgmp" "libgmp.so") - ("openspecfun" "libopenspecfun" "libopenspecfun.so") - ("fftw" "libfftw3" "libfftw3_threads.s= o") - ("fftwf" "libfftw3f" "libfftw3f_threads.= so")))))) (substitute* "base/math.jl" (("const libm =3D Base.libm_name") (string-append "const libm =3D \"" (assoc-ref inputs "openlibm") "/lib/libopenlibm.so" - "\"")) - (("const openspecfun =3D \"libopenspecfun\"") - (string-append "const openspecfun =3D \"" - (assoc-ref inputs "openspecfun") - "/lib/libopenspecfun.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 @@ -278,10 +265,10 @@ ;; collection of build targets and a list of libraries to link ;; against. (substitute* "src/flisp/Makefile" - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\): \\$\\(OBJS\\) \\$\\(L= IBFILES_release\\)") - "$(BUILDDIR)/$(EXENAME): $(OBJS) $(LLT_release)") - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug: \\$\\(DOBJS\\) = \\$\\(LIBFILES_debug\\)") - "$(BUILDDIR)/$(EXENAME)-debug: $(DOBJS) $(LLT_debug)")) + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)\\$\\(EXE\\): \\$\\(OB= JS\\) \\$\\(LIBFILES_release\\)") + "$(BUILDDIR)/$(EXENAME)$(EXE): $(OBJS) $(LLT_release)") + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug$(EXE): \\$\\(DO= BJS\\) \\$\\(LIBFILES_debug\\)") + "$(BUILDDIR)/$(EXENAME)-debug\\$\\(EXE\\): $(DOBJS) $(LLT_= debug)")) =20 ;; The REPL must be linked with libuv. (substitute* "ui/Makefile" @@ -296,38 +283,28 @@ "/include/uv/errno.h"))) #t)) (add-before 'build 'replace-default-shell - (lambda _ - (substitute* "base/client.jl" - (("/bin/sh") (which "sh"))) - #t)) - (add-after 'unpack 'hardcode-paths (lambda _ - (substitute* "stdlib/InteractiveUtils/src/InteractiveUtils.jl" - (("`which") (string-append "`" (which "which"))) - (("`wget") (string-append "`" (which "wget")))) + (substitute* "base/client.jl" + (("/bin/sh") (which "sh"))) #t)) - (add-before 'check 'disable-broken-tests + (add-before 'check 'fix-broken-tests (lambda _ - (define (touch file-name) - (call-with-output-file file-name (const #t))) - ;; FIXME: All git tests works except this one. But *THIS* "fix" - ;; is not working, so right now I'm disabling all libgit2.jl = tests - ;; (substitute* "stdlib/LibGit2/test/libgit2.jl" - ;; (("!LibGit2.use_http_path(cfg, github_cred)") "true") - ;; (("LibGit2.use_http_path(cfg, mygit_cred)") "true")) - (map (lambda (test) - (delete-file test) - (touch test)) - '("stdlib/Sockets/test/runtests.jl" - "stdlib/Distributed/test/runtests.jl" - ;; FIXME: see above - "stdlib/LibGit2/test/libgit2.jl")) - (substitute* "test/choosetests.jl" - ;; These tests fail, probably because some of the input - ;; binaries have been stripped and thus backtraces don't look - ;; as expected. - (("\"backtrace\",") "") - (("\"cmdlineargs\",") "")) + (substitute* "test/choosetests.jl" + (("tests =3D testnames") + ;; Those failings are not deterministic. They depends on = the + ;; running order. I think it depends on the number of + ;; runners, disabling it for now + ;; https://github.com/JuliaLang/julia/issues/34330 + "tests =3D filter(e->!in(e,[\"backtrace\",\"exceptions\",\= "client\",\"stacktraces\"]),testnames)")) + ;; 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 + (substitute* "test/cmdlineargs.jl" + (("\"JULIA_PROJECT\"") "\"HOME\"=3D>\"/tmp\", \"JULIA_PROJE= CT\"")) + ;; Marking the test as broken as it's a known bug: + ;; https://github.com/JuliaLang/julia/issues/32377 + (substitute* "stdlib/REPL/test/replcompletions.jl" + (("@test count") "@test_broken count")) #t))) #:make-flags (list @@ -345,26 +322,21 @@ ;; platforms, e.g. when running "guix package --search=3D" (_ "MARCH=3DUNSUPPORTED")) =20 - "CONFIG_SHELL=3Dbash" ;needed to build bundled libraries - "USE_SYSTEM_DSFMT=3D0" ;not packaged for Guix and upstream has = no - ;build system for a shared library. + "CONFIG_SHELL=3Dbash" ;needed to build bundled librari= es + ;; list of "USE_SYSTEM_*" is here: + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/Make.inc + "USE_SYSTEM_DSFMT=3D1" + "USE_SYSTEM_P7ZIP=3D1" "USE_SYSTEM_LAPACK=3D1" "USE_SYSTEM_BLAS=3D1" "USE_BLAS64=3D0" ;needed when USE_SYSTEM_BLAS=3D1 "LIBBLAS=3D-lopenblas" "LIBBLASNAME=3Dlibopenblas" =20 - "USE_SYSTEM_FFTW=3D1" - "LIBFFTWNAME=3Dlibfftw3" - "LIBFFTWFNAME=3Dlibfftw3f" - - ;; TODO: Suitesparse does not install shared libraries, so we cann= ot - ;; use the suitesparse package. - ;; "USE_SYSTEM_SUITESPARSE=3D1" - ;; (string-append "SUITESPARSE_INC=3D-I " - ;; (assoc-ref %build-inputs "suitesparse") - ;; "/include") - + "USE_SYSTEM_SUITESPARSE=3D1" + (string-append "SUITESPARSE_INC=3D-I " + (assoc-ref %build-inputs "suitesparse") + "/include") "USE_GPL_LIBS=3D1" ;proudly "USE_SYSTEM_UTF8PROC=3D1" (string-append "UTF8PROC_INC=3D" @@ -385,16 +357,19 @@ "USE_SYSTEM_PATCHELF=3D1" "USE_SYSTEM_PCRE=3D1" "USE_SYSTEM_OPENLIBM=3D1" - + "USE_SYSTEM_LIBM=3D0" + "USE_SYSTEM_LIBSSH2=3D1" + "USE_SYSTEM_CURL=3D1" "USE_SYSTEM_GMP=3D1" "USE_SYSTEM_MPFR=3D1" + "USE_SYSTEM_MBEDTLS=3D1" "USE_SYSTEM_ARPACK=3D1" "USE_SYSTEM_LIBGIT2=3D1" - "USE_SYSTEM_ZLIB=3D1" - "USE_SYSTEM_OPENSPECFUN=3D1"))) + "USE_SYSTEM_ZLIB=3D1"))) (inputs `(("llvm" ,llvm-julia) =20 + ("p7zip" ,p7zip) ;; The bundled version is 3.3.0 so stick to that version. With oth= er ;; versions, we get test failures in 'linalg/arnoldi' as described = in ;; . @@ -403,12 +378,12 @@ ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like ("lapack" ,lapack) ("openblas" ,openblas) ;Julia does not build with Atlas - ("libunwind" ,libunwind) + ("libunwind" ,libunwind-julia) ("openlibm" ,openlibm) - ("openspecfun" ,openspecfun) + ("mbedtls" ,mbedtls-apache) + ("curl" ,curl) ("libgit2" ,libgit2) - ("fftw" ,fftw) - ("fftwf" ,fftwf) + ("libssh2" ,libssh2) ("fortran" ,gfortran) ("libuv" ,libuv-julia) ("pcre2" ,pcre2) @@ -418,31 +393,12 @@ ("which" ,which) ("zlib" ,zlib) ("gmp" ,gmp) - ("virtualenv" ,python2-virtualenv) + ("suitesparse" ,suitesparse) ;; FIXME: The following inputs are downloaded from upstream to allo= w us ;; to use the lightweight Julia release tarball. Ideally, these in= puts ;; would eventually be replaced with proper Guix packages. - - ;; TODO: run "make -f contrib/repackage_system_suitesparse4.make" t= o copy static lib - ;; Find dependency versions here: - ;; https://raw.githubusercontent.com/JuliaLang/julia/77a2c1e245c858= 12dc1c7687540beedecc52758f/deps/Versions.make - ("rmath" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaLang/Rmath-julia") - (commit "v0.1"))) - (file-name "rmath-julia-0.1-checkout") - (sha256 - (base32 - "1zkpy0cg5zivq40zbhbdgj9128fqzs2j94wkwih8nc6xaj3gp9p6")))) - ("suitesparse" - ,(origin - (method url-fetch) - (uri "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse= -4.4.5.tar.gz") - (sha256 - (base32 - "1jcbxb8jx5wlcixzf6n5dca2rcfx6mlcms1k2rl5gp67ay3bix43")))) + ;; Find dependencies versions here: + ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Ve= rsions.make ("objconv" ,(origin (method url-fetch) @@ -467,15 +423,7 @@ (sha256 (base32 "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) - ("dsfmt" - ,(origin - (method url-fetch) - (uri (string-append - "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/" - "SFMT/dSFMT-src-2.2.3.tar.gz")) - (sha256 - (base32 - "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42")))))) + ("dsfmt" ,dsfmt))) (native-inputs `(("openssl" ,openssl) ("perl" ,perl) --=20 2.24.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 18 08:42:22 2020 Received: (at 38546) by debbugs.gnu.org; 18 Jan 2020 13:42:22 +0000 Received: from localhost ([127.0.0.1]:40717 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoMn-0007Im-8j for submit@debbugs.gnu.org; Sat, 18 Jan 2020 08:42:22 -0500 Received: from mail-wm1-f42.google.com ([209.85.128.42]:40889) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isoMj-0007IW-Pj for 38546@debbugs.gnu.org; Sat, 18 Jan 2020 08:42:20 -0500 Received: by mail-wm1-f42.google.com with SMTP id t14so10280365wmi.5 for <38546@debbugs.gnu.org>; Sat, 18 Jan 2020 05:42:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:references:date:message-id:mime-version :content-transfer-encoding; bh=bW1S8bDWJbJhqaIS9Jdn2qL5jp0mx9Yn5vHV92cDygE=; b=f/WG3z9595Scw+5nBwAsUjIZtZJOvZ2E/rhhrbVFRu7KernxvlWMCGIEpTy2pQxsfC OVsHovgpKtQheF5AUADiU0h2krVTGNwA3EI7D5VgisLPHAIiOFeRIjRYGXI3vB+jSfze KmEeDg1dw/2iHAGK3gihIGU0iaB2ukkxf5ym0X4wmz8soc7UhNaFIPUp9g5cwa6sz0lx Y6LfwxdrLSK7RE97dRV8tdPpmn971GuS0jKYFNute/w4N4+Z5iNq+aZxku7q4itVDWrP uDJT1SHls0/1//3mCHD4NzQXfcqkqbcGtZKh8umrv6fYEWvR919Z1LDJegT7nDiofryu aLSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:references:date:message-id :mime-version:content-transfer-encoding; bh=bW1S8bDWJbJhqaIS9Jdn2qL5jp0mx9Yn5vHV92cDygE=; b=qlaPj75Nu/rsGM8hz88IpVV29ZNllKgnt6+JbfKMLpXyUIgqleErY8HhYZkcMPVc4V x76lvl7OFeOHN5kgpyaVR2mB0RMJ329KOt01ZA4+KfVlU+edEZqX9AKjhNw/izCEQlVB p6E/+cd08BPmqv1WiFDlKTntojyq6qs6hhS/9lMEJQGMALUB/snRnqFt5z1Ewx7W3LLD lmQmF1uu7Y/ibREcLDfqzq5Z1CxIwAgjdK9qR0NmxTjrmBvUBdqcmw0HX5/IRP7/P4R0 ir6u+Zyh0AmY5XpQau21xlPOhCyGf5I0gYrYWxCyQj/6gI9C/xHi9R1QgQF1pz6tdU3T 0n1w== X-Gm-Message-State: APjAAAV1fXfyFT9gSUh8R70PIqA2jlr8CrCnJmAu6gDYLEAOSXrJ7TN1 DYqn3rF2tmdCxAOMH5kUHySR1zP+ X-Google-Smtp-Source: APXvYqwez6mncml5ubP5IehquWyBNv3FwL7xOC2Rfsa0Q94Dt0yez6piqC8HVNoFYWbNm8zODCZPNQ== X-Received: by 2002:a05:600c:1050:: with SMTP id 16mr9853939wmx.20.1579354931688; Sat, 18 Jan 2020 05:42:11 -0800 (PST) Received: from guixSD (host146-19-dynamic.50-79-r.retail.telecomitalia.it. [79.50.19.146]) by smtp.gmail.com with ESMTPSA id p17sm362366wmk.30.2020.01.18.05.42.10 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2020 05:42:11 -0800 (PST) From: anothersms@gmail.com (=?utf-8?Q?Nicol=C3=B2?= Balzarotti) To: 38546@debbugs.gnu.org Subject: =?utf-8?Q?=5BNicol=C3=B2?= Balzarotti] [PATCH 00/10] Update julia to 1.3.1, fix precompilation, add HTTP.jl References: <87zhekvqpj.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> Date: Sat, 18 Jan 2020 14:42:10 +0100 Message-ID: <8736ccvq31.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Ok I had time to look at this again. 1. Package installation can be done both the julia way and the guix way 2. SOURCE_DATE_EPOCH is respected in package precompile timestamp. Other fi= xes are needed to get reproducible builds, but for now that means that pack= age cache is used. 3. This patch adds some first julia package (HTTP.jl and dependencies)=20 4. Updated julia to 1.3.1 (latest release). It's working great and the build recipe is simplified a lot. However, some test is failing. The "interesting" part is that when running tests alone, they are working. It seems like the problem arise when tests are run on the _same core_ and not on different cores. I opened a issue upstream for this (https://github.com/JuliaLang/julia/issues/34330), I'll have to look further on it, but for now if it's fine for me this is ready to be merged. I'm sending the patch series here. Thanks, Nicol=C3=B2 Ludovic Court=C3=A8s writes: > Hi, > > (+Cc: bug report.) > > Nicol=C3=B2 Balzarotti skribis: > >> Ludovic Court=C3=A8s writes: >> >>> Hi! >>> >>> nixo skribis: >>> >>>> This set of patches improve the state of julia-build-system. >>>> >>>> 1. set path JULIA_LOAD_PATH to enable installing packages, and >>>> JULIA_DEPOT_PATH to allow guix-precompiled cache to be recognized by= julia. To >>> >>> These two environment variables are supported upstream, right? >> >> Yes, those variables are documented here: >> https://docs.julialang.org/en/v1/manual/environment-variables/index.html > > Great. > >> Should user be allowed to manually install packages in his own private >> home folder manually? (I just tried with R: R recognize the store is RO >> and ask for an alternative path). I'll try to allow "standard" package >> installation and submit the patch again (also, I just read you other >> comments, so I'll fix everything!) > > I think users should have the option to install packages in the normal > Julia way, without Guix. > >>>> do this, a small "hack" with libfaketime was required (julia decides= if the >>>> cache is valid by comparing source ".jl" mtime with cache ".ji" file= , in which >>>> julia stores a timestamp. We need to force this timestamp to be equa= l to the >>>> mtime of guix-store files). >>> >>> OK. This hack shouldn=E2=80=99t break =E2=80=9Cnormal=E2=80=9D Julia u= ses (outside of the >>> store), right? >> You are right, the issue is that julia finds its src (.jl) file to have >> a different (although older) timestamp (because guix fixes the >> mtime). This applies only to cache files placed in the store. Other >> cache files (non-guix installed files) have the right timestamp, so are >> not affected (I don't know if this explanation is clear. The TLDR is: >> with this hack store works without double-precompilation, non-store >> works normally, too). >> However, I'll check if I can make it work with SOURCE_DATE_EPOCH. I >> already read the code responsible for precompilation, so hopefully it >> won't take too much time > > Awesome, thanks! > > Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 18 08:59:42 2020 Received: (at 38546) by debbugs.gnu.org; 18 Jan 2020 13:59:42 +0000 Received: from localhost ([127.0.0.1]:40723 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isodO-0001E9-DU for submit@debbugs.gnu.org; Sat, 18 Jan 2020 08:59:42 -0500 Received: from mail-wm1-f52.google.com ([209.85.128.52]:50780) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1isodH-0001Dm-3z for 38546@debbugs.gnu.org; Sat, 18 Jan 2020 08:59:29 -0500 Received: by mail-wm1-f52.google.com with SMTP id a5so10097201wmb.0 for <38546@debbugs.gnu.org>; Sat, 18 Jan 2020 05:59:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:cc:date:message-id:mime-version; bh=6vu/fPFsnCpmnhTd17Kv8VExsvNtxxb9wm1ONMXicQA=; b=DpYZAbmMlt3euU7ncdAOjE9k9mGjsWgxoJunqTOKHRBOKlNi7E5T+m2vLhAP4Me6il rILsoDPz/EQaa889Iy5S+CrYLl39wkAbNOGKymnyI8lMj5aqt0oFbeEF6SFeezYxzoxg EM732StktOLIrcOABAzKCk71fBOcLejq+7GSzFV+sOBMt8hVA8uABeVLBV/yZdnbIzJE ytD/dfj2X7AVKddHVC7QOB4LkJP6Su2xRbIbN+9urqZ4Nq+tJtgXCGyQf3nOPSbOhMw7 qg4++wmaJcbzqY1qiNU+SSVhWtR7cvcmB4EOFnp9HaN3UCtDrbflJG1yspZgr8fuL5fa vbFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:cc:date:message-id:mime-version; bh=6vu/fPFsnCpmnhTd17Kv8VExsvNtxxb9wm1ONMXicQA=; b=R1o/8bJ6YUd2iNypIBe6mmdVYTrN5ZmWU1Vck6zBhUDKJmOoO/WKgSonAR9AbSQ/LX Hm+m3gdbcc73c9dj7X9s1lA7yYey4aAwhr5WlZM6yB/7HrgUUsFvZQfCjlZlHnkmRMMC 4SUAxzfquHvlcPbyhQb+DPc8aXwVzVAyJ6LrvCWrEqI+gmdMvYbRjTxAcX6TejYDrMnu H33zLe4FNRKpCw3QrfmOXeGkCvmWisRtcMtPw+DLbMsn54/Q2zYfciVDmH/I0MRYF3Gb Xscw3mqOxYtt1yA3tH7B6FDL9BaEyf2iMa1IkdlWEJxp2FEsFVJO+BPJCDepVa7g4N6A OT9A== X-Gm-Message-State: APjAAAULaPyKNyKw6oNS/fzmiufm3vKx2z+UrghS38mdhLSwEQKSXmle 4GbB6C+MlMxk6MTNciPLBKI= X-Google-Smtp-Source: APXvYqz0rVgpz3s6i6PJm9eMEOt+66vGCRD/kH1ema9K6OyBJDRhU9PlHHq8q7QRsYyRA53NuWFUrQ== X-Received: by 2002:a1c:67c3:: with SMTP id b186mr9626146wmc.36.1579355957093; Sat, 18 Jan 2020 05:59:17 -0800 (PST) Received: from guixSD (host146-19-dynamic.50-79-r.retail.telecomitalia.it. [79.50.19.146]) by smtp.gmail.com with ESMTPSA id t25sm14005193wmj.19.2020.01.18.05.59.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2020 05:59:15 -0800 (PST) From: anothersms@gmail.com (=?utf-8?Q?Nicol=C3=B2?= Balzarotti) To: 38546@debbugs.gnu.org Subject: [00/11] Update Julia, Fix precompilation, add HTTP.jl Date: Sat, 18 Jan 2020 14:59:14 +0100 Message-ID: <87wo9ouaq5.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: I'm sending the patches again as attachments since I think some of them was badly formatted. From 74c02f9b22a4d7cf0bc9a98c17ed69af80cacb0e Mon Sep 17 00:00:00 2001 From: nixo Date: Thu, 12 Dec 2019 09:43:20 +0100 Subject: [PATCH 01/11] gnu: julia: Update to 1.3.1. Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: flashner.co.il] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.52 listed in list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) 1.9 PDS_OTHER_BAD_TLD Untrustworthy TLDs [URI: nixo.xyz (xyz)] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.52 listed in wl.mailspike.net] X-Debbugs-Envelope-To: 38546 Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.9 (/) --=-=-= Content-Type: text/plain I'm sending the patches again as attachments since I think some of them was badly formatted. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-gnu-julia-Update-to-1.3.1.patch Content-Transfer-Encoding: quoted-printable >From 74c02f9b22a4d7cf0bc9a98c17ed69af80cacb0e Mon Sep 17 00:00:00 2001 From: nixo Date: Thu, 12 Dec 2019 09:43:20 +0100 Subject: [PATCH 01/11] gnu: julia: Update to 1.3.1. * gnu/packages/julia.scm (julia): Update to 1.3.1. * gnu/packages/julia.scm (libuv-julia): Update to 2.0.0. --- gnu/packages/julia.scm | 278 +++++++++++++++++------------------------ 1 file changed, 113 insertions(+), 165 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 65a5e42beb..e4db39afbd 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright =C2=A9 2015, 2016, 2017 Ricardo Wurmus ;;; Copyright =C2=A9 2016 Efraim Flashner +;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) #:use-module (gnu packages elf) #:use-module (gnu packages gcc) #:use-module (gnu packages llvm) @@ -43,18 +45,30 @@ #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages ssh) #:use-module (gnu packages wget) #:use-module (ice-9 match)) =20 +(define (julia-patch-url version name) + (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" ver= sion + "/deps/patches/" name ".patch")) + +(define (julia-patch name sha) + (let ((version "1.3.1")) + (origin (method url-fetch) + (uri (julia-patch-url version name)) + (sha256 (base32 sha)) + (file-name name)))) + (define libuv-julia - (let ((commit "26dbe5672c33fc885462c509fe2a9b36f35866fd") - (revision "6")) + (let ((commit "35b1504507a7a4168caae3d78db54d1121b121e1")) ;; When upgrading Julia, also upgrade this. - ;; Get the commit from https://github.com/JuliaLang/julia/blob/v1.1.1/= deps/libuv.version + ;; Get the commit from + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/deps/libuv.version (package (inherit libuv) (name "libuv-julia") - (version (string-append "1.9.0-" revision "." (string-take commit 8)= )) + (version (string-append "2.0.0" "." (string-take commit 8))) (source (origin (method git-fetch) (uri (git-reference @@ -63,7 +77,7 @@ (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "17pn2xmqaramilx897s9grs966i5246gi6sric5alch4g9j4685n"))= )) + "0dn3v6fdp1z382pqg3nhjzk60l61ky9b65mfgaj29fv2da95rwjs"))= )) (build-system gnu-build-system) (arguments (substitute-keyword-arguments (package-arguments libuv) @@ -72,16 +86,27 @@ (delete 'autogen))))) (home-page "https://github.com/JuliaLang/libuv")))) =20 -(define (llvm-patch-url version name) - (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" ver= sion - "/deps/patches/" name)) - -(define (llvm-patch name sha) - (let ((version "1.1.1")) - (origin (method url-fetch) - (uri (llvm-patch-url version name)) - (sha256 (base32 sha)) - (file-name name)))) +(define libunwind-julia + ;; julia requires a patched version + (package + (inherit libunwind) + (name "libunwind-julia") + (version "1.3.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/libunwind/libunwind-" + version ".tar.gz")) + (sha256 + (base32 + "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3")) + (patches + (list + (julia-patch "libunwind-prefer-extbl" + "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hh= xfgnh2m1") + (julia-patch "libunwind-static-arm" + "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic87= 0zh3lhgq"))))) + (build-system gnu-build-system) + (home-page "https://github.com/JuliaLang/libuv"))) =20 (define llvm-julia (package @@ -99,39 +124,39 @@ ;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi= ?bug=3D919628 (patches (list - (llvm-patch "llvm-6.0-D44650.patch" + (julia-patch "llvm-6.0-D44650" "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") - (llvm-patch "llvm-6.0-DISABLE_ABI_CHECKS.patch" + (julia-patch "llvm-6.0-DISABLE_ABI_CHECKS" "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") - (llvm-patch "llvm-6.0-NVPTX-addrspaces.patch" + (julia-patch "llvm-6.0-NVPTX-addrspaces" "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") - (llvm-patch "llvm-6.0.0_D27296-libssp.patch" + (julia-patch "llvm-6.0.0_D27296-libssp" "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") - (llvm-patch "llvm-D27629-AArch64-large_model_6.0.1.patch" + (julia-patch "llvm-D27629-AArch64-large_model_6.0.1" "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") - (llvm-patch "llvm-D34078-vectorize-fdiv.patch" + (julia-patch "llvm-D34078-vectorize-fdiv" "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") - (llvm-patch "llvm-D42262-jumpthreading-not-i1.patch" + (julia-patch "llvm-D42262-jumpthreading-not-i1" "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") - (llvm-patch "llvm-D44892-Perf-integration.patch" + (julia-patch "llvm-D44892-Perf-integration" "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") - (llvm-patch "llvm-D46460.patch" + (julia-patch "llvm-D46460" "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") - (llvm-patch "llvm-D49832-SCEVPred.patch" + (julia-patch "llvm-D49832-SCEVPred" "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") - (llvm-patch "llvm-D50010-VNCoercion-ni.patch" + (julia-patch "llvm-D50010-VNCoercion-ni" "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") - (llvm-patch "llvm-D50167-scev-umin.patch" + (julia-patch "llvm-D50167-scev-umin" "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") - (llvm-patch "llvm-OProfile-line-num.patch" + (julia-patch "llvm-OProfile-line-num" "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") - (llvm-patch "llvm-PPC-addrspaces.patch" + (julia-patch "llvm-PPC-addrspaces" "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") - (llvm-patch "llvm-rL323946-LSRTy.patch" + (julia-patch "llvm-rL323946-LSRTy" "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") - (llvm-patch "llvm-rL326967-aligned-load.patch" + (julia-patch "llvm-rL326967-aligned-load" "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") - (llvm-patch "llvm-rL327898.patch" + (julia-patch "llvm-rL327898" "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))) (arguments (substitute-keyword-arguments (package-arguments llvm-6) @@ -158,7 +183,7 @@ (define-public julia (package (name "julia") - (version "1.1.1") + (version "1.3.1") (source (origin (method url-fetch) (uri (string-append @@ -166,7 +191,7 @@ version "/julia-" version ".tar.gz")) (sha256 (base32 - "0hk983mywimclgnjc41zmlppm5kfdz2aj85ky07p49ilcqxi998f")))) + "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -188,30 +213,24 @@ (add-after 'unpack 'prepare-deps (lambda* (#:key inputs #:allow-other-keys) (mkdir "deps/srccache") - (copy-file (assoc-ref inputs "dsfmt") - "deps/srccache/dsfmt-2.2.3.tar.gz") + ;; no USE_SYSTEM_{OBJCONV/LIBWHICH} (copy-file (assoc-ref inputs "objconv") "deps/srccache/objconv.zip") - (copy-file (assoc-ref inputs "suitesparse") - "deps/srccache/SuiteSparse-4.4.5.tar.gz") - (copy-file (string-append (assoc-ref inputs "virtualenv") - "/bin/virtualenv") - "julia-env") (copy-file (assoc-ref inputs "libwhich") (string-append "deps/srccache/libwhich-" "81e9723c0273d78493dc8c8ed570f68d9c= e7e89e" ".tar.gz")) - (copy-file (assoc-ref inputs "rmath") - "deps/srccache/Rmath-julia-0.1.tar.gz") - ;; needed by libwhich (setenv "LD_LIBRARY_PATH" (string-join (map (lambda (pkg) (string-append (assoc-ref inputs = pkg) "/lib")) - '("arpack-ng" "fftw" "gmp" "lapack" - "libgit2" "mpfr" "openblas" "openlibm" - "openspecfun" "pcre2")) + '("arpack-ng" "curl" "dsfmt" + "gmp" "lapack" + "libssh2" "libgit2" + "mbedtls" "mpfr" + "openblas" "openlibm" "pcre2" + "suitesparse")) ":")) #t)) ;; FIXME: Building the documentation requires Julia packages that @@ -233,44 +252,12 @@ ;; using the output of "/sbin/ldconfig -p". Since ldconfig is n= ot ;; used in Guix, we patch runtime_ccall.cpp to contain a static = map. (lambda* (#:key inputs #:allow-other-keys) - (use-modules (ice-9 match)) - (substitute* "src/runtime_ccall.cpp" - ;; Patch out invocations of '/sbin/ldconfig' to avoid getting - ;; error messages about missing '/sbin/ldconfig' on Guix Sys= tem. - (("popen\\(.*ldconfig.*\\);") - "NULL;\n") - - ;; Populate 'sonameMap'. - (("jl_read_sonames.*;") - (string-join - (map (match-lambda - ((input libname soname) - (string-append - "sonameMap[\"" libname "\"] =3D " - "\"" (assoc-ref inputs input) "/lib/" soname "\";= "))) - '(("libc" "libc" "libc.so.6") - ("pcre2" "libpcre2-8" "libpcre2-8.so") - ("mpfr" "libmpfr" "libmpfr.so") - ("openblas" "libblas" "libopenblas.so") - ("arpack-ng" "libarpack" "libarpack.so") - ("lapack" "liblapack" "liblapack.so") - ("libgit2" "libgit2" "libgit2.so") - ("gmp" "libgmp" "libgmp.so") - ("openspecfun" "libopenspecfun" "libopenspecfun.so") - ("fftw" "libfftw3" "libfftw3_threads.s= o") - ("fftwf" "libfftw3f" "libfftw3f_threads.= so")))))) (substitute* "base/math.jl" (("const libm =3D Base.libm_name") (string-append "const libm =3D \"" (assoc-ref inputs "openlibm") "/lib/libopenlibm.so" - "\"")) - (("const openspecfun =3D \"libopenspecfun\"") - (string-append "const openspecfun =3D \"" - (assoc-ref inputs "openspecfun") - "/lib/libopenspecfun.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 @@ -278,10 +265,10 @@ ;; collection of build targets and a list of libraries to link ;; against. (substitute* "src/flisp/Makefile" - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\): \\$\\(OBJS\\) \\$\\(L= IBFILES_release\\)") - "$(BUILDDIR)/$(EXENAME): $(OBJS) $(LLT_release)") - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug: \\$\\(DOBJS\\) = \\$\\(LIBFILES_debug\\)") - "$(BUILDDIR)/$(EXENAME)-debug: $(DOBJS) $(LLT_debug)")) + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)\\$\\(EXE\\): \\$\\(OB= JS\\) \\$\\(LIBFILES_release\\)") + "$(BUILDDIR)/$(EXENAME)$(EXE): $(OBJS) $(LLT_release)") + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug$(EXE): \\$\\(DO= BJS\\) \\$\\(LIBFILES_debug\\)") + "$(BUILDDIR)/$(EXENAME)-debug\\$\\(EXE\\): $(DOBJS) $(LLT_= debug)")) =20 ;; The REPL must be linked with libuv. (substitute* "ui/Makefile" @@ -296,38 +283,28 @@ "/include/uv/errno.h"))) #t)) (add-before 'build 'replace-default-shell - (lambda _ - (substitute* "base/client.jl" - (("/bin/sh") (which "sh"))) - #t)) - (add-after 'unpack 'hardcode-paths (lambda _ - (substitute* "stdlib/InteractiveUtils/src/InteractiveUtils.jl" - (("`which") (string-append "`" (which "which"))) - (("`wget") (string-append "`" (which "wget")))) + (substitute* "base/client.jl" + (("/bin/sh") (which "sh"))) #t)) - (add-before 'check 'disable-broken-tests + (add-before 'check 'fix-broken-tests (lambda _ - (define (touch file-name) - (call-with-output-file file-name (const #t))) - ;; FIXME: All git tests works except this one. But *THIS* "fix" - ;; is not working, so right now I'm disabling all libgit2.jl = tests - ;; (substitute* "stdlib/LibGit2/test/libgit2.jl" - ;; (("!LibGit2.use_http_path(cfg, github_cred)") "true") - ;; (("LibGit2.use_http_path(cfg, mygit_cred)") "true")) - (map (lambda (test) - (delete-file test) - (touch test)) - '("stdlib/Sockets/test/runtests.jl" - "stdlib/Distributed/test/runtests.jl" - ;; FIXME: see above - "stdlib/LibGit2/test/libgit2.jl")) - (substitute* "test/choosetests.jl" - ;; These tests fail, probably because some of the input - ;; binaries have been stripped and thus backtraces don't look - ;; as expected. - (("\"backtrace\",") "") - (("\"cmdlineargs\",") "")) + (substitute* "test/choosetests.jl" + (("tests =3D testnames") + ;; Those failings are not deterministic. They depends on = the + ;; running order. I think it depends on the number of + ;; runners, disabling it for now + ;; https://github.com/JuliaLang/julia/issues/34330 + "tests =3D filter(e->!in(e,[\"backtrace\",\"exceptions\",\= "client\",\"stacktraces\"]),testnames)")) + ;; 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 + (substitute* "test/cmdlineargs.jl" + (("\"JULIA_PROJECT\"") "\"HOME\"=3D>\"/tmp\", \"JULIA_PROJE= CT\"")) + ;; Marking the test as broken as it's a known bug: + ;; https://github.com/JuliaLang/julia/issues/32377 + (substitute* "stdlib/REPL/test/replcompletions.jl" + (("@test count") "@test_broken count")) #t))) #:make-flags (list @@ -345,26 +322,21 @@ ;; platforms, e.g. when running "guix package --search=3D" (_ "MARCH=3DUNSUPPORTED")) =20 - "CONFIG_SHELL=3Dbash" ;needed to build bundled libraries - "USE_SYSTEM_DSFMT=3D0" ;not packaged for Guix and upstream has = no - ;build system for a shared library. + "CONFIG_SHELL=3Dbash" ;needed to build bundled librari= es + ;; list of "USE_SYSTEM_*" is here: + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/Make.inc + "USE_SYSTEM_DSFMT=3D1" + "USE_SYSTEM_P7ZIP=3D1" "USE_SYSTEM_LAPACK=3D1" "USE_SYSTEM_BLAS=3D1" "USE_BLAS64=3D0" ;needed when USE_SYSTEM_BLAS=3D1 "LIBBLAS=3D-lopenblas" "LIBBLASNAME=3Dlibopenblas" =20 - "USE_SYSTEM_FFTW=3D1" - "LIBFFTWNAME=3Dlibfftw3" - "LIBFFTWFNAME=3Dlibfftw3f" - - ;; TODO: Suitesparse does not install shared libraries, so we cann= ot - ;; use the suitesparse package. - ;; "USE_SYSTEM_SUITESPARSE=3D1" - ;; (string-append "SUITESPARSE_INC=3D-I " - ;; (assoc-ref %build-inputs "suitesparse") - ;; "/include") - + "USE_SYSTEM_SUITESPARSE=3D1" + (string-append "SUITESPARSE_INC=3D-I " + (assoc-ref %build-inputs "suitesparse") + "/include") "USE_GPL_LIBS=3D1" ;proudly "USE_SYSTEM_UTF8PROC=3D1" (string-append "UTF8PROC_INC=3D" @@ -385,16 +357,19 @@ "USE_SYSTEM_PATCHELF=3D1" "USE_SYSTEM_PCRE=3D1" "USE_SYSTEM_OPENLIBM=3D1" - + "USE_SYSTEM_LIBM=3D0" + "USE_SYSTEM_LIBSSH2=3D1" + "USE_SYSTEM_CURL=3D1" "USE_SYSTEM_GMP=3D1" "USE_SYSTEM_MPFR=3D1" + "USE_SYSTEM_MBEDTLS=3D1" "USE_SYSTEM_ARPACK=3D1" "USE_SYSTEM_LIBGIT2=3D1" - "USE_SYSTEM_ZLIB=3D1" - "USE_SYSTEM_OPENSPECFUN=3D1"))) + "USE_SYSTEM_ZLIB=3D1"))) (inputs `(("llvm" ,llvm-julia) =20 + ("p7zip" ,p7zip) ;; The bundled version is 3.3.0 so stick to that version. With oth= er ;; versions, we get test failures in 'linalg/arnoldi' as described = in ;; . @@ -403,12 +378,12 @@ ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like ("lapack" ,lapack) ("openblas" ,openblas) ;Julia does not build with Atlas - ("libunwind" ,libunwind) + ("libunwind" ,libunwind-julia) ("openlibm" ,openlibm) - ("openspecfun" ,openspecfun) + ("mbedtls" ,mbedtls-apache) + ("curl" ,curl) ("libgit2" ,libgit2) - ("fftw" ,fftw) - ("fftwf" ,fftwf) + ("libssh2" ,libssh2) ("fortran" ,gfortran) ("libuv" ,libuv-julia) ("pcre2" ,pcre2) @@ -418,31 +393,12 @@ ("which" ,which) ("zlib" ,zlib) ("gmp" ,gmp) - ("virtualenv" ,python2-virtualenv) + ("suitesparse" ,suitesparse) ;; FIXME: The following inputs are downloaded from upstream to allo= w us ;; to use the lightweight Julia release tarball. Ideally, these in= puts ;; would eventually be replaced with proper Guix packages. - - ;; TODO: run "make -f contrib/repackage_system_suitesparse4.make" t= o copy static lib - ;; Find dependency versions here: - ;; https://raw.githubusercontent.com/JuliaLang/julia/77a2c1e245c858= 12dc1c7687540beedecc52758f/deps/Versions.make - ("rmath" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaLang/Rmath-julia") - (commit "v0.1"))) - (file-name "rmath-julia-0.1-checkout") - (sha256 - (base32 - "1zkpy0cg5zivq40zbhbdgj9128fqzs2j94wkwih8nc6xaj3gp9p6")))) - ("suitesparse" - ,(origin - (method url-fetch) - (uri "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse= -4.4.5.tar.gz") - (sha256 - (base32 - "1jcbxb8jx5wlcixzf6n5dca2rcfx6mlcms1k2rl5gp67ay3bix43")))) + ;; Find dependencies versions here: + ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Ve= rsions.make ("objconv" ,(origin (method url-fetch) @@ -467,15 +423,7 @@ (sha256 (base32 "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) - ("dsfmt" - ,(origin - (method url-fetch) - (uri (string-append - "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/" - "SFMT/dSFMT-src-2.2.3.tar.gz")) - (sha256 - (base32 - "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42")))))) + ("dsfmt" ,dsfmt))) (native-inputs `(("openssl" ,openssl) ("perl" ,perl) --=20 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0002-gnu-julia-use-SOURCE_DATE_EPOCH-for-precompilation-t.patch >From aa245450a7c8a92c29388cc6603ff43f278dfdd7 Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 13:58:37 +0100 Subject: [PATCH 02/11] gnu: julia: use SOURCE_DATE_EPOCH for precompilation timestamp * gnu/packages/patches/julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch: new file --- gnu/local.mk | 1 + gnu/packages/julia.scm | 4 ++- ...ia-fake-mtime-with-SOURCE_DATE_EPOCH.patch | 29 +++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch diff --git a/gnu/local.mk b/gnu/local.mk index 00ff3b8d61..fe8634b44d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1010,6 +1010,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-xerces-bootclasspath.patch \ %D%/packages/patches/java-xerces-build_dont_unzip.patch \ %D%/packages/patches/java-xerces-xjavac_taskdef.patch \ + %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/kdbusaddons-kinit-file-name.patch \ %D%/packages/patches/libvirt-create-machine-cgroup.patch \ diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index e4db39afbd..a66309b611 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -191,7 +191,9 @@ version "/julia-" version ".tar.gz")) (sha256 (base32 - "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")))) + "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")) + (patches + (search-patches "julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch")))) (build-system gnu-build-system) (arguments `(#:test-target "test" diff --git a/gnu/packages/patches/julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch b/gnu/packages/patches/julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch new file mode 100644 index 0000000000..467e6d68d1 --- /dev/null +++ b/gnu/packages/patches/julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch @@ -0,0 +1,29 @@ +From e4dc28db1d70819505fd1a68fd9d2bfc4fb61a7d Mon Sep 17 00:00:00 2001 +From: nixo +Date: Fri, 17 Jan 2020 11:28:30 +0100 +Subject: [PATCH] base: loading: support fake mtime with SOURCE_DATE_EPCOCH + +Do this when loading libraries +--- + base/loading.jl | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/base/loading.jl b/base/loading.jl +index 7f11a2d4fc..1b4686d1dc 100644 +--- a/base/loading.jl ++++ b/base/loading.jl +@@ -807,7 +807,10 @@ function _include_dependency(mod::Module, _path::AbstractString) + path = normpath(joinpath(dirname(prev), _path)) + end + if _track_dependencies[] +- push!(_require_dependencies, (mod, path, mtime(path))) ++ push!(_require_dependencies, ++ (mod, path, ++ haskey(ENV, "SOURCE_DATE_EPOCH") ? ++ parse(Float64, ENV["SOURCE_DATE_EPOCH"]) : mtime(path))) + end + return path, prev + end +-- +2.24.1 + -- 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0003-gnu-julia-Adjust-indentation.patch >From 66a9b56bfbc66d5c4c21e5f67c6f759a7f838786 Mon Sep 17 00:00:00 2001 From: nixo Date: Fri, 10 Jan 2020 10:25:49 +0100 Subject: [PATCH 03/11] gnu: julia: Adjust indentation. * gnu/packages/julia.scm (julia): Correct indentation, untabify --- gnu/packages/julia.scm | 216 ++++++++++++++++++++--------------------- 1 file changed, 108 insertions(+), 108 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index a66309b611..e1c4685227 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -51,14 +51,14 @@ (define (julia-patch-url version name) (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" version - "/deps/patches/" name ".patch")) + "/deps/patches/" name ".patch")) (define (julia-patch name sha) (let ((version "1.3.1")) (origin (method url-fetch) - (uri (julia-patch-url version name)) - (sha256 (base32 sha)) - (file-name name)))) + (uri (julia-patch-url version name)) + (sha256 (base32 sha)) + (file-name name)))) (define libuv-julia (let ((commit "35b1504507a7a4168caae3d78db54d1121b121e1")) @@ -101,7 +101,7 @@ "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3")) (patches (list - (julia-patch "libunwind-prefer-extbl" + (julia-patch "libunwind-prefer-extbl" "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m1") (julia-patch "libunwind-static-arm" "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq"))))) @@ -124,45 +124,45 @@ ;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919628 (patches (list - (julia-patch "llvm-6.0-D44650" - "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") - (julia-patch "llvm-6.0-DISABLE_ABI_CHECKS" - "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") - (julia-patch "llvm-6.0-NVPTX-addrspaces" - "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") - (julia-patch "llvm-6.0.0_D27296-libssp" - "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") - (julia-patch "llvm-D27629-AArch64-large_model_6.0.1" - "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") - (julia-patch "llvm-D34078-vectorize-fdiv" - "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") - (julia-patch "llvm-D42262-jumpthreading-not-i1" - "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") - (julia-patch "llvm-D44892-Perf-integration" - "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") - (julia-patch "llvm-D46460" - "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") - (julia-patch "llvm-D49832-SCEVPred" - "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") - (julia-patch "llvm-D50010-VNCoercion-ni" - "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") - (julia-patch "llvm-D50167-scev-umin" - "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") - (julia-patch "llvm-OProfile-line-num" - "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") - (julia-patch "llvm-PPC-addrspaces" - "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") - (julia-patch "llvm-rL323946-LSRTy" - "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") - (julia-patch "llvm-rL326967-aligned-load" - "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") - (julia-patch "llvm-rL327898" - "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))) + (julia-patch "llvm-6.0-D44650" + "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") + (julia-patch "llvm-6.0-DISABLE_ABI_CHECKS" + "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") + (julia-patch "llvm-6.0-NVPTX-addrspaces" + "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") + (julia-patch "llvm-6.0.0_D27296-libssp" + "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") + (julia-patch "llvm-D27629-AArch64-large_model_6.0.1" + "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") + (julia-patch "llvm-D34078-vectorize-fdiv" + "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") + (julia-patch "llvm-D42262-jumpthreading-not-i1" + "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") + (julia-patch "llvm-D44892-Perf-integration" + "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") + (julia-patch "llvm-D46460" + "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") + (julia-patch "llvm-D49832-SCEVPred" + "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") + (julia-patch "llvm-D50010-VNCoercion-ni" + "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") + (julia-patch "llvm-D50167-scev-umin" + "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") + (julia-patch "llvm-OProfile-line-num" + "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") + (julia-patch "llvm-PPC-addrspaces" + "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") + (julia-patch "llvm-rL323946-LSRTy" + "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") + (julia-patch "llvm-rL326967-aligned-load" + "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") + (julia-patch "llvm-rL327898" + "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))) (arguments (substitute-keyword-arguments (package-arguments llvm-6) ((#:configure-flags flags) `(list ;; Taken from NixOS. Only way I could get libLLVM-6.0.so - "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_BUILD_TYPE=Release" ;; Build a native compiler and the NVPTX backend (NVIDIA) since ;; Julia insists on it, nothing more. This reduces build times and @@ -170,15 +170,15 @@ ,(string-append "-DLLVM_TARGETS_TO_BUILD=" (system->llvm-target)) "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=NVPTX" - "-DLLVM_INSTALL_UTILS=ON" - "-DLLVM_BUILD_TESTS=ON" - "-DLLVM_ENABLE_FFI=ON" - "-DLLVM_ENABLE_RTTI=ON" + "-DLLVM_INSTALL_UTILS=ON" + "-DLLVM_BUILD_TESTS=ON" + "-DLLVM_ENABLE_FFI=ON" + "-DLLVM_ENABLE_RTTI=ON" ;; "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" ;; "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" - ;; "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" - "-DLLVM_ENABLE_DUMP=ON" - "-DLLVM_LINK_LLVM_DYLIB=ON")))))) + ;; "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" + "-DLLVM_ENABLE_DUMP=ON" + "-DLLVM_LINK_LLVM_DYLIB=ON")))))) (define-public julia (package @@ -222,9 +222,9 @@ (string-append "deps/srccache/libwhich-" "81e9723c0273d78493dc8c8ed570f68d9ce7e89e" ".tar.gz")) - ;; needed by libwhich - (setenv "LD_LIBRARY_PATH" - (string-join (map (lambda (pkg) + ;; needed by libwhich + (setenv "LD_LIBRARY_PATH" + (string-join (map (lambda (pkg) (string-append (assoc-ref inputs pkg) "/lib")) '("arpack-ng" "curl" "dsfmt" @@ -234,7 +234,7 @@ "openblas" "openlibm" "pcre2" "suitesparse")) ":")) - #t)) + #t)) ;; FIXME: Building the documentation requires Julia packages that ;; would be downloaded from the Internet. We should build them in a ;; separate build phase. @@ -250,40 +250,40 @@ ;; 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" - "\""))))) + ;; ./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" + "\""))))) (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 - ;; included in the LIBFILES_* variable which is used as a - ;; collection of build targets and a list of libraries to link - ;; against. - (substitute* "src/flisp/Makefile" + (lambda* (#:key inputs #:allow-other-keys) + ;; LIBUTF8PROC is a linker flag, not a build target. It is + ;; included in the LIBFILES_* variable which is used as a + ;; collection of build targets and a list of libraries to link + ;; against. + (substitute* "src/flisp/Makefile" (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)\\$\\(EXE\\): \\$\\(OBJS\\) \\$\\(LIBFILES_release\\)") "$(BUILDDIR)/$(EXENAME)$(EXE): $(OBJS) $(LLT_release)") (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug$(EXE): \\$\\(DOBJS\\) \\$\\(LIBFILES_debug\\)") "$(BUILDDIR)/$(EXENAME)-debug\\$\\(EXE\\): $(DOBJS) $(LLT_debug)")) - ;; The REPL must be linked with libuv. - (substitute* "ui/Makefile" - (("JLDFLAGS \\+= ") - (string-append "JLDFLAGS += " - (assoc-ref %build-inputs "libuv") - "/lib/libuv.so "))) + ;; The REPL must be linked with libuv. + (substitute* "ui/Makefile" + (("JLDFLAGS \\+= ") + (string-append "JLDFLAGS += " + (assoc-ref %build-inputs "libuv") + "/lib/libuv.so "))) - (substitute* "base/Makefile" - (("\\$\\(build_includedir\\)/uv/errno.h") - (string-append (assoc-ref inputs "libuv") - "/include/uv/errno.h"))) - #t)) + (substitute* "base/Makefile" + (("\\$\\(build_includedir\\)/uv/errno.h") + (string-append (assoc-ref inputs "libuv") + "/include/uv/errno.h"))) + #t)) (add-before 'build 'replace-default-shell (lambda _ (substitute* "base/client.jl" @@ -307,7 +307,7 @@ ;; https://github.com/JuliaLang/julia/issues/32377 (substitute* "stdlib/REPL/test/replcompletions.jl" (("@test count") "@test_broken count")) - #t))) + #t))) #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")) @@ -331,7 +331,7 @@ "USE_SYSTEM_P7ZIP=1" "USE_SYSTEM_LAPACK=1" "USE_SYSTEM_BLAS=1" - "USE_BLAS64=0" ;needed when USE_SYSTEM_BLAS=1 + "USE_BLAS64=0" ;needed when USE_SYSTEM_BLAS=1 "LIBBLAS=-lopenblas" "LIBBLASNAME=libopenblas" @@ -339,35 +339,35 @@ (string-append "SUITESPARSE_INC=-I " (assoc-ref %build-inputs "suitesparse") "/include") - "USE_GPL_LIBS=1" ;proudly + "USE_GPL_LIBS=1" ;proudly "USE_SYSTEM_UTF8PROC=1" (string-append "UTF8PROC_INC=" (assoc-ref %build-inputs "utf8proc") "/include") "USE_SYSTEM_LLVM=1" - "LLVM_VER=6.0.1" + "LLVM_VER=6.0.1" - "USE_LLVM_SHLIB=1" - "USE_SYSTEM_LIBUNWIND=1" - "USE_SYSTEM_LIBUV=1" - (string-append "LIBUV=" - (assoc-ref %build-inputs "libuv") - "/lib/libuv.so") - (string-append "LIBUV_INC=" - (assoc-ref %build-inputs "libuv") - "/include") - "USE_SYSTEM_PATCHELF=1" - "USE_SYSTEM_PCRE=1" - "USE_SYSTEM_OPENLIBM=1" + "USE_LLVM_SHLIB=1" + "USE_SYSTEM_LIBUNWIND=1" + "USE_SYSTEM_LIBUV=1" + (string-append "LIBUV=" + (assoc-ref %build-inputs "libuv") + "/lib/libuv.so") + (string-append "LIBUV_INC=" + (assoc-ref %build-inputs "libuv") + "/include") + "USE_SYSTEM_PATCHELF=1" + "USE_SYSTEM_PCRE=1" + "USE_SYSTEM_OPENLIBM=1" "USE_SYSTEM_LIBM=0" "USE_SYSTEM_LIBSSH2=1" "USE_SYSTEM_CURL=1" - "USE_SYSTEM_GMP=1" - "USE_SYSTEM_MPFR=1" - "USE_SYSTEM_MBEDTLS=1" - "USE_SYSTEM_ARPACK=1" - "USE_SYSTEM_LIBGIT2=1" - "USE_SYSTEM_ZLIB=1"))) + "USE_SYSTEM_GMP=1" + "USE_SYSTEM_MPFR=1" + "USE_SYSTEM_MBEDTLS=1" + "USE_SYSTEM_ARPACK=1" + "USE_SYSTEM_LIBGIT2=1" + "USE_SYSTEM_ZLIB=1"))) (inputs `(("llvm" ,llvm-julia) @@ -377,9 +377,9 @@ ;; . ("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 ("lapack" ,lapack) - ("openblas" ,openblas) ;Julia does not build with Atlas + ("openblas" ,openblas) ;Julia does not build with Atlas ("libunwind" ,libunwind-julia) ("openlibm" ,openlibm) ("mbedtls" ,mbedtls-apache) @@ -411,20 +411,20 @@ (base32 "0wp6ld9vk11f4nnkn56627zmlv9k5vafi99qa3yyn1pgcd61zcfs")))) ("libwhich" - ,(let ((commit "81e9723c0273d78493dc8c8ed570f68d9ce7e89e")) + ,(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 + (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"))))) + (sha256 + (base32 + "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) ("dsfmt" ,dsfmt))) (native-inputs `(("openssl" ,openssl) -- 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0004-use-wrapper-to-set-JULIA_LOAD_PATH-and-JULIA_DEPOT_P.patch >From fe1f84062e88b6e4d77f35f12d7219fd47687c3a Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 14:23:44 +0100 Subject: [PATCH 04/11] use wrapper to set JULIA_LOAD_PATH and JULIA_DEPOT_PATH --- gnu/packages/julia.scm | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index e1c4685227..39c7d6d34f 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -297,7 +297,9 @@ ;; 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\",\"client\",\"stacktraces\"]),testnames)")) + "tests = filter(e->!in(e,[\"backtrace\",\"exceptions\",\"client\", + \"stacktraces\",\"stress\",\"precompile\"]), + testnames)")) ;; 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 @@ -307,11 +309,23 @@ ;; https://github.com/JuliaLang/julia/issues/32377 (substitute* "stdlib/REPL/test/replcompletions.jl" (("@test count") "@test_broken count")) - #t))) + #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")) ;; Passing the MARCH flag is necessary to build binary substitutes for ;; the supported architectures. @@ -435,7 +449,10 @@ (native-search-paths (list (search-path-specification (variable "JULIA_LOAD_PATH") - (files (list "share/julia/packages/"))))) + (files (list "share/julia/packages/"))) + (search-path-specification + (variable "JULIA_DEPOT_PATH") + (files (list "share/julia/"))))) ;; Julia is not officially released for ARM and MIPS. ;; See https://github.com/JuliaLang/julia/issues/10639 (supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux")) -- 2.24.1 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0005-gnu-build-julia-build-system-fix-package-precompilat.patch Content-Transfer-Encoding: quoted-printable >From 3191a0958c97831bc65750a6c4231d449e92aca3 Mon Sep 17 00:00:00 2001 From: nixo Date: Fri, 17 Jan 2020 19:40:55 +0100 Subject: [PATCH 05/11] gnu: build: julia-build-system: fix package precompilation --- guix/build/julia-build-system.scm | 51 +++++++++++++------------------ 1 file changed, 22 insertions(+), 29 deletions(-) diff --git a/guix/build/julia-build-system.scm b/guix/build/julia-build-sys= tem.scm index ff6fcf5fe3..dbd4af623d 100644 --- a/guix/build/julia-build-system.scm +++ b/guix/build/julia-build-system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright =C2=A9 2019 Nicol=C3=B2 Balzarotti +;;; Copyright =C2=A9 2019, 2020 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,53 +37,46 @@ ;; subpath where we store the package content (define %package-path "/share/julia/packages/") =20 -(define (generate-load-path inputs outputs) - (string-append - (string-join (map (match-lambda - ((_ . path) - (string-append path %package-path))) - ;; Restrict to inputs beginning with "julia-". - (filter (match-lambda - ((name . _) - (string-prefix? "julia-" name))) - inputs)) - ":") - (string-append ":" (assoc-ref outputs "out") %package-path) - ;; stdlib is always required to find Julia's standard libraries. - ;; usually there are other two paths in this variable: - ;; "@" and "@v#.#" - ":@stdlib")) - (define* (install #:key source inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (package-dir (string-append out %package-path - (string-append - (strip-store-file-name source))))) - (setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs)) + (strip-store-file-name source)))) (mkdir-p package-dir) - (copy-recursively source package-dir)) + (copy-recursively (getcwd) package-dir)) #t) =20 -;; TODO: Precompilation is working, but I don't know how to tell -;; julia to use use it. If (on rantime) we set HOME to -;; store path, julia tries to write files there (failing) (define* (precompile #:key source inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (builddir (string-append out "/share/julia/")) (package (strip-store-file-name source))) (mkdir-p builddir) + ;; With a patch, SOURCE_DATE_EPOCH is honored + (setenv "SOURCE_DATE_EPOCH" "1") (setenv "JULIA_DEPOT_PATH" builddir) - (setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs)) - ;; Actual precompilation - (invoke-julia (string-append "using " package))) + ;; add new package dir to the load path + (setenv "JULIA_LOAD_PATH" + (string-append builddir "packages/" ":" + (or (getenv "JULIA_LOAD_PATH") + ""))) + ;; Actual precompilation. + (invoke-julia + ;; when using julia as a user, julia writes precompile cache to the f= irst + ;; entry of the DEPOT_PATH list (by default, the home dir). We want = to + ;; write it to the store, so let's push the store path as the first + ;; element of DEPOT_PATH. Once the cache file exists, this hack is n= ot + ;; needed anymore (like in the check phase). If the user install new + ;; pacakges, those will be installed and precompiled in the home dir + (string-append "pushfirst!(DEPOT_PATH, pop!(DEPOT_PATH)); using " pac= kage))) #t) =20 (define* (check #:key source inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (package (strip-store-file-name source)) (builddir (string-append out "/share/julia/"))) + ;; With a patch, SOURCE_DATE_EPOCH is honored + (setenv "SOURCE_DATE_EPOCH" "1") (setenv "JULIA_DEPOT_PATH" builddir) - (setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs)) + (setenv "JULIA_LOAD_PATH" (string-append builddir "packages/")) (invoke-julia (string-append "using Pkg;Pkg.test(\"" package "\")"))) #t) =20 --=20 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0006-gnu-Add-julia-compat.patch >From 7aabfd980a00fa292e73db66230a0558389a9011 Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 14:05:00 +0100 Subject: [PATCH 06/11] gnu: Add julia-compat. * gnu/packages/julia-xyz.scm: New file * gnu/packages/julia-xyz.scm (julia-compat): New variable --- gnu/local.mk | 1 + gnu/packages/julia-xyz.scm | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 gnu/packages/julia-xyz.scm diff --git a/gnu/local.mk b/gnu/local.mk index fe8634b44d..e07229ee20 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -277,6 +277,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/jrnl.scm \ %D%/packages/jose.scm \ %D%/packages/julia.scm \ + %D%/packages/julia-xyz.scm \ %D%/packages/jupyter.scm \ %D%/packages/kawa.scm \ %D%/packages/kde.scm \ diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm new file mode 100644 index 0000000000..7d9faa63e9 --- /dev/null +++ b/gnu/packages/julia-xyz.scm @@ -0,0 +1,27 @@ +(define-module (gnu packages julia-xyz) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system julia)) + +(define-public julia-compat + (package + (name "julia-compat") + (version "3.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaLang/Compat.jl") + (commit (string-append "v" version)))) + (file-name "Compat") + (sha256 + (base32 "0d21h3l2ry2mmlhpg7b9cxifayzwcv7r13h5wydcbd5pjf6k4qd4")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaLang/Compat.jl") + (synopsis "Compatibility across Julia versions") + (description "The Compat package is designed to ease interoperability +between older and newer versions of the Julia language. The Compat package +provides a macro that lets you use the latest syntax in a backwards-compatible +way.") + (license license:expat))) -- 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0007-gnu-Add-julia-inifile.patch >From 9d6e97b3b87480fbc5f7dc32ad8e9db838e141ff Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 14:06:11 +0100 Subject: [PATCH 07/11] gnu: Add julia-inifile. * gnu/packages/julia-xyz.scm (julia-inifile): New variable. --- gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 7d9faa63e9..6b8053e5f8 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -25,3 +25,23 @@ between older and newer versions of the Julia language. The Compat package provides a macro that lets you use the latest syntax in a backwards-compatible way.") (license license:expat))) + +(define-public julia-inifile + (package + (name "julia-inifile") + (version "0.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaIO/IniFile.jl") + (commit "8ba59958495fa276d6489d2c3903e765d75e0bc0"))) + (file-name "IniFile") + (sha256 + (base32 "11h6f99jpbg729lplw841m68jprka7q3n8yw390bndlmcdsjabpd")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaIO/IniFile.jl") + (synopsis "Reading Windows-style INI files") + (description "This is a julia package that defines an IniFile type that +allows to interface with @file{.ini} files") + (license license:expat))) -- 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0008-gnu-Add-julia-sha.patch >From bc96f48b6916eab179f7f1a911e54182e9c9ed71 Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 14:07:13 +0100 Subject: [PATCH 08/11] gnu: Add julia-sha. * gnu/packages/julia-xyz.scm (julia-sha): New variable. --- gnu/packages/julia-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 6b8053e5f8..92ffde58e7 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -45,3 +45,26 @@ way.") (description "This is a julia package that defines an IniFile type that allows to interface with @file{.ini} files") (license license:expat))) + +(define-public julia-sha + (package + (name "julia-sha") + (version "0.5.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/staticfloat/SHA.jl") + (commit (string-append "v" version)))) + (file-name "SHA") + (sha256 + (base32 "10a09kg9z0m8rvwmlgsna6p342kyvizx2axdqc6pzyhraddr8jrp")))) + (propagated-inputs `(("julia-compat" ,julia-compat))) + (build-system julia-build-system) + (home-page "https://github.com/staticfloat/SHA.jl") + (synopsis + "Performant, 100% native-julia SHA1, SHA2, and SHA3 implementation") + (description "Julia package implementing SHA algorithms. Each exported +function takes in either an @code{Array{UInt8}}, a @code{ByteString} or an +@code{IO} object.") + (license license:expat))) -- 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0009-gnu-Add-julia-binaryprovider.patch >From d1094a0e8346807904a96424d8c8c59c6a91bf40 Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 14:07:36 +0100 Subject: [PATCH 09/11] gnu: Add julia-binaryprovider. * gnu/packages/julia-xyz.scm (julia-binaryprovider): New variable. --- gnu/packages/julia-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 92ffde58e7..0f8e04b4d1 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -68,3 +68,36 @@ allows to interface with @file{.ini} files") function takes in either an @code{Array{UInt8}}, a @code{ByteString} or an @code{IO} object.") (license license:expat))) + +(define-public julia-binaryprovider + (package + (name "julia-binaryprovider") + (version "0.5.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaPackaging/BinaryProvider.jl") + (commit (string-append "v" version)))) + (file-name "BinaryProvider") + (sha256 + (base32 "174jmg4w8ncgfhdvfnm0p4cnlayw31j4s9sksqlwz1sipywqvww7")))) + (propagated-inputs `(("julia-sha" ,julia-sha))) + ;; We don't really need BinaryProvider (as guix provides the binaries) but + ;; since it's a dependency of other packages we want to precompile it. + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-engine-probe + (lambda _ + (substitute* "src/BinaryProvider.jl" + ;; Precompilation tries to download things from the internet, + ;; disable the download part + (("probe_platform_engines") "# probe_platform_engines")) + #t))))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaPackaging/BinaryProvider.jl") + (synopsis "Reliable Binary provider for Julia") + (description "@code{BinaryProvider.jl} simplifies the installation of +binaries required by julia packages.") + (license license:expat))) -- 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0010-gnu-Add-julia-mbedtls.patch >From 5239d2a1c3dc713496817eb0018a062af4b280be Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 14:11:14 +0100 Subject: [PATCH 10/11] gnu: Add julia-mbedtls. * gnu/packages/julia-xyz.scm (julia-mbedtls): New variable. --- gnu/packages/julia-xyz.scm | 49 +++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 0f8e04b4d1..3e9f532697 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -2,7 +2,8 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix git-download) - #:use-module (guix build-system julia)) + #:use-module (guix build-system julia) + #:use-module (gnu packages tls)) (define-public julia-compat (package @@ -101,3 +102,49 @@ function takes in either an @code{Array{UInt8}}, a @code{ByteString} or an (description "@code{BinaryProvider.jl} simplifies the installation of binaries required by julia packages.") (license license:expat))) + +(define-public julia-mbedtls + (package + (name "julia-mbedtls") + (version "0.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaLang/MbedTLS.jl") + (commit (string-append "v" version)))) + (file-name "MbedTLS") + (sha256 + (base32 "1a8snw9gi21lm6r3kh6ly7ngi99s9k5shqkfiizj3g9li20q23h2")))) + (propagated-inputs + `(("julia-binaryprovider" ,julia-binaryprovider) + ("mbedtls-apache" ,mbedtls-apache))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'precompile 'build-deps + (lambda* (#:key outputs source inputs #:allow-other-keys) + (let ((f (open-file + (string-append + (assoc-ref outputs "out") + "/share/julia/packages/" + (string-append + (strip-store-file-name source) "/deps/deps.jl")) + "w"))) + (display (string-append "const libmbedcrypto = \"" + (assoc-ref inputs "mbedtls-apache") + "/lib/libmbedcrypto.so\"\n") f) + (display (string-append "const libmbedtls = \"" + (assoc-ref inputs "mbedtls-apache") + "/lib/libmbedtls.so\"\n") f) + (display (string-append "const libmbedx509 = \"" + (assoc-ref inputs "mbedtls-apache") + "/lib/libmbedx509.so\"\n") f) + (close-port f)) + #t))))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaLang/MbedTLS.jl") + (synopsis "Apache's mbed TLS library wrapper") + (description "@code{MbedTLS.jl} provides a wrapper around the mbed TLS and +cryptography C libary for Julia.") + (license license:expat))) -- 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0011-gnu-Add-julia-http.patch >From bd7ba60316819b1201966dc650f50e4c320a4dfd Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 14:11:45 +0100 Subject: [PATCH 11/11] gnu: Add julia-http. * gnu/packages/julia-xyz.scm (julia-http): New variable. --- gnu/packages/julia-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 3e9f532697..ff1bb483f9 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -148,3 +148,27 @@ binaries required by julia packages.") (description "@code{MbedTLS.jl} provides a wrapper around the mbed TLS and cryptography C libary for Julia.") (license license:expat))) + +(define-public julia-http + (package + (name "julia-http") + (version "0.8.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaWeb/HTTP.jl") + (commit (string-append "v" version)))) + (file-name "HTTP") + (sha256 + (base32 "0928fvncfp07i5hvqxjyj8i27xmxxllas1m5idqq2i8h7jshzq3y")))) + (propagated-inputs + `(("julia-inifile" ,julia-inifile) + ("julia-mbedtls" ,julia-mbedtls) + ("julia-compat" ,julia-compat))) + (build-system julia-build-system) + (home-page "https://juliaweb.github.io/HTTP.jl/") + (synopsis "HTTP support for Julia") + (description "@code{HTTP.jl} is a Julia library for HTTP Messages, +implementing both a client and a server.") + (license license:expat))) -- 2.24.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 18 09:35:34 2020 Received: (at 38546) by debbugs.gnu.org; 18 Jan 2020 14:35:34 +0000 Received: from localhost ([127.0.0.1]:40739 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ispC4-0002De-N3 for submit@debbugs.gnu.org; Sat, 18 Jan 2020 09:35:33 -0500 Received: from mail-wm1-f41.google.com ([209.85.128.41]:33322) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ispBz-0002DJ-NH for 38546@debbugs.gnu.org; Sat, 18 Jan 2020 09:35:19 -0500 Received: by mail-wm1-f41.google.com with SMTP id d139so11487452wmd.0 for <38546@debbugs.gnu.org>; Sat, 18 Jan 2020 06:35:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=OOezF/FJIOsMXaNmNp6tMDKzk5NwN2V5yRQMS0z0lyI=; b=K9EbgtpzFxqi2GjdA38pveJnxRbKFAubcSlkiCbF8zm5I95nEfTaye7ehcRLe0raZ/ Ml/k4RtqwdBWB/V7NFYaAz8Yo7V3asDdAxFCyUV9A0h6USWIBZ/uVbwEKT2NmR1wORcu Mfw/x+YcSBgBPm3ouZs0uSgrPXoXfdnwc/rC1QRrevh54KnwGtjD/2vJzFQjQ6LLhuYm /MDiKuEVCoWTV5Q2AXW1wS4dE1She7/n1klkJWvak/ewUO/Gwgyd8LsPtx0NBZU94/Ly cePLlvCf4LsXxqoSL5i/2e+Mn5BiZjKMd/ABdKsPBcOkSL5mMcYq+UZicY25foDQq1tR FGFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=OOezF/FJIOsMXaNmNp6tMDKzk5NwN2V5yRQMS0z0lyI=; b=dU39yJ3HFtnZ+EWKg8u7crTU9zS1NiM3UMK1GUt5kEj7jJ2x7dllGwjiqbPqW+ZReU XZ6GpYM1KRfa/PFhaALCZK+0SYMrKOIj4paZD3Bs6x6aNWqZ6nYp1ZMdroBziGetFZzL 6Avw0S6Z8UqMfcKZqRDublN4cwkLsIDtJYBp1dyBfkGIzNr2XxwF4iJvROqIVah5a5pD abT/Mxcua9GzypArQGO7lWiwPTAzF6I3Lrkv2F9LaaVm0WsiltBKN0BcMNOPijvRH6LZ p8EGHfsSr0zrLvi2iIffuhFzoZZwBAEHt/n1UQMi4gj3Q1PGRn2Df/c0ME+iFWF/pwUV n0Eg== X-Gm-Message-State: APjAAAXOrFn00qou/B+dh9FPXeiMKRXdOWRvY9WbGdopzAKxWrW18C3y k0t7YOKMDyUO1yOrwGGkjTUCrC4U X-Google-Smtp-Source: APXvYqz85QCD7M6skuzbv0NR5TQkoBrlgXBvkNn/DhT3k8GWuPscOiOo1WC1bBNgLRetQ7/JZYwOQQ== X-Received: by 2002:a1c:dcd5:: with SMTP id t204mr9999352wmg.34.1579358109203; Sat, 18 Jan 2020 06:35:09 -0800 (PST) Received: from guixSD (host146-19-dynamic.50-79-r.retail.telecomitalia.it. [79.50.19.146]) by smtp.gmail.com with ESMTPSA id s1sm14270462wmc.23.2020.01.18.06.35.07 for <38546@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2020 06:35:08 -0800 (PST) From: anothersms@gmail.com (=?utf-8?Q?Nicol=C3=B2?= Balzarotti) To: 38546@debbugs.gnu.org Subject: Julia patches v3 Date: Sat, 18 Jan 2020 15:35:06 +0100 Message-ID: <87r1zwu92d.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Sorry again, I fixed some unrelated changes that slipped in Thanks, Nicolò From ae58a1dd7b24989e281b07d9a90e1bb6de5199e2 Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 15:14:32 +0100 Subject: [PATCH 01/11] gnu: julia: Update to 1.3.1. Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: githubusercontent.com] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.41 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.41 listed in wl.mailspike.net] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) 1.9 PDS_OTHER_BAD_TLD Untrustworthy TLDs [URI: nixo.xyz (xyz)] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.9 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Sorry again, I fixed some unrelated changes that slipped in Thanks, Nicol=C3=B2 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-gnu-julia-Update-to-1.3.1.patch Content-Transfer-Encoding: quoted-printable >From ae58a1dd7b24989e281b07d9a90e1bb6de5199e2 Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 15:14:32 +0100 Subject: [PATCH 01/11] gnu: julia: Update to 1.3.1. * gnu/packages/julia.scm (julia): Update to 1.3.1. --- gnu/packages/julia.scm | 281 +++++++++++++++++------------------------ 1 file changed, 115 insertions(+), 166 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 65a5e42beb..3455dc6239 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright =C2=A9 2015, 2016, 2017 Ricardo Wurmus ;;; Copyright =C2=A9 2016 Efraim Flashner +;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) #:use-module (gnu packages elf) #:use-module (gnu packages gcc) #:use-module (gnu packages llvm) @@ -43,18 +45,30 @@ #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages ssh) #:use-module (gnu packages wget) #:use-module (ice-9 match)) =20 +(define (julia-patch-url version name) + (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" ver= sion + "/deps/patches/" name ".patch")) + +(define (julia-patch name sha) + (let ((version "1.3.1")) + (origin (method url-fetch) + (uri (julia-patch-url version name)) + (sha256 (base32 sha)) + (file-name name)))) + (define libuv-julia - (let ((commit "26dbe5672c33fc885462c509fe2a9b36f35866fd") - (revision "6")) + (let ((commit "35b1504507a7a4168caae3d78db54d1121b121e1")) ;; When upgrading Julia, also upgrade this. - ;; Get the commit from https://github.com/JuliaLang/julia/blob/v1.1.1/= deps/libuv.version + ;; Get the commit from + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/deps/libuv.version (package (inherit libuv) (name "libuv-julia") - (version (string-append "1.9.0-" revision "." (string-take commit 8)= )) + (version (string-append "2.0.0" "." (string-take commit 8))) (source (origin (method git-fetch) (uri (git-reference @@ -63,7 +77,7 @@ (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "17pn2xmqaramilx897s9grs966i5246gi6sric5alch4g9j4685n"))= )) + "0dn3v6fdp1z382pqg3nhjzk60l61ky9b65mfgaj29fv2da95rwjs"))= )) (build-system gnu-build-system) (arguments (substitute-keyword-arguments (package-arguments libuv) @@ -72,16 +86,27 @@ (delete 'autogen))))) (home-page "https://github.com/JuliaLang/libuv")))) =20 -(define (llvm-patch-url version name) - (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" ver= sion - "/deps/patches/" name)) - -(define (llvm-patch name sha) - (let ((version "1.1.1")) - (origin (method url-fetch) - (uri (llvm-patch-url version name)) - (sha256 (base32 sha)) - (file-name name)))) +(define libunwind-julia + ;; julia requires a patched version + (package + (inherit libunwind) + (name "libunwind-julia") + (version "1.3.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/libunwind/libunwind-" + version ".tar.gz")) + (sha256 + (base32 + "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3")) + (patches + (list + (julia-patch "libunwind-prefer-extbl" + "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hh= xfgnh2m1") + (julia-patch "libunwind-static-arm" + "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic87= 0zh3lhgq"))))) + (build-system gnu-build-system) + (home-page "https://github.com/JuliaLang/libuv"))) =20 (define llvm-julia (package @@ -99,39 +124,39 @@ ;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi= ?bug=3D919628 (patches (list - (llvm-patch "llvm-6.0-D44650.patch" + (julia-patch "llvm-6.0-D44650" "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") - (llvm-patch "llvm-6.0-DISABLE_ABI_CHECKS.patch" + (julia-patch "llvm-6.0-DISABLE_ABI_CHECKS" "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") - (llvm-patch "llvm-6.0-NVPTX-addrspaces.patch" + (julia-patch "llvm-6.0-NVPTX-addrspaces" "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") - (llvm-patch "llvm-6.0.0_D27296-libssp.patch" + (julia-patch "llvm-6.0.0_D27296-libssp" "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") - (llvm-patch "llvm-D27629-AArch64-large_model_6.0.1.patch" + (julia-patch "llvm-D27629-AArch64-large_model_6.0.1" "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") - (llvm-patch "llvm-D34078-vectorize-fdiv.patch" + (julia-patch "llvm-D34078-vectorize-fdiv" "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") - (llvm-patch "llvm-D42262-jumpthreading-not-i1.patch" + (julia-patch "llvm-D42262-jumpthreading-not-i1" "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") - (llvm-patch "llvm-D44892-Perf-integration.patch" + (julia-patch "llvm-D44892-Perf-integration" "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") - (llvm-patch "llvm-D46460.patch" + (julia-patch "llvm-D46460" "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") - (llvm-patch "llvm-D49832-SCEVPred.patch" + (julia-patch "llvm-D49832-SCEVPred" "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") - (llvm-patch "llvm-D50010-VNCoercion-ni.patch" + (julia-patch "llvm-D50010-VNCoercion-ni" "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") - (llvm-patch "llvm-D50167-scev-umin.patch" + (julia-patch "llvm-D50167-scev-umin" "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") - (llvm-patch "llvm-OProfile-line-num.patch" + (julia-patch "llvm-OProfile-line-num" "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") - (llvm-patch "llvm-PPC-addrspaces.patch" + (julia-patch "llvm-PPC-addrspaces" "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") - (llvm-patch "llvm-rL323946-LSRTy.patch" + (julia-patch "llvm-rL323946-LSRTy" "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") - (llvm-patch "llvm-rL326967-aligned-load.patch" + (julia-patch "llvm-rL326967-aligned-load" "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") - (llvm-patch "llvm-rL327898.patch" + (julia-patch "llvm-rL327898" "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))) (arguments (substitute-keyword-arguments (package-arguments llvm-6) @@ -158,7 +183,7 @@ (define-public julia (package (name "julia") - (version "1.1.1") + (version "1.3.1") (source (origin (method url-fetch) (uri (string-append @@ -166,7 +191,7 @@ version "/julia-" version ".tar.gz")) (sha256 (base32 - "0hk983mywimclgnjc41zmlppm5kfdz2aj85ky07p49ilcqxi998f")))) + "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -188,30 +213,24 @@ (add-after 'unpack 'prepare-deps (lambda* (#:key inputs #:allow-other-keys) (mkdir "deps/srccache") - (copy-file (assoc-ref inputs "dsfmt") - "deps/srccache/dsfmt-2.2.3.tar.gz") + ;; no USE_SYSTEM_{OBJCONV/LIBWHICH} (copy-file (assoc-ref inputs "objconv") "deps/srccache/objconv.zip") - (copy-file (assoc-ref inputs "suitesparse") - "deps/srccache/SuiteSparse-4.4.5.tar.gz") - (copy-file (string-append (assoc-ref inputs "virtualenv") - "/bin/virtualenv") - "julia-env") (copy-file (assoc-ref inputs "libwhich") (string-append "deps/srccache/libwhich-" "81e9723c0273d78493dc8c8ed570f68d9c= e7e89e" ".tar.gz")) - (copy-file (assoc-ref inputs "rmath") - "deps/srccache/Rmath-julia-0.1.tar.gz") - ;; needed by libwhich (setenv "LD_LIBRARY_PATH" (string-join (map (lambda (pkg) (string-append (assoc-ref inputs = pkg) "/lib")) - '("arpack-ng" "fftw" "gmp" "lapack" - "libgit2" "mpfr" "openblas" "openlibm" - "openspecfun" "pcre2")) + '("arpack-ng" "curl" "dsfmt" + "gmp" "lapack" + "libssh2" "libgit2" + "mbedtls" "mpfr" + "openblas" "openlibm" "pcre2" + "suitesparse")) ":")) #t)) ;; FIXME: Building the documentation requires Julia packages that @@ -233,44 +252,12 @@ ;; using the output of "/sbin/ldconfig -p". Since ldconfig is n= ot ;; used in Guix, we patch runtime_ccall.cpp to contain a static = map. (lambda* (#:key inputs #:allow-other-keys) - (use-modules (ice-9 match)) - (substitute* "src/runtime_ccall.cpp" - ;; Patch out invocations of '/sbin/ldconfig' to avoid getting - ;; error messages about missing '/sbin/ldconfig' on Guix Sys= tem. - (("popen\\(.*ldconfig.*\\);") - "NULL;\n") - - ;; Populate 'sonameMap'. - (("jl_read_sonames.*;") - (string-join - (map (match-lambda - ((input libname soname) - (string-append - "sonameMap[\"" libname "\"] =3D " - "\"" (assoc-ref inputs input) "/lib/" soname "\";= "))) - '(("libc" "libc" "libc.so.6") - ("pcre2" "libpcre2-8" "libpcre2-8.so") - ("mpfr" "libmpfr" "libmpfr.so") - ("openblas" "libblas" "libopenblas.so") - ("arpack-ng" "libarpack" "libarpack.so") - ("lapack" "liblapack" "liblapack.so") - ("libgit2" "libgit2" "libgit2.so") - ("gmp" "libgmp" "libgmp.so") - ("openspecfun" "libopenspecfun" "libopenspecfun.so") - ("fftw" "libfftw3" "libfftw3_threads.s= o") - ("fftwf" "libfftw3f" "libfftw3f_threads.= so")))))) (substitute* "base/math.jl" (("const libm =3D Base.libm_name") (string-append "const libm =3D \"" (assoc-ref inputs "openlibm") "/lib/libopenlibm.so" - "\"")) - (("const openspecfun =3D \"libopenspecfun\"") - (string-append "const openspecfun =3D \"" - (assoc-ref inputs "openspecfun") - "/lib/libopenspecfun.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 @@ -278,10 +265,10 @@ ;; collection of build targets and a list of libraries to link ;; against. (substitute* "src/flisp/Makefile" - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\): \\$\\(OBJS\\) \\$\\(L= IBFILES_release\\)") - "$(BUILDDIR)/$(EXENAME): $(OBJS) $(LLT_release)") - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug: \\$\\(DOBJS\\) = \\$\\(LIBFILES_debug\\)") - "$(BUILDDIR)/$(EXENAME)-debug: $(DOBJS) $(LLT_debug)")) + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)\\$\\(EXE\\): \\$\\(OB= JS\\) \\$\\(LIBFILES_release\\)") + "$(BUILDDIR)/$(EXENAME)$(EXE): $(OBJS) $(LLT_release)") + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug$(EXE): \\$\\(DO= BJS\\) \\$\\(LIBFILES_debug\\)") + "$(BUILDDIR)/$(EXENAME)-debug\\$\\(EXE\\): $(DOBJS) $(LLT_= debug)")) =20 ;; The REPL must be linked with libuv. (substitute* "ui/Makefile" @@ -296,43 +283,34 @@ "/include/uv/errno.h"))) #t)) (add-before 'build 'replace-default-shell - (lambda _ - (substitute* "base/client.jl" - (("/bin/sh") (which "sh"))) - #t)) - (add-after 'unpack 'hardcode-paths (lambda _ - (substitute* "stdlib/InteractiveUtils/src/InteractiveUtils.jl" - (("`which") (string-append "`" (which "which"))) - (("`wget") (string-append "`" (which "wget")))) + (substitute* "base/client.jl" + (("/bin/sh") (which "sh"))) #t)) - (add-before 'check 'disable-broken-tests + (add-before 'check 'fix-broken-tests (lambda _ - (define (touch file-name) - (call-with-output-file file-name (const #t))) - ;; FIXME: All git tests works except this one. But *THIS* "fix" - ;; is not working, so right now I'm disabling all libgit2.jl = tests - ;; (substitute* "stdlib/LibGit2/test/libgit2.jl" - ;; (("!LibGit2.use_http_path(cfg, github_cred)") "true") - ;; (("LibGit2.use_http_path(cfg, mygit_cred)") "true")) - (map (lambda (test) - (delete-file test) - (touch test)) - '("stdlib/Sockets/test/runtests.jl" - "stdlib/Distributed/test/runtests.jl" - ;; FIXME: see above - "stdlib/LibGit2/test/libgit2.jl")) - (substitute* "test/choosetests.jl" - ;; These tests fail, probably because some of the input - ;; binaries have been stripped and thus backtraces don't look - ;; as expected. - (("\"backtrace\",") "") - (("\"cmdlineargs\",") "")) + (substitute* "test/choosetests.jl" + (("tests =3D testnames") + ;; Those failings are not deterministic. They depends on = the + ;; running order. I think it depends on the number of + ;; runners, disabling it for now + ;; https://github.com/JuliaLang/julia/issues/34330 + "tests =3D filter(e->!in(e,[\"backtrace\",\"exceptions\",\= "client\", + \"stacktraces\",\"stress\",\"pre= compile\"]), + testnames)")) + ;; 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 + (substitute* "test/cmdlineargs.jl" + (("\"JULIA_PROJECT\"") "\"HOME\"=3D>\"/tmp\", \"JULIA_PROJE= CT\"")) + ;; Marking the test as broken as it's a known bug: + ;; https://github.com/JuliaLang/julia/issues/32377 + (substitute* "stdlib/REPL/test/replcompletions.jl" + (("@test count") "@test_broken count")) #t))) #:make-flags (list (string-append "prefix=3D" (assoc-ref %outputs "out")) - (string-append "PREFIX=3D" (assoc-ref %outputs "out")) =20 ;; Passing the MARCH flag is necessary to build binary substitutes= for ;; the supported architectures. @@ -345,26 +323,21 @@ ;; platforms, e.g. when running "guix package --search=3D" (_ "MARCH=3DUNSUPPORTED")) =20 - "CONFIG_SHELL=3Dbash" ;needed to build bundled libraries - "USE_SYSTEM_DSFMT=3D0" ;not packaged for Guix and upstream has = no - ;build system for a shared library. + "CONFIG_SHELL=3Dbash" ;needed to build bundled librari= es + ;; list of "USE_SYSTEM_*" is here: + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/Make.inc + "USE_SYSTEM_DSFMT=3D1" + "USE_SYSTEM_P7ZIP=3D1" "USE_SYSTEM_LAPACK=3D1" "USE_SYSTEM_BLAS=3D1" "USE_BLAS64=3D0" ;needed when USE_SYSTEM_BLAS=3D1 "LIBBLAS=3D-lopenblas" "LIBBLASNAME=3Dlibopenblas" =20 - "USE_SYSTEM_FFTW=3D1" - "LIBFFTWNAME=3Dlibfftw3" - "LIBFFTWFNAME=3Dlibfftw3f" - - ;; TODO: Suitesparse does not install shared libraries, so we cann= ot - ;; use the suitesparse package. - ;; "USE_SYSTEM_SUITESPARSE=3D1" - ;; (string-append "SUITESPARSE_INC=3D-I " - ;; (assoc-ref %build-inputs "suitesparse") - ;; "/include") - + "USE_SYSTEM_SUITESPARSE=3D1" + (string-append "SUITESPARSE_INC=3D-I " + (assoc-ref %build-inputs "suitesparse") + "/include") "USE_GPL_LIBS=3D1" ;proudly "USE_SYSTEM_UTF8PROC=3D1" (string-append "UTF8PROC_INC=3D" @@ -385,16 +358,19 @@ "USE_SYSTEM_PATCHELF=3D1" "USE_SYSTEM_PCRE=3D1" "USE_SYSTEM_OPENLIBM=3D1" - + "USE_SYSTEM_LIBM=3D0" + "USE_SYSTEM_LIBSSH2=3D1" + "USE_SYSTEM_CURL=3D1" "USE_SYSTEM_GMP=3D1" "USE_SYSTEM_MPFR=3D1" + "USE_SYSTEM_MBEDTLS=3D1" "USE_SYSTEM_ARPACK=3D1" "USE_SYSTEM_LIBGIT2=3D1" - "USE_SYSTEM_ZLIB=3D1" - "USE_SYSTEM_OPENSPECFUN=3D1"))) + "USE_SYSTEM_ZLIB=3D1"))) (inputs `(("llvm" ,llvm-julia) =20 + ("p7zip" ,p7zip) ;; The bundled version is 3.3.0 so stick to that version. With oth= er ;; versions, we get test failures in 'linalg/arnoldi' as described = in ;; . @@ -403,12 +379,12 @@ ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like ("lapack" ,lapack) ("openblas" ,openblas) ;Julia does not build with Atlas - ("libunwind" ,libunwind) + ("libunwind" ,libunwind-julia) ("openlibm" ,openlibm) - ("openspecfun" ,openspecfun) + ("mbedtls" ,mbedtls-apache) + ("curl" ,curl) ("libgit2" ,libgit2) - ("fftw" ,fftw) - ("fftwf" ,fftwf) + ("libssh2" ,libssh2) ("fortran" ,gfortran) ("libuv" ,libuv-julia) ("pcre2" ,pcre2) @@ -418,31 +394,12 @@ ("which" ,which) ("zlib" ,zlib) ("gmp" ,gmp) - ("virtualenv" ,python2-virtualenv) + ("suitesparse" ,suitesparse) ;; FIXME: The following inputs are downloaded from upstream to allo= w us ;; to use the lightweight Julia release tarball. Ideally, these in= puts ;; would eventually be replaced with proper Guix packages. - - ;; TODO: run "make -f contrib/repackage_system_suitesparse4.make" t= o copy static lib - ;; Find dependency versions here: - ;; https://raw.githubusercontent.com/JuliaLang/julia/77a2c1e245c858= 12dc1c7687540beedecc52758f/deps/Versions.make - ("rmath" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaLang/Rmath-julia") - (commit "v0.1"))) - (file-name "rmath-julia-0.1-checkout") - (sha256 - (base32 - "1zkpy0cg5zivq40zbhbdgj9128fqzs2j94wkwih8nc6xaj3gp9p6")))) - ("suitesparse" - ,(origin - (method url-fetch) - (uri "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse= -4.4.5.tar.gz") - (sha256 - (base32 - "1jcbxb8jx5wlcixzf6n5dca2rcfx6mlcms1k2rl5gp67ay3bix43")))) + ;; Find dependencies versions here: + ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Ve= rsions.make ("objconv" ,(origin (method url-fetch) @@ -467,15 +424,7 @@ (sha256 (base32 "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) - ("dsfmt" - ,(origin - (method url-fetch) - (uri (string-append - "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/" - "SFMT/dSFMT-src-2.2.3.tar.gz")) - (sha256 - (base32 - "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42")))))) + ("dsfmt" ,dsfmt))) (native-inputs `(("openssl" ,openssl) ("perl" ,perl) --=20 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0002-gnu-julia-use-SOURCE_DATE_EPOCH-for-precompilation-t.patch >From f849311d8b97688966d5e6d93d856c7c50d9eab2 Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 13:58:37 +0100 Subject: [PATCH 02/11] gnu: julia: use SOURCE_DATE_EPOCH for precompilation timestamp * gnu/packages/patches/julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch: new file --- gnu/local.mk | 1 + gnu/packages/julia.scm | 4 ++- ...ia-fake-mtime-with-SOURCE_DATE_EPOCH.patch | 29 +++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch diff --git a/gnu/local.mk b/gnu/local.mk index 00ff3b8d61..fe8634b44d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1010,6 +1010,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-xerces-bootclasspath.patch \ %D%/packages/patches/java-xerces-build_dont_unzip.patch \ %D%/packages/patches/java-xerces-xjavac_taskdef.patch \ + %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/kdbusaddons-kinit-file-name.patch \ %D%/packages/patches/libvirt-create-machine-cgroup.patch \ diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 3455dc6239..156dc722f9 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -191,7 +191,9 @@ version "/julia-" version ".tar.gz")) (sha256 (base32 - "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")))) + "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")) + (patches + (search-patches "julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch")))) (build-system gnu-build-system) (arguments `(#:test-target "test" diff --git a/gnu/packages/patches/julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch b/gnu/packages/patches/julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch new file mode 100644 index 0000000000..467e6d68d1 --- /dev/null +++ b/gnu/packages/patches/julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch @@ -0,0 +1,29 @@ +From e4dc28db1d70819505fd1a68fd9d2bfc4fb61a7d Mon Sep 17 00:00:00 2001 +From: nixo +Date: Fri, 17 Jan 2020 11:28:30 +0100 +Subject: [PATCH] base: loading: support fake mtime with SOURCE_DATE_EPCOCH + +Do this when loading libraries +--- + base/loading.jl | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/base/loading.jl b/base/loading.jl +index 7f11a2d4fc..1b4686d1dc 100644 +--- a/base/loading.jl ++++ b/base/loading.jl +@@ -807,7 +807,10 @@ function _include_dependency(mod::Module, _path::AbstractString) + path = normpath(joinpath(dirname(prev), _path)) + end + if _track_dependencies[] +- push!(_require_dependencies, (mod, path, mtime(path))) ++ push!(_require_dependencies, ++ (mod, path, ++ haskey(ENV, "SOURCE_DATE_EPOCH") ? ++ parse(Float64, ENV["SOURCE_DATE_EPOCH"]) : mtime(path))) + end + return path, prev + end +-- +2.24.1 + -- 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0003-gnu-julia-Adjust-indentation.patch >From 5d453dbdc1939a4a334730bab55d20c48a8afcf0 Mon Sep 17 00:00:00 2001 From: nixo Date: Fri, 10 Jan 2020 10:25:49 +0100 Subject: [PATCH 03/11] gnu: julia: Adjust indentation. * gnu/packages/julia.scm (julia): Correct indentation, untabify --- gnu/packages/julia.scm | 216 ++++++++++++++++++++--------------------- 1 file changed, 108 insertions(+), 108 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 156dc722f9..40924b0ced 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -51,14 +51,14 @@ (define (julia-patch-url version name) (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" version - "/deps/patches/" name ".patch")) + "/deps/patches/" name ".patch")) (define (julia-patch name sha) (let ((version "1.3.1")) (origin (method url-fetch) - (uri (julia-patch-url version name)) - (sha256 (base32 sha)) - (file-name name)))) + (uri (julia-patch-url version name)) + (sha256 (base32 sha)) + (file-name name)))) (define libuv-julia (let ((commit "35b1504507a7a4168caae3d78db54d1121b121e1")) @@ -101,7 +101,7 @@ "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3")) (patches (list - (julia-patch "libunwind-prefer-extbl" + (julia-patch "libunwind-prefer-extbl" "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m1") (julia-patch "libunwind-static-arm" "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq"))))) @@ -124,45 +124,45 @@ ;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919628 (patches (list - (julia-patch "llvm-6.0-D44650" - "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") - (julia-patch "llvm-6.0-DISABLE_ABI_CHECKS" - "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") - (julia-patch "llvm-6.0-NVPTX-addrspaces" - "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") - (julia-patch "llvm-6.0.0_D27296-libssp" - "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") - (julia-patch "llvm-D27629-AArch64-large_model_6.0.1" - "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") - (julia-patch "llvm-D34078-vectorize-fdiv" - "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") - (julia-patch "llvm-D42262-jumpthreading-not-i1" - "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") - (julia-patch "llvm-D44892-Perf-integration" - "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") - (julia-patch "llvm-D46460" - "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") - (julia-patch "llvm-D49832-SCEVPred" - "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") - (julia-patch "llvm-D50010-VNCoercion-ni" - "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") - (julia-patch "llvm-D50167-scev-umin" - "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") - (julia-patch "llvm-OProfile-line-num" - "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") - (julia-patch "llvm-PPC-addrspaces" - "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") - (julia-patch "llvm-rL323946-LSRTy" - "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") - (julia-patch "llvm-rL326967-aligned-load" - "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") - (julia-patch "llvm-rL327898" - "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))) + (julia-patch "llvm-6.0-D44650" + "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") + (julia-patch "llvm-6.0-DISABLE_ABI_CHECKS" + "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") + (julia-patch "llvm-6.0-NVPTX-addrspaces" + "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") + (julia-patch "llvm-6.0.0_D27296-libssp" + "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") + (julia-patch "llvm-D27629-AArch64-large_model_6.0.1" + "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") + (julia-patch "llvm-D34078-vectorize-fdiv" + "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") + (julia-patch "llvm-D42262-jumpthreading-not-i1" + "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") + (julia-patch "llvm-D44892-Perf-integration" + "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") + (julia-patch "llvm-D46460" + "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") + (julia-patch "llvm-D49832-SCEVPred" + "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") + (julia-patch "llvm-D50010-VNCoercion-ni" + "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") + (julia-patch "llvm-D50167-scev-umin" + "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") + (julia-patch "llvm-OProfile-line-num" + "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") + (julia-patch "llvm-PPC-addrspaces" + "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") + (julia-patch "llvm-rL323946-LSRTy" + "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") + (julia-patch "llvm-rL326967-aligned-load" + "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") + (julia-patch "llvm-rL327898" + "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))) (arguments (substitute-keyword-arguments (package-arguments llvm-6) ((#:configure-flags flags) `(list ;; Taken from NixOS. Only way I could get libLLVM-6.0.so - "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_BUILD_TYPE=Release" ;; Build a native compiler and the NVPTX backend (NVIDIA) since ;; Julia insists on it, nothing more. This reduces build times and @@ -170,15 +170,15 @@ ,(string-append "-DLLVM_TARGETS_TO_BUILD=" (system->llvm-target)) "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=NVPTX" - "-DLLVM_INSTALL_UTILS=ON" - "-DLLVM_BUILD_TESTS=ON" - "-DLLVM_ENABLE_FFI=ON" - "-DLLVM_ENABLE_RTTI=ON" + "-DLLVM_INSTALL_UTILS=ON" + "-DLLVM_BUILD_TESTS=ON" + "-DLLVM_ENABLE_FFI=ON" + "-DLLVM_ENABLE_RTTI=ON" ;; "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" ;; "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" - ;; "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" - "-DLLVM_ENABLE_DUMP=ON" - "-DLLVM_LINK_LLVM_DYLIB=ON")))))) + ;; "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" + "-DLLVM_ENABLE_DUMP=ON" + "-DLLVM_LINK_LLVM_DYLIB=ON")))))) (define-public julia (package @@ -222,9 +222,9 @@ (string-append "deps/srccache/libwhich-" "81e9723c0273d78493dc8c8ed570f68d9ce7e89e" ".tar.gz")) - ;; needed by libwhich - (setenv "LD_LIBRARY_PATH" - (string-join (map (lambda (pkg) + ;; needed by libwhich + (setenv "LD_LIBRARY_PATH" + (string-join (map (lambda (pkg) (string-append (assoc-ref inputs pkg) "/lib")) '("arpack-ng" "curl" "dsfmt" @@ -234,7 +234,7 @@ "openblas" "openlibm" "pcre2" "suitesparse")) ":")) - #t)) + #t)) ;; FIXME: Building the documentation requires Julia packages that ;; would be downloaded from the Internet. We should build them in a ;; separate build phase. @@ -250,40 +250,40 @@ ;; 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" - "\""))))) + ;; ./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" + "\""))))) (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 - ;; included in the LIBFILES_* variable which is used as a - ;; collection of build targets and a list of libraries to link - ;; against. - (substitute* "src/flisp/Makefile" + (lambda* (#:key inputs #:allow-other-keys) + ;; LIBUTF8PROC is a linker flag, not a build target. It is + ;; included in the LIBFILES_* variable which is used as a + ;; collection of build targets and a list of libraries to link + ;; against. + (substitute* "src/flisp/Makefile" (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)\\$\\(EXE\\): \\$\\(OBJS\\) \\$\\(LIBFILES_release\\)") "$(BUILDDIR)/$(EXENAME)$(EXE): $(OBJS) $(LLT_release)") (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug$(EXE): \\$\\(DOBJS\\) \\$\\(LIBFILES_debug\\)") "$(BUILDDIR)/$(EXENAME)-debug\\$\\(EXE\\): $(DOBJS) $(LLT_debug)")) - ;; The REPL must be linked with libuv. - (substitute* "ui/Makefile" - (("JLDFLAGS \\+= ") - (string-append "JLDFLAGS += " - (assoc-ref %build-inputs "libuv") - "/lib/libuv.so "))) + ;; The REPL must be linked with libuv. + (substitute* "ui/Makefile" + (("JLDFLAGS \\+= ") + (string-append "JLDFLAGS += " + (assoc-ref %build-inputs "libuv") + "/lib/libuv.so "))) - (substitute* "base/Makefile" - (("\\$\\(build_includedir\\)/uv/errno.h") - (string-append (assoc-ref inputs "libuv") - "/include/uv/errno.h"))) - #t)) + (substitute* "base/Makefile" + (("\\$\\(build_includedir\\)/uv/errno.h") + (string-append (assoc-ref inputs "libuv") + "/include/uv/errno.h"))) + #t)) (add-before 'build 'replace-default-shell (lambda _ (substitute* "base/client.jl" @@ -309,7 +309,7 @@ ;; https://github.com/JuliaLang/julia/issues/32377 (substitute* "stdlib/REPL/test/replcompletions.jl" (("@test count") "@test_broken count")) - #t))) + #t))) #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")) @@ -332,7 +332,7 @@ "USE_SYSTEM_P7ZIP=1" "USE_SYSTEM_LAPACK=1" "USE_SYSTEM_BLAS=1" - "USE_BLAS64=0" ;needed when USE_SYSTEM_BLAS=1 + "USE_BLAS64=0" ;needed when USE_SYSTEM_BLAS=1 "LIBBLAS=-lopenblas" "LIBBLASNAME=libopenblas" @@ -340,35 +340,35 @@ (string-append "SUITESPARSE_INC=-I " (assoc-ref %build-inputs "suitesparse") "/include") - "USE_GPL_LIBS=1" ;proudly + "USE_GPL_LIBS=1" ;proudly "USE_SYSTEM_UTF8PROC=1" (string-append "UTF8PROC_INC=" (assoc-ref %build-inputs "utf8proc") "/include") "USE_SYSTEM_LLVM=1" - "LLVM_VER=6.0.1" + "LLVM_VER=6.0.1" - "USE_LLVM_SHLIB=1" - "USE_SYSTEM_LIBUNWIND=1" - "USE_SYSTEM_LIBUV=1" - (string-append "LIBUV=" - (assoc-ref %build-inputs "libuv") - "/lib/libuv.so") - (string-append "LIBUV_INC=" - (assoc-ref %build-inputs "libuv") - "/include") - "USE_SYSTEM_PATCHELF=1" - "USE_SYSTEM_PCRE=1" - "USE_SYSTEM_OPENLIBM=1" + "USE_LLVM_SHLIB=1" + "USE_SYSTEM_LIBUNWIND=1" + "USE_SYSTEM_LIBUV=1" + (string-append "LIBUV=" + (assoc-ref %build-inputs "libuv") + "/lib/libuv.so") + (string-append "LIBUV_INC=" + (assoc-ref %build-inputs "libuv") + "/include") + "USE_SYSTEM_PATCHELF=1" + "USE_SYSTEM_PCRE=1" + "USE_SYSTEM_OPENLIBM=1" "USE_SYSTEM_LIBM=0" "USE_SYSTEM_LIBSSH2=1" "USE_SYSTEM_CURL=1" - "USE_SYSTEM_GMP=1" - "USE_SYSTEM_MPFR=1" - "USE_SYSTEM_MBEDTLS=1" - "USE_SYSTEM_ARPACK=1" - "USE_SYSTEM_LIBGIT2=1" - "USE_SYSTEM_ZLIB=1"))) + "USE_SYSTEM_GMP=1" + "USE_SYSTEM_MPFR=1" + "USE_SYSTEM_MBEDTLS=1" + "USE_SYSTEM_ARPACK=1" + "USE_SYSTEM_LIBGIT2=1" + "USE_SYSTEM_ZLIB=1"))) (inputs `(("llvm" ,llvm-julia) @@ -378,9 +378,9 @@ ;; . ("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 ("lapack" ,lapack) - ("openblas" ,openblas) ;Julia does not build with Atlas + ("openblas" ,openblas) ;Julia does not build with Atlas ("libunwind" ,libunwind-julia) ("openlibm" ,openlibm) ("mbedtls" ,mbedtls-apache) @@ -412,20 +412,20 @@ (base32 "0wp6ld9vk11f4nnkn56627zmlv9k5vafi99qa3yyn1pgcd61zcfs")))) ("libwhich" - ,(let ((commit "81e9723c0273d78493dc8c8ed570f68d9ce7e89e")) + ,(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 + (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"))))) + (sha256 + (base32 + "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) ("dsfmt" ,dsfmt))) (native-inputs `(("openssl" ,openssl) -- 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0004-gnu-julia-use-wrapper-to-set-JULIA_LOAD_PATH-and-JUL.patch >From a14f7c993da9ead8b497de94c112f0a3ec93ef6c Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 14:23:44 +0100 Subject: [PATCH 04/11] gnu: julia: use wrapper to set JULIA_LOAD_PATH and JULIA_DEPOT_PATH --- gnu/packages/julia.scm | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 40924b0ced..39c7d6d34f 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -309,7 +309,20 @@ ;; https://github.com/JuliaLang/julia/issues/32377 (substitute* "stdlib/REPL/test/replcompletions.jl" (("@test count") "@test_broken count")) - #t))) + #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")) @@ -436,7 +449,10 @@ (native-search-paths (list (search-path-specification (variable "JULIA_LOAD_PATH") - (files (list "share/julia/packages/"))))) + (files (list "share/julia/packages/"))) + (search-path-specification + (variable "JULIA_DEPOT_PATH") + (files (list "share/julia/"))))) ;; Julia is not officially released for ARM and MIPS. ;; See https://github.com/JuliaLang/julia/issues/10639 (supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux")) -- 2.24.1 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0005-gnu-build-julia-build-system-fix-package-precompilat.patch Content-Transfer-Encoding: quoted-printable >From fe7101742199677293cdbbd34be8992c95f7bd8c Mon Sep 17 00:00:00 2001 From: nixo Date: Fri, 17 Jan 2020 19:40:55 +0100 Subject: [PATCH 05/11] gnu: build: julia-build-system: fix package precompilation --- guix/build/julia-build-system.scm | 51 +++++++++++++------------------ 1 file changed, 22 insertions(+), 29 deletions(-) diff --git a/guix/build/julia-build-system.scm b/guix/build/julia-build-sys= tem.scm index ff6fcf5fe3..dbd4af623d 100644 --- a/guix/build/julia-build-system.scm +++ b/guix/build/julia-build-system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright =C2=A9 2019 Nicol=C3=B2 Balzarotti +;;; Copyright =C2=A9 2019, 2020 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,53 +37,46 @@ ;; subpath where we store the package content (define %package-path "/share/julia/packages/") =20 -(define (generate-load-path inputs outputs) - (string-append - (string-join (map (match-lambda - ((_ . path) - (string-append path %package-path))) - ;; Restrict to inputs beginning with "julia-". - (filter (match-lambda - ((name . _) - (string-prefix? "julia-" name))) - inputs)) - ":") - (string-append ":" (assoc-ref outputs "out") %package-path) - ;; stdlib is always required to find Julia's standard libraries. - ;; usually there are other two paths in this variable: - ;; "@" and "@v#.#" - ":@stdlib")) - (define* (install #:key source inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (package-dir (string-append out %package-path - (string-append - (strip-store-file-name source))))) - (setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs)) + (strip-store-file-name source)))) (mkdir-p package-dir) - (copy-recursively source package-dir)) + (copy-recursively (getcwd) package-dir)) #t) =20 -;; TODO: Precompilation is working, but I don't know how to tell -;; julia to use use it. If (on rantime) we set HOME to -;; store path, julia tries to write files there (failing) (define* (precompile #:key source inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (builddir (string-append out "/share/julia/")) (package (strip-store-file-name source))) (mkdir-p builddir) + ;; With a patch, SOURCE_DATE_EPOCH is honored + (setenv "SOURCE_DATE_EPOCH" "1") (setenv "JULIA_DEPOT_PATH" builddir) - (setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs)) - ;; Actual precompilation - (invoke-julia (string-append "using " package))) + ;; add new package dir to the load path + (setenv "JULIA_LOAD_PATH" + (string-append builddir "packages/" ":" + (or (getenv "JULIA_LOAD_PATH") + ""))) + ;; Actual precompilation. + (invoke-julia + ;; when using julia as a user, julia writes precompile cache to the f= irst + ;; entry of the DEPOT_PATH list (by default, the home dir). We want = to + ;; write it to the store, so let's push the store path as the first + ;; element of DEPOT_PATH. Once the cache file exists, this hack is n= ot + ;; needed anymore (like in the check phase). If the user install new + ;; pacakges, those will be installed and precompiled in the home dir + (string-append "pushfirst!(DEPOT_PATH, pop!(DEPOT_PATH)); using " pac= kage))) #t) =20 (define* (check #:key source inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (package (strip-store-file-name source)) (builddir (string-append out "/share/julia/"))) + ;; With a patch, SOURCE_DATE_EPOCH is honored + (setenv "SOURCE_DATE_EPOCH" "1") (setenv "JULIA_DEPOT_PATH" builddir) - (setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs)) + (setenv "JULIA_LOAD_PATH" (string-append builddir "packages/")) (invoke-julia (string-append "using Pkg;Pkg.test(\"" package "\")"))) #t) =20 --=20 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0006-gnu-Add-julia-compat.patch >From 607383a2523efd85f8ec454c31fee8fb68b38249 Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 14:05:00 +0100 Subject: [PATCH 06/11] gnu: Add julia-compat. * gnu/packages/julia-xyz.scm: New file * gnu/packages/julia-xyz.scm (julia-compat): New variable --- gnu/local.mk | 1 + gnu/packages/julia-xyz.scm | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 gnu/packages/julia-xyz.scm diff --git a/gnu/local.mk b/gnu/local.mk index fe8634b44d..e07229ee20 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -277,6 +277,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/jrnl.scm \ %D%/packages/jose.scm \ %D%/packages/julia.scm \ + %D%/packages/julia-xyz.scm \ %D%/packages/jupyter.scm \ %D%/packages/kawa.scm \ %D%/packages/kde.scm \ diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm new file mode 100644 index 0000000000..7d9faa63e9 --- /dev/null +++ b/gnu/packages/julia-xyz.scm @@ -0,0 +1,27 @@ +(define-module (gnu packages julia-xyz) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system julia)) + +(define-public julia-compat + (package + (name "julia-compat") + (version "3.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaLang/Compat.jl") + (commit (string-append "v" version)))) + (file-name "Compat") + (sha256 + (base32 "0d21h3l2ry2mmlhpg7b9cxifayzwcv7r13h5wydcbd5pjf6k4qd4")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaLang/Compat.jl") + (synopsis "Compatibility across Julia versions") + (description "The Compat package is designed to ease interoperability +between older and newer versions of the Julia language. The Compat package +provides a macro that lets you use the latest syntax in a backwards-compatible +way.") + (license license:expat))) -- 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0007-gnu-Add-julia-inifile.patch >From c503ef2c5421939ed28a7f6a676c9c70f812d3fb Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 14:06:11 +0100 Subject: [PATCH 07/11] gnu: Add julia-inifile. * gnu/packages/julia-xyz.scm (julia-inifile): New variable. --- gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 7d9faa63e9..6b8053e5f8 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -25,3 +25,23 @@ between older and newer versions of the Julia language. The Compat package provides a macro that lets you use the latest syntax in a backwards-compatible way.") (license license:expat))) + +(define-public julia-inifile + (package + (name "julia-inifile") + (version "0.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaIO/IniFile.jl") + (commit "8ba59958495fa276d6489d2c3903e765d75e0bc0"))) + (file-name "IniFile") + (sha256 + (base32 "11h6f99jpbg729lplw841m68jprka7q3n8yw390bndlmcdsjabpd")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaIO/IniFile.jl") + (synopsis "Reading Windows-style INI files") + (description "This is a julia package that defines an IniFile type that +allows to interface with @file{.ini} files") + (license license:expat))) -- 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0008-gnu-Add-julia-sha.patch >From a2ff2e6f01b022972205d4efd47cf06e9ec1899b Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 14:07:13 +0100 Subject: [PATCH 08/11] gnu: Add julia-sha. * gnu/packages/julia-xyz.scm (julia-sha): New variable. --- gnu/packages/julia-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 6b8053e5f8..92ffde58e7 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -45,3 +45,26 @@ way.") (description "This is a julia package that defines an IniFile type that allows to interface with @file{.ini} files") (license license:expat))) + +(define-public julia-sha + (package + (name "julia-sha") + (version "0.5.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/staticfloat/SHA.jl") + (commit (string-append "v" version)))) + (file-name "SHA") + (sha256 + (base32 "10a09kg9z0m8rvwmlgsna6p342kyvizx2axdqc6pzyhraddr8jrp")))) + (propagated-inputs `(("julia-compat" ,julia-compat))) + (build-system julia-build-system) + (home-page "https://github.com/staticfloat/SHA.jl") + (synopsis + "Performant, 100% native-julia SHA1, SHA2, and SHA3 implementation") + (description "Julia package implementing SHA algorithms. Each exported +function takes in either an @code{Array{UInt8}}, a @code{ByteString} or an +@code{IO} object.") + (license license:expat))) -- 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0009-gnu-Add-julia-binaryprovider.patch >From 189ca6851f5f57ce09e65c81e9b8f50ba0008a80 Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 14:07:36 +0100 Subject: [PATCH 09/11] gnu: Add julia-binaryprovider. * gnu/packages/julia-xyz.scm (julia-binaryprovider): New variable. --- gnu/packages/julia-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 92ffde58e7..0f8e04b4d1 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -68,3 +68,36 @@ allows to interface with @file{.ini} files") function takes in either an @code{Array{UInt8}}, a @code{ByteString} or an @code{IO} object.") (license license:expat))) + +(define-public julia-binaryprovider + (package + (name "julia-binaryprovider") + (version "0.5.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaPackaging/BinaryProvider.jl") + (commit (string-append "v" version)))) + (file-name "BinaryProvider") + (sha256 + (base32 "174jmg4w8ncgfhdvfnm0p4cnlayw31j4s9sksqlwz1sipywqvww7")))) + (propagated-inputs `(("julia-sha" ,julia-sha))) + ;; We don't really need BinaryProvider (as guix provides the binaries) but + ;; since it's a dependency of other packages we want to precompile it. + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-engine-probe + (lambda _ + (substitute* "src/BinaryProvider.jl" + ;; Precompilation tries to download things from the internet, + ;; disable the download part + (("probe_platform_engines") "# probe_platform_engines")) + #t))))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaPackaging/BinaryProvider.jl") + (synopsis "Reliable Binary provider for Julia") + (description "@code{BinaryProvider.jl} simplifies the installation of +binaries required by julia packages.") + (license license:expat))) -- 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0010-gnu-Add-julia-mbedtls.patch >From 87b37b3f041709a1926f441a9643b723ca2ef8a1 Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 14:11:14 +0100 Subject: [PATCH 10/11] gnu: Add julia-mbedtls. * gnu/packages/julia-xyz.scm (julia-mbedtls): New variable. --- gnu/packages/julia-xyz.scm | 49 +++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 0f8e04b4d1..3e9f532697 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -2,7 +2,8 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix git-download) - #:use-module (guix build-system julia)) + #:use-module (guix build-system julia) + #:use-module (gnu packages tls)) (define-public julia-compat (package @@ -101,3 +102,49 @@ function takes in either an @code{Array{UInt8}}, a @code{ByteString} or an (description "@code{BinaryProvider.jl} simplifies the installation of binaries required by julia packages.") (license license:expat))) + +(define-public julia-mbedtls + (package + (name "julia-mbedtls") + (version "0.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaLang/MbedTLS.jl") + (commit (string-append "v" version)))) + (file-name "MbedTLS") + (sha256 + (base32 "1a8snw9gi21lm6r3kh6ly7ngi99s9k5shqkfiizj3g9li20q23h2")))) + (propagated-inputs + `(("julia-binaryprovider" ,julia-binaryprovider) + ("mbedtls-apache" ,mbedtls-apache))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'precompile 'build-deps + (lambda* (#:key outputs source inputs #:allow-other-keys) + (let ((f (open-file + (string-append + (assoc-ref outputs "out") + "/share/julia/packages/" + (string-append + (strip-store-file-name source) "/deps/deps.jl")) + "w"))) + (display (string-append "const libmbedcrypto = \"" + (assoc-ref inputs "mbedtls-apache") + "/lib/libmbedcrypto.so\"\n") f) + (display (string-append "const libmbedtls = \"" + (assoc-ref inputs "mbedtls-apache") + "/lib/libmbedtls.so\"\n") f) + (display (string-append "const libmbedx509 = \"" + (assoc-ref inputs "mbedtls-apache") + "/lib/libmbedx509.so\"\n") f) + (close-port f)) + #t))))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaLang/MbedTLS.jl") + (synopsis "Apache's mbed TLS library wrapper") + (description "@code{MbedTLS.jl} provides a wrapper around the mbed TLS and +cryptography C libary for Julia.") + (license license:expat))) -- 2.24.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0011-gnu-Add-julia-http.patch >From 488857fdd17d1cb8d479dd18b367b33cb449cd22 Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 14:11:45 +0100 Subject: [PATCH 11/11] gnu: Add julia-http. * gnu/packages/julia-xyz.scm (julia-http): New variable. --- gnu/packages/julia-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 3e9f532697..ff1bb483f9 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -148,3 +148,27 @@ binaries required by julia packages.") (description "@code{MbedTLS.jl} provides a wrapper around the mbed TLS and cryptography C libary for Julia.") (license license:expat))) + +(define-public julia-http + (package + (name "julia-http") + (version "0.8.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaWeb/HTTP.jl") + (commit (string-append "v" version)))) + (file-name "HTTP") + (sha256 + (base32 "0928fvncfp07i5hvqxjyj8i27xmxxllas1m5idqq2i8h7jshzq3y")))) + (propagated-inputs + `(("julia-inifile" ,julia-inifile) + ("julia-mbedtls" ,julia-mbedtls) + ("julia-compat" ,julia-compat))) + (build-system julia-build-system) + (home-page "https://juliaweb.github.io/HTTP.jl/") + (synopsis "HTTP support for Julia") + (description "@code{HTTP.jl} is a Julia library for HTTP Messages, +implementing both a client and a server.") + (license license:expat))) -- 2.24.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 20 13:50:10 2020 Received: (at 38546) by debbugs.gnu.org; 20 Jan 2020 18:50:10 +0000 Received: from localhost ([127.0.0.1]:46044 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itc7i-0006Vz-LG for submit@debbugs.gnu.org; Mon, 20 Jan 2020 13:50:10 -0500 Received: from mail-qv1-f51.google.com ([209.85.219.51]:39113) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itc7d-0006VO-So for 38546@debbugs.gnu.org; Mon, 20 Jan 2020 13:50:05 -0500 Received: by mail-qv1-f51.google.com with SMTP id y8so258410qvk.6 for <38546@debbugs.gnu.org>; Mon, 20 Jan 2020 10:50:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=+pKvQIOButJo3yMYdpr+k99PkYKeukgUlVGI+kHA7gU=; b=XehUXOPjsL0RwvQSmnnnc1YmdhM/Zg+UDg/7rYB6BYU/+/GEIPlrUkJyukQLQr+Uh8 UbhINctn5SkBhKtN5ZNAfemMMhLqNUhRsA6b+MZ5avNP++RQswbA1QeNtZ9aKc4oFwWA g+XZYNC6wogIjBXMkz8OYpCxBxo5228vwsJNnrc57MK3a0U39W4Sd5EQwGPs/c7WzeKT NQgJTxKYlzpELtCz/0iK5w/KDC4T2upq/MrKM0Kx1xee0UHlB8AdAdXV8v4ohTsD7ZWw 7iuTxLxSDWlf8jX9mGKjBsbOoN9NGbC1XVlZbQMZAuinMJfC8s3hFMvNvXjeKW6gEWYf Vn8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=+pKvQIOButJo3yMYdpr+k99PkYKeukgUlVGI+kHA7gU=; b=T165HNIq6jfINMdyIeLysOXjOugxfrqM/P/RbEyXWMronL+9V9x31hJLfMIkJPWzR1 HvFqnIkFzHT6hXS5Oh6iCs7hC0usuJWmX3OW4Val88g0eDhmEbXDqGOovHyDbGqt7y6m W79jfb/HetU/Y4cWttpS0aRCjNZffAda7jSPYv18Gm4y8z467qNaEfBFBtk6kVguqRHt p7oc7F97AgYOHd18A8KylRnLt5q43Qs6UEnx1UMnFwsRm7x9LcOFZM1zP+qa8YeRr0D8 dgPiUR8Xx7B2iwG3WB0VAxUzY9Lj+bO+FT+V9eL5zE4Mgm3tRCn5CqbtHZDs/RyF9xKr h6nQ== X-Gm-Message-State: APjAAAVZWe03UdBa65L+0jX/kakOL20KqeYxyWyTtwVz4ecuBRs3uVB0 t+Y9Sa7Jdc1DkzDN97fm4nHrQ0yvftiqOwM85yw= X-Google-Smtp-Source: APXvYqz/CRUn9N93bKQV3AFkMMyd8aye260JqC33Bj2eRkatVpJ8J2hY1tgvdA40fKOgkKhn48b3FXwiKaK27Lvi6Vo= X-Received: by 2002:a05:6214:3a1:: with SMTP id m1mr1063824qvy.77.1579546196375; Mon, 20 Jan 2020 10:49:56 -0800 (PST) MIME-Version: 1.0 References: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87wo9ouaq5.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> In-Reply-To: <87wo9ouaq5.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> From: zimoun Date: Mon, 20 Jan 2020 19:49:45 +0100 Message-ID: Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl To: =?UTF-8?Q?Nicol=C3=B2_Balzarotti?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: =?UTF-8?Q?Ludovic_Court=C3=A8s?= , 38546@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Nicol=C3=B2, Thank you for working on this. Julia rocks! ;-) However, I am lost with your patch set. I have tried only the first patch you attached. I hit this error: --8<---------------cut here---------------start------------->8--- error: dsfmt: unbound variable --8<---------------cut here---------------end--------------->8--- So something is missing. :-) Then I notice that you change the list of 'patches' and you "forgot" to send them too. :-) Almost related, does this update fix the reproducibility bug [1]? For examp= le, --8<---------------cut here---------------start------------->8--- ./pre-inst-env guix build julia ./pre-inst-env guix build julia --check --no-grafts -K --8<---------------cut here---------------end--------------->8--- [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D22304 All the best, simon From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 21 08:45:49 2020 Received: (at 38546) by debbugs.gnu.org; 21 Jan 2020 13:45:49 +0000 Received: from localhost ([127.0.0.1]:46625 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ittqd-00007v-Gd for submit@debbugs.gnu.org; Tue, 21 Jan 2020 08:45:49 -0500 Received: from mail-wm1-f42.google.com ([209.85.128.42]:51197) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ittqT-0008KR-QX for 38546@debbugs.gnu.org; Tue, 21 Jan 2020 08:45:38 -0500 Received: by mail-wm1-f42.google.com with SMTP id a5so3026242wmb.0 for <38546@debbugs.gnu.org>; Tue, 21 Jan 2020 05:45:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version; bh=d8kcpDpD3Y3T8CG5PiGasloqS2xL1IuVNgTGtcgq/GU=; b=vKkQA8XIRptzjOX9Y0ahKXyxjLB05ODtvTAfS97PITrN9Xwt9axxXkMQPNURrJMzo6 2PrKjS/Fc4o6iiT0rr5SjVN6YWwos3UajBAEtHXVwHtjv2nC0BndjKGEmOwi4yhD1IXJ P1CrYfg/2KOQHaNqqJOEachzM6sXp2+c4qnhNSefjCN9Ab5IpKGf+gtpNGN7VL99ohFc pXbeaNZY11yzftlxGmM6ImYQwoWtFlH+iHGpsT16Vk7PFqvSFWdSsDsNlvWF5/XYpPz8 hIH0wltpfUITI8wDW19eU/nr+gmVEPBU8CiOtgz6IhYpXNG2kZyrJchC81bxMGf/XCs1 FB2g== 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:in-reply-to:references:date :message-id:mime-version; bh=d8kcpDpD3Y3T8CG5PiGasloqS2xL1IuVNgTGtcgq/GU=; b=pomHLwfCUhUroxtrFMieAJcm6UfJIDQJ0CpepVsBx1QoEmau4DYQJ8CJCrFPf9dtbU mkd4WBO8pJ/GPZXD9TEKhwHU4bTO6DEmdpnZj+ovZ/E4BaUtrMPFAcisIcn78RmgL7/d CQVM6kDtnOiy8AGF+bdjzTlMxeD6cDEDSh2RWsqkzNpUz8sJ4v0msQbXXhZuGtDYccTC bULYku5Iw5f+3p3q9huJ7gcdtF4Y1DPIdMPh2nBhfEhTnvTY0iCbAIfg01vl1VEvVZ1c gujrnzyivNV1XZiVS1N7JBsCXW/7jjFmPaXnSgKTWUwU6sSittuvjCwpCwUXu3VqB7nl PqOg== X-Gm-Message-State: APjAAAX+3W4Io1w+1t4a1R+NCdW7xgrrZK2IHsLHKwbRAZ3hXytus4yt wfrPv7g2ftLouD2HImHnUQcPXc2V2bU= X-Google-Smtp-Source: APXvYqwVnfNmBF62+Z3k0hvaI9oV2s0gNrVk0QTXBmENEEoO3rv+zUffgNhW+StV3GKsk9ZTRN57oA== X-Received: by 2002:a1c:6605:: with SMTP id a5mr4274492wmc.112.1579614323527; Tue, 21 Jan 2020 05:45:23 -0800 (PST) Received: from guixSD ([192.167.192.190]) by smtp.gmail.com with ESMTPSA id 60sm53474838wrn.86.2020.01.21.05.45.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 05:45:22 -0800 (PST) From: =?utf-8?Q?Nicol=C3=B2?= Balzarotti To: zimoun Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl In-Reply-To: References: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87wo9ouaq5.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> Date: Tue, 21 Jan 2020 14:45:20 +0100 Message-ID: <87d0bcly8f.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi Simon, Sorry, I forgot to send the dsfmt patch. Also, julia's SOURCE_DATE_EPOCH patch was named differently. I've fixed this in theattached patches. You need to apply Add-dsfmt.patch, Update-to-1.3.1 and the [...] Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: tamu.edu] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.42 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 1.9 PDS_OTHER_BAD_TLD Untrustworthy TLDs [URI: nixo.xyz (xyz)] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record X-Debbugs-Envelope-To: 38546 Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= , 38546@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.9 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Simon, Sorry, I forgot to send the dsfmt patch. Also, julia's SOURCE_DATE_EPOCH patch was named differently. I've fixed this in theattach= ed patches. You need to apply Add-dsfmt.patch, Update-to-1.3.1 and then julia-use-SOURCE_DATE_EPOCH. About reproducibility: if I'm not wrong, sys.so contains Base library precompiled ([1]). Precompilation is still non deterministic (here's [2] an issue on github). Something I did to check precompilation: Since I'm tired of this, I've started investigating better. Loaded a guix container #+begin_src bash mkdir -p /tmp/jlprecompiled/ ./pre-inst-env guix environment -u nixbld --no-cwd --container --network --= expose=3D$(realpath determinism) --share=3D/tmp/jlprecompiled/ --ad-hoc jul= ia coreutils nss-certs curl tar gzip libfaketime #+end_src from this container, run some time this: #+begin_src bash export SSL_CERT_DIR=3D"$GUIX_ENVIRONMENT/etc/ssl/certs" export SSL_CERT_FILE=3D"$SSL_CERT_DIR/ca-certificates.crt" export GIT_SSL_CAINFO=3D"$SSL_CERT_FILE" SOURCE_DATE_EPOCH=3D1 julia --startup-file=3Dno -q -e 'using Pkg; Pkg.insta= ntiate()' SOURCE_DATE_EPOCH=3D1 faketime '2008-12-24 08:15:42' julia --startup-file= =3Dno -q -e 'using Random; using Pkg; Pkg.add("Compat"); Random.seed!(0); u= sing Compat' cp -r ~/.julia/compiled/v1.3/Compat/ /tmp/jlprecompiled/$RANDOM sha256sum ~/.julia/compiled/v1.3/Compat/* # 6c10d65f6cd9cdd5b98e4d5e2b82b7bd00508f0daccef0967dec92cb6468052e /home/n= ixbld/.julia/compiled/v1.3/Compat/GSFWK_Pua4I.ji ls -lah ~/.julia/compiled/v1.3/Compat/* # -rw------- 1 nixbld users 102K Jan 21 07:39 /home/nixbld/.julia/compiled/= v1.3/Compat/GSFWK_Pua4I.ji #+end_src I could not get the same results twice (also, size differs). I'll work on this on some spare time (for example, there are other places where SOURCE_DATE_EPOCH can be used, but this [3] is a problem I need to solve first). Maybe 1.3.1 (when reviewed) can be merged, since we have the same problem with julia 1.1, but we can wait for the source-date-epoch and julia-xyz patches until we solve this. What do you think? Thanks, Nicol=C3=B2 [1] https://docs.julialang.org/en/v1/devdocs/sysimg/ [2] https://github.com/JuliaLang/julia/issues/25900 [3] https://github.com/JuliaLang/julia/issues/34115 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-gnu-Add-dsfmt.patch >From 337ddd64ce4f3a00f33a90496822500dc6df2010 Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 28 Dec 2019 00:10:48 +0100 Subject: [PATCH] gnu: Add dsfmt. * gnu/packages/maths.scm (dsfmt): New variable. --- gnu/packages/maths.scm | 63 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 8364d528fd..1d35d880bd 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -372,6 +372,69 @@ semiconductors.") (license license:gpl3+) (home-page "https://www.gnu.org/software/dionysus/"))) +(define-public dsfmt + (package + (name "dsfmt") + (version "2.2.3") + (source (origin + (method url-fetch) + (uri + (string-append + "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-" + version ".tar.gz")) + (sha256 + (base32 + "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42")) + ;; julia needs those (and is the only program depending on dsfmt now) + (patches + (list + (origin (method url-fetch) + (uri + "https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/patches/dSFMT.c.patch") + (sha256 (base32 "09mhv11bms8jsmkmdqvlcgljwhzw3b6n9nncpi2b6dla9798hw2y")) + (file-name "dSFMT.c.patch")) + (origin (method url-fetch) + (uri + "https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/patches/dSFMT.h.patch") + (sha256 (base32 "1py5rd0yxic335lzka23f6x2dhncrpizpyrk57gi2f28c0p98y5n")) + (file-name "dSFMT.h.patch")))))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) ;no configure script + (replace 'build + ;; upstream Makefile does not build a shared library + (lambda _ + (invoke + "gcc" + ;; flags copied from julia + ;; https://github.com/JuliaLang/julia/blob/v1.3.0/deps/dsfmt.mk + "-DNDEBUG" "-DDSFMT_MEXP=19937" + "-fPIC" "-DDSFMT_DO_NOT_USE_OLD_NAMES" + "-O3" "-finline-functions" "-fomit-frame-pointer" + "-fno-strict-aliasing" "--param" "max-inline-insns-single=1800" + "-Wmissing-prototypes" "-Wall" "-std=c99" "-shared" "dSFMT.c" + "-o" "libdSFMT.so"))) + (replace 'install ;no "install" target + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") + "/lib")) + (inc (string-append (assoc-ref outputs "out") + "/include"))) + (install-file "libdSFMT.so" lib) + (install-file "dSFMT.h" inc) + #t)))))) + (synopsis "Double precision SIMD-oriented Fast Mersenne Twister") + (description "Speed up Fast Mersenne Twister generation by avoiding the +expensive conversion of integer to double (floating point). dSFMT directly +generates double precision floating point pseudorandom numbers which have the +IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std 754-1985) +format. dSFMT is only available on the CPUs which use IEEE 754 format double +precision floating point numbers.") + (home-page "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/") + (license license:bsd-3))) + (define-public gsl (package (name "gsl") -- 2.25.0 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-gnu-julia-Update-to-1.3.1.patch Content-Transfer-Encoding: quoted-printable >From ae58a1dd7b24989e281b07d9a90e1bb6de5199e2 Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 15:14:32 +0100 Subject: [PATCH] gnu: julia: Update to 1.3.1. * gnu/packages/julia.scm (julia): Update to 1.3.1. --- gnu/packages/julia.scm | 281 +++++++++++++++++------------------------ 1 file changed, 115 insertions(+), 166 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 65a5e42beb..3455dc6239 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright =C2=A9 2015, 2016, 2017 Ricardo Wurmus ;;; Copyright =C2=A9 2016 Efraim Flashner +;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) #:use-module (gnu packages elf) #:use-module (gnu packages gcc) #:use-module (gnu packages llvm) @@ -43,18 +45,30 @@ #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages ssh) #:use-module (gnu packages wget) #:use-module (ice-9 match)) =20 +(define (julia-patch-url version name) + (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" ver= sion + "/deps/patches/" name ".patch")) + +(define (julia-patch name sha) + (let ((version "1.3.1")) + (origin (method url-fetch) + (uri (julia-patch-url version name)) + (sha256 (base32 sha)) + (file-name name)))) + (define libuv-julia - (let ((commit "26dbe5672c33fc885462c509fe2a9b36f35866fd") - (revision "6")) + (let ((commit "35b1504507a7a4168caae3d78db54d1121b121e1")) ;; When upgrading Julia, also upgrade this. - ;; Get the commit from https://github.com/JuliaLang/julia/blob/v1.1.1/= deps/libuv.version + ;; Get the commit from + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/deps/libuv.version (package (inherit libuv) (name "libuv-julia") - (version (string-append "1.9.0-" revision "." (string-take commit 8)= )) + (version (string-append "2.0.0" "." (string-take commit 8))) (source (origin (method git-fetch) (uri (git-reference @@ -63,7 +77,7 @@ (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "17pn2xmqaramilx897s9grs966i5246gi6sric5alch4g9j4685n"))= )) + "0dn3v6fdp1z382pqg3nhjzk60l61ky9b65mfgaj29fv2da95rwjs"))= )) (build-system gnu-build-system) (arguments (substitute-keyword-arguments (package-arguments libuv) @@ -72,16 +86,27 @@ (delete 'autogen))))) (home-page "https://github.com/JuliaLang/libuv")))) =20 -(define (llvm-patch-url version name) - (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" ver= sion - "/deps/patches/" name)) - -(define (llvm-patch name sha) - (let ((version "1.1.1")) - (origin (method url-fetch) - (uri (llvm-patch-url version name)) - (sha256 (base32 sha)) - (file-name name)))) +(define libunwind-julia + ;; julia requires a patched version + (package + (inherit libunwind) + (name "libunwind-julia") + (version "1.3.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/libunwind/libunwind-" + version ".tar.gz")) + (sha256 + (base32 + "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3")) + (patches + (list + (julia-patch "libunwind-prefer-extbl" + "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hh= xfgnh2m1") + (julia-patch "libunwind-static-arm" + "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic87= 0zh3lhgq"))))) + (build-system gnu-build-system) + (home-page "https://github.com/JuliaLang/libuv"))) =20 (define llvm-julia (package @@ -99,39 +124,39 @@ ;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi= ?bug=3D919628 (patches (list - (llvm-patch "llvm-6.0-D44650.patch" + (julia-patch "llvm-6.0-D44650" "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") - (llvm-patch "llvm-6.0-DISABLE_ABI_CHECKS.patch" + (julia-patch "llvm-6.0-DISABLE_ABI_CHECKS" "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") - (llvm-patch "llvm-6.0-NVPTX-addrspaces.patch" + (julia-patch "llvm-6.0-NVPTX-addrspaces" "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") - (llvm-patch "llvm-6.0.0_D27296-libssp.patch" + (julia-patch "llvm-6.0.0_D27296-libssp" "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") - (llvm-patch "llvm-D27629-AArch64-large_model_6.0.1.patch" + (julia-patch "llvm-D27629-AArch64-large_model_6.0.1" "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") - (llvm-patch "llvm-D34078-vectorize-fdiv.patch" + (julia-patch "llvm-D34078-vectorize-fdiv" "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") - (llvm-patch "llvm-D42262-jumpthreading-not-i1.patch" + (julia-patch "llvm-D42262-jumpthreading-not-i1" "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") - (llvm-patch "llvm-D44892-Perf-integration.patch" + (julia-patch "llvm-D44892-Perf-integration" "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") - (llvm-patch "llvm-D46460.patch" + (julia-patch "llvm-D46460" "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") - (llvm-patch "llvm-D49832-SCEVPred.patch" + (julia-patch "llvm-D49832-SCEVPred" "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") - (llvm-patch "llvm-D50010-VNCoercion-ni.patch" + (julia-patch "llvm-D50010-VNCoercion-ni" "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") - (llvm-patch "llvm-D50167-scev-umin.patch" + (julia-patch "llvm-D50167-scev-umin" "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") - (llvm-patch "llvm-OProfile-line-num.patch" + (julia-patch "llvm-OProfile-line-num" "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") - (llvm-patch "llvm-PPC-addrspaces.patch" + (julia-patch "llvm-PPC-addrspaces" "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") - (llvm-patch "llvm-rL323946-LSRTy.patch" + (julia-patch "llvm-rL323946-LSRTy" "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") - (llvm-patch "llvm-rL326967-aligned-load.patch" + (julia-patch "llvm-rL326967-aligned-load" "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") - (llvm-patch "llvm-rL327898.patch" + (julia-patch "llvm-rL327898" "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))) (arguments (substitute-keyword-arguments (package-arguments llvm-6) @@ -158,7 +183,7 @@ (define-public julia (package (name "julia") - (version "1.1.1") + (version "1.3.1") (source (origin (method url-fetch) (uri (string-append @@ -166,7 +191,7 @@ version "/julia-" version ".tar.gz")) (sha256 (base32 - "0hk983mywimclgnjc41zmlppm5kfdz2aj85ky07p49ilcqxi998f")))) + "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -188,30 +213,24 @@ (add-after 'unpack 'prepare-deps (lambda* (#:key inputs #:allow-other-keys) (mkdir "deps/srccache") - (copy-file (assoc-ref inputs "dsfmt") - "deps/srccache/dsfmt-2.2.3.tar.gz") + ;; no USE_SYSTEM_{OBJCONV/LIBWHICH} (copy-file (assoc-ref inputs "objconv") "deps/srccache/objconv.zip") - (copy-file (assoc-ref inputs "suitesparse") - "deps/srccache/SuiteSparse-4.4.5.tar.gz") - (copy-file (string-append (assoc-ref inputs "virtualenv") - "/bin/virtualenv") - "julia-env") (copy-file (assoc-ref inputs "libwhich") (string-append "deps/srccache/libwhich-" "81e9723c0273d78493dc8c8ed570f68d9c= e7e89e" ".tar.gz")) - (copy-file (assoc-ref inputs "rmath") - "deps/srccache/Rmath-julia-0.1.tar.gz") - ;; needed by libwhich (setenv "LD_LIBRARY_PATH" (string-join (map (lambda (pkg) (string-append (assoc-ref inputs = pkg) "/lib")) - '("arpack-ng" "fftw" "gmp" "lapack" - "libgit2" "mpfr" "openblas" "openlibm" - "openspecfun" "pcre2")) + '("arpack-ng" "curl" "dsfmt" + "gmp" "lapack" + "libssh2" "libgit2" + "mbedtls" "mpfr" + "openblas" "openlibm" "pcre2" + "suitesparse")) ":")) #t)) ;; FIXME: Building the documentation requires Julia packages that @@ -233,44 +252,12 @@ ;; using the output of "/sbin/ldconfig -p". Since ldconfig is n= ot ;; used in Guix, we patch runtime_ccall.cpp to contain a static = map. (lambda* (#:key inputs #:allow-other-keys) - (use-modules (ice-9 match)) - (substitute* "src/runtime_ccall.cpp" - ;; Patch out invocations of '/sbin/ldconfig' to avoid getting - ;; error messages about missing '/sbin/ldconfig' on Guix Sys= tem. - (("popen\\(.*ldconfig.*\\);") - "NULL;\n") - - ;; Populate 'sonameMap'. - (("jl_read_sonames.*;") - (string-join - (map (match-lambda - ((input libname soname) - (string-append - "sonameMap[\"" libname "\"] =3D " - "\"" (assoc-ref inputs input) "/lib/" soname "\";= "))) - '(("libc" "libc" "libc.so.6") - ("pcre2" "libpcre2-8" "libpcre2-8.so") - ("mpfr" "libmpfr" "libmpfr.so") - ("openblas" "libblas" "libopenblas.so") - ("arpack-ng" "libarpack" "libarpack.so") - ("lapack" "liblapack" "liblapack.so") - ("libgit2" "libgit2" "libgit2.so") - ("gmp" "libgmp" "libgmp.so") - ("openspecfun" "libopenspecfun" "libopenspecfun.so") - ("fftw" "libfftw3" "libfftw3_threads.s= o") - ("fftwf" "libfftw3f" "libfftw3f_threads.= so")))))) (substitute* "base/math.jl" (("const libm =3D Base.libm_name") (string-append "const libm =3D \"" (assoc-ref inputs "openlibm") "/lib/libopenlibm.so" - "\"")) - (("const openspecfun =3D \"libopenspecfun\"") - (string-append "const openspecfun =3D \"" - (assoc-ref inputs "openspecfun") - "/lib/libopenspecfun.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 @@ -278,10 +265,10 @@ ;; collection of build targets and a list of libraries to link ;; against. (substitute* "src/flisp/Makefile" - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\): \\$\\(OBJS\\) \\$\\(L= IBFILES_release\\)") - "$(BUILDDIR)/$(EXENAME): $(OBJS) $(LLT_release)") - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug: \\$\\(DOBJS\\) = \\$\\(LIBFILES_debug\\)") - "$(BUILDDIR)/$(EXENAME)-debug: $(DOBJS) $(LLT_debug)")) + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)\\$\\(EXE\\): \\$\\(OB= JS\\) \\$\\(LIBFILES_release\\)") + "$(BUILDDIR)/$(EXENAME)$(EXE): $(OBJS) $(LLT_release)") + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug$(EXE): \\$\\(DO= BJS\\) \\$\\(LIBFILES_debug\\)") + "$(BUILDDIR)/$(EXENAME)-debug\\$\\(EXE\\): $(DOBJS) $(LLT_= debug)")) =20 ;; The REPL must be linked with libuv. (substitute* "ui/Makefile" @@ -296,43 +283,34 @@ "/include/uv/errno.h"))) #t)) (add-before 'build 'replace-default-shell - (lambda _ - (substitute* "base/client.jl" - (("/bin/sh") (which "sh"))) - #t)) - (add-after 'unpack 'hardcode-paths (lambda _ - (substitute* "stdlib/InteractiveUtils/src/InteractiveUtils.jl" - (("`which") (string-append "`" (which "which"))) - (("`wget") (string-append "`" (which "wget")))) + (substitute* "base/client.jl" + (("/bin/sh") (which "sh"))) #t)) - (add-before 'check 'disable-broken-tests + (add-before 'check 'fix-broken-tests (lambda _ - (define (touch file-name) - (call-with-output-file file-name (const #t))) - ;; FIXME: All git tests works except this one. But *THIS* "fix" - ;; is not working, so right now I'm disabling all libgit2.jl = tests - ;; (substitute* "stdlib/LibGit2/test/libgit2.jl" - ;; (("!LibGit2.use_http_path(cfg, github_cred)") "true") - ;; (("LibGit2.use_http_path(cfg, mygit_cred)") "true")) - (map (lambda (test) - (delete-file test) - (touch test)) - '("stdlib/Sockets/test/runtests.jl" - "stdlib/Distributed/test/runtests.jl" - ;; FIXME: see above - "stdlib/LibGit2/test/libgit2.jl")) - (substitute* "test/choosetests.jl" - ;; These tests fail, probably because some of the input - ;; binaries have been stripped and thus backtraces don't look - ;; as expected. - (("\"backtrace\",") "") - (("\"cmdlineargs\",") "")) + (substitute* "test/choosetests.jl" + (("tests =3D testnames") + ;; Those failings are not deterministic. They depends on = the + ;; running order. I think it depends on the number of + ;; runners, disabling it for now + ;; https://github.com/JuliaLang/julia/issues/34330 + "tests =3D filter(e->!in(e,[\"backtrace\",\"exceptions\",\= "client\", + \"stacktraces\",\"stress\",\"pre= compile\"]), + testnames)")) + ;; 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 + (substitute* "test/cmdlineargs.jl" + (("\"JULIA_PROJECT\"") "\"HOME\"=3D>\"/tmp\", \"JULIA_PROJE= CT\"")) + ;; Marking the test as broken as it's a known bug: + ;; https://github.com/JuliaLang/julia/issues/32377 + (substitute* "stdlib/REPL/test/replcompletions.jl" + (("@test count") "@test_broken count")) #t))) #:make-flags (list (string-append "prefix=3D" (assoc-ref %outputs "out")) - (string-append "PREFIX=3D" (assoc-ref %outputs "out")) =20 ;; Passing the MARCH flag is necessary to build binary substitutes= for ;; the supported architectures. @@ -345,26 +323,21 @@ ;; platforms, e.g. when running "guix package --search=3D" (_ "MARCH=3DUNSUPPORTED")) =20 - "CONFIG_SHELL=3Dbash" ;needed to build bundled libraries - "USE_SYSTEM_DSFMT=3D0" ;not packaged for Guix and upstream has = no - ;build system for a shared library. + "CONFIG_SHELL=3Dbash" ;needed to build bundled librari= es + ;; list of "USE_SYSTEM_*" is here: + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/Make.inc + "USE_SYSTEM_DSFMT=3D1" + "USE_SYSTEM_P7ZIP=3D1" "USE_SYSTEM_LAPACK=3D1" "USE_SYSTEM_BLAS=3D1" "USE_BLAS64=3D0" ;needed when USE_SYSTEM_BLAS=3D1 "LIBBLAS=3D-lopenblas" "LIBBLASNAME=3Dlibopenblas" =20 - "USE_SYSTEM_FFTW=3D1" - "LIBFFTWNAME=3Dlibfftw3" - "LIBFFTWFNAME=3Dlibfftw3f" - - ;; TODO: Suitesparse does not install shared libraries, so we cann= ot - ;; use the suitesparse package. - ;; "USE_SYSTEM_SUITESPARSE=3D1" - ;; (string-append "SUITESPARSE_INC=3D-I " - ;; (assoc-ref %build-inputs "suitesparse") - ;; "/include") - + "USE_SYSTEM_SUITESPARSE=3D1" + (string-append "SUITESPARSE_INC=3D-I " + (assoc-ref %build-inputs "suitesparse") + "/include") "USE_GPL_LIBS=3D1" ;proudly "USE_SYSTEM_UTF8PROC=3D1" (string-append "UTF8PROC_INC=3D" @@ -385,16 +358,19 @@ "USE_SYSTEM_PATCHELF=3D1" "USE_SYSTEM_PCRE=3D1" "USE_SYSTEM_OPENLIBM=3D1" - + "USE_SYSTEM_LIBM=3D0" + "USE_SYSTEM_LIBSSH2=3D1" + "USE_SYSTEM_CURL=3D1" "USE_SYSTEM_GMP=3D1" "USE_SYSTEM_MPFR=3D1" + "USE_SYSTEM_MBEDTLS=3D1" "USE_SYSTEM_ARPACK=3D1" "USE_SYSTEM_LIBGIT2=3D1" - "USE_SYSTEM_ZLIB=3D1" - "USE_SYSTEM_OPENSPECFUN=3D1"))) + "USE_SYSTEM_ZLIB=3D1"))) (inputs `(("llvm" ,llvm-julia) =20 + ("p7zip" ,p7zip) ;; The bundled version is 3.3.0 so stick to that version. With oth= er ;; versions, we get test failures in 'linalg/arnoldi' as described = in ;; . @@ -403,12 +379,12 @@ ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like ("lapack" ,lapack) ("openblas" ,openblas) ;Julia does not build with Atlas - ("libunwind" ,libunwind) + ("libunwind" ,libunwind-julia) ("openlibm" ,openlibm) - ("openspecfun" ,openspecfun) + ("mbedtls" ,mbedtls-apache) + ("curl" ,curl) ("libgit2" ,libgit2) - ("fftw" ,fftw) - ("fftwf" ,fftwf) + ("libssh2" ,libssh2) ("fortran" ,gfortran) ("libuv" ,libuv-julia) ("pcre2" ,pcre2) @@ -418,31 +394,12 @@ ("which" ,which) ("zlib" ,zlib) ("gmp" ,gmp) - ("virtualenv" ,python2-virtualenv) + ("suitesparse" ,suitesparse) ;; FIXME: The following inputs are downloaded from upstream to allo= w us ;; to use the lightweight Julia release tarball. Ideally, these in= puts ;; would eventually be replaced with proper Guix packages. - - ;; TODO: run "make -f contrib/repackage_system_suitesparse4.make" t= o copy static lib - ;; Find dependency versions here: - ;; https://raw.githubusercontent.com/JuliaLang/julia/77a2c1e245c858= 12dc1c7687540beedecc52758f/deps/Versions.make - ("rmath" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaLang/Rmath-julia") - (commit "v0.1"))) - (file-name "rmath-julia-0.1-checkout") - (sha256 - (base32 - "1zkpy0cg5zivq40zbhbdgj9128fqzs2j94wkwih8nc6xaj3gp9p6")))) - ("suitesparse" - ,(origin - (method url-fetch) - (uri "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse= -4.4.5.tar.gz") - (sha256 - (base32 - "1jcbxb8jx5wlcixzf6n5dca2rcfx6mlcms1k2rl5gp67ay3bix43")))) + ;; Find dependencies versions here: + ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Ve= rsions.make ("objconv" ,(origin (method url-fetch) @@ -467,15 +424,7 @@ (sha256 (base32 "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) - ("dsfmt" - ,(origin - (method url-fetch) - (uri (string-append - "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/" - "SFMT/dSFMT-src-2.2.3.tar.gz")) - (sha256 - (base32 - "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42")))))) + ("dsfmt" ,dsfmt))) (native-inputs `(("openssl" ,openssl) ("perl" ,perl) --=20 2.25.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-gnu-julia-use-SOURCE_DATE_EPOCH-for-precompilation-t.patch >From f33153f5f185562d01cfbfbfed43732483132f84 Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 18 Jan 2020 13:58:37 +0100 Subject: [PATCH] gnu: julia: use SOURCE_DATE_EPOCH for precompilation timestamp * gnu/packages/patches/julia-fake-mtime-with-SOURCE_DATE_EPOCH.patch: new file --- gnu/local.mk | 1 + gnu/packages/julia.scm | 4 ++- .../julia-SOURCE_DATE_EPOCH-mtime.patch | 29 +++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch diff --git a/gnu/local.mk b/gnu/local.mk index 00ff3b8d61..fe8634b44d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1010,6 +1010,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-xerces-bootclasspath.patch \ %D%/packages/patches/java-xerces-build_dont_unzip.patch \ %D%/packages/patches/java-xerces-xjavac_taskdef.patch \ + %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/kdbusaddons-kinit-file-name.patch \ %D%/packages/patches/libvirt-create-machine-cgroup.patch \ diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 3455dc6239..794980c12f 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -191,7 +191,9 @@ version "/julia-" version ".tar.gz")) (sha256 (base32 - "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")))) + "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")) + (patches + (search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch")))) (build-system gnu-build-system) (arguments `(#:test-target "test" diff --git a/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch new file mode 100644 index 0000000000..467e6d68d1 --- /dev/null +++ b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch @@ -0,0 +1,29 @@ +From e4dc28db1d70819505fd1a68fd9d2bfc4fb61a7d Mon Sep 17 00:00:00 2001 +From: nixo +Date: Fri, 17 Jan 2020 11:28:30 +0100 +Subject: [PATCH] base: loading: support fake mtime with SOURCE_DATE_EPCOCH + +Do this when loading libraries +--- + base/loading.jl | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/base/loading.jl b/base/loading.jl +index 7f11a2d4fc..1b4686d1dc 100644 +--- a/base/loading.jl ++++ b/base/loading.jl +@@ -807,7 +807,10 @@ function _include_dependency(mod::Module, _path::AbstractString) + path = normpath(joinpath(dirname(prev), _path)) + end + if _track_dependencies[] +- push!(_require_dependencies, (mod, path, mtime(path))) ++ push!(_require_dependencies, ++ (mod, path, ++ haskey(ENV, "SOURCE_DATE_EPOCH") ? ++ parse(Float64, ENV["SOURCE_DATE_EPOCH"]) : mtime(path))) + end + return path, prev + end +-- +2.24.1 + -- 2.25.0 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable zimoun writes: > Hi Nicol=C3=B2, > > Thank you for working on this. > Julia rocks! ;-) > > > However, I am lost with your patch set. > > I have tried only the first patch you attached. I hit this error: > > --8<---------------cut here---------------start------------->8--- > error: dsfmt: unbound variable > --8<---------------cut here---------------end--------------->8--- > > So something is missing. :-) > > Then I notice that you change the list of 'patches' and you "forgot" > to send them too. :-) > > > Almost related, does this update fix the reproducibility bug [1]? For exa= mple, > > --8<---------------cut here---------------start------------->8--- > ./pre-inst-env guix build julia > ./pre-inst-env guix build julia --check --no-grafts -K > --8<---------------cut here---------------end--------------->8--- > > > [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D22304 > > > All the best, > simon --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 22 04:22:34 2020 Received: (at 38546) by debbugs.gnu.org; 22 Jan 2020 09:22:34 +0000 Received: from localhost ([127.0.0.1]:48995 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iuCDa-0001SU-90 for submit@debbugs.gnu.org; Wed, 22 Jan 2020 04:22:34 -0500 Received: from mail-qk1-f177.google.com ([209.85.222.177]:40309) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iuCDX-0001SG-Nw for 38546@debbugs.gnu.org; Wed, 22 Jan 2020 04:22:32 -0500 Received: by mail-qk1-f177.google.com with SMTP id c17so5710098qkg.7 for <38546@debbugs.gnu.org>; Wed, 22 Jan 2020 01:22:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=U3SmDU0rUZPgGHXQuwyxw52agOXwdXfmZDbzWXfwSF8=; b=p17QjnX9KHGdy4SA1IRjHycW6charSaF8eyy5P5Yang1RnfCdXgZG6ZSal9CbaqtKq lJ2+fKMjJvFHDcEvwrRMvyStWjM/FeFnAnEoeomW+jvHvz8jYhHZtFU+JAn4LLK4F+Dy 2Os+hsC6WT716msn0SF4YA4lrX89HmNVrz/iRgq0Upq1Ws/qPCNGqkMF50huqe4Qv6wV XDzh/jBd3GZYyN44ySzao0f8s67mHPURdH+SpBKvyPXahzXSqHHHvcotQyLjcVTLlnQ9 uy8NgpgKLHOYFRPdzCY9QORA9UdJr+nx/mxAEWHtI4sHUeBd8Q9weJspUF2KyN/iTbkQ 8Lug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=U3SmDU0rUZPgGHXQuwyxw52agOXwdXfmZDbzWXfwSF8=; b=fTRB2uRIWiWXKX2IE6hqCvbtHWoWGxIwbfHX2W4DbQdnM11nSJ9ZeehtHpaW/OcdSx jZd+h5gOTEgh0PDUY88RgztsYeuY+CBH1IKgHjiry7O5DbUnilAW0K7GlAuycQiRQZNX AX1RMwAmts6mUinSR3bnyU3zy4fE/JHGs4xKm2CSRleVzEqxEvcd/zv2MRdmenp4p2lY pxCWZWTnzZUCu6u8RvFc8+bHTyUrJtA6EHc0Oi9OUU5OGovGPG3mbim57zDZDZQsyCr4 89I3DfhL89aAsf7LFEPogK9PSNCh1ypFNnAacv1uA+koG5oO6GeOzolPkTvAkvpfUnTi hLEg== X-Gm-Message-State: APjAAAVfvstqR/Y+z5dXSFR8t2USUZIuAIxdxV/6B9C9V67xNhIl8DT6 /zmo2nEMstEWJNx5+dCz131ocAXq19v0ONAfxwo= X-Google-Smtp-Source: APXvYqyexuK7/WtjN+LA3FDbwzr9tysLIh+rWhkqG70QnedKG7oAYVgHFV7vNLMfE7g6J11Hx9Wa9pH8kib71MkJe64= X-Received: by 2002:a37:a451:: with SMTP id n78mr8198390qke.304.1579684946222; Wed, 22 Jan 2020 01:22:26 -0800 (PST) MIME-Version: 1.0 References: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87wo9ouaq5.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87d0bcly8f.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> In-Reply-To: <87d0bcly8f.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> From: zimoun Date: Wed, 22 Jan 2020 10:22:14 +0100 Message-ID: Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl To: =?UTF-8?Q?Nicol=C3=B2_Balzarotti?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: =?UTF-8?Q?Ludovic_Court=C3=A8s?= , 38546@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Nicol=C3=B2, Cool that you figured out a source of non-reproducibility. On Tue, 21 Jan 2020 at 14:45, Nicol=C3=B2 Balzarotti = wrote: > Sorry, I forgot to send the dsfmt patch. Also, julia's > SOURCE_DATE_EPOCH patch was named differently. I've fixed this in theatta= ched patches. You need to apply Add-dsfmt.patch, Update-to-1.3.1 > and then julia-use-SOURCE_DATE_EPOCH. This patch 'julia-SOURCE_DATE_EPOCH-mtime.patch' is the one you mentioned here [#], right? Could you send it as an upstream PR? [#] https://github.com/JuliaLang/julia/issues/34115#issuecomment-568171025 > About reproducibility: if I'm not wrong, sys.so contains Base library > precompiled ([1]). Precompilation is still non deterministic (here's > [2] an issue on github). Something I did to check precompilation: I am not sure to well understand the source of non-determinism. Does the patch about SOURCE_DATE_EPOCH fix the issue of [1] and [2]? Or is it something else? > I could not get the same results twice (also, size differs). I'll work > on this on some spare time (for example, there are other places where > SOURCE_DATE_EPOCH can be used, but this [3] is a problem I need to > solve first). Is the problem [3] not solved by 'julia-SOURCE_DATE_EPOCH-mtime.patch'? > Maybe 1.3.1 (when reviewed) can be merged, since we have > the same problem with julia 1.1, but we can wait for the > source-date-epoch and julia-xyz patches until we solve this. My opinion is: if a patch is floating around to fix the source-date-epoch issue, let try to push it upstream. If it is rejected, let talk later if Guix will include it or not. And in the meantime, I will try to review the 1.3.1 because yes I agree that it should be included even if we know it is not reproducible -- the package Guitarix [@] is updated and not reproducible neither. [@] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D21803 Thank you for working on this. All the best, simon > [1] https://docs.julialang.org/en/v1/devdocs/sysimg/ > [2] https://github.com/JuliaLang/julia/issues/25900 > [3] https://github.com/JuliaLang/julia/issues/34115 From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 22 05:00:01 2020 Received: (at 38546) by debbugs.gnu.org; 22 Jan 2020 10:00:01 +0000 Received: from localhost ([127.0.0.1]:49029 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iuCno-0002Kq-O4 for submit@debbugs.gnu.org; Wed, 22 Jan 2020 05:00:01 -0500 Received: from mail-wr1-f44.google.com ([209.85.221.44]:46844) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iuCnl-0002Kb-Vb for 38546@debbugs.gnu.org; Wed, 22 Jan 2020 04:59:58 -0500 Received: by mail-wr1-f44.google.com with SMTP id z7so6485998wrl.13 for <38546@debbugs.gnu.org>; Wed, 22 Jan 2020 01:59:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-transfer-encoding; bh=lY1KYV15J57A8lLX/oOG4h9HBYxTkjr5rUHnSMqYLwk=; b=iW3SmouXhXpwIOy75RNp/ozgAcdvPFmtzm4TVpjptSOiY/qGhC6hWUUuHo19lPrDlH kDgdet1EItnBLAbjIdeQ3QjOs2C7YDRvvrZYKlIHY76A86yTyqdzx7T9Vj/cY43MY2h7 W3YTzsAJJGPQJJak1lbt0+Aq6sUcC9SEp4e9rTLuj1+Ihsyo9V+3A9B3WrDr4PJs5QW8 RH0AvQqASTvR29Rg1hqqsAWAv5J+irk2BcR71NbZ+rQBmN3vlfsqZdtI5vW/Xr/72vc7 /4N7Yja8t5jUBq7JAlOGSseQJSP0wAPCtntOn/X+z3VLRyDo7qAHm+Bd8ilSLhN5YZVK 3WAg== 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:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=lY1KYV15J57A8lLX/oOG4h9HBYxTkjr5rUHnSMqYLwk=; b=WgTFDdn66rBEZZsWs3Zz53zdwDOB+ak08ld8AJaNCgC9V3pHynrJe2blwTWcnGNKNG DEMtTyiWM6N8o1bSxV7kjCe5quvNSHM7P6OERdSnIHyY/ywWod1e10ArfBwslEMzV+Ln dudEqpxAioOxEocx6WltY0xqxGB5U8xT7ueyipN5/IS6iQxmq40xeS4EwRddW/yjumpj t6oBiIDTLWygPdYmmNouLWrYgLJMuZsZrv/Ntnf9eJfRbMGO8aA4a1PaJYEPHi7bjGbO jgX/Fy8GH5rJ1Al1+vcMaKczk55xUhfzNXcS2j8SopszEByUGZgQMmmjiso1H6jQSlZ7 O9Og== X-Gm-Message-State: APjAAAWIMHP/GkMAsraB8qlvJeKQ5S7BChRcCf5OPSbvpAsYBxYKIm2T ja1ISewIhPlIoFiHl2j1mOQarwxLg1Oxpg== X-Google-Smtp-Source: APXvYqzmW9Bs18SonGYHn+bRNtJ6D7tDabjT4WNBMBjd0BoE5PbtJyHzIWNwaSWJFMi467rHEVA19Q== X-Received: by 2002:a5d:4692:: with SMTP id u18mr10332627wrq.206.1579687191500; Wed, 22 Jan 2020 01:59:51 -0800 (PST) Received: from guixSD (host215-142-dynamic.16-79-r.retail.telecomitalia.it. [79.16.142.215]) by smtp.gmail.com with ESMTPSA id e18sm56811371wrr.95.2020.01.22.01.59.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Jan 2020 01:59:50 -0800 (PST) From: =?utf-8?Q?Nicol=C3=B2?= Balzarotti To: zimoun Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl In-Reply-To: References: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87wo9ouaq5.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87d0bcly8f.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> Date: Wed, 22 Jan 2020 10:59:49 +0100 Message-ID: <877e1jdd62.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= , 38546@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Simon, zimoun writes: > Hi Nicol=C3=B2, > > Cool that you figured out a source of non-reproducibility. > > > On Tue, 21 Jan 2020 at 14:45, Nicol=C3=B2 Balzarotti wrote: > >> Sorry, I forgot to send the dsfmt patch. Also, julia's >> SOURCE_DATE_EPOCH patch was named differently. I've fixed this in theatt= ached patches. You need to apply Add-dsfmt.patch, Update-to-1.3.1 >> and then julia-use-SOURCE_DATE_EPOCH. > > This patch 'julia-SOURCE_DATE_EPOCH-mtime.patch' is the one you > mentioned here [#], right? > > Could you send it as an upstream PR? > > [#] https://github.com/JuliaLang/julia/issues/34115#issuecomment-568171025 > > >> About reproducibility: if I'm not wrong, sys.so contains Base library >> precompiled ([1]). Precompilation is still non deterministic (here's >> [2] an issue on github). Something I did to check precompilation: > > I am not sure to well understand the source of non-determinism. > > Does the patch about SOURCE_DATE_EPOCH fix the issue of [1] and [2]? > Or is it something else? > The first patch (the one I mention in [#]) fixes _one source of_ non-determinism (the stored mtime inside the precompile cache). But others are present (precompiling the same file 2 times lead to differences even in file size, something I reported on [2]). What I'm working on is trying to find out what other sources are and patch them, too. I patched some c code (src/support/timefuncs.c) so that it follows SOURCE_DATE_EPOCH too. This finally lead to same-size files. I'm now working on parsing binary (.ji) files directly with julia built in function to have a textual representation of the differences. I can't send SOURCE_DATE_EPOCH patches upstream until [3] is merged, as patching timefuncts leads to an endless test suite (as they were using time() to check for passed time. If time() always returns 1, tests sleeps forever). Yesterday evening I completed that patch (and has been approved). My plans are on finding the hopefully last source of non-determinism, patch it and send everything upstream (hoping they care). > >> I could not get the same results twice (also, size differs). I'll work >> on this on some spare time (for example, there are other places where >> SOURCE_DATE_EPOCH can be used, but this [3] is a problem I need to >> solve first). > > Is the problem [3] not solved by 'julia-SOURCE_DATE_EPOCH-mtime.patch'? > > > >> Maybe 1.3.1 (when reviewed) can be merged, since we have >> the same problem with julia 1.1, but we can wait for the >> source-date-epoch and julia-xyz patches until we solve this. > > My opinion is: if a patch is floating around to fix the > source-date-epoch issue, let try to push it upstream. If it is > rejected, let talk later if Guix will include it or not. And in the > meantime, I will try to review the 1.3.1 because yes I agree that it > should be included even if we know it is not reproducible -- the > package Guitarix [@] is updated and not reproducible neither. > Thanks! I hope in a 1.4 release where everything is fixed ;) Nicol=C3=B2 > [@] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D21803 > > > Thank you for working on this. > > > All the best, > simon > > >> [1] https://docs.julialang.org/en/v1/devdocs/sysimg/ >> [2] https://github.com/JuliaLang/julia/issues/25900 >> [3] https://github.com/JuliaLang/julia/issues/34115 From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 24 12:27:18 2020 Received: (at 38546) by debbugs.gnu.org; 24 Jan 2020 17:27:18 +0000 Received: from localhost ([127.0.0.1]:54715 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iv2jl-0004Wm-KW for submit@debbugs.gnu.org; Fri, 24 Jan 2020 12:27:18 -0500 Received: from mail-qk1-f180.google.com ([209.85.222.180]:37496) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iv2jh-0004WR-WC for 38546@debbugs.gnu.org; Fri, 24 Jan 2020 12:27:15 -0500 Received: by mail-qk1-f180.google.com with SMTP id 21so2807938qky.4 for <38546@debbugs.gnu.org>; Fri, 24 Jan 2020 09:27:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=Og3gX0e1y2GxSuzOWZU5nxXq+/y2M4mnID6thQMq6sM=; b=RTcMot8ptoPF3k2nYBEA70SzxJBSSSl395XSsDEVr+Wum99q7D507JARtYb8usNFSn kBG2R1KpqolN6gbA839I46NkRJNnhlI193vcXbxvwRuIDXluDvEGXlnlyJplqrbcJNsV MHcufoYHIxQcLBvX0Kb3Fb2kBNqtHAvq35pGgwsgOyd8yk6mkozASmL11SQFqy6d077F 9PSzy8Awgkfqae6iUA4J/sJJOCA1InsJjCB59mWC7kb7dtTuayhSDLaf4N5rleHBnDek KemTFyhkhpM0l3pqjsxNj+YcjtNPtVPdXxQHGFQsg6dA9UPpNWye/hTTFvZriWAfbGTG dqsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=Og3gX0e1y2GxSuzOWZU5nxXq+/y2M4mnID6thQMq6sM=; b=Y3dGc3mktyy7etOAAbz3DBPOtLgtbrItLMrH4DhnN63goPWABkPSlSM985+pxW1KxT mYUqJQDTNyvhJhG2e1wCcfc1Mx4cf6luGhfBSa7/CUUjiiOGE+mCyAKlGjqB1GHmiayN 3Wyb3TGEIvrO3OFMjc2DoO9CPwzZUdv/wwkkaXpK2nmaFN5H0SZJeTAyZtZpgBuo6quM QwqUgjGZLyrlYgjkANxf68b5C9Mp46Pbwm5jI3JQAVV51iRxOSA4EJvW7gYxfvtIbR0P WqxGmLvy0bLtumUFM4gvj9HDO8PBHlUBzQWsH2r6mxi65JglqEZ2/EGLdZX2FWt40cct 73Cw== X-Gm-Message-State: APjAAAUkFkjn4m9p8nd++5nfrIOeBq86Tc3WOhRfXFgW9DbUG8kpEI8V wY70EfW2eRoGKfZi0VJ1JiqIjpz41gGJlHS1dNs= X-Google-Smtp-Source: APXvYqwSW4rbx3HASvJxazn6vGOiMLVf1NHb0PpWfxJNRjPQOGYLQB0lOOSh7NT8Gb8liGtSp/9XqVxZukrWSu+34Bo= X-Received: by 2002:a37:710:: with SMTP id 16mr1495843qkh.304.1579886828436; Fri, 24 Jan 2020 09:27:08 -0800 (PST) MIME-Version: 1.0 References: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87wo9ouaq5.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87d0bcly8f.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <877e1jdd62.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> In-Reply-To: <877e1jdd62.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> From: zimoun Date: Fri, 24 Jan 2020 18:26:57 +0100 Message-ID: Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl To: =?UTF-8?Q?Nicol=C3=B2_Balzarotti?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: =?UTF-8?Q?Ludovic_Court=C3=A8s?= , 38546@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Nicol=C3=B2, On Wed, 22 Jan 2020 at 10:59, Nicol=C3=B2 Balzarotti = wrote: > The first patch (the one I mention in [#]) fixes _one source of_ > non-determinism (the stored mtime inside the precompile cache). But > others are present (precompiling the same file 2 times lead to > differences even in file size, something I reported on [2]). What I'm > working on is trying to find out what other sources are and patch them, > too. I patched some c code (src/support/timefuncs.c) so that it follows > SOURCE_DATE_EPOCH too. This finally lead to same-size files. I'm now > working on parsing binary (.ji) files directly with julia built in > function to have a textual representation of the differences. Thank you for the explanations. Cool! > I can't send SOURCE_DATE_EPOCH patches upstream until [3] is merged, as > patching timefuncts leads to an endless test suite (as they were using > time() to check for passed time. If time() always returns 1, tests > sleeps forever). Yesterday evening I completed that patch (and has been > approved). My plans are on finding the hopefully last source of > non-determinism, patch it and send everything upstream (hoping they > care). Awesome if upstream are responsive. > Thanks! I hope in a 1.4 release where everything is fixed ;) I have seen that 1.4-rc1 is just released. Hope that everything about reproducibility will be fixed. ;-) I have not yet tried your patches. Sorry bit busy at work. And I will not have any slot next week, so I will be back on the topic after the Guix Days. Except if someone beats me. :-) (see you there :-) Thank you for improving the Julia ecosystem in Guix because Julia is becoming quite popular. Cheers, simon From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 04 13:03:45 2020 Received: (at 38546) by debbugs.gnu.org; 4 Feb 2020 18:03:45 +0000 Received: from localhost ([127.0.0.1]:44749 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iz2Y5-0006C7-FB for submit@debbugs.gnu.org; Tue, 04 Feb 2020 13:03:45 -0500 Received: from mail-qv1-f41.google.com ([209.85.219.41]:38769) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iz2Y4-0006Bu-09 for 38546@debbugs.gnu.org; Tue, 04 Feb 2020 13:03:44 -0500 Received: by mail-qv1-f41.google.com with SMTP id g6so8996813qvy.5 for <38546@debbugs.gnu.org>; Tue, 04 Feb 2020 10:03:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=2qHUCe/LUaSXTeHazLo1HMuViyqkowq82E/17VJVDgU=; b=NEzg2BPQUGbHuwRKr6cWBvbGamyeDvrsSJ9FeGTsPxKI94Pjeb3IAZIDfE+K1l2j1D FEx9cOhLRfy4VHNh/mVJVicAAVgUJhir25oGIkm1IkOKvgEIIhxVAILQo+P2auLD4HC5 JTYdUQm2vXUujH4+lxVt09hUp6gA6FJKhlOUuHZXmS2bhaZjQinkAG58KfVUXCvWHaYS hs5lNP6CdRUjuLyn3m2bITPs0kHRUWM6rOk/Hg0pwJuG4r/ivTh8as2X+5xKm9NQLBA2 Df0s5pJgKjR4VL38VZV1Sg6RwiAb8CDdDydWkqoInOvESRp/HgK7TpWAi1bqEuMc93Ml 5aLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=2qHUCe/LUaSXTeHazLo1HMuViyqkowq82E/17VJVDgU=; b=nsTF7GoNg25krA+quryOn8PScltQT8Jp1lQ2dXdBQhECFF51JQVJcB0TqjQ6QnMK1Y WI+1v/LrBBubASma8Kv1XG0cT1HtnPl2LEDMHhVwH8ysA5Adl74bYh2RNKLMe3MnvOgL nxSoGhCrpUIJjHkTgfO5NSS74NDty2rJxwDmVRLk+9QE2Prq6KP055/g4g54qpZceU58 xaYl7XzRtCeL9A7wA61baNvTO88sfdzfKhBWxYVxJQhYrJjA05wan6QlrjJXW/VMnxrp txsBO/x9nKzFBnImBqktVIreWtUdfTPSBEaZSKJ5u108vKxRNrC5XGs3N8HoYOSpDbem T70Q== X-Gm-Message-State: APjAAAUWQyZb3czW/+v9POYnJKzA0rB9O8yHm74URhkwHwqQwBX65swA 4Ft6vB4k6zr3HWGKCcRe07zjXu6Nw2w66u0T+98= X-Google-Smtp-Source: APXvYqyxHfrk3+l2ZRdoABUBRr1T60JwfXjQYJifsU/4lLv3oaBynuaK+0dAEgVhogVSAhaUQPMF/Y47sdtK40y24+8= X-Received: by 2002:a0c:f703:: with SMTP id w3mr28708690qvn.6.1580839418291; Tue, 04 Feb 2020 10:03:38 -0800 (PST) MIME-Version: 1.0 References: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87wo9ouaq5.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87d0bcly8f.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <877e1jdd62.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> In-Reply-To: From: zimoun Date: Tue, 4 Feb 2020 19:03:27 +0100 Message-ID: Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl To: =?UTF-8?Q?Nicol=C3=B2_Balzarotti?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: =?UTF-8?Q?Ludovic_Court=C3=A8s?= , 38546@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Nicol=C3=B3, On Fri, 24 Jan 2020 at 18:26, zimoun wrote: > I have not yet tried your patches. Sorry bit busy at work. > And I will not have any slot next week, so I will be back on the topic > after the Guix Days. Except if someone beats me. :-) > (see you there :-) I have tried them. Ouch! The tests eat so much... Do you have a special motivation to rename 'llvm-patch' to 'julia-patch'? (I agree, it is better :-)) Well, only 2 inputs are missing. Do you think it is affordable to pack them and so remove the commentary? --8<---------------cut here---------------start------------->8--- ;; FIXME: The following inputs are downloaded from upstream to allow us ;; to use the lightweight Julia release tarball. Ideally, these inputs ;; would eventually be replaced with proper Guix packages. ;; Find dependencies versions here: ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Versions.m= ake --8<---------------cut here---------------end--------------->8--- Otherwise, there is some issues about indentation -- I think you use Emacs, so check that '.dir-locals.el' is correctly setup -- double space for sentences in description, 'patch/julia-SOURCE_DATE_EPOCH-mtime.patch' should be added with the same commit that "Update", etc. I have half-corrected so I can send you these 2 v2-patches if you want to. = :-) And I have not tried yet to build with '--check'. All the best, simon From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 07 07:06:21 2020 Received: (at 38546) by debbugs.gnu.org; 7 Feb 2020 12:06:21 +0000 Received: from localhost ([127.0.0.1]:48948 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j02Or-0006zK-9H for submit@debbugs.gnu.org; Fri, 07 Feb 2020 07:06:21 -0500 Received: from mail-qv1-f41.google.com ([209.85.219.41]:45953) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j02Oo-0006z0-Ha for 38546@debbugs.gnu.org; Fri, 07 Feb 2020 07:06:19 -0500 Received: by mail-qv1-f41.google.com with SMTP id l14so786727qvu.12 for <38546@debbugs.gnu.org>; Fri, 07 Feb 2020 04:06:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=96t60Xmt1c+v62L4851CRWXuuRNW9mSd9IVCFZdaAJ4=; b=qirItC3bmC5wKFLQGUZSymbBvhtFq/GcuLzK+bV677Ebpv0QE1gsR0x0u8v1Iw7DW4 ImuImkoz5KJHEdXa0dkSiye4AE4+/2gK+G/spjxp1S9tEhLuU6JaaRU40Dh/lxYcwTPs ipe7H60SyGN7kH27sf6VolbIfM8+snVG8GELGCvLY2yvg8iIxXDCOQgAlKRL5cBekCJq lJnSP73x69CcfynAgQ730Rr5THE4Ud5+aJWbYLrHidq+MuAL07r04vftsTuMavYprDCn dr6n19wz8XnZWLa/AmPYkueY1eIzFIpi9bukjzBpEwcXuquAuGqbrDUT6JFfhi29fE/8 AmFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=96t60Xmt1c+v62L4851CRWXuuRNW9mSd9IVCFZdaAJ4=; b=ES4yquTidt2tpokrlsDJ8gZ5p9KYrOz1AuugWg2tEalmjEQrrYS1vR5CAO1Ia28GqY xrU5koohjXeqF8uLe9MpAqxdAAOg9OpnZBe+XG32tM2lW+K0UnL3VaG7OUEpwMhvdGHw Oll4wkK8i4QWDGIJhy8AQYvVMRe8Jb04m4vsN0w/ft9L2fBueOzN+zhiBiBhFjfTn61c pubCLjuo0W78zNNMwWxL5y6ad+yYUc+A68Oer5WOLuCIFBAuAYp8/pxmOvjhZXoFWm46 lzcZVlvAgg9SCfp0U/+lcIjOqY8EzjxC9jNMswVP7aPDQzUrHqnt1EQrpjpKLFScdUxc fIvg== X-Gm-Message-State: APjAAAXKC7nVrR7wRQYJQsQUzt+p8gyQtfKd8BL8t/VDjnXpSllorli+ RQcreA3DNZu4eqqbgFiegt6f1WAyzKwWta9vQ1U= X-Google-Smtp-Source: APXvYqyULCfAuy3D99EV5m3Z8MNEFwKrPCc1wSmBKCofVvDTG9tbLQjTwBAl4cgOryDAl7tgA/oAJh+f6lEwBQhpaHg= X-Received: by 2002:a0c:f98e:: with SMTP id t14mr6384643qvn.74.1581077172996; Fri, 07 Feb 2020 04:06:12 -0800 (PST) MIME-Version: 1.0 References: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87wo9ouaq5.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87d0bcly8f.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <877e1jdd62.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> In-Reply-To: From: zimoun Date: Fri, 7 Feb 2020 13:06:01 +0100 Message-ID: Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl To: =?UTF-8?Q?Nicol=C3=B2_Balzarotti?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: =?UTF-8?Q?Ludovic_Court=C3=A8s?= , 38546@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Nicol=C3=B3, On Tue, 4 Feb 2020 at 19:03, zimoun wrote: > I have tried them. Ouch! The tests eat so much... The tests fail on my desktop machine with 8GB of RAM. --8<---------------cut here---------------start------------->8--- running testset Distributed... ERROR: LoadError: TaskFailedException: Timed out waiting to read host:port string from worker. Stacktrace: [1] worker_from_id(::Distributed.ProcessGroup, ::Int64) at /tmp/guix-build-julia-1.3.1.drv-0/julia-1.3.1/usr/share/julia/stdlib/v1.3/D= istributed/src/cluster.jl:1059 [2] worker_from_id at /tmp/guix-build-julia-1.3.1.drv-0/julia-1.3.1/usr/share/julia/stdlib/v1.3/D= istributed/src/cluster.jl:1056 [inlined] [3] #remote_do#156 at /tmp/guix-build-julia-1.3.1.drv-0/julia-1.3.1/usr/share/julia/stdlib/v1.3/D= istributed/src/remotecall.jl:482 [inlined] [4] remote_do at /tmp/guix-build-julia-1.3.1.drv-0/julia-1.3.1/usr/share/julia/stdlib/v1.3/D= istributed/src/remotecall.jl:482 [inlined] [5] kill at /tmp/guix-build-julia-1.3.1.drv-0/julia-1.3.1/usr/share/julia/= stdlib/v1.3/Distributed/src/managers.jl:534 [inlined] [6] create_worker(::Distributed.LocalManager, ::WorkerConfig) at /tmp/guix-build-julia-1.3.1.drv-0/julia-1.3.1/usr/share/julia/stdlib/v1.3/D= istributed/src/cluster.jl:581 [7] setup_launched_worker(::Distributed.LocalManager, ::WorkerConfig, ::Array{Int64,1}) at /tmp/guix-build-julia-1.3.1.drv-0/julia-1.3.1/usr/share/julia/stdlib/v1.3/D= istributed/src/cluster.jl:523 [8] (::Distributed.var"#43#46"{Distributed.LocalManager,Array{Int64,1},Wor= kerConfig})() at ./task.jl:333 [...more failed...] --8<---------------cut here---------------end--------------->8--- Do they pass on your machine? > And I have not tried yet to build with '--check'. Still not reproducible as expected [1]. :-) [1] http://issues.guix.gnu.org/issue/22304 Cheers, simon ps: I think you are busy by your thesis. Cross the fingers. ;-) From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 11 09:51:24 2020 Received: (at 38546) by debbugs.gnu.org; 11 Feb 2020 14:51:24 +0000 Received: from localhost ([127.0.0.1]:56117 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j1Wsl-0001pt-Qh for submit@debbugs.gnu.org; Tue, 11 Feb 2020 09:51:24 -0500 Received: from mail-qk1-f181.google.com ([209.85.222.181]:46735) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j1Wsk-0001pg-8Q for 38546@debbugs.gnu.org; Tue, 11 Feb 2020 09:51:22 -0500 Received: by mail-qk1-f181.google.com with SMTP id g195so10268699qke.13 for <38546@debbugs.gnu.org>; Tue, 11 Feb 2020 06:51:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=9m5yu1gS0XwDj5rMMlk7brL8t4GXK9u81YpaOwM9S8Y=; b=Ex64PUsISecd3EwV17q7yTU4ohgwO7UxLVyLSIV5PoAz62U6XsqTFLa386HJqxaFbA U/xVMAgDdsZeb2xiPEik22mma8PsPTw9S09W1WiRiDq/grQ3FT36xJeapmjE4qbh/G/R 4jiLttv14T0FdhdO33JqGeToiurnYCPq6KwsLUskt33Rc5LasUmaY/WfJsu7w/lscBp0 JY6nczESRYYYkkReA7fjS3fuacBe/GJbb/o4cQU26be8pSU6+GU7/0R9zLBLu6rBWc9c HkKaMHELqfnHkgauCcSWgqhRqusJKz8Mq7+qcy1K5Fe20otv2k3JqvUfgfEQXugaHHEj aO9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=9m5yu1gS0XwDj5rMMlk7brL8t4GXK9u81YpaOwM9S8Y=; b=m05GPnMA5wu1MS0UInGT24xellG3BUUD/Hcd8BKlH/C6EcSmODnBP5xI7ZLNwAwoR/ xIwwMxHvO6s7ZwZNxGCGFm/4iOodin+lMLcFQOeoGWHfwsXQ27gBoEk8q6zdQS5cCqjM IAqrtKvuZJQuxDuctIMJ57HZdm0i6FlucY14TKXvu1Xbv266wxKgs15S0z7p2KS2hhWV JOVY0AxYi/5GeHvqxh39obKGUoX81rXPG4quxw8Sbe12N2skB+3GzpRSfTpcktfvYVp2 E2gJHx1gqPZLQ5vX2G7pPmjQtLpQNiMs1AVc3N4E3NKJ3CbyfZhbGTaWIKQlJ1XZQmEm fC7Q== X-Gm-Message-State: APjAAAW7IEBZN8j9WgsAZQhXvU66h98PWmWJIh00YwPBfwqOy6Kn6vc2 ZRuNPon0W6CPkKpKDdTvOljRYazrGQMvFLZmM5M= X-Google-Smtp-Source: APXvYqzMr+67ZSJjPq8ODTatlikiyN9yiCHjoPAbLgATK5nJmEmLGLUUIT68GJjNV2kIn4vxkhV6jnCVbHDfzCjgg7U= X-Received: by 2002:a05:620a:124f:: with SMTP id a15mr5939916qkl.201.1581432676710; Tue, 11 Feb 2020 06:51:16 -0800 (PST) MIME-Version: 1.0 References: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87wo9ouaq5.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87d0bcly8f.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <877e1jdd62.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> In-Reply-To: From: zimoun Date: Tue, 11 Feb 2020 15:51:05 +0100 Message-ID: Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl To: =?UTF-8?Q?Nicol=C3=B2_Balzarotti?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: =?UTF-8?Q?Ludovic_Court=C3=A8s?= , 38546@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Nicol=C3=B3, I have seen your message on IRC. Cool for the release 1.4. Could we try to include first this 1.3 one? Then push the 1.4 if it is already ready. Because then, this release will be usable "forever" (or almost ;-) even if it is not perfect and issues are fixed with the 1.4. I mean, once a package is inside Guix, then it becomes "easily" usable with 'guix time-machine' and saved on Software Heritage. Therefore, considering the big picture of Scientific Reproducibility, it matters -- for the future to be able to travel back -- to also have 1.3. ;-) I think we are almost done. From my point of view, we just need to address (or comment) these 3 points: 1. > Do you have a special motivation to rename 'llvm-patch' to 'julia-patch'? > (I agree, it is better :-)) 2. > Well, only 2 inputs are missing. Do you think it is affordable to pack > them and so remove the commentary? > > --8<---------------cut here---------------start------------->8--- > ;; FIXME: The following inputs are downloaded from upstream to allow us > ;; to use the lightweight Julia release tarball. Ideally, these inputs > ;; would eventually be replaced with proper Guix packages. > ;; Find dependencies versions here: > ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Versions= .make > --8<---------------cut here---------------end--------------->8--- 3. > Otherwise, there is some issues about indentation -- I think you use > Emacs, so check that '.dir-locals.el' is correctly setup -- double > space for sentences in description, > 'patch/julia-SOURCE_DATE_EPOCH-mtime.patch' should be added with the > same commit that "Update", etc. > I have half-corrected so I can send you these 2 v2-patches if you want to= . :-) What do you think? Cheers, simon From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 11 10:10:28 2020 Received: (at 38546) by debbugs.gnu.org; 11 Feb 2020 15:10:28 +0000 Received: from localhost ([127.0.0.1]:57357 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j1XBD-0002ZR-M4 for submit@debbugs.gnu.org; Tue, 11 Feb 2020 10:10:27 -0500 Received: from mail-wm1-f48.google.com ([209.85.128.48]:37547) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j1XBC-0002ZE-0w for 38546@debbugs.gnu.org; Tue, 11 Feb 2020 10:10:26 -0500 Received: by mail-wm1-f48.google.com with SMTP id a6so4001332wme.2 for <38546@debbugs.gnu.org>; Tue, 11 Feb 2020 07:10:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-transfer-encoding; bh=9ACTzDq4bGdSIw+NsLr8gCV40/wUW9hFmpGyh/yN2tg=; b=jJLnrDTEU4gVr3kTQCFidXmeFV0K/EcHVBzd12yahO8gUkw5l7AVK2pcdlLdqRH84E gVcFgqukX//TBdCZOgOCyNO3bsNM5LZfdJJ+FhfE8gpg97th1a8u2CSm+/XHUtxRw8F7 GJ/awDTb7ybAbiA89AiuirBsCySZNlKUuw/XAqBDnDEt3DdWwqSIrRYecuzgd5hEceZY RH/fwl1qIvR0ZzRZ/B+UELYnIrXVCPif2bNM7ZbNgcuMpLliC2qus66/5qOzLU9SqQPH 8sm2lt4OS3Tg8GIkqzSmW7UQ6AM3HJIk+LQrX0chItR4bMa4zUTyBDuGw4ptab9rl2NC E00Q== 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:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=9ACTzDq4bGdSIw+NsLr8gCV40/wUW9hFmpGyh/yN2tg=; b=VAC91fYVlTvM+HLb6xMbMdAVMOvPF8gSEGEOzbpzjFMO0IOaVken3mDN56fFpu8zMB 8KEw7jtP5h9xx9DHIVh/c6hosqiBkdxd1Fo9eCnf206GcUx8oyYx51ywy9ElHNpNrzH6 pTXviAuwxoMFmiJN2wR+kXjohWmyEs3ElPKXiqHKhpkRdh+tUeJ2L7/XLumcpKt9Lnxh s9Vdh++gKUIAu+4gSTSslEmM+XuBHee4jhClS9brOLHSeKBEf9ElObcf+HAMeakKnAz/ YsQ/YZNKjGVNbTQFk1bV+4nJj8HyQIJ/c+IIViXl2MxfvDZE68QgU9ypRTdETQ9LgXox MMTg== X-Gm-Message-State: APjAAAXzuREAlvG7rjI5srXGdNJMG76EkQttd0plR1AYWdivSHQUzc3p 00w7O1zQ9eS4+MECWLqafe8A9YXDrUE= X-Google-Smtp-Source: APXvYqweQNLcgsItD6wLh4QwV/ketGRGEMoruorMj5QZb5CeU4v7lNFkbiuCd4CgqGcVIstOSpxh+A== X-Received: by 2002:a05:600c:211:: with SMTP id 17mr6039836wmi.60.1581433819850; Tue, 11 Feb 2020 07:10:19 -0800 (PST) Received: from guixSD ([95.232.154.110]) by smtp.gmail.com with ESMTPSA id w19sm3956776wmc.22.2020.02.11.07.10.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Feb 2020 07:10:18 -0800 (PST) From: =?utf-8?Q?Nicol=C3=B2?= Balzarotti To: zimoun Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl In-Reply-To: References: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87wo9ouaq5.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87d0bcly8f.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <877e1jdd62.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> Date: Tue, 11 Feb 2020 16:10:17 +0100 Message-ID: <87lfp9dusm.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= , 38546@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) zimoun writes: Hi, > Hi Nicol=C3=B3, > > I have seen your message on IRC. > Cool for the release 1.4. > > > Could we try to include first this 1.3 one? Then push the 1.4 if it > is already ready. > > Because then, this release will be usable "forever" (or almost ;-) > even if it is not perfect and issues are fixed with the 1.4. > I mean, once a package is inside Guix, then it becomes "easily" usable > with 'guix time-machine' and saved on Software Heritage. > Therefore, considering the big picture of Scientific Reproducibility, > it matters -- for the future to be able to travel back -- to also have > 1.3. ;-) > Ok, let's do both > I think we are almost done. From my point of view, we just need to > address (or comment) these 3 points: > > 1. >> Do you have a special motivation to rename 'llvm-patch' to 'julia-patch'? >> (I agree, it is better :-)) > Yes, because now it's not only used by llvm-julia but also by the new libunwind-julia. So calling llvm-patch a function that takes a patch from the julia repo and that is applied to a "julia module" is measleading. > > 2. >> Well, only 2 inputs are missing. Do you think it is affordable to pack >> them and so remove the commentary? >> >> --8<---------------cut here---------------start------------->8--- >> ;; FIXME: The following inputs are downloaded from upstream to allow us >> ;; to use the lightweight Julia release tarball. Ideally, these inputs >> ;; would eventually be replaced with proper Guix packages. >> ;; Find dependencies versions here: >> ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Version= s.make >> --8<---------------cut here---------------end--------------->8--- > I indeed tried. The main problem is that in the Makefile there's no USE_SYSTEM_{OBJCONV/LIBWHICH}, and I didn't want to mess with the it. But yes, I think I could at least try again. > > 3. >> Otherwise, there is some issues about indentation -- I think you use >> Emacs, so check that '.dir-locals.el' is correctly setup -- double >> space for sentences in description, >> 'patch/julia-SOURCE_DATE_EPOCH-mtime.patch' should be added with the >> same commit that "Update", etc. >> I have half-corrected so I can send you these 2 v2-patches if you want t= o. :-) > > If you already fixed them, yes please send a v2 patch and I'll continue working from there. > > What do you think? > Fine for me, do we need also to debug a broken test right? > > Cheers, > simon Nicol=C3=B2 From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 11 10:19:53 2020 Received: (at 38546) by debbugs.gnu.org; 11 Feb 2020 15:19:53 +0000 Received: from localhost ([127.0.0.1]:57366 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j1XKL-0002nt-0f for submit@debbugs.gnu.org; Tue, 11 Feb 2020 10:19:53 -0500 Received: from mail-qk1-f176.google.com ([209.85.222.176]:33829) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j1XKH-0002nf-6j for 38546@debbugs.gnu.org; Tue, 11 Feb 2020 10:19:51 -0500 Received: by mail-qk1-f176.google.com with SMTP id c20so4403832qkm.1 for <38546@debbugs.gnu.org>; Tue, 11 Feb 2020 07:19:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=m1bnNKjoW3sfzzPq/YOOw0m/c5wYybBYhyDwDkdVpL8=; b=loFa4ShS4GImIiic8EBHXEiqHKaDnJ7q+g+IlIBn+/o+kb0zEkwMweu83Qns+nWDi2 L+b0qcUgNU0qUdP+CxLHn6QRgKZWvWO+sZ621qN03N9g83q3QK0/iB9y24jWQ+Z7rnG+ /PJJ1wdoLIUx8UpZP6xT3QITZHEXZGlQW43DBqjI43AMdisWVidnGesxgcqNCiBRkai1 6iF+ajD6MzACLGN94qKdDKwXgYvw1GSATHEKcylXmRRWNIuBZbZ8I05f+7ewVutyeSY4 ayvu/8R7h6YLngiv+QdOoXM8e0IVX3uFTujoAQ4uTIw+ZHj+b2F2xPrvtepDVkxfAwUh 1i6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=m1bnNKjoW3sfzzPq/YOOw0m/c5wYybBYhyDwDkdVpL8=; b=omKlb7z9TfFt2Ojq060ehbJbK0o85JcOzbOAtwZRtVkI+JHowY5doYD7tC/FjiXe/8 XQow2G0T/1LIxz8hgVdgwg64C3+9BpG6ud8ppa26lQ5fOQyu0H1dnvMFFSj5CYof8Y4d KZdMfjjOHT/U29jEJ8BVsLZiHxC9McgM6drq7a4w9wT8TTCfe45kFLQcexsicaBlXYsO WRQRyGpwEDk+PuKzi6GW2H/FR0j5FOl24HNYOQ1BmlrzBTcQ0Jys6P5E8sTYZ601X3MR MfleExD/6Ay43Zevg+I8OvvWoRZEPd7hiqAgkaF9893pehdZzPPk+J0iSC9Jws4vQ71Z cZhQ== X-Gm-Message-State: APjAAAXso71x7q7OmQNvcJLntuwg6I26OcpWWROs9bomF6fyKoNopzxR VJGGQuV/+Q1WP9bbkZLBXPuNrMKBOZPDs8YbrWI= X-Google-Smtp-Source: APXvYqwwUP9wZbzVPItK4ff61f7L016SVnnsufsWvNxvgnYrKUIYmmOHT/FeUTwYaaWB9SSdm1H80i/btn990NItNc8= X-Received: by 2002:a37:ac17:: with SMTP id e23mr6619717qkm.80.1581434383769; Tue, 11 Feb 2020 07:19:43 -0800 (PST) MIME-Version: 1.0 References: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87wo9ouaq5.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87d0bcly8f.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <877e1jdd62.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87lfp9dusm.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> In-Reply-To: <87lfp9dusm.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> From: zimoun Date: Tue, 11 Feb 2020 16:19:32 +0100 Message-ID: Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl To: =?UTF-8?Q?Nicol=C3=B2_Balzarotti?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: =?UTF-8?Q?Ludovic_Court=C3=A8s?= , 38546@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Tue, 11 Feb 2020 at 16:10, Nicol=C3=B2 Balzarotti = wrote: > > 1. > >> Do you have a special motivation to rename 'llvm-patch' to 'julia-patc= h'? > >> (I agree, it is better :-)) > > > Yes, because now it's not only used by llvm-julia but also by the new > libunwind-julia. So calling llvm-patch a function that takes a patch > from the julia repo and that is applied to a "julia module" is measleadin= g. Ok. > > 2. > >> Well, only 2 inputs are missing. Do you think it is affordable to pack > >> them and so remove the commentary? > >> > >> --8<---------------cut here---------------start------------->8--- > >> ;; FIXME: The following inputs are downloaded from upstream to allow u= s > >> ;; to use the lightweight Julia release tarball. Ideally, these input= s > >> ;; would eventually be replaced with proper Guix packages. > >> ;; Find dependencies versions here: > >> ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Versi= ons.make > >> --8<---------------cut here---------------end--------------->8--- > > I indeed tried. The main problem is that in the Makefile there's no > USE_SYSTEM_{OBJCONV/LIBWHICH}, and I didn't want to mess with the it. > But yes, I think I could at least try again. Let me check how it will be crawled by SWH to be sure that Guix will be able to still build Julia 1.3 even if GitHub does not exist anymore. And I am in favour to let these 2 inputs. > > 3. > >> Otherwise, there is some issues about indentation -- I think you use > >> Emacs, so check that '.dir-locals.el' is correctly setup -- double > >> space for sentences in description, > >> 'patch/julia-SOURCE_DATE_EPOCH-mtime.patch' should be added with the > >> same commit that "Update", etc. > >> I have half-corrected so I can send you these 2 v2-patches if you want= to. :-) > > > If you already fixed them, yes please send a v2 patch and I'll continue > working from there. Stay tuned. :-) I try to send it today... > Fine for me, do we need also to debug a broken test right? I do not know if the test are broken. I am not able to run them on my desktop machine. Not enough memory. Cheers, simon From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 11 10:25:03 2020 Received: (at 38546) by debbugs.gnu.org; 11 Feb 2020 15:25:03 +0000 Received: from localhost ([127.0.0.1]:57372 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j1XPK-0002wa-M4 for submit@debbugs.gnu.org; Tue, 11 Feb 2020 10:25:02 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:45086) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j1XPI-0002w0-9l for 38546@debbugs.gnu.org; Tue, 11 Feb 2020 10:25:01 -0500 Received: by mail-wr1-f65.google.com with SMTP id g3so11775831wrs.12 for <38546@debbugs.gnu.org>; Tue, 11 Feb 2020 07:25:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-transfer-encoding; bh=bQkTIijs3Nj7WrGGYpuuBi+/IYPbIGqxN6+wymw8rtY=; b=OcBkhmkhBXiXegtao0cVBcoCqAHY5L40poNQTOdlLlLzcWO+Eq9Lp0z8nRSV8YU1SL MNdGaXf2Eu1YKOTiGLOQ6txwOscH/F+khtNQK+p41qgDMjSxCKsQAr0qHgr4eJW2ATZs AiBDZpEaoqs0e+cqmuFsEaI4typ1zAQrOLBZ+Z9PCHjIW2e7q9nJ+RFLKJzKVRiC7LIf NcMD3uSuopGY1K1ftJydeF0YEKeTiNQW9FPTC+dG067vfgUgTdgATsBxT4ZUetmK+/W8 dvNPEVxSA8NVG2iZoo5Z+pY8g3Clh0nBRS1GMNXfohJTj+wFM83BFAt7vYQUStNSt2w3 c5zw== 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:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=bQkTIijs3Nj7WrGGYpuuBi+/IYPbIGqxN6+wymw8rtY=; b=DyhaMEc0CnBKlSXzMfeSPCRZttYGr7mnp8r8WVWQWtTTyCFof6Ny3fpGlZx9sOARXI N4315Ae6TU4B4RrJF4XJx7mTTbuav6ldJNUgpQInuMeNIScjPUcoKqmMg2CdmWYNPK6P WwfbvWgnW89+pUmqEObXJOSdnzdWPeVCqEZgmIWRkVPZp+OOvIgPmsiSr4w9uUAMh5i3 lPWF+AKvNb4U7BMOrwBmHswKti3+7HEzxpIYi26XC0to7tMqyZH8bZx9jbs8eE5Bncys jmgy827qs6J35gaP6BYP8+YEBD3paSSfMtc58Ql/qz59bz4mBIdo3iK87omB1TzfhxV7 Jy+Q== X-Gm-Message-State: APjAAAXdpQd8KsZ0ywsRnWlTQS7y2fXYtxDzJoZBy9YpvhL7AACMSYK0 Ft7RlgvxKHACITTTOfkzKcYQZJcTtf8= X-Google-Smtp-Source: APXvYqwUxrJjZRYPWAfKHV52E2T8TFOEE9U1WhrxPdIiB3jLE65sGmIk8yQBA5F8dnS9L3BO3uJz/w== X-Received: by 2002:adf:e906:: with SMTP id f6mr8971219wrm.258.1581434694040; Tue, 11 Feb 2020 07:24:54 -0800 (PST) Received: from guixSD ([95.232.154.110]) by smtp.gmail.com with ESMTPSA id c13sm5929935wrx.9.2020.02.11.07.24.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Feb 2020 07:24:53 -0800 (PST) From: =?utf-8?Q?Nicol=C3=B2?= Balzarotti To: zimoun Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl In-Reply-To: References: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87wo9ouaq5.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87d0bcly8f.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <877e1jdd62.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87lfp9dusm.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> Date: Tue, 11 Feb 2020 16:24:52 +0100 Message-ID: <87imkddu4b.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= , 38546@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) zimoun writes: Hi > On Tue, 11 Feb 2020 at 16:10, Nicol=C3=B2 Balzarotti wrote: > >> > 1. >> >> Do you have a special motivation to rename 'llvm-patch' to 'julia-pat= ch'? >> >> (I agree, it is better :-)) >> > >> Yes, because now it's not only used by llvm-julia but also by the new >> libunwind-julia. So calling llvm-patch a function that takes a patch >> from the julia repo and that is applied to a "julia module" is measleadi= ng. > > Ok. > > >> > 2. >> >> Well, only 2 inputs are missing. Do you think it is affordable to pack >> >> them and so remove the commentary? >> >> >> >> --8<---------------cut here---------------start------------->8--- >> >> ;; FIXME: The following inputs are downloaded from upstream to allow = us >> >> ;; to use the lightweight Julia release tarball. Ideally, these inpu= ts >> >> ;; would eventually be replaced with proper Guix packages. >> >> ;; Find dependencies versions here: >> >> ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Vers= ions.make >> >> --8<---------------cut here---------------end--------------->8--- >> >> I indeed tried. The main problem is that in the Makefile there's no >> USE_SYSTEM_{OBJCONV/LIBWHICH}, and I didn't want to mess with the it. >> But yes, I think I could at least try again. > > Let me check how it will be crawled by SWH to be sure that Guix will > be able to still build Julia 1.3 even if GitHub does not exist > anymore. > And I am in favour to let these 2 inputs. > > >> > 3. >> >> Otherwise, there is some issues about indentation -- I think you use >> >> Emacs, so check that '.dir-locals.el' is correctly setup -- double >> >> space for sentences in description, >> >> 'patch/julia-SOURCE_DATE_EPOCH-mtime.patch' should be added with the >> >> same commit that "Update", etc. >> >> I have half-corrected so I can send you these 2 v2-patches if you wan= t to. :-) >> > >> If you already fixed them, yes please send a v2 patch and I'll continue >> working from there. > > Stay tuned. :-) > I try to send it today... > Don't worry, I'm still working on my PhD thesis so my spare time until the end of the week is low :D > >> Fine for me, do we need also to debug a broken test right? > > I do not know if the test are broken. I am not able to run them on my > desktop machine. Not enough memory. > Ok, so I'll run tests a few times on my server then > > Cheers, > simon Thanks, Nicol=C3=B2 From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 11 12:42:46 2020 Received: (at control) by debbugs.gnu.org; 11 Feb 2020 17:42:46 +0000 Received: from localhost ([127.0.0.1]:57461 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j1ZYb-0006Bs-QK for submit@debbugs.gnu.org; Tue, 11 Feb 2020 12:42:46 -0500 Received: from mail-qk1-f173.google.com ([209.85.222.173]:35882) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j1ZYa-0006Bf-CS for control@debbugs.gnu.org; Tue, 11 Feb 2020 12:42:44 -0500 Received: by mail-qk1-f173.google.com with SMTP id w25so10941533qki.3 for ; Tue, 11 Feb 2020 09:42:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=zWiKP/hoqfFbY/LPWG0gMLc5JuuMIZWGIChTrelwNqs=; b=ZPosKOeAL5aX8193aFMC7+9BaQht2xhW2QT9m0mNtQkonyqElMhi5Rdk85AZugKx7Z VXVtyLI8X1XxOvCrXgcP3jZaDsutYeIUyxK7O9c/LrAIc1oStJQpDHQ0aw1bhah9jkyU wqeFLcatsFyWHgSCe9goUg9rvQL2CT4h6MyynVNB92olBUG99JsbOgSD/j0TOgH3nAMQ z4xv3H5qJZ8edpnQRcaGuBH3KfKoFbnrXcJ2IZhsfv5dclTAUbVRklYFpFx/rsir0Ye0 WYwOE8TgsuUjOSPMsKZx6HdyPNawUa8WopaEHd2fiomK3tiFw+8Ytg0UPxJTEfXjpjIY oOXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=zWiKP/hoqfFbY/LPWG0gMLc5JuuMIZWGIChTrelwNqs=; b=p1ZEhAbUnjkO6T8aINYbDzFSbmmYd1WE0jYVT0jvuRCIBxQj9CWilrBlnJ5EEaaf7z j+mL2RUjfOzUNdrZW+BK9MvbfwEiEqMGruUxFc25RnK0lmnDCgtIY5PX9cwSE4vssorH 49RJsFBLpY9DkcKsg2rKAlzzlge6tYBy+AAHwAixd+v3xhertK6f62JnzsvodscLJG3I 9GihLnIMOiBdQOT2S7b7kGWN+nDw+K1HBE5JmlV/9ddSSO5XPzcj+W2xQ3DdEpDO3ULo +X7vMl7CzDPGZXHHt8UNYb+8M4Jq2rgNn2rSsFSGw3luScGfG9nYN72U2A/XYMP9b0fO jL9g== X-Gm-Message-State: APjAAAXob8vBxIm3g0/WNCzD9Siz9l4142L7167WWmj+HJTwbnCA7ZqF PZEafW6+5IT58+WiCdHjyTdCPHf2qWFPZQiS97HmbxL6 X-Google-Smtp-Source: APXvYqxrYqfskYuY28igVDJB89cS6MMquAWcoqrCIcidsb1Ox4KSEhssN7oKb76Ac9kIVQoJgVrM4jRSHMzUBOkoJ2E= X-Received: by 2002:a05:620a:1234:: with SMTP id v20mr3404866qkj.304.1581442958674; Tue, 11 Feb 2020 09:42:38 -0800 (PST) MIME-Version: 1.0 From: zimoun Date: Tue, 11 Feb 2020 18:42:27 +0100 Message-ID: Subject: control #38546 retitle To: control@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) retitle 38546 Update Julia to 1.3.1. thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 11 12:59:24 2020 Received: (at 38546) by debbugs.gnu.org; 11 Feb 2020 17:59:24 +0000 Received: from localhost ([127.0.0.1]:57501 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j1ZoX-00009V-Bk for submit@debbugs.gnu.org; Tue, 11 Feb 2020 12:59:24 -0500 Received: from mail-qt1-f174.google.com ([209.85.160.174]:44208) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j1ZoR-00009F-W1 for 38546@debbugs.gnu.org; Tue, 11 Feb 2020 12:59:11 -0500 Received: by mail-qt1-f174.google.com with SMTP id w8so8606331qts.11 for <38546@debbugs.gnu.org>; Tue, 11 Feb 2020 09:59:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=rD3t+zVdwartwo1plXBNs2QImB8z2T+6eES043nREPo=; b=NE5QfN7x1YznvjK7I6bE7l6pX41DI9yiehDd7zHSv04pDXq/iBE3+1dUzbik3SUEX7 GGFJgAZMSmhr9gU4ws4XeSQ1l7bQiZ3GOo3TZx2lIXV4xbZovgfP+qLcG3tmMC09dadd xGceQVhQn+Mm65K1H3RLj08jNA/JfcO4FjSn9c83OdzOsxgKA4OvjQkolEGxMEvD2MNg gzsvEKpBr5mm/hrE5W4Sj7cRchXSrC/PoS8JU9hVnVI5Zkb1YUntG3r6Ju4iiIJR+2ZZ zl5Yqc1N4nQOU4GcvEQ4FgqB0TUszGcDq6a1xCtlQDrM+rbhZvEfNzRfhPOpuot/aPqe zcJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=rD3t+zVdwartwo1plXBNs2QImB8z2T+6eES043nREPo=; b=bJoUDRobg9wIHhYaluQFMMNLZWOIh2VJKdWNckGIVRjaPt43P+V6qRaPkAI9aOnDfL 1imyZwlSbE4go4vpg+Pfr4bkXc2DTwdW7Qmz6avdGYvsss4u0ZI/8ixPpQnDP8huf9vH d82tIttXuIauhCRg1tYTcKCaoAvyUGPk2tFdMHEGDhMhKvLgCDRtiqhGzLC2zZkkXHIG cP1SqbLCsnkXJnSEYTq4ni0v6xKVPOf4aaIeiNWuhP7f0RRf06FzYIdkfRMqvjkH0COv j3FN5u0avbIna/hcipQPeZl+XoYMb1cOD73uOodc3il80MtYFN3oygIQGPdBy0NeAvAv 2ssw== X-Gm-Message-State: APjAAAVgZu0pLTPboiSCdLSamdyum/hVrftLgedyWcWlLhrRY7fjWjjQ qnzwvUbr/1LDPtJS6t9Uous69v3QM0Mn4sSo09OJntsv X-Google-Smtp-Source: APXvYqzw8QzSFmW1Eo7IfrZjN2Ftz4H0kQRoLYIPV0OfV3DjDrYz/4Uf667UwV0sO1Y2Uu4H0Ex4LM5h98B0fP43SJI= X-Received: by 2002:ac8:6bc1:: with SMTP id b1mr3460518qtt.313.1581443941890; Tue, 11 Feb 2020 09:59:01 -0800 (PST) MIME-Version: 1.0 From: zimoun Date: Tue, 11 Feb 2020 18:58:50 +0100 Message-ID: Subject: [PATCH v4] Update Julia 1.3.1: almost done To: 38546@debbugs.gnu.org, =?UTF-8?Q?Nicol=C3=B2_Balzarotti?= Content-Type: multipart/mixed; boundary="00000000000063a924059e509c09" X-Spam-Score: 1.8 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi, Please find attach the almost updated julia using 2 patches. The first add a dependency and the second update and patch. I hope that I do not screw up the indentation; sometimes my Emacs does weird stuff. Anyway. Content analysis details: (1.8 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: gnu.org] 1.8 PDS_OTHER_BAD_TLD Untrustworthy TLDs [URI: nixo.xyz (xyz)] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.160.174 listed in list.dnswl.org] 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [209.85.160.174 listed in wl.mailspike.net] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (zimon.toutoune[at]gmail.com) 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.8 (/) --00000000000063a924059e509c09 Content-Type: text/plain; charset="UTF-8" Hi, Please find attach the almost updated julia using 2 patches. The first add a dependency and the second update and patch. I hope that I do not screw up the indentation; sometimes my Emacs does weird stuff. Anyway. If it is fine with you, please ping Ludo or any committer. :-) Cheers, simon --00000000000063a924059e509c09 Content-Type: text/x-patch; charset="UTF-8"; name="v4-0002-gnu-julia-Update-to-1.3.1.patch" Content-Disposition: attachment; filename="v4-0002-gnu-julia-Update-to-1.3.1.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k6i6qkoo1 RnJvbSAzM2E1NDdmODNmOWRhMmVlNWI2MjllNzEwYjMxZWE1YmUzNDkyNzc2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBuaXhvIDxuaWNvbG9Abml4by54eXo+CkRhdGU6IFRodSwgMTIg RGVjIDIwMTkgMDk6NDM6MjAgKzAxMDAKU3ViamVjdDogW1BBVENIIHY0IDIvMl0gZ251OiBqdWxp YTogVXBkYXRlIHRvIDEuMy4xLgoKKiBnbnUvcGFja2FnZXMvanVsaWEuc2NtIChqdWxpYSk6IFVw ZGF0ZSB0byAxLjMuMS4KKiBnbnUvcGFja2FnZXMvcGF0Y2hlcy9qdWxpYS1TT1VSQ0VfREFURV9F UE9DSC1tdGltZS5wYXRjaDogTmV3IGZpbGUuCiogZ251L3BhY2thZ2VzL2p1bGlhLnNjbSAobGli dXYtanVsaWEpOiBVcGRhdGUgdG8gMi4wLjAuCiogZ251L3BhY2thZ2VzL2p1bGlhLnNjbSAobGx2 bS1wYXRjaCwgbGx2bS1wYXRjaC11cmwpOiBSZW5hbWUgdG8uLi4KKGp1bGlhLXBhdGNoLCBsbHZt LXBhdGNoLXJ1bCk6IC4uLiB0aGVzZS4KLS0tCiBnbnUvbG9jYWwubWsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDEgKwogZ251L3BhY2thZ2VzL2p1bGlhLnNjbSAgICAgICAg ICAgICAgICAgICAgICAgIHwgMzIyICsrKysrKysrLS0tLS0tLS0tLQogLi4uL2p1bGlhLVNPVVJD RV9EQVRFX0VQT0NILW10aW1lLnBhdGNoICAgICAgIHwgIDIyICsrCiAzIGZpbGVzIGNoYW5nZWQs IDE2MSBpbnNlcnRpb25zKCspLCAxODQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQg Z251L3BhY2thZ2VzL3BhdGNoZXMvanVsaWEtU09VUkNFX0RBVEVfRVBPQ0gtbXRpbWUucGF0Y2gK CmRpZmYgLS1naXQgYS9nbnUvbG9jYWwubWsgYi9nbnUvbG9jYWwubWsKaW5kZXggNTk1ODlmMjky YS4uMDJlNDI4NGNjOSAxMDA2NDQKLS0tIGEvZ251L2xvY2FsLm1rCisrKyBiL2dudS9sb2NhbC5t awpAQCAtMTAzMCw2ICsxMDMwLDcgQEAgZGlzdF9wYXRjaF9EQVRBID0JCQkJCQlcCiAgICVEJS9w YWNrYWdlcy9wYXRjaGVzL2phdmEteGVyY2VzLWJvb3RjbGFzc3BhdGgucGF0Y2gJXAogICAlRCUv cGFja2FnZXMvcGF0Y2hlcy9qYXZhLXhlcmNlcy1idWlsZF9kb250X3VuemlwLnBhdGNoCVwKICAg JUQlL3BhY2thZ2VzL3BhdGNoZXMvamF2YS14ZXJjZXMteGphdmFjX3Rhc2tkZWYucGF0Y2gJXAor ICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9qdWxpYS1TT1VSQ0VfREFURV9FUE9DSC1tdGltZS5wYXRj aCAgICAgIFwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvamJpZzJkZWMtaWdub3JlLXRlc3R0ZXN0 LnBhdGNoCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2pmc3V0aWxzLWFkZC1zeXNtYWNyb3Mu cGF0Y2gJCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvamZzdXRpbHMtaW5jbHVkZS1zeXN0eXBl cy5wYXRjaAkJXApkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL2p1bGlhLnNjbSBiL2dudS9wYWNr YWdlcy9qdWxpYS5zY20KaW5kZXggNjVhNWU0MmJlYi4uMWY5MTVhZTI4YiAxMDA2NDQKLS0tIGEv Z251L3BhY2thZ2VzL2p1bGlhLnNjbQorKysgYi9nbnUvcGFja2FnZXMvanVsaWEuc2NtCkBAIC0x LDYgKzEsNyBAQAogOzs7IEdOVSBHdWl4IC0tLSBGdW5jdGlvbmFsIHBhY2thZ2UgbWFuYWdlbWVu dCBmb3IgR05VCiA7OzsgQ29weXJpZ2h0IMKpIDIwMTUsIDIwMTYsIDIwMTcgUmljYXJkbyBXdXJt dXMgPHJla2Fkb0BlbGVwaGx5Lm5ldD4KIDs7OyBDb3B5cmlnaHQgwqkgMjAxNiBFZnJhaW0gRmxh c2huZXIgPGVmcmFpbUBmbGFzaG5lci5jby5pbD4KKzs7OyBDb3B5cmlnaHQgwqkgMjAyMCBOaWNv bMOyIEJhbHphcm90dGkgPG5pY29sb0BuaXhvLnh5ej4KIDs7OwogOzs7IFRoaXMgZmlsZSBpcyBw YXJ0IG9mIEdOVSBHdWl4LgogOzs7CkBAIC0yOCw2ICsyOSw3IEBACiAgICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIGFsZ2VicmEpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGJhc2Up CiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGNvbXByZXNzaW9uKQorICAjOnVzZS1tb2R1 bGUgKGdudSBwYWNrYWdlcyBjdXJsKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBlbGYp CiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdjYykKICAgIzp1c2UtbW9kdWxlIChnbnUg cGFja2FnZXMgbGx2bSkKQEAgLTQzLDE4ICs0NSwzMCBAQAogICAjOnVzZS1tb2R1bGUgKGdudSBw YWNrYWdlcyB0ZXh0dXRpbHMpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHRscykKICAg Izp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgdmVyc2lvbi1jb250cm9sKQorICAjOnVzZS1tb2R1 bGUgKGdudSBwYWNrYWdlcyBzc2gpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHdnZXQp CiAgICM6dXNlLW1vZHVsZSAoaWNlLTkgbWF0Y2gpKQogCisoZGVmaW5lIChqdWxpYS1wYXRjaC11 cmwgdmVyc2lvbiBuYW1lKQorICAoc3RyaW5nLWFwcGVuZCAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNl cmNvbnRlbnQuY29tL0p1bGlhTGFuZy9qdWxpYS92IiB2ZXJzaW9uCisJCSAiL2RlcHMvcGF0Y2hl cy8iIG5hbWUgIi5wYXRjaCIpKQorCisoZGVmaW5lIChqdWxpYS1wYXRjaCBuYW1lIHNoYSkKKyAg KGxldCAoKHZlcnNpb24gIjEuMy4xIikpCisgICAgKG9yaWdpbgorICAgICAgKG1ldGhvZCB1cmwt ZmV0Y2gpCisgICAgICAodXJpIChqdWxpYS1wYXRjaC11cmwgdmVyc2lvbiBuYW1lKSkKKyAgICAg IChzaGEyNTYgKGJhc2UzMiBzaGEpKQorICAgICAgKGZpbGUtbmFtZSBuYW1lKSkpKQorCiAoZGVm aW5lIGxpYnV2LWp1bGlhCi0gIChsZXQgKChjb21taXQgIjI2ZGJlNTY3MmMzM2ZjODg1NDYyYzUw OWZlMmE5YjM2ZjM1ODY2ZmQiKQotICAgICAgICAocmV2aXNpb24gIjYiKSkKKyAgKGxldCAoKGNv bW1pdCAiMzViMTUwNDUwN2E3YTQxNjhjYWFlM2Q3OGRiNTRkMTEyMWIxMjFlMSIpKQogICAgIDs7 IFdoZW4gdXBncmFkaW5nIEp1bGlhLCBhbHNvIHVwZ3JhZGUgdGhpcy4KLSAgICA7OyBHZXQgdGhl IGNvbW1pdCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9KdWxpYUxhbmcvanVsaWEvYmxvYi92MS4x LjEvZGVwcy9saWJ1di52ZXJzaW9uCisgICAgOzsgR2V0IHRoZSBjb21taXQgZnJvbSBodHRwczov L2dpdGh1Yi5jb20vSnVsaWFMYW5nL2p1bGlhL2Jsb2IvdjEuMy4xL2RlcHMvbGlidXYudmVyc2lv bgogICAgIChwYWNrYWdlCiAgICAgICAoaW5oZXJpdCBsaWJ1dikKICAgICAgIChuYW1lICJsaWJ1 di1qdWxpYSIpCi0gICAgICAodmVyc2lvbiAoc3RyaW5nLWFwcGVuZCAiMS45LjAtIiByZXZpc2lv biAiLiIgKHN0cmluZy10YWtlIGNvbW1pdCA4KSkpCisgICAgICAodmVyc2lvbiAoc3RyaW5nLWFw cGVuZCAiMi4wLjAiICIuIiAoc3RyaW5nLXRha2UgY29tbWl0IDgpKSkKICAgICAgIChzb3VyY2Ug KG9yaWdpbgogICAgICAgICAgICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAgICAgICAgICAg ICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKQEAgLTYzLDcgKzc3LDcgQEAKICAgICAgICAgICAgICAg ICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi1jaGVja291dCIp KQogICAgICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgICAgKGJhc2UzMgotICAg ICAgICAgICAgICAgICAgIjE3cG4yeG1xYXJhbWlseDg5N3M5Z3JzOTY2aTUyNDZnaTZzcmljNWFs Y2g0ZzlqNDY4NW4iKSkpKQorICAgICAgICAgICAgICAgICAgIjBkbjN2NmZkcDF6MzgycHFnM25o anprNjBsNjFreTliNjVtZmdhajI5ZnYyZGE5NXJ3anMiKSkpKQogICAgICAgKGJ1aWxkLXN5c3Rl bSBnbnUtYnVpbGQtc3lzdGVtKQogICAgICAgKGFyZ3VtZW50cwogICAgICAgIChzdWJzdGl0dXRl LWtleXdvcmQtYXJndW1lbnRzIChwYWNrYWdlLWFyZ3VtZW50cyBsaWJ1dikKQEAgLTcyLDE2ICs4 NiwyNyBAQAogICAgICAgICAgICAgIChkZWxldGUgJ2F1dG9nZW4pKSkpKQogICAgICAgKGhvbWUt cGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL0p1bGlhTGFuZy9saWJ1diIpKSkpCiAKLShkZWZpbmUg KGxsdm0tcGF0Y2gtdXJsIHZlcnNpb24gbmFtZSkKLSAgKHN0cmluZy1hcHBlbmQgImh0dHBzOi8v cmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9KdWxpYUxhbmcvanVsaWEvdiIgdmVyc2lvbgotCQkg Ii9kZXBzL3BhdGNoZXMvIiBuYW1lKSkKLQotKGRlZmluZSAobGx2bS1wYXRjaCBuYW1lIHNoYSkK LSAgKGxldCAoKHZlcnNpb24gIjEuMS4xIikpCi0gICAgKG9yaWdpbiAobWV0aG9kIHVybC1mZXRj aCkKLQkgICAgKHVyaSAobGx2bS1wYXRjaC11cmwgdmVyc2lvbiBuYW1lKSkKLQkgICAgKHNoYTI1 NiAoYmFzZTMyIHNoYSkpCi0JICAgIChmaWxlLW5hbWUgbmFtZSkpKSkKKyhkZWZpbmUgbGlidW53 aW5kLWp1bGlhCisgIDs7IFRoZSBKdWxpYSBwcm9qZWN0cyByZXF1aXJlcyB0aGVpciBwYXRjaGVk IHZlcnNpb24uCisgIDs7IEdldCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9KdWxpYUxhbmcvanVs aWEvdHJlZS9tYXN0ZXIvZGVwcy9wYXRjaGVzCisgIChwYWNrYWdlCisgICAgKGluaGVyaXQgbGli dW53aW5kKQorICAgIChuYW1lICJsaWJ1bndpbmQtanVsaWEiKQorICAgICh2ZXJzaW9uICIxLjMu MSIpCisgICAgKHNvdXJjZSAob3JpZ2luCisgICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNo KQorICAgICAgICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kICJtaXJyb3I6Ly9zYXZhbm5haC9s aWJ1bndpbmQvbGlidW53aW5kLSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2 ZXJzaW9uICIudGFyLmd6IikpCisgICAgICAgICAgICAgIChzaGEyNTYKKyAgICAgICAgICAgICAg IChiYXNlMzIKKyAgICAgICAgICAgICAgICAiMXkwbDA4azZhazFtcWJmajZhY2NmOXM1Njg2a2xq d2dzbDR2Y3FweHprNW43NHdwbTZhMyIpKQorICAgICAgICAgICAgICAocGF0Y2hlcworICAgICAg ICAgICAgICAgKGxpc3QKKyAgICAgICAgICAgICAgICAoanVsaWEtcGF0Y2ggImxpYnVud2luZC1w cmVmZXItZXh0YmwiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwbHI0ZGFmdzhxeWZo OHN3OGhoYndrcWwxZGxocXY4cHg3azgxeTJsMjBoaHhmZ25oMm0xIikKKyAgICAgICAgICAgICAg ICAoanVsaWEtcGF0Y2ggImxpYnVud2luZC1zdGF0aWMtYXJtIgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiMWprM2JtaXc2MXlwY2NocWtrMWZ5ZzV3aDh3cGdnazU3NHd4eWZ5YWljODcw emgzbGhncSIpKSkpKQorICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9KdWxpYUxh bmcvdHJlZS9tYXN0ZXIvZGVwcy8iKSkpCiAKIChkZWZpbmUgbGx2bS1qdWxpYQogICAocGFja2Fn ZQpAQCAtOTgsNDEgKzEyMyw0NCBAQAogICAgICAgICAgICAgICA7OyBidXQgdGhleSBhcmUgcmVx dWlyZWQgdG8gYnVpbGQgSnVsaWEuCiAgICAgICAgICAgICAgIDs7IERpc2N1c3Npb246IGh0dHBz Oi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9OTE5NjI4CiAgICAg ICAgICAgICAgIChwYXRjaGVzCi0gICAgICAgICAgICAgICAobGlzdAotCSAgICAgICAgKGxsdm0t cGF0Y2ggImxsdm0tNi4wLUQ0NDY1MC5wYXRjaCIKLQkJCSAgICAiMTMzNnE0dnFheXI5NHdkY25s bWN4aDkwbWpkaDM0ZHp3OXgyY2JpcWpueDliMWo4Znh5YiIpCi0JICAgICAgICAobGx2bS1wYXRj aCAibGx2bS02LjAtRElTQUJMRV9BQklfQ0hFQ0tTLnBhdGNoIgotCQkJICAgICIwMTRmYXdkMWJh N3lja2FseXBmbGQyMnpnaWM4N3g5bngzY2ltNDJ6cnd5Z3l3ZDM2cHlnIikKLQkgICAgICAgIChs bHZtLXBhdGNoICJsbHZtLTYuMC1OVlBUWC1hZGRyc3BhY2VzLnBhdGNoIgotCQkJICAgICIxcWRp MnptcmpzcmowaDg0enYydnlseTJoamNuNGY2N21meTBzMXEzNTNnNHY0amtzY3FjIikKLQkgICAg ICAgIChsbHZtLXBhdGNoICJsbHZtLTYuMC4wX0QyNzI5Ni1saWJzc3AucGF0Y2giCi0JCQkgICAg IjBzNWhpMnIxajYzaThtNmlnMTM0NmNyeDJhaXY5ZjdyZ2IzbWc4MGt3MXd4NXk3cGRwZmgiKQot CSAgICAgICAgKGxsdm0tcGF0Y2ggImxsdm0tRDI3NjI5LUFBcmNoNjQtbGFyZ2VfbW9kZWxfNi4w LjEucGF0Y2giCi0JCQkgICAgIjFxcnNobWxxdm5hc2R5YzE1OHZmbjNobmJpZ3FwaDNsc3E3YWNi OXc4bHdrcG5ubTJqNHoiKQotCSAgICAgICAgKGxsdm0tcGF0Y2ggImxsdm0tRDM0MDc4LXZlY3Rv cml6ZS1mZGl2LnBhdGNoIgotCQkJICAgICIxNjk2aGc4NGEwanhjbmdndnFzYzJjZHAyNzFoZjlh NDRwNHFzZDA3OHFtMW1mYXdrYWF5IikKLQkgICAgICAgIChsbHZtLXBhdGNoICJsbHZtLUQ0MjI2 Mi1qdW1wdGhyZWFkaW5nLW5vdC1pMS5wYXRjaCIKLQkJCSAgICAiMWM4dzIxMGd3aWRibmtrdzhh bnAxN2RrNXBueHdzMmZsM21iMnF4aDd5OXd6ZnBpeGdhcSIpCi0JICAgICAgICAobGx2bS1wYXRj aCAibGx2bS1ENDQ4OTItUGVyZi1pbnRlZ3JhdGlvbi5wYXRjaCIKLQkJCSAgICAiMHIzN2pkMHNz aDJrMXBuZGtmZDVibGdwZzl6OTBpbTR2bHpwcmhiMG4wd3d6NDVnNGIwNSIpCi0JICAgICAgICAo bGx2bS1wYXRjaCAibGx2bS1ENDY0NjAucGF0Y2giCi0JCQkgICAgIjFtaXFnc3dkYzBxdmJhZjQ1 NzFjMnhreHlwOWFpczA2YjFiY3BhODNzcTIydnI0aGJzZmIiKQotCSAgICAgICAgKGxsdm0tcGF0 Y2ggImxsdm0tRDQ5ODMyLVNDRVZQcmVkLnBhdGNoIgotCQkJICAgICIwdjVjODhoZ3FqNmR5bXYz ajg2Y2E1bWhwcWFiNWZibnJ2aml3MW52bnJueWE5bDRkbGJuIikKLQkgICAgICAgIChsbHZtLXBh dGNoICJsbHZtLUQ1MDAxMC1WTkNvZXJjaW9uLW5pLnBhdGNoIgotCQkJICAgICIwaWJsYjNxMXhp eHdyYjEyanBiODloM3l3bXFtemRwNmFxcDQxNmo0bmN3YWt5amhoZmtwIikKLQkgICAgICAgIChs bHZtLXBhdGNoICJsbHZtLUQ1MDE2Ny1zY2V2LXVtaW4ucGF0Y2giCi0JCQkgICAgIjFmMnJha2Nu bnlocjd3MTBrN2dxZzBrMDQ5MXB5dng1aWpwbGl2dzU1N2Y3MTR5czNxNnYiKQotCSAgICAgICAg KGxsdm0tcGF0Y2ggImxsdm0tT1Byb2ZpbGUtbGluZS1udW0ucGF0Y2giCi0JCQkgICAgIjFqdmJi bXd5YWdzMHhmd2FtYjEzcXJmM3JnY3o5aTFyMDNtOWxhdmE3c3dhZzh4Yjc4YzciKQotCSAgICAg ICAgKGxsdm0tcGF0Y2ggImxsdm0tUFBDLWFkZHJzcGFjZXMucGF0Y2giCi0JCQkgICAgIjFmMjNu aHN4aDJzM2pza2JnczdkYTlud2czczFocmtiazVhYWhsMDh4NDF3aTNtbnkwMXAiKQotCSAgICAg ICAgKGxsdm0tcGF0Y2ggImxsdm0tckwzMjM5NDYtTFNSVHkucGF0Y2giCi0JCQkgICAgIjEwY3oz dnkxeXcwdzY0M3o3eHgwMjF3YTRreW14OWZjbTNiamc2MXM2dnpkcWQ2ZDlmbnMiKQotCSAgICAg ICAgKGxsdm0tcGF0Y2ggImxsdm0tckwzMjY5NjctYWxpZ25lZC1sb2FkLnBhdGNoIgotCQkJICAg ICIwNGp4bnYzMnlqNXgxN2hxaGk4ZzJwOHJoZ3AzOGdtanpyODcxdzd6OHM0NHBxMTB2OXY0IikK LQkgICAgICAgIChsbHZtLXBhdGNoICJsbHZtLXJMMzI3ODk4LnBhdGNoIgotCQkJICAgICIxNWFo NDlnYnNsbDIzejI4a3B5YWhpNXZsMGZoM2ZreGNnZDF6bXh4ZGNsOTZzM3g4Ym5xIikpKSkpCisg ICAgICAgICAgICAgICAobWFwIChtYXRjaC1sYW1iZGEKKyAgICAgICAgICAgICAgICAgICAgICAo KG5hbWUgaGFzaCkKKyAgICAgICAgICAgICAgICAgICAgICAgKGp1bGlhLXBhdGNoIG5hbWUgaGFz aCkpKQorICAgICAgICAgICAgICAgICAgICAobGlzdAorICAgICAgICAgICAgICAgICAgICAgJygi bGx2bS02LjAtRDQ0NjUwIgorICAgICAgICAgICAgICAgICAgICAgICAiMTMzNnE0dnFheXI5NHdk Y25sbWN4aDkwbWpkaDM0ZHp3OXgyY2JpcWpueDliMWo4Znh5YiIpCisgICAgICAgICAgICAgICAg ICAgICAnKCJsbHZtLTYuMC1ESVNBQkxFX0FCSV9DSEVDS1MiCisgICAgICAgICAgICAgICAgICAg ICAgICIwMTRmYXdkMWJhN3lja2FseXBmbGQyMnpnaWM4N3g5bngzY2ltNDJ6cnd5Z3l3ZDM2cHln IikKKyAgICAgICAgICAgICAgICAgICAgICcoImxsdm0tNi4wLU5WUFRYLWFkZHJzcGFjZXMiCisg ICAgICAgICAgICAgICAgICAgICAgICIxcWRpMnptcmpzcmowaDg0enYydnlseTJoamNuNGY2N21m eTBzMXEzNTNnNHY0amtzY3FjIikKKyAgICAgICAgICAgICAgICAgICAgICcoImxsdm0tNi4wLjBf RDI3Mjk2LWxpYnNzcCIKKyAgICAgICAgICAgICAgICAgICAgICAgIjBzNWhpMnIxajYzaThtNmln MTM0NmNyeDJhaXY5ZjdyZ2IzbWc4MGt3MXd4NXk3cGRwZmgiKQorICAgICAgICAgICAgICAgICAg ICAgJygibGx2bS1EMjc2MjktQUFyY2g2NC1sYXJnZV9tb2RlbF82LjAuMSIKKyAgICAgICAgICAg ICAgICAgICAgICAgIjFxcnNobWxxdm5hc2R5YzE1OHZmbjNobmJpZ3FwaDNsc3E3YWNiOXc4bHdr cG5ubTJqNHoiKQorICAgICAgICAgICAgICAgICAgICAgJygibGx2bS1EMzQwNzgtdmVjdG9yaXpl LWZkaXYiCisgICAgICAgICAgICAgICAgICAgICAgICIxNjk2aGc4NGEwanhjbmdndnFzYzJjZHAy NzFoZjlhNDRwNHFzZDA3OHFtMW1mYXdrYWF5IikKKyAgICAgICAgICAgICAgICAgICAgICcoImxs dm0tRDQyMjYyLWp1bXB0aHJlYWRpbmctbm90LWkxIgorICAgICAgICAgICAgICAgICAgICAgICAi MWM4dzIxMGd3aWRibmtrdzhhbnAxN2RrNXBueHdzMmZsM21iMnF4aDd5OXd6ZnBpeGdhcSIpCisg ICAgICAgICAgICAgICAgICAgICAnKCJsbHZtLUQ0NDg5Mi1QZXJmLWludGVncmF0aW9uIgorICAg ICAgICAgICAgICAgICAgICAgICAiMHIzN2pkMHNzaDJrMXBuZGtmZDVibGdwZzl6OTBpbTR2bHpw cmhiMG4wd3d6NDVnNGIwNSIpCisgICAgICAgICAgICAgICAgICAgICAnKCJsbHZtLUQ0NjQ2MCIK KyAgICAgICAgICAgICAgICAgICAgICAgIjFtaXFnc3dkYzBxdmJhZjQ1NzFjMnhreHlwOWFpczA2 YjFiY3BhODNzcTIydnI0aGJzZmIiKQorICAgICAgICAgICAgICAgICAgICAgJygibGx2bS1ENDk4 MzItU0NFVlByZWQiCisgICAgICAgICAgICAgICAgICAgICAgICIwdjVjODhoZ3FqNmR5bXYzajg2 Y2E1bWhwcWFiNWZibnJ2aml3MW52bnJueWE5bDRkbGJuIikKKyAgICAgICAgICAgICAgICAgICAg ICcoImxsdm0tRDUwMDEwLVZOQ29lcmNpb24tbmkiCisgICAgICAgICAgICAgICAgICAgICAgICIw aWJsYjNxMXhpeHdyYjEyanBiODloM3l3bXFtemRwNmFxcDQxNmo0bmN3YWt5amhoZmtwIikKKyAg ICAgICAgICAgICAgICAgICAgICcoImxsdm0tRDUwMTY3LXNjZXYtdW1pbiIKKyAgICAgICAgICAg ICAgICAgICAgICAgIjFmMnJha2Nubnlocjd3MTBrN2dxZzBrMDQ5MXB5dng1aWpwbGl2dzU1N2Y3 MTR5czNxNnYiKQorICAgICAgICAgICAgICAgICAgICAgJygibGx2bS1PUHJvZmlsZS1saW5lLW51 bSIKKyAgICAgICAgICAgICAgICAgICAgICAgIjFqdmJibXd5YWdzMHhmd2FtYjEzcXJmM3JnY3o5 aTFyMDNtOWxhdmE3c3dhZzh4Yjc4YzciKQorICAgICAgICAgICAgICAgICAgICAgJygibGx2bS1Q UEMtYWRkcnNwYWNlcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIjFmMjNuaHN4aDJzM2pza2Jn czdkYTlud2czczFocmtiazVhYWhsMDh4NDF3aTNtbnkwMXAiKQorICAgICAgICAgICAgICAgICAg ICAgJygibGx2bS1yTDMyMzk0Ni1MU1JUeSIKKyAgICAgICAgICAgICAgICAgICAgICAgIjEwY3oz dnkxeXcwdzY0M3o3eHgwMjF3YTRreW14OWZjbTNiamc2MXM2dnpkcWQ2ZDlmbnMiKQorICAgICAg ICAgICAgICAgICAgICAgJygibGx2bS1yTDMyNjk2Ny1hbGlnbmVkLWxvYWQiCisgICAgICAgICAg ICAgICAgICAgICAgICIwNGp4bnYzMnlqNXgxN2hxaGk4ZzJwOHJoZ3AzOGdtanpyODcxdzd6OHM0 NHBxMTB2OXY0IikKKyAgICAgICAgICAgICAgICAgICAgICcoImxsdm0tckwzMjc4OTgiCisgICAg ICAgICAgICAgICAgICAgICAgICIxNWFoNDlnYnNsbDIzejI4a3B5YWhpNXZsMGZoM2ZreGNnZDF6 bXh4ZGNsOTZzM3g4Ym5xIikpKSkpKQogICAgIChhcmd1bWVudHMKICAgICAgKHN1YnN0aXR1dGUt a2V5d29yZC1hcmd1bWVudHMgKHBhY2thZ2UtYXJndW1lbnRzIGxsdm0tNikKICAgICAgICAoKCM6 Y29uZmlndXJlLWZsYWdzIGZsYWdzKQpAQCAtMTU4LDcgKzE4Niw3IEBACiAoZGVmaW5lLXB1Ymxp YyBqdWxpYQogICAocGFja2FnZQogICAgIChuYW1lICJqdWxpYSIpCi0gICAgKHZlcnNpb24gIjEu MS4xIikKKyAgICAodmVyc2lvbiAiMS4zLjEiKQogICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAg ICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICAgICAgICAgKHVyaSAoc3RyaW5nLWFw cGVuZApAQCAtMTY2LDEwICsxOTQsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbiAi L2p1bGlhLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgICAgICAgICAoc2hhMjU2CiAgICAg ICAgICAgICAgICAoYmFzZTMyCi0gICAgICAgICAgICAgICAgIjBoazk4M215d2ltY2xnbmpjNDF6 bWxwcG01a2ZkejJhajg1a3kwN3A0OWlsY3F4aTk5OGYiKSkpKQorICAgICAgICAgICAgICAgICIx bndrbXI5ajU1ZzF6a3hkY2huaWQxaDAyMnMwaXM1MnZ4MjNuaWtzc2hndmg3OTNnNDF4IikpCisg ICAgICAgICAgICAgIChwYXRjaGVzCisgICAgICAgICAgICAgICAoc2VhcmNoLXBhdGNoZXMgImp1 bGlhLVNPVVJDRV9EQVRFX0VQT0NILW10aW1lLnBhdGNoIikpKSkKICAgICAoYnVpbGQtc3lzdGVt IGdudS1idWlsZC1zeXN0ZW0pCiAgICAgKGFyZ3VtZW50cwotICAgICBgKCM6dGVzdC10YXJnZXQg InRlc3QiCisgICAgIGAoIzp0ZXN0cz8gI3QgICAgICAgICAgICAgICAgICAgICAgO3Rlc3RzIGFy ZSBzdHJvbmdseSBpbnRlbnNpdmUKKyAgICAgICAjOnRlc3QtdGFyZ2V0ICJ0ZXN0IgogICAgICAg ICM6bW9kdWxlcyAoKGljZS05IG1hdGNoKQogICAgICAgICAgICAgICAgICAgKGd1aXggYnVpbGQg Z251LWJ1aWxkLXN5c3RlbSkKICAgICAgICAgICAgICAgICAgIChndWl4IGJ1aWxkIHV0aWxzKSkK QEAgLTE4OCwzMCArMjE5LDI0IEBACiAgICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ3ByZXBh cmUtZGVwcwogICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzICM6YWxsb3ctb3RoZXIt a2V5cykKICAgICAgICAgICAgICAobWtkaXIgImRlcHMvc3JjY2FjaGUiKQotICAgICAgICAgICAg IChjb3B5LWZpbGUgKGFzc29jLXJlZiBpbnB1dHMgImRzZm10IikKLSAgICAgICAgICAgICAgICAg ICAgICAgICJkZXBzL3NyY2NhY2hlL2RzZm10LTIuMi4zLnRhci5neiIpCisgICAgICAgICAgICAg Ozsgbm8gVVNFX1NZU1RFTV97T0JKQ09OVi9MSUJXSElDSH0KICAgICAgICAgICAgICAoY29weS1m aWxlIChhc3NvYy1yZWYgaW5wdXRzICJvYmpjb252IikKICAgICAgICAgICAgICAgICAgICAgICAg ICJkZXBzL3NyY2NhY2hlL29iamNvbnYuemlwIikKLSAgICAgICAgICAgICAoY29weS1maWxlIChh c3NvYy1yZWYgaW5wdXRzICJzdWl0ZXNwYXJzZSIpCi0gICAgICAgICAgICAgICAgICAgICAgICAi ZGVwcy9zcmNjYWNoZS9TdWl0ZVNwYXJzZS00LjQuNS50YXIuZ3oiKQotICAgICAgICAgICAgIChj b3B5LWZpbGUgKHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiBpbnB1dHMgInZpcnR1YWxlbnYiKQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9iaW4vdmlydHVhbGVudiIp Ci0gICAgICAgICAgICAgICAgICAgICAgICAianVsaWEtZW52IikKICAgICAgICAgICAgICAoY29w eS1maWxlIChhc3NvYy1yZWYgaW5wdXRzICJsaWJ3aGljaCIpCiAgICAgICAgICAgICAgICAgICAg ICAgICAoc3RyaW5nLWFwcGVuZCAiZGVwcy9zcmNjYWNoZS9saWJ3aGljaC0iCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiODFlOTcyM2MwMjczZDc4NDkzZGM4YzhlZDU3 MGY2OGQ5Y2U3ZTg5ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIu dGFyLmd6IikpCi0gICAgICAgICAgICAgKGNvcHktZmlsZSAoYXNzb2MtcmVmIGlucHV0cyAicm1h dGgiKQotICAgICAgICAgICAgICAgICAgICAgICAgImRlcHMvc3JjY2FjaGUvUm1hdGgtanVsaWEt MC4xLnRhci5neiIpCi0KIAkgICAgIDs7IG5lZWRlZCBieSBsaWJ3aGljaAogCSAgICAgKHNldGVu diAiTERfTElCUkFSWV9QQVRIIgogCQkgICAgIChzdHJpbmctam9pbiAobWFwIChsYW1iZGEgKHBr ZykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBl bmQgKGFzc29jLXJlZiBpbnB1dHMgcGtnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiL2xpYiIpKQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJygiYXJwYWNrLW5nIiAiZmZ0dyIgImdtcCIgImxhcGFjayIKLQkJ CSAgICAgICAgICAgICAgICAgImxpYmdpdDIiICJtcGZyIiAib3BlbmJsYXMiICJvcGVubGlibSIK LQkJCSAgICAgICAgICAgICAgICAgIm9wZW5zcGVjZnVuIiAicGNyZTIiKSkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoImFycGFjay1uZyIgImN1cmwiICJkc2ZtdCIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdtcCIgImxhcGFjayIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnNzaDIiICJsaWJn aXQyIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWJlZHRscyIg Im1wZnIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVuYmxh cyIgIm9wZW5saWJtIiAicGNyZTIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJzdWl0ZXNwYXJzZSIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICI6IikpCiAJICAgICAjdCkpCiAgICAgICAgICA7OyBGSVhNRTogQnVpbGRpbmcgdGhlIGRvY3Vt ZW50YXRpb24gcmVxdWlyZXMgSnVsaWEgcGFja2FnZXMgdGhhdApAQCAtMjMzLDQ0ICsyNTgsMTIg QEAKICAgICAgICAgICA7OyB1c2luZyB0aGUgb3V0cHV0IG9mICIvc2Jpbi9sZGNvbmZpZyAtcCIu ICBTaW5jZSBsZGNvbmZpZyBpcyBub3QKICAgICAgICAgICA7OyB1c2VkIGluIEd1aXgsIHdlIHBh dGNoIHJ1bnRpbWVfY2NhbGwuY3BwIHRvIGNvbnRhaW4gYSBzdGF0aWMgbWFwLgogICAgICAgICAg IChsYW1iZGEqICgjOmtleSBpbnB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQotICAgICAgICAgICAg KHVzZS1tb2R1bGVzIChpY2UtOSBtYXRjaCkpCi0gICAgICAgICAgICAoc3Vic3RpdHV0ZSogInNy Yy9ydW50aW1lX2NjYWxsLmNwcCIKLSAgICAgICAgICAgICAgOzsgUGF0Y2ggb3V0IGludm9jYXRp b25zIG9mICcvc2Jpbi9sZGNvbmZpZycgdG8gYXZvaWQgZ2V0dGluZwotICAgICAgICAgICAgICA7 OyBlcnJvciBtZXNzYWdlcyBhYm91dCBtaXNzaW5nICcvc2Jpbi9sZGNvbmZpZycgb24gR3VpeCBT eXN0ZW0uCi0gICAgICAgICAgICAgICgoInBvcGVuXFwoLipsZGNvbmZpZy4qXFwpOyIpCi0gICAg ICAgICAgICAgICAiTlVMTDtcbiIpCi0KLSAgICAgICAgICAgICAgOzsgUG9wdWxhdGUgJ3NvbmFt ZU1hcCcuCi0gICAgICAgICAgICAgICgoImpsX3JlYWRfc29uYW1lcy4qOyIpCi0gICAgICAgICAg ICAgICAoc3RyaW5nLWpvaW4KLSAgICAgICAgICAgICAgICAobWFwIChtYXRjaC1sYW1iZGEKLSAg ICAgICAgICAgICAgICAgICAgICAgKChpbnB1dCBsaWJuYW1lIHNvbmFtZSkKLSAgICAgICAgICAg ICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgInNv bmFtZU1hcFtcIiIgbGlibmFtZSAiXCJdID0gIgotICAgICAgICAgICAgICAgICAgICAgICAgICJc IiIgKGFzc29jLXJlZiBpbnB1dHMgaW5wdXQpICIvbGliLyIgc29uYW1lICJcIjsiKSkpCi0gICAg ICAgICAgICAgICAgICAgICAnKCgibGliYyIgICAgICAgICJsaWJjIiAgICAgICAgICAgImxpYmMu c28uNiIpCi0gICAgICAgICAgICAgICAgICAgICAgICgicGNyZTIiICAgICAgICJsaWJwY3JlMi04 IiAgICAgImxpYnBjcmUyLTguc28iKQotICAgICAgICAgICAgICAgICAgICAgICAoIm1wZnIiICAg ICAgICAibGlibXBmciIgICAgICAgICJsaWJtcGZyLnNvIikKLSAgICAgICAgICAgICAgICAgICAg ICAgKCJvcGVuYmxhcyIgICAgImxpYmJsYXMiICAgICAgICAibGlib3BlbmJsYXMuc28iKQotICAg ICAgICAgICAgICAgICAgICAgICAoImFycGFjay1uZyIgICAibGliYXJwYWNrIiAgICAgICJsaWJh cnBhY2suc28iKQotICAgICAgICAgICAgICAgICAgICAgICAoImxhcGFjayIgICAgICAibGlibGFw YWNrIiAgICAgICJsaWJsYXBhY2suc28iKQotICAgICAgICAgICAgICAgICAgICAgICAoImxpYmdp dDIiICAgICAibGliZ2l0MiIgICAgICAgICJsaWJnaXQyLnNvIikKLSAgICAgICAgICAgICAgICAg ICAgICAgKCJnbXAiICAgICAgICAgImxpYmdtcCIgICAgICAgICAibGliZ21wLnNvIikKLSAgICAg ICAgICAgICAgICAgICAgICAgKCJvcGVuc3BlY2Z1biIgImxpYm9wZW5zcGVjZnVuIiAibGlib3Bl bnNwZWNmdW4uc28iKQotICAgICAgICAgICAgICAgICAgICAgICAoImZmdHciICAgICAgICAibGli ZmZ0dzMiICAgICAgICJsaWJmZnR3M190aHJlYWRzLnNvIikKLSAgICAgICAgICAgICAgICAgICAg ICAgKCJmZnR3ZiIgICAgICAgImxpYmZmdHczZiIgICAgICAibGliZmZ0dzNmX3RocmVhZHMuc28i KSkpKSkpCiAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogImJhc2UvbWF0aC5qbCIKICAgICAgICAg ICAgICAgKCgiY29uc3QgbGlibSA9IEJhc2UubGlibV9uYW1lIikKICAgICAgICAgICAgICAgIChz dHJpbmctYXBwZW5kICJjb25zdCBsaWJtID0gXCIiCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoYXNzb2MtcmVmIGlucHV0cyAib3BlbmxpYm0iKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIi9saWIvbGlib3BlbmxpYm0uc28iCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiXCIiKSkKLSAgICAgICAgICAgICAgKCgiY29uc3Qgb3BlbnNwZWNmdW4gPSBcImxpYm9w ZW5zcGVjZnVuXCIiKQotICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgImNvbnN0IG9wZW5z cGVjZnVuID0gXCIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXNzb2MtcmVmIGlu cHV0cyAib3BlbnNwZWNmdW4iKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9saWIv bGlib3BlbnNwZWNmdW4uc28iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXCIiKSkp Ci0gICAgICAgICAgICAjdCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXCIiKSkp KSkKICAgICAgICAgIChhZGQtYmVmb3JlICdidWlsZCAnZml4LWluY2x1ZGUtYW5kLWxpbmstcGF0 aHMKICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzICM6YWxsb3ctb3RoZXIta2V5cykK ICAgICAgICAgICAgIDs7IExJQlVURjhQUk9DIGlzIGEgbGlua2VyIGZsYWcsIG5vdCBhIGJ1aWxk IHRhcmdldC4gIEl0IGlzCkBAIC0yNzgsMTAgKzI3MSwxMCBAQAogICAgICAgICAgICAgOzsgY29s bGVjdGlvbiBvZiBidWlsZCB0YXJnZXRzIGFuZCBhIGxpc3Qgb2YgbGlicmFyaWVzIHRvIGxpbmsK ICAgICAgICAgICAgIDs7IGFnYWluc3QuCiAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogInNyYy9m bGlzcC9NYWtlZmlsZSIKLSAgICAgICAgICAgICAgKCgiXFwkXFwoQlVJTERESVJcXCkvXFwkXFwo RVhFTkFNRVxcKTogXFwkXFwoT0JKU1xcKSBcXCRcXChMSUJGSUxFU19yZWxlYXNlXFwpIikKLSAg ICAgICAgICAgICAgICIkKEJVSUxERElSKS8kKEVYRU5BTUUpOiAkKE9CSlMpICQoTExUX3JlbGVh c2UpIikKLSAgICAgICAgICAgICAgKCgiXFwkXFwoQlVJTERESVJcXCkvXFwkXFwoRVhFTkFNRVxc KS1kZWJ1ZzogXFwkXFwoRE9CSlNcXCkgXFwkXFwoTElCRklMRVNfZGVidWdcXCkiKQotICAgICAg ICAgICAgICAgIiQoQlVJTERESVIpLyQoRVhFTkFNRSktZGVidWc6ICQoRE9CSlMpICQoTExUX2Rl YnVnKSIpKQorICAgICAgICAgICAgICAgKCgiXFwkXFwoQlVJTERESVJcXCkvXFwkXFwoRVhFTkFN RVxcKVxcJFxcKEVYRVxcKTogXFwkXFwoT0JKU1xcKSBcXCRcXChMSUJGSUxFU19yZWxlYXNlXFwp IikKKyAgICAgICAgICAgICAgICAiJChCVUlMRERJUikvJChFWEVOQU1FKSQoRVhFKTogJChPQkpT KSAkKExMVF9yZWxlYXNlKSIpCisgICAgICAgICAgICAgICAoKCJcXCRcXChCVUlMRERJUlxcKS9c XCRcXChFWEVOQU1FXFwpLWRlYnVnJChFWEUpOiBcXCRcXChET0JKU1xcKSBcXCRcXChMSUJGSUxF U19kZWJ1Z1xcKSIpCisgICAgICAgICAgICAgICAgIiQoQlVJTERESVIpLyQoRVhFTkFNRSktZGVi dWdcXCRcXChFWEVcXCk6ICQoRE9CSlMpICQoTExUX2RlYnVnKSIpKQogCiAgICAgICAgICAgICA7 OyBUaGUgUkVQTCBtdXN0IGJlIGxpbmtlZCB3aXRoIGxpYnV2LgogICAgICAgICAgICAgKHN1YnN0 aXR1dGUqICJ1aS9NYWtlZmlsZSIKQEAgLTI5NiwzOCArMjg5LDI4IEBACiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiL2luY2x1ZGUvdXYvZXJybm8uaCIpKSkKICAgICAgICAgICAgICN0 KSkKICAgICAgICAgIChhZGQtYmVmb3JlICdidWlsZCAncmVwbGFjZS1kZWZhdWx0LXNoZWxsCi0g ICAgICAgICAgKGxhbWJkYSBfCi0gICAgICAgICAgICAoc3Vic3RpdHV0ZSogImJhc2UvY2xpZW50 LmpsIgotICAgICAgICAgICAgICAoKCIvYmluL3NoIikgKHdoaWNoICJzaCIpKSkKLSAgICAgICAg ICAgICN0KSkKLSAgICAgICAgIChhZGQtYWZ0ZXIgJ3VucGFjayAnaGFyZGNvZGUtcGF0aHMKICAg ICAgICAgICAgKGxhbWJkYSBfCi0gICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJzdGRsaWIvSW50 ZXJhY3RpdmVVdGlscy9zcmMvSW50ZXJhY3RpdmVVdGlscy5qbCIKLSAgICAgICAgICAgICAgICgo ImB3aGljaCIpIChzdHJpbmctYXBwZW5kICJgIiAod2hpY2ggIndoaWNoIikpKQotICAgICAgICAg ICAgICAgKCgiYHdnZXQiKSAgKHN0cmluZy1hcHBlbmQgImAiICh3aGljaCAid2dldCIpKSkpCisg ICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJiYXNlL2NsaWVudC5qbCIKKyAgICAgICAgICAgICAg ICgoIi9iaW4vc2giKSAod2hpY2ggInNoIikpKQogICAgICAgICAgICAgICN0KSkKLSAgICAgICAg IChhZGQtYmVmb3JlICdjaGVjayAnZGlzYWJsZS1icm9rZW4tdGVzdHMKKyAgICAgICAgIChhZGQt YmVmb3JlICdjaGVjayAnZml4LWJyb2tlbi10ZXN0cwogICAgICAgICAgICAobGFtYmRhIF8KLSAg ICAgICAgICAgICAoZGVmaW5lICh0b3VjaCBmaWxlLW5hbWUpCi0gICAgICAgICAgICAgICAoY2Fs bC13aXRoLW91dHB1dC1maWxlIGZpbGUtbmFtZSAoY29uc3QgI3QpKSkKLQkgICAgIDs7IEZJWE1F OiBBbGwgZ2l0IHRlc3RzIHdvcmtzIGV4Y2VwdCB0aGlzIG9uZS4gQnV0ICpUSElTKiAiZml4Igot ICAgICAgICAgICAgIDs7IGlzIG5vdCB3b3JraW5nLCBzbyByaWdodCBub3cgSSdtIGRpc2FibGlu ZyBhbGwgbGliZ2l0Mi5qbCB0ZXN0cwotCSAgICAgOzsgKHN1YnN0aXR1dGUqICJzdGRsaWIvTGli R2l0Mi90ZXN0L2xpYmdpdDIuamwiCi0JICAgICA7OyAoKCIhTGliR2l0Mi51c2VfaHR0cF9wYXRo KGNmZywgZ2l0aHViX2NyZWQpIikgInRydWUiKQotCSAgICAgOzsgKCgiTGliR2l0Mi51c2VfaHR0 cF9wYXRoKGNmZywgbXlnaXRfY3JlZCkiKSAidHJ1ZSIpKQotICAgICAgICAgICAgIChtYXAgKGxh bWJkYSAodGVzdCkKLSAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZS1maWxlIHRlc3QpCi0gICAg ICAgICAgICAgICAgICAgICh0b3VjaCB0ZXN0KSkKLQkgICAgICAgICAgJygic3RkbGliL1NvY2tl dHMvdGVzdC9ydW50ZXN0cy5qbCIKLQkJICAgICJzdGRsaWIvRGlzdHJpYnV0ZWQvdGVzdC9ydW50 ZXN0cy5qbCIKLSAgICAgICAgICAgICAgICAgICAgOzsgRklYTUU6IHNlZSBhYm92ZQotCQkgICAg InN0ZGxpYi9MaWJHaXQyL3Rlc3QvbGliZ2l0Mi5qbCIpKQotCSAgICAgKHN1YnN0aXR1dGUqICJ0 ZXN0L2Nob29zZXRlc3RzLmpsIgotCSAgICAgICA7OyBUaGVzZSB0ZXN0cyBmYWlsLCBwcm9iYWJs eSBiZWNhdXNlIHNvbWUgb2YgdGhlIGlucHV0Ci0JICAgICAgIDs7IGJpbmFyaWVzIGhhdmUgYmVl biBzdHJpcHBlZCBhbmQgdGh1cyBiYWNrdHJhY2VzIGRvbid0IGxvb2sKLQkgICAgICAgOzsgYXMg ZXhwZWN0ZWQuCi0JICAgICAgICgoIlwiYmFja3RyYWNlXCIsIikgIiIpCi0JICAgICAgICgoIlwi Y21kbGluZWFyZ3NcIiwiKSAiIikpCisgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJ0ZXN0L2No b29zZXRlc3RzLmpsIgorICAgICAgICAgICAgICAgKCgidGVzdHMgPSB0ZXN0bmFtZXMiKQorICAg ICAgICAgICAgICAgIDs7IFRob3NlIGZhaWxpbmdzIGFyZSBub3QgZGV0ZXJtaW5pc3RpYy4gIFRo ZXkgZGVwZW5kcyBvbiB0aGUKKyAgICAgICAgICAgICAgICA7OyBydW5uaW5nIG9yZGVyLiAgSSB0 aGluayBpdCBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YKKyAgICAgICAgICAgICAgICA7OyBydW5u ZXJzLCBkaXNhYmxpbmcgaXQgZm9yIG5vdworICAgICAgICAgICAgICAgIDs7IGh0dHBzOi8vZ2l0 aHViLmNvbS9KdWxpYUxhbmcvanVsaWEvaXNzdWVzLzM0MzMwCisgICAgICAgICAgICAgICAgInRl c3RzID0gZmlsdGVyKGUtPiFpbihlLFtcImJhY2t0cmFjZVwiLFwiZXhjZXB0aW9uc1wiLFwiY2xp ZW50XCIsXCJzdGFja3RyYWNlc1wiXSksdGVzdG5hbWVzKSIpKQorICAgICAgICAgICAgIDs7IFdo ZW4gSE9NRSBpcyBub3Qgc2V0LCBqdWxpYSBjYWxscyB1dl9vc19ob21lZGlyLCB3aGljaCBpbgor ICAgICAgICAgICAgIDs7IHR1cm5zIGNhbGwgZ2V0cHd1aWRfci4gQWRkIHRoZSBIT01FIGVudiB2 YXJpYWJsZSB0byB0aGUKKyAgICAgICAgICAgICA7OyBleHRlcm5hbCBqdWxpYSBjYWxsIHRvIGZp eCB0aGlzCisgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJ0ZXN0L2NtZGxpbmVhcmdzLmpsIgor ICAgICAgICAgICAgICAgKCgiXCJKVUxJQV9QUk9KRUNUXCIiKSAiXCJIT01FXCI9PlwiL3RtcFwi LCBcIkpVTElBX1BST0pFQ1RcIiIpKQorICAgICAgICAgICAgIDs7IE1hcmtpbmcgdGhlIHRlc3Qg YXMgYnJva2VuIGFzIGl0J3MgYSBrbm93biBidWc6CisgICAgICAgICAgICAgOzsgaHR0cHM6Ly9n aXRodWIuY29tL0p1bGlhTGFuZy9qdWxpYS9pc3N1ZXMvMzIzNzcKKyAgICAgICAgICAgICAoc3Vi c3RpdHV0ZSogInN0ZGxpYi9SRVBML3Rlc3QvcmVwbGNvbXBsZXRpb25zLmpsIgorICAgICAgICAg ICAgICAgKCgiQHRlc3QgY291bnQiKSAiQHRlc3RfYnJva2VuIGNvdW50IikpCiAJICAgICAjdCkp KQogICAgICAgICM6bWFrZS1mbGFncwogICAgICAgIChsaXN0CkBAIC0zNDUsMjYgKzMyOCwyMSBA QAogICAgICAgICAgICA7OyBwbGF0Zm9ybXMsIGUuZy4gd2hlbiBydW5uaW5nICJndWl4IHBhY2th Z2UgLS1zZWFyY2g9IgogICAgICAgICAgICAoXyAiTUFSQ0g9VU5TVVBQT1JURUQiKSkKIAotICAg ICAgICAiQ09ORklHX1NIRUxMPWJhc2giICAgICA7bmVlZGVkIHRvIGJ1aWxkIGJ1bmRsZWQgbGli cmFyaWVzCi0gICAgICAgICJVU0VfU1lTVEVNX0RTRk1UPTAiICAgIDtub3QgcGFja2FnZWQgZm9y IEd1aXggYW5kIHVwc3RyZWFtIGhhcyBubwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA7YnVpbGQgc3lzdGVtIGZvciBhIHNoYXJlZCBsaWJyYXJ5LgorICAgICAgICAiQ09ORklHX1NI RUxMPWJhc2giICAgICAgICAgICAgIDtuZWVkZWQgdG8gYnVpbGQgYnVuZGxlZCBsaWJyYXJpZXMK KyAgICAgICAgOzsgbGlzdCBvZiAiVVNFX1NZU1RFTV8qIiBpcyBoZXJlOgorICAgICAgICA7OyBo dHRwczovL2dpdGh1Yi5jb20vSnVsaWFMYW5nL2p1bGlhL2Jsb2IvdjEuMy4xL01ha2UuaW5jCisg ICAgICAgICJVU0VfU1lTVEVNX0RTRk1UPTEiCisgICAgICAgICJVU0VfU1lTVEVNX1A3WklQPTEi CiAgICAgICAgICJVU0VfU1lTVEVNX0xBUEFDSz0xIgogICAgICAgICAiVVNFX1NZU1RFTV9CTEFT PTEiCiAgICAgICAgICJVU0VfQkxBUzY0PTAiICAgICAgICAgIDtuZWVkZWQgd2hlbiBVU0VfU1lT VEVNX0JMQVM9MQogICAgICAgICAiTElCQkxBUz0tbG9wZW5ibGFzIgogICAgICAgICAiTElCQkxB U05BTUU9bGlib3BlbmJsYXMiCiAKLSAgICAgICAgIlVTRV9TWVNURU1fRkZUVz0xIgotICAgICAg ICAiTElCRkZUV05BTUU9bGliZmZ0dzMiCi0gICAgICAgICJMSUJGRlRXRk5BTUU9bGliZmZ0dzNm IgotCi0gICAgICAgIDs7IFRPRE86IFN1aXRlc3BhcnNlIGRvZXMgbm90IGluc3RhbGwgc2hhcmVk IGxpYnJhcmllcywgc28gd2UgY2Fubm90Ci0gICAgICAgIDs7IHVzZSB0aGUgc3VpdGVzcGFyc2Ug cGFja2FnZS4KLSAgICAgICAgOzsgIlVTRV9TWVNURU1fU1VJVEVTUEFSU0U9MSIKLSAgICAgICAg OzsgKHN0cmluZy1hcHBlbmQgIlNVSVRFU1BBUlNFX0lOQz0tSSAiCi0gICAgICAgIDs7ICAgICAg ICAgICAgICAgIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAic3VpdGVzcGFyc2UiKQotICAgICAg ICA7OyAgICAgICAgICAgICAgICAiL2luY2x1ZGUiKQotCisgICAgICAgICJVU0VfU1lTVEVNX1NV SVRFU1BBUlNFPTEiCisgICAgICAgIChzdHJpbmctYXBwZW5kICJTVUlURVNQQVJTRV9JTkM9LUkg IgorICAgICAgICAgICAgICAgICAgICAgICAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgInN1aXRl c3BhcnNlIikKKyAgICAgICAgICAgICAgICAgICAgICAgIi9pbmNsdWRlIikKICAgICAgICAgIlVT RV9HUExfTElCUz0xIiAgICAgICAgO3Byb3VkbHkKICAgICAgICAgIlVTRV9TWVNURU1fVVRGOFBS T0M9MSIKICAgICAgICAgKHN0cmluZy1hcHBlbmQgIlVURjhQUk9DX0lOQz0iCkBAIC0zODUsMTYg KzM2MywxOSBAQAogCSJVU0VfU1lTVEVNX1BBVENIRUxGPTEiCiAJIlVTRV9TWVNURU1fUENSRT0x IgogCSJVU0VfU1lTVEVNX09QRU5MSUJNPTEiCi0KKyAgICAgICAgIlVTRV9TWVNURU1fTElCTT0w IgorICAgICAgICAiVVNFX1NZU1RFTV9MSUJTU0gyPTEiCisgICAgICAgICJVU0VfU1lTVEVNX0NV Ukw9MSIKIAkiVVNFX1NZU1RFTV9HTVA9MSIKIAkiVVNFX1NZU1RFTV9NUEZSPTEiCisJIlVTRV9T WVNURU1fTUJFRFRMUz0xIgogCSJVU0VfU1lTVEVNX0FSUEFDSz0xIgogCSJVU0VfU1lTVEVNX0xJ QkdJVDI9MSIKLQkiVVNFX1NZU1RFTV9aTElCPTEiCi0JIlVTRV9TWVNURU1fT1BFTlNQRUNGVU49 MSIpKSkKKwkiVVNFX1NZU1RFTV9aTElCPTEiKSkpCiAgICAgKGlucHV0cwogICAgICBgKCgibGx2 bSIgLGxsdm0tanVsaWEpCiAKKyAgICAgICAoInA3emlwIiAscDd6aXApCiAgICAgICAgOzsgVGhl IGJ1bmRsZWQgdmVyc2lvbiBpcyAzLjMuMCBzbyBzdGljayB0byB0aGF0IHZlcnNpb24uICBXaXRo IG90aGVyCiAgICAgICAgOzsgdmVyc2lvbnMsIHdlIGdldCB0ZXN0IGZhaWx1cmVzIGluICdsaW5h bGcvYXJub2xkaScgYXMgZGVzY3JpYmVkIGluCiAgICAgICAgOzsgPGh0dHBzOi8vYnVncy5nbnUu b3JnLzMwMjgyPi4KQEAgLTQwMywxMiArMzg0LDEyIEBACiAgICAgICAgKCJjb3JldXRpbHMiICxj b3JldXRpbHMpIDtmb3IgYmluZGluZ3MgdG8gIm1rZGlyIiBhbmQgdGhlIGxpa2UKICAgICAgICAo ImxhcGFjayIgLGxhcGFjaykKICAgICAgICAoIm9wZW5ibGFzIiAsb3BlbmJsYXMpIDtKdWxpYSBk b2VzIG5vdCBidWlsZCB3aXRoIEF0bGFzCi0gICAgICAgKCJsaWJ1bndpbmQiICxsaWJ1bndpbmQp CisgICAgICAgKCJsaWJ1bndpbmQiICxsaWJ1bndpbmQtanVsaWEpCiAgICAgICAgKCJvcGVubGli bSIgLG9wZW5saWJtKQotICAgICAgICgib3BlbnNwZWNmdW4iICxvcGVuc3BlY2Z1bikKKyAgICAg ICAoIm1iZWR0bHMiICxtYmVkdGxzLWFwYWNoZSkKKyAgICAgICAoImN1cmwiICxjdXJsKQogICAg ICAgICgibGliZ2l0MiIgLGxpYmdpdDIpCi0gICAgICAgKCJmZnR3IiAsZmZ0dykKLSAgICAgICAo ImZmdHdmIiAsZmZ0d2YpCisgICAgICAgKCJsaWJzc2gyIiAsbGlic3NoMikKICAgICAgICAoImZv cnRyYW4iICxnZm9ydHJhbikKICAgICAgICAoImxpYnV2IiAsbGlidXYtanVsaWEpCiAgICAgICAg KCJwY3JlMiIgLHBjcmUyKQpAQCAtNDE4LDMxICszOTksMTIgQEAKICAgICAgICAoIndoaWNoIiAs d2hpY2gpCiAgICAgICAgKCJ6bGliIiAsemxpYikKICAgICAgICAoImdtcCIgLGdtcCkKLSAgICAg ICAoInZpcnR1YWxlbnYiICxweXRob24yLXZpcnR1YWxlbnYpCisgICAgICAgKCJzdWl0ZXNwYXJz ZSIgLHN1aXRlc3BhcnNlKQogICAgICAgIDs7IEZJWE1FOiBUaGUgZm9sbG93aW5nIGlucHV0cyBh cmUgZG93bmxvYWRlZCBmcm9tIHVwc3RyZWFtIHRvIGFsbG93IHVzCiAgICAgICAgOzsgdG8gdXNl IHRoZSBsaWdodHdlaWdodCBKdWxpYSByZWxlYXNlIHRhcmJhbGwuICBJZGVhbGx5LCB0aGVzZSBp bnB1dHMKICAgICAgICA7OyB3b3VsZCBldmVudHVhbGx5IGJlIHJlcGxhY2VkIHdpdGggcHJvcGVy IEd1aXggcGFja2FnZXMuCi0KLSAgICAgICA7OyBUT0RPOiBydW4gIm1ha2UgLWYgY29udHJpYi9y ZXBhY2thZ2Vfc3lzdGVtX3N1aXRlc3BhcnNlNC5tYWtlIiB0byBjb3B5IHN0YXRpYyBsaWIKLSAg ICAgICA7OyBGaW5kIGRlcGVuZGVuY3kgdmVyc2lvbnMgaGVyZToKLSAgICAgICA7OyBodHRwczov L3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vSnVsaWFMYW5nL2p1bGlhLzc3YTJjMWUyNDVjODU4 MTJkYzFjNzY4NzU0MGJlZWRlY2M1Mjc1OGYvZGVwcy9WZXJzaW9ucy5tYWtlCi0gICAgICAgKCJy bWF0aCIKLQksKG9yaWdpbgotCSAgIChtZXRob2QgZ2l0LWZldGNoKQotCSAgICh1cmkgKGdpdC1y ZWZlcmVuY2UKLSAgICAgICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL0p1bGlh TGFuZy9SbWF0aC1qdWxpYSIpCi0gICAgICAgICAgICAgICAgIChjb21taXQgInYwLjEiKSkpCi0g ICAgICAgICAgIChmaWxlLW5hbWUgInJtYXRoLWp1bGlhLTAuMS1jaGVja291dCIpCi0JICAgKHNo YTI1NgotCSAgICAoYmFzZTMyCi0JICAgICAiMXprcHkwY2c1eml2cTQwemJoYmRnajkxMjhmcXpz Mmo5NHdrd2loOG5jNnhhajNncDlwNiIpKSkpCi0gICAgICAgKCJzdWl0ZXNwYXJzZSIKLSAgICAg ICAgLChvcmlnaW4KLSAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCi0gICAgICAgICAgICh1 cmkgImh0dHA6Ly9mYWN1bHR5LmNzZS50YW11LmVkdS9kYXZpcy9TdWl0ZVNwYXJzZS9TdWl0ZVNw YXJzZS00LjQuNS50YXIuZ3oiKQotICAgICAgICAgICAoc2hhMjU2Ci0gICAgICAgICAgICAoYmFz ZTMyCi0gICAgICAgICAgICAgIjFqY2J4YjhqeDV3bGNpeHpmNm41ZGNhMnJjZng2bWxjbXMxazJy bDVncDY3YXkzYml4NDMiKSkpKQorICAgICAgIDs7IEZpbmQgZGVwZW5kZW5jaWVzIHZlcnNpb25z IGhlcmU6CisgICAgICAgOzsgaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0p1bGlh TGFuZy9qdWxpYS92MS4zLjAvZGVwcy9WZXJzaW9ucy5tYWtlCiAgICAgICAgKCJvYmpjb252Igog ICAgICAgICAsKG9yaWdpbgogICAgICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKQEAgLTQ2Nywx NSArNDI5LDcgQEAKIAkgICAgIChzaGEyNTYKIAkgICAgICAoYmFzZTMyCiAJICAgICAgICIxcDd6 ZzMxa3BtcGJtaDF6bnJrMXhyYmQwNzRhZ3gxM2I5cTRkY3c4bjJ6cnd3ZGxiejNiIikpKSkpCi0g ICAgICAgKCJkc2ZtdCIKLSAgICAgICAgLChvcmlnaW4KLSAgICAgICAgICAgKG1ldGhvZCB1cmwt ZmV0Y2gpCi0gICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQKLSAgICAgICAgICAgICAgICAg Imh0dHA6Ly93d3cubWF0aC5zY2kuaGlyb3NoaW1hLXUuYWMuanAvfm0tbWF0L01ULyIKLSAgICAg ICAgICAgICAgICAgIlNGTVQvZFNGTVQtc3JjLTIuMi4zLnRhci5neiIpKQotICAgICAgICAgICAo c2hhMjU2Ci0gICAgICAgICAgICAoYmFzZTMyCi0gICAgICAgICAgICAgIjAza2FxYmpiaTZ2aXow bjMzZGs1amxmNmF5eHFsc3E0ODA0bjdrd2tuZGlnYTlzNGhkNDIiKSkpKSkpCisgICAgICAgKCJk c2ZtdCIgLGRzZm10KSkpCiAgICAgKG5hdGl2ZS1pbnB1dHMKICAgICAgYCgoIm9wZW5zc2wiICxv cGVuc3NsKQogICAgICAgICgicGVybCIgLHBlcmwpCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMv cGF0Y2hlcy9qdWxpYS1TT1VSQ0VfREFURV9FUE9DSC1tdGltZS5wYXRjaCBiL2dudS9wYWNrYWdl cy9wYXRjaGVzL2p1bGlhLVNPVVJDRV9EQVRFX0VQT0NILW10aW1lLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmI2MGYyODQ5MjMKLS0tIC9kZXYvbnVsbAorKysg Yi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9qdWxpYS1TT1VSQ0VfREFURV9FUE9DSC1tdGltZS5wYXRj aApAQCAtMCwwICsxLDIyIEBACitGaXggb25lIG9mIHVwc3RyZWFtIG5vbi1kZXRlcm1pbmlzbSwg dHJhY2tlZCBoZXJlOgorCitodHRwczovL2dpdGh1Yi5jb20vSnVsaWFMYW5nL2p1bGlhL2lzc3Vl cy8zNDExNQoraHR0cHM6Ly9naXRodWIuY29tL0p1bGlhTGFuZy9qdWxpYS9pc3N1ZXMvMjU5MDAK KworCitQYXRjaCBieSBOaWNvbMOzIEJhbHphcm90dGkgPG5pY29sb0BuaXhvLnh5ej4uCisKKy0t LSBhL2Jhc2UvbG9hZGluZy5qbAorKysrIGIvYmFzZS9sb2FkaW5nLmpsCitAQCAtODA3LDcgKzgw NywxMCBAQAorICAgICAgICAgcGF0aCA9IG5vcm1wYXRoKGpvaW5wYXRoKGRpcm5hbWUocHJldiks IF9wYXRoKSkKKyAgICAgZW5kCisgICAgIGlmIF90cmFja19kZXBlbmRlbmNpZXNbXQorLSAgICAg ICAgcHVzaCEoX3JlcXVpcmVfZGVwZW5kZW5jaWVzLCAobW9kLCBwYXRoLCBtdGltZShwYXRoKSkp CisrICAgICAgICAgIHB1c2ghKF9yZXF1aXJlX2RlcGVuZGVuY2llcywKKysgICAgICAgICAgICAg ICAgKG1vZCwgcGF0aCwKKysgICAgICAgICAgICAgICAgIGhhc2tleShFTlYsICJTT1VSQ0VfREFU RV9FUE9DSCIpID8KKysgICAgICAgICAgICAgICAgIHBhcnNlKEZsb2F0NjQsIEVOVlsiU09VUkNF X0RBVEVfRVBPQ0giXSkgOiBtdGltZShwYXRoKSkpCisgICAgIGVuZAorICAgICByZXR1cm4gcGF0 aCwgcHJldgorIGVuZAotLSAKMi4yMy4wCgo= --00000000000063a924059e509c09 Content-Type: text/x-patch; charset="UTF-8"; name="v4-0001-gnu-Add-dsfmt.patch" Content-Disposition: attachment; filename="v4-0001-gnu-Add-dsfmt.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k6i6qko50 RnJvbSBjOWZiOTc5YjY3ZjE1ZmY5ZjQ3NDRhZjIxZDFlOTEwMTcwMzdhZjE3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBuaXhvIDxuaWNvbG9Abml4by54eXo+CkRhdGU6IFNhdCwgMjgg RGVjIDIwMTkgMDA6MTA6NDggKzAxMDAKU3ViamVjdDogW1BBVENIIHY0IDEvMl0gZ251OiBBZGQg ZHNmbXQuCgoqIGdudS9wYWNrYWdlcy9tYXRocy5zY20gKGRzZm10KTogTmV3IHZhcmlhYmxlLgot LS0KIGdudS9wYWNrYWdlcy9tYXRocy5zY20gfCA2NSArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA2NSBpbnNlcnRpb25zKCspCgpkaWZm IC0tZ2l0IGEvZ251L3BhY2thZ2VzL21hdGhzLnNjbSBiL2dudS9wYWNrYWdlcy9tYXRocy5zY20K aW5kZXggOGY0NDc4YjZiYi4uMWY4MGNiM2YzYSAxMDA2NDQKLS0tIGEvZ251L3BhY2thZ2VzL21h dGhzLnNjbQorKysgYi9nbnUvcGFja2FnZXMvbWF0aHMuc2NtCkBAIC0zMyw2ICszMyw3IEBACiA7 OzsgQ29weXJpZ2h0IMKpIDIwMTkgTmljb2xhcyBHb2F6aW91IDxtYWlsQG5pY29sYXNnb2F6aW91 LmZyPgogOzs7IENvcHlyaWdodCDCqSAyMDE5IFN0ZXZlIFNwcmFuZyA8c2NzQHN0ZXZlc3ByYW5n LmNvbT4KIDs7OyBDb3B5cmlnaHQgwqkgMjAxOSBSb2JlcnQgU21pdGggPHJvYmVydHNtaXRoQHBv c3Rlby5uZXQ+Cis7OzsgQ29weXJpZ2h0IMKpIDIwMTkgTmljb2zDsiBCYWx6YXJvdHRpIDxuaWNv bG9Abml4by54eXo+CiA7OzsKIDs7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgR3VpeC4KIDs7 OwpAQCAtMzcyLDYgKzM3Myw3MCBAQCBzZW1pY29uZHVjdG9ycy4iKQogICAgIChsaWNlbnNlIGxp Y2Vuc2U6Z3BsMyspCiAgICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy ZS9kaW9ueXN1cy8iKSkpCiAKKyhkZWZpbmUtcHVibGljIGRzZm10CisgIChwYWNrYWdlCisgICAg KG5hbWUgImRzZm10IikKKyAgICAodmVyc2lvbiAiMi4yLjMiKQorICAgIChzb3VyY2UgKG9yaWdp bgorICAgICAgICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKKyAgICAgICAgICAgICAgKHVyaQor ICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQKKyAgICAgICAgICAgICAgICAiaHR0cDovL3d3 dy5tYXRoLnNjaS5oaXJvc2hpbWEtdS5hYy5qcC9+bS1tYXQvTVQvU0ZNVC9kU0ZNVC1zcmMtIgor ICAgICAgICAgICAgICAgIHZlcnNpb24gIi50YXIuZ3oiKSkKKyAgICAgICAgICAgICAgKHNoYTI1 NgorICAgICAgICAgICAgICAgKGJhc2UzMgorICAgICAgICAgICAgICAgICIwM2thcWJqYmk2dml6 MG4zM2RrNWpsZjZheXhxbHNxNDgwNG43a3drbmRpZ2E5czRoZDQyIikpCisgICAgICAgICAgICAg IDs7IGp1bGlhIG5lZWRzIHRob3NlIChhbmQgaXMgdGhlIG9ubHkgcHJvZ3JhbSBkZXBlbmRpbmcg b24gZHNmbXQgbm93KQorICAgICAgICAgICAgICAocGF0Y2hlcworICAgICAgICAgICAgICAgKGxp c3QKKyAgICAgICAgICAgICAgICAob3JpZ2luIChtZXRob2QgdXJsLWZldGNoKQorICAgICAgICAg ICAgICAgICAgICAgICAgKHVyaQorICAgICAgICAgICAgICAgICAgICAgICAgICJodHRwczovL3Jh dy5naXRodWJ1c2VyY29udGVudC5jb20vSnVsaWFMYW5nL2p1bGlhL3YxLjMuMC9kZXBzL3BhdGNo ZXMvZFNGTVQuYy5wYXRjaCIpCisgICAgICAgICAgICAgICAgICAgICAgICAoc2hhMjU2IChiYXNl MzIgIjA5bWh2MTFibXM4anNta21kcXZsY2dsandoenczYjZuOW5uY3BpMmI2ZGxhOTc5OGh3Mnki KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIChmaWxlLW5hbWUgImRTRk1ULmMucGF0Y2giKSkK KyAgICAgICAgICAgICAgICAob3JpZ2luIChtZXRob2QgdXJsLWZldGNoKQorICAgICAgICAgICAg ICAgICAgICAgICAgKHVyaQorICAgICAgICAgICAgICAgICAgICAgICAgICJodHRwczovL3Jhdy5n aXRodWJ1c2VyY29udGVudC5jb20vSnVsaWFMYW5nL2p1bGlhL3YxLjMuMC9kZXBzL3BhdGNoZXMv ZFNGTVQuaC5wYXRjaCIpCisgICAgICAgICAgICAgICAgICAgICAgICAoc2hhMjU2IChiYXNlMzIg IjFweTVyZDB5eGljMzM1bHprYTIzZjZ4MmRobmNycGl6cHlyazU3Z2kyZjI4YzBwOTh5NW4iKSkK KyAgICAgICAgICAgICAgICAgICAgICAgIChmaWxlLW5hbWUgImRTRk1ULmgucGF0Y2giKSkpKSkp CisgICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQorICAgIChhcmd1bWVudHMKKyAg ICAgYCgjOnBoYXNlcworICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKKyAg ICAgICAgIChkZWxldGUgJ2NvbmZpZ3VyZSkgICAgICAgICAgICA7bm8gY29uZmlndXJlIHNjcmlw dAorICAgICAgICAgKHJlcGxhY2UgJ2J1aWxkCisgICAgICAgICAgIDs7IHVwc3RyZWFtIE1ha2Vm aWxlIGRvZXMgbm90IGJ1aWxkIGEgc2hhcmVkIGxpYnJhcnkKKyAgICAgICAgICAgKGxhbWJkYSBf CisgICAgICAgICAgICAgKGludm9rZQorICAgICAgICAgICAgICAiZ2NjIgorICAgICAgICAgICAg ICA7OyBmbGFncyBjb3BpZWQgZnJvbSBqdWxpYQorICAgICAgICAgICAgICA7OyBodHRwczovL2dp dGh1Yi5jb20vSnVsaWFMYW5nL2p1bGlhL2Jsb2IvdjEuMy4wL2RlcHMvZHNmbXQubWsKKyAgICAg ICAgICAgICAgIi1ETkRFQlVHIiAiLUREU0ZNVF9NRVhQPTE5OTM3IgorICAgICAgICAgICAgICAi LWZQSUMiICItRERTRk1UX0RPX05PVF9VU0VfT0xEX05BTUVTIgorICAgICAgICAgICAgICAiLU8z IiAiLWZpbmxpbmUtZnVuY3Rpb25zIiAiLWZvbWl0LWZyYW1lLXBvaW50ZXIiCisgICAgICAgICAg ICAgICItZm5vLXN0cmljdC1hbGlhc2luZyIgIi0tcGFyYW0iICJtYXgtaW5saW5lLWluc25zLXNp bmdsZT0xODAwIgorICAgICAgICAgICAgICAiLVdtaXNzaW5nLXByb3RvdHlwZXMiICItV2FsbCIg Ii1zdGQ9Yzk5IiAiLXNoYXJlZCIgImRTRk1ULmMiCisgICAgICAgICAgICAgICItbyIgImxpYmRT Rk1ULnNvIikpKQorICAgICAgICAgKHJlcGxhY2UgJ2luc3RhbGwgICAgICAgICAgICAgIDtubyAi aW5zdGFsbCIgdGFyZ2V0CisgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBvdXRwdXRzICM6YWxs b3ctb3RoZXIta2V5cykKKyAgICAgICAgICAgICAobGV0ICgobGliIChzdHJpbmctYXBwZW5kIChh c3NvYy1yZWYgb3V0cHV0cyAib3V0IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICIvbGliIikpCisgICAgICAgICAgICAgICAgICAgKGluYyAoc3RyaW5nLWFwcGVuZCAo YXNzb2MtcmVmIG91dHB1dHMgIm91dCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiL2luY2x1ZGUiKSkpCisgICAgICAgICAgICAgICAoaW5zdGFsbC1maWxlICJsaWJk U0ZNVC5zbyIgbGliKQorICAgICAgICAgICAgICAgKGluc3RhbGwtZmlsZSAiZFNGTVQuaCIgaW5j KQorICAgICAgICAgICAgICAgI3QpKSkpKSkKKyAgICAoc3lub3BzaXMgIkRvdWJsZSBwcmVjaXNp b24gU0lNRC1vcmllbnRlZCBGYXN0IE1lcnNlbm5lIFR3aXN0ZXIiKQorICAgIChkZXNjcmlwdGlv bgorICAgICAiVGhlIGRTTUZUIHBhY2thZ2Ugc3BlZWRzIHVwIEZhc3QgTWVyc2VubmUgVHdpc3Rl ciBnZW5lcmF0aW9uIGJ5IGF2b2lkaW5nCit0aGUgZXhwZW5zaXZlIGNvbnZlcnNpb24gb2YgaW50 ZWdlciB0byBkb3VibGUgKGZsb2F0aW5nIHBvaW50KS4gIGRTRk1UIGRpcmVjdGx5CitnZW5lcmF0 ZXMgZG91YmxlIHByZWNpc2lvbiBmbG9hdGluZyBwb2ludCBwc2V1ZG9yYW5kb20gbnVtYmVycyB3 aGljaCBoYXZlIHRoZQorSUVFRSBTdGFuZGFyZCBmb3IgQmluYXJ5IEZsb2F0aW5nLVBvaW50IEFy aXRobWV0aWMgKEFOU0kvSUVFRSBTdGQgNzU0LTE5ODUpCitmb3JtYXQuICBkU0ZNVCBpcyBvbmx5 IGF2YWlsYWJsZSBvbiB0aGUgQ1BVcyB3aGljaCB1c2UgSUVFRSA3NTQgZm9ybWF0IGRvdWJsZQor cHJlY2lzaW9uIGZsb2F0aW5nIHBvaW50IG51bWJlcnMuIikKKyAgICAoaG9tZS1wYWdlICJodHRw Oi8vd3d3Lm1hdGguc2NpLmhpcm9zaGltYS11LmFjLmpwL35tLW1hdC9NVC9TRk1ULyIpCisgICAg KGxpY2Vuc2UgbGljZW5zZTpic2QtMykpKQorCiAoZGVmaW5lLXB1YmxpYyBnc2wKICAgKHBhY2th Z2UKICAgICAobmFtZSAiZ3NsIikKLS0gCjIuMjMuMAoK --00000000000063a924059e509c09-- From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 24 07:50:50 2020 Received: (at 38546) by debbugs.gnu.org; 24 Feb 2020 12:50:50 +0000 Received: from localhost ([127.0.0.1]:52968 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j6DCE-0007Ee-CW for submit@debbugs.gnu.org; Mon, 24 Feb 2020 07:50:50 -0500 Received: from mail-qk1-f193.google.com ([209.85.222.193]:39304) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j6DCC-0007EJ-2M for 38546@debbugs.gnu.org; Mon, 24 Feb 2020 07:50:48 -0500 Received: by mail-qk1-f193.google.com with SMTP id e16so5729675qkl.6 for <38546@debbugs.gnu.org>; Mon, 24 Feb 2020 04:50:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=J3inznqV7FEFqA/11KQN01R7xb4ojaGWbcU8F8hbsFE=; b=ZT5oAJj6YybDmdR2EpfmwrOaDVtFlo6mSdznOneEVghS2TDp2Am756p26L0Ai2Y6id CBrPMzAL6acQkWIJ+oUNdIgeMG9XuacWyzr5RsIaBK8Qyztw/img9AmsPBB37H9wvCxd fsJ8eBtlWaL3A7g3cmsLjG7RsviLHmhSyfcDUM704LWrK8h91wDC/prTY1Kgaco+1AnK JnL2Lx7AUWDy9uh80WP5jVQyhSKaa6ijHzqhvvBf4I3z1GJqHJD7gSYxinpNT7qnA/Ny LP9Yg34bqbrtgNk+Xp5055ii5UiL4ycFoWLiJv0jzSB+Aues+MwQlvERzYS+9Fgq4SV5 EZPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=J3inznqV7FEFqA/11KQN01R7xb4ojaGWbcU8F8hbsFE=; b=NffKnxjCXnZLooPcpd59J0sq4/Hnx885qHlZTQjgd3SHQrIl/utOw9iDpQEjrhoN+w dQgxuUjfBEsdCHYnXSjCrYj8wbk/Brx8FnU3Um74B1+pL+N3gBN6Yv9fKRIzQW8QZYAU j/y4hZkUIbqBg0SzJPC2xcYc2cxP29one3DUnyqnmh3/ufubkiODSztUj/Xl/92sjiCN P4cbCKCu42SA/qDxoiWKoR0Z+e6su2VDRefJzhuLGQ26jh3NQsMtogEMLJdd9jp1ug0l HAHalgjkRD4oSIMVltHzHk6qO+wj8WycSwuEsPvPsGPpej1/ks/YGH2LD5IsBVkwdnHM 6cyg== X-Gm-Message-State: APjAAAU0k9n/cTbBdtw7bS5vti2x7ESTkotW678mCDoiYZq9XyoRVyBV SGIoRWQmbwI8o5dUoHuWWJrgeDMHi44qUBjxZwjNzQ== X-Google-Smtp-Source: APXvYqyIblENP29/6s4c9USUhKA4v4LWEKcR1Z6Wc8QfQ3M7NhSLlJsbN+eTLnV+4nnpcqMAFzIS2uwwnXnL7+zoN8Q= X-Received: by 2002:a37:4743:: with SMTP id u64mr19856247qka.232.1582548642351; Mon, 24 Feb 2020 04:50:42 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: zimoun Date: Mon, 24 Feb 2020 13:50:31 +0100 Message-ID: Subject: Re: [PATCH v4] Update Julia 1.3.1: almost done To: 38546@debbugs.gnu.org, =?UTF-8?Q?Nicol=C3=B2_Balzarotti?= Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Friendly ping. :-) On Tue, 11 Feb 2020 at 18:58, zimoun wrote: > > Hi, > > Please find attach the almost updated julia using 2 patches. The first > add a dependency and the second update and patch. > > I hope that I do not screw up the indentation; sometimes my Emacs does > weird stuff. Anyway. > > If it is fine with you, please ping Ludo or any committer. :-) > > > Cheers, > simon From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 24 16:00:13 2020 Received: (at 38546) by debbugs.gnu.org; 24 Feb 2020 21:00:13 +0000 Received: from localhost ([127.0.0.1]:54178 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j6Kpe-00059x-30 for submit@debbugs.gnu.org; Mon, 24 Feb 2020 16:00:13 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:40662) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j6KpZ-00059F-2T for 38546@debbugs.gnu.org; Mon, 24 Feb 2020 16:00:00 -0500 Received: by mail-wr1-f66.google.com with SMTP id t3so12069190wru.7 for <38546@debbugs.gnu.org>; Mon, 24 Feb 2020 12:59:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:in-reply-to:references:date:message-id:mime-version; bh=fBujyfndIjhurQ7vw3XmP7f6fzQ9IQeM71b6ahxN45s=; b=L/rzCLDvI1aY97RgcVBSmwZF0PRfQ8xtD2VG92Ks4RLjlM7YQCQ2KxWnly0RJ99309 02k5GiqkoAwCQwcApvhr0Gq2X0xGvg/s/UXJL3a36mlPbrr0SqjDQA+3jODZ96e4iCaK RS43sAR7/pFeOK9tL5v799XVoIrdjZOSivhqCcmnffsNG2KMfSNuSlGwFpQoKXPnLRCC Dx4ZcNeWU/b5ap8fI0kN5dufc70EixW5U6hJHBXYgHSIsV0wB5qiVgZheWfiE4j5aLcK M+1NBYxai1UjmafGPAxZSijJzni+kBVCn43Sx00ZFVVDQHIxlJgfVA39vTeBTk1jgK9y jMdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:in-reply-to:references:date :message-id:mime-version; bh=fBujyfndIjhurQ7vw3XmP7f6fzQ9IQeM71b6ahxN45s=; b=qYGoPXxwfn+w7QX2DxgQWL+sprg4QoyO1BgaWfO2VpPpEK4j2riBz95TDRAwmnm/OB CQjKzrYboB6xbRcbxIJb/c0Py18KZMKjMn4NEAYaL7zL66/+UxRM+Jov5J/C4w/fjUKt zneZGFWzOT1cumTLrt4570PSXBMpJShu3D/zNzAFYge8DkWlUjnx8jlQ9tqVtpGUzeTv OKI/kE8GEfeXaVTUYZIxSFOp7SoJUMEbqEDvnAuOXQTrkAbCHl4EBxYVfAe/a9U0ofb7 kbu8+FNT/GOAp/qBtqPhTmp1XNyjuFxCxtUDo8R6Rw/0BJxVEp5bt6wjUDztBUxnUqo/ VptQ== X-Gm-Message-State: APjAAAVRw6FPEdPq6oCctVN6pEdgbkcfXaQw7wcF2QktDp+8LixZhkUK oa85wqHoLJkJklw3aYwRa1d4CibV X-Google-Smtp-Source: APXvYqwVcH7hBw6MzXMCuiZYf34opQikUxV2ni5kf8xGSADEY075+tAa5fgG5UuJDeys2jxL0qy6Hw== X-Received: by 2002:a5d:51ce:: with SMTP id n14mr69720601wrv.426.1582577990813; Mon, 24 Feb 2020 12:59:50 -0800 (PST) Received: from guixSD ([95.232.154.110]) by smtp.gmail.com with ESMTPSA id u4sm21071598wrt.37.2020.02.24.12.59.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Feb 2020 12:59:47 -0800 (PST) From: =?utf-8?Q?Nicol=C3=B2?= Balzarotti To: zimoun , 38546@debbugs.gnu.org Subject: Re: [bug#38546] [PATCH v4] Update Julia 1.3.1: almost done In-Reply-To: References: Date: Mon, 24 Feb 2020 21:59:46 +0100 Message-ID: <87imjvwvjx.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 2.0 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: zimoun writes: > Hi, > Hi, > Friendly ping. :-) > Here's a friendly 1.3.1 + HTTP.jl + dependencies patch submission. Hopefully this time it's fine. Package precompilation should be working now (except json, whose cache, for some reason, is not valid [...] Content analysis details: (2.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: gnu.org] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] 2.0 PDS_OTHER_BAD_TLD Untrustworthy TLDs [URI: nixo.xyz (xyz)] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record X-Debbugs-Envelope-To: 38546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) --=-=-= Content-Type: text/plain zimoun writes: > Hi, > Hi, > Friendly ping. :-) > Here's a friendly 1.3.1 + HTTP.jl + dependencies patch submission. Hopefully this time it's fine. Package precompilation should be working now (except json, whose cache, for some reason, is not valid and gets rebuilt). As a reminder: determinism is still not addressed and will be fixed in the 1.4.0 release (hopefully, upstream is still not that responsive). However, there are dozens of julia packages that I want to package, so if this first batch is finally fine, more will come. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-gnu-Add-dsfmt.patch Content-Transfer-Encoding: quoted-printable >From aa02b06ade12613f81ddc0415fb0eecffb808352 Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 15:06:28 +0100 Subject: [PATCH 01/16] gnu: Add dsfmt. * gnu/packages/maths.scm (dsfmt): New variable. --- gnu/packages/maths.scm | 72 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 10071c10d5..1c55334a7d 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -33,6 +33,7 @@ ;;; Copyright =C2=A9 2019 Nicolas Goaziou ;;; Copyright =C2=A9 2019 Steve Sprang ;;; Copyright =C2=A9 2019 Robert Smith +;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -373,6 +374,77 @@ semiconductors.") (license license:gpl3+) (home-page "https://www.gnu.org/software/dionysus/"))) =20 +(define-public dsfmt + (package + (name "dsfmt") + (version "2.2.3") + (source + (origin + (method url-fetch) + (uri + (string-append + "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-" + version ".tar.gz")) + (sha256 + (base32 + "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42")) + ;; julia needs those (and is the only program depending on dsfmt no= w) + (patches + (list + (origin + (method url-fetch) + (uri (string-append + "https://raw.githubusercontent.com/JuliaLang/julia/" + "v1.3.0/deps/patches/dSFMT.c.patch")) + (sha256 (base32 + "09mhv11bms8jsmkmdqvlcgljwhzw3b6n9nncpi2b6dla9798hw2y"= )) + (file-name "dSFMT.c.patch")) + (origin + (method url-fetch) + (uri (string-append + "https://raw.githubusercontent.com/JuliaLang/julia/" + "v1.3.0/deps/patches/dSFMT.h.patch")) + (sha256 (base32 + "1py5rd0yxic335lzka23f6x2dhncrpizpyrk57gi2f28c0p98y5n"= )) + (file-name "dSFMT.h.patch")))))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) ;no configure script + (replace 'build + ;; upstream Makefile does not build a shared library + (lambda _ + (invoke + "gcc" + ;; flags copied from julia + ;; https://github.com/JuliaLang/julia/blob/v1.3.0/deps/dsfmt= .mk + "-DNDEBUG" "-DDSFMT_MEXP=3D19937" + "-fPIC" "-DDSFMT_DO_NOT_USE_OLD_NAMES" + "-O3" "-finline-functions" "-fomit-frame-pointer" + "-fno-strict-aliasing" "--param" "max-inline-insns-single=3D= 1800" + "-Wmissing-prototypes" "-Wall" "-std=3Dc99" "-shared" "dSFMT= .c" + "-o" "libdSFMT.so"))) + (replace 'install ;no "install" target + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") + "/lib")) + (inc (string-append (assoc-ref outputs "out") + "/include"))) + (install-file "libdSFMT.so" lib) + (install-file "dSFMT.h" inc) + #t)))))) + (synopsis "Double precision SIMD-oriented Fast Mersenne Twister") + (description + "The dSMFT package speeds up Fast Mersenne Twister generation by avoi= ding +the expensive conversion of integer to double (floating point). dSFMT dir= ectly +generates double precision floating point pseudorandom numbers which have = the +IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std 754-1985) +format. dSFMT is only available on the CPUs which use IEEE 754 format dou= ble +precision floating point numbers.") + (home-page "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/") + (license license:bsd-3))) + (define-public gsl (package (name "gsl") --=20 2.25.0 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0002-gnu-julia-Update-to-1.3.1.patch Content-Transfer-Encoding: quoted-printable >From 2a4e73c2c4700be23092197c48465a605786683d Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 15:07:27 +0100 Subject: [PATCH 02/16] gnu: julia: Update to 1.3.1. * gnu/packages/julia.scm (julia): Update to 1.3.1 * gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch: New file. * gnu/packages/patches/julia-no-project-name-cache.patch: New file. * gnu/local.mk: Add julia patches. --- gnu/local.mk | 2 + gnu/packages/julia.scm | 348 +++++++++--------- .../julia-SOURCE_DATE_EPOCH-mtime.patch | 22 ++ 3 files changed, 188 insertions(+), 184 deletions(-) create mode 100644 gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch diff --git a/gnu/local.mk b/gnu/local.mk index 1f7cad9d32..c2273d5745 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -26,6 +26,7 @@ # Copyright =C2=A9 2019 Evan Straw # Copyright =C2=A9 2019 Brett Gilio # Copyright =C2=A9 2019 Amin Bandali +# Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti # # This file is part of GNU Guix. # @@ -1038,6 +1039,7 @@ dist_patch_DATA =3D \ %D%/packages/patches/java-xerces-bootclasspath.patch \ %D%/packages/patches/java-xerces-build_dont_unzip.patch \ %D%/packages/patches/java-xerces-xjavac_taskdef.patch \ + %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/jfsutils-add-sysmacros.patch \ %D%/packages/patches/jfsutils-include-systypes.patch \ diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 65a5e42beb..74d214930e 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright =C2=A9 2015, 2016, 2017 Ricardo Wurmus ;;; Copyright =C2=A9 2016 Efraim Flashner +;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) #:use-module (gnu packages elf) #:use-module (gnu packages gcc) #:use-module (gnu packages llvm) @@ -43,18 +45,18 @@ #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages ssh) #:use-module (gnu packages wget) #:use-module (ice-9 match)) =20 (define libuv-julia - (let ((commit "26dbe5672c33fc885462c509fe2a9b36f35866fd") - (revision "6")) - ;; When upgrading Julia, also upgrade this. - ;; Get the commit from https://github.com/JuliaLang/julia/blob/v1.1.1/= deps/libuv.version + (let ((commit "35b1504507a7a4168caae3d78db54d1121b121e1")) + ;; When upgrading Julia, also upgrade this. Get the commit from + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/deps/libuv.version (package (inherit libuv) (name "libuv-julia") - (version (string-append "1.9.0-" revision "." (string-take commit 8)= )) + (version (string-append "2.0.0" "." (string-take commit 8))) (source (origin (method git-fetch) (uri (git-reference @@ -63,7 +65,7 @@ (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "17pn2xmqaramilx897s9grs966i5246gi6sric5alch4g9j4685n"))= )) + "0dn3v6fdp1z382pqg3nhjzk60l61ky9b65mfgaj29fv2da95rwjs"))= )) (build-system gnu-build-system) (arguments (substitute-keyword-arguments (package-arguments libuv) @@ -72,14 +74,37 @@ (delete 'autogen))))) (home-page "https://github.com/JuliaLang/libuv")))) =20 -(define (llvm-patch-url version name) +(define libunwind-julia + ;; The Julia projects requires their patched version. + ;; Get from https://github.com/JuliaLang/julia/tree/master/deps/patches + (package + (inherit libunwind) + (name "libunwind-julia") + (version "1.3.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://savannah/libunwind/libunwind-" + version ".tar.gz")) + (sha256 + (base32 + "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3")) + (patches + (list + (julia-patch "libunwind-prefer-extbl" + "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m= 1") + (julia-patch "libunwind-static-arm" + "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhg= q"))))) + (home-page "https://github.com/JuliaLang/tree/master/deps/"))) + +(define (julia-patch-url version name) (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" ver= sion - "/deps/patches/" name)) + "/deps/patches/" name ".patch")) =20 -(define (llvm-patch name sha) - (let ((version "1.1.1")) +(define (julia-patch name sha) + (let ((version "1.3.1")) (origin (method url-fetch) - (uri (llvm-patch-url version name)) + (uri (julia-patch-url version name)) (sha256 (base32 sha)) (file-name name)))) =20 @@ -98,41 +123,44 @@ ;; but they are required to build Julia. ;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi= ?bug=3D919628 (patches - (list - (llvm-patch "llvm-6.0-D44650.patch" - "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") - (llvm-patch "llvm-6.0-DISABLE_ABI_CHECKS.patch" - "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") - (llvm-patch "llvm-6.0-NVPTX-addrspaces.patch" - "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") - (llvm-patch "llvm-6.0.0_D27296-libssp.patch" - "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") - (llvm-patch "llvm-D27629-AArch64-large_model_6.0.1.patch" - "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") - (llvm-patch "llvm-D34078-vectorize-fdiv.patch" - "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") - (llvm-patch "llvm-D42262-jumpthreading-not-i1.patch" - "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") - (llvm-patch "llvm-D44892-Perf-integration.patch" - "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") - (llvm-patch "llvm-D46460.patch" - "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") - (llvm-patch "llvm-D49832-SCEVPred.patch" - "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") - (llvm-patch "llvm-D50010-VNCoercion-ni.patch" - "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") - (llvm-patch "llvm-D50167-scev-umin.patch" - "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") - (llvm-patch "llvm-OProfile-line-num.patch" - "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") - (llvm-patch "llvm-PPC-addrspaces.patch" - "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") - (llvm-patch "llvm-rL323946-LSRTy.patch" - "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") - (llvm-patch "llvm-rL326967-aligned-load.patch" - "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") - (llvm-patch "llvm-rL327898.patch" - "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))) + (map (match-lambda + ((name hash) + (julia-patch name hash))) + (list + '("llvm-6.0-D44650" + "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fx= yb") + '("llvm-6.0-DISABLE_ABI_CHECKS" + "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36p= yg") + '("llvm-6.0-NVPTX-addrspaces" + "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jksc= qc") + '("llvm-6.0.0_D27296-libssp" + "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdp= fh") + '("llvm-D27629-AArch64-large_model_6.0.1" + "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j= 4z") + '("llvm-D34078-vectorize-fdiv" + "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawka= ay") + '("llvm-D42262-jumpthreading-not-i1" + "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixg= aq") + '("llvm-D44892-Perf-integration" + "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b= 05") + '("llvm-D46460" + "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbs= fb") + '("llvm-D49832-SCEVPred" + "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dl= bn") + '("llvm-D50010-VNCoercion-ni" + "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhf= kp") + '("llvm-D50167-scev-umin" + "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q= 6v") + '("llvm-OProfile-line-num" + "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78= c7") + '("llvm-PPC-addrspaces" + "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny0= 1p") + '("llvm-rL323946-LSRTy" + "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9f= ns") + '("llvm-rL326967-aligned-load" + "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9= v4") + '("llvm-rL327898" + "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8b= nq")))))) (arguments (substitute-keyword-arguments (package-arguments llvm-6) ((#:configure-flags flags) @@ -158,7 +186,7 @@ (define-public julia (package (name "julia") - (version "1.1.1") + (version "1.3.1") (source (origin (method url-fetch) (uri (string-append @@ -166,7 +194,9 @@ version "/julia-" version ".tar.gz")) (sha256 (base32 - "0hk983mywimclgnjc41zmlppm5kfdz2aj85ky07p49ilcqxi998f")))) + "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")) + (patches + (search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -188,30 +218,25 @@ (add-after 'unpack 'prepare-deps (lambda* (#:key inputs #:allow-other-keys) (mkdir "deps/srccache") - (copy-file (assoc-ref inputs "dsfmt") - "deps/srccache/dsfmt-2.2.3.tar.gz") + ;; no USE_SYSTEM_{OBJCONV/LIBWHICH} (copy-file (assoc-ref inputs "objconv") "deps/srccache/objconv.zip") - (copy-file (assoc-ref inputs "suitesparse") - "deps/srccache/SuiteSparse-4.4.5.tar.gz") - (copy-file (string-append (assoc-ref inputs "virtualenv") - "/bin/virtualenv") - "julia-env") (copy-file (assoc-ref inputs "libwhich") (string-append "deps/srccache/libwhich-" "81e9723c0273d78493dc8c8ed570f68d9c= e7e89e" ".tar.gz")) - (copy-file (assoc-ref inputs "rmath") - "deps/srccache/Rmath-julia-0.1.tar.gz") =20 ;; needed by libwhich (setenv "LD_LIBRARY_PATH" (string-join (map (lambda (pkg) (string-append (assoc-ref inputs = pkg) "/lib")) - '("arpack-ng" "fftw" "gmp" "lapack" - "libgit2" "mpfr" "openblas" "openlibm" - "openspecfun" "pcre2")) + '("arpack-ng" "curl" "dsfmt" + "gmp" "lapack" + "libssh2" "libgit2" + "mbedtls" "mpfr" + "openblas" "openlibm" "pcre2" + "suitesparse")) ":")) #t)) ;; FIXME: Building the documentation requires Julia packages that @@ -233,44 +258,12 @@ ;; using the output of "/sbin/ldconfig -p". Since ldconfig is n= ot ;; used in Guix, we patch runtime_ccall.cpp to contain a static = map. (lambda* (#:key inputs #:allow-other-keys) - (use-modules (ice-9 match)) - (substitute* "src/runtime_ccall.cpp" - ;; Patch out invocations of '/sbin/ldconfig' to avoid getting - ;; error messages about missing '/sbin/ldconfig' on Guix Sys= tem. - (("popen\\(.*ldconfig.*\\);") - "NULL;\n") - - ;; Populate 'sonameMap'. - (("jl_read_sonames.*;") - (string-join - (map (match-lambda - ((input libname soname) - (string-append - "sonameMap[\"" libname "\"] =3D " - "\"" (assoc-ref inputs input) "/lib/" soname "\";= "))) - '(("libc" "libc" "libc.so.6") - ("pcre2" "libpcre2-8" "libpcre2-8.so") - ("mpfr" "libmpfr" "libmpfr.so") - ("openblas" "libblas" "libopenblas.so") - ("arpack-ng" "libarpack" "libarpack.so") - ("lapack" "liblapack" "liblapack.so") - ("libgit2" "libgit2" "libgit2.so") - ("gmp" "libgmp" "libgmp.so") - ("openspecfun" "libopenspecfun" "libopenspecfun.so") - ("fftw" "libfftw3" "libfftw3_threads.s= o") - ("fftwf" "libfftw3f" "libfftw3f_threads.= so")))))) - (substitute* "base/math.jl" - (("const libm =3D Base.libm_name") - (string-append "const libm =3D \"" - (assoc-ref inputs "openlibm") - "/lib/libopenlibm.so" - "\"")) - (("const openspecfun =3D \"libopenspecfun\"") - (string-append "const openspecfun =3D \"" - (assoc-ref inputs "openspecfun") - "/lib/libopenspecfun.so" - "\""))) - #t)) + (substitute* "base/math.jl" + (("const libm =3D Base.libm_name") + (string-append "const libm =3D \"" + (assoc-ref inputs "openlibm") + "/lib/libopenlibm.so" + "\""))))) (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 @@ -278,10 +271,10 @@ ;; collection of build targets and a list of libraries to link ;; against. (substitute* "src/flisp/Makefile" - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\): \\$\\(OBJS\\) \\$\\(L= IBFILES_release\\)") - "$(BUILDDIR)/$(EXENAME): $(OBJS) $(LLT_release)") - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug: \\$\\(DOBJS\\) = \\$\\(LIBFILES_debug\\)") - "$(BUILDDIR)/$(EXENAME)-debug: $(DOBJS) $(LLT_debug)")) + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)\\$\\(EXE\\): \\$\\(OB= JS\\) \\$\\(LIBFILES_release\\)") + "$(BUILDDIR)/$(EXENAME)$(EXE): $(OBJS) $(LLT_release)") + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug$(EXE): \\$\\(DO= BJS\\) \\$\\(LIBFILES_debug\\)") + "$(BUILDDIR)/$(EXENAME)-debug\\$\\(EXE\\): $(DOBJS) $(LLT_= debug)")) =20 ;; The REPL must be linked with libuv. (substitute* "ui/Makefile" @@ -296,39 +289,50 @@ "/include/uv/errno.h"))) #t)) (add-before 'build 'replace-default-shell - (lambda _ - (substitute* "base/client.jl" - (("/bin/sh") (which "sh"))) - #t)) - (add-after 'unpack 'hardcode-paths (lambda _ - (substitute* "stdlib/InteractiveUtils/src/InteractiveUtils.jl" - (("`which") (string-append "`" (which "which"))) - (("`wget") (string-append "`" (which "wget")))) + (substitute* "base/client.jl" + (("/bin/sh") (which "sh"))) + #t)) + (add-before 'build 'fix-precompile + (lambda _ + (substitute* "base/loading.jl" + (("something(Base.active_project(), \"\")") "\"\"")) #t)) (add-before 'check 'disable-broken-tests (lambda _ - (define (touch file-name) - (call-with-output-file file-name (const #t))) - ;; FIXME: All git tests works except this one. But *THIS* "fix" - ;; is not working, so right now I'm disabling all libgit2.jl = tests - ;; (substitute* "stdlib/LibGit2/test/libgit2.jl" - ;; (("!LibGit2.use_http_path(cfg, github_cred)") "true") - ;; (("LibGit2.use_http_path(cfg, mygit_cred)") "true")) - (map (lambda (test) - (delete-file test) - (touch test)) - '("stdlib/Sockets/test/runtests.jl" - "stdlib/Distributed/test/runtests.jl" - ;; FIXME: see above - "stdlib/LibGit2/test/libgit2.jl")) - (substitute* "test/choosetests.jl" - ;; These tests fail, probably because some of the input - ;; binaries have been stripped and thus backtraces don't look - ;; as expected. - (("\"backtrace\",") "") - (("\"cmdlineargs\",") "")) - #t))) + (substitute* "test/choosetests.jl" + (("tests =3D testnames") + ;; Those failings are not deterministic. They depends on = the + ;; running order. I think it depends on the number of + ;; runners, disabling it for now + ;; https://github.com/JuliaLang/julia/issues/34330 + "tests =3D filter(e->!in(e,[\"backtrace\",\"exceptions\", + \"stress\",\"precompile\", + \"client\",\"stacktraces\"]), + testnames)")) + ;; 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 + (substitute* "test/cmdlineargs.jl" + (("\"JULIA_PROJECT\"") "\"HOME\"=3D>\"/tmp\", \"JULIA_PROJE= CT\"")) + ;; Marking the test as broken as it's a known bug: + ;; https://github.com/JuliaLang/julia/issues/32377 + (substitute* "stdlib/REPL/test/replcompletions.jl" + (("@test count") "@test_broken count")) + #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=3D" (assoc-ref %outputs "out")) @@ -346,25 +350,20 @@ (_ "MARCH=3DUNSUPPORTED")) =20 "CONFIG_SHELL=3Dbash" ;needed to build bundled libraries - "USE_SYSTEM_DSFMT=3D0" ;not packaged for Guix and upstream has = no - ;build system for a shared library. + ;; list of "USE_SYSTEM_*" is here: + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/Make.inc + "USE_SYSTEM_DSFMT=3D1" + "USE_SYSTEM_P7ZIP=3D1" "USE_SYSTEM_LAPACK=3D1" "USE_SYSTEM_BLAS=3D1" "USE_BLAS64=3D0" ;needed when USE_SYSTEM_BLAS=3D1 "LIBBLAS=3D-lopenblas" "LIBBLASNAME=3Dlibopenblas" =20 - "USE_SYSTEM_FFTW=3D1" - "LIBFFTWNAME=3Dlibfftw3" - "LIBFFTWFNAME=3Dlibfftw3f" - - ;; TODO: Suitesparse does not install shared libraries, so we cann= ot - ;; use the suitesparse package. - ;; "USE_SYSTEM_SUITESPARSE=3D1" - ;; (string-append "SUITESPARSE_INC=3D-I " - ;; (assoc-ref %build-inputs "suitesparse") - ;; "/include") - + "USE_SYSTEM_SUITESPARSE=3D1" + (string-append "SUITESPARSE_INC=3D-I " + (assoc-ref %build-inputs "suitesparse") + "/include") "USE_GPL_LIBS=3D1" ;proudly "USE_SYSTEM_UTF8PROC=3D1" (string-append "UTF8PROC_INC=3D" @@ -390,11 +389,16 @@ "USE_SYSTEM_MPFR=3D1" "USE_SYSTEM_ARPACK=3D1" "USE_SYSTEM_LIBGIT2=3D1" - "USE_SYSTEM_ZLIB=3D1" - "USE_SYSTEM_OPENSPECFUN=3D1"))) + (string-append "LIBUV=3D" + (assoc-ref %build-inputs "libuv") + "/lib/libuv.so") + (string-append "LIBUV_INC=3D" + (assoc-ref %build-inputs "libuv") + "/include") + "USE_SYSTEM_ZLIB=3D1"))) (inputs `(("llvm" ,llvm-julia) - + ("p7zip" ,p7zip) ;; The bundled version is 3.3.0 so stick to that version. With oth= er ;; versions, we get test failures in 'linalg/arnoldi' as described = in ;; . @@ -403,12 +407,12 @@ ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like ("lapack" ,lapack) ("openblas" ,openblas) ;Julia does not build with Atlas - ("libunwind" ,libunwind) + ("libunwind" ,libunwind-julia) ("openlibm" ,openlibm) - ("openspecfun" ,openspecfun) + ("mbedtls" ,mbedtls-apache) + ("curl" ,curl) ("libgit2" ,libgit2) - ("fftw" ,fftw) - ("fftwf" ,fftwf) + ("libssh2" ,libssh2) ("fortran" ,gfortran) ("libuv" ,libuv-julia) ("pcre2" ,pcre2) @@ -418,31 +422,12 @@ ("which" ,which) ("zlib" ,zlib) ("gmp" ,gmp) - ("virtualenv" ,python2-virtualenv) + ("suitesparse" ,suitesparse) ;; FIXME: The following inputs are downloaded from upstream to allo= w us ;; to use the lightweight Julia release tarball. Ideally, these in= puts ;; would eventually be replaced with proper Guix packages. - - ;; TODO: run "make -f contrib/repackage_system_suitesparse4.make" t= o copy static lib - ;; Find dependency versions here: - ;; https://raw.githubusercontent.com/JuliaLang/julia/77a2c1e245c858= 12dc1c7687540beedecc52758f/deps/Versions.make - ("rmath" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaLang/Rmath-julia") - (commit "v0.1"))) - (file-name "rmath-julia-0.1-checkout") - (sha256 - (base32 - "1zkpy0cg5zivq40zbhbdgj9128fqzs2j94wkwih8nc6xaj3gp9p6")))) - ("suitesparse" - ,(origin - (method url-fetch) - (uri "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse= -4.4.5.tar.gz") - (sha256 - (base32 - "1jcbxb8jx5wlcixzf6n5dca2rcfx6mlcms1k2rl5gp67ay3bix43")))) + ;; Find dependencies versions here: + ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Ve= rsions.make ("objconv" ,(origin (method url-fetch) @@ -466,16 +451,8 @@ ".tar.gz")) (sha256 (base32 - "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) - ("dsfmt" - ,(origin - (method url-fetch) - (uri (string-append - "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/" - "SFMT/dSFMT-src-2.2.3.tar.gz")) - (sha256 - (base32 - "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42")))))) + "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) + ("dsfmt" ,dsfmt))) (native-inputs `(("openssl" ,openssl) ("perl" ,perl) @@ -485,7 +462,10 @@ (native-search-paths (list (search-path-specification (variable "JULIA_LOAD_PATH") - (files (list "share/julia/packages/"))))) + (files (list "share/julia/packages/"))) + (search-path-specification + (variable "JULIA_DEPOT_PATH") + (files (list "share/julia/"))))) ;; Julia is not officially released for ARM and MIPS. ;; See https://github.com/JuliaLang/julia/issues/10639 (supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux")) diff --git a/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch b/gnu= /packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch new file mode 100644 index 0000000000..b60f284923 --- /dev/null +++ b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch @@ -0,0 +1,22 @@ +Fix one of upstream non-determinism, tracked here: + +https://github.com/JuliaLang/julia/issues/34115 +https://github.com/JuliaLang/julia/issues/25900 + + +Patch by Nicol=C3=B3 Balzarotti . + +--- a/base/loading.jl ++++ b/base/loading.jl +@@ -807,7 +807,10 @@ + path =3D normpath(joinpath(dirname(prev), _path)) + end + if _track_dependencies[] +- push!(_require_dependencies, (mod, path, mtime(path))) ++ push!(_require_dependencies, ++ (mod, path, ++ haskey(ENV, "SOURCE_DATE_EPOCH") ? ++ parse(Float64, ENV["SOURCE_DATE_EPOCH"]) : mtime(path))) + end + return path, prev + end --=20 2.25.0 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0003-gnu-julia-build-system-Enable-tests-fix-precompilati.patch Content-Transfer-Encoding: quoted-printable >From 69bfdff9a8772bbe9254c9cd3a97966e059060af Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 15:28:45 +0100 Subject: [PATCH 03/16] gnu: julia-build-system: Enable tests, fix precompilation. --- guix/build-system/julia.scm | 2 +- guix/build/julia-build-system.scm | 71 +++++++++++++++---------------- 2 files changed, 36 insertions(+), 37 deletions(-) diff --git a/guix/build-system/julia.scm b/guix/build-system/julia.scm index 488fe9bb1d..d3cb41c054 100644 --- a/guix/build-system/julia.scm +++ b/guix/build-system/julia.scm @@ -75,7 +75,7 @@ =20 (define* (julia-build store name inputs #:key source - (tests? #f) + (tests? #t) (phases '(@ (guix build julia-build-system) %standard-phases)) (outputs '("out")) diff --git a/guix/build/julia-build-system.scm b/guix/build/julia-build-sys= tem.scm index ff6fcf5fe3..2916775c9d 100644 --- a/guix/build/julia-build-system.scm +++ b/guix/build/julia-build-system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright =C2=A9 2019 Nicol=C3=B2 Balzarotti +;;; Copyright =C2=A9 2019, 2020 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,54 +37,53 @@ ;; subpath where we store the package content (define %package-path "/share/julia/packages/") =20 -(define (generate-load-path inputs outputs) - (string-append - (string-join (map (match-lambda - ((_ . path) - (string-append path %package-path))) - ;; Restrict to inputs beginning with "julia-". - (filter (match-lambda - ((name . _) - (string-prefix? "julia-" name))) - inputs)) - ":") - (string-append ":" (assoc-ref outputs "out") %package-path) - ;; stdlib is always required to find Julia's standard libraries. - ;; usually there are other two paths in this variable: - ;; "@" and "@v#.#" - ":@stdlib")) - (define* (install #:key source inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (package-dir (string-append out %package-path - (string-append - (strip-store-file-name source))))) - (setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs)) + (strip-store-file-name source)))) (mkdir-p package-dir) - (copy-recursively source package-dir)) + (copy-recursively (getcwd) package-dir)) #t) =20 -;; TODO: Precompilation is working, but I don't know how to tell -;; julia to use use it. If (on rantime) we set HOME to -;; store path, julia tries to write files there (failing) (define* (precompile #:key source inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (builddir (string-append out "/share/julia/")) (package (strip-store-file-name source))) (mkdir-p builddir) (setenv "JULIA_DEPOT_PATH" builddir) - (setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs)) - ;; Actual precompilation - (invoke-julia (string-append "using " package))) + ;; add new package dir to the load path + (setenv "JULIA_LOAD_PATH" + (string-append builddir "packages/" + (if (getenv "JULIA_LOAD_PATH") + (string-append ":" (getenv "JULIA_LOAD_PATH= ")) + ""))) + ;; Actual precompilation. + (invoke-julia + ;; when using julia as a user, julia writes precompile cache to the f= irst + ;; entry of the DEPOT_PATH list (by default, the home dir). We want = to + ;; write it to the store, so let's push the store path as the first + ;; element of DEPOT_PATH. Once the cache file exists, this hack is n= ot + ;; needed anymore (like in the check phase). If the user install new + ;; pacakges, those will be installed and precompiled in the home dir + (string-append "pushfirst!(DEPOT_PATH, pop!(DEPOT_PATH)); using " pac= kage))) #t) =20 -(define* (check #:key source inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (package (strip-store-file-name source)) - (builddir (string-append out "/share/julia/"))) - (setenv "JULIA_DEPOT_PATH" builddir) - (setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs)) - (invoke-julia (string-append "using Pkg;Pkg.test(\"" package "\")"))) +(define* (check #:key tests? source outputs #:allow-other-keys) + (if tests? + (let* ((out (assoc-ref outputs "out")) + (package (strip-store-file-name source)) + (builddir (string-append out "/share/julia/"))) + (setenv "HOME" "/tmp") + (setenv "JULIA_DEPOT_PATH" builddir) + (setenv "JULIA_LOAD_PATH" + (string-append builddir "packages/" ":" + (or (getenv "JULIA_LOAD_PATH") + ""))) + ;; tests assume they are run from the test directory + (with-directory-excursion + (string-append builddir "packages/" package "/test/") + (invoke "julia" "runtests.jl"))) + (format #t "test suite not run~%")) #t) =20 (define (julia-create-package-toml outputs source @@ -119,7 +118,7 @@ version =3D \"" version "\" (delete 'check) ; tests must be run after installation (replace 'install install) (add-after 'install 'precompile precompile) - ;; (add-after 'install 'check check) + (add-after 'precompile 'check check) ;; TODO: In the future we could add a "system-image-generation" phase ;; where we use PackageCompiler.jl to speed up package loading times (delete 'configure) --=20 2.25.0 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0004-gnu-Add-julia-compat.patch Content-Transfer-Encoding: quoted-printable >From a185f2d8112d55fe34fe5640edc6e4f46fece226 Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 15:30:39 +0100 Subject: [PATCH 04/16] gnu: Add julia-compat. * gnu/packages/julia-xyz.scm (julia-compat): New variable. * gnu/packages/julia-xyz.scm: New file. * gnu/local.mk: Add gnu/packages/julia-xyz.scm. --- gnu/local.mk | 1 + gnu/packages/julia-xyz.scm | 45 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 gnu/packages/julia-xyz.scm diff --git a/gnu/local.mk b/gnu/local.mk index c2273d5745..1ebcc45a4c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -281,6 +281,7 @@ GNU_SYSTEM_MODULES =3D \ %D%/packages/jrnl.scm \ %D%/packages/jose.scm \ %D%/packages/julia.scm \ + %D%/packages/julia-xyz.scm \ %D%/packages/jupyter.scm \ %D%/packages/kawa.scm \ %D%/packages/kde.scm \ diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm new file mode 100644 index 0000000000..abcfc4d0cf --- /dev/null +++ b/gnu/packages/julia-xyz.scm @@ -0,0 +1,45 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages julia-xyz) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system julia)) + +(define-public julia-compat + (package + (name "julia-compat") + (version "3.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaLang/Compat.jl") + (commit (string-append "v" version)))) + (file-name "Compat") + (sha256 + (base32 "0dxy0kpwgz3a9w665lp154x9yrnic89f2b27b1nmh69jhnnb2zgr")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaLang/Compat.jl") + (synopsis "Compatibility across Julia versions") + (description "The Compat package is designed to ease interoperability +between older and newer versions of the Julia language. The Compat package +provides a macro that lets you use the latest syntax in a backwards-compat= ible +way.") + (license license:expat))) --=20 2.25.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0005-gnu-Add-julia-sha.patch >From a7a34a28d99bd9411d18e0e7f3d4efb406f2a817 Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 15:33:08 +0100 Subject: [PATCH 05/16] gnu: Add julia-sha. * gnu/packages/julia-xyz.scm (julia-sha): New variable. --- gnu/packages/julia-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index abcfc4d0cf..91d497a0ce 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -43,3 +43,27 @@ between older and newer versions of the Julia language. The Compat package provides a macro that lets you use the latest syntax in a backwards-compatible way.") (license license:expat))) + +(define-public julia-sha + (package + (name "julia-sha") + (version "0.5.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/staticfloat/SHA.jl") + ;; tests fixed in this untagged version + (commit "97b17a7fabf894257726c33cbd78255ac380906d"))) + (file-name "SHA") + (sha256 + (base32 "169y78cmppj117cmh8ncnyh381caf9dsklaks5l40mia9jdcqbgl")))) + (build-system julia-build-system) + (propagated-inputs `(("julia-compat" ,julia-compat))) + (home-page "https://github.com/staticfloat/SHA.jl") + (synopsis + "Performant, 100% native-julia SHA1, SHA2, and SHA3 implementation") + (description "Julia package implementing SHA algorithms. Each exported +function takes in either an @code{Array{UInt8}}, a @code{ByteString} or an +@code{IO} object.") + (license license:expat))) -- 2.25.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0006-gnu-Add-julia-binaryprovider.patch >From 3fae18e43bd9cd0931d153a0b47bd2ba90d7eedb Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 15:42:00 +0100 Subject: [PATCH 06/16] gnu: Add julia-binaryprovider. * gnu/packages/julia-xyz.scm (julia-binaryprovider): New variable. --- gnu/packages/julia-xyz.scm | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 91d497a0ce..86c0a6c3e9 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -20,7 +20,33 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix git-download) - #:use-module (guix build-system julia)) + #:use-module (guix build-system julia) + #:use-module (gnu packages curl)) + +(define-public julia-binaryprovider + (package + (name "julia-binaryprovider") + (version "0.5.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaPackaging/BinaryProvider.jl") + (commit (string-append "v" version)))) + (file-name "BinaryProvider") + (sha256 + (base32 "174jmg4w8ncgfhdvfnm0p4cnlayw31j4s9sksqlwz1sipywqvww7")))) + (build-system julia-build-system) + ;; We don't really need BinaryProvider (as guix provides the binaries) but + ;; since it's a dependency of other packages we want to precompile it. + (arguments `(#:tests? #f)) + (propagated-inputs `(("julia-sha" ,julia-sha))) + (inputs `(("curl" ,curl))) + (home-page "https://github.com/JuliaPackaging/BinaryProvider.jl") + (synopsis "Reliable Binary provider for Julia") + (description "@code{BinaryProvider.jl} simplifies the installation of +binaries required by julia packages.") + (license license:expat))) (define-public julia-compat (package -- 2.25.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0007-gnu-Add-julia-inifile.patch >From 3f4e7fdbe183b950ef57c71b25de13ffc29eea68 Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 15:42:59 +0100 Subject: [PATCH 07/16] gnu: Add julia-inifile. * gnu/packages/julia-xyz.scm (julia-inifile): New variable. --- gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 86c0a6c3e9..213aa0543c 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -70,6 +70,26 @@ provides a macro that lets you use the latest syntax in a backwards-compatible way.") (license license:expat))) +(define-public julia-inifile + (package + (name "julia-inifile") + (version "0.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaIO/IniFile.jl") + (commit "8ba59958495fa276d6489d2c3903e765d75e0bc0"))) + (file-name "IniFile") + (sha256 + (base32 "11h6f99jpbg729lplw841m68jprka7q3n8yw390bndlmcdsjabpd")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaIO/IniFile.jl") + (synopsis "Reading Windows-style INI files") + (description "This is a julia package that defines an IniFile type that +allows to interface with @file{.ini} files.") + (license license:expat))) + (define-public julia-sha (package (name "julia-sha") -- 2.25.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0008-gnu-Add-julia-mbedtls.patch >From 44e8535f4e8b72cdb99c396dab53badcd5b02073 Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 15:43:37 +0100 Subject: [PATCH 08/16] gnu: Add julia-mbedtls. * gnu/packages/julia-xyz.scm (julia-mbedtls): New variable. --- gnu/packages/julia-xyz.scm | 55 +++++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 213aa0543c..508b4835ca 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -21,7 +21,8 @@ #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system julia) - #:use-module (gnu packages curl)) + #:use-module (gnu packages curl) + #:use-module (gnu packages tls)) (define-public julia-binaryprovider (package @@ -90,6 +91,58 @@ way.") allows to interface with @file{.ini} files.") (license license:expat))) +(define-public julia-mbedtls + (package + (name "julia-mbedtls") + (version "0.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaLang/MbedTLS.jl") + (commit (string-append "v" version)))) + (file-name "MbedTLS") + (sha256 + (base32 "1a8snw9gi21lm6r3kh6ly7ngi99s9k5shqkfiizj3g9li20q23h2")))) + (build-system julia-build-system) + (propagated-inputs + `(("julia-binaryprovider" ,julia-binaryprovider))) + (inputs `(("mbedtls-apache" ,mbedtls-apache))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'disable-network-tests + (lambda _ + (substitute* "test/runtests.jl" + (("testhost =") "return #")) + #t)) + ;; Add binary dependency paths + (add-before 'precompile 'build-deps + (lambda* (#:key outputs source inputs #:allow-other-keys) + (let ((f (open-file + (string-append + (assoc-ref outputs "out") + "/share/julia/packages/" + (string-append + (strip-store-file-name source) "/deps/deps.jl")) + "w"))) + (display (string-append "const libmbedcrypto = \"" + (assoc-ref inputs "mbedtls-apache") + "/lib/libmbedcrypto.so\"\n") f) + (display (string-append "const libmbedtls = \"" + (assoc-ref inputs "mbedtls-apache") + "/lib/libmbedtls.so\"\n") f) + (display (string-append "const libmbedx509 = \"" + (assoc-ref inputs "mbedtls-apache") + "/lib/libmbedx509.so\"\n") f) + (close-port f)) + #t))))) + (home-page "https://github.com/JuliaLang/MbedTLS.jl") + (synopsis "Apache's mbed TLS library wrapper") + (description "@code{MbedTLS.jl} provides a wrapper around the mbed TLS and +cryptography C libary for Julia.") + (license license:expat))) + (define-public julia-sha (package (name "julia-sha") -- 2.25.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0009-gnu-Add-julia-bufferedstreams.patch >From 2f205551cf5193a4d41541ba772b1db10f2f9248 Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 15:46:35 +0100 Subject: [PATCH 09/16] gnu: Add julia-bufferedstreams. * gnu/packages/julia-xyz.scm (julia-bufferedstreams): New variable. --- gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 508b4835ca..c26765f2a4 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -49,6 +49,31 @@ binaries required by julia packages.") (license license:expat))) +(define-public julia-bufferedstreams + (package + (name "julia-bufferedstreams") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BioJulia/BufferedStreams.jl") + (commit (string-append "v" version)))) + (file-name "BufferedStreams") + (sha256 + (base32 "0sf4sxbq55mg2pwxyxf0c839z1lk0yxg8nmb7617bfbvw31cp88z")))) + (build-system julia-build-system) + ;; tests are freezing, see + ;; https://travis-ci.org/BioJulia/BufferedStreams.jl/jobs/491050182 + (arguments '(#:tests? #f)) + (propagated-inputs `(("julia-compat" ,julia-compat))) + (home-page "https://github.com/BioJulia/BufferedStreams.jl") + (synopsis "Fast composable IO streams") + (description "@code{BufferedStreams} provides buffering for IO +operations. It can wrap any IO type automatically making incremental reading +and writing faster.") + (license license:expat))) + (define-public julia-compat (package (name "julia-compat") -- 2.25.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0010-gnu-Add-julia-parsers.patch >From 5a906605765854b7955a8530e89f63959f3cc2ff Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 15:48:25 +0100 Subject: [PATCH 10/16] gnu: Add julia-parsers. * gnu/packages/julia-xyz.scm (julia-parsers): New variable. --- gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index c26765f2a4..22b1cc9914 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -168,6 +168,26 @@ allows to interface with @file{.ini} files.") cryptography C libary for Julia.") (license license:expat))) +(define-public julia-parsers + (package + (name "julia-parsers") + (version "0.3.11") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaData/Parsers.jl") + (commit (string-append "v" version)))) + (file-name "Parsers") + (sha256 + (base32 "07dgcy12206a3lw55h00znq3yq4faczng6bbdn3lhc0l6jmclsly")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaData/Parsers.jl") + (synopsis "Fast parsing machinery for basic types in Julia") + (description "@code{Parsers} is a collection of type parsers and utilities +for Julia") + (license license:expat))) + (define-public julia-sha (package (name "julia-sha") -- 2.25.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0011-gnu-Add-julia-offsetarrays.patch >From 68f095c392924936f59c7df9ec2363f6054651ab Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 15:51:21 +0100 Subject: [PATCH 11/16] gnu: Add julia-offsetarrays. * gnu/packages/julia-xyz.scm (julia-offsetarrays): New variable. --- gnu/packages/julia-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 22b1cc9914..5cc7529c20 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -168,6 +168,30 @@ allows to interface with @file{.ini} files.") cryptography C libary for Julia.") (license license:expat))) +(define-public julia-offsetarrays + (package + (name "julia-offsetarrays") + (version "1.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaArrays/OffsetArrays.jl") + (commit (string-append "v" version)))) + (file-name "OffsetArrays") + (sha256 + (base32 "0x86px7gynyzqqwan88z3lkq8yj0id4pa718l8xqj4yp9fbz440c")))) + (build-system julia-build-system) + ;; tests require Catindices, introducing a circular dependency + (arguments '(#:tests? #f)) + (home-page "https://github.com/JuliaArrays/OffsetArrays.jl") + (synopsis "Fortran-like arrays with arbitrary, zero or negative starting +indices") + (description "OffsetArrays provides Julia users with arrays that have +arbitrary indices, similar to those found in some other programming languages +like Fortran.") + (license license:expat))) + (define-public julia-parsers (package (name "julia-parsers") -- 2.25.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0012-gnu-Add-julia-fixedpointnumbers.patch >From 3a0f60d4e21dd893ee11ddde0947c0323c9b5537 Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 15:54:30 +0100 Subject: [PATCH 12/16] gnu: Add julia-fixedpointnumbers. * gnu/packages/julia-xyz.scm (julia-fixedpointnumbers): New variable. --- gnu/packages/julia-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 5cc7529c20..046c365b08 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -96,6 +96,32 @@ provides a macro that lets you use the latest syntax in a backwards-compatible way.") (license license:expat))) +(define-public julia-fixedpointnumbers + (package + (name "julia-fixedpointnumbers") + (version "0.8.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaMath/FixedPointNumbers.jl") + (commit (string-append "v" version)))) + (file-name "FixedPointNumbers") + (sha256 + (base32 "0zi0va64vhnhqga62j7116m5alrkfzlv7qady4bq6v9sfrwfzvw1")))) + (build-system julia-build-system) + (propagated-inputs `(("julia-compat" ,julia-compat))) + (home-page "https://github.com/JuliaMath/FixedPointNumbers.jl") + (synopsis "Fixed point types for julia") + (description "This library implements fixed-point number types. A +fixed-point number represents a fractional, or non-integral, number. In +contrast with the more widely known floating-point numbers, with fixed-point +numbers the decimal point doesn't \"float\": fixed-point numbers are +effectively integers that are interpreted as being scaled by a constant +factor. Consequently, they have a fixed number of digits (bits) after the +decimal (radix) point.") + (license license:expat))) + (define-public julia-inifile (package (name "julia-inifile") -- 2.25.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0013-gnu-Add-julia-orderedcollections.patch >From 8582ad38d348dae41be96b5c9ff9512748c6ee7b Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 16:08:00 +0100 Subject: [PATCH 13/16] gnu: Add julia-orderedcollections. * gnu/packages/julia-xyz.scm (julia-orderedcollections): New variable. --- gnu/packages/julia-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 046c365b08..797c61ce6f 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -218,6 +218,30 @@ arbitrary indices, similar to those found in some other programming languages like Fortran.") (license license:expat))) +(define-public julia-orderedcollections + (package + (name "julia-orderedcollections") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaCollections/OrderedCollections.jl") + ;; They added Package.toml after the 1.1.0 tag + (commit "7a789d72a40f4c446f59575f5d77a63df4391a24"))) + (file-name "OrderedCollections") + (sha256 + (base32 "09b3mlzkxcbc8wn0pji73591865li07q4kvvfzn9x4256mw47riq")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaCollections/OrderedCollections.jl") + (synopsis "Julia implementation of associative containers that preserve +insertion order") + (description "This package implements OrderedDicts and OrderedSets, which +are similar to containers in base Julia. However, during iteration the +Ordered* containers return items in the order in which they were added to the +collection.") + (license license:expat))) + (define-public julia-parsers (package (name "julia-parsers") -- 2.25.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0014-gnu-Add-julia-datastructures.patch >From 3b122c28d94bd0bdd149a0e7d1031d81bc85face Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 16:08:25 +0100 Subject: [PATCH 14/16] gnu: Add julia-datastructures. * gnu/packages/julia-xyz.scm (julia-datastructures): New variable. --- gnu/packages/julia-xyz.scm | 43 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 797c61ce6f..a4a9939894 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -96,6 +96,49 @@ provides a macro that lets you use the latest syntax in a backwards-compatible way.") (license license:expat))) +(define-public julia-datastructures + (package + (name "julia-datastructures") + (version "0.17.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaCollections/DataStructures.jl") + (commit (string-append "v" version)))) + (file-name "DataStructures") + (sha256 + (base32 "1gp5n99c1llwp2zfsh1iw9jr5hhjswrq7v8iwkp2vj7yp5vvy5lw")))) + (build-system julia-build-system) + (propagated-inputs + `(("julia-orderedcollections" ,julia-orderedcollections))) + (home-page "https://github.com/JuliaCollections/DataStructures.jl") + (synopsis "Julia implementation of Data structures") + (description "This package implements a variety of data structures, +including: + +@enumerate +@item Deque (implemented with an unrolled linked list) +@item CircularBuffer +@item CircularDeque +@item Stack +@item Queue +@item Accumulators and Counters (i.e. Multisets / Bags) +@item Disjoint Sets +@item Binary Heap +@item Mutable Binary Heap +@item Ordered Dicts and Sets +@item Dictionaries with Defaults +@item Trie +@item Linked List and Mutable Linked List +@item Sorted Dict, Sorted Multi-Dict and Sorted Set +@item DataStructures.IntSet +@item Priority Queue +@item Fenwick Tree +@item SparseIntSet +@end enumerate") + (license license:expat))) + (define-public julia-fixedpointnumbers (package (name "julia-fixedpointnumbers") -- 2.25.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0015-gnu-Add-julia-json.patch >From e29caaaf651b750f8fcc734dab06921c81f4b226 Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 16:09:38 +0100 Subject: [PATCH 15/16] gnu: Add julia-json. * gnu/packages/julia-xyz.scm (julia-json): New variable. --- gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index a4a9939894..5130663e48 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -185,6 +185,31 @@ decimal (radix) point.") allows to interface with @file{.ini} files.") (license license:expat))) +(define-public julia-json + (package + (name "julia-json") + (version "0.21.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaIO/JSON.jl") + (commit (string-append "v" version)))) + (file-name "JSON") + (sha256 + (base32 "0knmfjhchd3ggy86dsfyb7l4v3fv5dcr207cgp54mj7rj96caqsm")))) + (build-system julia-build-system) + (propagated-inputs `(("julia-parsers" ,julia-parsers))) + ;; For some reason, the precompile cache for this package is broken, + ;; meaning that it will get re-generated at `using' + (inputs `(("julia-offsetarrays" ,julia-offsetarrays) + ("julia-datastructures" ,julia-datastructures) + ("julia-fixedpointnumbers" ,julia-fixedpointnumbers))) + (home-page "https://github.com/JuliaIO/JSON.jl") + (synopsis "JSON parsing and printing in Julia") + (description "Parsing and printing JSON in pure Julia.") + (license license:expat))) + (define-public julia-mbedtls (package (name "julia-mbedtls") -- 2.25.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0016-gnu-Add-julia-http.patch >From 238554a69cab1f7b1eedb93d453e78587b0e4597 Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 16:37:10 +0100 Subject: [PATCH 16/16] gnu: Add julia-http. * gnu/packages/julia-xyz.scm (julia-http): New variable. --- gnu/packages/julia-xyz.scm | 45 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 5130663e48..be3c776f49 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -165,6 +165,51 @@ factor. Consequently, they have a fixed number of digits (bits) after the decimal (radix) point.") (license license:expat))) +(define-public julia-http + (package + (name "julia-http") + (version "0.8.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaWeb/HTTP.jl") + (commit (string-append "v" version)))) + (file-name "HTTP") + (sha256 + (base32 "11g49gnnacvmihnr0p3inqmsdw6wllyfkq5sbka09mwnrf3vahs7")))) + (build-system julia-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'disable-network-tests + (lambda _ + (substitute* "test/runtests.jl" + (("\"client.jl") "# \"client.jl") + (("\"multipart.jl") "# \"multipart.jl") + (("\"aws4.jl") "# \"as4.jl") + ;; some of those might still be saved + (("\"async.jl") "# \"async.jl") + (("\"server.jl") "# \"server.jl")) + (substitute* "test/websockets.jl" + (("for s in socket_type") "for s in []")) + (substitute* "test/messages.jl" + (("@testset \"Read methods\" ") "return\n")) + #t))))) + (propagated-inputs + `(("julia-inifile" ,julia-inifile) + ("julia-mbedtls" ,julia-mbedtls) + ("julia-compat" ,julia-compat))) + ;; required for tests + (inputs + `(("julia-json" ,julia-json) + ("julia-bufferedstreams" ,julia-bufferedstreams))) + (home-page "https://juliaweb.github.io/HTTP.jl/") + (synopsis "HTTP support for Julia") + (description "@code{HTTP.jl} is a Julia library for HTTP Messages, +implementing both a client and a server.") + (license license:expat))) + (define-public julia-inifile (package (name "julia-inifile") -- 2.25.0 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Thanks, Nicol=C3=B2 > > On Tue, 11 Feb 2020 at 18:58, zimoun wrote: >> >> Hi, >> >> Please find attach the almost updated julia using 2 patches. The first >> add a dependency and the second update and patch. >> >> I hope that I do not screw up the indentation; sometimes my Emacs does >> weird stuff. Anyway. >> >> If it is fine with you, please ping Ludo or any committer. :-) >> >> >> Cheers, >> simon --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 25 11:12:25 2020 Received: (at 38546) by debbugs.gnu.org; 25 Feb 2020 16:12:25 +0000 Received: from localhost ([127.0.0.1]:56029 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j6cor-0005dZ-Lc for submit@debbugs.gnu.org; Tue, 25 Feb 2020 11:12:25 -0500 Received: from mail-qt1-f196.google.com ([209.85.160.196]:44165) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j6coq-0005dM-Md for 38546@debbugs.gnu.org; Tue, 25 Feb 2020 11:12:24 -0500 Received: by mail-qt1-f196.google.com with SMTP id j23so9378241qtr.11 for <38546@debbugs.gnu.org>; Tue, 25 Feb 2020 08:12:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=ELJFJr7ER5qP/xzZnP5EXJAsaVapSeuCJ2ku3/Xzh0Q=; b=q6Ti0fsntBzfvB1wl++AZE4Nb8Knrh1urbcVyWaIHnvq54sR+XPosKYqOwJ2b07r7c 0MhgptbPVKp7IRNlvXwfRGTgOPwfGZ8RWi8Q3EA6mQRsrZjpbP5Cbm7BbuPhs1T1uZ2O cT3je182WUsyrM05DiKOICniLy1ygdQcxxcHy8awXPhb+4l3x2/k4iw1AnJwx45DANCN 62vF08pf2HCqcuV9HY2YuFf7rLHqhuV+chh70DIMsJqQk3kcuCu+oMP0+0sysdgtSWDe Qy8NcI4yayHOmrDJZFWiLKim0XDJybyM8xWNwugLxiEhlPytRQ9wDaNMqWK2aiuC9bIv s8oQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=ELJFJr7ER5qP/xzZnP5EXJAsaVapSeuCJ2ku3/Xzh0Q=; b=ceJa66VyVhPjV/7PbUntYC1Vnsqc919jWyrpCj3HaqscLGhJLH0eCRjsJI9kvmE3Lh lqDHmKvpIoG04T9ke05OeM94iNgQcaWM7lE3FS0SGIqyj8yYq5iu5s8bLlZ8jPE2vgpz QluFWQg9yCCW+jim95CqxmyxMnHg0VzDFz1oopWLK6urOVmQs/LyijyZzRPKaN97MonV JBfcqjDN35J+IBWOr4FsmH8Cs8+SZ5BOInG1KENHkipqyFXrtjOXu9z7IMk+KMezAlF9 dDo9/CYMdXnX412ri9P7DTSe8zb9zrp8ilbEqfHdrTRfCQdo7C3n4Tz1kqFbjaZxslYU LLbg== X-Gm-Message-State: APjAAAV6S3il45hba3coma+qrx9kSL53Rxi3cR1fmIWDqiipWVU7VPg+ jUYezxv4ZA6z3F79ZhW4ybpNTuvzz46GlF8SamU= X-Google-Smtp-Source: APXvYqxK5NfNBOJSx1VrZ3qmBweKPRc3aVL4BfA++dLB9yLC7k8AoLt+nAmFqgY45GVY6oogKOQl0tlRB7rPUerV3Yg= X-Received: by 2002:ac8:550a:: with SMTP id j10mr56345033qtq.354.1582647139283; Tue, 25 Feb 2020 08:12:19 -0800 (PST) MIME-Version: 1.0 References: <87imjvwvjx.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> In-Reply-To: <87imjvwvjx.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> From: zimoun Date: Tue, 25 Feb 2020 17:12:08 +0100 Message-ID: Subject: Re: [bug#38546] [PATCH v4] Update Julia 1.3.1: almost done To: =?UTF-8?Q?Nicol=C3=B2_Balzarotti?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: 38546@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Nicol=C3=B2, On Mon, 24 Feb 2020 at 21:59, Nicol=C3=B2 Balzarotti = wrote: > Here's a friendly 1.3.1 + HTTP.jl + dependencies patch submission. > Hopefully this time it's fine. Package precompilation should be working > now (except json, whose cache, for some reason, is not valid and gets > rebuilt). Cool! Thank you. I would like to first push 1.3.1, i.e., the patches v4. Then let open another bug report with the patches attached here. Otherwise, it seems a non-ending process. ;-) About processing, if you use Magit to generate your patches, do not forget to increment the reroll-count (W c C-m v) otherwise "git format-patch -v5". It eases to know which version of the patches we are talking about. For example, here it is the fifth. > As a reminder: determinism is still not addressed and will be fixed in > the 1.4.0 release (hopefully, upstream is still not that responsive). > However, there are dozens of julia packages that I want to package, so > if this first batch is finally fine, more will come. Yes, hope soon. :-) Cheers, simon From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 25 13:08:49 2020 Received: (at 38546) by debbugs.gnu.org; 25 Feb 2020 18:08:49 +0000 Received: from localhost ([127.0.0.1]:56100 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j6edU-00007v-Vl for submit@debbugs.gnu.org; Tue, 25 Feb 2020 13:08:49 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:36106) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j6edT-00007g-BM for 38546@debbugs.gnu.org; Tue, 25 Feb 2020 13:08:48 -0500 Received: by mail-wm1-f66.google.com with SMTP id p17so156202wma.1 for <38546@debbugs.gnu.org>; Tue, 25 Feb 2020 10:08:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-transfer-encoding; bh=CT+oSsBZYOwvKRTfaMzXBIYW/T7gK+yDLkTuHI2MUd8=; b=pgTrwJZ3Z/Ue6uBzFyQ+Nr02gLPyFQ66xHUI+4fMfDvZf3lTfX5Vs7+Ff9CoPzs7WX CoZlNBYy9QTHBTmJsNNA86DZPAWVA+sZw0i+OeSQdk8NRRzbyq2zHazMatlTfr0nBgrb xR3bLTpbObXOZ7CkMYtC5/BLBk9n7PjeauCOKItrnJo48G7JruJCYAXQWW8vAWNhXG3J I9KFpso+mf1S370uGO/4zN0Q+/NKmDC3kUUTE+5fu3PKPHGlJ5NoBAyCyY9NRkghrHOA wlw8OIQIQGze+2VJM6yH58QbbssQrzRBkCUrlT6SF2RFTjGvgEHxwJRD1hTqcEzvWeoy K4Pw== 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:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=CT+oSsBZYOwvKRTfaMzXBIYW/T7gK+yDLkTuHI2MUd8=; b=eggkCuOOAz6730Gzmsz7K7gHMVPPEjc42WohImT9No5TuEjqmvxXt9KwVWKjxch/lK 72200gS3maDJNGL+16na3yNrA2n1pxyyIvpPrxP41I7IcOZP4ZejOAtOmUCiUNTLrHZC vWDfZr6HrYNTw8XNy6pSg7sxC+/FnHCF8ZkJP5QnULH4VsSII6ZEb+jDUn33Z3DCTAFI aSbZc93ETmlOkbo5SK7bxTrELiHz/3402bml7pBcVsaGSNsMtGOlFRlMxwdmrbpDWUGW sow0dLxSnD5Ls5TmbDazOC0+i72fz5uetGRJdyAf1AOB67+vFg7oNe/jOXSjdOY4vg9F e2YQ== X-Gm-Message-State: APjAAAU/fFk8o9OAXzOdHtybxhoinwauOIuG/p7OPASIEQxEABww5cQJ WvjVv9FBNDhl+fPz3QydgodGRmk4 X-Google-Smtp-Source: APXvYqx0iajKiSy+yu7NdauzTi7KKvwnrTxArx2XeMjCY40q9vnc38O9KLSIGYjaGEthE7S+ZBcvaA== X-Received: by 2002:a05:600c:2481:: with SMTP id 1mr460031wms.120.1582654121212; Tue, 25 Feb 2020 10:08:41 -0800 (PST) Received: from guixSD ([95.232.154.110]) by smtp.gmail.com with ESMTPSA id t128sm5398121wmf.28.2020.02.25.10.08.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Feb 2020 10:08:40 -0800 (PST) From: =?utf-8?Q?Nicol=C3=B2?= Balzarotti To: zimoun Subject: Re: [bug#38546] [PATCH v4] Update Julia 1.3.1: almost done In-Reply-To: References: <87imjvwvjx.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> Date: Tue, 25 Feb 2020 19:08:39 +0100 Message-ID: <87fteywndk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: 38546@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) zimoun writes: > Hi Nicol=C3=B2, > > On Mon, 24 Feb 2020 at 21:59, Nicol=C3=B2 Balzarotti wrote: > >> Here's a friendly 1.3.1 + HTTP.jl + dependencies patch submission. >> Hopefully this time it's fine. Package precompilation should be working >> now (except json, whose cache, for some reason, is not valid and gets >> rebuilt). > > Cool! Thank you. > I would like to first push 1.3.1, i.e., the patches v4. > OOk > Then let open another bug report with the patches attached here. > Otherwise, it seems a non-ending process. ;-) > > > About processing, if you use Magit to generate your patches, do not > forget to increment the reroll-count (W c C-m v) otherwise "git > format-patch -v5". It eases to know which version of the patches we > are talking about. For example, here it is the fifth. > Thanks! Didn't know about it. Should I re-submit them with the v5 prefix? > >> As a reminder: determinism is still not addressed and will be fixed in >> the 1.4.0 release (hopefully, upstream is still not that responsive). >> However, there are dozens of julia packages that I want to package, so >> if this first batch is finally fine, more will come. > > Yes, hope soon. :-) > Nicol=C3=B2 > > Cheers, > simon From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 26 07:32:44 2020 Received: (at 38546) by debbugs.gnu.org; 26 Feb 2020 12:32:44 +0000 Received: from localhost ([127.0.0.1]:56552 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j6vrc-0007cE-RY for submit@debbugs.gnu.org; Wed, 26 Feb 2020 07:32:44 -0500 Received: from mail-wm1-f48.google.com ([209.85.128.48]:52930) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j6vrY-0007VG-DV for 38546@debbugs.gnu.org; Wed, 26 Feb 2020 07:32:32 -0500 Received: by mail-wm1-f48.google.com with SMTP id p9so2865024wmc.2 for <38546@debbugs.gnu.org>; Wed, 26 Feb 2020 04:32:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version; bh=xLqIqzOO6uJ4rf6DIwxkwMrauBRu2nkrR0p2beYDiYY=; b=ZG3a2ncs8PY+XJPz7M+X8pKhZj5VJDJU25B/eLJB/pkT/j9hQtAN3Hc4FpdafRsllK cx5ucI59JnxOFWNCvDaCCcaJ0BftgLowYfxAZdk+6CirLgM0r3cKIZVYM/ZJkQVrPep5 mc7z+0DuG6ZNH4BhDLuSMDtCdsxBoNgKDUNI3Dj8joQHRZLCa1MAVRMg7zlUtf7m1iHK iMjiJ3WKYxdYcnPp1jpXvYttU+gYCf2kVSd5l4GZXwjA9sw8GfBd0CdrI33iSWM1v7sV Tn89yaOl2vvIHN+7Pj5zKSQVtBOe+9AGVjNvJF/avoQQB3XUZksY6mNhP5M3+I87yb/e j6rQ== 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:in-reply-to:references:date :message-id:mime-version; bh=xLqIqzOO6uJ4rf6DIwxkwMrauBRu2nkrR0p2beYDiYY=; b=f5+azvfRRwQVmh6NYny1KSpJZTe+AJTV30t+qR3lZZ7ng19ysJVMi68HKJYlrT23g7 gb9DIX/k3OUZFVXJFRcvPEzZIZJjfulMctd0Ah6ZSCJHKtassrHlPuGkHQvHkkXl2a1o OESq1Aba6qFCl159vNHf7Q4WpRcHeG+aEUXTPoNR8SlxpbZz7syUm4oxOVEh+JJhq7My pk5DZlff96sJqOC8hr4r42d3GUQQIyEe6xbhG3SUN9QZlWW3d6+GbD8Mo7btQysB+2I5 S0/mEUo4BHzy3YdKXLVKLeUin92pC3xzmo09dB4mDhX/QzUD+5YgtITOW3MnzLzfjGe4 N6MA== X-Gm-Message-State: APjAAAXw+k6iFNkjpPeDiPkZvXOdyvph+XzDO29lcigabVhRz8DPQ9Bt 92BA6khV+tan03Nli4uLn6lelE8q X-Google-Smtp-Source: APXvYqwLr8/LOqVZEtH0FpSkRocNbd+b1Nsb64BH5HQ+tvxb9oYATN11pAk3PKfWHEodud64O/IPag== X-Received: by 2002:a05:600c:20c6:: with SMTP id y6mr5462108wmm.95.1582720342035; Wed, 26 Feb 2020 04:32:22 -0800 (PST) Received: from guixSD ([95.232.154.110]) by smtp.gmail.com with ESMTPSA id s1sm3058263wro.66.2020.02.26.04.32.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2020 04:32:20 -0800 (PST) From: =?utf-8?Q?Nicol=C3=B2?= Balzarotti To: zimoun Subject: [PATCH v5] Julia: Update to 1.3.1 In-Reply-To: <87fteywndk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> References: <87imjvwvjx.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87fteywndk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> Date: Wed, 26 Feb 2020 13:32:19 +0100 Message-ID: <87blplwmuk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi, v5 of the Julia 1.3.1 update patch. This patch updates julia to 1.3.1. According to previous simon email, fixes to julia build system and julia package submissions will be done separately. Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: gnu.org] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.48 listed in list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 1.9 PDS_OTHER_BAD_TLD Untrustworthy TLDs [URI: nixo.xyz (xyz)] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.48 listed in wl.mailspike.net] X-Debbugs-Envelope-To: 38546 Cc: 38546@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.9 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, v5 of the Julia 1.3.1 update patch. This patch updates julia to 1.3.1. According to previous simon email, fixes to julia build system and julia package submissions will be done separately. Thanks, Nicol=C3=B2 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=v5-0001-gnu-Add-dsfmt.patch Content-Transfer-Encoding: quoted-printable >From aa02b06ade12613f81ddc0415fb0eecffb808352 Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 15:06:28 +0100 Subject: [PATCH v5 1/2] gnu: Add dsfmt. * gnu/packages/maths.scm (dsfmt): New variable. --- gnu/packages/maths.scm | 72 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 10071c10d5..1c55334a7d 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -33,6 +33,7 @@ ;;; Copyright =C2=A9 2019 Nicolas Goaziou ;;; Copyright =C2=A9 2019 Steve Sprang ;;; Copyright =C2=A9 2019 Robert Smith +;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -373,6 +374,77 @@ semiconductors.") (license license:gpl3+) (home-page "https://www.gnu.org/software/dionysus/"))) =20 +(define-public dsfmt + (package + (name "dsfmt") + (version "2.2.3") + (source + (origin + (method url-fetch) + (uri + (string-append + "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-" + version ".tar.gz")) + (sha256 + (base32 + "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42")) + ;; julia needs those (and is the only program depending on dsfmt no= w) + (patches + (list + (origin + (method url-fetch) + (uri (string-append + "https://raw.githubusercontent.com/JuliaLang/julia/" + "v1.3.0/deps/patches/dSFMT.c.patch")) + (sha256 (base32 + "09mhv11bms8jsmkmdqvlcgljwhzw3b6n9nncpi2b6dla9798hw2y"= )) + (file-name "dSFMT.c.patch")) + (origin + (method url-fetch) + (uri (string-append + "https://raw.githubusercontent.com/JuliaLang/julia/" + "v1.3.0/deps/patches/dSFMT.h.patch")) + (sha256 (base32 + "1py5rd0yxic335lzka23f6x2dhncrpizpyrk57gi2f28c0p98y5n"= )) + (file-name "dSFMT.h.patch")))))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) ;no configure script + (replace 'build + ;; upstream Makefile does not build a shared library + (lambda _ + (invoke + "gcc" + ;; flags copied from julia + ;; https://github.com/JuliaLang/julia/blob/v1.3.0/deps/dsfmt= .mk + "-DNDEBUG" "-DDSFMT_MEXP=3D19937" + "-fPIC" "-DDSFMT_DO_NOT_USE_OLD_NAMES" + "-O3" "-finline-functions" "-fomit-frame-pointer" + "-fno-strict-aliasing" "--param" "max-inline-insns-single=3D= 1800" + "-Wmissing-prototypes" "-Wall" "-std=3Dc99" "-shared" "dSFMT= .c" + "-o" "libdSFMT.so"))) + (replace 'install ;no "install" target + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") + "/lib")) + (inc (string-append (assoc-ref outputs "out") + "/include"))) + (install-file "libdSFMT.so" lib) + (install-file "dSFMT.h" inc) + #t)))))) + (synopsis "Double precision SIMD-oriented Fast Mersenne Twister") + (description + "The dSMFT package speeds up Fast Mersenne Twister generation by avoi= ding +the expensive conversion of integer to double (floating point). dSFMT dir= ectly +generates double precision floating point pseudorandom numbers which have = the +IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std 754-1985) +format. dSFMT is only available on the CPUs which use IEEE 754 format dou= ble +precision floating point numbers.") + (home-page "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/") + (license license:bsd-3))) + (define-public gsl (package (name "gsl") --=20 2.25.0 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=v5-0002-gnu-julia-Update-to-1.3.1.patch Content-Transfer-Encoding: quoted-printable >From 76584b9e84ee988d038a1f6ad61333207353e001 Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 24 Feb 2020 15:07:27 +0100 Subject: [PATCH v5 2/2] gnu: julia: Update to 1.3.1. * gnu/packages/julia.scm (julia): Update to 1.3.1. * gnu/packages/julia.scm (libuv-julia): Update to 2.0.0. * gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch: New file. * gnu/local.mk: Add julia-SOURCE_DATE_EPOCH-mtime.patch. * gnu/packages/julia.scm (llvm-patch, llvm-patch-url): Rename to... (julia-patch, llvm-patch-rul): ... these. --- gnu/local.mk | 2 + gnu/packages/julia.scm | 348 +++++++++--------- .../julia-SOURCE_DATE_EPOCH-mtime.patch | 22 ++ 3 files changed, 188 insertions(+), 184 deletions(-) create mode 100644 gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch diff --git a/gnu/local.mk b/gnu/local.mk index 1f7cad9d32..c2273d5745 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -26,6 +26,7 @@ # Copyright =C2=A9 2019 Evan Straw # Copyright =C2=A9 2019 Brett Gilio # Copyright =C2=A9 2019 Amin Bandali +# Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti # # This file is part of GNU Guix. # @@ -1038,6 +1039,7 @@ dist_patch_DATA =3D \ %D%/packages/patches/java-xerces-bootclasspath.patch \ %D%/packages/patches/java-xerces-build_dont_unzip.patch \ %D%/packages/patches/java-xerces-xjavac_taskdef.patch \ + %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/jfsutils-add-sysmacros.patch \ %D%/packages/patches/jfsutils-include-systypes.patch \ diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 65a5e42beb..74d214930e 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright =C2=A9 2015, 2016, 2017 Ricardo Wurmus ;;; Copyright =C2=A9 2016 Efraim Flashner +;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) #:use-module (gnu packages elf) #:use-module (gnu packages gcc) #:use-module (gnu packages llvm) @@ -43,18 +45,18 @@ #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages ssh) #:use-module (gnu packages wget) #:use-module (ice-9 match)) =20 (define libuv-julia - (let ((commit "26dbe5672c33fc885462c509fe2a9b36f35866fd") - (revision "6")) - ;; When upgrading Julia, also upgrade this. - ;; Get the commit from https://github.com/JuliaLang/julia/blob/v1.1.1/= deps/libuv.version + (let ((commit "35b1504507a7a4168caae3d78db54d1121b121e1")) + ;; When upgrading Julia, also upgrade this. Get the commit from + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/deps/libuv.version (package (inherit libuv) (name "libuv-julia") - (version (string-append "1.9.0-" revision "." (string-take commit 8)= )) + (version (string-append "2.0.0" "." (string-take commit 8))) (source (origin (method git-fetch) (uri (git-reference @@ -63,7 +65,7 @@ (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "17pn2xmqaramilx897s9grs966i5246gi6sric5alch4g9j4685n"))= )) + "0dn3v6fdp1z382pqg3nhjzk60l61ky9b65mfgaj29fv2da95rwjs"))= )) (build-system gnu-build-system) (arguments (substitute-keyword-arguments (package-arguments libuv) @@ -72,14 +74,37 @@ (delete 'autogen))))) (home-page "https://github.com/JuliaLang/libuv")))) =20 -(define (llvm-patch-url version name) +(define libunwind-julia + ;; The Julia projects requires their patched version. + ;; Get from https://github.com/JuliaLang/julia/tree/master/deps/patches + (package + (inherit libunwind) + (name "libunwind-julia") + (version "1.3.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://savannah/libunwind/libunwind-" + version ".tar.gz")) + (sha256 + (base32 + "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3")) + (patches + (list + (julia-patch "libunwind-prefer-extbl" + "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m= 1") + (julia-patch "libunwind-static-arm" + "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhg= q"))))) + (home-page "https://github.com/JuliaLang/tree/master/deps/"))) + +(define (julia-patch-url version name) (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" ver= sion - "/deps/patches/" name)) + "/deps/patches/" name ".patch")) =20 -(define (llvm-patch name sha) - (let ((version "1.1.1")) +(define (julia-patch name sha) + (let ((version "1.3.1")) (origin (method url-fetch) - (uri (llvm-patch-url version name)) + (uri (julia-patch-url version name)) (sha256 (base32 sha)) (file-name name)))) =20 @@ -98,41 +123,44 @@ ;; but they are required to build Julia. ;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi= ?bug=3D919628 (patches - (list - (llvm-patch "llvm-6.0-D44650.patch" - "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") - (llvm-patch "llvm-6.0-DISABLE_ABI_CHECKS.patch" - "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") - (llvm-patch "llvm-6.0-NVPTX-addrspaces.patch" - "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") - (llvm-patch "llvm-6.0.0_D27296-libssp.patch" - "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") - (llvm-patch "llvm-D27629-AArch64-large_model_6.0.1.patch" - "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") - (llvm-patch "llvm-D34078-vectorize-fdiv.patch" - "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") - (llvm-patch "llvm-D42262-jumpthreading-not-i1.patch" - "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") - (llvm-patch "llvm-D44892-Perf-integration.patch" - "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") - (llvm-patch "llvm-D46460.patch" - "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") - (llvm-patch "llvm-D49832-SCEVPred.patch" - "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") - (llvm-patch "llvm-D50010-VNCoercion-ni.patch" - "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") - (llvm-patch "llvm-D50167-scev-umin.patch" - "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") - (llvm-patch "llvm-OProfile-line-num.patch" - "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") - (llvm-patch "llvm-PPC-addrspaces.patch" - "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") - (llvm-patch "llvm-rL323946-LSRTy.patch" - "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") - (llvm-patch "llvm-rL326967-aligned-load.patch" - "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") - (llvm-patch "llvm-rL327898.patch" - "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))) + (map (match-lambda + ((name hash) + (julia-patch name hash))) + (list + '("llvm-6.0-D44650" + "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fx= yb") + '("llvm-6.0-DISABLE_ABI_CHECKS" + "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36p= yg") + '("llvm-6.0-NVPTX-addrspaces" + "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jksc= qc") + '("llvm-6.0.0_D27296-libssp" + "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdp= fh") + '("llvm-D27629-AArch64-large_model_6.0.1" + "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j= 4z") + '("llvm-D34078-vectorize-fdiv" + "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawka= ay") + '("llvm-D42262-jumpthreading-not-i1" + "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixg= aq") + '("llvm-D44892-Perf-integration" + "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b= 05") + '("llvm-D46460" + "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbs= fb") + '("llvm-D49832-SCEVPred" + "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dl= bn") + '("llvm-D50010-VNCoercion-ni" + "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhf= kp") + '("llvm-D50167-scev-umin" + "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q= 6v") + '("llvm-OProfile-line-num" + "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78= c7") + '("llvm-PPC-addrspaces" + "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny0= 1p") + '("llvm-rL323946-LSRTy" + "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9f= ns") + '("llvm-rL326967-aligned-load" + "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9= v4") + '("llvm-rL327898" + "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8b= nq")))))) (arguments (substitute-keyword-arguments (package-arguments llvm-6) ((#:configure-flags flags) @@ -158,7 +186,7 @@ (define-public julia (package (name "julia") - (version "1.1.1") + (version "1.3.1") (source (origin (method url-fetch) (uri (string-append @@ -166,7 +194,9 @@ version "/julia-" version ".tar.gz")) (sha256 (base32 - "0hk983mywimclgnjc41zmlppm5kfdz2aj85ky07p49ilcqxi998f")))) + "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")) + (patches + (search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -188,30 +218,25 @@ (add-after 'unpack 'prepare-deps (lambda* (#:key inputs #:allow-other-keys) (mkdir "deps/srccache") - (copy-file (assoc-ref inputs "dsfmt") - "deps/srccache/dsfmt-2.2.3.tar.gz") + ;; no USE_SYSTEM_{OBJCONV/LIBWHICH} (copy-file (assoc-ref inputs "objconv") "deps/srccache/objconv.zip") - (copy-file (assoc-ref inputs "suitesparse") - "deps/srccache/SuiteSparse-4.4.5.tar.gz") - (copy-file (string-append (assoc-ref inputs "virtualenv") - "/bin/virtualenv") - "julia-env") (copy-file (assoc-ref inputs "libwhich") (string-append "deps/srccache/libwhich-" "81e9723c0273d78493dc8c8ed570f68d9c= e7e89e" ".tar.gz")) - (copy-file (assoc-ref inputs "rmath") - "deps/srccache/Rmath-julia-0.1.tar.gz") =20 ;; needed by libwhich (setenv "LD_LIBRARY_PATH" (string-join (map (lambda (pkg) (string-append (assoc-ref inputs = pkg) "/lib")) - '("arpack-ng" "fftw" "gmp" "lapack" - "libgit2" "mpfr" "openblas" "openlibm" - "openspecfun" "pcre2")) + '("arpack-ng" "curl" "dsfmt" + "gmp" "lapack" + "libssh2" "libgit2" + "mbedtls" "mpfr" + "openblas" "openlibm" "pcre2" + "suitesparse")) ":")) #t)) ;; FIXME: Building the documentation requires Julia packages that @@ -233,44 +258,12 @@ ;; using the output of "/sbin/ldconfig -p". Since ldconfig is n= ot ;; used in Guix, we patch runtime_ccall.cpp to contain a static = map. (lambda* (#:key inputs #:allow-other-keys) - (use-modules (ice-9 match)) - (substitute* "src/runtime_ccall.cpp" - ;; Patch out invocations of '/sbin/ldconfig' to avoid getting - ;; error messages about missing '/sbin/ldconfig' on Guix Sys= tem. - (("popen\\(.*ldconfig.*\\);") - "NULL;\n") - - ;; Populate 'sonameMap'. - (("jl_read_sonames.*;") - (string-join - (map (match-lambda - ((input libname soname) - (string-append - "sonameMap[\"" libname "\"] =3D " - "\"" (assoc-ref inputs input) "/lib/" soname "\";= "))) - '(("libc" "libc" "libc.so.6") - ("pcre2" "libpcre2-8" "libpcre2-8.so") - ("mpfr" "libmpfr" "libmpfr.so") - ("openblas" "libblas" "libopenblas.so") - ("arpack-ng" "libarpack" "libarpack.so") - ("lapack" "liblapack" "liblapack.so") - ("libgit2" "libgit2" "libgit2.so") - ("gmp" "libgmp" "libgmp.so") - ("openspecfun" "libopenspecfun" "libopenspecfun.so") - ("fftw" "libfftw3" "libfftw3_threads.s= o") - ("fftwf" "libfftw3f" "libfftw3f_threads.= so")))))) - (substitute* "base/math.jl" - (("const libm =3D Base.libm_name") - (string-append "const libm =3D \"" - (assoc-ref inputs "openlibm") - "/lib/libopenlibm.so" - "\"")) - (("const openspecfun =3D \"libopenspecfun\"") - (string-append "const openspecfun =3D \"" - (assoc-ref inputs "openspecfun") - "/lib/libopenspecfun.so" - "\""))) - #t)) + (substitute* "base/math.jl" + (("const libm =3D Base.libm_name") + (string-append "const libm =3D \"" + (assoc-ref inputs "openlibm") + "/lib/libopenlibm.so" + "\""))))) (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 @@ -278,10 +271,10 @@ ;; collection of build targets and a list of libraries to link ;; against. (substitute* "src/flisp/Makefile" - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\): \\$\\(OBJS\\) \\$\\(L= IBFILES_release\\)") - "$(BUILDDIR)/$(EXENAME): $(OBJS) $(LLT_release)") - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug: \\$\\(DOBJS\\) = \\$\\(LIBFILES_debug\\)") - "$(BUILDDIR)/$(EXENAME)-debug: $(DOBJS) $(LLT_debug)")) + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)\\$\\(EXE\\): \\$\\(OB= JS\\) \\$\\(LIBFILES_release\\)") + "$(BUILDDIR)/$(EXENAME)$(EXE): $(OBJS) $(LLT_release)") + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug$(EXE): \\$\\(DO= BJS\\) \\$\\(LIBFILES_debug\\)") + "$(BUILDDIR)/$(EXENAME)-debug\\$\\(EXE\\): $(DOBJS) $(LLT_= debug)")) =20 ;; The REPL must be linked with libuv. (substitute* "ui/Makefile" @@ -296,39 +289,50 @@ "/include/uv/errno.h"))) #t)) (add-before 'build 'replace-default-shell - (lambda _ - (substitute* "base/client.jl" - (("/bin/sh") (which "sh"))) - #t)) - (add-after 'unpack 'hardcode-paths (lambda _ - (substitute* "stdlib/InteractiveUtils/src/InteractiveUtils.jl" - (("`which") (string-append "`" (which "which"))) - (("`wget") (string-append "`" (which "wget")))) + (substitute* "base/client.jl" + (("/bin/sh") (which "sh"))) + #t)) + (add-before 'build 'fix-precompile + (lambda _ + (substitute* "base/loading.jl" + (("something(Base.active_project(), \"\")") "\"\"")) #t)) (add-before 'check 'disable-broken-tests (lambda _ - (define (touch file-name) - (call-with-output-file file-name (const #t))) - ;; FIXME: All git tests works except this one. But *THIS* "fix" - ;; is not working, so right now I'm disabling all libgit2.jl = tests - ;; (substitute* "stdlib/LibGit2/test/libgit2.jl" - ;; (("!LibGit2.use_http_path(cfg, github_cred)") "true") - ;; (("LibGit2.use_http_path(cfg, mygit_cred)") "true")) - (map (lambda (test) - (delete-file test) - (touch test)) - '("stdlib/Sockets/test/runtests.jl" - "stdlib/Distributed/test/runtests.jl" - ;; FIXME: see above - "stdlib/LibGit2/test/libgit2.jl")) - (substitute* "test/choosetests.jl" - ;; These tests fail, probably because some of the input - ;; binaries have been stripped and thus backtraces don't look - ;; as expected. - (("\"backtrace\",") "") - (("\"cmdlineargs\",") "")) - #t))) + (substitute* "test/choosetests.jl" + (("tests =3D testnames") + ;; Those failings are not deterministic. They depends on = the + ;; running order. I think it depends on the number of + ;; runners, disabling it for now + ;; https://github.com/JuliaLang/julia/issues/34330 + "tests =3D filter(e->!in(e,[\"backtrace\",\"exceptions\", + \"stress\",\"precompile\", + \"client\",\"stacktraces\"]), + testnames)")) + ;; 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 + (substitute* "test/cmdlineargs.jl" + (("\"JULIA_PROJECT\"") "\"HOME\"=3D>\"/tmp\", \"JULIA_PROJE= CT\"")) + ;; Marking the test as broken as it's a known bug: + ;; https://github.com/JuliaLang/julia/issues/32377 + (substitute* "stdlib/REPL/test/replcompletions.jl" + (("@test count") "@test_broken count")) + #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=3D" (assoc-ref %outputs "out")) @@ -346,25 +350,20 @@ (_ "MARCH=3DUNSUPPORTED")) =20 "CONFIG_SHELL=3Dbash" ;needed to build bundled libraries - "USE_SYSTEM_DSFMT=3D0" ;not packaged for Guix and upstream has = no - ;build system for a shared library. + ;; list of "USE_SYSTEM_*" is here: + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/Make.inc + "USE_SYSTEM_DSFMT=3D1" + "USE_SYSTEM_P7ZIP=3D1" "USE_SYSTEM_LAPACK=3D1" "USE_SYSTEM_BLAS=3D1" "USE_BLAS64=3D0" ;needed when USE_SYSTEM_BLAS=3D1 "LIBBLAS=3D-lopenblas" "LIBBLASNAME=3Dlibopenblas" =20 - "USE_SYSTEM_FFTW=3D1" - "LIBFFTWNAME=3Dlibfftw3" - "LIBFFTWFNAME=3Dlibfftw3f" - - ;; TODO: Suitesparse does not install shared libraries, so we cann= ot - ;; use the suitesparse package. - ;; "USE_SYSTEM_SUITESPARSE=3D1" - ;; (string-append "SUITESPARSE_INC=3D-I " - ;; (assoc-ref %build-inputs "suitesparse") - ;; "/include") - + "USE_SYSTEM_SUITESPARSE=3D1" + (string-append "SUITESPARSE_INC=3D-I " + (assoc-ref %build-inputs "suitesparse") + "/include") "USE_GPL_LIBS=3D1" ;proudly "USE_SYSTEM_UTF8PROC=3D1" (string-append "UTF8PROC_INC=3D" @@ -390,11 +389,16 @@ "USE_SYSTEM_MPFR=3D1" "USE_SYSTEM_ARPACK=3D1" "USE_SYSTEM_LIBGIT2=3D1" - "USE_SYSTEM_ZLIB=3D1" - "USE_SYSTEM_OPENSPECFUN=3D1"))) + (string-append "LIBUV=3D" + (assoc-ref %build-inputs "libuv") + "/lib/libuv.so") + (string-append "LIBUV_INC=3D" + (assoc-ref %build-inputs "libuv") + "/include") + "USE_SYSTEM_ZLIB=3D1"))) (inputs `(("llvm" ,llvm-julia) - + ("p7zip" ,p7zip) ;; The bundled version is 3.3.0 so stick to that version. With oth= er ;; versions, we get test failures in 'linalg/arnoldi' as described = in ;; . @@ -403,12 +407,12 @@ ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like ("lapack" ,lapack) ("openblas" ,openblas) ;Julia does not build with Atlas - ("libunwind" ,libunwind) + ("libunwind" ,libunwind-julia) ("openlibm" ,openlibm) - ("openspecfun" ,openspecfun) + ("mbedtls" ,mbedtls-apache) + ("curl" ,curl) ("libgit2" ,libgit2) - ("fftw" ,fftw) - ("fftwf" ,fftwf) + ("libssh2" ,libssh2) ("fortran" ,gfortran) ("libuv" ,libuv-julia) ("pcre2" ,pcre2) @@ -418,31 +422,12 @@ ("which" ,which) ("zlib" ,zlib) ("gmp" ,gmp) - ("virtualenv" ,python2-virtualenv) + ("suitesparse" ,suitesparse) ;; FIXME: The following inputs are downloaded from upstream to allo= w us ;; to use the lightweight Julia release tarball. Ideally, these in= puts ;; would eventually be replaced with proper Guix packages. - - ;; TODO: run "make -f contrib/repackage_system_suitesparse4.make" t= o copy static lib - ;; Find dependency versions here: - ;; https://raw.githubusercontent.com/JuliaLang/julia/77a2c1e245c858= 12dc1c7687540beedecc52758f/deps/Versions.make - ("rmath" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaLang/Rmath-julia") - (commit "v0.1"))) - (file-name "rmath-julia-0.1-checkout") - (sha256 - (base32 - "1zkpy0cg5zivq40zbhbdgj9128fqzs2j94wkwih8nc6xaj3gp9p6")))) - ("suitesparse" - ,(origin - (method url-fetch) - (uri "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse= -4.4.5.tar.gz") - (sha256 - (base32 - "1jcbxb8jx5wlcixzf6n5dca2rcfx6mlcms1k2rl5gp67ay3bix43")))) + ;; Find dependencies versions here: + ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Ve= rsions.make ("objconv" ,(origin (method url-fetch) @@ -466,16 +451,8 @@ ".tar.gz")) (sha256 (base32 - "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) - ("dsfmt" - ,(origin - (method url-fetch) - (uri (string-append - "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/" - "SFMT/dSFMT-src-2.2.3.tar.gz")) - (sha256 - (base32 - "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42")))))) + "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) + ("dsfmt" ,dsfmt))) (native-inputs `(("openssl" ,openssl) ("perl" ,perl) @@ -485,7 +462,10 @@ (native-search-paths (list (search-path-specification (variable "JULIA_LOAD_PATH") - (files (list "share/julia/packages/"))))) + (files (list "share/julia/packages/"))) + (search-path-specification + (variable "JULIA_DEPOT_PATH") + (files (list "share/julia/"))))) ;; Julia is not officially released for ARM and MIPS. ;; See https://github.com/JuliaLang/julia/issues/10639 (supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux")) diff --git a/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch b/gnu= /packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch new file mode 100644 index 0000000000..b60f284923 --- /dev/null +++ b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch @@ -0,0 +1,22 @@ +Fix one of upstream non-determinism, tracked here: + +https://github.com/JuliaLang/julia/issues/34115 +https://github.com/JuliaLang/julia/issues/25900 + + +Patch by Nicol=C3=B3 Balzarotti . + +--- a/base/loading.jl ++++ b/base/loading.jl +@@ -807,7 +807,10 @@ + path =3D normpath(joinpath(dirname(prev), _path)) + end + if _track_dependencies[] +- push!(_require_dependencies, (mod, path, mtime(path))) ++ push!(_require_dependencies, ++ (mod, path, ++ haskey(ENV, "SOURCE_DATE_EPOCH") ? ++ parse(Float64, ENV["SOURCE_DATE_EPOCH"]) : mtime(path))) + end + return path, prev + end --=20 2.25.0 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Nicol=C3=B2 Balzarotti writes: > zimoun writes: > >> Hi Nicol=C3=B2, >> >> On Mon, 24 Feb 2020 at 21:59, Nicol=C3=B2 Balzarotti wrote: >> >>> Here's a friendly 1.3.1 + HTTP.jl + dependencies patch submission. >>> Hopefully this time it's fine. Package precompilation should be working >>> now (except json, whose cache, for some reason, is not valid and gets >>> rebuilt). >> >> Cool! Thank you. >> I would like to first push 1.3.1, i.e., the patches v4. >> > OOk >> Then let open another bug report with the patches attached here. >> Otherwise, it seems a non-ending process. ;-) >> >> >> About processing, if you use Magit to generate your patches, do not >> forget to increment the reroll-count (W c C-m v) otherwise "git >> format-patch -v5". It eases to know which version of the patches we >> are talking about. For example, here it is the fifth. >> > Thanks! Didn't know about it. Should I re-submit them with the v5 prefix? >> >>> As a reminder: determinism is still not addressed and will be fixed in >>> the 1.4.0 release (hopefully, upstream is still not that responsive). >>> However, there are dozens of julia packages that I want to package, so >>> if this first batch is finally fine, more will come. >> >> Yes, hope soon. :-) >> > Nicol=C3=B2 >> >> Cheers, >> simon --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 16 06:07:21 2020 Received: (at 38546) by debbugs.gnu.org; 16 Mar 2020 10:07:21 +0000 Received: from localhost ([127.0.0.1]:36080 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jDmeW-0005iA-W6 for submit@debbugs.gnu.org; Mon, 16 Mar 2020 06:07:21 -0400 Received: from flashner.co.il ([178.62.234.194]:50724) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jDmeV-0005ht-DM for 38546@debbugs.gnu.org; Mon, 16 Mar 2020 06:07:19 -0400 Received: from localhost (unknown [141.226.13.108]) by flashner.co.il (Postfix) with ESMTPSA id 8258F401A0; Mon, 16 Mar 2020 10:07:12 +0000 (UTC) Date: Mon, 16 Mar 2020 12:06:41 +0200 From: Efraim Flashner To: =?utf-8?Q?Nicol=C3=B2?= Balzarotti Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Message-ID: <20200316100641.GK927@E5400> References: <87imjvwvjx.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87fteywndk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87blplwmuk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="d6d1KVhp94hk3Jrm" Content-Disposition: inline In-Reply-To: <87blplwmuk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: 38546@debbugs.gnu.org, zimoun X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --d6d1KVhp94hk3Jrm Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable The upgrade of libgit2 to 0.99.0 seems to have broken this julia bin/install_packages.jl Activating environment at `~/workspace/LMGPU.jl/Project.toml` Cloning default registries into `~/.julia` Cloning registry from "https://github.com/JuliaRegistries/General.git" ERROR: LoadError: failed to clone from https://github.com/JuliaRegistries/G= eneral.git, error: GitError(Code:ERROR, Class:Invalid, invalid version 0 on= git_proxy_options) Other bug reports from other libgit2 version bumps suggest using an older version of libgit2 --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --d6d1KVhp94hk3Jrm Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl5vT64ACgkQQarn3Mo9 g1EdbA//Q8mcp3oISeiBKSdkgjF+3VqMWY007AnXpa/frFgkyqS/A1m0oVZUbk54 dVZlqItIOIqZ4wA+t237VIMLZzpUdjoC6UP4GqOnDP2Mha4U5xUI9rxydD1Jt0HE Pm9Afz+vODeAQWlfC1fePhTge3qXV2bInUsnvrKmD8onZLTrR6aOdTtHNm7iBUzH t9o/OTJH0sdlsy7Jb5rDAfZuQ4H5BQgIipGGvluoQir7e6ui3mOBpeVLvsXq+qxV owKj/ir8Kzr/kOqrkdWfKEisFfzGy2tdpCCFCDiZnvocaNi0xwdFP2j5/y20kv81 hDX70G0OeZ2C72PWCDnssmSVEO5LsFNZSlpyy3dklZtIxqE55N6jz5a9U6nfl/0w xElVsANaUcM4mrWCZNb8I42l1H7qpnZ2RvlDcF23gHpOAXJWedQTBWP4utVIKuDI Q7HO/WExw0a+kvXDXlMC0URY5V0SvjgVbPdfiZg0VZQ7HTbU1F7MoIhBKlNjKYp8 +AbSQjLoyJxi49AvcwcVXyxU1pHV5JleANCUR4EAWxVEJ/CSupLNdsJQrdYkeRrh V91qR/upg1yP4A4VqJeXSosGDcQ8T1bqgf2ErobYnh+gv1U8RER6JTaw5q7bmP6G KZXAU8wFLXqk20z3U11xe/S//6PH0sgPgONd3bRuFZQ2OoESVoo= =J9Pl -----END PGP SIGNATURE----- --d6d1KVhp94hk3Jrm-- From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 17 03:51:24 2020 Received: (at 38546) by debbugs.gnu.org; 17 Mar 2020 07:51:24 +0000 Received: from localhost ([127.0.0.1]:38142 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jE70W-00044Q-9E for submit@debbugs.gnu.org; Tue, 17 Mar 2020 03:51:24 -0400 Received: from mail-wr1-f67.google.com ([209.85.221.67]:34255) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jE70T-00044C-Uc for 38546@debbugs.gnu.org; Tue, 17 Mar 2020 03:51:23 -0400 Received: by mail-wr1-f67.google.com with SMTP id z15so24279023wrl.1 for <38546@debbugs.gnu.org>; Tue, 17 Mar 2020 00:51:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-transfer-encoding; bh=BslfkUVVnRhfadN9h254wi+IHEcylE79fltgw3U5uuQ=; b=bswk/TUgxj549lW3gPGLfFGllCwLdJUzAizZ0A/90M3UXuBgMo1UF1T6c8r9s5gxZa fo1eCuh0xh3g1S37eHmEXqMMAiuie6jW6VAeW7WiTAWJSYhz1sFAE7OUlWn0qjoO3vt5 ZwV6oXbhd99JdVCk1SVzzy4JT/wnL0z9qKq7jBQIzEnSj4LzGI3/Cid1/wlcGpc53rro a4JEouTQJVVFqVSjFyrETqI8Dyge5d4PCW220yXMRCUubCtSzdilCl98EK50QzSVY3Ls KXTQfnGpkxIeF48ujBSt5WqT8ERsootKPb1rHPUDkusOLMejpC9n6tl8geyEWuiPoDUf Mwmw== 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:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=BslfkUVVnRhfadN9h254wi+IHEcylE79fltgw3U5uuQ=; b=DJr/tjB4WbB+BenW1M1GYUmcC8SEJXtesDB8R9mOCjbp65eHIcHAswRVlF5uh+Vrn4 d5ZChWX9A6YUlVGDMam9ty5X8kCfJfqD34cTgu/7cPZrgZ4exYp9bHK7Z2IllHTSMOny XvS1UdTtRTSU13oCUDAcdd+T9g0oFUfylGDf9/4JtsZU3n1/S/9a4RG32hzTPAiuRNMg gHkRnnYPCiB6UE9QBqCIlnWqml8QxnXbiqkK2T8mvOahqSYzdszeQ8ChOu1bgY99n0VP TSYodo+EDP89MAGmnRZVOlVZDFRzNSUmQfkMWFlBAzA9jGfN0P1NZbobudWPKwEj5MPB 7CEA== X-Gm-Message-State: ANhLgQ1uDRXfC4bFQpQ817vF6FMeSoj26u5BawZDViODjERfEXjDuLit vnFUE+UdGyzM0gSmygYT5s4= X-Google-Smtp-Source: ADFU+vuJ41j2EMb2oTOA9NLZ+lNa8RUxQR/5tsRn3c8bW0X31hug4f+Z7NuVMy2Vmf+9CKBlFo9CfA== X-Received: by 2002:adf:b197:: with SMTP id q23mr4436303wra.412.1584431475987; Tue, 17 Mar 2020 00:51:15 -0700 (PDT) Received: from guixSD (host241-136-dynamic.40-79-r.retail.telecomitalia.it. [79.40.136.241]) by smtp.gmail.com with ESMTPSA id l64sm2905893wmf.30.2020.03.17.00.51.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2020 00:51:14 -0700 (PDT) From: =?utf-8?Q?Nicol=C3=B2?= Balzarotti To: Efraim Flashner Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 In-Reply-To: <20200316100641.GK927@E5400> References: <87imjvwvjx.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87fteywndk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87blplwmuk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200316100641.GK927@E5400> Date: Tue, 17 Mar 2020 08:51:13 +0100 Message-ID: <87fte7772m.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: 38546@debbugs.gnu.org, zimoun X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Efraim, thanks for the report. Yes, according to this report[1] we should downgrade libgit2 0.99. I'll try to send an updated patch in the next days. In the meanwhile, reding arch bug-tracker [2] I saw that libgit2 depends on http-parser (USE_HTTP_PARSER). Should we unbundle it from git? Thanks, Nicol=C3=B2 [1] https://github.com/JuliaLang/julia/issues/33111 [2] https://bugs.archlinux.org/task/65540 Efraim Flashner writes: > The upgrade of libgit2 to 0.99.0 seems to have broken this > > julia bin/install_packages.jl > Activating environment at `~/workspace/LMGPU.jl/Project.toml` > Cloning default registries into `~/.julia` > Cloning registry from "https://github.com/JuliaRegistries/General.git" > ERROR: LoadError: failed to clone from https://github.com/JuliaRegistries= /General.git, error: GitError(Code:ERROR, Class:Invalid, invalid version 0 = on git_proxy_options) > > Other bug reports from other libgit2 version bumps suggest using an > older version of libgit2 > > > --=20 > Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7= =9D =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 > GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 > Confidentiality cannot be guaranteed on emails sent or received unencrypt= ed From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 17 04:12:49 2020 Received: (at 38546) by debbugs.gnu.org; 17 Mar 2020 08:12:49 +0000 Received: from localhost ([127.0.0.1]:38159 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jE7LF-0004cz-IJ for submit@debbugs.gnu.org; Tue, 17 Mar 2020 04:12:49 -0400 Received: from flashner.co.il ([178.62.234.194]:36630) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jE7LD-0004cj-P9 for 38546@debbugs.gnu.org; Tue, 17 Mar 2020 04:12:48 -0400 Received: from localhost (unknown [141.226.13.108]) by flashner.co.il (Postfix) with ESMTPSA id DEDDA40212; Tue, 17 Mar 2020 08:12:41 +0000 (UTC) Date: Tue, 17 Mar 2020 10:12:10 +0200 From: Efraim Flashner To: =?utf-8?Q?Nicol=C3=B2?= Balzarotti Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Message-ID: <20200317081210.GN927@E5400> References: <87imjvwvjx.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87fteywndk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87blplwmuk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200316100641.GK927@E5400> <87fte7772m.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="QGBKWVSgmlsIyJ+t" Content-Disposition: inline In-Reply-To: <87fte7772m.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: 38546@debbugs.gnu.org, zimoun X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --QGBKWVSgmlsIyJ+t Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Mar 17, 2020 at 08:51:13AM +0100, Nicol=C3=B2 Balzarotti wrote: > Hi Efraim, thanks for the report. >=20 > Yes, according to this report[1] we should downgrade libgit2 0.99. I'll > try to send an updated patch in the next days. We can just add a libgit2-0.28 for now and remove it later. I saw that there were patches for using llvm-8 as a base for llvm-julia instead of llvm-6, but that can wait until later. >=20 > In the meanwhile, reding arch bug-tracker [2] I saw that libgit2 depends > on http-parser (USE_HTTP_PARSER). Should we unbundle it from git? That sounds like a separate issue, but a good idea. >=20 > Thanks, Nicol=C3=B2 >=20 > [1] https://github.com/JuliaLang/julia/issues/33111 > [2] https://bugs.archlinux.org/task/65540 >=20 >=20 >=20 > Efraim Flashner writes: >=20 > > The upgrade of libgit2 to 0.99.0 seems to have broken this > > > > julia bin/install_packages.jl > > Activating environment at `~/workspace/LMGPU.jl/Project.toml` > > Cloning default registries into `~/.julia` > > Cloning registry from "https://github.com/JuliaRegistries/General.gi= t" > > ERROR: LoadError: failed to clone from https://github.com/JuliaRegistri= es/General.git, error: GitError(Code:ERROR, Class:Invalid, invalid version = 0 on git_proxy_options) > > > > Other bug reports from other libgit2 version bumps suggest using an > > older version of libgit2 > > > > > > --=20 > > Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7= =9D =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 > > GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 > > Confidentiality cannot be guaranteed on emails sent or received unencry= pted --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --QGBKWVSgmlsIyJ+t Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl5whloACgkQQarn3Mo9 g1H0YhAAo6GjUv9OUofK+YH1soCpPK70bDrXho6E+Ooys7Gi+UWASctWZHFUvB9v A5kSJrwezPglIGHgXUNt1usYaLQ8/LXKAWtBwOsMRulAdy/6CUvGJMlQLP6yeYFu uqHU/jLV1qh/93vl/gnwl9QKId6ww9w3pxyTuQtAfXo73sIx0GGc8l0xRTWS+GVP FDYk8f/sLP12kiEO4uvS35OqB6g2jyXHA1Pf6uR3KQqJmq5b7IDRC1HfdVoKy3Qm 5vHgl/rYUHUcCzVHTzOkuguYK91f6oNdjUVXF9PfnU3eD/Ztf7IYG9c8S7cCSPA9 1cKNCX4Nmh1kAu2ZdpXLnU50HRfOlo7S2dtaovkszZWs1yQK6AumnbJ/mVaZCFQq 2gXq45/yfODlht2g0PV5J0g0TJPf2NtOqgfjwaR8hwPPUzF4YHq8u08LD2xsXnMA kot1MyE8bALeLxdWXDHAPp2n6LOL6DIvAt/4/aE5P61d/M4MUWP1YjMek+xVsK45 7w4yHZ2OR4Gba0Uf4KUgksoxign+JRmukasJtJ9q3oDX23k6gp3OiWsXRWWbiy0Y X2JH0njiXLql41yGVrTS9iFdKEFYkkhcl5SF4QKIbBeMsqfKmmibu3YuzvuMnVyI cv+k/8FPDAQIBHLlQoSrxnwj9hbtu5rZF2clJHeh5I9xvUmLuF8= =/cT1 -----END PGP SIGNATURE----- --QGBKWVSgmlsIyJ+t-- From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 17 08:21:30 2020 Received: (at 38546) by debbugs.gnu.org; 17 Mar 2020 12:21:30 +0000 Received: from localhost ([127.0.0.1]:38251 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jEBDu-0004ob-GO for submit@debbugs.gnu.org; Tue, 17 Mar 2020 08:21:30 -0400 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:43421) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jEBDs-0004oG-1v for 38546@debbugs.gnu.org; Tue, 17 Mar 2020 08:21:28 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id A4B835C0233; Tue, 17 Mar 2020 08:21:22 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Tue, 17 Mar 2020 08:21:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= from:to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-type; s=fm2; bh=16sAbxSwJfTn5OzOdwF4EEA1ii Sw3HUyI8fyLP43OqY=; b=TdzXxUs9mPGEQlOgsFPSwrUJLpsTd+0s8m+qNTsuyr FGjik2IhXEig4mklkaroIAnVfQVF0xE9Wm98oRwcpHVQ8G5Rg0g/mvfj4KCue4v0 t/1FOHnDJ7AmfLz/AvHerH4OuYFzlZyJVUXkGsCnGyrYU0f1WTu1Ehlr06pchZql OAlIuqZYsG5e4NLykfy7syWxfQiZ1Dq5nq8geTOUywQNh1pA1g7nXceBIWOLhCX1 cBxOEItFvXb80NM7P4AKzRIMS1yBTnHVyNHm7xWoyd4PEgFRHLyAeXOzS7xsKvuJ anUBcfXzrpmnM2WXdBdf3hGkDzlf3q3+6ty2UUk0dG2Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=16sAbx SwJfTn5OzOdwF4EEA1iiSw3HUyI8fyLP43OqY=; b=gi4g7Szt12bc0B4ms7BoKm Vu+keyDrlIpy3C7Et/NbKyZ6XOJHVlUE3iCFPvIuP6yzZzaNqrEA0Pvas8ipyUu+ ZknIvTAYMgIAQcq8OL7bR071lOi3a+nE/HM80IQ6GbFHtOKetcfE7bEJE3mNFuyC DlxMqPsbsinA4kodAI4T9qMdjK+iTI9Hgib9q+Zta74o3xGQw00v2Pt8vVGy70fe 1pkFPmF0bjCJwjrdbRLey1/kGJ4ZlrueJuqCB0k3dLQG3ahXy9tOAne572rmeHTN HCWfzbYvydLR8GwMSAcfqyDdsuuV3fECFYE/lw4pX1pGgBEZHuIwspcZHmBe/G0Q == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedrudefhedgfeehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufgjfhgffffkgggtsehgtderredtredtnecuhfhrohhmpeforghrihhu shcuuegrkhhkvgcuoehmsggrkhhkvgesfhgrshhtmhgrihhlrdgtohhmqeenucfkphepke egrddvtddvrdeikedrjeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehm rghilhhfrhhomhepmhgsrghkkhgvsehfrghsthhmrghilhdrtghomh X-ME-Proxy: Received: from localhost (ti0006q161-2604.bb.online.no [84.202.68.75]) by mail.messagingengine.com (Postfix) with ESMTPA id 072783062499; Tue, 17 Mar 2020 08:21:21 -0400 (EDT) From: Marius Bakke To: Efraim Flashner , =?utf-8?Q?Nicol=C3=B2?= Balzarotti Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 In-Reply-To: <20200317081210.GN927@E5400> References: <87imjvwvjx.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87fteywndk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87blplwmuk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200316100641.GK927@E5400> <87fte7772m.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200317081210.GN927@E5400> User-Agent: Notmuch/0.29.3 (https://notmuchmail.org) Emacs/26.3 (x86_64-pc-linux-gnu) Date: Tue, 17 Mar 2020 13:21:19 +0100 Message-ID: <87zhcfb29s.fsf@devup.no> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 38546 Cc: 38546@debbugs.gnu.org, zimoun X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain Efraim Flashner writes: >> In the meanwhile, reding arch bug-tracker [2] I saw that libgit2 depends >> on http-parser (USE_HTTP_PARSER). Should we unbundle it from git? > > That sounds like a separate issue, but a good idea. We used to unbundle it up until libgit2 0.99.0, because the release notes said that their fork is incompatible with the released version of http-parser. We should look into what the compatibility issues are before unbundling it again. Maybe it's not relevant for Guix. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl5wwL8ACgkQoqBt8qM6 VPoPcAf+P04I6hcONWlCbM78bUnAAPdD3ey+5yvYCn9dVIQ8vc0Su8jjxTj3LG34 kIDZoef0edJQEZ3S53bE+zndqbsxUsbhv/pn0a3JvIl+62TBYXJzo3HtO52xzYyt Hes+UtnJrOuw3wh22PjH7/4oA2OC3JxZTgCpsyAR3iQ8YIbL75yLe/tvXVTgSzd5 +/+uEF9aK7qJ77DsbGG94pTlF3BkOpGPBys9qhRhSMHkrL4HmeQIpAZ4jJfRd+PY qulaEAlilXY2IAhNaOWoTs23uuf89lPdvp1RLaetRykm8L63B5j8ZUibJ/nyISOO 4qI8QtrZM9H5ovwjWHvIAJ0E5HkGwQ== =Mxxc -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 17 09:38:06 2020 Received: (at 38546) by debbugs.gnu.org; 17 Mar 2020 13:38:06 +0000 Received: from localhost ([127.0.0.1]:38293 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jECQ1-0006pM-RM for submit@debbugs.gnu.org; Tue, 17 Mar 2020 09:38:06 -0400 Received: from mail-wr1-f65.google.com ([209.85.221.65]:33429) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jECQ0-0006os-59 for 38546@debbugs.gnu.org; Tue, 17 Mar 2020 09:38:04 -0400 Received: by mail-wr1-f65.google.com with SMTP id a25so25726587wrd.0 for <38546@debbugs.gnu.org>; Tue, 17 Mar 2020 06:38:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-transfer-encoding; bh=sXrWjzusI8PdwDmULu6VB5NyjufGQszky2oM+1aE1RU=; b=USMrOXplh71JsdLeOsznhLRsx1QZ76WjXS0aUnymaeegy1vOnsJbxAZ7jepYNnsFjy Ze2D7wmD60+uFKOOkW+/IEFV1cTIyyKwuvQoYFymha2pNbxgcYKCMl/sK1CZ1dUvseSw qhRvdtLZnUBy+6kguPiLfhc6r79rxaTV8Dic0WCZtq28Tr4v1wFF8b6uNXRd90oSi9wO xbO0DZcS2yc0JTg4jfBq7T5onNRCDm/MuFAK9h4Athj+pFVvCaue7ToB+7L9ME8dv2/V Ya8UHy159LLq/VvehbP85egzfzlPlt2dGvuMpjMXjjK8jicRiTn9Hp4zyHXAv0VREGPX Vrfg== 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:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=sXrWjzusI8PdwDmULu6VB5NyjufGQszky2oM+1aE1RU=; b=fFK+16ZgksupNWEeJfvkK4TDIHYWl6IK8bV98eAzorIAQO0d7uNhRKyUWjt+MJIuqU hHNDgiKwKn0ooku45z5o/jzZHWaxxv2gW8AAbkEZN4Li1CdUk3vCMghuwdEtZCHPtlId fALdgL4g6ymQkqt7fNvVyliWEma5YKzGt8JBuP7bl2Hr30wWlJ09qm0suEuBTtjCOpR8 riofubaazYen3Oo13rL1yk/cTNyV1eY9+Vu+5ECVzFXxxgrG8Qz0fSy2jSXQzHSu9+2s vejvx+a4tRsuJNoEmLmCm305M2FYnmQYWH526ph7qbEgOA8vURMWJS8Fh2aVjWnbShka Lt9A== X-Gm-Message-State: ANhLgQ1rzUwThGTq/Ep5JK716rJkF5LOOFyTM/uw13Z9h6gJELd7Sr+5 XGktNYkKi7RZAFqs0RWZHvA= X-Google-Smtp-Source: ADFU+vs/SFWWwff2T1emdgfIrqKKlu3WLH9gcsL1rVaQekROJj7zUpfGbSUfEBsoozxNCyc9hNMTAQ== X-Received: by 2002:adf:83c4:: with SMTP id 62mr6519245wre.105.1584452278259; Tue, 17 Mar 2020 06:37:58 -0700 (PDT) Received: from guixSD (host241-136-dynamic.40-79-r.retail.telecomitalia.it. [79.40.136.241]) by smtp.gmail.com with ESMTPSA id s131sm4048853wmf.35.2020.03.17.06.37.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2020 06:37:57 -0700 (PDT) From: =?utf-8?Q?Nicol=C3=B2?= Balzarotti To: Marius Bakke , Efraim Flashner Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 In-Reply-To: <87zhcfb29s.fsf@devup.no> References: <87imjvwvjx.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87fteywndk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87blplwmuk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200316100641.GK927@E5400> <87fte7772m.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200317081210.GN927@E5400> <87zhcfb29s.fsf@devup.no> Date: Tue, 17 Mar 2020 14:37:53 +0100 Message-ID: <878sjz6r0u.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: 38546@debbugs.gnu.org, zimoun X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, I looked at it. THe patch is literally a one-line change[1] they make to support RFC 3986. According to [2], the patch has been ported to fedora http-parser. Our version is different form the one bundled in libgit2, but deleting the corresponding line (see snippet) libgit2 tests are now passing. However, this http-parser test is failing: *** http_parser_parse_url("http://hostname:/") "proxy empty port" test fail= ed, unexpected rv 0 *** I opened an issue upstream here [3] so that if they fix it we can continue unbundling it without having to patch it ourselves. Hope they decide to upstream it I'll send updates if there are news on the issue, thanks, Nicol=C3=B2. #+name: http-parser.patch #+begin_src diff diff -u a/http_parser.c b/http_parser.c --- a/http_parser.c 2020-03-17 14:05:53.542832960 +0100 +++ b/http_parser.c 2020-03-17 14:05:21.810382406 +0100 @@ -2394,7 +2394,6 @@ case s_http_host_v6_zone_start: case s_http_host_v6_zone: - case s_http_host_port_start: case s_http_userinfo: case s_http_userinfo_start: return 1; default: #+end_src [1] https://github.com/libgit2/libgit2/commit/1bbdec69bef50208f77f0c4cbac7c= 6b56c35973f.patch [2] https://github.com/libgit2/libgit2/issues/5436#issuecomment-593773122 [3] https://github.com/nodejs/http-parser/issues/501 Marius Bakke writes: > Efraim Flashner writes: > >>> In the meanwhile, reding arch bug-tracker [2] I saw that libgit2 depends >>> on http-parser (USE_HTTP_PARSER). Should we unbundle it from git? >> >> That sounds like a separate issue, but a good idea. > > We used to unbundle it up until libgit2 0.99.0, because the release > notes said that their fork is incompatible with the released version of > http-parser. > > We should look into what the compatibility issues are before unbundling > it again. Maybe it's not relevant for Guix. From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 19 08:28:23 2020 Received: (at 38546) by debbugs.gnu.org; 19 Mar 2020 12:28:23 +0000 Received: from localhost ([127.0.0.1]:41887 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jEuHe-0004f2-N6 for submit@debbugs.gnu.org; Thu, 19 Mar 2020 08:28:23 -0400 Received: from wout4-smtp.messagingengine.com ([64.147.123.20]:52347) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jEuHa-0004ea-A5 for 38546@debbugs.gnu.org; Thu, 19 Mar 2020 08:28:21 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 339A3727; Thu, 19 Mar 2020 08:28:12 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Thu, 19 Mar 2020 08:28:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= from:to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-type; s=fm2; bh=ROCao+5lo7ShdFM9tOHREFTuzO C/qOq0wQ4U+5fYBbI=; b=C7ZrPjDK0wLpkmWh+r2laP/lED3qD/FOTzizU9YOzU Z2VQSVLLkuzd5VasMLVKtVO/MXrv9TDQR7EsNO6yQYott4w3uBJ31MCq58yHFew8 rxfHV48za+u0cpBf7+ikD4uDkBGKL7Ah7dwWUwMf01e2Ty5wA1d3Dswr2ch6ng6P B8ibPWcVx1Zqp4UJ1RGq2voGSYfDTP2U3gtmE7Vc8IPp9jNr452nkETyK3NruYse dK6WXGAx4/1ZXZLFo7tmD0E6UrrBC39XrI2UhWbJnUK62h0r3G0q9Fg/e95PBpZT FYyGgnKai1a6Y9eYetYAE0LjC+K62uvVWy/CD27UXuig== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=ROCao+ 5lo7ShdFM9tOHREFTuzOC/qOq0wQ4U+5fYBbI=; b=vLzHtzbpbC4O1CATZRhogK Mgg4ieRJQHv546mYpSJkqpr2pfBaC9zTLiIQLQLU3o09QbR15YUyjXChlZwmiXE0 7K4pFnIYya4Mi3p9Mf+Bms8Z3ysYrunjeku8EASSrW3NBsaOTmBd5XdJ0EMW6qjL ymIN58swIsgGFk1/shEO5fdN75IxhJYl/RnFYcMt4oWZb6ZFi/GJw/W+QcP53VHC Dg4uOclpDjYI9dE4C/M2ceNGl/iqHzhX8eKtjro1lfUCSvR31yvPMe2JfNWtu78t BSNPKX+qkCMUBhdOKp4gBgvch5g3JMDEQAYOrPgwi7buvcFb6+3Ip05o1jFGTPDQ == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedrudefledggedtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufgjfhgffffkgggtsehgtderredtreejnecuhfhrohhmpeforghrihhu shcuuegrkhhkvgcuoehmsggrkhhkvgesfhgrshhtmhgrihhlrdgtohhmqeenucffohhmrg hinhepghhithhhuhgsrdgtohhmnecukfhppeekgedrvddtvddrieekrdejheenucevlhhu shhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmsggrkhhkvgesfh grshhtmhgrihhlrdgtohhm X-ME-Proxy: Received: from localhost (ti0006q161-2604.bb.online.no [84.202.68.75]) by mail.messagingengine.com (Postfix) with ESMTPA id 3D4DD3061856; Thu, 19 Mar 2020 08:28:11 -0400 (EDT) From: Marius Bakke To: =?utf-8?Q?Nicol=C3=B2?= Balzarotti , Efraim Flashner Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 In-Reply-To: <878sjz6r0u.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> References: <87imjvwvjx.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87fteywndk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87blplwmuk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200316100641.GK927@E5400> <87fte7772m.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200317081210.GN927@E5400> <87zhcfb29s.fsf@devup.no> <878sjz6r0u.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> User-Agent: Notmuch/0.29.3 (https://notmuchmail.org) Emacs/26.3 (x86_64-pc-linux-gnu) Date: Thu, 19 Mar 2020 13:28:09 +0100 Message-ID: <871rpobkbq.fsf@devup.no> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 38546 Cc: 38546@debbugs.gnu.org, zimoun X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Nicol=C3=B2 Balzarotti writes: > Hi, > > I looked at it. THe patch is literally a one-line change[1] they make > to support RFC 3986. According to [2], the patch has been ported to > fedora http-parser. Our version is different form the one bundled in > libgit2, but deleting the corresponding line (see snippet) libgit2 tests > are now passing. However, this http-parser test is failing: > > *** http_parser_parse_url("http://hostname:/") "proxy empty port" test fa= iled, unexpected rv 0 *** > > I opened an issue upstream here [3] so that if they fix it we can > continue unbundling it without having to patch it ourselves. > > Hope they decide to upstream it > > I'll send updates if there are news on the issue, Awesome, thank you very much for looking into it. I have no objections to taking the patches from the upstream PR [0] if that helps updating Julia. :-) 0: https://github.com/nodejs/http-parser/pull/483 --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl5zZVkACgkQoqBt8qM6 VPou8Af9HL+BSWK6l4TPDPEN99LuxehYt3+wNWiiVuKy7dl8uYsVA3uqg6iYF2Zh 3PUE01CHFFxCiDUWWd3GpcFMXT00x46OUXTbwAhT+fztOEfcQK+6E7yBSa154MjE kLT8V9TCHuCsgQh/8EyO0nDdqiopqOBUSmw7y6Y1dzX9WjzZpMP3clasSeVnYhwg L0J2F/CbWxqbXl9MHKnxNPp+LckIodZez+WeGSdPHP0VZ2Go5lbc1j63vb01+SUj W3SwNCD9XQXfRhTpdifUv5XLPlkCu5D4cUVfDsRaftC7iFzvr9ApwzFjM4ydX27v f6RK3mgOQ9fTq5bgjiJorbSeQg9YHQ== =dSmi -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 06 02:10:30 2020 Received: (at 38546) by debbugs.gnu.org; 6 Apr 2020 06:10:30 +0000 Received: from localhost ([127.0.0.1]:47070 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jLKxp-0003YE-Tf for submit@debbugs.gnu.org; Mon, 06 Apr 2020 02:10:30 -0400 Received: from flashner.co.il ([178.62.234.194]:58560) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jLKxo-0003Xg-Ac for 38546@debbugs.gnu.org; Mon, 06 Apr 2020 02:10:28 -0400 Received: from localhost (unknown [141.226.9.17]) by flashner.co.il (Postfix) with ESMTPSA id 5F315400B5; Mon, 6 Apr 2020 06:10:22 +0000 (UTC) Date: Mon, 6 Apr 2020 09:09:49 +0300 From: Efraim Flashner To: =?utf-8?Q?Nicol=C3=B2?= Balzarotti Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Message-ID: <20200406060949.GB1518@E5400> References: <87imjvwvjx.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87fteywndk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87blplwmuk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200316100641.GK927@E5400> <87fte7772m.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200317081210.GN927@E5400> <87zhcfb29s.fsf@devup.no> <878sjz6r0u.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <871rpobkbq.fsf@devup.no> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="mxv5cy4qt+RJ9ypb" Content-Disposition: inline In-Reply-To: <871rpobkbq.fsf@devup.no> X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: Marius Bakke , 38546@debbugs.gnu.org, zimoun X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --mxv5cy4qt+RJ9ypb Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Mar 19, 2020 at 01:28:09PM +0100, Marius Bakke wrote: > Nicol=C3=B2 Balzarotti writes: >=20 > > Hi, > > > > I looked at it. THe patch is literally a one-line change[1] they make > > to support RFC 3986. According to [2], the patch has been ported to > > fedora http-parser. Our version is different form the one bundled in > > libgit2, but deleting the corresponding line (see snippet) libgit2 tests > > are now passing. However, this http-parser test is failing: > > > > *** http_parser_parse_url("http://hostname:/") "proxy empty port" test = failed, unexpected rv 0 *** > > > > I opened an issue upstream here [3] so that if they fix it we can > > continue unbundling it without having to patch it ourselves. > > > > Hope they decide to upstream it > > > > I'll send updates if there are news on the issue, >=20 > Awesome, thank you very much for looking into it. I have no objections > to taking the patches from the upstream PR [0] if that helps updating > Julia. :-) >=20 > 0: https://github.com/nodejs/http-parser/pull/483 Any news from upstream? --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --mxv5cy4qt+RJ9ypb Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl6Kx6oACgkQQarn3Mo9 g1EU1xAAmoJHK3g2lYUcl1Q03EINHabB57ymD/6idebrt94AhOp7j7sKJsv/Z7Wl +6FqVHLElULukweC5y+oKl2U4qk6lZDETyrM97wC7M30uwC6hYp4GrkxARa/8Q+W jYIRmqMXQ1WNzBiI2i1dMKcZDUHNEdT5fs9dDYPajbaccZ077ijXf8Osd3miFZNC F+bsFW4dUhQNmE49bTMuw7/EReItjK6eIzJnLtBfc5g19QjhkEkcbw09Jzij1SfZ 5tR/Z5dZhLb6f8jUdKF50pyvU+z3xF03QNS4H0/7Na7Obl2UajNJd6yPbUxF5L0a fs5Jl6ueieGISmSXtUIdD24sp+kBgmMC5yjrQ598Lfa5tYWLF5MLHgDeEnn6Olz+ ANWr/JdKS9C8mHpO9SzpNiRRrreIzjRqEkJSLDsGFkJ/DF3T4HhyqkG9L8PoLsFv Y/Tah2XayFFqAKjdieFtEO0yyRmxAvUKKyBc0BXaGf/QexgQk5Jyr+j+CBnK3foM bMl45BbaJWViXYll56nbfo/fAeBPY3NdWIjfTBqmdD/P924ALDwWN+vqVLtQIU/9 tEBpp22pR6ekHU0EZvEuwPPQ1qx2JVLdaAH2fXJF0JLSceCA0v5YzYpuk7cM0r0v ik7eLVTwri71p1CPBH9ITtXj3l3eSsNFGzY22PKPQW/x1ejiB90= =mHVN -----END PGP SIGNATURE----- --mxv5cy4qt+RJ9ypb-- From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 06 04:18:55 2020 Received: (at 38546) by debbugs.gnu.org; 6 Apr 2020 08:18:55 +0000 Received: from localhost ([127.0.0.1]:47131 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jLMy4-0002Qh-7g for submit@debbugs.gnu.org; Mon, 06 Apr 2020 04:18:55 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:54028) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jLMxo-0002PD-0F for 38546@debbugs.gnu.org; Mon, 06 Apr 2020 04:18:51 -0400 Received: by mail-wm1-f65.google.com with SMTP id d77so13720481wmd.3 for <38546@debbugs.gnu.org>; Mon, 06 Apr 2020 01:18:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version; bh=VyU5QZJHiX/RpG6dri21d//CthMexK0ixvrp8KJzVno=; b=p+YXKzP3KSAp4rjF4cLQopS6dtpI02AjoBhb+U5Pv4RaD4MwMBUsVYufB4yR0UJEii w3a0m1lzSVMNz44G++ebWMV7NZp5i3MfHx/6KXIDM01eVewWNhzdSgM1Bt6O6OX7pO1k kB1FRLekTk783c0Fr5KxIN93EH5li+7Hh+E50MSsQRvr1KwZZzjLNkEltJO0/QygvI0j k/yyXlW1F2443s6VmnjIGu2F//pw8ecQiJyPocTF5SyBePZLxM4E9cBBA7uOrAVr22AL 8uZltGKOupZaryHvLkZloB/97vnHOuefAaO4MG6FJRJFln5/hDnWlu1DrVzYTeeRMT9R sX8Q== 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:in-reply-to:references:date :message-id:mime-version; bh=VyU5QZJHiX/RpG6dri21d//CthMexK0ixvrp8KJzVno=; b=Jt4EoXnrc1wnYN/Ly/tt7LotML5rk5xvnycE6wWU/vNaheW0RNfVxkNIrhql3p0HGC 23+dW0nFH15VUchVeLfj0XR5dIY6L0O4Vr6CHdJrnmKw0c3fp0dXY81VdkeUp+igA899 lprA6M8TttpUiUS3WvLc0JqPYz9DTsfRqJevPYGOjPntGPFN8GW6xBB37gLw3XJD4o+T DLsHiH2w/+SOoP9jzi0C5MtaKlmj9Utl16HCoiutezhI+t3Nqw8+O+NLNe8hq2m/A4Ae qGrFgYyPiQzqbFqShe3a90iw9QPx3B8qlSF3DjkUwBFMym8QPvU+lxFsBIGe9Vgvr/zf Mi4g== X-Gm-Message-State: AGi0PuYtsDAAz1V2fTJAIBgdLeT14PVFJ+GtBXzgPAF3BQrIri3hRpfO 3sNImUfVC4J4xc+GfU+CZQU= X-Google-Smtp-Source: APiQypJiD2+QqNbyfnE9aQnky6QXmKXtuxCcxwckOgvs382O3opSGM+vmcBX3lwODh60Un58EFtofw== X-Received: by 2002:a05:600c:24e:: with SMTP id 14mr5436237wmj.62.1586161110146; Mon, 06 Apr 2020 01:18:30 -0700 (PDT) Received: from guixSD ([95.237.164.204]) by smtp.gmail.com with ESMTPSA id o145sm24313112wme.42.2020.04.06.01.18.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2020 01:18:28 -0700 (PDT) From: =?utf-8?Q?Nicol=C3=B2?= Balzarotti To: Efraim Flashner Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 In-Reply-To: <20200406060949.GB1518@E5400> References: <87imjvwvjx.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87fteywndk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87blplwmuk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200316100641.GK927@E5400> <87fte7772m.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200317081210.GN927@E5400> <87zhcfb29s.fsf@devup.no> <878sjz6r0u.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <871rpobkbq.fsf@devup.no> <20200406060949.GB1518@E5400> Date: Mon, 06 Apr 2020 10:18:25 +0200 Message-ID: <87lfn9hvse.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 2.0 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Efraim Flashner writes: Hi Efraim, no, AFAIK. Content analysis details: (2.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 T_SPF_TEMPERROR SPF: test of record failed (temperror) 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (anothersms[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.0 PDS_OTHER_BAD_TLD Untrustworthy TLDs [URI: nixo.xyz (xyz)] X-Debbugs-Envelope-To: 38546 Cc: Marius Bakke , 38546@debbugs.gnu.org, zimoun X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Efraim Flashner writes: Hi Efraim, no, AFAIK. The http-parser PR[1] received a comment 18 days ago, so maybe things are s= lowly moving. Julia issue[2] basically suggest to workaround the problem, while [3] seems to have a patch for julia 1.4.0 ready. In the meantime, I'm sending a quick patch that patches our http-parser with the one applied system-wide by fedora[4]. How was the command to build all packages depending even indirectly from another package (http-parser in this case)? I'll build everything and hope tests will pass. Thanks, Nicol=C3=B2 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-gnu-Add-dsfmt.patch Content-Transfer-Encoding: quoted-printable >From da44aeb1810a12d83aafee9db05acb9262e6e880 Mon Sep 17 00:00:00 2001 From: =3D?UTF-8?q?Nicol=3DC3=3DB2=3D20Balzarotti?=3D Date: Thu, 2 Apr 2020 08:49:46 +0200 Subject: [PATCH 1/4] gnu: Add dsfmt. * gnu/packages/maths.scm (dsfmt): New variable. --- gnu/packages/maths.scm | 72 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 5e56289682..be2b87a41d 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -35,6 +35,7 @@ ;;; Copyright =C2=A9 2019 Robert Smith ;;; Copyright =C2=A9 2020 Jakub K=C4=85dzio=C5=82ka ;;; Copyright =C2=A9 2020 Felix Gruber +;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -375,6 +376,77 @@ semiconductors.") (license license:gpl3+) (home-page "https://www.gnu.org/software/dionysus/"))) =20 +(define-public dsfmt + (package + (name "dsfmt") + (version "2.2.3") + (source + (origin + (method url-fetch) + (uri + (string-append + "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-" + version ".tar.gz")) + (sha256 + (base32 + "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42")) + ;; julia needs those (and is the only program depending on dsfmt no= w) + (patches + (list + (origin + (method url-fetch) + (uri (string-append + "https://raw.githubusercontent.com/JuliaLang/julia/" + "v1.3.0/deps/patches/dSFMT.c.patch")) + (sha256 (base32 + "09mhv11bms8jsmkmdqvlcgljwhzw3b6n9nncpi2b6dla9798hw2y"= )) + (file-name "dSFMT.c.patch")) + (origin + (method url-fetch) + (uri (string-append + "https://raw.githubusercontent.com/JuliaLang/julia/" + "v1.3.0/deps/patches/dSFMT.h.patch")) + (sha256 (base32 + "1py5rd0yxic335lzka23f6x2dhncrpizpyrk57gi2f28c0p98y5n"= )) + (file-name "dSFMT.h.patch")))))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) ;no configure script + (replace 'build + ;; upstream Makefile does not build a shared library + (lambda _ + (invoke + "gcc" + ;; flags copied from julia + ;; https://github.com/JuliaLang/julia/blob/v1.3.0/deps/dsfmt= .mk + "-DNDEBUG" "-DDSFMT_MEXP=3D19937" + "-fPIC" "-DDSFMT_DO_NOT_USE_OLD_NAMES" + "-O3" "-finline-functions" "-fomit-frame-pointer" + "-fno-strict-aliasing" "--param" "max-inline-insns-single=3D= 1800" + "-Wmissing-prototypes" "-Wall" "-std=3Dc99" "-shared" "dSFMT= .c" + "-o" "libdSFMT.so"))) + (replace 'install ;no "install" target + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") + "/lib")) + (inc (string-append (assoc-ref outputs "out") + "/include"))) + (install-file "libdSFMT.so" lib) + (install-file "dSFMT.h" inc) + #t)))))) + (synopsis "Double precision SIMD-oriented Fast Mersenne Twister") + (description + "The dSMFT package speeds up Fast Mersenne Twister generation by avoi= ding +the expensive conversion of integer to double (floating point). dSFMT dir= ectly +generates double precision floating point pseudorandom numbers which have = the +IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std 754-1985) +format. dSFMT is only available on the CPUs which use IEEE 754 format dou= ble +precision floating point numbers.") + (home-page "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/") + (license license:bsd-3))) + (define-public gsl (package (name "gsl") --=20 2.26.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0002-gnu-http-parser-add-patch-applied-by-libgit2.patch >From 544ea20e9f7105ee01c274895ab1c4687dc99090 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Balzarotti?= Date: Thu, 2 Apr 2020 11:50:27 +0200 Subject: [PATCH 2/4] gnu: http-parser: add patch applied by libgit2. Fixes parsing of colon followed by empty port, allowed by RFC 3986 specifications. Fedora is applying it to system http-parser too. --- gnu/packages/web.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index a553dc2150..6c73720689 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -5788,6 +5788,20 @@ into your tests. It automatically starts up a HTTP server in a separate thread (uri (git-reference (url home-page) (commit (string-append "v" version)))) (file-name (git-file-name name version)) + (patches + ;; When parsing URLs, treat an empty port (eg + ;; `http://hostname:/`) as if it were unspecified. This patch is + ;; applied to fedora http-parser and to libgit2 bundled version. + (list + (origin + (method url-fetch) + (uri (string-append + "https://src.fedoraproject.org/rpms/http-parser/raw/" + "e89b4c4e2874c19079a5a1a2d2ccc61b551aa289/" + "f/0001-url-treat-empty-port-as-default.patch")) + (sha256 + (base32 + "0pbxf2nq9pcn299k2b2ls8ldghaqln9glnp79gi57mamx4iy0f6g"))))) (sha256 (base32 "189zi61vczqgmqjd2myjcjbbi5icrk7ccs0kn6nj8hxqiv5j3811")))) -- 2.26.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0003-gnu-libgit2-Use-system-http-parser.patch >From 2bd301c0e04a182295c4cce973e5b7553c4aa5b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Balzarotti?= Date: Thu, 2 Apr 2020 11:54:15 +0200 Subject: [PATCH 3/4] gnu: libgit2: Use system http-parser. --- gnu/packages/version-control.scm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 8af54c6e35..00fb96f474 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -612,16 +612,13 @@ on @command{git}, and use any regular Git hosting service.") (base32 "0qxzv49ip378g1n7hrbifb9c6pys2kj1hnxcafmbb94gj3pgd9kg")) (patches (search-patches "libgit2-mtime-0.patch")) - - ;; Remove bundled software. Keep "http-parser" because it - ;; contains patches that are not available in the system version. (snippet '(begin (with-directory-excursion "deps" (for-each (lambda (dir) (delete-file-recursively dir)) (lset-difference equal? (scandir ".") - '("." ".." "http-parser")))) + '("." "..")))) #t)) (modules '((guix build utils) (srfi srfi-1) @@ -630,7 +627,8 @@ on @command{git}, and use any regular Git hosting service.") (outputs '("out" "debug")) (arguments `(#:configure-flags '("-DUSE_NTLMCLIENT=OFF" ;TODO: package this - "-DREGEX_BACKEND=pcre2") + "-DREGEX_BACKEND=pcre2" + "-DUSE_HTTP_PARSER=system") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-pcre2-reference @@ -657,7 +655,8 @@ on @command{git}, and use any regular Git hosting service.") (replace 'check (lambda _ (invoke "./libgit2_clar" "-v" "-Q")))))) (inputs - `(("libssh2" ,libssh2))) + `(("libssh2" ,libssh2) + ("http-parser" ,http-parser))) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python))) -- 2.26.0 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0004-gnu-julia-Upgrade-to-1.3.1.patch Content-Transfer-Encoding: quoted-printable >From f01ecb8c6f19180e790cf412b69149ebb6382996 Mon Sep 17 00:00:00 2001 From: =3D?UTF-8?q?Nicol=3DC3=3DB2=3D20Balzarotti?=3D Date: Thu, 2 Apr 2020 11:55:20 +0200 Subject: [PATCH 4/4] gnu: julia: Upgrade to 1.3.1. --- gnu/local.mk | 2 + gnu/packages/julia.scm | 348 +++++++++--------- .../julia-SOURCE_DATE_EPOCH-mtime.patch | 22 ++ 3 files changed, 188 insertions(+), 184 deletions(-) create mode 100644 gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6c85e6e806..2b8c99ef57 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -28,6 +28,7 @@ # Copyright =C2=A9 2019 Amin Bandali # Copyright =C2=A9 2020 Brendan Tildesley # Copyright =C2=A9 2020 Vincent Legoll +# Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti ;;; Copyright =C2=A9 2016 Efraim Flashner +;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) #:use-module (gnu packages elf) #:use-module (gnu packages gcc) #:use-module (gnu packages llvm) @@ -43,18 +45,18 @@ #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages ssh) #:use-module (gnu packages wget) #:use-module (ice-9 match)) =20 (define libuv-julia - (let ((commit "26dbe5672c33fc885462c509fe2a9b36f35866fd") - (revision "6")) - ;; When upgrading Julia, also upgrade this. - ;; Get the commit from https://github.com/JuliaLang/julia/blob/v1.1.1/= deps/libuv.version + (let ((commit "35b1504507a7a4168caae3d78db54d1121b121e1")) + ;; When upgrading Julia, also upgrade this. Get the commit from + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/deps/libuv.version (package (inherit libuv) (name "libuv-julia") - (version (string-append "1.9.0-" revision "." (string-take commit 8)= )) + (version (string-append "2.0.0" "." (string-take commit 8))) (source (origin (method git-fetch) (uri (git-reference @@ -63,7 +65,7 @@ (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "17pn2xmqaramilx897s9grs966i5246gi6sric5alch4g9j4685n"))= )) + "0dn3v6fdp1z382pqg3nhjzk60l61ky9b65mfgaj29fv2da95rwjs"))= )) (build-system gnu-build-system) (arguments (substitute-keyword-arguments (package-arguments libuv) @@ -72,14 +74,37 @@ (delete 'autogen))))) (home-page "https://github.com/JuliaLang/libuv")))) =20 -(define (llvm-patch-url version name) +(define libunwind-julia + ;; The Julia projects requires their patched version. + ;; Get from https://github.com/JuliaLang/julia/tree/master/deps/patches + (package + (inherit libunwind) + (name "libunwind-julia") + (version "1.3.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://savannah/libunwind/libunwind-" + version ".tar.gz")) + (sha256 + (base32 + "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3")) + (patches + (list + (julia-patch "libunwind-prefer-extbl" + "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m= 1") + (julia-patch "libunwind-static-arm" + "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhg= q"))))) + (home-page "https://github.com/JuliaLang/tree/master/deps/"))) + +(define (julia-patch-url version name) (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" ver= sion - "/deps/patches/" name)) + "/deps/patches/" name ".patch")) =20 -(define (llvm-patch name sha) - (let ((version "1.1.1")) +(define (julia-patch name sha) + (let ((version "1.3.1")) (origin (method url-fetch) - (uri (llvm-patch-url version name)) + (uri (julia-patch-url version name)) (sha256 (base32 sha)) (file-name name)))) =20 @@ -98,41 +123,44 @@ ;; but they are required to build Julia. ;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi= ?bug=3D919628 (patches - (list - (llvm-patch "llvm-6.0-D44650.patch" - "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") - (llvm-patch "llvm-6.0-DISABLE_ABI_CHECKS.patch" - "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") - (llvm-patch "llvm-6.0-NVPTX-addrspaces.patch" - "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") - (llvm-patch "llvm-6.0.0_D27296-libssp.patch" - "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") - (llvm-patch "llvm-D27629-AArch64-large_model_6.0.1.patch" - "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") - (llvm-patch "llvm-D34078-vectorize-fdiv.patch" - "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") - (llvm-patch "llvm-D42262-jumpthreading-not-i1.patch" - "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") - (llvm-patch "llvm-D44892-Perf-integration.patch" - "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") - (llvm-patch "llvm-D46460.patch" - "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") - (llvm-patch "llvm-D49832-SCEVPred.patch" - "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") - (llvm-patch "llvm-D50010-VNCoercion-ni.patch" - "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") - (llvm-patch "llvm-D50167-scev-umin.patch" - "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") - (llvm-patch "llvm-OProfile-line-num.patch" - "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") - (llvm-patch "llvm-PPC-addrspaces.patch" - "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") - (llvm-patch "llvm-rL323946-LSRTy.patch" - "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") - (llvm-patch "llvm-rL326967-aligned-load.patch" - "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") - (llvm-patch "llvm-rL327898.patch" - "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))) + (map (match-lambda + ((name hash) + (julia-patch name hash))) + (list + '("llvm-6.0-D44650" + "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fx= yb") + '("llvm-6.0-DISABLE_ABI_CHECKS" + "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36p= yg") + '("llvm-6.0-NVPTX-addrspaces" + "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jksc= qc") + '("llvm-6.0.0_D27296-libssp" + "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdp= fh") + '("llvm-D27629-AArch64-large_model_6.0.1" + "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j= 4z") + '("llvm-D34078-vectorize-fdiv" + "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawka= ay") + '("llvm-D42262-jumpthreading-not-i1" + "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixg= aq") + '("llvm-D44892-Perf-integration" + "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b= 05") + '("llvm-D46460" + "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbs= fb") + '("llvm-D49832-SCEVPred" + "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dl= bn") + '("llvm-D50010-VNCoercion-ni" + "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhf= kp") + '("llvm-D50167-scev-umin" + "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q= 6v") + '("llvm-OProfile-line-num" + "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78= c7") + '("llvm-PPC-addrspaces" + "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny0= 1p") + '("llvm-rL323946-LSRTy" + "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9f= ns") + '("llvm-rL326967-aligned-load" + "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9= v4") + '("llvm-rL327898" + "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8b= nq")))))) (arguments (substitute-keyword-arguments (package-arguments llvm-6) ((#:configure-flags flags) @@ -158,7 +186,7 @@ (define-public julia (package (name "julia") - (version "1.1.1") + (version "1.3.1") (source (origin (method url-fetch) (uri (string-append @@ -166,7 +194,9 @@ version "/julia-" version ".tar.gz")) (sha256 (base32 - "0hk983mywimclgnjc41zmlppm5kfdz2aj85ky07p49ilcqxi998f")))) + "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")) + (patches + (search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -188,30 +218,25 @@ (add-after 'unpack 'prepare-deps (lambda* (#:key inputs #:allow-other-keys) (mkdir "deps/srccache") - (copy-file (assoc-ref inputs "dsfmt") - "deps/srccache/dsfmt-2.2.3.tar.gz") + ;; no USE_SYSTEM_{OBJCONV/LIBWHICH} (copy-file (assoc-ref inputs "objconv") "deps/srccache/objconv.zip") - (copy-file (assoc-ref inputs "suitesparse") - "deps/srccache/SuiteSparse-4.4.5.tar.gz") - (copy-file (string-append (assoc-ref inputs "virtualenv") - "/bin/virtualenv") - "julia-env") (copy-file (assoc-ref inputs "libwhich") (string-append "deps/srccache/libwhich-" "81e9723c0273d78493dc8c8ed570f68d9c= e7e89e" ".tar.gz")) - (copy-file (assoc-ref inputs "rmath") - "deps/srccache/Rmath-julia-0.1.tar.gz") =20 ;; needed by libwhich (setenv "LD_LIBRARY_PATH" (string-join (map (lambda (pkg) (string-append (assoc-ref inputs = pkg) "/lib")) - '("arpack-ng" "fftw" "gmp" "lapack" - "libgit2" "mpfr" "openblas" "openlibm" - "openspecfun" "pcre2")) + '("arpack-ng" "curl" "dsfmt" + "gmp" "lapack" + "libssh2" "libgit2" + "mbedtls" "mpfr" + "openblas" "openlibm" "pcre2" + "suitesparse")) ":")) #t)) ;; FIXME: Building the documentation requires Julia packages that @@ -233,44 +258,12 @@ ;; using the output of "/sbin/ldconfig -p". Since ldconfig is n= ot ;; used in Guix, we patch runtime_ccall.cpp to contain a static = map. (lambda* (#:key inputs #:allow-other-keys) - (use-modules (ice-9 match)) - (substitute* "src/runtime_ccall.cpp" - ;; Patch out invocations of '/sbin/ldconfig' to avoid getting - ;; error messages about missing '/sbin/ldconfig' on Guix Sys= tem. - (("popen\\(.*ldconfig.*\\);") - "NULL;\n") - - ;; Populate 'sonameMap'. - (("jl_read_sonames.*;") - (string-join - (map (match-lambda - ((input libname soname) - (string-append - "sonameMap[\"" libname "\"] =3D " - "\"" (assoc-ref inputs input) "/lib/" soname "\";= "))) - '(("libc" "libc" "libc.so.6") - ("pcre2" "libpcre2-8" "libpcre2-8.so") - ("mpfr" "libmpfr" "libmpfr.so") - ("openblas" "libblas" "libopenblas.so") - ("arpack-ng" "libarpack" "libarpack.so") - ("lapack" "liblapack" "liblapack.so") - ("libgit2" "libgit2" "libgit2.so") - ("gmp" "libgmp" "libgmp.so") - ("openspecfun" "libopenspecfun" "libopenspecfun.so") - ("fftw" "libfftw3" "libfftw3_threads.s= o") - ("fftwf" "libfftw3f" "libfftw3f_threads.= so")))))) - (substitute* "base/math.jl" - (("const libm =3D Base.libm_name") - (string-append "const libm =3D \"" - (assoc-ref inputs "openlibm") - "/lib/libopenlibm.so" - "\"")) - (("const openspecfun =3D \"libopenspecfun\"") - (string-append "const openspecfun =3D \"" - (assoc-ref inputs "openspecfun") - "/lib/libopenspecfun.so" - "\""))) - #t)) + (substitute* "base/math.jl" + (("const libm =3D Base.libm_name") + (string-append "const libm =3D \"" + (assoc-ref inputs "openlibm") + "/lib/libopenlibm.so" + "\""))))) (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 @@ -278,10 +271,10 @@ ;; collection of build targets and a list of libraries to link ;; against. (substitute* "src/flisp/Makefile" - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\): \\$\\(OBJS\\) \\$\\(L= IBFILES_release\\)") - "$(BUILDDIR)/$(EXENAME): $(OBJS) $(LLT_release)") - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug: \\$\\(DOBJS\\) = \\$\\(LIBFILES_debug\\)") - "$(BUILDDIR)/$(EXENAME)-debug: $(DOBJS) $(LLT_debug)")) + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)\\$\\(EXE\\): \\$\\(OB= JS\\) \\$\\(LIBFILES_release\\)") + "$(BUILDDIR)/$(EXENAME)$(EXE): $(OBJS) $(LLT_release)") + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug$(EXE): \\$\\(DO= BJS\\) \\$\\(LIBFILES_debug\\)") + "$(BUILDDIR)/$(EXENAME)-debug\\$\\(EXE\\): $(DOBJS) $(LLT_= debug)")) =20 ;; The REPL must be linked with libuv. (substitute* "ui/Makefile" @@ -296,39 +289,50 @@ "/include/uv/errno.h"))) #t)) (add-before 'build 'replace-default-shell - (lambda _ - (substitute* "base/client.jl" - (("/bin/sh") (which "sh"))) - #t)) - (add-after 'unpack 'hardcode-paths (lambda _ - (substitute* "stdlib/InteractiveUtils/src/InteractiveUtils.jl" - (("`which") (string-append "`" (which "which"))) - (("`wget") (string-append "`" (which "wget")))) + (substitute* "base/client.jl" + (("/bin/sh") (which "sh"))) + #t)) + (add-before 'build 'fix-precompile + (lambda _ + (substitute* "base/loading.jl" + (("something(Base.active_project(), \"\")") "\"\"")) #t)) (add-before 'check 'disable-broken-tests (lambda _ - (define (touch file-name) - (call-with-output-file file-name (const #t))) - ;; FIXME: All git tests works except this one. But *THIS* "fix" - ;; is not working, so right now I'm disabling all libgit2.jl = tests - ;; (substitute* "stdlib/LibGit2/test/libgit2.jl" - ;; (("!LibGit2.use_http_path(cfg, github_cred)") "true") - ;; (("LibGit2.use_http_path(cfg, mygit_cred)") "true")) - (map (lambda (test) - (delete-file test) - (touch test)) - '("stdlib/Sockets/test/runtests.jl" - "stdlib/Distributed/test/runtests.jl" - ;; FIXME: see above - "stdlib/LibGit2/test/libgit2.jl")) - (substitute* "test/choosetests.jl" - ;; These tests fail, probably because some of the input - ;; binaries have been stripped and thus backtraces don't look - ;; as expected. - (("\"backtrace\",") "") - (("\"cmdlineargs\",") "")) - #t))) + (substitute* "test/choosetests.jl" + (("tests =3D testnames") + ;; Those failings are not deterministic. They depends on = the + ;; running order. I think it depends on the number of + ;; runners, disabling it for now + ;; https://github.com/JuliaLang/julia/issues/34330 + "tests =3D filter(e->!in(e,[\"backtrace\",\"exceptions\", + \"stress\",\"precompile\", + \"client\",\"stacktraces\"]), + testnames)")) + ;; 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 + (substitute* "test/cmdlineargs.jl" + (("\"JULIA_PROJECT\"") "\"HOME\"=3D>\"/tmp\", \"JULIA_PROJE= CT\"")) + ;; Marking the test as broken as it's a known bug: + ;; https://github.com/JuliaLang/julia/issues/32377 + (substitute* "stdlib/REPL/test/replcompletions.jl" + (("@test count") "@test_broken count")) + #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=3D" (assoc-ref %outputs "out")) @@ -346,25 +350,20 @@ (_ "MARCH=3DUNSUPPORTED")) =20 "CONFIG_SHELL=3Dbash" ;needed to build bundled libraries - "USE_SYSTEM_DSFMT=3D0" ;not packaged for Guix and upstream has = no - ;build system for a shared library. + ;; list of "USE_SYSTEM_*" is here: + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/Make.inc + "USE_SYSTEM_DSFMT=3D1" + "USE_SYSTEM_P7ZIP=3D1" "USE_SYSTEM_LAPACK=3D1" "USE_SYSTEM_BLAS=3D1" "USE_BLAS64=3D0" ;needed when USE_SYSTEM_BLAS=3D1 "LIBBLAS=3D-lopenblas" "LIBBLASNAME=3Dlibopenblas" =20 - "USE_SYSTEM_FFTW=3D1" - "LIBFFTWNAME=3Dlibfftw3" - "LIBFFTWFNAME=3Dlibfftw3f" - - ;; TODO: Suitesparse does not install shared libraries, so we cann= ot - ;; use the suitesparse package. - ;; "USE_SYSTEM_SUITESPARSE=3D1" - ;; (string-append "SUITESPARSE_INC=3D-I " - ;; (assoc-ref %build-inputs "suitesparse") - ;; "/include") - + "USE_SYSTEM_SUITESPARSE=3D1" + (string-append "SUITESPARSE_INC=3D-I " + (assoc-ref %build-inputs "suitesparse") + "/include") "USE_GPL_LIBS=3D1" ;proudly "USE_SYSTEM_UTF8PROC=3D1" (string-append "UTF8PROC_INC=3D" @@ -390,11 +389,16 @@ "USE_SYSTEM_MPFR=3D1" "USE_SYSTEM_ARPACK=3D1" "USE_SYSTEM_LIBGIT2=3D1" - "USE_SYSTEM_ZLIB=3D1" - "USE_SYSTEM_OPENSPECFUN=3D1"))) + (string-append "LIBUV=3D" + (assoc-ref %build-inputs "libuv") + "/lib/libuv.so") + (string-append "LIBUV_INC=3D" + (assoc-ref %build-inputs "libuv") + "/include") + "USE_SYSTEM_ZLIB=3D1"))) (inputs `(("llvm" ,llvm-julia) - + ("p7zip" ,p7zip) ;; The bundled version is 3.3.0 so stick to that version. With oth= er ;; versions, we get test failures in 'linalg/arnoldi' as described = in ;; . @@ -403,12 +407,12 @@ ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like ("lapack" ,lapack) ("openblas" ,openblas) ;Julia does not build with Atlas - ("libunwind" ,libunwind) + ("libunwind" ,libunwind-julia) ("openlibm" ,openlibm) - ("openspecfun" ,openspecfun) + ("mbedtls" ,mbedtls-apache) + ("curl" ,curl) ("libgit2" ,libgit2) - ("fftw" ,fftw) - ("fftwf" ,fftwf) + ("libssh2" ,libssh2) ("fortran" ,gfortran) ("libuv" ,libuv-julia) ("pcre2" ,pcre2) @@ -418,31 +422,12 @@ ("which" ,which) ("zlib" ,zlib) ("gmp" ,gmp) - ("virtualenv" ,python2-virtualenv) + ("suitesparse" ,suitesparse) ;; FIXME: The following inputs are downloaded from upstream to allo= w us ;; to use the lightweight Julia release tarball. Ideally, these in= puts ;; would eventually be replaced with proper Guix packages. - - ;; TODO: run "make -f contrib/repackage_system_suitesparse4.make" t= o copy static lib - ;; Find dependency versions here: - ;; https://raw.githubusercontent.com/JuliaLang/julia/77a2c1e245c858= 12dc1c7687540beedecc52758f/deps/Versions.make - ("rmath" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaLang/Rmath-julia") - (commit "v0.1"))) - (file-name "rmath-julia-0.1-checkout") - (sha256 - (base32 - "1zkpy0cg5zivq40zbhbdgj9128fqzs2j94wkwih8nc6xaj3gp9p6")))) - ("suitesparse" - ,(origin - (method url-fetch) - (uri "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse= -4.4.5.tar.gz") - (sha256 - (base32 - "1jcbxb8jx5wlcixzf6n5dca2rcfx6mlcms1k2rl5gp67ay3bix43")))) + ;; Find dependencies versions here: + ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Ve= rsions.make ("objconv" ,(origin (method url-fetch) @@ -466,16 +451,8 @@ ".tar.gz")) (sha256 (base32 - "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) - ("dsfmt" - ,(origin - (method url-fetch) - (uri (string-append - "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/" - "SFMT/dSFMT-src-2.2.3.tar.gz")) - (sha256 - (base32 - "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42")))))) + "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) + ("dsfmt" ,dsfmt))) (native-inputs `(("openssl" ,openssl) ("perl" ,perl) @@ -485,7 +462,10 @@ (native-search-paths (list (search-path-specification (variable "JULIA_LOAD_PATH") - (files (list "share/julia/packages/"))))) + (files (list "share/julia/packages/"))) + (search-path-specification + (variable "JULIA_DEPOT_PATH") + (files (list "share/julia/"))))) ;; Julia is not officially released for ARM and MIPS. ;; See https://github.com/JuliaLang/julia/issues/10639 (supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux")) diff --git a/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch b/gnu= /packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch new file mode 100644 index 0000000000..b60f284923 --- /dev/null +++ b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch @@ -0,0 +1,22 @@ +Fix one of upstream non-determinism, tracked here: + +https://github.com/JuliaLang/julia/issues/34115 +https://github.com/JuliaLang/julia/issues/25900 + + +Patch by Nicol=C3=B3 Balzarotti . + +--- a/base/loading.jl ++++ b/base/loading.jl +@@ -807,7 +807,10 @@ + path =3D normpath(joinpath(dirname(prev), _path)) + end + if _track_dependencies[] +- push!(_require_dependencies, (mod, path, mtime(path))) ++ push!(_require_dependencies, ++ (mod, path, ++ haskey(ENV, "SOURCE_DATE_EPOCH") ? ++ parse(Float64, ENV["SOURCE_DATE_EPOCH"]) : mtime(path))) + end + return path, prev + end --=20 2.26.0 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable [1] https://github.com/nodejs/http-parser/pull/483 [2] https://github.com/JuliaLang/julia/issues/33111 [3] https://github.com/JuliaLang/julia/pull/35232 [4] https://src.fedoraproject.org/rpms/http-parser/c/e89b4c4e2874c19079a5a1= a2d2ccc61b551aa289?branch=3Dmaster > On Thu, Mar 19, 2020 at 01:28:09PM +0100, Marius Bakke wrote: >> Nicol=C3=B2 Balzarotti writes: >>=20 >> > Hi, >> > >> > I looked at it. THe patch is literally a one-line change[1] they make >> > to support RFC 3986. According to [2], the patch has been ported to >> > fedora http-parser. Our version is different form the one bundled in >> > libgit2, but deleting the corresponding line (see snippet) libgit2 tes= ts >> > are now passing. However, this http-parser test is failing: >> > >> > *** http_parser_parse_url("http://hostname:/") "proxy empty port" test= failed, unexpected rv 0 *** >> > >> > I opened an issue upstream here [3] so that if they fix it we can >> > continue unbundling it without having to patch it ourselves. >> > >> > Hope they decide to upstream it >> > >> > I'll send updates if there are news on the issue, >>=20 >> Awesome, thank you very much for looking into it. I have no objections >> to taking the patches from the upstream PR [0] if that helps updating >> Julia. :-) >>=20 >> 0: https://github.com/nodejs/http-parser/pull/483 > > Any news from upstream? > > > --=20 > Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7= =9D =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 > GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 > Confidentiality cannot be guaranteed on emails sent or received unencrypt= ed --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 06 04:38:35 2020 Received: (at 38546) by debbugs.gnu.org; 6 Apr 2020 08:38:35 +0000 Received: from localhost ([127.0.0.1]:47141 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jLNH9-0003YS-5q for submit@debbugs.gnu.org; Mon, 06 Apr 2020 04:38:35 -0400 Received: from flashner.co.il ([178.62.234.194]:58796) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jLNH7-0003Y2-Ke for 38546@debbugs.gnu.org; Mon, 06 Apr 2020 04:38:34 -0400 Received: from localhost (unknown [141.226.9.17]) by flashner.co.il (Postfix) with ESMTPSA id 3912A401A3; Mon, 6 Apr 2020 08:38:27 +0000 (UTC) Date: Mon, 6 Apr 2020 11:37:54 +0300 From: Efraim Flashner To: =?utf-8?Q?Nicol=C3=B2?= Balzarotti Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Message-ID: <20200406083754.GF1518@E5400> References: <87fteywndk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87blplwmuk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200316100641.GK927@E5400> <87fte7772m.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200317081210.GN927@E5400> <87zhcfb29s.fsf@devup.no> <878sjz6r0u.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <871rpobkbq.fsf@devup.no> <20200406060949.GB1518@E5400> <87lfn9hvse.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="Qf1oXS95uex85X0R" Content-Disposition: inline In-Reply-To: <87lfn9hvse.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: Marius Bakke , 38546@debbugs.gnu.org, zimoun X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --Qf1oXS95uex85X0R Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Apr 06, 2020 at 10:18:25AM +0200, Nicol=C3=B2 Balzarotti wrote: > Efraim Flashner writes: >=20 > Hi Efraim, >=20 > no, AFAIK. >=20 > The http-parser PR[1] received a comment 18 days ago, so maybe things are= slowly > moving. > Julia issue[2] basically suggest to workaround the problem, while [3] > seems to have a patch for julia 1.4.0 ready. >=20 > In the meantime, I'm sending a quick patch that patches our http-parser > with the one applied system-wide by fedora[4]. >=20 > How was the command to build all packages depending even indirectly from > another package (http-parser in this case)? I'll build everything and > hope tests will pass. >=20 > Thanks, Nicol=C3=B2 >=20 'guix refresh -l http-parser' will list all the packages which depend, even indirectly, on it. ./pre-inst-env guix build --no-grafts $(./pre-inst-env guix refresh -l http-parser | cut -f2 -d':') will build them all if you don't feel like copy-pasting the list. --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --Qf1oXS95uex85X0R Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl6K6l0ACgkQQarn3Mo9 g1HwFg//QlGstEV/9v5wbyTFX39eeqZcmBZiqjwhFo3jO860oTh9SHvj5V0xs5OT W55T001ws8EFxZ0gXtWME15JMid6kikwRonjtetOc8T9tffqPad57OUo+sYcK+1A 0kEsP5LMvqYvpY4p+LJTvreOTkjbku67EORgAexGfxrFVRaZPmvibeFE7W7s4k1V MiMkK0lmg/pdWfscjG42JQGYtYwwvP3fXmueZaMi+Pjlqh3UbpQbk1ggDWOpgDeT e2mf6VyxayftpBd7JxMuSW7Cxr0+ZL/XacFM+1dPKzMiO7xm2ogJSkik7xPciu6+ JdeLofQdtFmlFxsKFQIsd88tbbLQlMYYYXhkOoDLtkMT+0u6qaCTQARywGp+QcPZ popRj43i4Divnl/kcY+rQwFA1jduUbcVIhy6YrC7Oxq3a1R2XVEN2LGZZ3vjhyrW ckvjhkYRI8OH+qvJg9RW1MJ6lgGBjYJcL163VYdZNPH7OIorqHPZm0OUIrhQTJGz 4QLCpP9YO11REn/Hx3r9EqVDsHREwY+ZWMjCOXpx/6U5NE9cZpjw0ydOj9pGo1q7 V/zHChzZPEWUJ2oGwZfHxLqOm2n936o+cGlZ3kGv5GbeM+5W5KTMF/ax7yTDvP8M Gmj8IH9tGAqeUE5ME2MMHNQJarK2cOcWorLOBBJnNvuSXjXCmxY= =nbf/ -----END PGP SIGNATURE----- --Qf1oXS95uex85X0R-- From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 06 19:18:18 2020 Received: (at 38546) by debbugs.gnu.org; 6 Apr 2020 23:18:18 +0000 Received: from localhost ([127.0.0.1]:49366 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jLb0U-0005wH-8T for submit@debbugs.gnu.org; Mon, 06 Apr 2020 19:18:18 -0400 Received: from mail-wr1-f65.google.com ([209.85.221.65]:43957) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jLb0T-0005vp-0J for 38546@debbugs.gnu.org; Mon, 06 Apr 2020 19:18:17 -0400 Received: by mail-wr1-f65.google.com with SMTP id w15so1596376wrv.10 for <38546@debbugs.gnu.org>; Mon, 06 Apr 2020 16:18:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-transfer-encoding; bh=ecBqFf4vebRQ49IL5MvlSXfHYeB9HbBiJPvVzPqNU1I=; b=buLy/9QaPunslhIcRYlEOkONzaElZloEkA60+jI53pJt+9P3JsjgLqt/8Ccwsdc1Am pgPV1TH7cVxJ5tTwkB2He/rNcF7H2L6gw2yJy7Qs+BLeufapVfZel4XneXykeJ5nLTxP ZXVCAnOtDKq8WaNM32jnxc40VPFK1jfi/FhVpET7cD4SHPrrP+Gh3pIQySB2UmtPqSRp 8E/J53EuX59oiEQPx1otwGqVjbenxuV307jP7lMWkIJMMAFFlytg8FRbNs/dMkP4Gw90 OdFMKWItJLauNBh5ESnhKl0RDzT+IXllocmD2ceJDdZmlH5DREoJgMrEuOU8OqB4t2wW WoqQ== 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:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=ecBqFf4vebRQ49IL5MvlSXfHYeB9HbBiJPvVzPqNU1I=; b=r1PCNGaAZk6y0J9zRdn8FE+EfnB1j9wnI3zLBEuWrDzMf8NouBDp3bq2rjKSo/Lm9O tR0l9SvAVpYiI2x3EhEXAdC1cg+LrNcYqvdCOgfQGlyTGMGd/V+uTiNARUXX6RfIh6N8 ZMfmtTSF1xiwe7Ll9TYJmDi8ulFxOilFg3Oc6XPGLySmWJSzohxxttV7LU6L9pj2BT0z FvUzNhPSRRcE873/byk/ewvLn6F4mwwW+NVlVEQoFL71fmGwNz5zkJpCI+FZjH+m3S4C eT+1VH579kA24WkSPHM+t7BIkBPB2pKP83/TXp8CS068zScsGPHVcI6HnghJ7QMEo6Sg posQ== X-Gm-Message-State: AGi0PuYvwNoLzsTQNf+9oMQJ/35q+k7CpdKRwv39F8YzphpU48BaBLAf eEayQJZEWu7RGOzegRg8gn4= X-Google-Smtp-Source: APiQypLqEIeaSV8uJR30GaVf/nf/N5f8PqNQpll4AHYAdnYjDVs3hhULlKdmLG+YUQTbw3kLLtrvCg== X-Received: by 2002:adf:f8cd:: with SMTP id f13mr1600314wrq.119.1586215091034; Mon, 06 Apr 2020 16:18:11 -0700 (PDT) Received: from guixSD ([95.237.164.204]) by smtp.gmail.com with ESMTPSA id a80sm1333598wme.37.2020.04.06.16.18.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2020 16:18:10 -0700 (PDT) From: =?utf-8?Q?Nicol=C3=B2?= Balzarotti To: Efraim Flashner Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 In-Reply-To: <20200406083754.GF1518@E5400> References: <87fteywndk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87blplwmuk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200316100641.GK927@E5400> <87fte7772m.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200317081210.GN927@E5400> <87zhcfb29s.fsf@devup.no> <878sjz6r0u.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <871rpobkbq.fsf@devup.no> <20200406060949.GB1518@E5400> <87lfn9hvse.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200406083754.GF1518@E5400> Date: Tue, 07 Apr 2020 01:18:08 +0200 Message-ID: <877dysjj9r.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: Marius Bakke , 38546@debbugs.gnu.org, zimoun X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello again, the build completed right now. Efraim Flashner writes: > On Mon, Apr 06, 2020 at 10:18:25AM +0200, Nicol=C3=B2 Balzarotti wrote: >> Efraim Flashner writes: >>=20 >> Hi Efraim, >>=20 >> no, AFAIK. >>=20 >> The http-parser PR[1] received a comment 18 days ago, so maybe things ar= e slowly >> moving. >> Julia issue[2] basically suggest to workaround the problem, while [3] >> seems to have a patch for julia 1.4.0 ready. >>=20 >> In the meantime, I'm sending a quick patch that patches our http-parser >> with the one applied system-wide by fedora[4]. >>=20 >> How was the command to build all packages depending even indirectly from >> another package (http-parser in this case)? I'll build everything and >> hope tests will pass. >>=20 >> Thanks, Nicol=C3=B2 >>=20 > > 'guix refresh -l http-parser' will list all the packages which depend, > even indirectly, on it. ./pre-inst-env guix build --no-grafts > $(./pre-inst-env guix refresh -l http-parser | cut -f2 -d':') will build > them all if you don't feel like copy-pasting the list. > Thanks! >From the output of guix refresh, it could not find guix-minimal@1.0.1-15.0984481 guix-daemon@1.0.1-15.0984481. This command succeeded: #+begin_src bash ./pre-inst-env guix build --no-grafts jami@20191101.3.67671e7 ungoogled-chr= omium-wayland@80.0.3987.162-0.516e2d9 ungoogled-chromium@80.0.3987.162-0.51= 6e2d9 emacs-nodejs-repl@0.2.2 geierlein@0.9.13 node-env-variable@0.0.4 node= -mersenne@0.0.4 node-color-name@1.1.3 node-util-deprecate@1.0.2 node-stack-= trace@0.0.10-1.4fd379e node-statsd-parser@0.0.4 ruby-autoprefixer-rails@9.4= .7 celestia-gtk@1.6.1-815.9dbdf29 celestia@1.6.1-815.9dbdf29 rust-libgit2-s= ys@0.8.2 rust-libgit2-sys@0.10.0 fritzing@0.9.3b gitg@3.32.1 cuirass@0.0.1-= 28.b9031db emacs-guix@0.5.2 guix-jupyter@0.1.0 hpcguix-web@0.0.1-4.f39c90b = guile2.0-git@0.3.0 julia@1.3.1 kopete@19.08.3 dolphin-plugins@19.08.3 kate@= 19.08.3 kdevelop@5.4.6 offlate@0.5 gitless@0.8.8 exa@0.9.0 tokei@10.1.1 r-b= iocworkflowtools@1.12.1 r-activpal@0.1.3 r-chemometricswithr@0.1.13 r-abjut= ils@0.2.3 r-adapr@2.0.0 stagit@0.7.2 #+end_src But two packages are failing: - sssd@1.16.4 - rust-libgit2-sys What do you suggest? If those errors are actually related http-parser patch, we could either fix/disable those tests or use the patched version in julia only. Thanks, Nicol=C3=B2 > > --=20 > Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7= =9D =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 > GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 > Confidentiality cannot be guaranteed on emails sent or received unencrypt= ed From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 07 01:42:32 2020 Received: (at 38546) by debbugs.gnu.org; 7 Apr 2020 05:42:32 +0000 Received: from localhost ([127.0.0.1]:49482 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jLh0J-0001vn-NE for submit@debbugs.gnu.org; Tue, 07 Apr 2020 01:42:32 -0400 Received: from flashner.co.il ([178.62.234.194]:60802) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jLh0I-0001vM-45 for 38546@debbugs.gnu.org; Tue, 07 Apr 2020 01:42:30 -0400 Received: from localhost (unknown [141.226.9.17]) by flashner.co.il (Postfix) with ESMTPSA id AA6FE401A3; Tue, 7 Apr 2020 05:42:23 +0000 (UTC) Date: Tue, 7 Apr 2020 08:41:51 +0300 From: Efraim Flashner To: =?utf-8?Q?Nicol=C3=B2?= Balzarotti Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Message-ID: <20200407054151.GH1518@E5400> References: <20200316100641.GK927@E5400> <87fte7772m.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200317081210.GN927@E5400> <87zhcfb29s.fsf@devup.no> <878sjz6r0u.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <871rpobkbq.fsf@devup.no> <20200406060949.GB1518@E5400> <87lfn9hvse.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200406083754.GF1518@E5400> <877dysjj9r.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="81JctsDUVPekGcy+" Content-Disposition: inline In-Reply-To: <877dysjj9r.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: Marius Bakke , 38546@debbugs.gnu.org, zimoun X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --81JctsDUVPekGcy+ Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Apr 07, 2020 at 01:18:08AM +0200, Nicol=C3=B2 Balzarotti wrote: > Hello again, the build completed right now. >=20 > Efraim Flashner writes: >=20 > > On Mon, Apr 06, 2020 at 10:18:25AM +0200, Nicol=C3=B2 Balzarotti wrote: > >> Efraim Flashner writes: > >>=20 > >> Hi Efraim, > >>=20 > >> no, AFAIK. > >>=20 > >> The http-parser PR[1] received a comment 18 days ago, so maybe things = are slowly > >> moving. > >> Julia issue[2] basically suggest to workaround the problem, while [3] > >> seems to have a patch for julia 1.4.0 ready. > >>=20 > >> In the meantime, I'm sending a quick patch that patches our http-parser > >> with the one applied system-wide by fedora[4]. > >>=20 > >> How was the command to build all packages depending even indirectly fr= om > >> another package (http-parser in this case)? I'll build everything and > >> hope tests will pass. > >>=20 > >> Thanks, Nicol=C3=B2 > >>=20 > > > > 'guix refresh -l http-parser' will list all the packages which depend, > > even indirectly, on it. ./pre-inst-env guix build --no-grafts > > $(./pre-inst-env guix refresh -l http-parser | cut -f2 -d':') will build > > them all if you don't feel like copy-pasting the list. > > >=20 > Thanks! >=20 > From the output of guix refresh, it could not find > guix-minimal@1.0.1-15.0984481 guix-daemon@1.0.1-15.0984481. >=20 > This command succeeded: > #+begin_src bash > ./pre-inst-env guix build --no-grafts jami@20191101.3.67671e7 ungoogled-c= hromium-wayland@80.0.3987.162-0.516e2d9 ungoogled-chromium@80.0.3987.162-0.= 516e2d9 emacs-nodejs-repl@0.2.2 geierlein@0.9.13 node-env-variable@0.0.4 no= de-mersenne@0.0.4 node-color-name@1.1.3 node-util-deprecate@1.0.2 node-stac= k-trace@0.0.10-1.4fd379e node-statsd-parser@0.0.4 ruby-autoprefixer-rails@9= =2E4.7 celestia-gtk@1.6.1-815.9dbdf29 celestia@1.6.1-815.9dbdf29 rust-libgi= t2-sys@0.8.2 rust-libgit2-sys@0.10.0 fritzing@0.9.3b gitg@3.32.1 cuirass@0.= 0.1-28.b9031db emacs-guix@0.5.2 guix-jupyter@0.1.0 hpcguix-web@0.0.1-4.f39c= 90b guile2.0-git@0.3.0 julia@1.3.1 kopete@19.08.3 dolphin-plugins@19.08.3 k= ate@19.08.3 kdevelop@5.4.6 offlate@0.5 gitless@0.8.8 exa@0.9.0 tokei@10.1.1= r-biocworkflowtools@1.12.1 r-activpal@0.1.3 r-chemometricswithr@0.1.13 r-a= bjutils@0.2.3 r-adapr@2.0.0 stagit@0.7.2 > #+end_src >=20 > But two packages are failing: > - sssd@1.16.4 > - rust-libgit2-sys >=20 > What do you suggest? If those errors are actually related http-parser > patch, we could either fix/disable those tests or use the patched > version in julia only. >=20 > Thanks, Nicol=C3=B2 >=20 One of the rust-libgit2-sys packages is known to fail and isn't an issue. For sssd I see that 1.16.5 has been recently released. Hopefully that can be a drop-in replacement. --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --81JctsDUVPekGcy+ Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl6MEpsACgkQQarn3Mo9 g1EbRQ//YCnDGJPlHEsUY9SzZKKrr9R7o63+I5TYHd58TzstWnN9b9mim48Bsha5 sBECGoy3F3dyH804V3MDB/bGB66QPxGSU0n+hVKDrig4lTtsqMc7f6AVlP0Tilww hgWKzvFs0BCLYeoXZZuaPI2cxNdgqWyQD61cTOvAeFPtoK2tMXbUK4XLb/ckueDe XEQBngJtAD7OrXXVRq5kLAv/Rm+iNUc6EYdBzMQtrQTYq2oiFgH9JHHv5r5PWtXg 88bFF4QtMGpIKUepvVQMh+kCt02hTRxPx+Nu6YzsnwjdeAZBDuzQ22ZHQDeYvr4T Vh6mk5lWg16M8mXjhCmcEnIjFW809tGMJD3Qe3z6u+OVKUiOfko+LCmY+Vf/iBan H3nRYg4TGU6WLmDoJkBAKMfFFF5j7ljd3d/iO0svIVZAuH1VCxo2cEft7cmyEV1Y DVV9rAgkhUrrbQn1OSrwLfBfQlIz17FIRmiWcJWv0MflWQuuPXs5qNA2RUdqFlQA AFDXsKVH6B9DvvbC0djwZQ1x4bDbjMoD0LIRBweQ9h1dtoClxm1NEd0V6FlePu8S CIfriKkJyu3tEwKibgeMYKVz8Yfrr1EbnGl+WvAILEeT4RoCF7qzbmGAuq5FDa6z Gw8z09U65csZfTRdFyzcNTKJg1ptpA/juh1sYswWFmKk8wfb+EQ= =r7Ac -----END PGP SIGNATURE----- --81JctsDUVPekGcy+-- From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 07 02:05:57 2020 Received: (at 38546) by debbugs.gnu.org; 7 Apr 2020 06:05:57 +0000 Received: from localhost ([127.0.0.1]:49486 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jLhMy-0003Fn-Km for submit@debbugs.gnu.org; Tue, 07 Apr 2020 02:05:57 -0400 Received: from flashner.co.il ([178.62.234.194]:60840) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jLhMx-0003FL-8e for 38546@debbugs.gnu.org; Tue, 07 Apr 2020 02:05:55 -0400 Received: from localhost (unknown [141.226.9.17]) by flashner.co.il (Postfix) with ESMTPSA id 5DF62401A3; Tue, 7 Apr 2020 06:05:49 +0000 (UTC) Date: Tue, 7 Apr 2020 09:05:17 +0300 From: Efraim Flashner To: =?utf-8?Q?Nicol=C3=B2?= Balzarotti Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Message-ID: <20200407060517.GI1518@E5400> References: <87fte7772m.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200317081210.GN927@E5400> <87zhcfb29s.fsf@devup.no> <878sjz6r0u.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <871rpobkbq.fsf@devup.no> <20200406060949.GB1518@E5400> <87lfn9hvse.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200406083754.GF1518@E5400> <877dysjj9r.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200407054151.GH1518@E5400> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="3MMMIZFJzhAsRj/+" Content-Disposition: inline In-Reply-To: <20200407054151.GH1518@E5400> X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 38546 Cc: Marius Bakke , 38546@debbugs.gnu.org, zimoun X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --3MMMIZFJzhAsRj/+ Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Apr 07, 2020 at 08:41:56AM +0300, Efraim Flashner wrote: > On Tue, Apr 07, 2020 at 01:18:08AM +0200, Nicol=C3=B2 Balzarotti wrote: > > Hello again, the build completed right now. > >=20 > > Efraim Flashner writes: > >=20 > > > On Mon, Apr 06, 2020 at 10:18:25AM +0200, Nicol=C3=B2 Balzarotti wrot= e: > > >> Efraim Flashner writes: > > >>=20 > > >> Hi Efraim, > > >>=20 > > >> no, AFAIK. > > >>=20 > > >> The http-parser PR[1] received a comment 18 days ago, so maybe thing= s are slowly > > >> moving. > > >> Julia issue[2] basically suggest to workaround the problem, while [3] > > >> seems to have a patch for julia 1.4.0 ready. > > >>=20 > > >> In the meantime, I'm sending a quick patch that patches our http-par= ser > > >> with the one applied system-wide by fedora[4]. > > >>=20 > > >> How was the command to build all packages depending even indirectly = =66rom > > >> another package (http-parser in this case)? I'll build everything a= nd > > >> hope tests will pass. > > >>=20 > > >> Thanks, Nicol=C3=B2 > > >>=20 > > > > > > 'guix refresh -l http-parser' will list all the packages which depend, > > > even indirectly, on it. ./pre-inst-env guix build --no-grafts > > > $(./pre-inst-env guix refresh -l http-parser | cut -f2 -d':') will bu= ild > > > them all if you don't feel like copy-pasting the list. > > > > >=20 > > Thanks! > >=20 > > From the output of guix refresh, it could not find > > guix-minimal@1.0.1-15.0984481 guix-daemon@1.0.1-15.0984481. > >=20 > > This command succeeded: > > #+begin_src bash > > ./pre-inst-env guix build --no-grafts jami@20191101.3.67671e7 ungoogled= -chromium-wayland@80.0.3987.162-0.516e2d9 ungoogled-chromium@80.0.3987.162-= 0.516e2d9 emacs-nodejs-repl@0.2.2 geierlein@0.9.13 node-env-variable@0.0.4 = node-mersenne@0.0.4 node-color-name@1.1.3 node-util-deprecate@1.0.2 node-st= ack-trace@0.0.10-1.4fd379e node-statsd-parser@0.0.4 ruby-autoprefixer-rails= @9.4.7 celestia-gtk@1.6.1-815.9dbdf29 celestia@1.6.1-815.9dbdf29 rust-libgi= t2-sys@0.8.2 rust-libgit2-sys@0.10.0 fritzing@0.9.3b gitg@3.32.1 cuirass@0.= 0.1-28.b9031db emacs-guix@0.5.2 guix-jupyter@0.1.0 hpcguix-web@0.0.1-4.f39c= 90b guile2.0-git@0.3.0 julia@1.3.1 kopete@19.08.3 dolphin-plugins@19.08.3 k= ate@19.08.3 kdevelop@5.4.6 offlate@0.5 gitless@0.8.8 exa@0.9.0 tokei@10.1.1= r-biocworkflowtools@1.12.1 r-activpal@0.1.3 r-chemometricswithr@0.1.13 r-a= bjutils@0.2.3 r-adapr@2.0.0 stagit@0.7.2 > > #+end_src > >=20 > > But two packages are failing: > > - sssd@1.16.4 > > - rust-libgit2-sys > >=20 > > What do you suggest? If those errors are actually related http-parser > > patch, we could either fix/disable those tests or use the patched > > version in julia only. > >=20 > > Thanks, Nicol=C3=B2 > >=20 >=20 > One of the rust-libgit2-sys packages is known to fail and isn't an > issue. For sssd I see that 1.16.5 has been recently released. Hopefully > that can be a drop-in replacement. >=20 I built sssd@1.16.5 with the http-parser patch and it passed all of its tests so that looks good. --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --3MMMIZFJzhAsRj/+ Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl6MGBkACgkQQarn3Mo9 g1HTpBAAojNlNa5pf0qrAtfasRz+M+M/WxFctIjRUI/P+16BNYxCDWDuBtoVgra8 7Jc4tpDOaFOnn6pn/sAKLkwyM/mP9ugWAh9rHX6YV2tawjcwDYiiAc4jbRTRvm43 dkeqJEPwX2+QPDDi9oXfr21J4DIxWORMe4a4YvoZ1MK6t+yvTOQ1lbyOOLz8fA47 n+xLFBOgn1R2jp9O0gnz/3iMHNNBUyqPh8Q/HDlov0O5nADvgBSbSxg2nzmhnR7X z0moaLhmZF0soVjPLePcDy5fl4JiqqP9DqFEUs2NV0Iage6J3z1yvhtJOsCUYnK1 lllBd+bsojvR+LYqCpzxW4ynkgtAwowJpV7IT/NovysIJg8zLuFXGxxoshvV9olv +zN8LKCN0zoYgxx0hAw6r1lSnMtoWgEFmFacL3vu5rWAzLRRCD9WaMlrbYbJp2e0 r9eZRwbbz91mavb4ycQo3Pho9qu0VgUpRL51RYxCTAJT3IldQRwtkQyW6KsvTBHM Aoj9huJ/0Dur4pU5rmmnqyWXG7o5TWL8fL6U0wZrcqpHgE4SzZb44XkGyPl86IDn Y104pnZ2wj4OFFr4CD3GvfYFjxxO7ORkoBVh9ewCaZM3+o7wsAy5vEOMCsA0Tr2t iVUpbhNyKT6F0qYausWUzGaqCVWu4Et5yHxV6o3lfAZ7JkXUBN8= =PsVS -----END PGP SIGNATURE----- --3MMMIZFJzhAsRj/+-- From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 07 10:36:27 2020 Received: (at 38546-done) by debbugs.gnu.org; 7 Apr 2020 14:36:27 +0000 Received: from localhost ([127.0.0.1]:50667 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jLpL0-0008KK-Qr for submit@debbugs.gnu.org; Tue, 07 Apr 2020 10:36:26 -0400 Received: from flashner.co.il ([178.62.234.194]:33428) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jLpKy-0008Jp-Gu for 38546-done@debbugs.gnu.org; Tue, 07 Apr 2020 10:36:24 -0400 Received: from localhost (unknown [141.226.9.17]) by flashner.co.il (Postfix) with ESMTPSA id 606DC4033F; Tue, 7 Apr 2020 14:36:18 +0000 (UTC) Date: Tue, 7 Apr 2020 17:35:45 +0300 From: Efraim Flashner To: =?utf-8?Q?Nicol=C3=B2?= Balzarotti Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Message-ID: <20200407143545.GL1518@E5400> References: <20200316100641.GK927@E5400> <87fte7772m.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200317081210.GN927@E5400> <87zhcfb29s.fsf@devup.no> <878sjz6r0u.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <871rpobkbq.fsf@devup.no> <20200406060949.GB1518@E5400> <87lfn9hvse.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <20200406083754.GF1518@E5400> <877dysjj9r.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="iUV/lbBrmPtUT9dM" Content-Disposition: inline In-Reply-To: <877dysjj9r.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 38546-done Cc: Marius Bakke , 38546-done@debbugs.gnu.org, zimoun X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --iUV/lbBrmPtUT9dM Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable I pushed the patches. I also bumped libgit2 to 1.0.0 which was released 6 days ago. There were a couple of minor things with the patches: dsfmt: I also installed the license file libgit2: Reworded the commit message julia: I pushed a patch first to redo the indentation so that your patch would stand out and not get lost on the indentation changes. I filled out the commit message for julia-1.3.1 which I think was the main thing. --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --iUV/lbBrmPtUT9dM Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl6Mj8EACgkQQarn3Mo9 g1E2yA/7B62b3EBjeUcPncnTUujjMn8vWpl6bC+ewp5++c0IvHvicpM1RtCIbzQF MZg8OSBCMxlbKVr1kgMHWorTpeF7mjPNAAKVt7J8JHUwgwyAz5X7JFYMwTSw2Quo 5XZXr25GQ2JLzTB9xl5r4N6/VoHXtqgOmiDEcrHhi63Yb+V3iblAhKowL8sXnYSw spXNwNl68gU4EM7BUX3E2yHRt4H5mO5zy/6ZL7LpnMcIzOuRgPgIEqt9P/E6ctpp +C+6gkJYFysYecbQG8nROAMl+4bcofr8e/z18vTf/2GEHPIAH2KX0xH2IqokK3M6 ghbVjZvb8FW9YXPrOk78lH5aoy8bZFRlYNMDntSGcb6dzoSlv3SfdEXQ3tK362Py I7x0+8clHp9WQRFoOZAvcHjeUuJfBFomgBrNj4oChFs6T75DcYahTqvcnBImnN98 eaYJLHx+Mnv04EueyfOoSE5nvOGO+TQgEx009oH18oIeZhSUd7o2XVp6ZJIbXPUI SM7EP42+2/1dvOYUAL7cnUHo6EujICN25CNjhCZ6ycBDIY/ri0luL1bQDm1ZkeEW JEm0371jUCCypq7NT8vkF8zidMELwA2yMvdsfWl7JVuwVDoduZu6feoji7ShxGbO SEqmUydoiE016aPTNKHhsRgYs30TUMWYko2bDdyMmbD6hiDMbDw= =TBXb -----END PGP SIGNATURE----- --iUV/lbBrmPtUT9dM-- From unknown Sat Jun 21 03:00:44 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 06 May 2020 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator