diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index ac9f137a129f7..247a1fa687c61 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -38,6 +38,7 @@ DIST gcc-14-20260306.tar.xz 88371144 BLAKE2B 88708d5bc8102cda936f22b00e8710d01e9 DIST gcc-14-20260313.tar.xz 88375016 BLAKE2B 411849b4ec7a1b9f1abdb74d2c8659017285e0e1f33f290782d3977e6abe57ca3bc967415cd641baab945348494dfd811477a191d0211db0f404581dde9f7484 SHA512 13e6a5f85ee42f6f3361d2b0b1a9d85915564b1a12f6c735cdee7d15a5a7ccf60da7bd967e6c91e16fbdd4a711d25cb4b97a7441e75444da722818c85be523b3 DIST gcc-14-20260320.tar.xz 88412768 BLAKE2B 631f571de4e80b8af48f140a610872855f0855186b0567152d726e489f834243b0159d7e27ef37a1726775bea57e87601860639a4afdf4f31a2b5153c0be2fdd SHA512 b8e2d4c492c14d6cbe693dc4e1622812623c6a102d3e6e2834e88c2e8aa0dbce874967d6b93f1e69df9f493dde309a941cda08bbd09d3e506967c5bebdd019a4 DIST gcc-14-20260327.tar.xz 88422376 BLAKE2B aff2a0e77eb177d02aba3c43c1b5a834c57b9a6a50cd540e9dc880897f41d61472a5cd1fe3ded106ec4e257c41dd4f999c54f2b7aa0331cd639fdf876cac48f2 SHA512 160f4623498a7ad2a78b4e78dbf21036f19675a0275568e38d5e0963cbef09cd733b8254a855fe05ff787f012a26da1c7964e614802423f83ae7aae882105759 +DIST gcc-14-20260403.tar.xz 88433364 BLAKE2B 009467f705e16ddefa5da56ad1f2953851e1bd4359ede21f8cd5ec9158292b5c5b6aa7e114ed6452874240402e40cbdc593a710adcc83def6a928f3723d60c72 SHA512 297bd1a92a104d5877a51c7e9e1f7d4327fab8f30e75d7b2090be7e3131ab98b1b7853470595424fb88b1d5586879831b26629ceff748ae4c919a4d9832392fd 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-14.3.0-patches-5.tar.xz 53952 BLAKE2B 3e5f63d760caf3c18c0f683c00170bb71998b4f0e15552103359d5c0954144676f6ca60e3e367a94cbdff0ab9bec21f3e04e30c38aae8f7e79911da30e6aeb76 SHA512 1702b7f6ee791468d02fcb9d418d2dd48e10cd6dc6eab0cf455aaf848bb78d953b00690fd78cab1ddd5af02acc237072c99ee43f0e512ae3e2e5f922f40f0dfe diff --git a/sys-devel/gcc/gcc-14.3.1_p20260403.ebuild b/sys-devel/gcc/gcc-14.3.1_p20260403.ebuild new file mode 100644 index 0000000000000..b6c44d735a356 --- /dev/null +++ b/sys-devel/gcc/gcc-14.3.1_p20260403.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2026 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="6" +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 +}