rocmPackages.rocm-device-libs: don't use rocm-merged-llvm, cleanup
correctly setting sourceRoot instead of cding in postPatch
This commit is contained in:
@@ -47,10 +47,7 @@ let
|
||||
|
||||
rocm-cmake = self.callPackage ./rocm-cmake { stdenv = origStdenv; };
|
||||
|
||||
rocm-device-libs = self.callPackage ./rocm-device-libs {
|
||||
stdenv = origStdenv;
|
||||
inherit (llvm) rocm-merged-llvm;
|
||||
};
|
||||
rocm-device-libs = self.callPackage ./rocm-device-libs { };
|
||||
|
||||
rocm-runtime = self.callPackage ./rocm-runtime {
|
||||
stdenv = origStdenv;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
diff --git a/cmake/Packages.cmake b/cmake/Packages.cmake
|
||||
index 07c60eb..c736b3e 100644
|
||||
--- a/amd/device-libs/cmake/Packages.cmake
|
||||
+++ b/amd/device-libs/cmake/Packages.cmake
|
||||
--- a/cmake/Packages.cmake
|
||||
+++ b/cmake/Packages.cmake
|
||||
@@ -12,24 +12,29 @@ set_target_properties(${target} PROPERTIES
|
||||
IMPORTED_LOCATION \"${target_path}\")")
|
||||
endforeach()
|
||||
|
||||
@@ -4,11 +4,9 @@
|
||||
fetchpatch,
|
||||
cmake,
|
||||
ninja,
|
||||
libxml2,
|
||||
zlib,
|
||||
zstd,
|
||||
ncurses,
|
||||
rocm-merged-llvm,
|
||||
llvm,
|
||||
python3,
|
||||
}:
|
||||
|
||||
@@ -21,22 +19,29 @@ let
|
||||
else
|
||||
throw "Unsupported ROCm LLVM platform";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "rocm-device-libs";
|
||||
# In-tree with ROCm LLVM
|
||||
inherit (rocm-merged-llvm) version;
|
||||
src = rocm-merged-llvm.llvm-src;
|
||||
inherit (llvm.llvm) version;
|
||||
src = llvm.llvm.monorepoSrc;
|
||||
sourceRoot = "${finalAttrs.src.name}/amd/device-libs";
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
postPatch = ''
|
||||
cd amd/device-libs
|
||||
'';
|
||||
postPatch =
|
||||
# Use our sysrooted toolchain instead of direct clang target
|
||||
''
|
||||
substituteInPlace cmake/OCL.cmake \
|
||||
--replace-fail '$<TARGET_FILE:clang>' "${llvm.rocm-toolchain}/bin/clang"
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./cmake.patch
|
||||
(fetchpatch {
|
||||
name = "cmake-4-compat-dont-set-cmp0053.patch";
|
||||
url = "https://github.com/ROCm/llvm-project/commit/a18cc4c7cb51f94182b6018c7c73acde1b8ebddb.patch";
|
||||
hash = "sha256-LNT7srxd4gXDAJ6lSsJXKnRQKSepkAbHeRNH+eZYIFk=";
|
||||
hash = "sha256-kp/Ld0IhjWgRbRR9R/CKdkI9ELvPkQSAMqPsAPFxzhM=";
|
||||
relative = "amd/device-libs";
|
||||
})
|
||||
];
|
||||
|
||||
@@ -44,18 +49,17 @@ stdenv.mkDerivation {
|
||||
cmake
|
||||
ninja
|
||||
python3
|
||||
llvm.rocm-toolchain
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libxml2
|
||||
llvm.llvm
|
||||
llvm.clang-unwrapped
|
||||
zlib
|
||||
zstd
|
||||
ncurses
|
||||
rocm-merged-llvm
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_RELEASE_TYPE=Release"
|
||||
"-DLLVM_TARGETS_TO_BUILD=AMDGPU;${llvmNativeTarget}"
|
||||
];
|
||||
|
||||
@@ -67,4 +71,4 @@ stdenv.mkDerivation {
|
||||
teams = [ teams.rocm ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user