diff options
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/Manifest.gz | bin | 7872 -> 7875 bytes | |||
-rw-r--r-- | sys-devel/crossdev/Manifest | 2 | ||||
-rw-r--r-- | sys-devel/crossdev/crossdev-20240921.ebuild | 2 | ||||
-rw-r--r-- | sys-devel/distcc/Manifest | 5 | ||||
-rw-r--r-- | sys-devel/distcc/distcc-3.4-r1.ebuild | 181 | ||||
-rw-r--r-- | sys-devel/distcc/distcc-3.4-r2.ebuild | 182 | ||||
-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-r1 | 180 | ||||
-rw-r--r-- | sys-devel/gcc/Manifest | 2 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-14.2.1_p20241012.ebuild | 54 |
10 files changed, 284 insertions, 399 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz Binary files differindex faf28ab15c94..c1c21ce51f2a 100644 --- a/sys-devel/Manifest.gz +++ b/sys-devel/Manifest.gz 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 +} |