Package: guix-patches;
Reported by: nixo <anothersms <at> gmail.com>
Date: Mon, 9 Dec 2019 13:58:02 UTC
Severity: normal
Tags: patch
Done: Efraim Flashner <efraim <at> flashner.co.il>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 38546 in the body.
You can then email your comments to 38546 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Mon, 09 Dec 2019 13:58:02 GMT) Full text and rfc822 format available.nixo <anothersms <at> gmail.com>
:guix-patches <at> gnu.org
.
(Mon, 09 Dec 2019 13:58:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: nixo <anothersms <at> gmail.com> To: Guix Patches <guix-patches <at> gnu.org> Subject: [PATCH 0/3] Julia: fix package build and add julia-xyz Date: Mon, 9 Dec 2019 14:36:25 +0100
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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Mon, 09 Dec 2019 14:01:02 GMT) Full text and rfc822 format available.Message #8 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Nicolò Balzarotti <anothersms <at> gmail.com> To: Guix Patches <38546 <at> 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
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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Mon, 09 Dec 2019 14:02:02 GMT) Full text and rfc822 format available.Message #11 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Nicolò Balzarotti <anothersms <at> gmail.com> To: Guix Patches <38546 <at> debbugs.gnu.org> Subject: [PATCH 2/3] gnu: julia-build-system: Enable tests. Date: Thu, 10 Oct 2019 17:49:15 +0200
--- 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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Mon, 09 Dec 2019 14:02:02 GMT) Full text and rfc822 format available.Message #14 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Nicolò Balzarotti <anothersms <at> gmail.com> To: Guix Patches <38546 <at> debbugs.gnu.org> Subject: [PATCH 3/3] gnu: julia-xyz: Add julia-compat. Date: Thu, 10 Oct 2019 17:49:15 +0200
* 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 © 2019 Nicolò Balzarotti <nicolo <at> nixo.xyz> +;;; +;;; 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 <http://www.gnu.org/licenses/>. + +(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-compatible +way.") + (license license:expat))) -- 2.24.0
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sun, 15 Dec 2019 21:41:01 GMT) Full text and rfc822 format available.Message #17 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Ludovic Courtès <ludo <at> gnu.org> To: nixo <anothersms <at> gmail.com> Cc: 38546 <at> debbugs.gnu.org Subject: Re: [bug#38546] [PATCH 0/3] Julia: fix package build and add julia-xyz Date: Sun, 15 Dec 2019 22:40:00 +0100
Hi! nixo <anothersms <at> gmail.com> 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? > 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). OK. This hack shouldn’t break “normal” Julia uses (outside of the store), right? Ludo’.
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sun, 15 Dec 2019 21:44:02 GMT) Full text and rfc822 format available.Message #20 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Ludovic Courtès <ludo <at> gnu.org> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: Guix Patches <38546 <at> debbugs.gnu.org> Subject: Re: [bug#38546] [PATCH 1/3] gnu: julia: Set to JULIA_LOAD_PATH and JULIA_DEPOT_PATH variables. Date: Sun, 15 Dec 2019 22:43:16 +0100
Nicolò Balzarotti <anothersms <at> gmail.com> 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’t 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’s JULIA_DEPOT_PATH supposed to point to again? ‘share/julia’ seems to be very much a catch-all thing. :-) Thanks, Ludo’.
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sun, 15 Dec 2019 21:47:01 GMT) Full text and rfc822 format available.Message #23 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Ludovic Courtès <ludo <at> gnu.org> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: Guix Patches <38546 <at> debbugs.gnu.org> Subject: Re: [bug#38546] [PATCH 2/3] gnu: julia-build-system: Enable tests. Date: Sun, 15 Dec 2019 22:45:53 +0100
Nicolò Balzarotti <anothersms <at> gmail.com> 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: > > (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)) Do you think it would be feasible to modify Julia to emit this fixed timestamp, or to honor SOURCE_DATE_EPOCH, instead of using ‘faketime’? The reason I’m asking is that (1) ‘faketime’ relies on LD_PRELOAD and so it could introduce its own set of issues, and (2) I wouldn’t be surprised to find ready-to-use SOURCE_DATE_EPOCH patches from fellow Reproducible Builders floating around. :-) Ludo’.
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sun, 15 Dec 2019 21:48:02 GMT) Full text and rfc822 format available.Message #26 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Ludovic Courtès <ludo <at> gnu.org> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: Guix Patches <38546 <at> debbugs.gnu.org> Subject: Re: [bug#38546] [PATCH 3/3] gnu: julia-xyz: Add julia-compat. Date: Sun, 15 Dec 2019 22:46:56 +0100
Nicolò Balzarotti <anothersms <at> gmail.com> 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 ‘gnu/local.mk’. Otherwise LGTM. Thanks! Ludo’.
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sat, 18 Jan 2020 13:33:01 GMT) Full text and rfc822 format available.Message #29 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: anothersms <at> gmail.com (Nicolò Balzarotti) To: 38546 <at> debbugs.gnu.org Subject: [Nicolò Balzarotti] [PATCH 00/11] Update julia to 1.3.1, fix precompilation, add HTTP.jl Date: Sat, 18 Jan 2020 14:32:36 +0100
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 fixes are needed to get reproducible builds, but for now that means that package cache is used. 3. This patch adds some first julia package (HTTP.jl and dependencies) 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ò Ludovic Courtès <ludo <at> gnu.org> writes: > Hi, > > (+Cc: bug report.) > > Nicolò Balzarotti <anothersms <at> gmail.com> skribis: > >> Ludovic Courtès <ludo <at> gnu.org> writes: >> >>> Hi! >>> >>> nixo <anothersms <at> gmail.com> 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 equal to the >>>> mtime of guix-store files). >>> >>> OK. This hack shouldn’t break “normal” Julia uses (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’.
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sat, 18 Jan 2020 13:35:01 GMT) Full text and rfc822 format available.Message #32 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: nixo <anothersms <at> gmail.com> To: 38546 <at> 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
* 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 <nicolo <at> nixo.xyz> +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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sat, 18 Jan 2020 13:35:02 GMT) Full text and rfc822 format available.Message #35 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: nixo <anothersms <at> gmail.com> To: 38546 <at> debbugs.gnu.org Subject: [PATCH 03/11] gnu: julia: Adjust indentation. Date: Fri, 10 Jan 2020 10:25:49 +0100
* 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 @@ ;; <https://bugs.gnu.org/30282>. ("arpack-ng" ,arpack-ng-3.3.0) - ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like + ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like ("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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sat, 18 Jan 2020 13:36:01 GMT) Full text and rfc822 format available.Message #38 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: nixo <anothersms <at> gmail.com> To: 38546 <at> 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
--- 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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sat, 18 Jan 2020 13:36:02 GMT) Full text and rfc822 format available.Message #41 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: nixo <anothersms <at> gmail.com> To: 38546 <at> debbugs.gnu.org Subject: [PATCH 05/11] gnu: build: julia-build-system: fix package Date: Fri, 17 Jan 2020 19:40:55 +0100
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 @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Nicolò Balzarotti <nicolo <at> nixo.xyz> +;;; Copyright © 2019, 2020 Nicolò Balzarotti <nicolo <at> nixo.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,53 +37,46 @@ ;; subpath where we store the package content (define %package-path "/share/julia/packages/") -(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) -;; 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 first + ;; 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 not + ;; 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 " 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/"))) + ;; 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) -- 2.24.1
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sat, 18 Jan 2020 13:36:02 GMT) Full text and rfc822 format available.Message #44 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: nixo <anothersms <at> gmail.com> To: 38546 <at> debbugs.gnu.org Subject: [PATCH 06/11] gnu: Add julia-compat. Date: Sat, 18 Jan 2020 14:05:00 +0100
* 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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sat, 18 Jan 2020 13:36:03 GMT) Full text and rfc822 format available.Message #47 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: nixo <anothersms <at> gmail.com> To: 38546 <at> debbugs.gnu.org Subject: [PATCH 07/11] gnu: Add julia-inifile. Date: Sat, 18 Jan 2020 14:06:11 +0100
* 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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sat, 18 Jan 2020 13:36:03 GMT) Full text and rfc822 format available.Message #50 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: nixo <anothersms <at> gmail.com> To: 38546 <at> debbugs.gnu.org Subject: [PATCH 08/11] gnu: Add julia-sha. Date: Sat, 18 Jan 2020 14:07:13 +0100
* 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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sat, 18 Jan 2020 13:36:03 GMT) Full text and rfc822 format available.Message #53 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: nixo <anothersms <at> gmail.com> To: 38546 <at> debbugs.gnu.org Subject: [PATCH 09/11] gnu: Add julia-binaryprovider. Date: Sat, 18 Jan 2020 14:07:36 +0100
* 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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sat, 18 Jan 2020 13:36:04 GMT) Full text and rfc822 format available.Message #56 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: nixo <anothersms <at> gmail.com> To: 38546 <at> debbugs.gnu.org Subject: [PATCH 10/11] gnu: Add julia-mbedtls. Date: Sat, 18 Jan 2020 14:11:14 +0100
* 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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sat, 18 Jan 2020 13:36:04 GMT) Full text and rfc822 format available.Message #59 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: nixo <anothersms <at> gmail.com> To: 38546 <at> debbugs.gnu.org Subject: [PATCH 11/11] gnu: Add julia-http. Date: Sat, 18 Jan 2020 14:11:45 +0100
* 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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sat, 18 Jan 2020 13:38:01 GMT) Full text and rfc822 format available.Message #62 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: anothersms <at> gmail.com (Nicolò Balzarotti) To: 38546 <at> debbugs.gnu.org Subject: [nixo] [PATCH 01/11] gnu: julia: Update to 1.3.1. Date: Sat, 18 Jan 2020 14:36:40 +0100
* 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 © 2015, 2016, 2017 Ricardo Wurmus <rekado <at> elephly.net> ;;; Copyright © 2016 Efraim Flashner <efraim <at> flashner.co.il> +;;; Copyright © 2020 Nicolò Balzarotti <nicolo <at> nixo.xyz> ;;; ;;; 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)) +(define (julia-patch-url version name) + (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" version + "/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")))) -(define (llvm-patch-url version name) - (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" version - "/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" + "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m1") + (julia-patch "libunwind-static-arm" + "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq"))))) + (build-system gnu-build-system) + (home-page "https://github.com/JuliaLang/libuv"))) (define llvm-julia (package @@ -99,39 +124,39 @@ ;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919628 (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-" "81e9723c0273d78493dc8c8ed570f68d9ce7e89e" ".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 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)) + "\""))))) (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\\) \\$\\(LIBFILES_release\\)") - "$(BUILDDIR)/$(EXENAME): $(OBJS) $(LLT_release)") - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug: \\$\\(DOBJS\\) \\$\\(LIBFILES_debug\\)") - "$(BUILDDIR)/$(EXENAME)-debug: $(DOBJS) $(LLT_debug)")) + (("\\$\\(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" @@ -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 = 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 = 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\"=>\"/tmp\", \"JULIA_PROJECT\"")) + ;; 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=" (_ "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 + ;; list of "USE_SYSTEM_*" is here: + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/Make.inc + "USE_SYSTEM_DSFMT=1" + "USE_SYSTEM_P7ZIP=1" "USE_SYSTEM_LAPACK=1" "USE_SYSTEM_BLAS=1" "USE_BLAS64=0" ;needed when USE_SYSTEM_BLAS=1 "LIBBLAS=-lopenblas" "LIBBLASNAME=libopenblas" - "USE_SYSTEM_FFTW=1" - "LIBFFTWNAME=libfftw3" - "LIBFFTWFNAME=libfftw3f" - - ;; TODO: Suitesparse does not install shared libraries, so we cannot - ;; use the suitesparse package. - ;; "USE_SYSTEM_SUITESPARSE=1" - ;; (string-append "SUITESPARSE_INC=-I " - ;; (assoc-ref %build-inputs "suitesparse") - ;; "/include") - + "USE_SYSTEM_SUITESPARSE=1" + (string-append "SUITESPARSE_INC=-I " + (assoc-ref %build-inputs "suitesparse") + "/include") "USE_GPL_LIBS=1" ;proudly "USE_SYSTEM_UTF8PROC=1" (string-append "UTF8PROC_INC=" @@ -385,16 +357,19 @@ "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_OPENSPECFUN=1"))) + "USE_SYSTEM_ZLIB=1"))) (inputs `(("llvm" ,llvm-julia) + ("p7zip" ,p7zip) ;; The bundled version is 3.3.0 so stick to that version. With other ;; versions, we get test failures in 'linalg/arnoldi' as described in ;; <https://bugs.gnu.org/30282>. @@ -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 allow us ;; to use the lightweight Julia release tarball. Ideally, these inputs ;; would eventually be replaced with proper Guix packages. - - ;; TODO: run "make -f contrib/repackage_system_suitesparse4.make" to copy static lib - ;; Find dependency versions here: - ;; https://raw.githubusercontent.com/JuliaLang/julia/77a2c1e245c85812dc1c7687540beedecc52758f/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/Versions.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) -- 2.24.1
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sat, 18 Jan 2020 13:42:02 GMT) Full text and rfc822 format available.Message #65 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: nixo <anothersms <at> gmail.com> To: 38546 <at> debbugs.gnu.org Subject: [PATCH 01/11] gnu: julia: Update to 1.3.1. Date: Thu, 12 Dec 2019 09:43:20 +0100
* 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 © 2015, 2016, 2017 Ricardo Wurmus <rekado <at> elephly.net> ;;; Copyright © 2016 Efraim Flashner <efraim <at> flashner.co.il> +;;; Copyright © 2020 Nicolò Balzarotti <nicolo <at> nixo.xyz> ;;; ;;; 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)) +(define (julia-patch-url version name) + (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" version + "/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")))) -(define (llvm-patch-url version name) - (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" version - "/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" + "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m1") + (julia-patch "libunwind-static-arm" + "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq"))))) + (build-system gnu-build-system) + (home-page "https://github.com/JuliaLang/libuv"))) (define llvm-julia (package @@ -99,39 +124,39 @@ ;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919628 (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-" "81e9723c0273d78493dc8c8ed570f68d9ce7e89e" ".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 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)) + "\""))))) (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\\) \\$\\(LIBFILES_release\\)") - "$(BUILDDIR)/$(EXENAME): $(OBJS) $(LLT_release)") - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug: \\$\\(DOBJS\\) \\$\\(LIBFILES_debug\\)") - "$(BUILDDIR)/$(EXENAME)-debug: $(DOBJS) $(LLT_debug)")) + (("\\$\\(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" @@ -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 = 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 = 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\"=>\"/tmp\", \"JULIA_PROJECT\"")) + ;; 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=" (_ "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 + ;; list of "USE_SYSTEM_*" is here: + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/Make.inc + "USE_SYSTEM_DSFMT=1" + "USE_SYSTEM_P7ZIP=1" "USE_SYSTEM_LAPACK=1" "USE_SYSTEM_BLAS=1" "USE_BLAS64=0" ;needed when USE_SYSTEM_BLAS=1 "LIBBLAS=-lopenblas" "LIBBLASNAME=libopenblas" - "USE_SYSTEM_FFTW=1" - "LIBFFTWNAME=libfftw3" - "LIBFFTWFNAME=libfftw3f" - - ;; TODO: Suitesparse does not install shared libraries, so we cannot - ;; use the suitesparse package. - ;; "USE_SYSTEM_SUITESPARSE=1" - ;; (string-append "SUITESPARSE_INC=-I " - ;; (assoc-ref %build-inputs "suitesparse") - ;; "/include") - + "USE_SYSTEM_SUITESPARSE=1" + (string-append "SUITESPARSE_INC=-I " + (assoc-ref %build-inputs "suitesparse") + "/include") "USE_GPL_LIBS=1" ;proudly "USE_SYSTEM_UTF8PROC=1" (string-append "UTF8PROC_INC=" @@ -385,16 +357,19 @@ "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_OPENSPECFUN=1"))) + "USE_SYSTEM_ZLIB=1"))) (inputs `(("llvm" ,llvm-julia) + ("p7zip" ,p7zip) ;; The bundled version is 3.3.0 so stick to that version. With other ;; versions, we get test failures in 'linalg/arnoldi' as described in ;; <https://bugs.gnu.org/30282>. @@ -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 allow us ;; to use the lightweight Julia release tarball. Ideally, these inputs ;; would eventually be replaced with proper Guix packages. - - ;; TODO: run "make -f contrib/repackage_system_suitesparse4.make" to copy static lib - ;; Find dependency versions here: - ;; https://raw.githubusercontent.com/JuliaLang/julia/77a2c1e245c85812dc1c7687540beedecc52758f/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/Versions.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) -- 2.24.1
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sat, 18 Jan 2020 13:43:02 GMT) Full text and rfc822 format available.Message #68 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: anothersms <at> gmail.com (Nicolò Balzarotti) To: 38546 <at> debbugs.gnu.org Subject: [Nicolò Balzarotti] [PATCH 00/10] Update julia to 1.3.1, fix precompilation, add HTTP.jl Date: Sat, 18 Jan 2020 14:42:10 +0100
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 fixes are needed to get reproducible builds, but for now that means that package cache is used. 3. This patch adds some first julia package (HTTP.jl and dependencies) 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ò Ludovic Courtès <ludo <at> gnu.org> writes: > Hi, > > (+Cc: bug report.) > > Nicolò Balzarotti <anothersms <at> gmail.com> skribis: > >> Ludovic Courtès <ludo <at> gnu.org> writes: >> >>> Hi! >>> >>> nixo <anothersms <at> gmail.com> 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 equal to the >>>> mtime of guix-store files). >>> >>> OK. This hack shouldn’t break “normal” Julia uses (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’.
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sat, 18 Jan 2020 14:00:02 GMT) Full text and rfc822 format available.Message #71 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: anothersms <at> gmail.com (Nicolò Balzarotti) To: 38546 <at> debbugs.gnu.org Cc: Ludovic Courtès <ludo <at> gnu.org> Subject: [00/11] Update Julia, Fix precompilation, add HTTP.jl Date: Sat, 18 Jan 2020 14:59:14 +0100
[Message part 1 (text/plain, inline)]
I'm sending the patches again as attachments since I think some of them was badly formatted.
[0001-gnu-julia-Update-to-1.3.1.patch (text/x-patch, attachment)]
[0002-gnu-julia-use-SOURCE_DATE_EPOCH-for-precompilation-t.patch (text/x-patch, attachment)]
[0003-gnu-julia-Adjust-indentation.patch (text/x-patch, attachment)]
[0004-use-wrapper-to-set-JULIA_LOAD_PATH-and-JULIA_DEPOT_P.patch (text/x-patch, attachment)]
[0005-gnu-build-julia-build-system-fix-package-precompilat.patch (text/x-patch, attachment)]
[0006-gnu-Add-julia-compat.patch (text/x-patch, attachment)]
[0007-gnu-Add-julia-inifile.patch (text/x-patch, attachment)]
[0008-gnu-Add-julia-sha.patch (text/x-patch, attachment)]
[0009-gnu-Add-julia-binaryprovider.patch (text/x-patch, attachment)]
[0010-gnu-Add-julia-mbedtls.patch (text/x-patch, attachment)]
[0011-gnu-Add-julia-http.patch (text/x-patch, attachment)]
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Sat, 18 Jan 2020 14:36:02 GMT) Full text and rfc822 format available.Message #74 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: anothersms <at> gmail.com (Nicolò Balzarotti) To: 38546 <at> debbugs.gnu.org Subject: Julia patches v3 Date: Sat, 18 Jan 2020 15:35:06 +0100
[Message part 1 (text/plain, inline)]
Sorry again, I fixed some unrelated changes that slipped in Thanks, Nicolò
[0001-gnu-julia-Update-to-1.3.1.patch (text/x-patch, attachment)]
[0002-gnu-julia-use-SOURCE_DATE_EPOCH-for-precompilation-t.patch (text/x-patch, attachment)]
[0003-gnu-julia-Adjust-indentation.patch (text/x-patch, attachment)]
[0004-gnu-julia-use-wrapper-to-set-JULIA_LOAD_PATH-and-JUL.patch (text/x-patch, attachment)]
[0005-gnu-build-julia-build-system-fix-package-precompilat.patch (text/x-patch, attachment)]
[0006-gnu-Add-julia-compat.patch (text/x-patch, attachment)]
[0007-gnu-Add-julia-inifile.patch (text/x-patch, attachment)]
[0008-gnu-Add-julia-sha.patch (text/x-patch, attachment)]
[0009-gnu-Add-julia-binaryprovider.patch (text/x-patch, attachment)]
[0010-gnu-Add-julia-mbedtls.patch (text/x-patch, attachment)]
[0011-gnu-Add-julia-http.patch (text/x-patch, attachment)]
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Mon, 20 Jan 2020 18:51:02 GMT) Full text and rfc822 format available.Message #77 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: Ludovic Courtès <ludo <at> gnu.org>, 38546 <at> debbugs.gnu.org Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl Date: Mon, 20 Jan 2020 19:49:45 +0100
Hi Nicolò, 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 example, --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=22304 All the best, simon
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Tue, 21 Jan 2020 13:46:02 GMT) Full text and rfc822 format available.Message #80 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Nicolò Balzarotti <anothersms <at> gmail.com> To: zimoun <zimon.toutoune <at> gmail.com> Cc: Ludovic Courtès <ludo <at> gnu.org>, 38546 <at> debbugs.gnu.org Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl Date: Tue, 21 Jan 2020 14:45:20 +0100
[Message part 1 (text/plain, inline)]
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 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=$(realpath determinism) --share=/tmp/jlprecompiled/ --ad-hoc julia coreutils nss-certs curl tar gzip libfaketime #+end_src from this container, run some time this: #+begin_src bash export SSL_CERT_DIR="$GUIX_ENVIRONMENT/etc/ssl/certs" export SSL_CERT_FILE="$SSL_CERT_DIR/ca-certificates.crt" export GIT_SSL_CAINFO="$SSL_CERT_FILE" SOURCE_DATE_EPOCH=1 julia --startup-file=no -q -e 'using Pkg; Pkg.instantiate()' SOURCE_DATE_EPOCH=1 faketime '2008-12-24 08:15:42' julia --startup-file=no -q -e 'using Random; using Pkg; Pkg.add("Compat"); Random.seed!(0); using Compat' cp -r ~/.julia/compiled/v1.3/Compat/ /tmp/jlprecompiled/$RANDOM sha256sum ~/.julia/compiled/v1.3/Compat/* # 6c10d65f6cd9cdd5b98e4d5e2b82b7bd00508f0daccef0967dec92cb6468052e /home/nixbld/.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ò [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
[0001-gnu-Add-dsfmt.patch (text/x-patch, attachment)]
[0001-gnu-julia-Update-to-1.3.1.patch (text/x-patch, attachment)]
[0001-gnu-julia-use-SOURCE_DATE_EPOCH-for-precompilation-t.patch (text/x-patch, attachment)]
[Message part 5 (text/plain, inline)]
zimoun <zimon.toutoune <at> gmail.com> writes: > Hi Nicolò, > > 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 example, > > --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=22304 > > > All the best, > simon
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Wed, 22 Jan 2020 09:23:02 GMT) Full text and rfc822 format available.Message #83 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: Ludovic Courtès <ludo <at> gnu.org>, 38546 <at> debbugs.gnu.org Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl Date: Wed, 22 Jan 2020 10:22:14 +0100
Hi Nicolò, Cool that you figured out a source of non-reproducibility. On Tue, 21 Jan 2020 at 14:45, Nicolò Balzarotti <anothersms <at> gmail.com> wrote: > 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 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=21803 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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Wed, 22 Jan 2020 10:00:02 GMT) Full text and rfc822 format available.Message #86 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Nicolò Balzarotti <anothersms <at> gmail.com> To: zimoun <zimon.toutoune <at> gmail.com> Cc: Ludovic Courtès <ludo <at> gnu.org>, 38546 <at> debbugs.gnu.org Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl Date: Wed, 22 Jan 2020 10:59:49 +0100
Hi Simon, zimoun <zimon.toutoune <at> gmail.com> writes: > Hi Nicolò, > > Cool that you figured out a source of non-reproducibility. > > > On Tue, 21 Jan 2020 at 14:45, Nicolò Balzarotti <anothersms <at> gmail.com> wrote: > >> 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 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ò > [@] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=21803 > > > 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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Fri, 24 Jan 2020 17:28:01 GMT) Full text and rfc822 format available.Message #89 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: Ludovic Courtès <ludo <at> gnu.org>, 38546 <at> debbugs.gnu.org Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl Date: Fri, 24 Jan 2020 18:26:57 +0100
Hi Nicolò, On Wed, 22 Jan 2020 at 10:59, Nicolò Balzarotti <anothersms <at> gmail.com> 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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Tue, 04 Feb 2020 18:04:01 GMT) Full text and rfc822 format available.Message #92 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: Ludovic Courtès <ludo <at> gnu.org>, 38546 <at> debbugs.gnu.org Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl Date: Tue, 4 Feb 2020 19:03:27 +0100
Hi Nicoló, On Fri, 24 Jan 2020 at 18:26, zimoun <zimon.toutoune <at> gmail.com> 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.make --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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Fri, 07 Feb 2020 12:07:02 GMT) Full text and rfc822 format available.Message #95 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: Ludovic Courtès <ludo <at> gnu.org>, 38546 <at> debbugs.gnu.org Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl Date: Fri, 7 Feb 2020 13:06:01 +0100
Hi Nicoló, On Tue, 4 Feb 2020 at 19:03, zimoun <zimon.toutoune <at> gmail.com> 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/Distributed/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/Distributed/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/Distributed/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/Distributed/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/Distributed/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/Distributed/src/cluster.jl:523 [8] (::Distributed.var"#43#46"{Distributed.LocalManager,Array{Int64,1},WorkerConfig})() 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. ;-)
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Tue, 11 Feb 2020 14:52:01 GMT) Full text and rfc822 format available.Message #98 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: Ludovic Courtès <ludo <at> gnu.org>, 38546 <at> debbugs.gnu.org Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl Date: Tue, 11 Feb 2020 15:51:05 +0100
Hi Nicoló, 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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Tue, 11 Feb 2020 15:11:02 GMT) Full text and rfc822 format available.Message #101 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Nicolò Balzarotti <anothersms <at> gmail.com> To: zimoun <zimon.toutoune <at> gmail.com> Cc: Ludovic Courtès <ludo <at> gnu.org>, 38546 <at> debbugs.gnu.org Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl Date: Tue, 11 Feb 2020 16:10:17 +0100
zimoun <zimon.toutoune <at> gmail.com> writes: Hi, > Hi Nicoló, > > 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/Versions.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 to. :-) > > 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ò
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Tue, 11 Feb 2020 15:20:02 GMT) Full text and rfc822 format available.Message #104 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: Ludovic Courtès <ludo <at> gnu.org>, 38546 <at> debbugs.gnu.org Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl Date: Tue, 11 Feb 2020 16:19:32 +0100
On Tue, 11 Feb 2020 at 16:10, Nicolò Balzarotti <anothersms <at> gmail.com> wrote: > > 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. 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 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--- > > 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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Tue, 11 Feb 2020 15:26:01 GMT) Full text and rfc822 format available.Message #107 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Nicolò Balzarotti <anothersms <at> gmail.com> To: zimoun <zimon.toutoune <at> gmail.com> Cc: Ludovic Courtès <ludo <at> gnu.org>, 38546 <at> debbugs.gnu.org Subject: Re: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl Date: Tue, 11 Feb 2020 16:24:52 +0100
zimoun <zimon.toutoune <at> gmail.com> writes: Hi > On Tue, 11 Feb 2020 at 16:10, Nicolò Balzarotti <anothersms <at> gmail.com> wrote: > >> > 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. > > 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 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--- >> >> 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... > 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ò
zimoun <zimon.toutoune <at> gmail.com>
to control <at> debbugs.gnu.org
.
(Tue, 11 Feb 2020 17:43:01 GMT) Full text and rfc822 format available.guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Tue, 11 Feb 2020 18:00:02 GMT) Full text and rfc822 format available.Message #112 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: 38546 <at> debbugs.gnu.org, Nicolò Balzarotti <anothersms <at> gmail.com> Subject: [PATCH v4] Update Julia 1.3.1: almost done Date: Tue, 11 Feb 2020 18:58:50 +0100
[Message part 1 (text/plain, inline)]
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
[v4-0002-gnu-julia-Update-to-1.3.1.patch (text/x-patch, attachment)]
[v4-0001-gnu-Add-dsfmt.patch (text/x-patch, attachment)]
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Mon, 24 Feb 2020 12:51:02 GMT) Full text and rfc822 format available.Message #115 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: 38546 <at> debbugs.gnu.org, Nicolò Balzarotti <anothersms <at> gmail.com> Subject: Re: [PATCH v4] Update Julia 1.3.1: almost done Date: Mon, 24 Feb 2020 13:50:31 +0100
Hi, Friendly ping. :-) On Tue, 11 Feb 2020 at 18:58, zimoun <zimon.toutoune <at> gmail.com> 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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Mon, 24 Feb 2020 21:01:01 GMT) Full text and rfc822 format available.Message #118 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Nicolò Balzarotti <anothersms <at> gmail.com> To: zimoun <zimon.toutoune <at> gmail.com>, 38546 <at> debbugs.gnu.org Subject: Re: [bug#38546] [PATCH v4] Update Julia 1.3.1: almost done Date: Mon, 24 Feb 2020 21:59:46 +0100
[Message part 1 (text/plain, inline)]
zimoun <zimon.toutoune <at> gmail.com> 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.
[0001-gnu-Add-dsfmt.patch (text/x-patch, attachment)]
[0002-gnu-julia-Update-to-1.3.1.patch (text/x-patch, attachment)]
[0003-gnu-julia-build-system-Enable-tests-fix-precompilati.patch (text/x-patch, attachment)]
[0004-gnu-Add-julia-compat.patch (text/x-patch, attachment)]
[0005-gnu-Add-julia-sha.patch (text/x-patch, attachment)]
[0006-gnu-Add-julia-binaryprovider.patch (text/x-patch, attachment)]
[0007-gnu-Add-julia-inifile.patch (text/x-patch, attachment)]
[0008-gnu-Add-julia-mbedtls.patch (text/x-patch, attachment)]
[0009-gnu-Add-julia-bufferedstreams.patch (text/x-patch, attachment)]
[0010-gnu-Add-julia-parsers.patch (text/x-patch, attachment)]
[0011-gnu-Add-julia-offsetarrays.patch (text/x-patch, attachment)]
[0012-gnu-Add-julia-fixedpointnumbers.patch (text/x-patch, attachment)]
[0013-gnu-Add-julia-orderedcollections.patch (text/x-patch, attachment)]
[0014-gnu-Add-julia-datastructures.patch (text/x-patch, attachment)]
[0015-gnu-Add-julia-json.patch (text/x-patch, attachment)]
[0016-gnu-Add-julia-http.patch (text/x-patch, attachment)]
[Message part 18 (text/plain, inline)]
Thanks, Nicolò > > On Tue, 11 Feb 2020 at 18:58, zimoun <zimon.toutoune <at> gmail.com> 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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Tue, 25 Feb 2020 16:13:02 GMT) Full text and rfc822 format available.Message #121 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: 38546 <at> debbugs.gnu.org Subject: Re: [bug#38546] [PATCH v4] Update Julia 1.3.1: almost done Date: Tue, 25 Feb 2020 17:12:08 +0100
Hi Nicolò, On Mon, 24 Feb 2020 at 21:59, Nicolò Balzarotti <anothersms <at> gmail.com> 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
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Tue, 25 Feb 2020 18:09:02 GMT) Full text and rfc822 format available.Message #124 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Nicolò Balzarotti <anothersms <at> gmail.com> To: zimoun <zimon.toutoune <at> gmail.com> Cc: 38546 <at> debbugs.gnu.org Subject: Re: [bug#38546] [PATCH v4] Update Julia 1.3.1: almost done Date: Tue, 25 Feb 2020 19:08:39 +0100
zimoun <zimon.toutoune <at> gmail.com> writes: > Hi Nicolò, > > On Mon, 24 Feb 2020 at 21:59, Nicolò Balzarotti <anothersms <at> gmail.com> 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ò > > Cheers, > simon
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Wed, 26 Feb 2020 12:33:02 GMT) Full text and rfc822 format available.Message #127 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Nicolò Balzarotti <anothersms <at> gmail.com> To: zimoun <zimon.toutoune <at> gmail.com> Cc: 38546 <at> debbugs.gnu.org Subject: [PATCH v5] Julia: Update to 1.3.1 Date: Wed, 26 Feb 2020 13:32:19 +0100
[Message part 1 (text/plain, inline)]
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ò
[v5-0001-gnu-Add-dsfmt.patch (text/x-patch, attachment)]
[v5-0002-gnu-julia-Update-to-1.3.1.patch (text/x-patch, attachment)]
[Message part 4 (text/plain, inline)]
Nicolò Balzarotti <anothersms <at> gmail.com> writes: > zimoun <zimon.toutoune <at> gmail.com> writes: > >> Hi Nicolò, >> >> On Mon, 24 Feb 2020 at 21:59, Nicolò Balzarotti <anothersms <at> gmail.com> 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ò >> >> Cheers, >> simon
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Mon, 16 Mar 2020 10:08:02 GMT) Full text and rfc822 format available.Message #130 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Efraim Flashner <efraim <at> flashner.co.il> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: 38546 <at> debbugs.gnu.org, zimoun <zimon.toutoune <at> gmail.com> Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Date: Mon, 16 Mar 2020 12:06:41 +0200
[Message part 1 (text/plain, inline)]
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 -- Efraim Flashner <efraim <at> flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Tue, 17 Mar 2020 07:52:02 GMT) Full text and rfc822 format available.Message #133 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Nicolò Balzarotti <anothersms <at> gmail.com> To: Efraim Flashner <efraim <at> flashner.co.il> Cc: 38546 <at> debbugs.gnu.org, zimoun <zimon.toutoune <at> gmail.com> Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Date: Tue, 17 Mar 2020 08:51:13 +0100
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ò [1] https://github.com/JuliaLang/julia/issues/33111 [2] https://bugs.archlinux.org/task/65540 Efraim Flashner <efraim <at> flashner.co.il> 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 > > > -- > Efraim Flashner <efraim <at> flashner.co.il> אפרים פלשנר > GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 > Confidentiality cannot be guaranteed on emails sent or received unencrypted
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Tue, 17 Mar 2020 08:13:02 GMT) Full text and rfc822 format available.Message #136 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Efraim Flashner <efraim <at> flashner.co.il> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: 38546 <at> debbugs.gnu.org, zimoun <zimon.toutoune <at> gmail.com> Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Date: Tue, 17 Mar 2020 10:12:10 +0200
[Message part 1 (text/plain, inline)]
On Tue, Mar 17, 2020 at 08:51:13AM +0100, Nicolò Balzarotti wrote: > 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. 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. > > 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. > > Thanks, Nicolò > > [1] https://github.com/JuliaLang/julia/issues/33111 > [2] https://bugs.archlinux.org/task/65540 > > > > Efraim Flashner <efraim <at> flashner.co.il> 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 > > > > > > -- > > Efraim Flashner <efraim <at> flashner.co.il> אפרים פלשנר > > GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 > > Confidentiality cannot be guaranteed on emails sent or received unencrypted -- Efraim Flashner <efraim <at> flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Tue, 17 Mar 2020 12:22:01 GMT) Full text and rfc822 format available.Message #139 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Marius Bakke <mbakke <at> fastmail.com> To: Efraim Flashner <efraim <at> flashner.co.il>, Nicolò Balzarotti <anothersms <at> gmail.com> Cc: 38546 <at> debbugs.gnu.org, zimoun <zimon.toutoune <at> gmail.com> Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Date: Tue, 17 Mar 2020 13:21:19 +0100
[Message part 1 (text/plain, inline)]
Efraim Flashner <efraim <at> flashner.co.il> 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.
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Tue, 17 Mar 2020 13:39:01 GMT) Full text and rfc822 format available.Message #142 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Nicolò Balzarotti <anothersms <at> gmail.com> To: Marius Bakke <mbakke <at> fastmail.com>, Efraim Flashner <efraim <at> flashner.co.il> Cc: 38546 <at> debbugs.gnu.org, zimoun <zimon.toutoune <at> gmail.com> Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Date: Tue, 17 Mar 2020 14:37:53 +0100
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, thanks, Nicolò. #+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/1bbdec69bef50208f77f0c4cbac7c6b56c35973f.patch [2] https://github.com/libgit2/libgit2/issues/5436#issuecomment-593773122 [3] https://github.com/nodejs/http-parser/issues/501 Marius Bakke <mbakke <at> fastmail.com> writes: > Efraim Flashner <efraim <at> flashner.co.il> 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.
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Thu, 19 Mar 2020 12:29:02 GMT) Full text and rfc822 format available.Message #145 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Marius Bakke <mbakke <at> fastmail.com> To: Nicolò Balzarotti <anothersms <at> gmail.com>, Efraim Flashner <efraim <at> flashner.co.il> Cc: 38546 <at> debbugs.gnu.org, zimoun <zimon.toutoune <at> gmail.com> Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Date: Thu, 19 Mar 2020 13:28:09 +0100
[Message part 1 (text/plain, inline)]
Nicolò Balzarotti <anothersms <at> gmail.com> 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 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, 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
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Mon, 06 Apr 2020 06:11:02 GMT) Full text and rfc822 format available.Message #148 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Efraim Flashner <efraim <at> flashner.co.il> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: Marius Bakke <mbakke <at> fastmail.com>, 38546 <at> debbugs.gnu.org, zimoun <zimon.toutoune <at> gmail.com> Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Date: Mon, 6 Apr 2020 09:09:49 +0300
[Message part 1 (text/plain, inline)]
On Thu, Mar 19, 2020 at 01:28:09PM +0100, Marius Bakke wrote: > Nicolò Balzarotti <anothersms <at> gmail.com> 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 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, > > 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 Any news from upstream? -- Efraim Flashner <efraim <at> flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Mon, 06 Apr 2020 08:19:01 GMT) Full text and rfc822 format available.Message #151 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Nicolò Balzarotti <anothersms <at> gmail.com> To: Efraim Flashner <efraim <at> flashner.co.il> Cc: Marius Bakke <mbakke <at> fastmail.com>, 38546 <at> debbugs.gnu.org, zimoun <zimon.toutoune <at> gmail.com> Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Date: Mon, 06 Apr 2020 10:18:25 +0200
[Message part 1 (text/plain, inline)]
Efraim Flashner <efraim <at> flashner.co.il> writes: Hi Efraim, no, AFAIK. 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. 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ò
[0001-gnu-Add-dsfmt.patch (text/x-patch, attachment)]
[0002-gnu-http-parser-add-patch-applied-by-libgit2.patch (text/x-patch, attachment)]
[0003-gnu-libgit2-Use-system-http-parser.patch (text/x-patch, attachment)]
[0004-gnu-julia-Upgrade-to-1.3.1.patch (text/x-patch, attachment)]
[Message part 6 (text/plain, inline)]
[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/e89b4c4e2874c19079a5a1a2d2ccc61b551aa289?branch=master > On Thu, Mar 19, 2020 at 01:28:09PM +0100, Marius Bakke wrote: >> Nicolò Balzarotti <anothersms <at> gmail.com> 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 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, >> >> 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 > > Any news from upstream? > > > -- > Efraim Flashner <efraim <at> flashner.co.il> אפרים פלשנר > GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 > Confidentiality cannot be guaranteed on emails sent or received unencrypted
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Mon, 06 Apr 2020 08:39:02 GMT) Full text and rfc822 format available.Message #154 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Efraim Flashner <efraim <at> flashner.co.il> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: Marius Bakke <mbakke <at> fastmail.com>, 38546 <at> debbugs.gnu.org, zimoun <zimon.toutoune <at> gmail.com> Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Date: Mon, 6 Apr 2020 11:37:54 +0300
[Message part 1 (text/plain, inline)]
On Mon, Apr 06, 2020 at 10:18:25AM +0200, Nicolò Balzarotti wrote: > Efraim Flashner <efraim <at> flashner.co.il> writes: > > Hi Efraim, > > no, AFAIK. > > 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. > > 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ò > '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. -- Efraim Flashner <efraim <at> flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Mon, 06 Apr 2020 23:19:01 GMT) Full text and rfc822 format available.Message #157 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Nicolò Balzarotti <anothersms <at> gmail.com> To: Efraim Flashner <efraim <at> flashner.co.il> Cc: Marius Bakke <mbakke <at> fastmail.com>, 38546 <at> debbugs.gnu.org, zimoun <zimon.toutoune <at> gmail.com> Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Date: Tue, 07 Apr 2020 01:18:08 +0200
Hello again, the build completed right now. Efraim Flashner <efraim <at> flashner.co.il> writes: > On Mon, Apr 06, 2020 at 10:18:25AM +0200, Nicolò Balzarotti wrote: >> Efraim Flashner <efraim <at> flashner.co.il> writes: >> >> Hi Efraim, >> >> no, AFAIK. >> >> 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. >> >> 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ò >> > > '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 <at> 1.0.1-15.0984481 guix-daemon <at> 1.0.1-15.0984481. This command succeeded: #+begin_src bash ./pre-inst-env guix build --no-grafts jami <at> 20191101.3.67671e7 ungoogled-chromium-wayland <at> 80.0.3987.162-0.516e2d9 ungoogled-chromium <at> 80.0.3987.162-0.516e2d9 emacs-nodejs-repl <at> 0.2.2 geierlein <at> 0.9.13 node-env-variable <at> 0.0.4 node-mersenne <at> 0.0.4 node-color-name <at> 1.1.3 node-util-deprecate <at> 1.0.2 node-stack-trace <at> 0.0.10-1.4fd379e node-statsd-parser <at> 0.0.4 ruby-autoprefixer-rails <at> 9.4.7 celestia-gtk <at> 1.6.1-815.9dbdf29 celestia <at> 1.6.1-815.9dbdf29 rust-libgit2-sys <at> 0.8.2 rust-libgit2-sys <at> 0.10.0 fritzing <at> 0.9.3b gitg <at> 3.32.1 cuirass <at> 0.0.1-28.b9031db emacs-guix <at> 0.5.2 guix-jupyter <at> 0.1.0 hpcguix-web <at> 0.0.1-4.f39c90b guile2.0-git <at> 0.3.0 julia <at> 1.3.1 kopete <at> 19.08.3 dolphin-plugins <at> 19.08.3 kate <at> 19.08.3 kdevelop <at> 5.4.6 offlate <at> 0.5 gitless <at> 0.8.8 exa <at> 0.9.0 tokei <at> 10.1.1 r-biocworkflowtools <at> 1.12.1 r-activpal <at> 0.1.3 r-chemometricswithr <at> 0.1.13 r-abjutils <at> 0.2.3 r-adapr <at> 2.0.0 stagit <at> 0.7.2 #+end_src But two packages are failing: - sssd <at> 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ò > > -- > Efraim Flashner <efraim <at> flashner.co.il> אפרים פלשנר > GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 > Confidentiality cannot be guaranteed on emails sent or received unencrypted
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Tue, 07 Apr 2020 05:43:01 GMT) Full text and rfc822 format available.Message #160 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Efraim Flashner <efraim <at> flashner.co.il> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: Marius Bakke <mbakke <at> fastmail.com>, 38546 <at> debbugs.gnu.org, zimoun <zimon.toutoune <at> gmail.com> Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Date: Tue, 7 Apr 2020 08:41:51 +0300
[Message part 1 (text/plain, inline)]
On Tue, Apr 07, 2020 at 01:18:08AM +0200, Nicolò Balzarotti wrote: > Hello again, the build completed right now. > > Efraim Flashner <efraim <at> flashner.co.il> writes: > > > On Mon, Apr 06, 2020 at 10:18:25AM +0200, Nicolò Balzarotti wrote: > >> Efraim Flashner <efraim <at> flashner.co.il> writes: > >> > >> Hi Efraim, > >> > >> no, AFAIK. > >> > >> 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. > >> > >> 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ò > >> > > > > '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 <at> 1.0.1-15.0984481 guix-daemon <at> 1.0.1-15.0984481. > > This command succeeded: > #+begin_src bash > ./pre-inst-env guix build --no-grafts jami <at> 20191101.3.67671e7 ungoogled-chromium-wayland <at> 80.0.3987.162-0.516e2d9 ungoogled-chromium <at> 80.0.3987.162-0.516e2d9 emacs-nodejs-repl <at> 0.2.2 geierlein <at> 0.9.13 node-env-variable <at> 0.0.4 node-mersenne <at> 0.0.4 node-color-name <at> 1.1.3 node-util-deprecate <at> 1.0.2 node-stack-trace <at> 0.0.10-1.4fd379e node-statsd-parser <at> 0.0.4 ruby-autoprefixer-rails <at> 9.4.7 celestia-gtk <at> 1.6.1-815.9dbdf29 celestia <at> 1.6.1-815.9dbdf29 rust-libgit2-sys <at> 0.8.2 rust-libgit2-sys <at> 0.10.0 fritzing <at> 0.9.3b gitg <at> 3.32.1 cuirass <at> 0.0.1-28.b9031db emacs-guix <at> 0.5.2 guix-jupyter <at> 0.1.0 hpcguix-web <at> 0.0.1-4.f39c90b guile2.0-git <at> 0.3.0 julia <at> 1.3.1 kopete <at> 19.08.3 dolphin-plugins <at> 19.08.3 kate <at> 19.08.3 kdevelop <at> 5.4.6 offlate <at> 0.5 gitless <at> 0.8.8 exa <at> 0.9.0 tokei <at> 10.1.1 r-biocworkflowtools <at> 1.12.1 r-activpal <at> 0.1.3 r-chemometricswithr <at> 0.1.13 r-abjutils <at> 0.2.3 r-adapr <at> 2.0.0 stagit <at> 0.7.2 > #+end_src > > But two packages are failing: > - sssd <at> 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ò > 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. -- Efraim Flashner <efraim <at> flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#38546
; Package guix-patches
.
(Tue, 07 Apr 2020 06:06:02 GMT) Full text and rfc822 format available.Message #163 received at 38546 <at> debbugs.gnu.org (full text, mbox):
From: Efraim Flashner <efraim <at> flashner.co.il> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: Marius Bakke <mbakke <at> fastmail.com>, 38546 <at> debbugs.gnu.org, zimoun <zimon.toutoune <at> gmail.com> Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Date: Tue, 7 Apr 2020 09:05:17 +0300
[Message part 1 (text/plain, inline)]
On Tue, Apr 07, 2020 at 08:41:56AM +0300, Efraim Flashner wrote: > On Tue, Apr 07, 2020 at 01:18:08AM +0200, Nicolò Balzarotti wrote: > > Hello again, the build completed right now. > > > > Efraim Flashner <efraim <at> flashner.co.il> writes: > > > > > On Mon, Apr 06, 2020 at 10:18:25AM +0200, Nicolò Balzarotti wrote: > > >> Efraim Flashner <efraim <at> flashner.co.il> writes: > > >> > > >> Hi Efraim, > > >> > > >> no, AFAIK. > > >> > > >> 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. > > >> > > >> 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ò > > >> > > > > > > '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 <at> 1.0.1-15.0984481 guix-daemon <at> 1.0.1-15.0984481. > > > > This command succeeded: > > #+begin_src bash > > ./pre-inst-env guix build --no-grafts jami <at> 20191101.3.67671e7 ungoogled-chromium-wayland <at> 80.0.3987.162-0.516e2d9 ungoogled-chromium <at> 80.0.3987.162-0.516e2d9 emacs-nodejs-repl <at> 0.2.2 geierlein <at> 0.9.13 node-env-variable <at> 0.0.4 node-mersenne <at> 0.0.4 node-color-name <at> 1.1.3 node-util-deprecate <at> 1.0.2 node-stack-trace <at> 0.0.10-1.4fd379e node-statsd-parser <at> 0.0.4 ruby-autoprefixer-rails <at> 9.4.7 celestia-gtk <at> 1.6.1-815.9dbdf29 celestia <at> 1.6.1-815.9dbdf29 rust-libgit2-sys <at> 0.8.2 rust-libgit2-sys <at> 0.10.0 fritzing <at> 0.9.3b gitg <at> 3.32.1 cuirass <at> 0.0.1-28.b9031db emacs-guix <at> 0.5.2 guix-jupyter <at> 0.1.0 hpcguix-web <at> 0.0.1-4.f39c90b guile2.0-git <at> 0.3.0 julia <at> 1.3.1 kopete <at> 19.08.3 dolphin-plugins <at> 19.08.3 kate <at> 19.08.3 kdevelop <at> 5.4.6 offlate <at> 0.5 gitless <at> 0.8.8 exa <at> 0.9.0 tokei <at> 10.1.1 r-biocworkflowtools <at> 1.12.1 r-activpal <at> 0.1.3 r-chemometricswithr <at> 0.1.13 r-abjutils <at> 0.2.3 r-adapr <at> 2.0.0 stagit <at> 0.7.2 > > #+end_src > > > > But two packages are failing: > > - sssd <at> 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ò > > > > 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. > I built sssd <at> 1.16.5 with the http-parser patch and it passed all of its tests so that looks good. -- Efraim Flashner <efraim <at> flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]
Efraim Flashner <efraim <at> flashner.co.il>
:nixo <anothersms <at> gmail.com>
:Message #168 received at 38546-done <at> debbugs.gnu.org (full text, mbox):
From: Efraim Flashner <efraim <at> flashner.co.il> To: Nicolò Balzarotti <anothersms <at> gmail.com> Cc: Marius Bakke <mbakke <at> fastmail.com>, 38546-done <at> debbugs.gnu.org, zimoun <zimon.toutoune <at> gmail.com> Subject: Re: [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Date: Tue, 7 Apr 2020 17:35:45 +0300
[Message part 1 (text/plain, inline)]
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. -- Efraim Flashner <efraim <at> flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Wed, 06 May 2020 11:24:05 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.