summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin7872 -> 7875 bytes
-rw-r--r--sys-devel/crossdev/Manifest2
-rw-r--r--sys-devel/crossdev/crossdev-20240921.ebuild2
-rw-r--r--sys-devel/distcc/Manifest5
-rw-r--r--sys-devel/distcc/distcc-3.4-r1.ebuild181
-rw-r--r--sys-devel/distcc/distcc-3.4-r2.ebuild182
-rw-r--r--sys-devel/distcc/distcc-3.4-r5.ebuild (renamed from sys-devel/distcc/distcc-3.4-r3.ebuild)75
-rw-r--r--sys-devel/distcc/files/distcc-config-r1180
-rw-r--r--sys-devel/gcc/Manifest2
-rw-r--r--sys-devel/gcc/gcc-14.2.1_p20241012.ebuild54
10 files changed, 284 insertions, 399 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index faf28ab15c94..c1c21ce51f2a 100644
--- a/sys-devel/Manifest.gz
+++ b/sys-devel/Manifest.gz
Binary files differ
diff --git a/sys-devel/crossdev/Manifest b/sys-devel/crossdev/Manifest
index efd588886dce..5c0013b02e5e 100644
--- a/sys-devel/crossdev/Manifest
+++ b/sys-devel/crossdev/Manifest
@@ -3,6 +3,6 @@ DIST crossdev-20240702.tar.xz 31072 BLAKE2B a8c847490a89f86016adc0b33551ecdb9177
DIST crossdev-20240921.tar.xz 31008 BLAKE2B 9daeabcbeefa32624d71b86c5ddeb1f6bf6ccdf4e6f590bf7517388d4d68b73ae2651ca09d122f128f002568127bd5d7d767db9d6c043e5330b62c3104929848 SHA512 6b7f0bce309d2b0a8fdf9b28cf72098de9dafaf7f338a8308e94e2068cefc15cd2407eee39a9eeb0ea0a1bc46569cedc69a51bb01f140faebe374b660cb1cdf6
EBUILD crossdev-20240209.ebuild 952 BLAKE2B d169d0136dd9e34c894bf9a5aa2326ae015e623e085c9fd823479e137b2749b03c4918a9578be951261d0e4503f231aa2404a9beff0ebb3e2200d557e11e3394 SHA512 d1334b75a608b85b19deb10552521fd04cbd7ebddda862fde0900eca6470c9cad68de3789957cdab0189a2e6d78df118d27f649bd20d439e2894194deaf291b0
EBUILD crossdev-20240702.ebuild 955 BLAKE2B 45af8d9c297a10fc80d721c76c074730361066ab7bba91d570bbd3d3197be7ed7fc55b7a75b1de907b7197ad98c30d387363030e712b0e03acf586535f11b93b SHA512 c90950846db2514ff6eec30ae01a1fb7d0b0c522b63fc5ade9cb554835864ade4f76ff10ee2930353f291edad2f2af0075a905295d08e742c67a8efa9095e24a
-EBUILD crossdev-20240921.ebuild 958 BLAKE2B 1c904e544bc0bf2a94fd6e0cebad5d50d6995878c164d58ff4be6d3f1a85df7c2a1122e58a4864fac085baeceddd4b6747776d923281037181ee7d92b1687f51 SHA512 5e998ce9ad5994a7b198d171b41d5288bb3bc4448e6b081f63cd30fc5af99f7c6fe6c164333cf0b297d5c8d1c8a4cad1813d520581721a257c2c590f0495716a
+EBUILD crossdev-20240921.ebuild 956 BLAKE2B 1015dc03611147af8c352dfae26586030a5b5b335332831536c52c3f28b2ef0382d96d26fe640abf8d1436847871a4581c7931dbaf0024722cca2abf0a378854 SHA512 1be24e08c234ac9f76054b25ede1d289ba644f1348fbbbbffc77ee352174a40749d5179cdc5b449e605e21cde9fafcec5591e3b6ea185179c53a744c82a97403
EBUILD crossdev-99999999.ebuild 960 BLAKE2B 8e9e752d6c74cc8812ba110c018607fde79945f487d8f7915c2a61e112d56c3c3a7a23d6ca64a149d34f10753467162a2e52d03e44bcf869350d32a857b63756 SHA512 a233556b61751d4c0b10c66b6cb1390a879e2e619c3f9d7329c20ce2c5252060760b4d0c59f961ec3994e298c587ba8d24097fa54f5b99a6332c5988485a9219
MISC metadata.xml 624 BLAKE2B 3f6609db4ad549927d9e7c0f259926de694435707aba7fabd2d08333294bc38bad42b59b7ab9f6372bec292708ebfdb88d88ee0e8dca1ed29389e33427a1d46e SHA512 4605364fe155bb8facae233aa29fadae23fe3d1f012451f8611933252f81aa3d3337ac9d68feabe059c959e2a94a67a85e6d88f7fa08d6d31e2418034b60010a
diff --git a/sys-devel/crossdev/crossdev-20240921.ebuild b/sys-devel/crossdev/crossdev-20240921.ebuild
index ed64781cb1ab..6246737b7faa 100644
--- a/sys-devel/crossdev/crossdev-20240921.ebuild
+++ b/sys-devel/crossdev/crossdev-20240921.ebuild
@@ -11,7 +11,7 @@ if [[ ${PV} == "99999999" ]] ; then
"
else
SRC_URI="https://dev.gentoo.org/~chewi/distfiles/${CATEGORY}/${PN}/${P}.tar.xz"
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
fi
DESCRIPTION="Gentoo Cross-toolchain generator"
diff --git a/sys-devel/distcc/Manifest b/sys-devel/distcc/Manifest
index c4d81bfe70c5..3511a53d058e 100644
--- a/sys-devel/distcc/Manifest
+++ b/sys-devel/distcc/Manifest
@@ -4,14 +4,13 @@ AUX distcc-3.4-fix-dcc_gcc_rewrite_fqn-corruption.patch 2846 BLAKE2B 228501a60a2
AUX distcc-3.4-pump-tests.patch 5922 BLAKE2B 17e755c3a6c04465a6c0be1e2657eb92d3a25e871eb62750d4a379290c01c6939ad55feb76a76b35b66d366aedaa64e4b7d63143be412a93a22448d33c819271 SHA512 8d2a6e5a5ac219fad327919344d68274243337fabd6361ee6355be658e2503d6d3657d8adb285dc40105b0916096bb9b21e93f544fb7342dcf9ac03c70c6a4fc
AUX distcc-3.4-rewrite-chost.patch 2934 BLAKE2B 88289d943bfb4824a2b42654c2cd0ce9e3a797551b5589396d15e5094294210729c941d1309078981c8cc4679c347f4f5b6037af47d0b97ed2c60d6dd0da7023 SHA512 9573211d5bb2ae606af2d1ba19a78f7d7498e7755f6a922d7c544f5c9daae3e0463438739958e59f7b25fcc13615723d83fe4d3a1e2f6fc4997c6680f9ac9f81
AUX distcc-config 5218 BLAKE2B 41d483481e483217ed6313b4f82ed66c4f006070c269bc5ee1283db9c000d12ab29a90d1813df2a590f87c02520e312c35901a7d3f1364480b68bb02d668d51d SHA512 fe3dee7a89ec16e103b52d3555d483b42e4cbe716e3e77f792c543fb2c82eca5f6b8e0d2809f16c805d55263471108ff2dea1f4a5d55826f67f8b94239aca946
+AUX distcc-config-r1 5213 BLAKE2B 352534097ecd8ecfe3306df169afcf4896a4f8550e021d1acdb73b2ab3efe4c028b361664022e35c23f509bbba60cea8a38299a51d40012bf57a367c04bae3ee SHA512 f829e2962884585b7fdf6751728e1cc895c51687d05a3028334b1804dda0968e3c5e9d30ebe12b0c95be44d8739fce93605033fcdc3ed34a90755165ce18288b
AUX distcc-hardened.patch 1084 BLAKE2B 4b78fce2ab19b3832006a8b0092d3d38df07ce8225eb367c90256a158a41121e09269cd4bf59a1fc450db58eafe09e757f6e3ca4ae074a4567676701228c8289 SHA512 d1150dc83bf89c332f8c0bd01e15f52f95d71868733bd2e5430a5377f1a4aaa2b5b6e0cd488d33d9b94ce18b0eeeadf4af719db536b001b50e4d482b35c7e057
AUX distccd.confd 1328 BLAKE2B d6a4756afbe7813733227091028e1db570371750bd22dedbfb66e4d86e995138cdc3a63c853b5674c8678bf0475d7276c45f74b40ac916d060760f06ac3fdf73 SHA512 e6ff0547892b9e7a255afeb56eb07516e4b328d86d5d987872f1bf24a973132544e9f17195e5f8827305218429adb1c5290cde3ef1c094efd035592cbdde7eec
AUX distccd.initd 374 BLAKE2B 48011f19225536311701250470011bc1c1be16f2400831964dd5e28920d4a0c955565a15b5014118e6fa65f4ac12c99d2f2dc6a63c1aa5863b0ef9633953ff82 SHA512 f707bdb15066e4eab4481c6be7e482e81f58586456123b42ddc3e92b0d7973b81975e3670166e20d0814b0c0d7441bec7788e9bd16af5fa9746380895b23bf65
AUX distccd.service-1 234 BLAKE2B 0ab7f90e6f7274fd9fe72df6a58e5323b2d65e91ca8805c549f9f92fa41a3099ea3f0a422270ca0ffe37d682d435da513552e6b7c33617c767909577cc83f85a SHA512 c2aa1b5e0d34c6b8c20d3fb83b8328e6859cefc9f3f98130701f7448fe896f5c80e29091fc4bbab01d1f600c0258b790571d86e7057dc4cfe799b53aef92a1bc
AUX distccd.service.conf 186 BLAKE2B b3776e30ded7777be2610f07acec0f70a3cfb7718be149ad5bebd58538add7efead69368020c30610ec33a87ab4d3b3f0123d347f6d0d4abd74f3c714b039955 SHA512 19bf25757ba724ba4e728797b8c6fccabb8b95d2945f0e3c216303a04a4e7470507dcf8535657954f265ed5f067f32dcb3fb6558e9958a86de76b1e66e2b31b6
DIST distcc-3.4.tar.gz 1239519 BLAKE2B 8dc9baa6b1f65f2bb3621e4e643d7d15d55e2338de4d6a7f20a572d9ec280925b4421a294f40c9fcfba8d4193a6bd1871eb8caf13dd2c2a8a81834671f6bc8bc SHA512 de09329fdfa25e08a9b9529190ddaa9ceccb34c8655692edb86f367a8db4a71b750c6e928cb8e5a670f51fbbc02fd1c8524f72e01b3ebaacc1106dc676d18eef
-EBUILD distcc-3.4-r1.ebuild 5219 BLAKE2B 481fd8691b028e5806034b6f508a3dbe3bf31bd8beae3471f671a7f4fcec24adeaa3809a3b40d346b53b6100bc7472456a9fe15024d6b3bc5c34e23a5c98596e SHA512 9d17c1312c3e712347ad10b1a8f317b443d6e648fdb0e12c5f96c8de774b5e9074b01daf26b38f5d449a38127df909babba0acadf59a1ca4f71747daa5df0ea4
-EBUILD distcc-3.4-r2.ebuild 5287 BLAKE2B 14e0587528e5016cc714c4ef893dceb618b6197f6710cb1dbf8a7e78a3d483a37d2ee8cb1383983951e2f93d3521117fb408be23617e08635b261e1f1b52bf92 SHA512 0def4102d804befb2dcb7038e22384dbe84cba68f3e8b9648d83c05c372274ce5d5182a3f63bba01231d1b70d0608417a7a24230825f75f770d52ee6f1c466af
-EBUILD distcc-3.4-r3.ebuild 5315 BLAKE2B 1db8a326d78a0d0c5bcbc8853bd94e5a44a3cbab86a55e178a3b0d5b4b3142277eab51e7c2d69e455002b796b35d7269a33b7d80578f83bb5ac220f066d4ac61 SHA512 dd3184a77aa3d2eb9f04b2ab83b07300ef6dcabfb93969d06a3afb1c090bb58fc6e8e361c11909b4fe812747613d6129ae9360a2bbe98ec103ad88836b29836e
EBUILD distcc-3.4-r4.ebuild 5456 BLAKE2B d5485af92cb2daca6b4f1de788a99cbef300cf55aff415523c33e98ebe8f634107c20ce4999520163f89d9665e8fa1735a7150259bd8e186be5c5940207e6adc SHA512 ed2187969141801f7aa82676601ad76cab13bacae396d0903f4af3dc59da2cb49d7eece0ad9650e57142714017d4bd12e6633504971a97c9080a4f3bf4834ab1
+EBUILD distcc-3.4-r5.ebuild 5490 BLAKE2B 2f1138c02c095dc48d0ee905632b9334b5be886bb9a6c7e9d8f164d7ff0f6540618907fde8715a4462f8bb8f102ce4af9a8de6b9a5452c054a8067f7414d45fc SHA512 696f8f881b50b8bdbcdf4e1533687378a43d290e0a1577caf842af92dadf2f518d7203b9ab7e4a5a2f3a58a1e16c2a886b9d6c61b5cae903f0023da7a61d5497
MISC metadata.xml 430 BLAKE2B 6e7c7b3cbb7009bd40528f114ec88491dab2a7d7c50469684298cb9ab816903f2befd5b6c5d6c6c829f768faa896cb4786242a099310a18837011d0433adccad SHA512 7baf41e27b6e8179050dac0c4aefd481ca3d45df1fe848ee6cdfca435739646e5cd647ed0aa8157544c81c27012e68c64e86bda47c9d7464d22828b4d660ce2e
diff --git a/sys-devel/distcc/distcc-3.4-r1.ebuild b/sys-devel/distcc/distcc-3.4-r1.ebuild
deleted file mode 100644
index f5a660195bc6..000000000000
--- a/sys-devel/distcc/distcc-3.4-r1.ebuild
+++ /dev/null
@@ -1,181 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit autotools flag-o-matic prefix python-single-r1 systemd
-
-DESCRIPTION="Distribute compilation of C code across several machines on a network"
-HOMEPAGE="https://github.com/distcc/distcc"
-SRC_URI="https://github.com/distcc/distcc/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="gssapi gtk hardened ipv6 selinux xinetd zeroconf"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- dev-libs/popt
- gssapi? ( net-libs/libgssglue )
- gtk? ( x11-libs/gtk+:3 )
- zeroconf? ( >=net-dns/avahi-0.6[dbus] )
-"
-DEPEND="${RDEPEND}
- sys-libs/binutils-libs"
-BDEPEND="
- dev-build/autoconf-archive
- virtual/pkgconfig"
-RDEPEND+="
- acct-user/distcc
- dev-util/shadowman
- >=sys-devel/gcc-config-1.4.1
- selinux? ( sec-policy/selinux-distcc )
- xinetd? ( sys-apps/xinetd )"
-
-src_prepare() {
- eapply "${FILESDIR}/${PN}-3.0-xinetd.patch"
- # SOCKSv5 support needed for Portage, bug #537616
- eapply "${FILESDIR}/${PN}-3.2_rc1-socks5.patch"
- eapply "${FILESDIR}/${PN}-3.4-pump-tests.patch"
- eapply_user
-
- # Bugs #120001, #167844 and probably more. See patch for description.
- use hardened && eapply "${FILESDIR}/distcc-hardened.patch"
-
- sed -i \
- -e "/PATH/s:\$distcc_location:${EPREFIX}/usr/lib/distcc/bin:" \
- -e "s:@PYTHON@:${EPYTHON}:" \
- pump.in || die "sed failed"
-
- sed \
- -e "s:@EPREFIX@:${EPREFIX:-/}:" \
- -e "s:@libdir@:/usr/lib:" \
- "${FILESDIR}/distcc-config" > "${T}/distcc-config" || die
-
- # TODO: gdb tests fail due to gdb failing to find .c file
- sed -i -e '/Gdb.*Case,/d' test/testdistcc.py || die
-
- hprefixify update-distcc-symlinks.py src/{serve,daemon}.c
- python_fix_shebang update-distcc-symlinks.py "${T}/distcc-config"
- eautoreconf
-}
-
-src_configure() {
- # https://github.com/distcc/distcc/issues/454
- append-cppflags -DPY_SSIZE_T_CLEAN
-
- local myconf=(
- --disable-Werror
- --libdir="${EPREFIX}"/usr/lib
- $(use_enable ipv6 rfc2553)
- $(use_with gtk)
- --without-gnome
- $(use_with gssapi auth)
- $(use_with zeroconf avahi)
- )
-
- econf "${myconf[@]}"
-}
-
-src_test() {
- # sandbox breaks some tests, and hangs some too
- # retest once #590084 is fixed
- local -x SANDBOX_ON=0
- emake -j1 check
-}
-
-src_install() {
- # override GZIP_BIN to stop it from compressing manpages
- emake -j1 DESTDIR="${D}" GZIP_BIN=false install
- python_optimize
-
- newinitd "${FILESDIR}/distccd.initd" distccd
- systemd_newunit "${FILESDIR}/distccd.service-1" distccd.service
- systemd_install_serviced "${FILESDIR}/distccd.service.conf"
-
- cp "${FILESDIR}/distccd.confd" "${T}/distccd" || die
- if use zeroconf; then
- cat >> "${T}/distccd" <<-EOF || die
-
- # Enable zeroconf support in distccd
- DISTCCD_OPTS="\${DISTCCD_OPTS} --zeroconf"
- EOF
-
- sed -i '/ExecStart/ s|$| --zeroconf|' "${D}$(systemd_get_systemunitdir)"/distccd.service || die
- fi
- doconfd "${T}/distccd"
-
- newenvd - 02distcc <<-EOF || die
- # This file is managed by distcc-config; use it to change these settings.
- # DISTCC_LOG and DISTCC_DIR should not be set.
- DISTCC_VERBOSE="${DISTCC_VERBOSE:-0}"
- DISTCC_FALLBACK="${DISTCC_FALLBACK:-1}"
- DISTCC_SAVE_TEMPS="${DISTCC_SAVE_TEMPS:-0}"
- DISTCC_TCP_CORK="${DISTCC_TCP_CORK}"
- DISTCC_SSH="${DISTCC_SSH}"
- UNCACHED_ERR_FD="${UNCACHED_ERR_FD}"
- DISTCC_ENABLE_DISCREPANCY_EMAIL="${DISTCC_ENABLE_DISCREPANCY_EMAIL}"
- DCC_EMAILLOG_WHOM_TO_BLAME="${DCC_EMAILLOG_WHOM_TO_BLAME}"
- EOF
-
- keepdir /usr/lib/distcc
-
- dobin "${T}/distcc-config"
-
- if use gtk; then
- einfo "Renaming /usr/bin/distccmon-gnome to /usr/bin/distccmon-gui"
- einfo "This is to have a little sensability in naming schemes between distccmon programs"
- mv "${ED}/usr/bin/distccmon-gnome" "${ED}/usr/bin/distccmon-gui" || die
- dosym distccmon-gui /usr/bin/distccmon-gnome
- fi
-
- if use xinetd; then
- insinto /etc/xinetd.d
- newins "doc/example/xinetd" distcc
- fi
-
- insinto /usr/share/shadowman/tools
- newins - distcc <<<"${EPREFIX}/usr/lib/distcc/bin"
- newins - distccd <<<"${EPREFIX}/usr/lib/distcc"
-
- rm -r "${ED}/etc/default" || die
- rm "${ED}/etc/distcc/clients.allow" || die
- rm "${ED}/etc/distcc/commands.allow.sh" || die
-}
-
-pkg_postinst() {
- # remove the old paths when switching from libXX to lib
- if [[ $(get_libdir) != lib && ${SYMLINK_LIB} != yes && \
- -d ${EROOT}/usr/$(get_libdir)/distcc ]]; then
- rm -r -f "${EROOT}/usr/$(get_libdir)/distcc" || die
- fi
-
- if [[ -z ${ROOT} ]]; then
- eselect compiler-shadow update distcc
- eselect compiler-shadow update distccd
- fi
-
- elog
- elog "Tips on using distcc with Gentoo can be found at"
- elog "https://wiki.gentoo.org/wiki/Distcc"
- elog
- elog "distcc-pump is known to cause breakage with multiple packages."
- elog "Do NOT enable it globally."
- elog
- elog "To use the distccmon programs with Gentoo you should use this command:"
- elog "# DISTCC_DIR=\"${DISTCC_DIR:-${BUILD_PREFIX}/.distcc}\" distccmon-text 5"
-
- if use gtk; then
- elog "Or:"
- elog "# DISTCC_DIR=\"${DISTCC_DIR:-${BUILD_PREFIX}/.distcc}\" distccmon-gnome"
- fi
-}
-
-pkg_prerm() {
- if [[ -z ${REPLACED_BY_VERSION} && -z ${ROOT} ]]; then
- eselect compiler-shadow remove distcc
- fi
-}
diff --git a/sys-devel/distcc/distcc-3.4-r2.ebuild b/sys-devel/distcc/distcc-3.4-r2.ebuild
deleted file mode 100644
index a0a3b7ca7ef5..000000000000
--- a/sys-devel/distcc/distcc-3.4-r2.ebuild
+++ /dev/null
@@ -1,182 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit autotools flag-o-matic prefix python-single-r1 systemd
-
-DESCRIPTION="Distribute compilation of C code across several machines on a network"
-HOMEPAGE="https://github.com/distcc/distcc"
-SRC_URI="https://github.com/distcc/distcc/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="gssapi gtk hardened ipv6 selinux xinetd zeroconf"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- dev-libs/popt
- gssapi? ( net-libs/libgssglue )
- gtk? ( x11-libs/gtk+:3 )
- zeroconf? ( >=net-dns/avahi-0.6[dbus] )
-"
-DEPEND="${RDEPEND}
- sys-libs/binutils-libs"
-BDEPEND="
- dev-build/autoconf-archive
- virtual/pkgconfig"
-RDEPEND+="
- acct-user/distcc
- dev-util/shadowman
- >=sys-devel/gcc-config-1.4.1
- selinux? ( sec-policy/selinux-distcc )
- xinetd? ( sys-apps/xinetd )"
-
-src_prepare() {
- eapply "${FILESDIR}/${PN}-3.0-xinetd.patch"
- # SOCKSv5 support needed for Portage, bug #537616
- eapply "${FILESDIR}/${PN}-3.2_rc1-socks5.patch"
- eapply "${FILESDIR}/${PN}-3.4-pump-tests.patch"
- eapply "${FILESDIR}/${P}-fix-dcc_gcc_rewrite_fqn-corruption.patch"
- eapply_user
-
- # Bugs #120001, #167844 and probably more. See patch for description.
- use hardened && eapply "${FILESDIR}/distcc-hardened.patch"
-
- sed -i \
- -e "/PATH/s:\$distcc_location:${EPREFIX}/usr/lib/distcc/bin:" \
- -e "s:@PYTHON@:${EPYTHON}:" \
- pump.in || die "sed failed"
-
- sed \
- -e "s:@EPREFIX@:${EPREFIX:-/}:" \
- -e "s:@libdir@:/usr/lib:" \
- "${FILESDIR}/distcc-config" > "${T}/distcc-config" || die
-
- # TODO: gdb tests fail due to gdb failing to find .c file
- sed -i -e '/Gdb.*Case,/d' test/testdistcc.py || die
-
- hprefixify update-distcc-symlinks.py src/{serve,daemon}.c
- python_fix_shebang update-distcc-symlinks.py "${T}/distcc-config"
- eautoreconf
-}
-
-src_configure() {
- # https://github.com/distcc/distcc/issues/454
- append-cppflags -DPY_SSIZE_T_CLEAN
-
- local myconf=(
- --disable-Werror
- --libdir="${EPREFIX}"/usr/lib
- $(use_enable ipv6 rfc2553)
- $(use_with gtk)
- --without-gnome
- $(use_with gssapi auth)
- $(use_with zeroconf avahi)
- )
-
- econf "${myconf[@]}"
-}
-
-src_test() {
- # sandbox breaks some tests, and hangs some too
- # retest once #590084 is fixed
- local -x SANDBOX_ON=0
- emake -j1 check
-}
-
-src_install() {
- # override GZIP_BIN to stop it from compressing manpages
- emake -j1 DESTDIR="${D}" GZIP_BIN=false install
- python_optimize
-
- newinitd "${FILESDIR}/distccd.initd" distccd
- systemd_newunit "${FILESDIR}/distccd.service-1" distccd.service
- systemd_install_serviced "${FILESDIR}/distccd.service.conf"
-
- cp "${FILESDIR}/distccd.confd" "${T}/distccd" || die
- if use zeroconf; then
- cat >> "${T}/distccd" <<-EOF || die
-
- # Enable zeroconf support in distccd
- DISTCCD_OPTS="\${DISTCCD_OPTS} --zeroconf"
- EOF
-
- sed -i '/ExecStart/ s|$| --zeroconf|' "${D}$(systemd_get_systemunitdir)"/distccd.service || die
- fi
- doconfd "${T}/distccd"
-
- newenvd - 02distcc <<-EOF || die
- # This file is managed by distcc-config; use it to change these settings.
- # DISTCC_LOG and DISTCC_DIR should not be set.
- DISTCC_VERBOSE="${DISTCC_VERBOSE:-0}"
- DISTCC_FALLBACK="${DISTCC_FALLBACK:-1}"
- DISTCC_SAVE_TEMPS="${DISTCC_SAVE_TEMPS:-0}"
- DISTCC_TCP_CORK="${DISTCC_TCP_CORK}"
- DISTCC_SSH="${DISTCC_SSH}"
- UNCACHED_ERR_FD="${UNCACHED_ERR_FD}"
- DISTCC_ENABLE_DISCREPANCY_EMAIL="${DISTCC_ENABLE_DISCREPANCY_EMAIL}"
- DCC_EMAILLOG_WHOM_TO_BLAME="${DCC_EMAILLOG_WHOM_TO_BLAME}"
- EOF
-
- keepdir /usr/lib/distcc
-
- dobin "${T}/distcc-config"
-
- if use gtk; then
- einfo "Renaming /usr/bin/distccmon-gnome to /usr/bin/distccmon-gui"
- einfo "This is to have a little sensability in naming schemes between distccmon programs"
- mv "${ED}/usr/bin/distccmon-gnome" "${ED}/usr/bin/distccmon-gui" || die
- dosym distccmon-gui /usr/bin/distccmon-gnome
- fi
-
- if use xinetd; then
- insinto /etc/xinetd.d
- newins "doc/example/xinetd" distcc
- fi
-
- insinto /usr/share/shadowman/tools
- newins - distcc <<<"${EPREFIX}/usr/lib/distcc/bin"
- newins - distccd <<<"${EPREFIX}/usr/lib/distcc"
-
- rm -r "${ED}/etc/default" || die
- rm "${ED}/etc/distcc/clients.allow" || die
- rm "${ED}/etc/distcc/commands.allow.sh" || die
-}
-
-pkg_postinst() {
- # remove the old paths when switching from libXX to lib
- if [[ $(get_libdir) != lib && ${SYMLINK_LIB} != yes && \
- -d ${EROOT}/usr/$(get_libdir)/distcc ]]; then
- rm -r -f "${EROOT}/usr/$(get_libdir)/distcc" || die
- fi
-
- if [[ -z ${ROOT} ]]; then
- eselect compiler-shadow update distcc
- eselect compiler-shadow update distccd
- fi
-
- elog
- elog "Tips on using distcc with Gentoo can be found at"
- elog "https://wiki.gentoo.org/wiki/Distcc"
- elog
- elog "distcc-pump is known to cause breakage with multiple packages."
- elog "Do NOT enable it globally."
- elog
- elog "To use the distccmon programs with Gentoo you should use this command:"
- elog "# DISTCC_DIR=\"${DISTCC_DIR:-${BUILD_PREFIX}/.distcc}\" distccmon-text 5"
-
- if use gtk; then
- elog "Or:"
- elog "# DISTCC_DIR=\"${DISTCC_DIR:-${BUILD_PREFIX}/.distcc}\" distccmon-gnome"
- fi
-}
-
-pkg_prerm() {
- if [[ -z ${REPLACED_BY_VERSION} && -z ${ROOT} ]]; then
- eselect compiler-shadow remove distcc
- fi
-}
diff --git a/sys-devel/distcc/distcc-3.4-r3.ebuild b/sys-devel/distcc/distcc-3.4-r5.ebuild
index d00fc2bed616..c9317d52aec3 100644
--- a/sys-devel/distcc/distcc-3.4-r3.ebuild
+++ b/sys-devel/distcc/distcc-3.4-r5.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit autotools flag-o-matic prefix python-single-r1 systemd
@@ -17,29 +17,34 @@ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~
IUSE="gssapi gtk hardened ipv6 selinux xinetd zeroconf"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RDEPEND="${PYTHON_DEPS}
+RDEPEND="
+ ${PYTHON_DEPS}
dev-libs/popt
gssapi? ( net-libs/libgssglue )
gtk? ( x11-libs/gtk+:3 )
zeroconf? ( >=net-dns/avahi-0.6[dbus] )
"
-DEPEND="${RDEPEND}
- sys-libs/binutils-libs"
+DEPEND="
+ ${RDEPEND}
+ sys-libs/binutils-libs
+"
BDEPEND="
+ ${PYTHON_DEPS}
dev-build/autoconf-archive
- virtual/pkgconfig"
+ virtual/pkgconfig
+"
RDEPEND+="
acct-user/distcc
dev-util/shadowman
>=sys-devel/gcc-config-1.4.1
selinux? ( sec-policy/selinux-distcc )
- xinetd? ( sys-apps/xinetd )"
+ xinetd? ( sys-apps/xinetd )
+"
PATCHES=(
"${FILESDIR}/${PN}-3.0-xinetd.patch"
# SOCKSv5 support needed for Portage, bug #537616
"${FILESDIR}/${PN}-3.2_rc1-socks5.patch"
- "${FILESDIR}/${PN}-3.4-pump-tests.patch"
"${FILESDIR}/${P}-fix-dcc_gcc_rewrite_fqn-corruption.patch"
"${FILESDIR}/${P}-rewrite-chost.patch"
)
@@ -50,15 +55,9 @@ src_prepare() {
# Bugs #120001, #167844 and probably more. See patch for description.
use hardened && eapply "${FILESDIR}/distcc-hardened.patch"
- sed -i \
- -e "/PATH/s:\$distcc_location:${EPREFIX}/usr/lib/distcc/bin:" \
- -e "s:@PYTHON@:${EPYTHON}:" \
- pump.in || die "sed failed"
-
sed \
-e "s:@EPREFIX@:${EPREFIX:-/}:" \
- -e "s:@libdir@:/usr/lib:" \
- "${FILESDIR}/distcc-config" > "${T}/distcc-config" || die
+ "${FILESDIR}/distcc-config-r1" > "${T}/distcc-config" || die
# TODO: gdb tests fail due to gdb failing to find .c file
sed -i -e '/Gdb.*Case,/d' test/testdistcc.py || die
@@ -80,21 +79,30 @@ src_configure() {
--without-gnome
$(use_with gssapi auth)
$(use_with zeroconf avahi)
+
+ # NB: we can't pass --disable-pump-mode as it disables Python
+ # detection; we instead hack it out below
)
econf "${myconf[@]}"
}
+src_compile() {
+ # override PYTHON= to prevent setup.py from running
+ emake PYTHON=
+}
+
src_test() {
# sandbox breaks some tests, and hangs some too
# retest once #590084 is fixed
local -x SANDBOX_ON=0
- emake -j1 check
+ # run the main test suite directly to skip pump tests
+ emake -j1 distcc-maintainer-check
}
src_install() {
# override GZIP_BIN to stop it from compressing manpages
- emake -j1 DESTDIR="${D}" GZIP_BIN=false install
+ emake -j1 DESTDIR="${D}" GZIP_BIN=false PYTHON= install
python_optimize
newinitd "${FILESDIR}/distccd.initd" distccd
@@ -114,16 +122,16 @@ src_install() {
doconfd "${T}/distccd"
newenvd - 02distcc <<-EOF || die
- # This file is managed by distcc-config; use it to change these settings.
- # DISTCC_LOG and DISTCC_DIR should not be set.
- DISTCC_VERBOSE="${DISTCC_VERBOSE:-0}"
- DISTCC_FALLBACK="${DISTCC_FALLBACK:-1}"
- DISTCC_SAVE_TEMPS="${DISTCC_SAVE_TEMPS:-0}"
- DISTCC_TCP_CORK="${DISTCC_TCP_CORK}"
- DISTCC_SSH="${DISTCC_SSH}"
- UNCACHED_ERR_FD="${UNCACHED_ERR_FD}"
- DISTCC_ENABLE_DISCREPANCY_EMAIL="${DISTCC_ENABLE_DISCREPANCY_EMAIL}"
- DCC_EMAILLOG_WHOM_TO_BLAME="${DCC_EMAILLOG_WHOM_TO_BLAME}"
+ # This file is managed by distcc-config; use it to change these settings.
+ # DISTCC_LOG and DISTCC_DIR should not be set.
+ DISTCC_VERBOSE="${DISTCC_VERBOSE:-0}"
+ DISTCC_FALLBACK="${DISTCC_FALLBACK:-1}"
+ DISTCC_SAVE_TEMPS="${DISTCC_SAVE_TEMPS:-0}"
+ DISTCC_TCP_CORK="${DISTCC_TCP_CORK}"
+ DISTCC_SSH="${DISTCC_SSH}"
+ UNCACHED_ERR_FD="${UNCACHED_ERR_FD}"
+ DISTCC_ENABLE_DISCREPANCY_EMAIL="${DISTCC_ENABLE_DISCREPANCY_EMAIL}"
+ DCC_EMAILLOG_WHOM_TO_BLAME="${DCC_EMAILLOG_WHOM_TO_BLAME}"
EOF
keepdir /usr/lib/distcc
@@ -143,14 +151,21 @@ src_install() {
fi
insinto /usr/share/shadowman/tools
- newins - distcc <<<"${EPREFIX}/usr/lib/distcc/bin"
- newins - distccd <<<"${EPREFIX}/usr/lib/distcc"
+ newins - distcc <<<"${EPREFIX}/usr/lib/distcc"
rm -r "${ED}/etc/default" || die
rm "${ED}/etc/distcc/clients.allow" || die
rm "${ED}/etc/distcc/commands.allow.sh" || die
}
+pkg_preinst() {
+ # Compatibility symlink for Portage
+ dosym . /usr/lib/distcc/bin
+ if [[ -e ${EROOT}/usr/lib/distcc/bin && ! -L ${EROOT}/usr/lib/distcc/bin ]]; then
+ rm -rf "${EROOT}"/usr/lib/distcc/bin || die
+ fi
+}
+
pkg_postinst() {
# remove the old paths when switching from libXX to lib
if [[ $(get_libdir) != lib && ${SYMLINK_LIB} != yes && \
@@ -160,15 +175,13 @@ pkg_postinst() {
if [[ -z ${ROOT} ]]; then
eselect compiler-shadow update distcc
- eselect compiler-shadow update distccd
fi
elog
elog "Tips on using distcc with Gentoo can be found at"
elog "https://wiki.gentoo.org/wiki/Distcc"
elog
- elog "distcc-pump is known to cause breakage with multiple packages."
- elog "Do NOT enable it globally."
+ elog "distcc-pump is broken and no longer installed."
elog
elog "To use the distccmon programs with Gentoo you should use this command:"
elog "# DISTCC_DIR=\"${DISTCC_DIR:-${BUILD_PREFIX}/.distcc}\" distccmon-text 5"
diff --git a/sys-devel/distcc/files/distcc-config-r1 b/sys-devel/distcc/files/distcc-config-r1
new file mode 100644
index 000000000000..e58a173f9d2e
--- /dev/null
+++ b/sys-devel/distcc/files/distcc-config-r1
@@ -0,0 +1,180 @@
+#!/usr/bin/env python
+# Copyright 2003-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+import os, re, signal, subprocess, sys
+
+options=[
+ '--get-hosts',
+ '--set-hosts',
+ '--get-verbose',
+ '--set-verbose',
+ '--get-log',
+ '--set-log',
+ '--update-masquerade',
+ '--update-masquerade-with-crossdev',
+ '--help',
+ '--get-env',
+ '--set-env'
+]
+
+tmpcmdline=sys.argv[1:]
+cmdline=[]
+
+eprefix = '@EPREFIX@'
+bindir = os.path.join(eprefix, 'usr', 'bin')
+sbindir = os.path.join(eprefix, 'usr', 'sbin')
+libdir = os.path.join(eprefix, 'usr', 'lib')
+sysconfdir = os.path.join(eprefix, 'etc')
+
+gcc_config = os.path.join(bindir, 'gcc-config')
+env_update = os.path.join(sbindir, 'env-update')
+envfile = os.path.join(sysconfdir, 'env.d', '02distcc')
+default_distcc_dir = os.path.join(sysconfdir, 'distcc')
+hostfile = os.path.join(default_distcc_dir, 'hosts')
+distcc_path = os.path.join(bindir, 'distcc')
+dccc_dir = os.path.join(libdir, 'distcc')
+
+def exithandler(foo,bar):
+ os.kill(0,signal.SIGKILL)
+ sys.exit(1)
+
+signal.signal(signal.SIGINT,exithandler)
+
+def isroot(ret=0):
+ if os.getuid() != 0:
+ if ret == 0:
+ print('!!! %s %s must be run as root' % (sys.argv[:1][0],tmpcmdline[0]))
+ sys.exit(1)
+ else:
+ retval = 0
+ else:
+ retval = 1
+ return retval
+
+def writeenv(var,value):
+ isroot()
+ distcc_env = []
+ distcc_env = open(envfile, 'r').readlines()
+ distcc_env_new = open(envfile, 'w')
+ for i in range(len(distcc_env)):
+ if re.compile(var+'="(.*)"').match(distcc_env[i]):
+ distcc_env[i] = var+'="'+value+'"\n'
+ distcc_env_new.write(distcc_env[i])
+ #print('Set %s to: %s ' % (var,value))
+ subprocess.Popen(env_update, shell=True)
+ print('If you want to use these new settings in an existing shell,')
+ print('you need to "source /etc/profile" to get the changes.')
+
+def readenv(var):
+ distcc_env = open(envfile, 'r').read()
+ match = re.compile(var+'="(.*)"').search(distcc_env)
+ if match:
+ print(var+'='+match.group(1))
+ else:
+ print(var,'not set.')
+
+def installlink(chost='', version=''):
+ for file in ['gcc', 'cc', 'c++', 'g++']:
+ if not chost == '':
+ file = '%s-%s' % (chost,file)
+ if not version == '':
+ file = '%s-%s' % (file,version)
+ path = os.path.join(dccc_dir,file)
+ if os.path.exists(os.path.join(bindir,file)):
+ if not os.path.exists(path):
+ print('Creating %s symlink...' % (path))
+ os.symlink(distcc_path,path)
+ #else:
+ # print('Already exists. Skipping...')
+
+def installlinks():
+ p = subprocess.Popen([gcc_config+" -C -l"], shell=True, stdout=subprocess.PIPE)
+ lines = p.stdout.read().decode().rstrip().split('\n')
+ for line in lines:
+ columns = line.split()
+ if len(columns) >= 2:
+ matches = re.match("(.*)-(.*)", columns[1])
+ chost = matches.group(1)
+ version = matches.group(2)
+ installlink(chost)
+ installlink(chost, version)
+
+def uninstalllinks():
+ for root, dirs, files in os.walk(dccc_dir):
+ for file in files:
+ os.remove(os.path.join(root, file))
+
+def createdistccdir(dir):
+ if not os.path.exists(dir):
+ os.mkdir(dir)
+ os.chmod(dir, 0o755)
+
+for x in tmpcmdline:
+ if not x:
+ continue
+ if x[0:2]=="--":
+ if not x in options:
+ print("!!! Error: %s is an invalid option." % (x))
+ sys.exit(1)
+ else:
+ cmdline = x
+
+if '--get-hosts' in tmpcmdline:
+ HOSTS_ENV = os.environ.get('DISTCC_HOSTS')
+ HOSTS_HOME = os.path.join(os.environ.get('HOME'), '.distcc', 'hosts')
+ if HOSTS_ENV:
+ print(HOSTS_ENV)
+ elif os.path.isfile(HOSTS_HOME) and os.path.getsize(HOSTS_HOME) != 0:
+ print(HOSTS_HOME)
+ elif os.path.exists(hostfile):
+ print(open(hostfile, 'r').read().rstrip())
+ else:
+ print('No configuration file found. Setup your hosts with --set-hosts.')
+elif '--set-hosts' in tmpcmdline:
+ if isroot(1):
+ PATH = default_distcc_dir
+ else:
+ PATH = os.path.join(os.environ.get('HOME'), '.distcc')
+ createdistccdir(PATH)
+ open(os.path.join(PATH, 'hosts'), 'w').write(cmdline + '\n')
+elif '--get-verbose' in tmpcmdline:
+ readenv('DISTCC_VERBOSE')
+elif '--set-verbose' in tmpcmdline:
+ writeenv('DISTCC_VERBOSE',tmpcmdline[1])
+elif '--get-log' in tmpcmdline:
+ readenv('DISTCC_LOG')
+elif '--set-log' in tmpcmdline:
+ writeenv('DISTCC_LOG',tmpcmdline[1])
+elif '--update-masquerade' in tmpcmdline:
+ isroot()
+ uninstalllinks()
+ print('Creating symlinks...')
+ installlink()
+ installlinks()
+elif '--update-masquerade-with-crossdev' in tmpcmdline:
+ isroot()
+ uninstalllinks()
+ print('Creating symlinks...')
+ installlinks()
+elif '--get-env' in tmpcmdline:
+ if len(tmpcmdline) == 1:
+ print(open(envfile, 'r').read().rstrip())
+ elif len(tmpcmdline) == 2:
+ readenv(tmpcmdline[1])
+ else:
+ print('!!! Error: Specify only one variable.')
+elif '--set-env' in tmpcmdline:
+ if len(tmpcmdline) > 2 and len(tmpcmdline) <= 3:
+ isroot()
+ writeenv(tmpcmdline[1],tmpcmdline[2])
+ else:
+ print('!!! Error: Awaiting two parameters.')
+else:
+ cmd = sys.argv[:1][0]
+ print('Usage: %s --set-hosts DISTCC_HOSTS | --get-hosts' % (cmd))
+ print(' %s --set-verbose { 0 | 1 } | --get-verbose' % (cmd))
+ print(' %s --set-log FILE | --get-log' % (cmd))
+ print(' %s --set-env VARIABLE VALUE | --get-env [VARIABLE]' % (cmd))
+ print(' %s --update-masquerade' % (cmd))
+ print(' %s --update-masquerade-with-crossdev' % (cmd))
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 8ddee3015963..faf9fd237e7e 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -28,6 +28,7 @@ DIST gcc-14-20240817.tar.xz 88024252 BLAKE2B 994b3e263246e344c6898943a17feb63f07
DIST gcc-14-20240921.tar.xz 88149220 BLAKE2B d92a5a92f24a6f4ace3d1e321e7c9149e8a25222669998c8de010be596a18cc161f288e78ce358ce44fd29f28e56bc678a7c8c775a66ffb71a57c642a7f5af75 SHA512 6a50a6af4a5e661d636b6a7b13b0fe36a66e3be3e20ce97b62c4e9878c974396b9066dfccc108f0bf7f3b28b19e57535a415528b0f0ede1de13a4007625012db
DIST gcc-14-20240928.tar.xz 88163000 BLAKE2B 1340373a6b0a47ad11d4d09153df432e70a7ae57600db5da32f962790962e252b4b81e74122d8f50a7457a339cae5d713fd75b8ed2637b5c3bf3cf57dbb8573b SHA512 5120b9c42c0f2a44703aac9891bd729f979768689c666f1b208c23604597dd5f0e2062f261a1fe4b69b3dce6ccb3de90a1e3e9af78df6fd543756de507beefa5
DIST gcc-14-20241005.tar.xz 88173364 BLAKE2B 2aec7ce7aaee879be2ce0758e6eeaf664989e0257f5f0b1b94ef05f455729d9a6f5fb6710f4ac88320d0ecba68d12e0e46a074cb233984fd733d10b952bba6bd SHA512 f7d6302126a20906dab90a0b00d3c8bbec4948aec8024103578bb62f1dcad49d6a44f6b18792d18e32837d4aa764052d08a73bd4df546fa719c28fcdb9024f55
+DIST gcc-14-20241012.tar.xz 88156512 BLAKE2B a5a7bbf8da73fa579f2550be3c9b2ba47509f2719cb7c61404128c52aef03cde7efe8ebe8d631fd1e1970bca1148cc4b434fe20be36281c49d26aed0cfd6726a SHA512 fe51c51f460fea522c8ffdbfe4a4fd66652da1d25b3a40246207a794a6f376bdc7c27622a68fcbad02ad4023646dc53cf2daf6ca97e886b6e988174626cc39f0
DIST gcc-14.1.0-musl-patches-1.tar.xz 3600 BLAKE2B 4cd920b7ca1f122cae806707564d8e45bfd48e78c88788a12a301f6068b5a5f335d8885e67479ac536c66aeaa81f2ecb7240ae56e9fc821a7246ab66b453711f SHA512 61c48d90a55dfc2129d96aee69d939d6a89f6407f69f7bd12c1a619f28989f471fd219d731958f8e62b0fd650c32300f0ad8dc06d5df23d9fc8c1a77fe210c25
DIST gcc-14.2.0-patches-1.tar.xz 13208 BLAKE2B 17247d5b8871d60a33175302b9657c70f161ae49cb1fea0f217c54d3644151c9cae705b6f88e440fc872597447dabe8c12d9f6c40cbc91fb5e161015e614b3ea SHA512 b7a6939894f48bb046e407bac50db15c9301552afa7d300794243dd139837fdb3a293e4d95259247dd3622e01affcc086393ee5422331bb3d796450a72d6d0fa
DIST gcc-15-20240929.tar.xz 89549712 BLAKE2B 90b22ddf10f3c7f36f8a19e3a4436fed73b89f84b3f0c837cc12ba8585da1a2e38fc46801213dd6f8e61b115cf0a9f3952caeae268a9f6814c97f7ad08507358 SHA512 f082b945639db38125019f923856874b7f2a937168853c6339d0d9fbc5f0aa146879f4147b06759653c374c4e063fd02585a0fe942e666bcbb07851a308a652c
@@ -60,6 +61,7 @@ EBUILD gcc-14.2.1_p20240817.ebuild 1439 BLAKE2B fd86390a315a3ddd884bf2818eeaead7
EBUILD gcc-14.2.1_p20240921.ebuild 1439 BLAKE2B fd86390a315a3ddd884bf2818eeaead7d08a75454bcdd649e4b31f10f44020f6c9cbc22d6c99af427a146440db10bf1374e0f488efcb703dabbb8c55e21f7e04 SHA512 99cef96899f5bf926eb9ac15b433e51419bbd5f9f40d104eeb38462b9d8f009c8002677daa1f7356b11aa0ad71adda9d39227e868f550969a1ff0a84fba92f26
EBUILD gcc-14.2.1_p20240928.ebuild 1440 BLAKE2B 3d4038d849ea1aafce96598708fb002f65783438feb6ebbc94cc3041fa9a233db432e763bd4a073f72470f38a000db9e80d031bc855ea598320f785a2787b3a4 SHA512 fb335006cb185bf86635de535066378175c223193bcb4bb99bec6da92eb22256f59522709ba58120fdb7cb6103bedce1d6c65cee384efbde24e24dc0b03ce9a0
EBUILD gcc-14.2.1_p20241005.ebuild 1440 BLAKE2B 3d4038d849ea1aafce96598708fb002f65783438feb6ebbc94cc3041fa9a233db432e763bd4a073f72470f38a000db9e80d031bc855ea598320f785a2787b3a4 SHA512 fb335006cb185bf86635de535066378175c223193bcb4bb99bec6da92eb22256f59522709ba58120fdb7cb6103bedce1d6c65cee384efbde24e24dc0b03ce9a0
+EBUILD gcc-14.2.1_p20241012.ebuild 1440 BLAKE2B 3d4038d849ea1aafce96598708fb002f65783438feb6ebbc94cc3041fa9a233db432e763bd4a073f72470f38a000db9e80d031bc855ea598320f785a2787b3a4 SHA512 fb335006cb185bf86635de535066378175c223193bcb4bb99bec6da92eb22256f59522709ba58120fdb7cb6103bedce1d6c65cee384efbde24e24dc0b03ce9a0
EBUILD gcc-14.3.9999.ebuild 1410 BLAKE2B 9bae23ee70f670946a0b160e4d4d8a074584097a6b9a1f41c3e08a43271539d30ce7bb3651419a6950c74d24748e8423056dbc857e5c7ae96c7e42992d7395fc SHA512 72b07844e93065dd3dea5fc96f70d9502876932f3b9b8fe898ee0911d3750b47fc7e6fce802c8d8e93481a74ba46de0f9fb15cf48de1c3b347180a4d4c1303cf
EBUILD gcc-15.0.0_pre20240929-r1.ebuild 1360 BLAKE2B aa18602afc466120f72471ce5b490110a44946e0115786f1b84cf674a0219d1fae04d04f59abd17108359cf3140110ea3ca73b83a2837979cb11ecf53fc24c0e SHA512 0ff3a153e26fef2b9fc50aabda3462d9e0a635f8006a5e31b4e2b09e9e22a27fe7ffc20a2816f3aaaf2cce578ea413508a9cc52e48bf1d65d40ca33536e17c4b
EBUILD gcc-15.0.0_pre20240929.ebuild 1360 BLAKE2B 889d886eb63ddc117d9ff1ce0344867a0c09d5c945f334e45c474660e60da91620a2d4a4710507a9077c2daac9fc0d4a930b4b3f0cf6469990303d208414548d SHA512 e700180bcfdbf42a227b228ea5f49c23290c0b4fa0608e0bc0e7ffef5a7d8d2ae98006bcfeecf74b124564a5614e7cee54858a39fb5e94ea8775ea1f781dc58e
diff --git a/sys-devel/gcc/gcc-14.2.1_p20241012.ebuild b/sys-devel/gcc/gcc-14.2.1_p20241012.ebuild
new file mode 100644
index 000000000000..5c623e22f08d
--- /dev/null
+++ b/sys-devel/gcc/gcc-14.2.1_p20241012.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
+PATCH_GCC_VER="14.2.0"
+PATCH_VER="1"
+MUSL_VER="1"
+MUSL_GCC_VER="14.1.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=releases/gcc-$(ver_cut 1)
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # m68k doesnt build (ICE, bug 932733)
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
+ eapply_user
+}