From aec36c6fbd87fab890fc4e53fe7c39dee49fdda5 Mon Sep 17 00:00:00 2001 From: Sam James Date: Thu, 12 Dec 2024 04:32:34 +0000 Subject: [PATCH] llvm-core/clang: drop llvm_prepend_path use The hackery with PATH here is wrong and it breaks building Clang itself with a different version of Clang (which is why we're looking at rejigging how the eclass works/replacing it with llvm-r1.eclass [0]). As suggested by Matt, use LLVM_CMAKE_DIR instead so that Clang finds the right version of LLVM to build against without any sort of nonsense messing with build tooling. [0] https://public-inbox.gentoo.org/gentoo-dev/d5489fa24ef3d1129540879e628120addb3af8ce.camel@gentoo.org/ Closes: https://bugs.gentoo.org/942314 Closes: https://bugs.gentoo.org/944788 Thanks-to: Matt Whitlock Signed-off-by: Sam James --- llvm-core/clang/clang-18.1.8-r6.ebuild | 5 ++--- llvm-core/clang/clang-19.1.4.ebuild | 5 ++--- llvm-core/clang/clang-19.1.5.ebuild | 5 ++--- llvm-core/clang/clang-20.0.0.9999.ebuild | 5 ++--- llvm-core/clang/clang-20.0.0_pre20241207.ebuild | 5 ++--- 5 files changed, 10 insertions(+), 15 deletions(-) diff --git a/llvm-core/clang/clang-18.1.8-r6.ebuild b/llvm-core/clang/clang-18.1.8-r6.ebuild index 52805e3df3fe1..ecd51bb5ea949 100644 --- a/llvm-core/clang/clang-18.1.8-r6.ebuild +++ b/llvm-core/clang/clang-18.1.8-r6.ebuild @@ -5,7 +5,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..13} ) -inherit cmake llvm.org llvm-utils multilib multilib-minimal +inherit cmake llvm.org multilib multilib-minimal inherit prefix python-single-r1 toolchain-funcs DESCRIPTION="C language family frontend for LLVM" @@ -255,12 +255,11 @@ get_distribution_components() { } multilib_src_configure() { - llvm_prepend_path "${LLVM_MAJOR}" - local mycmakeargs=( -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}") -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man" + -DLLVM_CMAKE_DIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/cmake" -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang" # relative to bindir -DCLANG_RESOURCE_DIR="../../../../lib/clang/${LLVM_MAJOR}" diff --git a/llvm-core/clang/clang-19.1.4.ebuild b/llvm-core/clang/clang-19.1.4.ebuild index 44fb3430d3161..3167033c4a459 100644 --- a/llvm-core/clang/clang-19.1.4.ebuild +++ b/llvm-core/clang/clang-19.1.4.ebuild @@ -5,7 +5,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..13} ) -inherit cmake llvm.org llvm-utils multilib multilib-minimal +inherit cmake llvm.org multilib multilib-minimal inherit prefix python-single-r1 toolchain-funcs DESCRIPTION="C language family frontend for LLVM" @@ -254,12 +254,11 @@ get_distribution_components() { } multilib_src_configure() { - llvm_prepend_path "${LLVM_MAJOR}" - local mycmakeargs=( -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}") -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man" + -DLLVM_CMAKE_DIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/cmake" -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang" # relative to bindir -DCLANG_RESOURCE_DIR="../../../../lib/clang/${LLVM_MAJOR}" diff --git a/llvm-core/clang/clang-19.1.5.ebuild b/llvm-core/clang/clang-19.1.5.ebuild index dd0c7132c2d25..c994c37fe3eb2 100644 --- a/llvm-core/clang/clang-19.1.5.ebuild +++ b/llvm-core/clang/clang-19.1.5.ebuild @@ -5,7 +5,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..13} ) -inherit cmake llvm.org llvm-utils multilib multilib-minimal +inherit cmake llvm.org multilib multilib-minimal inherit prefix python-single-r1 toolchain-funcs DESCRIPTION="C language family frontend for LLVM" @@ -254,12 +254,11 @@ get_distribution_components() { } multilib_src_configure() { - llvm_prepend_path "${LLVM_MAJOR}" - local mycmakeargs=( -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}") -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man" + -DLLVM_CMAKE_DIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/cmake" -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang" # relative to bindir -DCLANG_RESOURCE_DIR="../../../../lib/clang/${LLVM_MAJOR}" diff --git a/llvm-core/clang/clang-20.0.0.9999.ebuild b/llvm-core/clang/clang-20.0.0.9999.ebuild index 458b6079f63ec..e85ebda1b26b5 100644 --- a/llvm-core/clang/clang-20.0.0.9999.ebuild +++ b/llvm-core/clang/clang-20.0.0.9999.ebuild @@ -5,7 +5,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..13} ) -inherit cmake llvm.org llvm-utils multilib multilib-minimal +inherit cmake llvm.org multilib multilib-minimal inherit prefix python-single-r1 toolchain-funcs DESCRIPTION="C language family frontend for LLVM" @@ -253,12 +253,11 @@ get_distribution_components() { } multilib_src_configure() { - llvm_prepend_path "${LLVM_MAJOR}" - local mycmakeargs=( -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}") -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man" + -DLLVM_CMAKE_DIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/cmake" -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang" # relative to bindir -DCLANG_RESOURCE_DIR="../../../../lib/clang/${LLVM_MAJOR}" diff --git a/llvm-core/clang/clang-20.0.0_pre20241207.ebuild b/llvm-core/clang/clang-20.0.0_pre20241207.ebuild index 458b6079f63ec..e85ebda1b26b5 100644 --- a/llvm-core/clang/clang-20.0.0_pre20241207.ebuild +++ b/llvm-core/clang/clang-20.0.0_pre20241207.ebuild @@ -5,7 +5,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..13} ) -inherit cmake llvm.org llvm-utils multilib multilib-minimal +inherit cmake llvm.org multilib multilib-minimal inherit prefix python-single-r1 toolchain-funcs DESCRIPTION="C language family frontend for LLVM" @@ -253,12 +253,11 @@ get_distribution_components() { } multilib_src_configure() { - llvm_prepend_path "${LLVM_MAJOR}" - local mycmakeargs=( -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}") -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man" + -DLLVM_CMAKE_DIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/cmake" -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang" # relative to bindir -DCLANG_RESOURCE_DIR="../../../../lib/clang/${LLVM_MAJOR}"