summaryrefslogtreecommitdiff
path: root/sys-devel/clang-common
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-09-10 10:35:29 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-09-10 10:35:29 +0100
commit5067796b074450a155155c782ef4885c885cfb2b (patch)
tree68109e52982e612f48c05614ff09888cb33668ac /sys-devel/clang-common
parent68d015b395b17126b8651edb61c80fca8c5968c1 (diff)
gentoo auto-resync : 10:09:2023 - 10:35:29
Diffstat (limited to 'sys-devel/clang-common')
-rw-r--r--sys-devel/clang-common/Manifest8
-rw-r--r--sys-devel/clang-common/clang-common-17.0.0.9999.ebuild55
-rw-r--r--sys-devel/clang-common/clang-common-17.0.0_rc4-r1.ebuild (renamed from sys-devel/clang-common/clang-common-17.0.0_rc4.ebuild)55
-rw-r--r--sys-devel/clang-common/clang-common-18.0.0.9999.ebuild55
-rw-r--r--sys-devel/clang-common/clang-common-18.0.0_pre20230906-r1.ebuild (renamed from sys-devel/clang-common/clang-common-18.0.0_pre20230906.ebuild)55
5 files changed, 192 insertions, 36 deletions
diff --git a/sys-devel/clang-common/Manifest b/sys-devel/clang-common/Manifest
index 1d1c39c376aa..3647e658d629 100644
--- a/sys-devel/clang-common/Manifest
+++ b/sys-devel/clang-common/Manifest
@@ -11,8 +11,8 @@ EBUILD clang-common-14.0.6.ebuild 541 BLAKE2B 87b158e874cf600e23591a8095e0edb4d3
EBUILD clang-common-15.0.7-r5.ebuild 5090 BLAKE2B 39974630209630607d10903585223df68cd809fb390fc9eb2a80c4235ce70ae21120083f8eaf749c769a93f738c4e971e31e978dd637a0b87d07260281db4b83 SHA512 6cb37a7eb373d300d165e851e3643fd35e11d78a6a88617b4a8c0063b83558d10d307c32861e9ba2d0ac902c1cd2069ece6bd1446e309a6753f13adf8cd8fa2c
EBUILD clang-common-15.0.7-r7.ebuild 5462 BLAKE2B 098697c65115e672a1e878167997d820c93cad6a71c5a1dc17c731a031d37f20e50ef41e2f1d3238bc91065ba23bab5db4ab48e8274be9db3cb086ec6cdf7868 SHA512 7500bf0c4fde82b90aac68d09b95a49c241fae8b0d2340f7780e9baed1c85d855e45c4296a7daaa0b831a07f442e0be4faf6510a335fa5c979b3061e28fdb99d
EBUILD clang-common-16.0.6-r2.ebuild 5523 BLAKE2B d1679b6e4b3f8430b9840c0e43e16d7deaf26990822c4754e906ece5451f142a201d70d8f9207ec461c9be4c28960811bb4c4f3f253c23d2c9abe5e3e66278e3 SHA512 8b9f63bbd13006f1c2e207ba889c3e4a03e8edd63b7c51d4bfa78bb10ccbb6f64636a0ccf2fde91abc43fed16b5c5993375a8bc6226315c80fb9fd3f2d0ebf14
-EBUILD clang-common-17.0.0.9999.ebuild 5893 BLAKE2B e4dedf03d903743576687829fff17a143f466de0936f9cfdc54091aee68e3df31015696e81643357d1425fb3bcb92b179b068213250b80da75ceef29397f89b1 SHA512 7d21c0d789a530c7ee0f7e314df4e723d631d60bfbffbfa1ccd45d50eb507897338066026cacc96d657bd67eabd9812669d1346a92e3a0f2b866ba7892fa042c
-EBUILD clang-common-17.0.0_rc4.ebuild 5893 BLAKE2B e4dedf03d903743576687829fff17a143f466de0936f9cfdc54091aee68e3df31015696e81643357d1425fb3bcb92b179b068213250b80da75ceef29397f89b1 SHA512 7d21c0d789a530c7ee0f7e314df4e723d631d60bfbffbfa1ccd45d50eb507897338066026cacc96d657bd67eabd9812669d1346a92e3a0f2b866ba7892fa042c
-EBUILD clang-common-18.0.0.9999.ebuild 5893 BLAKE2B e4dedf03d903743576687829fff17a143f466de0936f9cfdc54091aee68e3df31015696e81643357d1425fb3bcb92b179b068213250b80da75ceef29397f89b1 SHA512 7d21c0d789a530c7ee0f7e314df4e723d631d60bfbffbfa1ccd45d50eb507897338066026cacc96d657bd67eabd9812669d1346a92e3a0f2b866ba7892fa042c
-EBUILD clang-common-18.0.0_pre20230906.ebuild 5893 BLAKE2B e4dedf03d903743576687829fff17a143f466de0936f9cfdc54091aee68e3df31015696e81643357d1425fb3bcb92b179b068213250b80da75ceef29397f89b1 SHA512 7d21c0d789a530c7ee0f7e314df4e723d631d60bfbffbfa1ccd45d50eb507897338066026cacc96d657bd67eabd9812669d1346a92e3a0f2b866ba7892fa042c
+EBUILD clang-common-17.0.0.9999.ebuild 7094 BLAKE2B e203fed2d6516e166c9bded0b1ba0b88b479e3c819e5695f619e4b36ffd76230ab220ad2604709d42989f96b405e791664511b191284b3f5c5c3b4149d3cbd7b SHA512 c8a086a394448bfc8ed1f5d520d0fc87786001f57c0e170ba2ba48b177fce641d91c585a393188710a829767c5bd06411b46e36ea915dba2266ef113fe99bff6
+EBUILD clang-common-17.0.0_rc4-r1.ebuild 7094 BLAKE2B e203fed2d6516e166c9bded0b1ba0b88b479e3c819e5695f619e4b36ffd76230ab220ad2604709d42989f96b405e791664511b191284b3f5c5c3b4149d3cbd7b SHA512 c8a086a394448bfc8ed1f5d520d0fc87786001f57c0e170ba2ba48b177fce641d91c585a393188710a829767c5bd06411b46e36ea915dba2266ef113fe99bff6
+EBUILD clang-common-18.0.0.9999.ebuild 7094 BLAKE2B e203fed2d6516e166c9bded0b1ba0b88b479e3c819e5695f619e4b36ffd76230ab220ad2604709d42989f96b405e791664511b191284b3f5c5c3b4149d3cbd7b SHA512 c8a086a394448bfc8ed1f5d520d0fc87786001f57c0e170ba2ba48b177fce641d91c585a393188710a829767c5bd06411b46e36ea915dba2266ef113fe99bff6
+EBUILD clang-common-18.0.0_pre20230906-r1.ebuild 7094 BLAKE2B e203fed2d6516e166c9bded0b1ba0b88b479e3c819e5695f619e4b36ffd76230ab220ad2604709d42989f96b405e791664511b191284b3f5c5c3b4149d3cbd7b SHA512 c8a086a394448bfc8ed1f5d520d0fc87786001f57c0e170ba2ba48b177fce641d91c585a393188710a829767c5bd06411b46e36ea915dba2266ef113fe99bff6
MISC metadata.xml 735 BLAKE2B 12ea133df3d7eb9367a65e572ef91893e654d5b77caa27c66e4b5b41ba90ebc5e619eb78dfff2a67183d2c1cbfcf35fa903b2bb75604ce153d5cedfce5346e3c SHA512 8ed6b12d4f2aa1985897a8d81ce898dbc0d14ac222f3d0f259cbe80fbb8b2349dff7677627daeaf39a422f290200da4fac6348abc81c9e35da0ca73a11cfdd83
diff --git a/sys-devel/clang-common/clang-common-17.0.0.9999.ebuild b/sys-devel/clang-common/clang-common-17.0.0.9999.ebuild
index 8bca701cfc0b..430e91d98aee 100644
--- a/sys-devel/clang-common/clang-common-17.0.0.9999.ebuild
+++ b/sys-devel/clang-common/clang-common-17.0.0.9999.ebuild
@@ -63,6 +63,36 @@ pkg_pretend() {
fi
}
+doclang_cfg() {
+ local triple="${1}"
+
+ local tool
+ for tool in ${triple}-clang{,++}; do
+ newins - "${tool}.cfg" <<-EOF
+ # This configuration file is used by ${tool} driver.
+ @gentoo-common.cfg
+ @gentoo-common-ld.cfg
+ EOF
+ done
+
+ newins - "${triple}-clang-cpp.cfg" <<-EOF
+ # This configuration file is used by the ${triple}-clang-cpp driver.
+ @gentoo-common.cfg
+ EOF
+
+ # Install symlinks for triples with other vendor strings since some
+ # programs insist on mangling the triple.
+ local vendor
+ for vendor in gentoo pc unknown; do
+ local vendor_triple="${triple%%-*}-${vendor}-${triple#*-*-}"
+ for tool in clang{,++,-cpp}; do
+ if [[ ! -f "${ED}/etc/clang/${vendor_triple}-${tool}.cfg" ]]; then
+ dosym "${triple}-${tool}.cfg" "/etc/clang/${vendor_triple}-${tool}.cfg"
+ fi
+ done
+ done
+}
+
src_install() {
newbashcomp bash-autocomplete.sh clang
@@ -91,6 +121,13 @@ src_install() {
-include "${EPREFIX}/usr/include/gentoo/maybe-stddefs.h"
EOF
+ # clang-cpp does not like link args being passed to it when directly
+ # invoked, so use a separate configuration file.
+ newins - gentoo-common-ld.cfg <<-EOF
+ # This file contains flags common to clang and clang++
+ @gentoo-hardened-ld.cfg
+ EOF
+
# Baseline hardening (bug #851111)
newins - gentoo-hardened.cfg <<-EOF
# Some of these options are added unconditionally, regardless of
@@ -99,7 +136,11 @@ src_install() {
-fstack-protector-strong
-fPIE
-include "${EPREFIX}/usr/include/gentoo/fortify.h"
+ EOF
+ newins - gentoo-hardened-ld.cfg <<-EOF
+ # Some of these options are added unconditionally, regardless of
+ # USE=hardened, for parity with sys-devel/gcc.
-Wl,-z,relro
EOF
@@ -146,7 +187,10 @@ src_install() {
# https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode
# https://libcxx.llvm.org/Hardening.html#using-hardened-mode
-D_LIBCPP_ENABLE_HARDENED_MODE=1
+ EOF
+ cat >> "${ED}/etc/clang/gentoo-hardened-ld.cfg" <<-EOF || die
+ # Options below are conditional on USE=hardened.
-Wl,-z,now
EOF
fi
@@ -176,18 +220,13 @@ src_install() {
# We only install config files for supported ABIs because unprefixed tools
# might be used for crosscompilation where e.g. PIE may not be supported.
# See bug #912237 and bug #901247.
+ doclang_cfg "${CHOST}"
+
# Just ${CHOST} won't do due to bug #912685.
local abi
for abi in $(get_all_abis); do
local abi_chost=$(get_abi_CHOST "${abi}")
-
- local tool
- for tool in ${abi_chost}-clang{,++,-cpp}; do
- newins - "${tool}.cfg" <<-EOF
- # This configuration file is used by ${tool} driver.
- @gentoo-common.cfg
- EOF
- done
+ doclang_cfg "${abi_chost}"
done
}
diff --git a/sys-devel/clang-common/clang-common-17.0.0_rc4.ebuild b/sys-devel/clang-common/clang-common-17.0.0_rc4-r1.ebuild
index 8bca701cfc0b..430e91d98aee 100644
--- a/sys-devel/clang-common/clang-common-17.0.0_rc4.ebuild
+++ b/sys-devel/clang-common/clang-common-17.0.0_rc4-r1.ebuild
@@ -63,6 +63,36 @@ pkg_pretend() {
fi
}
+doclang_cfg() {
+ local triple="${1}"
+
+ local tool
+ for tool in ${triple}-clang{,++}; do
+ newins - "${tool}.cfg" <<-EOF
+ # This configuration file is used by ${tool} driver.
+ @gentoo-common.cfg
+ @gentoo-common-ld.cfg
+ EOF
+ done
+
+ newins - "${triple}-clang-cpp.cfg" <<-EOF
+ # This configuration file is used by the ${triple}-clang-cpp driver.
+ @gentoo-common.cfg
+ EOF
+
+ # Install symlinks for triples with other vendor strings since some
+ # programs insist on mangling the triple.
+ local vendor
+ for vendor in gentoo pc unknown; do
+ local vendor_triple="${triple%%-*}-${vendor}-${triple#*-*-}"
+ for tool in clang{,++,-cpp}; do
+ if [[ ! -f "${ED}/etc/clang/${vendor_triple}-${tool}.cfg" ]]; then
+ dosym "${triple}-${tool}.cfg" "/etc/clang/${vendor_triple}-${tool}.cfg"
+ fi
+ done
+ done
+}
+
src_install() {
newbashcomp bash-autocomplete.sh clang
@@ -91,6 +121,13 @@ src_install() {
-include "${EPREFIX}/usr/include/gentoo/maybe-stddefs.h"
EOF
+ # clang-cpp does not like link args being passed to it when directly
+ # invoked, so use a separate configuration file.
+ newins - gentoo-common-ld.cfg <<-EOF
+ # This file contains flags common to clang and clang++
+ @gentoo-hardened-ld.cfg
+ EOF
+
# Baseline hardening (bug #851111)
newins - gentoo-hardened.cfg <<-EOF
# Some of these options are added unconditionally, regardless of
@@ -99,7 +136,11 @@ src_install() {
-fstack-protector-strong
-fPIE
-include "${EPREFIX}/usr/include/gentoo/fortify.h"
+ EOF
+ newins - gentoo-hardened-ld.cfg <<-EOF
+ # Some of these options are added unconditionally, regardless of
+ # USE=hardened, for parity with sys-devel/gcc.
-Wl,-z,relro
EOF
@@ -146,7 +187,10 @@ src_install() {
# https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode
# https://libcxx.llvm.org/Hardening.html#using-hardened-mode
-D_LIBCPP_ENABLE_HARDENED_MODE=1
+ EOF
+ cat >> "${ED}/etc/clang/gentoo-hardened-ld.cfg" <<-EOF || die
+ # Options below are conditional on USE=hardened.
-Wl,-z,now
EOF
fi
@@ -176,18 +220,13 @@ src_install() {
# We only install config files for supported ABIs because unprefixed tools
# might be used for crosscompilation where e.g. PIE may not be supported.
# See bug #912237 and bug #901247.
+ doclang_cfg "${CHOST}"
+
# Just ${CHOST} won't do due to bug #912685.
local abi
for abi in $(get_all_abis); do
local abi_chost=$(get_abi_CHOST "${abi}")
-
- local tool
- for tool in ${abi_chost}-clang{,++,-cpp}; do
- newins - "${tool}.cfg" <<-EOF
- # This configuration file is used by ${tool} driver.
- @gentoo-common.cfg
- EOF
- done
+ doclang_cfg "${abi_chost}"
done
}
diff --git a/sys-devel/clang-common/clang-common-18.0.0.9999.ebuild b/sys-devel/clang-common/clang-common-18.0.0.9999.ebuild
index 8bca701cfc0b..430e91d98aee 100644
--- a/sys-devel/clang-common/clang-common-18.0.0.9999.ebuild
+++ b/sys-devel/clang-common/clang-common-18.0.0.9999.ebuild
@@ -63,6 +63,36 @@ pkg_pretend() {
fi
}
+doclang_cfg() {
+ local triple="${1}"
+
+ local tool
+ for tool in ${triple}-clang{,++}; do
+ newins - "${tool}.cfg" <<-EOF
+ # This configuration file is used by ${tool} driver.
+ @gentoo-common.cfg
+ @gentoo-common-ld.cfg
+ EOF
+ done
+
+ newins - "${triple}-clang-cpp.cfg" <<-EOF
+ # This configuration file is used by the ${triple}-clang-cpp driver.
+ @gentoo-common.cfg
+ EOF
+
+ # Install symlinks for triples with other vendor strings since some
+ # programs insist on mangling the triple.
+ local vendor
+ for vendor in gentoo pc unknown; do
+ local vendor_triple="${triple%%-*}-${vendor}-${triple#*-*-}"
+ for tool in clang{,++,-cpp}; do
+ if [[ ! -f "${ED}/etc/clang/${vendor_triple}-${tool}.cfg" ]]; then
+ dosym "${triple}-${tool}.cfg" "/etc/clang/${vendor_triple}-${tool}.cfg"
+ fi
+ done
+ done
+}
+
src_install() {
newbashcomp bash-autocomplete.sh clang
@@ -91,6 +121,13 @@ src_install() {
-include "${EPREFIX}/usr/include/gentoo/maybe-stddefs.h"
EOF
+ # clang-cpp does not like link args being passed to it when directly
+ # invoked, so use a separate configuration file.
+ newins - gentoo-common-ld.cfg <<-EOF
+ # This file contains flags common to clang and clang++
+ @gentoo-hardened-ld.cfg
+ EOF
+
# Baseline hardening (bug #851111)
newins - gentoo-hardened.cfg <<-EOF
# Some of these options are added unconditionally, regardless of
@@ -99,7 +136,11 @@ src_install() {
-fstack-protector-strong
-fPIE
-include "${EPREFIX}/usr/include/gentoo/fortify.h"
+ EOF
+ newins - gentoo-hardened-ld.cfg <<-EOF
+ # Some of these options are added unconditionally, regardless of
+ # USE=hardened, for parity with sys-devel/gcc.
-Wl,-z,relro
EOF
@@ -146,7 +187,10 @@ src_install() {
# https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode
# https://libcxx.llvm.org/Hardening.html#using-hardened-mode
-D_LIBCPP_ENABLE_HARDENED_MODE=1
+ EOF
+ cat >> "${ED}/etc/clang/gentoo-hardened-ld.cfg" <<-EOF || die
+ # Options below are conditional on USE=hardened.
-Wl,-z,now
EOF
fi
@@ -176,18 +220,13 @@ src_install() {
# We only install config files for supported ABIs because unprefixed tools
# might be used for crosscompilation where e.g. PIE may not be supported.
# See bug #912237 and bug #901247.
+ doclang_cfg "${CHOST}"
+
# Just ${CHOST} won't do due to bug #912685.
local abi
for abi in $(get_all_abis); do
local abi_chost=$(get_abi_CHOST "${abi}")
-
- local tool
- for tool in ${abi_chost}-clang{,++,-cpp}; do
- newins - "${tool}.cfg" <<-EOF
- # This configuration file is used by ${tool} driver.
- @gentoo-common.cfg
- EOF
- done
+ doclang_cfg "${abi_chost}"
done
}
diff --git a/sys-devel/clang-common/clang-common-18.0.0_pre20230906.ebuild b/sys-devel/clang-common/clang-common-18.0.0_pre20230906-r1.ebuild
index 8bca701cfc0b..430e91d98aee 100644
--- a/sys-devel/clang-common/clang-common-18.0.0_pre20230906.ebuild
+++ b/sys-devel/clang-common/clang-common-18.0.0_pre20230906-r1.ebuild
@@ -63,6 +63,36 @@ pkg_pretend() {
fi
}
+doclang_cfg() {
+ local triple="${1}"
+
+ local tool
+ for tool in ${triple}-clang{,++}; do
+ newins - "${tool}.cfg" <<-EOF
+ # This configuration file is used by ${tool} driver.
+ @gentoo-common.cfg
+ @gentoo-common-ld.cfg
+ EOF
+ done
+
+ newins - "${triple}-clang-cpp.cfg" <<-EOF
+ # This configuration file is used by the ${triple}-clang-cpp driver.
+ @gentoo-common.cfg
+ EOF
+
+ # Install symlinks for triples with other vendor strings since some
+ # programs insist on mangling the triple.
+ local vendor
+ for vendor in gentoo pc unknown; do
+ local vendor_triple="${triple%%-*}-${vendor}-${triple#*-*-}"
+ for tool in clang{,++,-cpp}; do
+ if [[ ! -f "${ED}/etc/clang/${vendor_triple}-${tool}.cfg" ]]; then
+ dosym "${triple}-${tool}.cfg" "/etc/clang/${vendor_triple}-${tool}.cfg"
+ fi
+ done
+ done
+}
+
src_install() {
newbashcomp bash-autocomplete.sh clang
@@ -91,6 +121,13 @@ src_install() {
-include "${EPREFIX}/usr/include/gentoo/maybe-stddefs.h"
EOF
+ # clang-cpp does not like link args being passed to it when directly
+ # invoked, so use a separate configuration file.
+ newins - gentoo-common-ld.cfg <<-EOF
+ # This file contains flags common to clang and clang++
+ @gentoo-hardened-ld.cfg
+ EOF
+
# Baseline hardening (bug #851111)
newins - gentoo-hardened.cfg <<-EOF
# Some of these options are added unconditionally, regardless of
@@ -99,7 +136,11 @@ src_install() {
-fstack-protector-strong
-fPIE
-include "${EPREFIX}/usr/include/gentoo/fortify.h"
+ EOF
+ newins - gentoo-hardened-ld.cfg <<-EOF
+ # Some of these options are added unconditionally, regardless of
+ # USE=hardened, for parity with sys-devel/gcc.
-Wl,-z,relro
EOF
@@ -146,7 +187,10 @@ src_install() {
# https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode
# https://libcxx.llvm.org/Hardening.html#using-hardened-mode
-D_LIBCPP_ENABLE_HARDENED_MODE=1
+ EOF
+ cat >> "${ED}/etc/clang/gentoo-hardened-ld.cfg" <<-EOF || die
+ # Options below are conditional on USE=hardened.
-Wl,-z,now
EOF
fi
@@ -176,18 +220,13 @@ src_install() {
# We only install config files for supported ABIs because unprefixed tools
# might be used for crosscompilation where e.g. PIE may not be supported.
# See bug #912237 and bug #901247.
+ doclang_cfg "${CHOST}"
+
# Just ${CHOST} won't do due to bug #912685.
local abi
for abi in $(get_all_abis); do
local abi_chost=$(get_abi_CHOST "${abi}")
-
- local tool
- for tool in ${abi_chost}-clang{,++,-cpp}; do
- newins - "${tool}.cfg" <<-EOF
- # This configuration file is used by ${tool} driver.
- @gentoo-common.cfg
- EOF
- done
+ doclang_cfg "${abi_chost}"
done
}