gnu: julia: Update to 0.6.0.

* gnu/packages/julia.scm (libuv-julia): Update to 1.9.0-5.52d72a52.
(julia): Update to 0.6.0.
[arguments]: Remove phase "fix-llvm-flag"; add phase "disable-documentation";
use threaded fftw variant in phase "hardcode-soname-map"; disable "file" tests
in phase "disable-broken-tests"; add "USE_LLVM_SHLIB=0" to make flags.
[native-inputs]: Add "unicode-data".
This commit is contained in:
Ricardo Wurmus 2017-06-22 12:55:11 +02:00 committed by Ricardo Wurmus
parent e81fd90e2f
commit cc005f9000
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -46,8 +46,8 @@ (define-module (gnu packages julia)
#:use-module (ice-9 match))
(define libuv-julia
(let ((commit "8d5131b6c1595920dd30644cd1435b4f344b46c8")
(revision "4"))
(let ((commit "52d72a52cc7ccd570929990f010ed16e2ec604c8")
(revision "5"))
(package (inherit libuv)
(name "libuv-julia")
(version (string-append "1.9.0-" revision "." (string-take commit 8)))
@ -59,7 +59,7 @@ (define libuv-julia
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1fq0vhiprdryw8iisxxwyld3xdr5za6y8458p22ff56al98h22fv"))))
"1daxh6ci6q7znxxajr3bm16dd53ragm0d681wf4kzg542qnjq3lh"))))
(build-system gnu-build-system)
(arguments
(substitute-keyword-arguments (package-arguments libuv)
@ -83,7 +83,7 @@ (define libunwind-for-julia
(define-public julia
(package
(name "julia")
(version "0.5.1")
(version "0.6.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -91,7 +91,7 @@ (define-public julia
version "/julia-" version ".tar.gz"))
(sha256
(base32
"1a9m7hzzrwk71gvwwrd1p45s64yid61i41n95gm5pzbry6p9fpl0"))))
"0rd6lcc9sic10q1j3c6f9qr901i1c4554m93n2sz5b3mh37byqhw"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@ -122,12 +122,19 @@ (define-public julia
(copy-file (string-append (assoc-ref inputs "virtualenv")
"/bin/virtualenv")
"julia-env")
(copy-file (assoc-ref inputs "unicode-data")
"doc/UnicodeData.txt")
#t))
(add-after 'unpack 'fix-llvm-flag
;; FIXME: Building the documentation requires Julia packages that
;; would be downloaded from the Internet. We should build them in a
;; separate build phase.
(add-after 'unpack 'disable-documentation
(lambda _
(substitute* "src/Makefile"
(("-lLLVM-\\$\\(shell \\$\\(LLVM_CONFIG_HOST\\) --version\\)")
"$(shell $(LLVM_CONFIG_HOST) --libs)"))
(substitute* "Makefile"
(("(install: .*) \\$\\(BUILDROOT\\)/doc/_build/html/en/index.html" _ line)
(string-append line "\n"))
(("src ui doc deps")
"src ui deps"))
#t))
(add-before 'check 'set-home
;; Some tests require a home directory to be set.
@ -156,16 +163,16 @@ (define-public julia
("gmp" "libgmp" "libgmp.so")
("openlibm" "libopenlibm" "libopenlibm.so")
("openspecfun" "libopenspecfun" "libopenspecfun.so")
("fftw" "libfftw3" "libfftw3.so")
("fftwf" "libfftw3f" "libfftw3f.so"))))))
("fftw" "libfftw3" "libfftw3_threads.so")
("fftwf" "libfftw3f" "libfftw3f_threads.so"))))))
(substitute* "base/fft/FFTW.jl"
(("const libfftw = Base.libfftw_name")
(string-append "const libfftw = \""
(assoc-ref inputs "fftw") "/lib/libfftw3.so"
(assoc-ref inputs "fftw") "/lib/libfftw3_threads.so"
"\""))
(("const libfftwf = Base.libfftwf_name")
(string-append "const libfftwf = \""
(assoc-ref inputs "fftwf") "/lib/libfftw3f.so"
(assoc-ref inputs "fftwf") "/lib/libfftw3f_threads.so"
"\"")))
(substitute* "base/math.jl"
(("const libm = Base.libm_name")
@ -228,7 +235,14 @@ (define-public julia
(("\"backtrace\",") "")
(("\"compile\",") "")
(("\"replutil\",") "")
(("\"cmdlineargs\",") ""))
(("\"cmdlineargs\",") "")
;; FIXME: This test fails with the following error:
;; Error in testset file:
;; Test Failed
;; Expression: download("ba\0d", "good")
;; Expected: ArgumentError
;; Thrown: Base.UVError
(("\"file\",") ""))
#t)))
#:make-flags
(list
@ -268,6 +282,8 @@ (define-public julia
(assoc-ref %build-inputs "utf8proc")
"/include")
"USE_SYSTEM_LLVM=1"
"USE_LLVM_SHLIB=0" ; FIXME: fails when set to 1
"USE_SYSTEM_LIBUNWIND=1"
"USE_SYSTEM_LIBUV=1"
(string-append "LIBUV="
@ -339,7 +355,14 @@ (define-public julia
("perl" ,perl)
("patchelf" ,patchelf)
("pkg-config" ,pkg-config)
("python" ,python-2)))
("python" ,python-2)
("unicode-data"
,(origin
(method url-fetch)
(uri "http://www.unicode.org/Public/9.0.0/ucd/UnicodeData.txt")
(sha256
(base32
"13zfannnr6sa6s27ggvcvzmh133ndi38pfyxsssvjmw2s8ac9pv8"))))))
;; Julia is not officially released for ARM and MIPS.
;; See https://github.com/JuliaLang/julia/issues/10639
(supported-systems '("i686-linux" "x86_64-linux"))