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".
master
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
1 changed files with 38 additions and 15 deletions

View File

@ -46,8 +46,8 @@
#:use-module (ice-9 match)) #:use-module (ice-9 match))
(define libuv-julia (define libuv-julia
(let ((commit "8d5131b6c1595920dd30644cd1435b4f344b46c8") (let ((commit "52d72a52cc7ccd570929990f010ed16e2ec604c8")
(revision "4")) (revision "5"))
(package (inherit libuv) (package (inherit libuv)
(name "libuv-julia") (name "libuv-julia")
(version (string-append "1.9.0-" revision "." (string-take commit 8))) (version (string-append "1.9.0-" revision "." (string-take commit 8)))
@ -59,7 +59,7 @@
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1fq0vhiprdryw8iisxxwyld3xdr5za6y8458p22ff56al98h22fv")))) "1daxh6ci6q7znxxajr3bm16dd53ragm0d681wf4kzg542qnjq3lh"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(substitute-keyword-arguments (package-arguments libuv) (substitute-keyword-arguments (package-arguments libuv)
@ -83,7 +83,7 @@
(define-public julia (define-public julia
(package (package
(name "julia") (name "julia")
(version "0.5.1") (version "0.6.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -91,7 +91,7 @@
version "/julia-" version ".tar.gz")) version "/julia-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1a9m7hzzrwk71gvwwrd1p45s64yid61i41n95gm5pzbry6p9fpl0")))) "0rd6lcc9sic10q1j3c6f9qr901i1c4554m93n2sz5b3mh37byqhw"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:test-target "test" `(#:test-target "test"
@ -122,12 +122,19 @@
(copy-file (string-append (assoc-ref inputs "virtualenv") (copy-file (string-append (assoc-ref inputs "virtualenv")
"/bin/virtualenv") "/bin/virtualenv")
"julia-env") "julia-env")
(copy-file (assoc-ref inputs "unicode-data")
"doc/UnicodeData.txt")
#t)) #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 _ (lambda _
(substitute* "src/Makefile" (substitute* "Makefile"
(("-lLLVM-\\$\\(shell \\$\\(LLVM_CONFIG_HOST\\) --version\\)") (("(install: .*) \\$\\(BUILDROOT\\)/doc/_build/html/en/index.html" _ line)
"$(shell $(LLVM_CONFIG_HOST) --libs)")) (string-append line "\n"))
(("src ui doc deps")
"src ui deps"))
#t)) #t))
(add-before 'check 'set-home (add-before 'check 'set-home
;; Some tests require a home directory to be set. ;; Some tests require a home directory to be set.
@ -156,16 +163,16 @@
("gmp" "libgmp" "libgmp.so") ("gmp" "libgmp" "libgmp.so")
("openlibm" "libopenlibm" "libopenlibm.so") ("openlibm" "libopenlibm" "libopenlibm.so")
("openspecfun" "libopenspecfun" "libopenspecfun.so") ("openspecfun" "libopenspecfun" "libopenspecfun.so")
("fftw" "libfftw3" "libfftw3.so") ("fftw" "libfftw3" "libfftw3_threads.so")
("fftwf" "libfftw3f" "libfftw3f.so")))))) ("fftwf" "libfftw3f" "libfftw3f_threads.so"))))))
(substitute* "base/fft/FFTW.jl" (substitute* "base/fft/FFTW.jl"
(("const libfftw = Base.libfftw_name") (("const libfftw = Base.libfftw_name")
(string-append "const libfftw = \"" (string-append "const libfftw = \""
(assoc-ref inputs "fftw") "/lib/libfftw3.so" (assoc-ref inputs "fftw") "/lib/libfftw3_threads.so"
"\"")) "\""))
(("const libfftwf = Base.libfftwf_name") (("const libfftwf = Base.libfftwf_name")
(string-append "const libfftwf = \"" (string-append "const libfftwf = \""
(assoc-ref inputs "fftwf") "/lib/libfftw3f.so" (assoc-ref inputs "fftwf") "/lib/libfftw3f_threads.so"
"\""))) "\"")))
(substitute* "base/math.jl" (substitute* "base/math.jl"
(("const libm = Base.libm_name") (("const libm = Base.libm_name")
@ -228,7 +235,14 @@
(("\"backtrace\",") "") (("\"backtrace\",") "")
(("\"compile\",") "") (("\"compile\",") "")
(("\"replutil\",") "") (("\"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))) #t)))
#:make-flags #:make-flags
(list (list
@ -268,6 +282,8 @@
(assoc-ref %build-inputs "utf8proc") (assoc-ref %build-inputs "utf8proc")
"/include") "/include")
"USE_SYSTEM_LLVM=1" "USE_SYSTEM_LLVM=1"
"USE_LLVM_SHLIB=0" ; FIXME: fails when set to 1
"USE_SYSTEM_LIBUNWIND=1" "USE_SYSTEM_LIBUNWIND=1"
"USE_SYSTEM_LIBUV=1" "USE_SYSTEM_LIBUV=1"
(string-append "LIBUV=" (string-append "LIBUV="
@ -339,7 +355,14 @@
("perl" ,perl) ("perl" ,perl)
("patchelf" ,patchelf) ("patchelf" ,patchelf)
("pkg-config" ,pkg-config) ("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. ;; Julia is not officially released for ARM and MIPS.
;; See https://github.com/JuliaLang/julia/issues/10639 ;; See https://github.com/JuliaLang/julia/issues/10639
(supported-systems '("i686-linux" "x86_64-linux")) (supported-systems '("i686-linux" "x86_64-linux"))