summaryrefslogtreecommitdiff
path: root/sys-devel/clang
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-10-07 19:24:36 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-10-07 19:24:36 +0100
commit7b5e4e1f63da7fb63fba5f1a9fc41866c8ae5b2f (patch)
treec9aa002e33c61cd30a2a1615be86cd9961239b0b /sys-devel/clang
parent27a61babf89122aeb64d52f4ea8f6f068b928da4 (diff)
gentoo auto-resync : 07:10:2022 - 19:24:35
Diffstat (limited to 'sys-devel/clang')
-rw-r--r--sys-devel/clang/Manifest6
-rw-r--r--sys-devel/clang/clang-15.0.2.9999.ebuild51
-rw-r--r--sys-devel/clang/clang-16.0.0.9999.ebuild51
-rw-r--r--sys-devel/clang/clang-16.0.0_pre20221006.ebuild51
4 files changed, 69 insertions, 90 deletions
diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest
index 7f424265e940..f47f704b3172 100644
--- a/sys-devel/clang/Manifest
+++ b/sys-devel/clang/Manifest
@@ -14,8 +14,8 @@ DIST llvm-project-5a0722e0469894564dd9b0ee1d4f8c291d09c776.tar.gz 169164627 BLAK
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
EBUILD clang-13.0.1.ebuild 11294 BLAKE2B 33760cbd488068389efed5c011b15288021d1f93a371d5114301a5f86e815b3a1e9ae21ed6304d90916778f2312db17339d85b6d76e5e8255614706ddc3a7cf6 SHA512 b49773a02c15c4e869682664bd5703d7e08f60be9558fdbd78da19be5d5a1158093729260106cffe4cd8a6295ba740e42cc43d07da00ed8ead14dc45899ce80a
EBUILD clang-14.0.6-r1.ebuild 11719 BLAKE2B 743e26b68f15e8b4aa7acfe4f7abd095fe42a3ba6dafdff278d0bfe06f57679490e0940a1029f97d5cc3f6d4ac8b44ea63283bbad1052623ee0048fdbbeb54e0 SHA512 ec6da9dcbed9f078307e8265362a5b39dac9d97d8aadbba16395ee7ddb442d34d1d2a1e9e880da41dbdb51fcf3c741c33ac469e5f6ffa4d091adb4d1743fa12b
-EBUILD clang-15.0.2.9999.ebuild 11736 BLAKE2B 6092bef71ea8bb4179d48469df9d6ed97c4b94a532ded000acafb6754690c7c399016b34bc23671fdb694b7a5192cd8aa379977cb9bdace4990d80e4c8d1f969 SHA512 50dd2c132677833d80ec44d094208fc47e2218443c108bd1821f9f9ff99fb93d5cef73a36a6c0c6180cc4beac2671a428f336d5c6a5ca9b1b903572e90cad3c2
+EBUILD clang-15.0.2.9999.ebuild 11503 BLAKE2B 58219802a09130e892b4273edd049621b6b18ab85b5eff249f4ef5296b3cc76de0efb862e987c1608bac5af2e1df61e45649bafcb0d4806bfb4266634ea57d50 SHA512 273cee814fec10fdeaa9988491500ebcb4a47840c3d2b32948445355b52508bb011e0da814a25a341547fa5a59fd0d46f1cc2b6fd932bd9d775e1224b8f0b083
EBUILD clang-15.0.2.ebuild 11810 BLAKE2B 0e7f4c3e3eb9d3f238afd87100fb8bae7c4a0bf9a4fac97b6bb95822e88adf83e608e2f2fe5fcfb6b67471e4e7357ac265f33707516d7b6f054ad37b0c1940f8 SHA512 b68c91b5c0e2af3e2edfe37bf2ec56f7a054255ffc414b8e019abc9746c4519ad7bbf489a3d3e22864afe5215e069a2f8955ca2d519df2cd977a570aba7a6a36
-EBUILD clang-16.0.0.9999.ebuild 11707 BLAKE2B cf81c3eaad4938bae0c3a87c71ebdfce569d9fa9ebe2a1c34a6f9376858b7fc04a18e361b3fb56160e26320456abe5cc9ee698abee0c6c4a7f9f51cc3a667199 SHA512 889a9746b1f79ec14f0acf48b32d3c9f07fdcd011fea5d1d821cb1164c8ded93e5f8b044737009e0d34c262626f3bf6b587da201ce412342674f35de7cf8206f
-EBUILD clang-16.0.0_pre20221006.ebuild 11707 BLAKE2B cf81c3eaad4938bae0c3a87c71ebdfce569d9fa9ebe2a1c34a6f9376858b7fc04a18e361b3fb56160e26320456abe5cc9ee698abee0c6c4a7f9f51cc3a667199 SHA512 889a9746b1f79ec14f0acf48b32d3c9f07fdcd011fea5d1d821cb1164c8ded93e5f8b044737009e0d34c262626f3bf6b587da201ce412342674f35de7cf8206f
+EBUILD clang-16.0.0.9999.ebuild 11474 BLAKE2B afa0b20ad7000c58b0bbb61cd1ce6fc135a46f9c72da44975990c37241fb155179fe1fbaeb0c5acc6b33ba01e64e0f43231c16af6762340284c55680e67810dd SHA512 960eb87d1d9dcab0ac983ba3d82d56249006af95a17fbdcb9ff8962074033c51c5a272a38940352104aa3db82b3c8da2520f665e78b55758a9e1715a40c94969
+EBUILD clang-16.0.0_pre20221006.ebuild 11474 BLAKE2B afa0b20ad7000c58b0bbb61cd1ce6fc135a46f9c72da44975990c37241fb155179fe1fbaeb0c5acc6b33ba01e64e0f43231c16af6762340284c55680e67810dd SHA512 960eb87d1d9dcab0ac983ba3d82d56249006af95a17fbdcb9ff8962074033c51c5a272a38940352104aa3db82b3c8da2520f665e78b55758a9e1715a40c94969
MISC metadata.xml 1419 BLAKE2B 67e54312c45894825e644eec3b17f9d788a31beb8d8acf9fd5dfb604a02e35f01a0825d71547716e78b8aad9d4f7ca4d7f6a9085afc3235e3e4ed16dd46d526e SHA512 04981d6d909c239a8183cff0cd87418d88a1b3bb4c3848a88cb82164d0c5e234ab766d9a3339293502543c3ce92f7ab4fa9c3202fb45833429511e0f9d9ad584
diff --git a/sys-devel/clang/clang-15.0.2.9999.ebuild b/sys-devel/clang/clang-15.0.2.9999.ebuild
index 5a01453e5a14..2c2ced462113 100644
--- a/sys-devel/clang/clang-15.0.2.9999.ebuild
+++ b/sys-devel/clang/clang-15.0.2.9999.ebuild
@@ -14,14 +14,14 @@ HOMEPAGE="https://llvm.org/"
# sorttable.js: MIT
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT"
-SLOT="$(ver_cut 1)"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
KEYWORDS=""
IUSE="debug doc +pie +static-analyzer test xml"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"
DEPEND="
- ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}]
+ ~sys-devel/llvm-${PV}:${LLVM_MAJOR}=[debug=,${MULTILIB_USEDEP}]
static-analyzer? ( dev-lang/perl:* )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
"
@@ -41,7 +41,7 @@ BDEPEND="
xml? ( virtual/pkgconfig )
"
PDEPEND="
- sys-devel/clang-toolchain-symlinks:${SLOT}
+ sys-devel/clang-toolchain-symlinks:${LLVM_MAJOR}
~sys-devel/clang-runtime-${PV}
"
@@ -71,7 +71,7 @@ llvm.org_set_globals
# multilib clang* libraries (not runtime, not wrappers).
pkg_setup() {
- LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup
+ LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
python-single-r1_pkg_setup
}
@@ -244,16 +244,13 @@ get_distribution_components() {
}
multilib_src_configure() {
- local llvm_version=$(llvm-config --version) || die
- local clang_version=$(ver_cut 1-3 "${llvm_version}")
-
local mycmakeargs=(
- -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm"
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/cmake/llvm"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
-DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang"
# relative to bindir
- -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}"
+ -DCLANG_RESOURCE_DIR="../../../../lib/clang/${LLVM_VERSION}"
-DBUILD_SHARED_LIBS=OFF
-DCLANG_LINK_CLANG_DYLIB=ON
@@ -365,13 +362,9 @@ src_install() {
mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die
# move (remaining) wrapped headers back
mv "${T}"/clang-tidy "${ED}"/usr/include/ || die
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
# Apply CHOST and version suffix to clang tools
- # note: we use two version components here (vs 3 in runtime path)
- local llvm_version=$(llvm-config --version) || die
- local clang_version=$(ver_cut 1 "${llvm_version}")
- local clang_full_version=$(ver_cut 1-3 "${llvm_version}")
local clang_tools=( clang clang++ clang-cl clang-cpp )
local abi i
@@ -385,19 +378,19 @@ src_install() {
# - clang, clang++, clang-cl, clang-cpp -> clang*-X
# also in CHOST variant
for i in "${clang_tools[@]:1}"; do
- rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die
- dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}"
- dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}"
+ rm "${ED}/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}" || die
+ dosym "clang-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}-${LLVM_MAJOR}"
+ dosym "${i}-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}"
done
# now create target symlinks for all supported ABIs
for abi in $(get_all_abis); do
local abi_chost=$(get_abi_CHOST "${abi}")
for i in "${clang_tools[@]}"; do
- dosym "${i}-${clang_version}" \
- "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}"
- dosym "${abi_chost}-${i}-${clang_version}" \
- "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}"
+ dosym "${i}-${LLVM_MAJOR}" \
+ "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}-${LLVM_MAJOR}"
+ dosym "${abi_chost}-${i}-${LLVM_MAJOR}" \
+ "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}"
done
done
}
@@ -408,8 +401,8 @@ multilib_src_install() {
# move headers to /usr/include for wrapping & ABI mismatch checks
# (also drop the version suffix from runtime headers)
rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die
+ mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die
if multilib_is_native_abi; then
# don't wrap clang-tidy headers, the list is too long
# (they're fine for non-native ABI but enabling the targets is problematic)
@@ -420,15 +413,15 @@ multilib_src_install() {
multilib_src_install_all() {
python_fix_shebang "${ED}"
if use static-analyzer; then
- python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view
+ python_optimize "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/share/scan-view
fi
- docompress "/usr/lib/llvm/${SLOT}/share/man"
+ docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
llvm_install_manpages
# match 'html' non-compression
use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
# +x for some reason; TODO: investigate
- use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
+ use static-analyzer && fperms a-x "/usr/lib/llvm/${LLVM_MAJOR}/share/man/man1/scan-build.1"
}
pkg_postinst() {
@@ -437,7 +430,7 @@ pkg_postinst() {
fi
elog "You can find additional utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang"
+ elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/clang"
elog "Some of them are vim integration scripts (with instructions inside)."
elog "The run-clang-tidy.py script requires the following additional package:"
elog " dev-python/pyyaml"
diff --git a/sys-devel/clang/clang-16.0.0.9999.ebuild b/sys-devel/clang/clang-16.0.0.9999.ebuild
index 5a4b4bdf0a23..b7c83aeab989 100644
--- a/sys-devel/clang/clang-16.0.0.9999.ebuild
+++ b/sys-devel/clang/clang-16.0.0.9999.ebuild
@@ -14,14 +14,14 @@ HOMEPAGE="https://llvm.org/"
# sorttable.js: MIT
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT"
-SLOT="$(ver_cut 1)"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
KEYWORDS=""
IUSE="debug doc +pie +static-analyzer test xml"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"
DEPEND="
- ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}]
+ ~sys-devel/llvm-${PV}:${LLVM_MAJOR}=[debug=,${MULTILIB_USEDEP}]
static-analyzer? ( dev-lang/perl:* )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
"
@@ -41,7 +41,7 @@ BDEPEND="
xml? ( virtual/pkgconfig )
"
PDEPEND="
- sys-devel/clang-toolchain-symlinks:${SLOT}
+ sys-devel/clang-toolchain-symlinks:${LLVM_MAJOR}
~sys-devel/clang-runtime-${PV}
"
@@ -71,7 +71,7 @@ llvm.org_set_globals
# multilib clang* libraries (not runtime, not wrappers).
pkg_setup() {
- LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup
+ LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
python-single-r1_pkg_setup
}
@@ -243,16 +243,13 @@ get_distribution_components() {
}
multilib_src_configure() {
- local llvm_version=$(llvm-config --version) || die
- local clang_version=$(ver_cut 1-3 "${llvm_version}")
-
local mycmakeargs=(
- -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm"
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/cmake/llvm"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
-DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang"
# relative to bindir
- -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}"
+ -DCLANG_RESOURCE_DIR="../../../../lib/clang/${LLVM_VERSION}"
-DBUILD_SHARED_LIBS=OFF
-DCLANG_LINK_CLANG_DYLIB=ON
@@ -364,13 +361,9 @@ src_install() {
mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die
# move (remaining) wrapped headers back
mv "${T}"/clang-tidy "${ED}"/usr/include/ || die
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
# Apply CHOST and version suffix to clang tools
- # note: we use two version components here (vs 3 in runtime path)
- local llvm_version=$(llvm-config --version) || die
- local clang_version=$(ver_cut 1 "${llvm_version}")
- local clang_full_version=$(ver_cut 1-3 "${llvm_version}")
local clang_tools=( clang clang++ clang-cl clang-cpp )
local abi i
@@ -384,19 +377,19 @@ src_install() {
# - clang, clang++, clang-cl, clang-cpp -> clang*-X
# also in CHOST variant
for i in "${clang_tools[@]:1}"; do
- rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die
- dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}"
- dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}"
+ rm "${ED}/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}" || die
+ dosym "clang-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}-${LLVM_MAJOR}"
+ dosym "${i}-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}"
done
# now create target symlinks for all supported ABIs
for abi in $(get_all_abis); do
local abi_chost=$(get_abi_CHOST "${abi}")
for i in "${clang_tools[@]}"; do
- dosym "${i}-${clang_version}" \
- "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}"
- dosym "${abi_chost}-${i}-${clang_version}" \
- "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}"
+ dosym "${i}-${LLVM_MAJOR}" \
+ "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}-${LLVM_MAJOR}"
+ dosym "${abi_chost}-${i}-${LLVM_MAJOR}" \
+ "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}"
done
done
}
@@ -407,8 +400,8 @@ multilib_src_install() {
# move headers to /usr/include for wrapping & ABI mismatch checks
# (also drop the version suffix from runtime headers)
rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die
+ mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die
if multilib_is_native_abi; then
# don't wrap clang-tidy headers, the list is too long
# (they're fine for non-native ABI but enabling the targets is problematic)
@@ -419,15 +412,15 @@ multilib_src_install() {
multilib_src_install_all() {
python_fix_shebang "${ED}"
if use static-analyzer; then
- python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view
+ python_optimize "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/share/scan-view
fi
- docompress "/usr/lib/llvm/${SLOT}/share/man"
+ docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
llvm_install_manpages
# match 'html' non-compression
use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
# +x for some reason; TODO: investigate
- use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
+ use static-analyzer && fperms a-x "/usr/lib/llvm/${LLVM_MAJOR}/share/man/man1/scan-build.1"
}
pkg_postinst() {
@@ -436,7 +429,7 @@ pkg_postinst() {
fi
elog "You can find additional utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang"
+ elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/clang"
elog "Some of them are vim integration scripts (with instructions inside)."
elog "The run-clang-tidy.py script requires the following additional package:"
elog " dev-python/pyyaml"
diff --git a/sys-devel/clang/clang-16.0.0_pre20221006.ebuild b/sys-devel/clang/clang-16.0.0_pre20221006.ebuild
index 5a4b4bdf0a23..b7c83aeab989 100644
--- a/sys-devel/clang/clang-16.0.0_pre20221006.ebuild
+++ b/sys-devel/clang/clang-16.0.0_pre20221006.ebuild
@@ -14,14 +14,14 @@ HOMEPAGE="https://llvm.org/"
# sorttable.js: MIT
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT"
-SLOT="$(ver_cut 1)"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
KEYWORDS=""
IUSE="debug doc +pie +static-analyzer test xml"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"
DEPEND="
- ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}]
+ ~sys-devel/llvm-${PV}:${LLVM_MAJOR}=[debug=,${MULTILIB_USEDEP}]
static-analyzer? ( dev-lang/perl:* )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
"
@@ -41,7 +41,7 @@ BDEPEND="
xml? ( virtual/pkgconfig )
"
PDEPEND="
- sys-devel/clang-toolchain-symlinks:${SLOT}
+ sys-devel/clang-toolchain-symlinks:${LLVM_MAJOR}
~sys-devel/clang-runtime-${PV}
"
@@ -71,7 +71,7 @@ llvm.org_set_globals
# multilib clang* libraries (not runtime, not wrappers).
pkg_setup() {
- LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup
+ LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
python-single-r1_pkg_setup
}
@@ -243,16 +243,13 @@ get_distribution_components() {
}
multilib_src_configure() {
- local llvm_version=$(llvm-config --version) || die
- local clang_version=$(ver_cut 1-3 "${llvm_version}")
-
local mycmakeargs=(
- -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm"
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/cmake/llvm"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
-DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang"
# relative to bindir
- -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}"
+ -DCLANG_RESOURCE_DIR="../../../../lib/clang/${LLVM_VERSION}"
-DBUILD_SHARED_LIBS=OFF
-DCLANG_LINK_CLANG_DYLIB=ON
@@ -364,13 +361,9 @@ src_install() {
mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die
# move (remaining) wrapped headers back
mv "${T}"/clang-tidy "${ED}"/usr/include/ || die
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
# Apply CHOST and version suffix to clang tools
- # note: we use two version components here (vs 3 in runtime path)
- local llvm_version=$(llvm-config --version) || die
- local clang_version=$(ver_cut 1 "${llvm_version}")
- local clang_full_version=$(ver_cut 1-3 "${llvm_version}")
local clang_tools=( clang clang++ clang-cl clang-cpp )
local abi i
@@ -384,19 +377,19 @@ src_install() {
# - clang, clang++, clang-cl, clang-cpp -> clang*-X
# also in CHOST variant
for i in "${clang_tools[@]:1}"; do
- rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die
- dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}"
- dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}"
+ rm "${ED}/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}" || die
+ dosym "clang-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}-${LLVM_MAJOR}"
+ dosym "${i}-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}"
done
# now create target symlinks for all supported ABIs
for abi in $(get_all_abis); do
local abi_chost=$(get_abi_CHOST "${abi}")
for i in "${clang_tools[@]}"; do
- dosym "${i}-${clang_version}" \
- "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}"
- dosym "${abi_chost}-${i}-${clang_version}" \
- "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}"
+ dosym "${i}-${LLVM_MAJOR}" \
+ "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}-${LLVM_MAJOR}"
+ dosym "${abi_chost}-${i}-${LLVM_MAJOR}" \
+ "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}"
done
done
}
@@ -407,8 +400,8 @@ multilib_src_install() {
# move headers to /usr/include for wrapping & ABI mismatch checks
# (also drop the version suffix from runtime headers)
rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die
+ mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die
if multilib_is_native_abi; then
# don't wrap clang-tidy headers, the list is too long
# (they're fine for non-native ABI but enabling the targets is problematic)
@@ -419,15 +412,15 @@ multilib_src_install() {
multilib_src_install_all() {
python_fix_shebang "${ED}"
if use static-analyzer; then
- python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view
+ python_optimize "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/share/scan-view
fi
- docompress "/usr/lib/llvm/${SLOT}/share/man"
+ docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
llvm_install_manpages
# match 'html' non-compression
use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
# +x for some reason; TODO: investigate
- use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
+ use static-analyzer && fperms a-x "/usr/lib/llvm/${LLVM_MAJOR}/share/man/man1/scan-build.1"
}
pkg_postinst() {
@@ -436,7 +429,7 @@ pkg_postinst() {
fi
elog "You can find additional utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang"
+ elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/clang"
elog "Some of them are vim integration scripts (with instructions inside)."
elog "The run-clang-tidy.py script requires the following additional package:"
elog " dev-python/pyyaml"