commit:     32aac875b800a161f22300eb4154124056d37e8f
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  4 13:52:45 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Mar  4 14:00:36 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32aac875

sys-devel/llvm-roc: Remove last-rited package

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 profiles/package.mask                              |   1 -
 sys-devel/llvm-roc/Manifest                        |   1 -
 ...llvm-roc-4.0.0-remove-isystem-usr-include.patch |  29 ---
 .../files/llvm-roc-4.2.0-current_pos.patch         |  28 ---
 .../files/llvm-roc-5.0.0-add_GNU-stack.patch       |  14 --
 .../files/llvm-roc-5.0.0-hip-location.patch        | 206 ---------------------
 .../llvm-roc/files/llvm-roc-5.0.0-linkdl.patch     |  11 --
 sys-devel/llvm-roc/llvm-roc-5.0.2.ebuild           |  97 ----------
 sys-devel/llvm-roc/metadata.xml                    |  14 --
 9 files changed, 401 deletions(-)

diff --git a/profiles/package.mask b/profiles/package.mask
index f6851af35e6b..bba04bfa7b53 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -301,7 +301,6 @@ dev-python/berkeleydb
 # Andreas Sturmlechner <[email protected]> (2023-02-01)
 # >=5.1 series uses vanilla llvm/clang instead of forked versions.
 # Removal on 2023-03-02
-sys-devel/llvm-roc
 dev-util/rocm-clang-ocl
 
 # Michał Górny <[email protected]> (2023-01-31)

diff --git a/sys-devel/llvm-roc/Manifest b/sys-devel/llvm-roc/Manifest
deleted file mode 100644
index b9b116396d77..000000000000
--- a/sys-devel/llvm-roc/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST llvm-rocm-ocl-5.0.2.tar.gz 150281451 BLAKE2B 
e4363266e05e13af761dd6f440dbfc30905f219e428fa3b2595800ba0c80c97cd7e2615d68acd9aea4fc66454ee8a3ff7a52a60d3aed4e93af5007050277e5fe
 SHA512 
9be9f1a0ad1a0089aa27858174ce37c7a02902b6dedc338382f42ed0567823cc4bb11b68c130470590c16d4d92ab2735a06c27d248237ffa2d394253328f6705

diff --git 
a/sys-devel/llvm-roc/files/llvm-roc-4.0.0-remove-isystem-usr-include.patch 
b/sys-devel/llvm-roc/files/llvm-roc-4.0.0-remove-isystem-usr-include.patch
deleted file mode 100644
index f14ec4ac0db2..000000000000
--- a/sys-devel/llvm-roc/files/llvm-roc-4.0.0-remove-isystem-usr-include.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Author: Wilfried (justxi) Holzke
-
-Adopted from 
https://github.com/justxi/rocm/blob/master/sys-devel/llvm-roc/files/llvm-roc-4.0.0-remove-isystem-usr-include.patch
-
-Index: llvm-project-rocm-4.0.0/clang/lib/Driver/ToolChains/AMDGPU.cpp
-===================================================================
---- llvm-project-rocm-4.0.0.orig/clang/lib/Driver/ToolChains/AMDGPU.cpp
-+++ llvm-project-rocm-4.0.0/clang/lib/Driver/ToolChains/AMDGPU.cpp
-@@ -326,11 +326,6 @@ void RocmInstallationDetector::AddHIPInc
-     //
-     // ROCm 3.5 does not fully support the wrapper headers. Therefore it needs
-     // a workaround.
--    SmallString<128> P(D.ResourceDir);
--    if (UsesRuntimeWrapper)
--      llvm::sys::path::append(P, "include", "cuda_wrappers");
--    CC1Args.push_back("-internal-isystem");
--    CC1Args.push_back(DriverArgs.MakeArgString(P));
-   }
- 
-   if (DriverArgs.hasArg(options::OPT_nogpuinc))
-@@ -341,8 +336,6 @@ void RocmInstallationDetector::AddHIPInc
-     return;
-   }
- 
--  CC1Args.push_back("-internal-isystem");
--  CC1Args.push_back(DriverArgs.MakeArgString(getIncludePath()));
-   if (UsesRuntimeWrapper)
-     CC1Args.append({"-include", "__clang_hip_runtime_wrapper.h"});
- }

diff --git a/sys-devel/llvm-roc/files/llvm-roc-4.2.0-current_pos.patch 
b/sys-devel/llvm-roc/files/llvm-roc-4.2.0-current_pos.patch
deleted file mode 100644
index 0f3398951b07..000000000000
--- a/sys-devel/llvm-roc/files/llvm-roc-4.2.0-current_pos.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -Naur a/include/llvm/Support/raw_ostream.h 
b/include/llvm/Support/raw_ostream.h
---- a/include/llvm/Support/raw_ostream.h       2021-05-22 19:56:44.779955686 
+0200
-+++ b/include/llvm/Support/raw_ostream.h       2021-05-22 20:00:49.449954752 
+0200
-@@ -610,9 +610,7 @@
-   /// See raw_ostream::write_impl.
-   void write_impl(const char *Ptr, size_t Size) override;
- 
--  /// Return the current position within the stream, not counting the bytes
--  /// currently in the buffer.
--  uint64_t current_pos() const override { return OS.size(); }
-+  uint64_t current_pos() const override;
- 
- public:
-   explicit raw_string_ostream(std::string &O) : OS(O) {
-diff -Naur a/lib/Support/raw_ostream.cpp b/lib/Support/raw_ostream.cpp
---- a/lib/Support/raw_ostream.cpp      2021-05-22 19:59:05.651955148 +0200
-+++ b/lib/Support/raw_ostream.cpp      2021-05-22 20:01:22.929954625 +0200
-@@ -938,6 +938,10 @@
- //  raw_string_ostream
- 
//===----------------------------------------------------------------------===//
- 
-+/// Return the current position within the stream, not counting the bytes
-+/// currently in the buffer.
-+uint64_t raw_string_ostream::current_pos() const { return OS.size(); }
-+
- raw_string_ostream::~raw_string_ostream() {
-   flush();
- }

diff --git a/sys-devel/llvm-roc/files/llvm-roc-5.0.0-add_GNU-stack.patch 
b/sys-devel/llvm-roc/files/llvm-roc-5.0.0-add_GNU-stack.patch
deleted file mode 100644
index f57989c8c8a3..000000000000
--- a/sys-devel/llvm-roc/files/llvm-roc-5.0.0-add_GNU-stack.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Add .note.GNU-stack to mitigate QA notice according to 
-https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart
-===================================================================
---- llvm-project-rocm-5.0.0.orig/compiler-rt/lib/orc/elfnix_tls.x86-64.S
-+++ llvm-project-rocm-5.0.0/compiler-rt/lib/orc/elfnix_tls.x86-64.S
-@@ -61,4 +61,8 @@ ___orc_rt_elfnix_tls_get_addr:
-         popq            %rbp
-         ret
- 
-+#if defined(__linux__) && defined(__ELF__)
-+      .section .note.GNU-stack,"",%progbits
-+#endif
-+
- #endif // defined(__x86_64__)

diff --git a/sys-devel/llvm-roc/files/llvm-roc-5.0.0-hip-location.patch 
b/sys-devel/llvm-roc/files/llvm-roc-5.0.0-hip-location.patch
deleted file mode 100644
index 614a16d1e810..000000000000
--- a/sys-devel/llvm-roc/files/llvm-roc-5.0.0-hip-location.patch
+++ /dev/null
@@ -1,206 +0,0 @@
-replace hardcoded hip finder with Gentoo paths.
-
-It is not necessary to check HIP runtime each time.
-
-Author: Benda Xu <[email protected]>
-Author: Yiyang Wu <[email protected]>
-
-Index: llvm-project-rocm-5.0.1/clang/lib/Driver/ToolChains/AMDGPU.cpp
-===================================================================
---- llvm-project-rocm-5.0.1.orig/clang/lib/Driver/ToolChains/AMDGPU.cpp
-+++ llvm-project-rocm-5.0.1/clang/lib/Driver/ToolChains/AMDGPU.cpp
-@@ -169,139 +169,8 @@ bool RocmInstallationDetector::parseHIPV
- /// cached and populated only once.
- const SmallVectorImpl<RocmInstallationDetector::Candidate> &
- RocmInstallationDetector::getInstallationPathCandidates() {
--
--  // Return the cached candidate list if it has already been populated.
--  if (!ROCmSearchDirs.empty())
--    return ROCmSearchDirs;
--
--  auto DoPrintROCmSearchDirs = [&]() {
--    if (PrintROCmSearchDirs)
--      for (auto Cand : ROCmSearchDirs) {
--        llvm::errs() << "ROCm installation search path";
--        if (Cand.isSPACK())
--          llvm::errs() << " (Spack " << Cand.SPACKReleaseStr << ")";
--        llvm::errs() << ": " << Cand.Path << '\n';
--      }
--  };
--
--  // For candidate specified by --rocm-path we do not do strict check, i.e.,
--  // checking existence of HIP version file and device library files.
--  if (!RocmPathArg.empty()) {
--    ROCmSearchDirs.emplace_back(RocmPathArg.str());
--    DoPrintROCmSearchDirs();
--    return ROCmSearchDirs;
--  } else if (const char *RocmPathEnv = ::getenv("ROCM_PATH")) {
--    if (!StringRef(RocmPathEnv).empty()) {
--      ROCmSearchDirs.emplace_back(RocmPathEnv);
--      DoPrintROCmSearchDirs();
--      return ROCmSearchDirs;
--    }
--  }
--
--  // Try to find relative to the compiler binary.
--  const char *InstallDir = D.getInstalledDir();
--
--  // Check both a normal Unix prefix position of the clang binary, as well as
--  // the Windows-esque layout the ROCm packages use with the host architecture
--  // subdirectory of bin.
--  auto DeduceROCmPath = [](StringRef ClangPath) {
--    // Strip off directory (usually bin)
--    StringRef ParentDir = llvm::sys::path::parent_path(ClangPath);
--    StringRef ParentName = llvm::sys::path::filename(ParentDir);
--
--    // Some builds use bin/{host arch}, so go up again.
--    if (ParentName == "bin") {
--      ParentDir = llvm::sys::path::parent_path(ParentDir);
--      ParentName = llvm::sys::path::filename(ParentDir);
--    }
--
--    // Detect ROCm packages built with SPACK.
--    // clang is installed at
--    // <rocm_root>/llvm-amdgpu-<rocm_release_string>-<hash>/bin directory.
--    // We only consider the parent directory of llvm-amdgpu package as ROCm
--    // installation candidate for SPACK.
--    if (ParentName.startswith("llvm-amdgpu-")) {
--      auto SPACKPostfix =
--          ParentName.drop_front(strlen("llvm-amdgpu-")).split('-');
--      auto SPACKReleaseStr = SPACKPostfix.first;
--      if (!SPACKReleaseStr.empty()) {
--        ParentDir = llvm::sys::path::parent_path(ParentDir);
--        return Candidate(ParentDir.str(), /*StrictChecking=*/true,
--                         SPACKReleaseStr);
--      }
--    }
--
--    // Some versions of the rocm llvm package install to /opt/rocm/llvm/bin
--    // Some versions of the aomp package install to /opt/rocm/aomp/bin
--    if (ParentName == "llvm" || ParentName.startswith("aomp"))
--      ParentDir = llvm::sys::path::parent_path(ParentDir);
--    // Some versions of the aomp package install to /opt/rocm/aomp/bin
--    // and it seems ParentDir is already pointing to correct place.
--    return Candidate(ParentDir.str(), /*StrictChecking=*/true);
--  };
--
--  // Deduce ROCm path by the path used to invoke clang. Do not resolve 
symbolic
--  // link of clang itself.
--  ROCmSearchDirs.emplace_back(DeduceROCmPath(InstallDir));
--
--  // Deduce ROCm path by the real path of the invoked clang, resolving 
symbolic
--  // link of clang itself.
--  llvm::SmallString<256> RealClangPath;
--  llvm::sys::fs::real_path(D.getClangProgramPath(), RealClangPath);
--  auto ParentPath = llvm::sys::path::parent_path(RealClangPath);
--  if (ParentPath != InstallDir)
--    ROCmSearchDirs.emplace_back(DeduceROCmPath(ParentPath));
--
--  // Device library may be installed in clang or resource directory.
--  auto ClangRoot = llvm::sys::path::parent_path(InstallDir);
--  auto RealClangRoot = llvm::sys::path::parent_path(ParentPath);
--  ROCmSearchDirs.emplace_back(ClangRoot.str(), /*StrictChecking=*/true);
--  if (RealClangRoot != ClangRoot)
--    ROCmSearchDirs.emplace_back(RealClangRoot.str(), /*StrictChecking=*/true);
--  ROCmSearchDirs.emplace_back(D.ResourceDir,
--                              /*StrictChecking=*/true);
--
--  ROCmSearchDirs.emplace_back(D.SysRoot + "/opt/rocm",
--                              /*StrictChecking=*/true);
--
--  // Find the latest /opt/rocm-{release} directory.
--  std::error_code EC;
--  std::string LatestROCm;
--  llvm::VersionTuple LatestVer;
--  // Get ROCm version from ROCm directory name.
--  auto GetROCmVersion = [](StringRef DirName) {
--    llvm::VersionTuple V;
--    std::string VerStr = DirName.drop_front(strlen("rocm-")).str();
--    // The ROCm directory name follows the format of
--    // rocm-{major}.{minor}.{subMinor}[-{build}]
--    std::replace(VerStr.begin(), VerStr.end(), '-', '.');
--    V.tryParse(VerStr);
--    return V;
--  };
--  for (llvm::vfs::directory_iterator
--           File = D.getVFS().dir_begin(D.SysRoot + "/opt", EC),
--           FileEnd;
--       File != FileEnd && !EC; File.increment(EC)) {
--    llvm::StringRef FileName = llvm::sys::path::filename(File->path());
--    if (!FileName.startswith("rocm-"))
--      continue;
--    if (LatestROCm.empty()) {
--      LatestROCm = FileName.str();
--      LatestVer = GetROCmVersion(LatestROCm);
--      continue;
--    }
--    auto Ver = GetROCmVersion(FileName);
--    if (LatestVer < Ver) {
--      LatestROCm = FileName.str();
--      LatestVer = Ver;
--    }
--  }
--  if (!LatestROCm.empty())
--    ROCmSearchDirs.emplace_back(D.SysRoot + "/opt/" + LatestROCm,
--                                /*StrictChecking=*/true);
--
--  DoPrintROCmSearchDirs();
--  return ROCmSearchDirs;
-+      ROCmSearchDirs.emplace_back(D.SysRoot + "/usr", 
/*StrictChecking=*/true);
-+      return ROCmSearchDirs;
- }
- 
- RocmInstallationDetector::RocmInstallationDetector(
-@@ -410,7 +279,7 @@ void RocmInstallationDetector::detectDev
-     // - ${ROCM_ROOT}/lib/bitcode/*
-     // so try to detect these layouts.
-     static constexpr std::array<const char *, 2> SubDirsList[] = {
--        {"amdgcn", "bitcode"},
-+        {"lib/amdgcn", "bitcode"},
-         {"lib", ""},
-         {"lib", "bitcode"},
-     };
-@@ -433,42 +302,7 @@ void RocmInstallationDetector::detectDev
- }
- 
- void RocmInstallationDetector::detectHIPRuntime() {
--  SmallVector<Candidate, 4> HIPSearchDirs;
--  if (!HIPPathArg.empty())
--    HIPSearchDirs.emplace_back(HIPPathArg.str(), /*StrictChecking=*/true);
--  else
--    HIPSearchDirs.append(getInstallationPathCandidates());
--  auto &FS = D.getVFS();
--
--  for (const auto &Candidate : HIPSearchDirs) {
--    InstallPath = Candidate.Path;
--    if (InstallPath.empty() || !FS.exists(InstallPath))
--      continue;
--    // HIP runtime built by SPACK is installed to
--    // <rocm_root>/hip-<rocm_release_string>-<hash> directory.
--    auto SPACKPath = findSPACKPackage(Candidate, "hip");
--    InstallPath = SPACKPath.empty() ? InstallPath : SPACKPath;
--
--    BinPath = InstallPath;
--    llvm::sys::path::append(BinPath, "bin");
--    IncludePath = InstallPath;
--    llvm::sys::path::append(IncludePath, "include");
--    LibPath = InstallPath;
--    llvm::sys::path::append(LibPath, "lib");
--
--    llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> VersionFile =
--        FS.getBufferForFile(BinPath + "/.hipVersion");
--    if (!VersionFile && Candidate.StrictChecking)
--      continue;
--
--    if (HIPVersionArg.empty() && VersionFile)
--      if (parseHIPVersionFile((*VersionFile)->getBuffer()))
--        continue;
--
--    HasHIPRuntime = true;
--    return;
--  }
--  HasHIPRuntime = false;
-+  HasHIPRuntime = true;
- }
- 
- void RocmInstallationDetector::print(raw_ostream &OS) const {

diff --git a/sys-devel/llvm-roc/files/llvm-roc-5.0.0-linkdl.patch 
b/sys-devel/llvm-roc/files/llvm-roc-5.0.0-linkdl.patch
deleted file mode 100644
index 80598c6f990d..000000000000
--- a/sys-devel/llvm-roc/files/llvm-roc-5.0.0-linkdl.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-LLVMOffloadArch should link libdl to fix undefined symbol 'dlsym' when linking
---- llvm.orig/lib/OffloadArch/offload-arch/CMakeLists.txt
-+++ llvm/lib/OffloadArch/offload-arch/CMakeLists.txt
-@@ -3,6 +3,7 @@ add_llvm_tool(offload-arch
-   ${CMAKE_CURRENT_SOURCE_DIR}/offload-arch.cpp
-   DEPENDS generated-table LLVMOffloadArch
- )
-+target_link_libraries(LLVMOffloadArch PRIVATE ${CMAKE_DL_LIBS})
- target_link_libraries(offload-arch PRIVATE LLVMOffloadArch)
- 
- if(CMAKE_HOST_UNIX)

diff --git a/sys-devel/llvm-roc/llvm-roc-5.0.2.ebuild 
b/sys-devel/llvm-roc/llvm-roc-5.0.2.ebuild
deleted file mode 100644
index 6dc4f6a23e2c..000000000000
--- a/sys-devel/llvm-roc/llvm-roc-5.0.2.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Radeon Open Compute llvm,lld,clang"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm/";
-SRC_URI="https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-${PV}.tar.gz
 -> llvm-rocm-ocl-${PV}.tar.gz"
-
-LICENSE="UoI-NCSA rc BSD public-domain"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="debug +runtime"
-
-RDEPEND="
-       dev-libs/libxml2
-       sys-libs/zlib
-       sys-libs/ncurses:="
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/llvm-project-rocm-${PV}/llvm"
-
-PATCHES=(
-       "${FILESDIR}/${PN}-4.2.0-current_pos.patch"
-       "${FILESDIR}/${PN}-5.0.0-linkdl.patch"
-)
-
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-src_prepare() {
-       pushd "${WORKDIR}/llvm-project-rocm-${PV}" || die
-       eapply "${FILESDIR}/${PN}-4.0.0-remove-isystem-usr-include.patch"
-       eapply "${FILESDIR}/${PN}-5.0.0-hip-location.patch"
-       eapply "${FILESDIR}/${PN}-5.0.0-add_GNU-stack.patch"
-       popd || die
-
-       if [[ -n ${EPREFIX} ]]; then
-               pushd "${S}"/../clang >/dev/null || die
-               sed -i -e "s@DEFAULT_SYSROOT \"\"@DEFAULT_SYSROOT 
\"${EPREFIX}\"@" CMakeLists.txt || die
-               eend $?
-               ebegin "Use "${EPREFIX}" as default sysroot"
-               cd lib/Driver/ToolChains >/dev/null || die
-               ebegin "Use dynamic linker from ${EPREFIX}"
-               sed -i -e "/LibDir.*Loader/s@return \"\/\"@return 
\"${EPREFIX}/\"@" Linux.cpp || die
-               eend $?
-
-               ebegin "Remove --sysroot call on ld for native toolchain"
-               sed -i -e "$(grep -n -B1 sysroot= Gnu.cpp | sed -ne 
'{1s/-.*//;1p}'),+1 d" Gnu.cpp || die
-               eend $?
-               popd >/dev/null || die
-       fi
-
-       # handled by sysroot, don't prefixify here.
-       sed -e 's:/opt/rocm:/usr/lib/hip:' \
-               -i "${S}"/../clang/lib/Driver/ToolChains/AMDGPU.cpp || die
-
-       eapply_user
-       cmake_src_prepare
-}
-
-src_configure() {
-       PROJECTS="clang;lld;llvm"
-
-       if usex runtime; then
-               PROJECTS+=";compiler-rt"
-       fi
-
-       local mycmakeargs=(
-               -Wno-dev
-               -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/roc"
-               -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON
-               -DLLVM_ENABLE_PROJECTS="${PROJECTS}"
-               -DLLVM_TARGETS_TO_BUILD="AMDGPU;X86"
-               -DLLVM_BUILD_DOCS=NO
-               -DLLVM_ENABLE_BINDINGS=OFF
-               -DLLVM_ENABLE_OCAMLDOC=OFF
-               -DLLVM_ENABLE_SPHINX=NO
-               -DLLVM_ENABLE_DOXYGEN=OFF
-               -DLLVM_BUILD_UTILS=ON
-               -DLLVM_VERSION_SUFFIX=roc
-               -DOCAMLFIND=NO
-       )
-
-       use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-
-       cmake_src_configure
-}
-
-src_install() {
-       cmake_src_install
-       cat > "99${PN}" <<-EOF
-               LDPATH="${EPREFIX}/usr/lib/llvm/roc/lib"
-       EOF
-       doenvd "99${PN}"
-}

diff --git a/sys-devel/llvm-roc/metadata.xml b/sys-devel/llvm-roc/metadata.xml
deleted file mode 100644
index e9e51b8f323e..000000000000
--- a/sys-devel/llvm-roc/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
-<pkgmetadata>
-    <maintainer type="person">
-        <email>[email protected]</email>
-        <name>Craig Andrews</name>
-    </maintainer>
-    <upstream>
-        <remote-id type="github">RadeonOpenCompute/llvm-project</remote-id>
-    </upstream>
-    <use>
-        <flag name="runtime">Builds the compiler runtime libraries.</flag>
-    </use>
-</pkgmetadata>

Reply via email to