summary refs log tree commit diff
diff options
context:
space:
mode:
authorJean-Baptiste Volatier <jbv@pm.me>2021-10-16 19:12:14 +0000
committerEfraim Flashner <efraim@flashner.co.il>2021-11-15 22:38:09 +0200
commita1a7e2b95170dd2e998ef1855544fea162b11685 (patch)
tree3f093d39abb45b2864b4f02cfe871f01daaba6b8
parent2b56e477f36b0561e5d8861a902ec25c5e7bafb3 (diff)
downloadguix-a1a7e2b95170dd2e998ef1855544fea162b11685.tar.gz
gnu: julia: Fix llvm-julia version.
LLVM bundled in the binary julia distributed by upstream has its
version with a "jl" suffix. The llvm-julia package does not have
this suffix, which causes some packages (e. g. LLVM.jl) to fail to
load.

LLVM.jl does this in order to be sure that it is loading a LLVM as
patched for julia and not LLVM from the distribution which will
lack the correct patches on distribs other than GUIX.

I guess there might be other packages that rely on this, so we
should fix our llvm-julia package.

* gnu/packages/julia.scm (llvm)
[source]: Add missing upstream patch
[arguments]: Add configure-flag to set a "jl" suffix to llvm version
(julia)[arguments]: Symlink llvm to llvm-11jl.so

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
-rw-r--r--gnu/packages/julia.scm7
1 files changed, 5 insertions, 2 deletions
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index fe31e545c9..411f2e2e10 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -131,6 +131,8 @@
                        "19spqc3xsazn1xs9gpcgv9ldadfkv49rmc5khl7sf1dlmhgi4602")
                      '("llvm-7.0-D44650"
                        "1h55kkmkiisfj6sk956if2bcj9s0v6n5czn8dxb870vp5nccj3ir")
+                     '("llvm7-symver-jlprefix"
+                       "00ng32x6xhm9czczirn5r1q1mc1myad44fqhi061hwh1vb46dwgm")
                      '("llvm-6.0-DISABLE_ABI_CHECKS"
                        "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg")
                      '("llvm9-D50010-VNCoercion-ni"
@@ -211,7 +213,8 @@
            ;; "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
            ;; "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly"
            "-DLLVM_ENABLE_DUMP=ON"
-           "-DLLVM_LINK_LLVM_DYLIB=ON"))))
+           "-DLLVM_LINK_LLVM_DYLIB=ON"
+           "-DLLVM_VERSION_SUFFIX:STRING=jl"))))
     (inputs
      (append
        (package-inputs llvm-11)
@@ -548,7 +551,7 @@ libraries.  It is also a bit like @code{ldd} and @code{otool -L}.")
                                                               (basename file)))))
                         (find-files (string-append (assoc-ref inputs pkgname)
                                                    "/lib") pred)))))
-               (link "llvm" "libLLVM-11\\.so")
+               (link "llvm" "libLLVM-11jl\\.so")
                (link "utf8proc" "libutf8proc\\.so")
                #t)))
          (add-after 'install 'make-wrapper