diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index f8f071a0743ef..c7ff4b19830c1 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -73,6 +73,7 @@ DIST gcc-16-20260530.tar.xz 98931912 BLAKE2B 1564a846116739b12eb0175e6e06af17573 DIST gcc-16-20260606.tar.xz 98933420 BLAKE2B 67bb9d27dd868677109d65218e8accf7aa33007941eedf8192e8ab251730e90ecc91345c1ddf3b76d5b50cb6328af0047d3a1598ec365fc4b7ee56d1df971d6d SHA512 6fc9ed0659a5c9d890c8c726b10ac14a6f0f84764dc2894fa30525962c93fd6ea3d33d41e8b40dd21e1f8ffb201e665b1e84179f826e6bfdb99df280f1e892bf DIST gcc-16-20260613.tar.xz 98960356 BLAKE2B a22c685da2cf7a2cfd1ff268d5368d03de8c26141f9d27d43aa926a8702e12cbc3fd6e755bdd3dc383d12360a001ed14aebcdb8e87b7197638991075a607198c SHA512 24a3c58f86754916ccef3294a68ed5d30a3bcedba95e1ae6da3abafd1356128a6e29447eebfb500b6184a6f7ee5c66eb913698aeefa4a11b6b43f0720ab3e6cf DIST gcc-16-20260620.tar.xz 98961572 BLAKE2B 304dd54ac6e89cb6bf45a24b2f94b95d94c04fb0ed63b412a52006f3c8640708624b29a74d44762182101d450ca74bb06859c40c5ddcb23c6d030390e08e6ecc SHA512 b619ffdc646d2398b81b53cd471bac7e933432d481eb4e238e84884e76fc195c6615591df425d85565a3159e5229a882743616d4051762cdc2e33d616ee436c5 +DIST gcc-16-20260627.tar.xz 98980236 BLAKE2B 48c1a93aa5bc19b8253a434e5d618cc90c8d43792ad1c5389b8594fa8510a1d328f82d94d3ebe75d18c4affeee39747c99ab5793a1cfb94b0c6c5f5ebece3e52 SHA512 2ce38e78a78fd9cd5d136c1013cf6b91d06a5572521145824442abe3ff0a738f46f9944a520f67fc9b6d7e5ab9c6a5c6c0660a9861c8fd8386b8f65ac1fa994c DIST gcc-16.1.0-musl-patches-1.tar.xz 3036 BLAKE2B 348d0233c92e6b269011342a170989bb6375ff267b6ecfc00aafab2f793b925f1cccd654f438a4f88168a7999cab965aadfb6dfc9957a9b1a5bca62c326e0b84 SHA512 dc9c2d4a6e9088ad245039a962333ecba8476288844c686e7df9c867c8018451fccbd645a5690d554ee39809e6467285b3c619553edfed379c5f84c003bcb7e5 DIST gcc-16.1.0-patches-1.tar.xz 25128 BLAKE2B 487f8e1f204b8218ae54ef093fd3b99dd94a24e0fdc22ac37182b28e382e5601edc85e9af5c8374e76a576c8e8280cb84603e6f60bfb645a2adff5ee8e2e0070 SHA512 f5b4aefa101cef70c6bd78c689e90b0a30db14718ae2ff01827fe13af793f812616f16cc705fa333676f31025f3e840e243ef52851d32278b86d8b515589a2d9 DIST gcc-16.1.0-patches-2.tar.xz 26584 BLAKE2B 3597414aa1bedace5444834778bb666fc3372f3703975d5bc4656a792dbe498a76be582254bb3400f157cfcce2925c117d19595380fa2ffb6dab1e6f0d36ad57 SHA512 480a457b8944df5dd189c912d76457d650c348bce161465fd6031dd7c2803f8f9b26ef31b4ae8a8770c88eaa9c59a42c06ee1be3e1c8ec718974dda8b38a84ad diff --git a/sys-devel/gcc/gcc-16.1.1_p20260627.ebuild b/sys-devel/gcc/gcc-16.1.1_p20260627.ebuild new file mode 100644 index 0000000000000..3c65dcacdd623 --- /dev/null +++ b/sys-devel/gcc/gcc-16.1.1_p20260627.ebuild @@ -0,0 +1,56 @@ +# 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_HAS_TESTS=1 +PATCH_GCC_VER="16.1.0" +PATCH_VER="3" +MUSL_VER="1" +MUSL_GCC_VER="16.1.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=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~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 + [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch + eapply_user +}