summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2022-06-22 09:23:28 +0300
committerEfraim Flashner <efraim@flashner.co.il>2022-06-22 09:43:27 +0300
commit0ea51a817784125a32bbc96a524b2fe95a26034a (patch)
tree6a2d85e48717c1ab701efbc3a7e6483ab9f38c32 /gnu
parente4dde29e01d5041c0488e169f691b4ffa894e992 (diff)
gnu: llvm-9: Fix building on riscv64-linux.
* gnu/packages/llvm.scm (llvm-9)[arguments]: When building for riscv64-linux add a phase to fix building one of the binaries.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/llvm.scm17
1 files changed, 16 insertions, 1 deletions
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 32625385ff..6e12c3ebde 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -878,7 +878,22 @@ of programming tools as well as libraries with equivalent functionality.")
(patches (search-patches
"llvm-9-fix-bitcast-miscompilation.patch"
"llvm-9-fix-scev-miscompilation.patch"
- "llvm-9-fix-lpad-miscompilation.patch"))))))
+ "llvm-9-fix-lpad-miscompilation.patch"))))
+ (arguments
+ (if (target-riscv64?)
+ (substitute-keyword-arguments (package-arguments llvm-10)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'patch-dsymutil-link
+ (lambda _
+ (substitute* "tools/dsymutil/CMakeLists.txt"
+ (("endif\\(APPLE\\)")
+ (string-append
+ "endif(APPLE)\n\n"
+ "if (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES \"riscv64\")\n"
+ " target_link_libraries(dsymutil PRIVATE atomic)\n"
+ "endif()"))))))))
+ (package-arguments llvm-10)))))
(define-public clang-runtime-9
(clang-runtime-from-llvm