From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 0EF601584AD for ; Sat, 26 Apr 2025 11:53:15 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id E9A44342FB2 for ; Sat, 26 Apr 2025 11:53:14 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id D4DA51104B7; Sat, 26 Apr 2025 11:53:13 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id C71AD1104B7 for ; Sat, 26 Apr 2025 11:53:13 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 6AAD6342FA9 for ; Sat, 26 Apr 2025 11:53:13 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id C5F20FB9 for ; Sat, 26 Apr 2025 11:53:11 +0000 (UTC) From: "Fabian Groffen" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Fabian Groffen" Message-ID: <1745668359.2a3e12ec96eb07e5b8854c2d865d6cabf3e6ee9d.grobian@gentoo> Subject: [gentoo-commits] repo/proj/prefix:master commit in: sys-devel/gcc/ X-VCS-Repository: repo/proj/prefix X-VCS-Files: sys-devel/gcc/Manifest sys-devel/gcc/gcc-14.2.1_p20250419.ebuild X-VCS-Directories: sys-devel/gcc/ X-VCS-Committer: grobian X-VCS-Committer-Name: Fabian Groffen X-VCS-Revision: 2a3e12ec96eb07e5b8854c2d865d6cabf3e6ee9d X-VCS-Branch: master Date: Sat, 26 Apr 2025 11:53:11 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: e2a1458a-7ac0-4f83-bbae-1a0fab4d432d X-Archives-Hash: c2c202ac47dc61d672440f7a81af2178 commit: 2a3e12ec96eb07e5b8854c2d865d6cabf3e6ee9d Author: Fabian Groffen gentoo org> AuthorDate: Sat Apr 26 11:52:39 2025 +0000 Commit: Fabian Groffen gentoo org> CommitDate: Sat Apr 26 11:52:39 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=2a3e12ec sys-devel/gcc-14.2.1_p20250419: version bump from gx86 Signed-off-by: Fabian Groffen gentoo.org> sys-devel/gcc/Manifest | 3 + sys-devel/gcc/gcc-14.2.1_p20250419.ebuild | 154 ++++++++++++++++++++++++++++++ 2 files changed, 157 insertions(+) diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index 845e01cb0f..fe5a688f51 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -3,6 +3,7 @@ DIST gcc-13.2.0-patches-16.tar.xz 44792 BLAKE2B 0b6b584d68e69685638695596b780249 DIST gcc-13.3.0-arm64-darwin.patch 570896 BLAKE2B 6fcecb4adbf607f06a82b926c4b198a094a136210875320d784f49ac88e940d9b3c110f5b4e43df6751e40cdd90b82d00d461178c520b8692e1be427804b4cad SHA512 6165b6201f4ef94ee254ea40410911f5e5e1a05d80d4da2fce90b3db94000c3d5c5a28c9a4ad1a43387faae68d94fbef8e4d24e1ff049b9c0014c00f6f50757b DIST gcc-13.3.0.tar.xz 87909952 BLAKE2B 0f3728b026bd8aab0e469dda54facf157a4b753d3405a74b0be6105a6e3a493d26df4007d90ae4e05d86277d41873312638f9589d1757cee80ca84de7f2099e3 SHA512 ed5f2f4c6ed2c796fcf2c93707159e9dbd3ddb1ba063d549804dd68cdabbb6d550985ae1c8465ae9a336cfe29274a6eb0f42e21924360574ebd8e5d5c7c9a801 DIST gcc-14-20241221.tar.xz 88198252 BLAKE2B 7491c2e1c8885e201859143bdf5cae95af4c0db77709ec7d761ad535df30042f5deb8488ba7c508de3673e4b0f2af1de8d17476f39cd47b745ddccec6a9e4470 SHA512 91fe1e1d1f8e8fad64930a2eadf942a542bd42f841fceb49f475bccac00f04692b8cd38821ea9ee05f78b5c51001d8bd39df5f71f3a3d89aab8980019cea9be8 +DIST gcc-14-20250419.tar.xz 88251960 BLAKE2B b9d8312ac8dd9dd82128ff872e379f3426b4464e940ebd7748e53d6cd41e5a0f936f01ffdd3beb308a693ce98d3c323206ec67006de0735a430534b21899ae6d SHA512 44cd816dc61d4cf9925be47b75c5ddfc791dbfb43cc56a82e3a46673e8a2753d69f8b9230d68399c4b232c2daab85622168998f2dab767bb78c2292613dd6643 DIST gcc-14.1.0-arm64-darwin.patch 200436 BLAKE2B ba92f8a1586f01085775c2a0a724f597a3e51468ee906169f41b46e58f2c615173120e38b4fc8e800d67cbdd97375564e009d3d1bd810293897466c817e03dcf SHA512 8ea5c3f80fa406294a95fa86264998c9090a4b7e734563e336dd670c0f8da0cb6bee8f80296905c0d7d6f17d0b895147d703951e94ba71466423d959404f5a0e DIST gcc-14.1.0-macos-SDK-availability.patch 9044 BLAKE2B 783340d55590337b156d3fd866027a931bafc3bd7d6a14c7d7940e13ff6fffebe351dae3a6d98c0ba7c7c5b4f226179bb24a8714f5ca334170ab353e0c2f4be8 SHA512 6db397718d20eca0b4caf7de45358379d05e83bfc4cb4d800aaf82dd8b7994af5dbfd9ff56e3480722dfec78ad381457034552358fc1e8eeb0a5a3e3ad0e4cc1 DIST gcc-14.1.0-musl-patches-1.tar.xz 3600 BLAKE2B 4cd920b7ca1f122cae806707564d8e45bfd48e78c88788a12a301f6068b5a5f335d8885e67479ac536c66aeaa81f2ecb7240ae56e9fc821a7246ab66b453711f SHA512 61c48d90a55dfc2129d96aee69d939d6a89f6407f69f7bd12c1a619f28989f471fd219d731958f8e62b0fd650c32300f0ad8dc06d5df23d9fc8c1a77fe210c25 @@ -11,6 +12,8 @@ DIST gcc-14.1.0-patches-4.tar.xz 11620 BLAKE2B c819fbdea1f3bf10c8d4214d4c33cf28c DIST gcc-14.1.0.tar.xz 92265736 BLAKE2B 7efd6574b8bca081de6e31480ec0565c6d7fb773383e8e1fdcc17e35bba2bf44b3f4f995cdbcccd001689926e96a6563ef3d099902fe3b37ab09dcf553ab0596 SHA512 e9e224f2b26646fcf038d28dfa08b94c623bc57941f99894a321d01c600f7c68aff6b8837fd25e73e540de1f8de5606e98694a62cdcdfb525ce768b3ef6879ea DIST gcc-14.2.0-arm64-darwin.patch 203103 BLAKE2B a040283f1ffdd0e912767b64515c18d194eb9cf2f6c55b93e7a9fab8436920b4461539ebf2482e26119001ea6f42f7294670351d853b42ca333f870365e9cc9b SHA512 c96d92289492d76f6e4e6376148c53d7e962fd15d03b1ecfe16f8036a0ff0c1e9277bf00566ecfe0d54765a679ce7d7470f6e696f8e3fe7b419000b924260fcf DIST gcc-14.2.0-patches-7.tar.xz 14244 BLAKE2B 11236e91e1fe83fec8ffaa40ec0cdd4b52a00a951e9aa9a7a0a932b234b8f1a9603333a7ccf55859f4ef53dd4d8ad1fd5c1d2514b6e45fce5b86bb58622a0ecc SHA512 5a4d86d943e31fa068b5a784c0132bd83c23243dcb3cf972557a42e004469a415e1b3185f31b1bb36f916594d475f266a2fda031a414e4a15e0bbfe471269eee +DIST gcc-14.2.0-patches-8.tar.xz 14540 BLAKE2B 09f66035343d4cab694b8ab382170f8e2d546ddffedf3477f26edbd6a798ddf94294f569c2661729d40088d590bc17a4eb651710d8d9f66f33703734a1a82b67 SHA512 7a9a2724ef8db3c57b033d90751192969c16e5eaa8f4777b7f16470222ff3a18771b461bd89feaad701e7f0d573b883b487981588129933c732fb76117728b86 DIST gcc-14.2.0.tar.xz 92306460 BLAKE2B 87baf2a06dfa75d8fb6cd62c747ef1f57d3b9bbbe33a360d9ed3de4b4dbeaa8d920504c67e409bd9863414202c14fd854b46108e984418171205119216d03d3b SHA512 932bdef0cda94bacedf452ab17f103c0cb511ff2cec55e9112fc0328cbf1d803b42595728ea7b200e0a057c03e85626f937012e49a7515bc5dd256b2bf4bc396 +DIST gcc-14.2.1-arm64-darwin-r1.patch 197916 BLAKE2B 165e8c2e40428cdc60aaf19de1fa752114933bf9f2fb92ce4bd116ff20484514792498abdfd8ce75974d393e441e8d9183adfb37662d1dc039fd7051ba5ccf4c SHA512 ae6566277ce11d9b737626ee9460ec323322ed5ed3f4d78ad0e70755191b0b699897184e906a4c2edd8d6feb142e70253df37ccf58daa9de6845c7a6ffeb59d0 DIST gcc-14.2.1-arm64-darwin.patch 199458 BLAKE2B 7ba878a19c1451e84f0af531b58177bf8c5358211ab704b8e58ff85bd453634b86f743dcb7bc9c89960fede115c9aa60209489b9fab8885e081e0cae2507359f SHA512 af8f3a7ce7776d004336686fd28080c6e41ef73aaae6e6c49db3495a99509162f9e16246d18034b0d5ec03bf109e7bf14b075564b1836d1edbe9034b202152d9 DIST gcc-validate-failures-a447cd6dee206facb66720bdacf0c765a8b09f33.py 27537 BLAKE2B 96c7474de0bc50ab890a91551412398c979396c43aa237a4b6d8baa98ce7fda2cc9f5a755a03fd9d055d885ee2fb40ba29644a0649c24398361ce75a20fae634 SHA512 409434953351cf1f2287f1e4a4fbde5b28a27add35ddd284080acec71b33cb4ec5e1c07f41a79fac060bd6f1eedd198812495141923e410ded907429fe515f83 diff --git a/sys-devel/gcc/gcc-14.2.1_p20250419.ebuild b/sys-devel/gcc/gcc-14.2.1_p20250419.ebuild new file mode 100644 index 0000000000..220f33b4e4 --- /dev/null +++ b/sys-devel/gcc/gcc-14.2.1_p20250419.ebuild @@ -0,0 +1,154 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="14.2.0" +PATCH_VER="8" +MUSL_VER="1" +MUSL_GCC_VER="14.1.0" +PYTHON_COMPAT=( python3_{10..12} ) + +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="~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + :; +fi + +# use alternate source for Apple M1 (also works for x86_64) +SRC_URI+=" elibc_Darwin? ( https://dev.gentoo.org/~grobian/distfiles/gcc-14.2.1-arm64-darwin-r1.patch )" +IUSE+=" system-bootstrap" + +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="!prefix-guest? ( elibc_glibc? ( sys-libs/glibc[cet(-)?] ) )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + # apply big arm64-darwin patch first thing + use elibc_Darwin && eapply "${DISTDIR}"/${PN}-14.2.1-arm64-darwin-r1.patch + + # fixes for macOS from upstream + if use elibc_Darwin ; then + eapply "${FILESDIR}"/${PN}-14.2.1-modular-macos-sdk.patch + eapply "${FILESDIR}"/${PN}-14.2.1-pass-macos_version_min.patch + eapply "${FILESDIR}"/${PN}-14.2.1-macos-15-4.patch + fi + + # run as with - on pipe (for Clang 16) + eapply "${FILESDIR}"/${PN}-14.2.0-darwin-as-dash-pipe.patch + + # fix build with libintl-0.23 + eapply "${FILESDIR}"/${PN}-14.2.0-libintl-setlocale.patch + + # make sure 64-bits native targets don't screw up the linker paths + eapply "${FILESDIR}"/gcc-12-no-libs-for-startfile.patch + + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + # make it have correct install_names on Darwin + eapply -p1 "${FILESDIR}"/4.3.3/darwin-libgcc_s-installname.patch + + if [[ ${CHOST} == powerpc*-darwin* ]] ; then + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44107 + sed -i -e 's|^ifeq (/usr/lib,|ifneq (/usr/lib,|' \ + libgcc/config/t-slibgcc-darwin || die + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + # madvise is not available in the compatibility mode GCC uses, + # posix_madvise however, is + sed -i -e 's/madvise/posix_madvise/' gcc/cp/module.cc || die + fi + + if [[ ${CHOST} == *-darwin* ]] ; then + use system-bootstrap && eapply "${FILESDIR}"/${PN}-13-darwin14-bootstrap.patch + + # our ld64 is a slight bit different, so tweak expression to not + # get confused and break the build + sed -i -e "s/EGREP 'ld64|dyld'/& | head -n1/" \ + gcc/configure{.ac,} || die + + # rip out specific macos version min + sed -i -e 's/-mmacosx-version-min=11.0//' \ + libgcc/config/aarch64/t-darwin \ + libgcc/config/aarch64/t-heap-trampoline \ + || die + fi + + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} + +src_configure() { + local myconf=() + case ${CTARGET}:" ${USE} " in + powerpc*-darwin*) + # bug #381179 + filter-flags "-mcpu=*" "-mtune=*" + # bug #657522 + # A bug in configure checks whether -no-pie works, but the + # compiler doesn't pass -no-pie onto the linker if -fno-PIE + # isn't passed, so the configure check always finds -no-pie + # is accepted. (Likewise, when -fno-PIE is passed, the + # compiler passes -no_pie onto the linker.) + # Since our linker doesn't grok this, avoid above checks to + # be run + # NOTE: later ld64 does grok -no_pie, not -no-pie (as checked) + export gcc_cv_c_no_fpie=no + export gcc_cv_no_pie=no + ;; + *-darwin20) + # use sysroot with the linker, #756160 + export gcc_cv_ld_sysroot=yes + ;; + *-solaris*) + # todo: some magic for native vs. GNU linking? + myconf+=( --with-gnu-ld --with-gnu-as --enable-largefile ) + ;; + i[34567]86-*-linux*:*" prefix "*) + # to allow the linux-x86-on-amd64.patch become useful, we need + # to enable multilib, even if there is just one multilib option. + myconf+=( --enable-multilib ) + if [[ ${CBUILD:-${CHOST}} == "${CHOST}" ]]; then + # we might be on x86_64-linux, but don't do cross-compile, so + # tell the host-compiler to really create 32bits (for stage1) + # (real x86-linux-gcc also accept -m32). + append-flags -m32 + fi + ;; + esac + + # Since GCC 4.1.2 some non-posix (?) /bin/sh compatible code is used, at + # least on Solaris, and AIX /bin/sh is way too slow, + # so force it to use $BASH (that portage uses) - it can't be EPREFIX + # in case that doesn't exist yet + export CONFIG_SHELL="${CONFIG_SHELL:-${BASH}}" + toolchain_src_configure "${myconf[@]}" +}