summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/julia.scm15
-rw-r--r--gnu/packages/patches/julia-0.3.10-fix-empty-array.patch13
3 files changed, 26 insertions, 3 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 6302d22377..62e791c299 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -476,6 +476,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/icecat-libvpx-1.4.patch			\
   gnu/packages/patches/irrlicht-mesa-10.patch			\
   gnu/packages/patches/jbig2dec-ignore-testtest.patch		\
+  gnu/packages/patches/julia-0.3.10-fix-empty-array.patch	\
   gnu/packages/patches/kmod-module-directory.patch		\
   gnu/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch \
   gnu/packages/patches/liba52-enable-pic.patch			\
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index 4473109f4a..fc152c8720 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -41,15 +41,16 @@
 (define-public julia
   (package
     (name "julia")
-    (version "0.3.6")
+    (version "0.3.10")
     (source (origin
               (method url-fetch)
               (uri (string-append
                     "https://github.com/JuliaLang/julia/releases/download/v"
-                    version "/julia-" version "_0c24dca65c.tar.gz"))
+                    version "/julia-" version "_c8ceeefcc1.tar.gz"))
               (sha256
                (base32
-                "1hnbc2blzr9bc27m3vsr127fhg0h5imgqlrx00jakf0my0ccw8gr"))))
+                "0j6mw6wr35lxid10nh9gz7k6wck3a90ic92w99n1r052325gl9r7"))
+              (patches (list (search-patch "julia-0.3.10-fix-empty-array.patch")))))
     (build-system gnu-build-system)
     (arguments
      `(#:test-target "test"
@@ -92,6 +93,14 @@
                        ("fftw"        "libfftw3"       "libfftw3.so")
                        ("fftwf"       "libfftw3f"      "libfftw3f.so"))))))
             #t))
+         ;; This phase will no longer be necessary in 0.3.11; see
+         ;; https://github.com/JuliaLang/julia/issues/12028
+         (add-before
+          'build 'fix-building-with-mcjit-llvm
+          (lambda _
+            (substitute* "src/cgutils.cpp"
+              (("addComdat\\(gv\\);") ""))
+            #t))
          (add-before
           'build 'patch-include-path
           (lambda _
diff --git a/gnu/packages/patches/julia-0.3.10-fix-empty-array.patch b/gnu/packages/patches/julia-0.3.10-fix-empty-array.patch
new file mode 100644
index 0000000000..b00f6549e3
--- /dev/null
+++ b/gnu/packages/patches/julia-0.3.10-fix-empty-array.patch
@@ -0,0 +1,13 @@
+See https://github.com/JuliaLang/julia/issues/11817
+
+--- a/src/codegen.cpp	2015-06-24 12:44:31.218674066 +0200
++++ b/src/codegen.cpp	2015-04-23 11:19:50.000000000 +0200
+@@ -4551,7 +4551,7 @@
+ #ifdef V128_BUG
+         "-avx",
+ #endif
+-    };
++    ""};
+     SmallVector<std::string, 4> MAttrs(mattr, mattr+sizeof(mattr)/sizeof(mattr[0]));
+     EngineBuilder eb = EngineBuilder(engine_module)
+         .setEngineKind(EngineKind::JIT)