summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/julia.scm86
1 files changed, 45 insertions, 41 deletions
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index c9428c4f12..9eb4badcef 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -63,52 +63,56 @@
        #:validate-runpath? #f
 
        #:phases
-       (alist-cons-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,
-        ;; we patch ccall.cpp to contain a static map.
-        (lambda* (#:key inputs #:allow-other-keys)
-          (use-modules (ice-9 match))
-          (substitute* "src/ccall.cpp"
-            (("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")
-                     ("pcre"        "libpcre"        "libpcre.so")
-                     ("mpfr"        "libmpfr"        "libmpfr.so")
-                     ("openblas"    "libblas"        "libopenblas.so")
-                     ("arpack-ng"   "libarpack"      "libarpack.so")
-                     ("lapack"      "liblapack"      "liblapack.so")
-                     ("gmp"         "libgmp"         "libgmp.so")
-                     ("openlibm"    "libopenlibm"    "libopenlibm.so")
-                     ("openspecfun" "libopenspecfun" "libopenspecfun.so")
-                     ("fftw"        "libfftw3"       "libfftw3.so")
-                     ("fftwf"       "libfftw3f"      "libfftw3f.so")))))))
-        (alist-cons-before
-         'build 'replace-default-shell
-         (lambda _
-           (substitute* "base/client.jl"
-             (("/bin/sh") (which "sh"))))
-         (alist-cons-before
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (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,
+          ;; we patch ccall.cpp to contain a static map.
+          (lambda* (#:key inputs #:allow-other-keys)
+            (use-modules (ice-9 match))
+            (substitute* "src/ccall.cpp"
+              (("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")
+                       ("pcre"        "libpcre"        "libpcre.so")
+                       ("mpfr"        "libmpfr"        "libmpfr.so")
+                       ("openblas"    "libblas"        "libopenblas.so")
+                       ("arpack-ng"   "libarpack"      "libarpack.so")
+                       ("lapack"      "liblapack"      "liblapack.so")
+                       ("gmp"         "libgmp"         "libgmp.so")
+                       ("openlibm"    "libopenlibm"    "libopenlibm.so")
+                       ("openspecfun" "libopenspecfun" "libopenspecfun.so")
+                       ("fftw"        "libfftw3"       "libfftw3.so")
+                       ("fftwf"       "libfftw3f"      "libfftw3f.so"))))))
+            #t))
+         (add-before
           'build 'patch-include-path
           (lambda _
             (substitute* "deps/Makefile"
               (("/usr/include/double-conversion")
                (string-append (assoc-ref %build-inputs "double-conversion")
-                              "/include/double-conversion"))))
-          (alist-cons-before
-           'check 'disable-broken-test
-           ;; One test fails because it produces slightly different output.
-           (lambda _
-             (substitute* "test/repl.jl"
-               (("@test output") "# @test output")))
-           ;; no configure script
-           (alist-delete 'configure %standard-phases)))))
+                              "/include/double-conversion")))
+            #t))
+         (add-before
+          'build 'replace-default-shell
+          (lambda _
+            (substitute* "base/client.jl"
+              (("/bin/sh") (which "sh")))
+            #t))
+         (add-before
+          'check 'disable-broken-test
+          ;; One test fails because it produces slightly different output.
+          (lambda _
+            (substitute* "test/repl.jl"
+              (("@test output") "# @test output"))
+            #t)))
        #:make-flags
        (list
         (string-append "prefix=" (assoc-ref %outputs "out"))