summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2021-08-06 08:21:20 +0200
committerLars-Dominik Braun <lars@6xq.net>2021-08-08 16:47:55 +0200
commit9c083e706329909d41ab13d0721e726031ab78c7 (patch)
treeecd0deab7349ded13a13baecb65432f13d85153d /gnu
parent884334afecd8094982f1bf4fee568fd60e770713 (diff)
gnu: Add rocm-comgr.
* gnu/packages/rocm.scm (rocm-comgr): New variable. * gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch52
-rw-r--r--gnu/packages/rocm.scm32
3 files changed, 85 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 59dc7b01b5..d545db39dd 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1701,6 +1701,7 @@ dist_patch_DATA = \
%D%/packages/patches/rnp-add-version.cmake.patch \
%D%/packages/patches/rnp-disable-ruby-rnp-tests.patch \
%D%/packages/patches/rnp-unbundle-googletest.patch \
+ %D%/packages/patches/rocm-comgr-3.1.0-dependencies.patch \
%D%/packages/patches/ruby-sanitize-system-libxml.patch \
%D%/packages/patches/rust-1.19-mrustc.patch \
%D%/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch \
diff --git a/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch b/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch
new file mode 100644
index 0000000000..c91d273f92
--- /dev/null
+++ b/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch
@@ -0,0 +1,52 @@
+https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/pull/25
+
+From c65cba2e73f9118e128b9ab7e655ee0f8a7798e7 Mon Sep 17 00:00:00 2001
+From: Craig Andrews <candrews@integralblue.com>
+Date: Sun, 1 Mar 2020 19:24:22 -0500
+Subject: [PATCH] Link additional required LLVM libraries
+
+Without these additional required dependencies, linking fails with errors such as:
+`undefined reference to llvm::errs()'`
+---
+ CMakeLists.txt | 20 ++++++++++++++++++--
+ 1 file changed, 18 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1794a07..c7b852a 100644
+--- a/lib/comgr/CMakeLists.txt
++++ b/lib/comgr/CMakeLists.txt
+@@ -207,7 +207,11 @@ install(FILES
+ DESTINATION "${AMD_COMGR_PACKAGE_PREFIX}")
+
+ set(CLANG_LIBS
+- clangFrontendTool)
++ clangFrontendTool
++ clangFrontend
++ clangBasic
++ clangDriver
++ clangSerialization)
+
+ set(LLD_LIBS
+ lldELF
+@@ -218,8 +222,20 @@ if (LLVM_LINK_LLVM_DYLIB)
+ else()
+ llvm_map_components_to_libnames(LLVM_LIBS
+ ${LLVM_TARGETS_TO_BUILD}
++ Option
+ DebugInfoDWARF
+- Symbolize)
++ Symbolize
++ Support
++ Object
++ BitWriter
++ MC
++ MCParser
++ MCDisassembler
++ Core
++ IRReader
++ CodeGen
++ Linker
++ BinaryFormat)
+ endif()
+
+ target_link_libraries(amd_comgr
diff --git a/gnu/packages/rocm.scm b/gnu/packages/rocm.scm
index 48d709969e..5ecc741d11 100644
--- a/gnu/packages/rocm.scm
+++ b/gnu/packages/rocm.scm
@@ -115,3 +115,35 @@ tasks needed for the ROCM software stack.")
(description "AMD-specific device-side language runtime libraries, namely
oclc, ocml, ockl, opencl, hip and hc.")
(license license:ncsa)))
+
+(define-public rocm-comgr
+ (package
+ (name "rocm-comgr")
+ (version %rocm-version)
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport.git")
+ (commit (string-append "rocm-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0bakbm7shr0l67lph44b5cnc9psd6rivg1mp79qizaawkn380x60"))
+ (patches
+ (search-patches "rocm-comgr-3.1.0-dependencies.patch"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "lib/comgr"))))))
+ (inputs
+ `(("rocm-device-libs" ,rocm-device-libs)
+ ("llvm" ,llvm-for-rocm)
+ ("lld" ,lld)))
+ (home-page "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport")
+ (synopsis "ROCm Code Object Manager")
+ (description "The Comgr library provides APIs for compiling and inspecting
+AMDGPU code objects.")
+ (license license:ncsa)))