summaryrefslogtreecommitdiff
path: root/dev-libs/rocm-comgr
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-04 16:24:49 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-04 16:24:49 -0500
commita3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (patch)
tree0c52bbae1c242fbc296bd650fcd1167685f81492 /dev-libs/rocm-comgr
parentbfd9c39e4712ebdb442d4ca0673061faed1e70e1 (diff)
downloadbaldeagleos-repo-a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7.tar.gz
baldeagleos-repo-a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7.tar.xz
baldeagleos-repo-a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7.zip
Adding metadata
Diffstat (limited to 'dev-libs/rocm-comgr')
-rw-r--r--dev-libs/rocm-comgr/Manifest5
-rw-r--r--dev-libs/rocm-comgr/files/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch48
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-rocm-path.patch14
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-6.0.0-extend-isa-compatibility-check.patch204
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-dont-add-nogpulib.patch31
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-bypass-device-libs-copy.patch28
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-fix-comgr-default-flags.patch40
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-llvm-19-compat.patch65
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-6.3.2-rocm_path.patch14
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-bypass-device-libs-copy.patch44
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-extend-isa-compatibility-check.patch204
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-fix-comgr-default-flags.patch42
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-llvm-20-compat.patch71
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-7.0.1-llvm-20-compat.patch22
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-7.2.0-llvm-22-compat.patch23
-rw-r--r--dev-libs/rocm-comgr/metadata.xml25
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-6.3.3.ebuild90
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-6.4.3.ebuild95
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-7.0.2.ebuild94
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-7.1.0.ebuild94
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-7.2.0.ebuild92
21 files changed, 0 insertions, 1345 deletions
diff --git a/dev-libs/rocm-comgr/Manifest b/dev-libs/rocm-comgr/Manifest
deleted file mode 100644
index f32976c60822..000000000000
--- a/dev-libs/rocm-comgr/Manifest
+++ /dev/null
@@ -1,5 +0,0 @@
-DIST llvm-project-rocm-6.3.3.tar.gz 206663912 BLAKE2B 939527dbbcd0c4b4785e5cdbd7144149f169120506c2b5b00e84e8208e3877109e24cf58501a1317d1f9dcce0614cf47a0290cb2e0e10aa7b164bcb064c2ffbc SHA512 380d6ca72dd215b1996b14fe9b54f4981bd1d275aae22ed89f4f3efc46ec2988054cc98dcc45e1c678812c2bd3488ed6cf375ca193af4ad272a6cff7f2388872
-DIST llvm-project-rocm-6.4.3.tar.gz 218920681 BLAKE2B 85c29c1f66f9d23fa7fb6d98baf60cb08a8507a7b3a4c0a5054d9d4d3bc1fb7de56ddae583e37a36c7a3f17f9e57bd49777deca7560ca8b4882c1eea1db5b421 SHA512 b6b4149c6426793f4497dfd1200079b0caef4d5a6f49c1f3a301d70f5f7b322b850085ff2f89d55df1dfab6d6a97948fe4084d4ec14654ee97cdab26e71a45c0
-DIST llvm-project-rocm-7.0.2.tar.gz 228207703 BLAKE2B 0a46338e43eeb9ee484cf9b79488f38b96983ba0a5736d606b1b1d450b9c7aa214047200c3d6712b8053d742e2f014333b2db28feca7d0c8b6928282604e1f4e SHA512 b7916941711ec062aad518d752d213d2e6c846875956ade650da01fa02df94b2a8501c656c1333bb2febb1d46cc8266dd98fd509c72ac0c9c29321276a919450
-DIST llvm-project-rocm-7.1.0.tar.gz 228282149 BLAKE2B c4bbaf1842d91747a3f7a9ae8a8db0a4b2485394770f9be5782346de1c2c66c496629a820f4bc9418803c4abe2e629b44083b9d9a8b0ffe79431d04f71a7b191 SHA512 01fa89fcee6910d53407be6cfe3a83bec98260a48beca6393ca7e5991d283897da42a918c6e9888a9cee46adc9c4086dd4b4221e7e25d64108296b755669a7e7
-DIST llvm-project-rocm-7.2.0.tar.gz 249851021 BLAKE2B f17a1c753ed4325ed15f5a007e770d5004bf53493af98619830105f1a6b0edc52ada1f2eaa8d5cf912158d36dd9f1aaedd42846947ab6ce065ca72aa21873452 SHA512 cc68b61605e89291d8417e438e4134a6cb7c5112145fe0ac72e358ddbf300dc86bbed18a9bc143e86d5f4085b327e1c5f81e14b6d17001605d63c1171c29841e
diff --git a/dev-libs/rocm-comgr/files/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch b/dev-libs/rocm-comgr/files/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch
deleted file mode 100644
index a61d92794d51..000000000000
--- a/dev-libs/rocm-comgr/files/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 4c210fdf6943c0c40b5fe0f66800c7b9c7ca84d3 Mon Sep 17 00:00:00 2001
-From: Yiyang Wu <xgreenlandforwyy@gmail.com>
-Date: Tue, 14 Jun 2022 20:21:22 +0800
-Subject: [PATCH] Find CLANG_RESOURCE_DIR using clang -print-resource-dir
-
-Suggested-By: https://reviews.llvm.org/D49486
-Signed-off-by: Yiyang Wu <xgreenlandforwyy@gmail.com>
----
- lib/comgr/cmake/opencl_pch.cmake | 24 +++---------------------
- 1 file changed, 3 insertions(+), 21 deletions(-)
-
-diff --git a/lib/comgr/cmake/opencl_pch.cmake b/lib/comgr/cmake/opencl_pch.cmake
-index 95311fc..71050c8 100644
---- a/cmake/opencl_pch.cmake
-+++ b/cmake/opencl_pch.cmake
-@@ -1,26 +1,8 @@
- if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
- find_package(Clang REQUIRED CONFIG)
--
-- # FIXME: CLANG_CMAKE_DIR seems like the most stable way to find this, but
-- # really there is no way to reliably discover this header.
-- #
-- # We effectively back up to the Clang output directory (for the case of a build
-- # tree) or install prefix (for the case of an installed copy), and then search
-- # for a file named opencl-c.h anywhere below that. We take the first result in
-- # the case where there are multiple (e.g. if there is an installed copy nested
-- # in a build directory). This is a bit imprecise, but it covers cases like MSVC
-- # adding some additional configuration-specific subdirectories to the build
-- # tree but not to an installed copy.
-- file(GLOB_RECURSE OPENCL_C_H_LIST "${CLANG_CMAKE_DIR}/../../../*/opencl-c.h")
--
-- list(GET OPENCL_C_H_LIST 0 OPENCL_C_H)
--
-- if (NOT EXISTS "${OPENCL_C_H}" OR IS_DIRECTORY "${OPENCL_C_H}")
-- message(FATAL_ERROR "Unable to locate opencl-c.h from the supplied Clang. The path '${CLANG_CMAKE_DIR}/../../../*' was searched.")
-- endif()
--else()
-- get_target_property(clang_build_header_dir clang-resource-headers RUNTIME_OUTPUT_DIRECTORY)
-- set(OPENCL_C_H "${clang_build_header_dir}/opencl-c.h")
-+ execute_process(COMMAND "${CLANG_CMAKE_DIR}/../../../bin/clang" -print-resource-dir OUTPUT_VARIABLE CLANG_RESOURCE_DIR)
-+ string(STRIP ${CLANG_RESOURCE_DIR} CLANG_RESOURCE_DIR)
-+ set(OPENCL_C_H "${CLANG_RESOURCE_DIR}/include/opencl-c.h")
- endif()
-
- # Macro to create and install a custom target for generating PCH for given
---
-2.39.0
-
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-rocm-path.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-rocm-path.patch
deleted file mode 100644
index c6d39715e864..000000000000
--- a/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-rocm-path.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Add --rocm-path=/usr argument in runtime because our rocm path is not in default seach list.
---- comgr/src/comgr-compiler.cpp
-+++ comgr.orig/src/comgr-compiler.cpp
-@@ -1096,6 +1096,10 @@
- }
- }
- }
-+ else {
-+ llvm::SmallString<128> RealRocmDir = env::getLLVMPath();
-+ Args.push_back(Saver.save(Twine("--rocm-path=") + RealRocmDir).data());
-+ }
-
- return processFiles(AMD_COMGR_DATA_KIND_BC, ".bc");
- }
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.0.0-extend-isa-compatibility-check.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.0.0-extend-isa-compatibility-check.patch
deleted file mode 100644
index e65400c792e4..000000000000
--- a/dev-libs/rocm-comgr/files/rocm-comgr-6.0.0-extend-isa-compatibility-check.patch
+++ /dev/null
@@ -1,204 +0,0 @@
-Load kernels when compatible by ISA, e. g. if AMDGPU_TARGETS is set
-to gfx1030 and some application was started on gfx1036, it loads gfx1030 kernel.
-
-Based on Debian patch by Cordell Bloor <cgmb@slerp.xyz>
-https://salsa.debian.org/rocm-team/rocm-hipamd/-/blob/master/debian/patches/0026-extend-hip-isa-compatibility-check.patch
---- comgr.orig/src/comgr-metadata.cpp
-+++ comgr/src/comgr-metadata.cpp
-@@ -923,23 +923,86 @@ static constexpr const char *CLANG_OFFLOAD_BUNDLER_MAGIC =
- static constexpr size_t OffloadBundleMagicLen =
- strLiteralLength(CLANG_OFFLOAD_BUNDLER_MAGIC);
-
--bool isCompatibleIsaName(StringRef IsaName, StringRef CodeObjectIsaName) {
-+struct GfxPattern {
-+ std::string root;
-+ std::string suffixes;
-+};
-+
-+static bool matches(const GfxPattern& p, StringRef s) {
-+ if (p.root.size() + 1 != s.size()) {
-+ return false;
-+ }
-+ if (0 != std::memcmp(p.root.data(), s.data(), p.root.size())) {
-+ return false;
-+ }
-+ return p.suffixes.find(s[p.root.size()]) != std::string::npos;
-+}
-+
-+static bool isGfx900EquivalentProcessor(StringRef processor) {
-+ return matches(GfxPattern{"gfx90", "029c"}, processor);
-+}
-+
-+static bool isGfx900SupersetProcessor(StringRef processor) {
-+ return matches(GfxPattern{"gfx90", "0269c"}, processor);
-+}
-+
-+static bool isGfx1030EquivalentProcessor(StringRef processor) {
-+ return matches(GfxPattern{"gfx103", "0123456"}, processor);
-+}
-+
-+static bool isGfx1010EquivalentProcessor(StringRef processor) {
-+ return matches(GfxPattern{"gfx101", "0"}, processor);
-+}
-+
-+static bool isGfx1010SupersetProcessor(StringRef processor) {
-+ return matches(GfxPattern{"gfx101", "0123"}, processor);
-+}
-+
-+enum CompatibilityScore {
-+ CS_EXACT_MATCH = 1 << 4,
-+ CS_PROCESSOR_MATCH = 1 << 3,
-+ CS_PROCESSOR_COMPATIBLE = 1 << 2,
-+ CS_XNACK_SPECIALIZED = 1 << 1,
-+ CS_SRAM_ECC_SPECIALIZED = 1 << 0,
-+ CS_INCOMPATIBLE = 0,
-+};
-+
-+static int getProcessorCompatibilityScore(StringRef CodeObjectProcessor,
-+ StringRef AgentProcessor) {
-+ if (CodeObjectProcessor == AgentProcessor) {
-+ return CS_PROCESSOR_MATCH;
-+ }
-+
-+ bool compatible = false;
-+ if (isGfx900SupersetProcessor(AgentProcessor)) {
-+ compatible = isGfx900EquivalentProcessor(CodeObjectProcessor);
-+ } else if (isGfx1010SupersetProcessor(AgentProcessor)) {
-+ compatible = isGfx1010EquivalentProcessor(CodeObjectProcessor);
-+ } else if (isGfx1030EquivalentProcessor(AgentProcessor)) {
-+ compatible = isGfx1030EquivalentProcessor(CodeObjectProcessor);
-+ }
-+
-+ return compatible ? CS_PROCESSOR_COMPATIBLE : CS_INCOMPATIBLE;
-+}
-+
-+static int getCompatiblityScore(StringRef IsaName, StringRef CodeObjectIsaName) {
- if (IsaName == CodeObjectIsaName) {
-- return true;
-+ return CS_EXACT_MATCH;
- }
-
- TargetIdentifier CodeObjectIdent;
- if (parseTargetIdentifier(CodeObjectIsaName, CodeObjectIdent)) {
-- return false;
-+ return CS_INCOMPATIBLE;
- }
-
- TargetIdentifier IsaIdent;
- if (parseTargetIdentifier(IsaName, IsaIdent)) {
-- return false;
-+ return CS_INCOMPATIBLE;
- }
-
-- if (CodeObjectIdent.Processor != IsaIdent.Processor) {
-- return false;
-+ int ProcessorScore = getProcessorCompatibilityScore(CodeObjectIdent.Processor, IsaIdent.Processor);
-+ if (ProcessorScore == CS_INCOMPATIBLE) {
-+ return CS_INCOMPATIBLE;
- }
-
- char CodeObjectXnack = ' ', CodeObjectSramecc = ' ';
-@@ -963,18 +1026,23 @@ bool isCompatibleIsaName(StringRef IsaName, StringRef CodeObjectIsaName) {
- }
- }
-
-+ int XnackBonus = 0;
- if (CodeObjectXnack != ' ') {
- if (CodeObjectXnack != IsaXnack) {
-- return false;
-+ return CS_INCOMPATIBLE;
- }
-+ XnackBonus = CS_XNACK_SPECIALIZED;
- }
-
-+ int SrameccBonus = 0;
- if (CodeObjectSramecc != ' ') {
- if (CodeObjectSramecc != IsaSramecc) {
-- return false;
-+ return CS_INCOMPATIBLE;
- }
-+ SrameccBonus = CS_SRAM_ECC_SPECIALIZED;
- }
-- return true;
-+
-+ return ProcessorScore + XnackBonus + SrameccBonus;
- }
-
- amd_comgr_status_t
-@@ -992,14 +1060,21 @@ lookUpCodeObjectInSharedObject(DataObject *DataP,
- return Status;
- }
-
-+ int MaxScore = 0;
-+ unsigned MaxScoreItem;
- for (unsigned J = 0; J < QueryListSize; J++) {
-- if (isCompatibleIsaName(QueryList[J].isa, IsaName)) {
-- QueryList[J].offset = 0;
-- QueryList[J].size = DataP->Size;
-- break;
-+ int Score = getCompatiblityScore(QueryList[J].isa, IsaName);
-+ if (Score > MaxScore) {
-+ MaxScore = Score;
-+ MaxScoreItem = J;
- }
- }
-
-+ if (MaxScore) {
-+ QueryList[MaxScoreItem].offset = 0;
-+ QueryList[MaxScoreItem].size = DataP->Size;
-+ }
-+
- return AMD_COMGR_STATUS_SUCCESS;
- }
-
-@@ -1011,7 +1086,6 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP,
- return lookUpCodeObjectInSharedObject(DataP, QueryList, QueryListSize);
- }
-
-- int Seen = 0;
- BinaryStreamReader Reader(StringRef(DataP->Data, DataP->Size),
- support::little);
-
-@@ -1037,6 +1111,8 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP,
- QueryList[I].size = 0;
- }
-
-+ std::vector<int> QueryListScores(QueryListSize);
-+
- // For each code object, extract BundleEntryID information, and check that
- // against each ISA in the QueryList
- for (uint64_t I = 0; I < NumOfCodeObjects; I++) {
-@@ -1069,28 +1145,22 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP,
- }
-
- for (unsigned J = 0; J < QueryListSize; J++) {
-- // If this QueryList item has already been found to be compatible with
-+ // If this QueryList item has exact match with
- // another BundleEntryID, no need to check against the current
- // BundleEntryID
-- if (QueryList[J].size != 0) {
-+ if (QueryListScores[J] == CS_EXACT_MATCH) {
- continue;
- }
-
- // If the QueryList Isa is compatible with the BundleEntryID, set the
- // QueryList offset/size to this BundleEntryID
-- if (isCompatibleIsaName(QueryList[J].isa, OffloadAndTargetId.second)) {
-+ int Score = getCompatiblityScore(QueryList[J].isa, OffloadAndTargetId.second);
-+ if (Score > QueryListScores[J]) {
-+ QueryListScores[J] = Score;
- QueryList[J].offset = BundleEntryCodeObjectOffset;
- QueryList[J].size = BundleEntryCodeObjectSize;
-- Seen++;
-- break;
- }
- }
--
-- // Stop iterating over BundleEntryIDs once we have populated the entire
-- // QueryList
-- if (Seen == (int) QueryListSize) {
-- break;
-- }
- }
-
- return AMD_COMGR_STATUS_SUCCESS;
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-dont-add-nogpulib.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-dont-add-nogpulib.patch
deleted file mode 100644
index 526318f5bbd9..000000000000
--- a/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-dont-add-nogpulib.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 179ec2e67bf882c6bccb27f81db3d80f7eb9946e Mon Sep 17 00:00:00 2001
-From: Jacob Lambert <jacob.lambert@amd.com>
-Date: Fri, 12 Apr 2024 13:56:42 -0700
-Subject: [PATCH] [Comgr] Don't add -nogpulib option for assembley action
-
-We can omit setting -nogpulib even without a -rocm-path=. option
-when calling the assembly action. This avoids the following warning:
-
-warning: argument unused during compilation: '-nogpulib'
-Change-Id: I66d512befbafd9382f050c45a0d3950985e8ae38
----
- amd/comgr/src/comgr-compiler.cpp | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/comgr-compiler.cpp b/src/comgr-compiler.cpp
-index 143ab4e4f3db..21b233fa94b2 100644
---- a/src/comgr-compiler.cpp
-+++ b/src/comgr-compiler.cpp
-@@ -1758,6 +1758,9 @@ amd_comgr_status_t AMDGPUCompiler::assembleToRelocatable() {
- Args.push_back("-x");
- Args.push_back("assembler");
-
-+ // -nogpulib option not needed for assembling to relocatable
-+ NoGpuLib = false;
-+
- return processFiles(AMD_COMGR_DATA_KIND_RELOCATABLE, ".o");
- }
-
---
-2.44.0
-
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-bypass-device-libs-copy.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-bypass-device-libs-copy.patch
deleted file mode 100644
index 8c126d9a5108..000000000000
--- a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-bypass-device-libs-copy.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Use files from dev-libs/rocm-device-libs instead of their copy in /tmp.
---- a/src/comgr-compiler.cpp
-+++ b/src/comgr-compiler.cpp
-@@ -1070,24 +1070,7 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() {
- }
-
- amd_comgr_status_t AMDGPUCompiler::addDeviceLibraries() {
-- llvm::SmallString<128> FakeRocmDir = TmpDir;
-- path::append(FakeRocmDir, "rocm");
-- llvm::SmallString<128> DeviceLibsDir = FakeRocmDir;
-- path::append(DeviceLibsDir, "amdgcn", "bitcode");
-- if (fs::create_directory(InputDir)) {
-- return AMD_COMGR_STATUS_ERROR;
-- }
-- Args.push_back(Saver.save(Twine("--rocm-path=") + FakeRocmDir).data());
- NoGpuLib = false;
--
-- for (auto DeviceLib : getDeviceLibraries()) {
-- llvm::SmallString<128> DeviceLibPath = DeviceLibsDir;
-- path::append(DeviceLibPath, std::get<0>(DeviceLib));
-- if (auto Status = outputToFile(std::get<1>(DeviceLib), DeviceLibPath)) {
-- return Status;
-- }
-- }
--
- return AMD_COMGR_STATUS_SUCCESS;
- }
-
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-fix-comgr-default-flags.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-fix-comgr-default-flags.patch
deleted file mode 100644
index 2d4ed66481cc..000000000000
--- a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-fix-comgr-default-flags.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/src/comgr-compiler.cpp
-+++ b/src/comgr-compiler.cpp
-@@ -1031,9 +1031,8 @@ AMDGPUCompiler::addTargetIdentifierFlags(llvm::StringRef IdentStr,
- }
-
- amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() {
-- HIPIncludePath = (Twine(env::getHIPPath()) + "/include").str();
-- // HIP headers depend on hsa.h which is in ROCM_DIR/include.
-- ROCMIncludePath = (Twine(env::getROCMPath()) + "/include").str();
-+ // Allow to include <include/cuda_wrappers/algorithm> (used in some hip files)
-+ ClangIncludePath = @CLANG_RESOURCE_DIR@;
-
- // Default to O3 for all contexts
- Args.push_back("-O3");
-@@ -1059,9 +1058,7 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() {
- Args.push_back("-nogpuinc");
- Args.push_back("--offload-device-only");
- Args.push_back("-isystem");
-- Args.push_back(ROCMIncludePath.c_str());
-- Args.push_back("-isystem");
-- Args.push_back(HIPIncludePath.c_str());
-+ Args.push_back(ClangIncludePath.c_str());
- break;
- default:
- return AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT;
---- a/src/comgr-compiler.h
-+++ b/src/comgr-compiler.h
-@@ -95,12 +95,7 @@ class AMDGPUCompiler {
- /// User supplied target GPU Arch.
- std::string GPUArch;
- std::string OffloadArch;
-- /// ROCM include Path
-- std::string ROCMIncludePath;
-- /// HIP and Clang Include Paths
-- std::string HIPIncludePath;
- std::string ClangIncludePath;
-- std::string ClangIncludePath2;
- /// Perform out-of-process compilation.
- bool CompileOOP = false;
- /// Precompiled header file paths.
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-llvm-19-compat.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-llvm-19-compat.patch
deleted file mode 100644
index e910b8ade94c..000000000000
--- a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-llvm-19-compat.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-Combination of upstream patches to make comgr compatible with LLVM 19
-https://github.com/ROCm/llvm-project/commit/91c18ff3482abdf90239e9b482797403f6e7e9bc
-https://github.com/ROCm/llvm-project/commit/971fd662887f21877d29f936c2f818eac37589d3
-https://github.com/ROCm/llvm-project/commit/7a784d7acfd7dadfa8516054adfbe7c884e70786
-https://github.com/ROCm/llvm-project/commit/1fb58bcb4868087ed314e2f5e7363d871d69f4da
---- a/src/comgr-compiler.cpp
-+++ b/src/comgr-compiler.cpp
-@@ -384,15 +384,14 @@ static bool executeAssemblerImpl(AssemblerInvocation &Opts,
- assert(MRI && "Unable to create target register info!");
-
- llvm::MCTargetOptions MCOptions;
-+ MCOptions.X86RelaxRelocations = Opts.RelaxELFRelocations;
-+ MCOptions.CompressDebugSections = Opts.CompressDebugSections;
- std::unique_ptr<MCAsmInfo> MAI(
- TheTarget->createMCAsmInfo(*MRI, Opts.Triple, MCOptions));
- assert(MAI && "Unable to create target asm info!");
-
- // Ensure MCAsmInfo initialization occurs before any use, otherwise sections
- // may be created with a combination of default and explicit settings.
-- MAI->setCompressDebugSections(Opts.CompressDebugSections);
--
-- MAI->setRelaxELFRelocations(Opts.RelaxELFRelocations);
-
- bool IsBinary = Opts.OutputType == AssemblerInvocation::FT_Obj;
- std::unique_ptr<raw_fd_ostream> FDOS = getOutputStream(Opts, Diags, IsBinary);
-@@ -428,9 +427,6 @@ static bool executeAssemblerImpl(AssemblerInvocation &Opts,
- }
-
- MOFI->initMCObjectFileInfo(Ctx, PIC);
-- if (Opts.SaveTemporaryLabels) {
-- Ctx.setAllowTemporaryLabels(false);
-- }
- if (Opts.GenDwarfForAssembly) {
- Ctx.setGenDwarfForAssembly(true);
- }
---- a/src/comgr-symbol.cpp
-+++ b/src/comgr-symbol.cpp
-@@ -146,7 +146,7 @@ SymbolContext *SymbolHelper::createBinary(StringRef Ins, const char *Name,
- return NULL;
- }
- StringRef SymName = *SymNameOrErr;
-- if (SymName.equals(Sname)) {
-+ if (SymName == Sname) {
- #if DEBUG
- outs() << "Found! " << sname.data() << "\n";
- #endif
---- a/src/comgr.cpp
-+++ b/src/comgr.cpp
-@@ -51,6 +51,7 @@
- #include "llvm/Object/ObjectFile.h"
- #include "llvm/Support/TargetSelect.h"
- #include "llvm/IR/Constants.h"
-+#include "llvm/IR/Module.h"
- #include <fstream>
- #include <mutex>
- #include <string>
-@@ -2126,7 +2127,7 @@ amd_comgr_populate_name_expression_map(amd_comgr_data_t Data,
- }
- StringRef SecName = std::move(SecNameOrError.get());
-
-- if (SecName.equals(StringRef(".rodata")))
-+ if (SecName == StringRef(".rodata"))
- rodataShdr = Shdr;
- }
- }
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.2-rocm_path.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.2-rocm_path.patch
deleted file mode 100644
index 14b1d12148f7..000000000000
--- a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.2-rocm_path.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: comgr/src/comgr-env.cpp
-===================================================================
---- comgr.orig/src/comgr-env.cpp
-+++ comgr/src/comgr-env.cpp
-@@ -269,6 +269,9 @@ InstallationDetector *getDetectorImpl()
- if (EnvROCMPath) {
- ROCmInstallPath = EnvROCMPath;
- }
-+ else {
-+ ROCmInstallPath = "@GENTOO_PORTAGE_EPREFIX@/usr";
-+ }
-
- InstallationDetector *Detector;
- if (ROCmInstallPath == "") {
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-bypass-device-libs-copy.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-bypass-device-libs-copy.patch
deleted file mode 100644
index 09b4160ba6d7..000000000000
--- a/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-bypass-device-libs-copy.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-comgr does unnecessary heavy-lifting trying to fill `--rocm-path=` with something.
-However default value is already good, and custom code searches clang in a wrong directory.
---- a/src/comgr-compiler.cpp
-+++ b/src/comgr-compiler.cpp
-@@ -1060,39 +1060,6 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() {
- amd_comgr_status_t AMDGPUCompiler::addDeviceLibraries() {
-
- NoGpuLib = false;
--
-- SmallString<256> ClangBinaryPath(env::getLLVMPath());
-- sys::path::append(ClangBinaryPath, "bin", "clang");
--
-- std::string ClangResourceDir = Driver::GetResourcesPath(ClangBinaryPath);
--
-- SmallString<256> DeviceLibPath(ClangResourceDir);
-- sys::path::append(DeviceLibPath, "lib");
--
-- SmallString<256> DeviceCodeDir(DeviceLibPath);
-- sys::path::append(DeviceCodeDir, "amdgcn", "bitcode");
--
-- if (llvm::sys::fs::exists(DeviceCodeDir)) {
-- Args.push_back(Saver.save(Twine("--rocm-path=") + DeviceLibPath).data());
-- } else {
-- llvm::SmallString<128> FakeRocmDir = TmpDir;
-- path::append(FakeRocmDir, "rocm");
-- llvm::SmallString<128> DeviceLibsDir = FakeRocmDir;
-- path::append(DeviceLibsDir, "amdgcn", "bitcode");
-- if (fs::create_directory(InputDir)) {
-- return AMD_COMGR_STATUS_ERROR;
-- }
-- Args.push_back(Saver.save(Twine("--rocm-path=") + FakeRocmDir).data());
--
-- for (auto DeviceLib : getDeviceLibraries()) {
-- llvm::SmallString<128> DeviceLibPath = DeviceLibsDir;
-- path::append(DeviceLibPath, std::get<0>(DeviceLib));
-- if (auto Status = outputToFile(std::get<1>(DeviceLib), DeviceLibPath)) {
-- return Status;
-- }
-- }
-- }
--
- return AMD_COMGR_STATUS_SUCCESS;
- }
-
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-extend-isa-compatibility-check.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-extend-isa-compatibility-check.patch
deleted file mode 100644
index eddc8b112c08..000000000000
--- a/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-extend-isa-compatibility-check.patch
+++ /dev/null
@@ -1,204 +0,0 @@
-Load kernels when compatible by ISA, e. g. if AMDGPU_TARGETS is set
-to gfx1030 and some application was started on gfx1036, it loads gfx1030 kernel.
-
-Based on Debian patch by Cordell Bloor <cgmb@slerp.xyz>
-https://salsa.debian.org/rocm-team/rocm-hipamd/-/blob/master/debian/patches/0026-extend-hip-isa-compatibility-check.patch
---- a/src/comgr-metadata.cpp
-+++ b/src/comgr-metadata.cpp
-@@ -927,23 +927,86 @@ constexpr size_t OffloadBundleMagicLen =
- strLiteralLength(ClangOffloadBundlerMagic);
- } // namespace
-
--bool isCompatibleIsaName(StringRef IsaName, StringRef CodeObjectIsaName) {
-+struct GfxPattern {
-+ std::string root;
-+ std::string suffixes;
-+};
-+
-+static bool matches(const GfxPattern& p, StringRef s) {
-+ if (p.root.size() + 1 != s.size()) {
-+ return false;
-+ }
-+ if (0 != std::memcmp(p.root.data(), s.data(), p.root.size())) {
-+ return false;
-+ }
-+ return p.suffixes.find(s[p.root.size()]) != std::string::npos;
-+}
-+
-+static bool isGfx900EquivalentProcessor(StringRef processor) {
-+ return matches(GfxPattern{"gfx90", "029c"}, processor);
-+}
-+
-+static bool isGfx900SupersetProcessor(StringRef processor) {
-+ return matches(GfxPattern{"gfx90", "0269c"}, processor);
-+}
-+
-+static bool isGfx1030EquivalentProcessor(StringRef processor) {
-+ return matches(GfxPattern{"gfx103", "0123456"}, processor);
-+}
-+
-+static bool isGfx1010EquivalentProcessor(StringRef processor) {
-+ return matches(GfxPattern{"gfx101", "0"}, processor);
-+}
-+
-+static bool isGfx1010SupersetProcessor(StringRef processor) {
-+ return matches(GfxPattern{"gfx101", "0123"}, processor);
-+}
-+
-+enum CompatibilityScore {
-+ CS_EXACT_MATCH = 1 << 4,
-+ CS_PROCESSOR_MATCH = 1 << 3,
-+ CS_PROCESSOR_COMPATIBLE = 1 << 2,
-+ CS_XNACK_SPECIALIZED = 1 << 1,
-+ CS_SRAM_ECC_SPECIALIZED = 1 << 0,
-+ CS_INCOMPATIBLE = 0,
-+};
-+
-+static int getProcessorCompatibilityScore(StringRef CodeObjectProcessor,
-+ StringRef AgentProcessor) {
-+ if (CodeObjectProcessor == AgentProcessor) {
-+ return CS_PROCESSOR_MATCH;
-+ }
-+
-+ bool compatible = false;
-+ if (isGfx900SupersetProcessor(AgentProcessor)) {
-+ compatible = isGfx900EquivalentProcessor(CodeObjectProcessor);
-+ } else if (isGfx1010SupersetProcessor(AgentProcessor)) {
-+ compatible = isGfx1010EquivalentProcessor(CodeObjectProcessor);
-+ } else if (isGfx1030EquivalentProcessor(AgentProcessor)) {
-+ compatible = isGfx1030EquivalentProcessor(CodeObjectProcessor);
-+ }
-+
-+ return compatible ? CS_PROCESSOR_COMPATIBLE : CS_INCOMPATIBLE;
-+}
-+
-+static int getCompatiblityScore(StringRef IsaName, StringRef CodeObjectIsaName) {
- if (IsaName == CodeObjectIsaName) {
-- return true;
-+ return CS_EXACT_MATCH;
- }
-
- TargetIdentifier CodeObjectIdent;
- if (parseTargetIdentifier(CodeObjectIsaName, CodeObjectIdent)) {
-- return false;
-+ return CS_INCOMPATIBLE;
- }
-
- TargetIdentifier IsaIdent;
- if (parseTargetIdentifier(IsaName, IsaIdent)) {
-- return false;
-+ return CS_INCOMPATIBLE;
- }
-
-- if (CodeObjectIdent.Processor != IsaIdent.Processor) {
-- return false;
-+ int ProcessorScore = getProcessorCompatibilityScore(CodeObjectIdent.Processor, IsaIdent.Processor);
-+ if (ProcessorScore == CS_INCOMPATIBLE) {
-+ return CS_INCOMPATIBLE;
- }
-
- char CodeObjectXnack = ' ', CodeObjectSramecc = ' ';
-@@ -967,18 +1030,23 @@ bool isCompatibleIsaName(StringRef IsaName, StringRef CodeObjectIsaName) {
- }
- }
-
-+ int XnackBonus = 0;
- if (CodeObjectXnack != ' ') {
- if (CodeObjectXnack != IsaXnack) {
-- return false;
-+ return CS_INCOMPATIBLE;
- }
-+ XnackBonus = CS_XNACK_SPECIALIZED;
- }
-
-+ int SrameccBonus = 0;
- if (CodeObjectSramecc != ' ') {
- if (CodeObjectSramecc != IsaSramecc) {
-- return false;
-+ return CS_INCOMPATIBLE;
- }
-+ SrameccBonus = CS_SRAM_ECC_SPECIALIZED;
- }
-- return true;
-+
-+ return ProcessorScore + XnackBonus + SrameccBonus;
- }
-
- amd_comgr_status_t
-@@ -996,14 +1064,21 @@ lookUpCodeObjectInSharedObject(DataObject *DataP,
- return Status;
- }
-
-+ int MaxScore = 0;
-+ unsigned MaxScoreItem;
- for (unsigned J = 0; J < QueryListSize; J++) {
-- if (isCompatibleIsaName(QueryList[J].isa, IsaName)) {
-- QueryList[J].offset = 0;
-- QueryList[J].size = DataP->Size;
-- break;
-+ int Score = getCompatiblityScore(QueryList[J].isa, IsaName);
-+ if (Score > MaxScore) {
-+ MaxScore = Score;
-+ MaxScoreItem = J;
- }
- }
-
-+ if (MaxScore) {
-+ QueryList[MaxScoreItem].offset = 0;
-+ QueryList[MaxScoreItem].size = DataP->Size;
-+ }
-+
- return AMD_COMGR_STATUS_SUCCESS;
- }
-
-@@ -1015,7 +1090,6 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP,
- return lookUpCodeObjectInSharedObject(DataP, QueryList, QueryListSize);
- }
-
-- int Seen = 0;
- BinaryStreamReader Reader(StringRef(DataP->Data, DataP->Size),
- llvm::endianness::little);
-
-@@ -1041,6 +1115,8 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP,
- QueryList[I].size = 0;
- }
-
-+ std::vector<int> QueryListScores(QueryListSize);
-+
- // For each code object, extract BundleEntryID information, and check that
- // against each ISA in the QueryList
- for (uint64_t I = 0; I < NumOfCodeObjects; I++) {
-@@ -1073,28 +1149,22 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP,
- }
-
- for (unsigned J = 0; J < QueryListSize; J++) {
-- // If this QueryList item has already been found to be compatible with
-+ // If this QueryList item has exact match with
- // another BundleEntryID, no need to check against the current
- // BundleEntryID
-- if (QueryList[J].size != 0) {
-+ if (QueryListScores[J] == CS_EXACT_MATCH) {
- continue;
- }
-
- // If the QueryList Isa is compatible with the BundleEntryID, set the
- // QueryList offset/size to this BundleEntryID
-- if (isCompatibleIsaName(QueryList[J].isa, OffloadAndTargetId.second)) {
-+ int Score = getCompatiblityScore(QueryList[J].isa, OffloadAndTargetId.second);
-+ if (Score > QueryListScores[J]) {
-+ QueryListScores[J] = Score;
- QueryList[J].offset = BundleEntryCodeObjectOffset;
- QueryList[J].size = BundleEntryCodeObjectSize;
-- Seen++;
-- break;
- }
- }
--
-- // Stop iterating over BundleEntryIDs once we have populated the entire
-- // QueryList
-- if (Seen == (int)QueryListSize) {
-- break;
-- }
- }
-
- return AMD_COMGR_STATUS_SUCCESS;
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-fix-comgr-default-flags.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-fix-comgr-default-flags.patch
deleted file mode 100644
index 4bfd6ab6cec5..000000000000
--- a/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-fix-comgr-default-flags.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Remove HIP/ROCM includes ("-isystem /usr/include"), as they break inclusion of <math.h>.
-Add inclusion of Clang resource dir (e.g. /usr/lib/clang/20), as it is used in hip runtime like that.
---- a/src/comgr-compiler.cpp
-+++ b/src/comgr-compiler.cpp
-@@ -1015,9 +1015,8 @@ AMDGPUCompiler::addTargetIdentifierFlags(llvm::StringRef IdentStr,
- }
-
- amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() {
-- HIPIncludePath = (Twine(env::getHIPPath()) + "/include").str();
-- // HIP headers depend on hsa.h which is in ROCM_DIR/include.
-- ROCMIncludePath = (Twine(env::getROCMPath()) + "/include").str();
-+ // Allow to include <include/cuda_wrappers/algorithm> (used in some hip files)
-+ ClangIncludePath = @CLANG_RESOURCE_DIR@;
-
- // Default to O3 for all contexts
- Args.push_back("-O3");
-@@ -1043,9 +1042,7 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() {
- Args.push_back("-nogpuinc");
- Args.push_back("--offload-device-only");
- Args.push_back("-isystem");
-- Args.push_back(ROCMIncludePath.c_str());
-- Args.push_back("-isystem");
-- Args.push_back(HIPIncludePath.c_str());
-+ Args.push_back(ClangIncludePath.c_str());
- // Pass a cuid that depends on the input files
- // Otherwise, a random (which depends on the /tmp/comgr-xxxxx path) cuid is
- // generated which causes a cache miss on every run.
---- a/src/comgr-compiler.h
-+++ b/src/comgr-compiler.h
-@@ -52,12 +52,7 @@ class AMDGPUCompiler {
- DataAction *ActionInfo;
- DataSet *InSet;
- amd_comgr_data_set_t OutSetT;
-- /// ROCM include Path
-- std::string ROCMIncludePath;
-- /// HIP and Clang Include Paths
-- std::string HIPIncludePath;
- std::string ClangIncludePath;
-- std::string ClangIncludePath2;
- /// Precompiled header file paths.
- llvm::SmallVector<llvm::SmallString<128>, 2> PrecompiledHeaders;
- /// Arguments common to all driver invocations in the current action.
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-llvm-20-compat.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-llvm-20-compat.patch
deleted file mode 100644
index 412332920c10..000000000000
--- a/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-llvm-20-compat.patch
+++ /dev/null
@@ -1,71 +0,0 @@
---- a/src/comgr-cache-bundler-command.cpp
-+++ b/src/comgr-cache-bundler-command.cpp
-@@ -155,7 +155,8 @@ void UnbundleCommand::addOptionsIdentifier(HashAlgorithm &H) const {
- Error UnbundleCommand::addInputIdentifier(HashAlgorithm &H) const {
- StringRef InputFilename = Config.InputFileNames.front();
-
-- constexpr size_t LargestHeaderSize = CompressedOffloadBundle::V2HeaderSize;
-+ constexpr size_t LargestHeaderSize = 4 + sizeof(uint16_t) + sizeof(uint32_t) + sizeof(uint16_t) +
-+ sizeof(uint32_t) + sizeof(uint64_t);
-
- ErrorOr<std::unique_ptr<MemoryBuffer>> MaybeInputBuffer =
- MemoryBuffer::getFileSlice(InputFilename, LargestHeaderSize, 0);
---- a/src/comgr-cache.cpp
-+++ b/src/comgr-cache.cpp
-@@ -130,7 +130,6 @@ void saveCommandOutput(CachedCommandAdaptor &C, AddStreamFn &AddStream,
-
- CachedFileStream *CFS = FileOrErr->get();
- serializeCacheEntry(*CFS->OS, *Buffer, CapturedLogS);
-- ErrorHandler(CFS->commit(), "when commiting file stream");
- }
-
- bool readEntryFromCache(CachedCommandAdaptor &C, MemoryBuffer &CachedBuffer,
---- a/src/comgr-compiler.cpp
-+++ b/src/comgr-compiler.cpp
-@@ -680,7 +680,7 @@ amd_comgr_status_t executeCommand(const Command &Job, raw_ostream &LogS,
- // Internally this call refers to the invocation created above, so at
- // this point the DiagnosticsEngine should accurately reflect all user
- // requested configuration from Argv.
-- Clang->createDiagnostics(&DiagClient, /* ShouldOwnClient */ false);
-+ Clang->createDiagnostics(*llvm::vfs::getRealFileSystem(), &DiagClient, /* ShouldOwnClient */ false);
- if (!Clang->hasDiagnostics()) {
- return AMD_COMGR_STATUS_ERROR;
- }
-@@ -753,7 +753,7 @@ AMDGPUCompiler::executeInProcessDriver(ArrayRef<const char *> Args) {
- IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs);
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagClient);
-
-- ProcessWarningOptions(Diags, *DiagOpts, /*ReportDiags=*/false);
-+ ProcessWarningOptions(Diags, *DiagOpts, *llvm::vfs::getRealFileSystem(), /*ReportDiags=*/false);
-
- Driver TheDriver((Twine(env::getLLVMPath()) + "/bin/clang").str(),
- llvm::sys::getDefaultTargetTriple(), Diags);
---- a/test/compile_log_test.c
-+++ b/test/compile_log_test.c
-@@ -230,7 +230,7 @@ int main(int argc, char *argv[]) {
-
- Status = amd_comgr_do_action(AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_EXECUTABLE,
- DataAction, DataSetReloc, DataSetOut);
-- checkLogs("LINK_RELOCATABLE_TO_EXECUTABLE", DataSetOut, "unexpected EOF");
-+ checkLogs("LINK_RELOCATABLE_TO_EXECUTABLE", DataSetOut, "unknown directive");
-
- Status =
- amd_comgr_action_data_count(DataSetOut, AMD_COMGR_DATA_KIND_LOG, &Count);
---- a/test/unbundle_hip_test.c
-+++ b/test/unbundle_hip_test.c
-@@ -182,10 +182,11 @@ int main(int Argc, char *Argv[]) {
- Status = amd_comgr_release_data(DataElement);
- checkError(Status, "amd_comgr_release_data");
-
-- if (!BytesSize) {
-- printf("Bitcode host empty (expected non-empty)\n");
-- exit(1);
-- }
-+ // TODO: Re-enable after finalizing LLVM PR #122629
-+ // if (BytesSize != 0) {
-+ // printf("Bitcode host element size: %ld (expected 0)\n", BytesSize);
-+ // exit(1);
-+ // }
-
- // bitcode hip-gfx900 element (non-empty)
- Status = amd_comgr_action_data_get_data(
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-7.0.1-llvm-20-compat.patch b/dev-libs/rocm-comgr/files/rocm-comgr-7.0.1-llvm-20-compat.patch
deleted file mode 100644
index 2acd29e54f2d..000000000000
--- a/dev-libs/rocm-comgr/files/rocm-comgr-7.0.1-llvm-20-compat.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/src/comgr-cache.cpp
-+++ b/src/comgr-cache.cpp
-@@ -130,7 +130,6 @@ void saveCommandOutput(CachedCommandAdaptor &C, AddStreamFn &AddStream,
-
- CachedFileStream *CFS = FileOrErr->get();
- serializeCacheEntry(*CFS->OS, *Buffer, CapturedLogS);
-- ErrorHandler(CFS->commit(), "when commiting file stream");
- }
-
- bool readEntryFromCache(CachedCommandAdaptor &C, MemoryBuffer &CachedBuffer,
---- a/src/comgr-cache-bundler-command.cpp
-+++ b/src/comgr-cache-bundler-command.cpp
-@@ -155,7 +155,8 @@ void UnbundleCommand::addOptionsIdentifier(HashAlgorithm &H) const {
- Error UnbundleCommand::addInputIdentifier(HashAlgorithm &H) const {
- StringRef InputFilename = Config.InputFileNames.front();
-
-- constexpr size_t LargestHeaderSize = CompressedOffloadBundle::V3HeaderSize;
-+ constexpr size_t LargestHeaderSize = 4 + sizeof(uint16_t) + sizeof(uint32_t) + sizeof(uint16_t) +
-+ sizeof(uint32_t) + sizeof(uint64_t);
-
- ErrorOr<std::unique_ptr<MemoryBuffer>> MaybeInputBuffer =
- MemoryBuffer::getFileSlice(InputFilename, LargestHeaderSize, 0);
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-7.2.0-llvm-22-compat.patch b/dev-libs/rocm-comgr/files/rocm-comgr-7.2.0-llvm-22-compat.patch
deleted file mode 100644
index f378f81639e5..000000000000
--- a/dev-libs/rocm-comgr/files/rocm-comgr-7.2.0-llvm-22-compat.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-LLVM-22 compatibility fixes.
-Partially backports https://github.com/ROCm/llvm-project/commit/0216fcfc5d2a4f3384873f6e9ac70198760d5a52
---- a/src/comgr-compiler.cpp
-+++ b/src/comgr-compiler.cpp
-@@ -659,7 +659,7 @@ amd_comgr_status_t executeCommand(const Command &Job, raw_ostream &LogS,
-
- std::unique_ptr<CompilerInstance> Clang(new CompilerInstance());
- Clang->setVerboseOutputStream(LogS);
-- Clang->setFileManager(new FileManager(Clang->getFileSystemOpts(), &FS));
-+ Clang->setVirtualFileSystem(&FS);
- if (!Argv.back()) {
- Argv.pop_back();
- }
-@@ -909,8 +909,7 @@ amd_comgr_status_t AMDGPUCompiler::processFile(DataObject *Input,
- }
-
- // By default clang driver will ask CC1 to leak memory.
-- Argv.push_back("-Xclang");
-- Argv.push_back("-no-disable-free");
-+ Argv.push_back("-disable-free=false");
-
- Argv.push_back(InputFilePath);
-
diff --git a/dev-libs/rocm-comgr/metadata.xml b/dev-libs/rocm-comgr/metadata.xml
deleted file mode 100644
index a5cc0c467974..000000000000
--- a/dev-libs/rocm-comgr/metadata.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>lockalsash@gmail.com</email>
- <name>Sv. Lockal</name>
- <description>Primary maintainer</description>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>xgreenlandforwyy@gmail.com</email>
- <name>Yiyang Wu</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>negril.nx+gentoo@gmail.com</email>
- <name>Paul Zander</name>
- <description>General GPGPU stuff</description>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <upstream>
- <remote-id type="github">ROCm/ROCm-CompilerSupport</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/rocm-comgr/rocm-comgr-6.3.3.ebuild b/dev-libs/rocm-comgr/rocm-comgr-6.3.3.ebuild
deleted file mode 100644
index 86ddc9879074..000000000000
--- a/dev-libs/rocm-comgr/rocm-comgr-6.3.3.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( 19 )
-
-inherit cmake llvm-r1 prefix
-
-MY_P=llvm-project-rocm-${PV}
-components=( "amd/comgr" )
-
-DESCRIPTION="Radeon Open Compute Code Object Manager"
-HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr"
-SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}/${components[0]}"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64"
-
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
- "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
- "${FILESDIR}/${PN}-6.0.0-extend-isa-compatibility-check.patch"
- "${FILESDIR}/${PN}-6.3.0-fix-comgr-default-flags.patch"
- "${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch"
- "${FILESDIR}/${PN}-6.3.0-llvm-19-compat.patch"
- "${FILESDIR}/${PN}-6.3.0-bypass-device-libs-copy.patch"
-)
-
-RDEPEND="
- dev-libs/rocm-device-libs:${SLOT}
- llvm-runtimes/clang-runtime:=
- $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}=
- llvm-core/lld:${LLVM_SLOT}=
- ')
- dev-util/hipcc:${SLOT}
-"
-DEPEND="${RDEPEND}"
-
-CMAKE_BUILD_TYPE=Release
-
-src_unpack() {
- if [[ ${PV} == *9999 ]] ; then
- git-r3_fetch
- git-r3_checkout '' . '' "${components[@]}"
- else
- archive="${MY_P}.tar.gz"
- ebegin "Unpacking from ${archive}"
- tar -x -z -o \
- -f "${DISTDIR}/${archive}" \
- "${components[@]/#/${MY_P}/}" || die
- eend ${?}
- fi
-}
-
-src_prepare() {
- sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
- sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix)\")," -i src/comgr-env.cpp || die
- eapply $(prefixify_ro "${FILESDIR}"/${PN}-6.3.2-rocm_path.patch)
-
- cmake_src_prepare
-
- # Replace @CLANG_RESOURCE_DIR@ in patches
- local CLANG_RESOURCE_DIR="$("$(get_llvm_prefix)"/bin/clang -print-resource-dir)"
- sed "s,@CLANG_RESOURCE_DIR@,\"${CLANG_RESOURCE_DIR}\"," -i src/comgr-compiler.cpp || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DLLVM_DIR="$(get_llvm_prefix)"
- -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
- -DBUILD_TESTING=$(usex test ON OFF)
- )
- # Prevent CMake from finding systemwide hip, which breaks tests
- use test && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_hip=ON )
- cmake_src_configure
-}
-
-src_test() {
- local CMAKE_SKIP_TESTS=(
- comgr_nested_kernel_test # See https://github.com/ROCm/llvm-project/issues/35
- )
- cmake_src_test
-}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-6.4.3.ebuild b/dev-libs/rocm-comgr/rocm-comgr-6.4.3.ebuild
deleted file mode 100644
index e6da9e2c4f50..000000000000
--- a/dev-libs/rocm-comgr/rocm-comgr-6.4.3.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( 20 )
-
-inherit cmake llvm-r1 prefix
-
-MY_P=llvm-project-rocm-${PV}
-components=( "amd/comgr" )
-
-DESCRIPTION="Radeon Open Compute Code Object Manager"
-HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr"
-SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}/${components[0]}"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64"
-
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
- "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
- "${FILESDIR}/${PN}-6.4.1-extend-isa-compatibility-check.patch"
- "${FILESDIR}/${PN}-6.4.1-fix-comgr-default-flags.patch"
- "${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch"
- "${FILESDIR}/${PN}-6.4.1-bypass-device-libs-copy.patch"
- "${FILESDIR}/${PN}-6.4.1-llvm-20-compat.patch"
-)
-
-RDEPEND="
- dev-libs/rocm-device-libs:${SLOT}
- llvm-runtimes/clang-runtime:=
- $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}=
- llvm-core/lld:${LLVM_SLOT}=
- ')
- dev-util/hipcc:${SLOT}
-"
-DEPEND="${RDEPEND}"
-
-# Circular dependency: to build tests, hip compiler must be functional
-BDEPEND="test? ( dev-util/hip:${SLOT} )"
-
-CMAKE_BUILD_TYPE=Release
-
-src_unpack() {
- if [[ ${PV} == *9999 ]] ; then
- git-r3_fetch
- git-r3_checkout '' . '' "${components[@]}"
- else
- archive="${MY_P}.tar.gz"
- ebegin "Unpacking from ${archive}"
- tar -x -z -o \
- -f "${DISTDIR}/${archive}" \
- "${components[@]/#/${MY_P}/}" || die
- eend ${?}
- fi
-}
-
-src_prepare() {
- sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
- sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix)\")," -i src/comgr-env.cpp || die
- eapply $(prefixify_ro "${FILESDIR}"/${PN}-6.3.2-rocm_path.patch)
-
- cmake_src_prepare
-
- # Replace @CLANG_RESOURCE_DIR@ in patches
- local CLANG_RESOURCE_DIR="$("$(get_llvm_prefix)"/bin/clang -print-resource-dir)"
- sed "s,@CLANG_RESOURCE_DIR@,\"${CLANG_RESOURCE_DIR}\"," -i src/comgr-compiler.cpp || die
-}
-
-src_configure() {
- llvm_prepend_path "${LLVM_SLOT}"
-
- local mycmakeargs=(
- -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
- -DBUILD_TESTING=$(usex test ON OFF)
- -DCOMGR_DISABLE_SPIRV=ON # requires ROCm/SPIRV-LLVM-Translator (fork of dev-util/spirv-llvm-translator)
- )
- # Prevent CMake from finding systemwide hip, which breaks tests
- use test && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_hip=ON )
- cmake_src_configure
-}
-
-src_test() {
- local CMAKE_SKIP_TESTS=(
- comgr_nested_kernel_test # See https://github.com/ROCm/llvm-project/issues/35
- )
- cmake_src_test
-}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-7.0.2.ebuild b/dev-libs/rocm-comgr/rocm-comgr-7.0.2.ebuild
deleted file mode 100644
index e428cc3018dc..000000000000
--- a/dev-libs/rocm-comgr/rocm-comgr-7.0.2.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( 20 )
-
-inherit cmake llvm-r1
-
-MY_P=llvm-project-rocm-${PV}
-components=( "amd/comgr" )
-
-DESCRIPTION="Radeon Open Compute Code Object Manager"
-HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr"
-SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}/${components[0]}"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64"
-
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
- "${FILESDIR}/${PN}-6.4.1-extend-isa-compatibility-check.patch"
- "${FILESDIR}/${PN}-6.4.1-fix-comgr-default-flags.patch"
- "${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch"
- "${FILESDIR}/${PN}-7.0.1-llvm-20-compat.patch"
-)
-
-RDEPEND="
- dev-libs/rocm-device-libs:${SLOT}
- llvm-runtimes/clang-runtime:=
- $(llvm_gen_dep "
- llvm-core/clang:\${LLVM_SLOT}=
- llvm-core/lld:\${LLVM_SLOT}=
- ")
- dev-util/hipcc:${SLOT}
-"
-DEPEND="${RDEPEND}"
-
-# Circular dependency: to build tests, hip compiler must be functional
-BDEPEND="test? ( dev-util/hip:${SLOT} )"
-
-CMAKE_BUILD_TYPE=Release
-
-src_unpack() {
- if [[ ${PV} == *9999 ]] ; then
- git-r3_fetch
- git-r3_checkout '' . '' "${components[@]}"
- else
- archive="${MY_P}.tar.gz"
- ebegin "Unpacking from ${archive}"
- tar -x -z -o \
- -f "${DISTDIR}/${archive}" \
- "${components[@]/#/${MY_P}/}" || die
- eend ${?}
- fi
-}
-
-src_prepare() {
- sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
- sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix)\")," -i src/comgr-env.cpp || die
-
- cmake_src_prepare
-
- # Replace @CLANG_RESOURCE_DIR@ in patches
- local CLANG_RESOURCE_DIR="$("$(get_llvm_prefix)"/bin/clang -print-resource-dir)"
- sed -e "s,@CLANG_RESOURCE_DIR@,\"${CLANG_RESOURCE_DIR}\"," \
- -e "s/\"lib\"/\"$(get_libdir)\"/" \
- -i src/comgr-compiler.cpp || die
-}
-
-src_configure() {
- llvm_prepend_path "${LLVM_SLOT}"
-
- local mycmakeargs=(
- -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
- -DBUILD_TESTING=$(usex test ON OFF)
- -DCOMGR_DISABLE_SPIRV=ON # requires ROCm/SPIRV-LLVM-Translator (fork of dev-util/spirv-llvm-translator)
- )
- # Prevent CMake from finding systemwide hip, which breaks tests
- use test && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_hip=ON )
- cmake_src_configure
-}
-
-src_test() {
- local CMAKE_SKIP_TESTS=(
- comgr_nested_kernel_test # See https://github.com/ROCm/llvm-project/issues/35
- )
- cmake_src_tesRt
-}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-7.1.0.ebuild b/dev-libs/rocm-comgr/rocm-comgr-7.1.0.ebuild
deleted file mode 100644
index e428cc3018dc..000000000000
--- a/dev-libs/rocm-comgr/rocm-comgr-7.1.0.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( 20 )
-
-inherit cmake llvm-r1
-
-MY_P=llvm-project-rocm-${PV}
-components=( "amd/comgr" )
-
-DESCRIPTION="Radeon Open Compute Code Object Manager"
-HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr"
-SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}/${components[0]}"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64"
-
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
- "${FILESDIR}/${PN}-6.4.1-extend-isa-compatibility-check.patch"
- "${FILESDIR}/${PN}-6.4.1-fix-comgr-default-flags.patch"
- "${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch"
- "${FILESDIR}/${PN}-7.0.1-llvm-20-compat.patch"
-)
-
-RDEPEND="
- dev-libs/rocm-device-libs:${SLOT}
- llvm-runtimes/clang-runtime:=
- $(llvm_gen_dep "
- llvm-core/clang:\${LLVM_SLOT}=
- llvm-core/lld:\${LLVM_SLOT}=
- ")
- dev-util/hipcc:${SLOT}
-"
-DEPEND="${RDEPEND}"
-
-# Circular dependency: to build tests, hip compiler must be functional
-BDEPEND="test? ( dev-util/hip:${SLOT} )"
-
-CMAKE_BUILD_TYPE=Release
-
-src_unpack() {
- if [[ ${PV} == *9999 ]] ; then
- git-r3_fetch
- git-r3_checkout '' . '' "${components[@]}"
- else
- archive="${MY_P}.tar.gz"
- ebegin "Unpacking from ${archive}"
- tar -x -z -o \
- -f "${DISTDIR}/${archive}" \
- "${components[@]/#/${MY_P}/}" || die
- eend ${?}
- fi
-}
-
-src_prepare() {
- sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
- sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix)\")," -i src/comgr-env.cpp || die
-
- cmake_src_prepare
-
- # Replace @CLANG_RESOURCE_DIR@ in patches
- local CLANG_RESOURCE_DIR="$("$(get_llvm_prefix)"/bin/clang -print-resource-dir)"
- sed -e "s,@CLANG_RESOURCE_DIR@,\"${CLANG_RESOURCE_DIR}\"," \
- -e "s/\"lib\"/\"$(get_libdir)\"/" \
- -i src/comgr-compiler.cpp || die
-}
-
-src_configure() {
- llvm_prepend_path "${LLVM_SLOT}"
-
- local mycmakeargs=(
- -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
- -DBUILD_TESTING=$(usex test ON OFF)
- -DCOMGR_DISABLE_SPIRV=ON # requires ROCm/SPIRV-LLVM-Translator (fork of dev-util/spirv-llvm-translator)
- )
- # Prevent CMake from finding systemwide hip, which breaks tests
- use test && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_hip=ON )
- cmake_src_configure
-}
-
-src_test() {
- local CMAKE_SKIP_TESTS=(
- comgr_nested_kernel_test # See https://github.com/ROCm/llvm-project/issues/35
- )
- cmake_src_tesRt
-}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-7.2.0.ebuild b/dev-libs/rocm-comgr/rocm-comgr-7.2.0.ebuild
deleted file mode 100644
index 4cff4ac7b26e..000000000000
--- a/dev-libs/rocm-comgr/rocm-comgr-7.2.0.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( 22 )
-
-inherit cmake llvm-r2
-
-MY_P=llvm-project-rocm-${PV}
-components=( "amd/comgr" )
-
-DESCRIPTION="Radeon Open Compute Code Object Manager"
-HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr"
-SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}/${components[0]}"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64"
-
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.4.1-extend-isa-compatibility-check.patch"
- "${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch"
- "${FILESDIR}/${PN}-7.2.0-llvm-22-compat.patch"
-)
-
-RDEPEND="
- dev-libs/rocm-device-libs:${SLOT}
- llvm-runtimes/clang-runtime:=
- $(llvm_gen_dep "
- llvm-core/clang:\${LLVM_SLOT}=
- llvm-core/lld:\${LLVM_SLOT}=
- llvm-core/llvm:\${LLVM_SLOT}=
- ")
- dev-util/hipcc:${SLOT}
-"
-DEPEND="${RDEPEND}"
-
-# Circular dependency: to build tests, hip compiler must be functional
-BDEPEND="test? ( dev-util/hip:${SLOT} )"
-
-CMAKE_BUILD_TYPE=Release
-
-src_unpack() {
- if [[ ${PV} == *9999 ]] ; then
- git-r3_fetch
- git-r3_checkout '' . '' "${components[@]}"
- else
- archive="${MY_P}.tar.gz"
- ebegin "Unpacking from ${archive}"
- tar -x -z -o \
- -f "${DISTDIR}/${archive}" \
- "${components[@]/#/${MY_P}/}" || die
- eend ${?}
- fi
-}
-
-src_prepare() {
- sed -e "s:\${CLANG_CMAKE_DIR}/../../../\*:${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/include:" \
- -i cmake/opencl_header.cmake || die
-
- # Backports for llvm-22 from amd-staging:
- # https://github.com/ROCm/llvm-project/commit/ebcaa3d9226921c8761a5291526291e54611e4a4
- # https://github.com/ROCm/llvm-project/commit/ccb14ba83fd6bdc01423f71944b4676f740b97cc
- sed -e "s:Driver/Options.h:Options/Options.h:" \
- -e "s/clang::driver::options/clang::options/" \
- -e "s/Driver::GetResourcesPath/GetResourcesPath/" \
- -i src/comgr-compiler.cpp || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- llvm_prepend_path "${LLVM_SLOT}"
-
- local mycmakeargs=(
- -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
- -DBUILD_TESTING=$(usex test ON OFF)
- -DCOMGR_DISABLE_SPIRV=ON # requires ROCm/SPIRV-LLVM-Translator (fork of dev-util/spirv-llvm-translator)
- )
- # Prevent CMake from finding systemwide hip, which breaks tests
- use test && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_hip=ON )
- cmake_src_configure
-}
-
-src_test() {
- cmake_src_test
-}