* [PATCH] Update Julia (and use smaller tarball) @ 2016-05-25 15:25 Ricardo Wurmus 2016-05-25 15:25 ` [PATCH 1/2] gnu: julia: Update to 0.4.5 Ricardo Wurmus ` (2 more replies) 0 siblings, 3 replies; 8+ messages in thread From: Ricardo Wurmus @ 2016-05-25 15:25 UTC (permalink / raw) To: guix-devel Hi Guix, the attached patches update julia to the latest version. The second of the two patches makes a couple of changes to allow us to use the much smaller release tarball. This made it necessary to add a few tarballs to the inputs manually. I think this is nicer now, because we no longer download an unnecessarily large bundle, and we see much clearer now what we still need to work on in future updates. ~~ Ricardo ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/2] gnu: julia: Update to 0.4.5. 2016-05-25 15:25 [PATCH] Update Julia (and use smaller tarball) Ricardo Wurmus @ 2016-05-25 15:25 ` Ricardo Wurmus 2016-05-28 14:27 ` Ludovic Courtès 2016-05-25 15:25 ` [PATCH 2/2] gnu: julia: Use unbundled release tarball Ricardo Wurmus 2016-05-25 15:27 ` [PATCH] Update Julia (and use smaller tarball) Ricardo Wurmus 2 siblings, 1 reply; 8+ messages in thread From: Ricardo Wurmus @ 2016-05-25 15:25 UTC (permalink / raw) To: guix-devel * gnu/packages/julia.scm (julia): Update to 0.4.5. (libuv-julia): Update commit. --- gnu/packages/julia.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 4e6b871..d358a00 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -43,8 +43,8 @@ #:use-module (ice-9 match)) (define libuv-julia - (let ((commit "07730c4bd595b4d45a498a8ee0bcd53878ff7c10") - (revision "2")) + (let ((commit "efb40768b7c7bd9f173a7868f74b92b1c5a61a0e") + (revision "3")) (package (inherit libuv) (name "libuv-julia") (version (string-append "0.11.26." revision "-" (string-take commit 8))) @@ -56,7 +56,7 @@ (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1r0d4wb41w8k3bi9sjr7kapk1ag131ss2fbqa4jz4gnrzvw94sqx")))) + "16k6pm2jl0ymz5j4ldxn94imdimahqqfd2izgr3zf1vwyyay77w3")))) (build-system gnu-build-system) (arguments (substitute-keyword-arguments (package-arguments libuv) @@ -68,7 +68,7 @@ (define-public julia (package (name "julia") - (version "0.4.3") + (version "0.4.5") (source (origin (method url-fetch) (uri (string-append @@ -76,7 +76,7 @@ version "/julia-" version "-full.tar.gz")) (sha256 (base32 - "1i8k847d8n9v37xg69grpl51dysx36p0phwf0d1qxpsqixdg579b")))) + "1nbi78fav5f4zj5332iwm4mfk0qhd5qh61z881q69rvp7b163wyb")))) (build-system gnu-build-system) (arguments `(#:test-target "test" -- 2.7.3 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] gnu: julia: Update to 0.4.5. 2016-05-25 15:25 ` [PATCH 1/2] gnu: julia: Update to 0.4.5 Ricardo Wurmus @ 2016-05-28 14:27 ` Ludovic Courtès 0 siblings, 0 replies; 8+ messages in thread From: Ludovic Courtès @ 2016-05-28 14:27 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: guix-devel Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> skribis: > * gnu/packages/julia.scm (julia): Update to 0.4.5. > (libuv-julia): Update commit. LGTM. Ludo’. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/2] gnu: julia: Use unbundled release tarball. 2016-05-25 15:25 [PATCH] Update Julia (and use smaller tarball) Ricardo Wurmus 2016-05-25 15:25 ` [PATCH 1/2] gnu: julia: Update to 0.4.5 Ricardo Wurmus @ 2016-05-25 15:25 ` Ricardo Wurmus 2016-05-25 17:41 ` Efraim Flashner 2016-05-25 15:27 ` [PATCH] Update Julia (and use smaller tarball) Ricardo Wurmus 2 siblings, 1 reply; 8+ messages in thread From: Ricardo Wurmus @ 2016-05-25 15:25 UTC (permalink / raw) To: guix-devel * gnu/packages/julia.scm (julia)[source]: Use smaller tarball without bundled sources. [inputs]: Add inputs for rmath-julia, suitesparse, objconv, dsfmt, and virtualenv. [arguments]: Add phase "prepare-deps" to copy tarballs to their expected locations. --- gnu/packages/julia.scm | 62 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 59 insertions(+), 3 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index d358a00..d5293e3 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -73,10 +73,10 @@ (method url-fetch) (uri (string-append "https://github.com/JuliaLang/julia/releases/download/v" - version "/julia-" version "-full.tar.gz")) + version "/julia-" version ".tar.gz")) (sha256 (base32 - "1nbi78fav5f4zj5332iwm4mfk0qhd5qh61z881q69rvp7b163wyb")))) + "09gc6yf3v4in0qwhrbgjrjgvblp941di0mli4zax22mvf4dzc7s4")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -92,6 +92,19 @@ #:phases (modify-phases %standard-phases (delete 'configure) + (add-after 'unpack 'prepare-deps + (lambda* (#:key inputs #:allow-other-keys) + (copy-file (assoc-ref inputs "rmath-julia") + "deps/Rmath-julia-0.1.tar.gz") + (copy-file (assoc-ref inputs "dsfmt") + "deps/dsfmt-2.2.3.tar.gz") + (copy-file (assoc-ref inputs "objconv") + "deps/objconv.zip") + (copy-file (assoc-ref inputs "suitesparse") + "deps/SuiteSparse-4.4.2.tar.gz") + (copy-file (assoc-ref inputs "virtualenv") + "deps/virtualenv-1.11.6.tar.gz") + #t)) (add-after 'unpack 'hardcode-soname-map ;; ./src/ccall.cpp creates a map from library names to paths using the ;; output of "/sbin/ldconfig -p". Since ldconfig is not used in Guix, @@ -249,7 +262,50 @@ ("mpfr" ,mpfr) ("wget" ,wget) ("which" ,which) - ("gmp" ,gmp))) + ("gmp" ,gmp) + ;; 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. + ("rmath-julia" + ,(origin + (method url-fetch) + (uri "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v0.1") + ;;(file-name "rmath-julia-0.1.tar.gz") + (sha256 + (base32 + "0ai5dhjc43zcvangz123ryxmlbm51s21rg13bllwyn98w67arhb4")))) + ("suitesparse" + ,(origin + (method url-fetch) + (uri "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-4.4.2.tar.gz") + (sha256 + (base32 + "1dg0qsv07n71nbn9cgcvn73933rgy1jnxw5bfqkwfq3bidk44cqc")))) + ("objconv" + ,(origin + (method url-fetch) + (uri "http://www.agner.org/optimize/objconv.zip") + (sha256 + (base32 + "1fi7qa2sd9vb35dvkgripjf0fayzg2qmff215f8agfqfiwd1g8qs")))) + ("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")))) + ("virtualenv" + ,(origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/24/cc/" + "a3cdf0a49ffcaef483b7e2511476aa520cf7260c199a6928fda6c43ba916/" + "virtualenv-1.11.6.tar.gz")) + (sha256 + (base32 + "1xq4prmg25n9cz5zcvbqx68lmc3kl39by582vd8pzs9f3qalqyiy")))))) (native-inputs `(("perl" ,perl) ("patchelf" ,patchelf) -- 2.7.3 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] gnu: julia: Use unbundled release tarball. 2016-05-25 15:25 ` [PATCH 2/2] gnu: julia: Use unbundled release tarball Ricardo Wurmus @ 2016-05-25 17:41 ` Efraim Flashner 2016-05-25 18:28 ` Ricardo Wurmus 0 siblings, 1 reply; 8+ messages in thread From: Efraim Flashner @ 2016-05-25 17:41 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 4907 bytes --] On Wed, May 25, 2016 at 05:25:24PM +0200, Ricardo Wurmus wrote: > * gnu/packages/julia.scm (julia)[source]: Use smaller tarball without > bundled sources. > [inputs]: Add inputs for rmath-julia, suitesparse, objconv, dsfmt, and > virtualenv. > [arguments]: Add phase "prepare-deps" to copy tarballs to their expected > locations. > --- > gnu/packages/julia.scm | 62 +++++++++++++++++++++++++++++++++++++++++++++++--- > 1 file changed, 59 insertions(+), 3 deletions(-) > > diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm > index d358a00..d5293e3 100644 > --- a/gnu/packages/julia.scm > +++ b/gnu/packages/julia.scm > @@ -73,10 +73,10 @@ > (method url-fetch) > (uri (string-append > "https://github.com/JuliaLang/julia/releases/download/v" > - version "/julia-" version "-full.tar.gz")) > + version "/julia-" version ".tar.gz")) > (sha256 > (base32 > - "1nbi78fav5f4zj5332iwm4mfk0qhd5qh61z881q69rvp7b163wyb")))) > + "09gc6yf3v4in0qwhrbgjrjgvblp941di0mli4zax22mvf4dzc7s4")))) > (build-system gnu-build-system) > (arguments > `(#:test-target "test" > @@ -92,6 +92,19 @@ > #:phases > (modify-phases %standard-phases > (delete 'configure) > + (add-after 'unpack 'prepare-deps > + (lambda* (#:key inputs #:allow-other-keys) > + (copy-file (assoc-ref inputs "rmath-julia") > + "deps/Rmath-julia-0.1.tar.gz") > + (copy-file (assoc-ref inputs "dsfmt") > + "deps/dsfmt-2.2.3.tar.gz") > + (copy-file (assoc-ref inputs "objconv") > + "deps/objconv.zip") > + (copy-file (assoc-ref inputs "suitesparse") > + "deps/SuiteSparse-4.4.2.tar.gz") > + (copy-file (assoc-ref inputs "virtualenv") > + "deps/virtualenv-1.11.6.tar.gz") > + #t)) > (add-after 'unpack 'hardcode-soname-map > ;; ./src/ccall.cpp creates a map from library names to paths using the > ;; output of "/sbin/ldconfig -p". Since ldconfig is not used in Guix, > @@ -249,7 +262,50 @@ > ("mpfr" ,mpfr) > ("wget" ,wget) > ("which" ,which) > - ("gmp" ,gmp))) > + ("gmp" ,gmp) > + ;; 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. > + ("rmath-julia" > + ,(origin > + (method url-fetch) > + (uri "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v0.1") > + ;;(file-name "rmath-julia-0.1.tar.gz") ^^^ did this not like being renamed? > + (sha256 > + (base32 > + "0ai5dhjc43zcvangz123ryxmlbm51s21rg13bllwyn98w67arhb4")))) > + ("suitesparse" > + ,(origin > + (method url-fetch) > + (uri "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-4.4.2.tar.gz") > + (sha256 > + (base32 > + "1dg0qsv07n71nbn9cgcvn73933rgy1jnxw5bfqkwfq3bidk44cqc")))) > + ("objconv" > + ,(origin > + (method url-fetch) > + (uri "http://www.agner.org/optimize/objconv.zip") > + (sha256 > + (base32 > + "1fi7qa2sd9vb35dvkgripjf0fayzg2qmff215f8agfqfiwd1g8qs")))) > + ("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")))) > + ("virtualenv" we actually do have virtualenv packaged. I forgot when but at some point they made a massive jump in version numbers. > + ,(origin > + (method url-fetch) > + (uri (string-append "https://pypi.python.org/packages/24/cc/" > + "a3cdf0a49ffcaef483b7e2511476aa520cf7260c199a6928fda6c43ba916/" > + "virtualenv-1.11.6.tar.gz")) > + (sha256 > + (base32 > + "1xq4prmg25n9cz5zcvbqx68lmc3kl39by582vd8pzs9f3qalqyiy")))))) > (native-inputs > `(("perl" ,perl) > ("patchelf" ,patchelf) > -- > 2.7.3 > > -- Efraim Flashner <efraim@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 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] gnu: julia: Use unbundled release tarball. 2016-05-25 17:41 ` Efraim Flashner @ 2016-05-25 18:28 ` Ricardo Wurmus 2016-05-28 14:29 ` Ludovic Courtès 0 siblings, 1 reply; 8+ messages in thread From: Ricardo Wurmus @ 2016-05-25 18:28 UTC (permalink / raw) To: Efraim Flashner; +Cc: guix-devel Efraim Flashner <efraim@flashner.co.il> writes: >> + ;; 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. >> + ("rmath-julia" >> + ,(origin >> + (method url-fetch) >> + (uri "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v0.1") >> + ;;(file-name "rmath-julia-0.1.tar.gz") > ^^^ > did this not like being renamed? Oops, this was not supposed to be commented. There was a problem where the build system complained about the hash of the tarball, and I could only fix it by *not* overriding the name. But this shouldn’t have been part of the commit. I’ll play with this again to see if it can stay or needs to go. >> + (sha256 >> + (base32 >> + "0ai5dhjc43zcvangz123ryxmlbm51s21rg13bllwyn98w67arhb4")))) >> + ("suitesparse" >> + ,(origin >> + (method url-fetch) >> + (uri "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-4.4.2.tar.gz") >> + (sha256 >> + (base32 >> + "1dg0qsv07n71nbn9cgcvn73933rgy1jnxw5bfqkwfq3bidk44cqc")))) >> + ("objconv" >> + ,(origin >> + (method url-fetch) >> + (uri "http://www.agner.org/optimize/objconv.zip") >> + (sha256 >> + (base32 >> + "1fi7qa2sd9vb35dvkgripjf0fayzg2qmff215f8agfqfiwd1g8qs")))) >> + ("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")))) >> + ("virtualenv" > > we actually do have virtualenv packaged. I forgot when but at some point > they made a massive jump in version numbers. Yes, I’ve seen that we have it, but it looks like julia doesn’t make it easy to use our packaged version (and it insists on this old version). We should fix this eventually, but the goal of this patch was to make this dependency explicit — before that it would just quietly take the bundled “virtualenv” in the fat tarball. ~~ Ricardo ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] gnu: julia: Use unbundled release tarball. 2016-05-25 18:28 ` Ricardo Wurmus @ 2016-05-28 14:29 ` Ludovic Courtès 0 siblings, 0 replies; 8+ messages in thread From: Ludovic Courtès @ 2016-05-28 14:29 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: guix-devel Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> skribis: > Efraim Flashner <efraim@flashner.co.il> writes: > >>> + ;; 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. >>> + ("rmath-julia" >>> + ,(origin >>> + (method url-fetch) >>> + (uri "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v0.1") >>> + ;;(file-name "rmath-julia-0.1.tar.gz") >> ^^^ >> did this not like being renamed? > > Oops, this was not supposed to be commented. There was a problem where > the build system complained about the hash of the tarball, and I could > only fix it by *not* overriding the name. But this shouldn’t have been > part of the commit. I’ll play with this again to see if it can stay or > needs to go. > >>> + (sha256 >>> + (base32 >>> + "0ai5dhjc43zcvangz123ryxmlbm51s21rg13bllwyn98w67arhb4")))) >>> + ("suitesparse" >>> + ,(origin >>> + (method url-fetch) >>> + (uri "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-4.4.2.tar.gz") >>> + (sha256 >>> + (base32 >>> + "1dg0qsv07n71nbn9cgcvn73933rgy1jnxw5bfqkwfq3bidk44cqc")))) >>> + ("objconv" >>> + ,(origin >>> + (method url-fetch) >>> + (uri "http://www.agner.org/optimize/objconv.zip") >>> + (sha256 >>> + (base32 >>> + "1fi7qa2sd9vb35dvkgripjf0fayzg2qmff215f8agfqfiwd1g8qs")))) >>> + ("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")))) >>> + ("virtualenv" >> >> we actually do have virtualenv packaged. I forgot when but at some point >> they made a massive jump in version numbers. > > Yes, I’ve seen that we have it, but it looks like julia doesn’t make it > easy to use our packaged version (and it insists on this old version). > We should fix this eventually, but the goal of this patch was to make > this dependency explicit — before that it would just quietly take the > bundled “virtualenv” in the fat tarball. This patch LGTM, but I agree that eventually it’d be nice if Julia could use the packaged versions of these things, at least SuiteSparse and virtualenv, but probably all of them. Thanks! Ludo’. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Update Julia (and use smaller tarball) 2016-05-25 15:25 [PATCH] Update Julia (and use smaller tarball) Ricardo Wurmus 2016-05-25 15:25 ` [PATCH 1/2] gnu: julia: Update to 0.4.5 Ricardo Wurmus 2016-05-25 15:25 ` [PATCH 2/2] gnu: julia: Use unbundled release tarball Ricardo Wurmus @ 2016-05-25 15:27 ` Ricardo Wurmus 2 siblings, 0 replies; 8+ messages in thread From: Ricardo Wurmus @ 2016-05-25 15:27 UTC (permalink / raw) To: guix-devel I should add that julia compiles with both patches applied. I didn’t do any checking beyond that. ~~ Ricardo ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-05-28 14:30 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-05-25 15:25 [PATCH] Update Julia (and use smaller tarball) Ricardo Wurmus 2016-05-25 15:25 ` [PATCH 1/2] gnu: julia: Update to 0.4.5 Ricardo Wurmus 2016-05-28 14:27 ` Ludovic Courtès 2016-05-25 15:25 ` [PATCH 2/2] gnu: julia: Use unbundled release tarball Ricardo Wurmus 2016-05-25 17:41 ` Efraim Flashner 2016-05-25 18:28 ` Ricardo Wurmus 2016-05-28 14:29 ` Ludovic Courtès 2016-05-25 15:27 ` [PATCH] Update Julia (and use smaller tarball) Ricardo Wurmus
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).