summaryrefslogtreecommitdiff
path: root/gnu/packages/llvm.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/llvm.scm')
-rw-r--r--gnu/packages/llvm.scm50
1 files changed, 34 insertions, 16 deletions
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index a6f779e7f8..e333ab7638 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com>
;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
@@ -89,6 +89,7 @@ as \"x86_64-linux\"."
(base32
"0k124sxkfhfi1rca6kzkdraf4axhx99x3cw2rk55056628dvwwl8"))))
(build-system cmake-build-system)
+ (outputs '("out" "opt-viewer"))
(native-inputs
`(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2
("perl" ,perl)))
@@ -106,16 +107,27 @@ as \"x86_64-linux\"."
;; Don't use '-g' during the build, to save space.
#:build-type "Release"
- #:phases (modify-phases %standard-phases
- (add-before 'build 'shared-lib-workaround
- ;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen
- ;; doesn't seem to get the correct rpath to be able to run
- ;; from the build directory. Set LD_LIBRARY_PATH as a
- ;; workaround.
- (lambda _
- (setenv "LD_LIBRARY_PATH"
- (string-append (getcwd) "/lib"))
- #t)))))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'shared-lib-workaround
+ ;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen
+ ;; doesn't seem to get the correct rpath to be able to run
+ ;; from the build directory. Set LD_LIBRARY_PATH as a
+ ;; workaround.
+ (lambda _
+ (setenv "LD_LIBRARY_PATH"
+ (string-append (getcwd) "/lib"))
+ #t))
+ (add-after 'install 'install-opt-viewer
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (opt-viewer-out (assoc-ref outputs "opt-viewer"))
+ (opt-viewer-share-dir (string-append opt-viewer-out "/share"))
+ (opt-viewer-dir (string-append opt-viewer-share-dir "/opt-viewer")))
+ (mkdir-p opt-viewer-share-dir)
+ (rename-file (string-append out "/share/opt-viewer")
+ opt-viewer-dir))
+ #t)))))
(home-page "https://www.llvm.org")
(synopsis "Optimizing compiler infrastructure")
(description
@@ -562,7 +574,13 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.")
version "/llvm-" version ".src.tar.xz"))
(sha256
(base32
- "1vi9sf7rx1q04wj479rsvxayb6z740iaz3qniwp266fgp5a07n8z"))))))
+ "1vi9sf7rx1q04wj479rsvxayb6z740iaz3qniwp266fgp5a07n8z"))))
+ (outputs '("out"))
+ (arguments
+ (substitute-keyword-arguments (package-arguments llvm)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'install-opt-viewer)))))))
(define-public clang-runtime-3.9.1
(clang-runtime-from-llvm
@@ -578,7 +596,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.")
#:patches '("clang-3.8-libc-search-path.patch")))
(define-public llvm-3.8
- (package (inherit llvm)
+ (package (inherit llvm-3.9.1)
(name "llvm")
(version "3.8.1")
(source
@@ -603,7 +621,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.")
#:patches '("clang-3.8-libc-search-path.patch")))
(define-public llvm-3.7
- (package (inherit llvm)
+ (package (inherit llvm-3.9.1)
(version "3.7.1")
(source
(origin
@@ -627,7 +645,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.")
#:patches '("clang-3.5-libc-search-path.patch")))
(define-public llvm-3.6
- (package (inherit llvm)
+ (package (inherit llvm-3.9.1)
(version "3.6.2")
(source
(origin
@@ -650,7 +668,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.")
#:patches '("clang-3.5-libc-search-path.patch")))
(define-public llvm-3.5
- (package (inherit llvm)
+ (package (inherit llvm-3.9.1)
(version "3.5.2")
(source
(origin