me
/
guix
Archived
1
0
Fork 0

gnu: llvm-for-rocm: Move to llvm.scm.

This removes a cross-module top-level reference, which could lead to
build errors when importing (gnu packages rocm) in another module.

* gnu/packages/rocm.scm (llvm-for-rocm): Move to...
* gnu/packages/llvm.scm (llvm-for-rocm): ... here.
master
Ludovic Courtès 2021-09-09 11:58:47 +02:00 committed by Ludovic Courtès
parent eb319663d9
commit e11830d36e
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
2 changed files with 39 additions and 36 deletions

View File

@ -18,6 +18,7 @@
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -882,6 +883,43 @@ of programming tools as well as libraries with equivalent functionality.")
(define-public clang clang-9) (define-public clang clang-9)
(define-public clang-toolchain clang-toolchain-9) (define-public clang-toolchain clang-toolchain-9)
(define-public llvm-for-rocm
(package
;; Actually based on LLVM 13 as of v4.3, but llvm-12 works just fine.
(inherit llvm-12)
(name "llvm-for-rocm")
(version "4.3.0") ;this must match '%rocm-version'
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/RadeonOpenCompute/llvm-project.git")
(commit (string-append "rocm-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0p75nr1qpmy6crymdax5hm40wkimman4lnglz4x5cnbiqindya7s"))
(patches
(search-patches "llvm-roc-4.2.0-add_Object.patch"
"llvm-roc-3.0.0-add_libraries.patch"
"llvm-roc-4.0.0-remove-isystem-usr-include.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments llvm-12)
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(add-after 'unpack 'chdir
(lambda _
(chdir "llvm")))))
((#:configure-flags flags)
''("-DLLVM_ENABLE_PROJECTS=llvm;clang;lld"
"-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86"
"-DCMAKE_SKIP_BUILD_RPATH=FALSE"
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
"-DBUILD_SHARED_LIBS:BOOL=TRUE"
"-DLLVM_VERSION_SUFFIX="))))
(properties `((hidden? . #t)
,@(package-properties llvm-12)))))
(define-public lld (define-public lld
(package (package
(name "lld") (name "lld")

View File

@ -1,4 +1,4 @@
;;; ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net> ;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
;;; ;;;
;;; This program is free software; you can redistribute it and/or modify it ;;; This program is free software; you can redistribute it and/or modify it
@ -56,41 +56,6 @@
tasks needed for the ROCM software stack.") tasks needed for the ROCM software stack.")
(license license:ncsa))) (license license:ncsa)))
(define-public llvm-for-rocm
(hidden-package
(package
;; Actually based on LLVM 13 as of v4.3, but llvm-12 works just fine.
(inherit llvm-12)
(name "llvm-for-rocm")
(version %rocm-version)
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/RadeonOpenCompute/llvm-project.git")
(commit (string-append "rocm-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0p75nr1qpmy6crymdax5hm40wkimman4lnglz4x5cnbiqindya7s"))
(patches
(search-patches "llvm-roc-4.2.0-add_Object.patch"
"llvm-roc-3.0.0-add_libraries.patch"
"llvm-roc-4.0.0-remove-isystem-usr-include.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments llvm-12)
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(add-after 'unpack 'chdir
(lambda _
(chdir "llvm")))))
((#:configure-flags flags)
''("-DLLVM_ENABLE_PROJECTS=llvm;clang;lld"
"-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86"
"-DCMAKE_SKIP_BUILD_RPATH=FALSE"
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
"-DBUILD_SHARED_LIBS:BOOL=TRUE"
"-DLLVM_VERSION_SUFFIX=")))))))
(define-public rocm-device-libs (define-public rocm-device-libs
(package (package
(name "rocm-device-libs") (name "rocm-device-libs")