diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index c84ce57c26f7..21497a1706fa 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -26,6 +26,7 @@ DIST gcc-14-20251107.tar.xz 88366224 BLAKE2B cca2911c4b5cbcc21580c037ed8b5cc50da DIST gcc-14-20251114.tar.xz 88382292 BLAKE2B 0c0a4182d99b1f2a16fba442f256952cd69bdb9d41ee871602874e3315163ac87e6183635be94b99af5cd766ade0fb088da326bdfeba8efaa4c7465c6c07aedb SHA512 56b5039891b0e7b1787a89bcf17c34b8ed1117c61129eac2bf754ba798a2e8e3563a51e45e2d99fd5f629a94ee62e7f496b440c8e89564b4b1d860b2c5862027 DIST gcc-14-20251121.tar.xz 88350500 BLAKE2B e6052d9d624bdc049ef5579ba27c3840dc7693ff9f13ca0c4bbf1ba9aaefe4f45c1be66bbedcd347f786bf1afb758c86d0884d04dd2908694fb59301b97231d3 SHA512 2532c47e37e7546ed2794114d93eb1135fa580698d5549e76de96d69231c6aa767701d67ab2ef18dacfddf1889c406b5d25ae407454cd22c1178949b1d1e35ae DIST gcc-14-20251128.tar.xz 88332284 BLAKE2B 5ad2b2fcd3a6be02698539d29205f6cde74b4116cfbe46dc9a5e70e72dad1c3c5776a21555c9816f901bc5ad08aa1d15caf3d4a7b0594ca27347c69d26363579 SHA512 6088469db2deb8da1456641ea6ba8dd4eeee4856e698857908cc0762d9fbb38e99e9abd7424bcf3366317857814fcf225990fb199ffead8a40abb0db1960f060 +DIST gcc-14-20251205.tar.xz 88331532 BLAKE2B 7513e5c220a5aa5d861d9761109f8195f54c5c683580b677d37724d83c3aecead5e8609acf3f05adf3e8383954c444c11f07de99bac0803f0aac563a01596745 SHA512 b05c932de5c478cf9b64a4f2cbdf1de9b37a4845614ff8bc0e0563cd1e716f69ea0fe070ef9bf5ec1fccc0658705ec76cef536ac8dc4ca4c32cf81dad8588c37 DIST gcc-14.3.0-musl-patches-2.tar.xz 6888 BLAKE2B e2f9ce6d445b7ced8f78c18585887422ffdd32356368a456a7cfde5a1854515b32546c1d25a2ab8637ee62d04a2c0bda1afc8d53c44e5c80c12499918c3c18fc SHA512 0b59d228213024cd93d9ffbd4ae5947021db2dc71bd320cc0e4ccf523d39f72e61be25c1a49a343729fe7b9abf7181503de3e650b255d80ab6d969d0de317d19 DIST gcc-14.3.0-patches-4.tar.xz 28116 BLAKE2B 5804f10b40befad1cb9eab4e536377c08aed8c54d3de27f188ae2d52fa7c082a529ad9cb64f9574087afe74e64138c9fc918d653bd2c1d062b8b68d5c7ab640d SHA512 75ee4895efea0131107cf664a0f9fd10f38da0d0f93704e1920778e07f1a860d872a97e1e528f8e1ab754cca25948bb09c444b80cc04f5ae3a516336290bb99c DIST gcc-15-20251108.tar.xz 92349104 BLAKE2B 40c890e2d61dd02f20a190c8d82175a1df271bd77a1d7cf1bae296ca47941cd43f672ada0fed0c8b27a65d469aedefd0fccd9282418f28feebff29f0b940ef1a SHA512 cc12ff495ba08d37e719278aac7bd526f53609d6cce1f4b45183ff336b78e26eb97967fe5405f791528d0913378084ad6c596e246a5a85b550b84051e5b3974b diff --git a/sys-devel/gcc/gcc-14.3.1_p20251205.ebuild b/sys-devel/gcc/gcc-14.3.1_p20251205.ebuild new file mode 100644 index 000000000000..bce5cafa90e5 --- /dev/null +++ b/sys-devel/gcc/gcc-14.3.1_p20251205.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="14.3.0" +PATCH_VER="4" +MUSL_VER="2" +MUSL_GCC_VER="14.3.0" +PYTHON_COMPAT=( python3_{11..14} ) + +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 +}