diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index 7f185a221f4e4..f2fb99e39c27c 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -48,6 +48,7 @@ DIST gcc-15-20260508.tar.xz 92425260 BLAKE2B ef33a59d1b31c4476ae5663b88ef3f1e2b6 DIST gcc-15-20260515.tar.xz 92432788 BLAKE2B 53d8d3d650a82c5876bd27c0239aa3236d6885f2e5042450bd9075c660b1048c5b6bf4bdd0e3911f9538875fdb6f6ad9dd0d28ff2e62172e0ba4b939a7bb3012 SHA512 b77293c516e1978643c55b34d4e7f80fb1561236baa82c006676dbf13f76c4ec007aca7062a2d73bed54af977550328f01907a67b3302c4f0deab59afde9a00f DIST gcc-15-20260522.tar.xz 92439160 BLAKE2B d585f05f369d10f93050db58ccbc068979e773ab7456a9e1f93f9ca77d800c5bdfa8083391b037496b537e44dc7debf9606f205afe7b50e62a6f000483f1edd5 SHA512 b1d0ba28a8d17dbb112c05b46c0b1e6eae97ca496ad4440fc9145b5a320d6fa76f80e83da5feeb9e02e1af2d56bb56bf419c5159df2cf5da28d1bc14fe1f027f DIST gcc-15-20260529.tar.xz 92444808 BLAKE2B 5127b9e5da0536fdd85b9963f17de3457c876f10f105e3a0ba0be3a19359b7182a9d057c0cbc1ba1f43de6ffb8f5bef704f926337b4cfd202f3de89208eaa013 SHA512 c9147bbff5002b875d639337902bf3556bb091b3ee30e9a97f7ca144460caba8d2d21928234ac65740b294100959a927d941b88e8a37e512de07cfec9cdd274a +DIST gcc-15-20260612.tar.xz 92460676 BLAKE2B 15f4f30a1e208c3dec8c10e8dca415d24881efac4bbc99d21b593e29dd89acf35a69d1cb4a5a390d745741d089b7fe04236f6db364a7ae2a6c00f08198ee67cf SHA512 2a689569d22752e848218c64137cd24330c708b6b3bf6ccbb1e65b0cb9b6a59bb822dbf20bda8e318845ebe399862f4e2dad14500f95c812aeb9a63d5debcd5d DIST gcc-15.2.0-musl-patches-1.tar.xz 7168 BLAKE2B 6b7cfb123c3a691693240db815e6852a1e6c3820baa499368c463e0a0c1490c701053cfea10bf1d33f89dd2ba7bbddf63c4e6e0976590e3aaf1fee78b9282079 SHA512 ab80ffd69b9ead1fe06a9433faaa97ae53947d214999e77ea363fa6435de080d031a1aa6869e1dc088e800317952f2dc249a9e872113db56fb76f0a432240871 DIST gcc-15.2.0-patches-2.tar.xz 18708 BLAKE2B 09c54bd1b8436e12a3da1c3ee41017cd3e960268a5d4637252152b44a4cc93934d4dc93eff842d7dcee4d1688b7f2d98be48114ef5c864793242177f7549c933 SHA512 f11cfafe00f7d18e05a316bd1dc522477cc4118fdd65019cf85bca674ff0180951506fef84ce0b5b13190ccfe44c777a64afdc602a4580595005b43b79ae7411 DIST gcc-15.2.0-patches-4.tar.xz 19912 BLAKE2B 255d6435fe5b205d23d04eb885c55b421b1e6ffc30623fad5fe8a4cee5582f210e9851165b0976629d7e49288366a14635acdf1ad70f6d2fe288bdf88a9416a5 SHA512 f36c0a1e8abbb25cebfd93965950c072f33d8dbbc0be285e8e374a3602fe7e7cae3dfe44f24856d2231bcbfb40fe0c1de3b629e2f573d97f82212a7acf52ccc8 diff --git a/sys-devel/gcc/gcc-15.3.1_p20260612.ebuild b/sys-devel/gcc/gcc-15.3.1_p20260612.ebuild new file mode 100644 index 0000000000000..76e691e7f5afa --- /dev/null +++ b/sys-devel/gcc/gcc-15.3.1_p20260612.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="15.2.0" +PATCH_VER="8" +MUSL_VER="1" +MUSL_GCC_VER="15.2.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 +}