diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index 51322e340abe..15ca46abe3e7 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -22,6 +22,7 @@ DIST gcc-14-20250801.tar.xz 88323948 BLAKE2B 1d47af7340faeed133a1d55bed8a788e4a7 DIST gcc-14-20251017.tar.xz 88341316 BLAKE2B cbf51aa6784652c90c58766a5f1baadb3395632b708988d7bc6043e2b943536acc5446d0463cee6192aaf026c5f93de09d9366bb3fe6d8134ab098c08b660552 SHA512 7b3385a7143003386df9c4794f2e1b0c79c8a5bccbc29a0e6a897d7028f51ac1e5c71796c0f0caaa3555acf427c8e6e0eccbd68d51512c4d6b5f6eafdc14a02b DIST gcc-14-20251205.tar.xz 88331532 BLAKE2B 7513e5c220a5aa5d861d9761109f8195f54c5c683580b677d37724d83c3aecead5e8609acf3f05adf3e8383954c444c11f07de99bac0803f0aac563a01596745 SHA512 b05c932de5c478cf9b64a4f2cbdf1de9b37a4845614ff8bc0e0563cd1e716f69ea0fe070ef9bf5ec1fccc0658705ec76cef536ac8dc4ca4c32cf81dad8588c37 DIST gcc-14-20251212.tar.xz 88337696 BLAKE2B efb74b486504c6bb65f2278c81b6ab0b585eb9eeb05aebe21ac048dc2c05af0050604c0e806719f87b44c8c1d1ee462a5c0af19e094cbf04cd386cadf2d3ff88 SHA512 11c670846fbad5b927539aa719c9fc582de05f9531341fb0ee327e6299c988849de9858d324289dce44d85edc9a15e399f7f4ac315f35f80f0e224e9c317c2b4 +DIST gcc-14-20251219.tar.xz 88338512 BLAKE2B db0cf66256dd6b5a2c6dbdce07412f56779c401dbd0d697f992b86e6c5503a3506b2bee2c8c8687e2985b4169298b9bd3536a8526a9e021f73c1e30f4ca31989 SHA512 9827cac134c417ed8fe3bdcda020a1ed5352e810aeb832a369edf69ed83bb28515849d196f042dc1ee84ab2a67f21c28d5d0ee3e000c1eb5160729996b563e1c 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_p20251219.ebuild b/sys-devel/gcc/gcc-14.3.1_p20251219.ebuild new file mode 100644 index 000000000000..f827e76d2ed1 --- /dev/null +++ b/sys-devel/gcc/gcc-14.3.1_p20251219.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="5" +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 +}