diff options
author | Fabian Groffen <grobian@gentoo.org> | 2024-08-10 16:48:12 +0200 |
---|---|---|
committer | Fabian Groffen <grobian@gentoo.org> | 2024-08-10 16:48:12 +0200 |
commit | b19b1c157130a3e44ac6e89e6a9a6f79017a226a (patch) | |
tree | 894a122da9917c010736c4839c0a9ed0d47c6a61 | |
parent | eclass/toolchain: drop T variable hack from 2009 (diff) | |
download | prefix-b19b1c157130a3e44ac6e89e6a9a6f79017a226a.tar.gz prefix-b19b1c157130a3e44ac6e89e6a9a6f79017a226a.tar.bz2 prefix-b19b1c157130a3e44ac6e89e6a9a6f79017a226a.zip |
sys-devel/gcc: drop old
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
-rw-r--r-- | sys-devel/gcc/Manifest | 13 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-12.1.0.ebuild | 140 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-12.2.0-r2.ebuild | 146 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-13.2.0-r1.ebuild | 149 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-13.2.0.ebuild | 156 |
5 files changed, 1 insertions, 603 deletions
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index f6b643c4e9..f03cb5b4a1 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -1,17 +1,5 @@ -DIST gcc-12.1-darwin-r0.tar.gz 131006433 BLAKE2B fe94275821772586b90d003e5179a72c5662216d216db6b7fd066df8873744d5edff25521f3f30cb08d45f59545fa03e44364bdf831998a0285c0ba5df0c1547 SHA512 8bfae411e8f6f853ad50cda4f7bd672217883b305893c8dda9f630d712d8ef0857e89c8f4ce6c446340041d8da2ec98e6dfcc99861e844eb99c6f837e4f47dbb -DIST gcc-12.1.0-musl-patches-4.tar.xz 4448 BLAKE2B ddad7bccea7474a0552e069df25e66b4af68470da655aaf7669c2ceca7d0588cebb171e8a949c8935eeadff23af4d3de41d44245c06d48044cfc1d1fadc6540a SHA512 bb3b9e4a81efd2d0ceb405220a9c15453d780d8bc01ed5ebf4837a318e0f8ad8cc36d6ad3f2eed5051bb6dc82f223d8b61321b8f602890a770eefd69c0c144b9 -DIST gcc-12.1.0-patches-7.tar.xz 11584 BLAKE2B 4487726f8225d6bb2fde91fce8343c34ebece8cca08b258115a55b0f0c594e3a205efe26738c2b06cb8c6ea9d13b451514e073bb3a94d664a56120d9826515df SHA512 4882754d2f55c8144a5af4bcfbc1ee7802f08fc5acca96151cc6323a98e94b9246a69e067bcbf92dcdb8021499b8e1197cd7bd682876aca3e6f1f63a405c1dae -DIST gcc-12.1.0.tar.xz 82701928 BLAKE2B dca5df8fea680dbeda721742cce5c97de7eb4be490a32a158e06b88e2b9dd092150b7cfe490bb69e48e2f75d8bba231c8a54cd46b48ddcdc01bf9553ab57019d SHA512 2121d295292814a6761edf1fba08c5f633ebe16f52b80e7b73a91050e71e1d2ed98bf17eebad263e191879561c02b48906c53faa4c4670c486a26fc75df23900 -DIST gcc-12.2-darwin-r0.tar.gz 131069986 BLAKE2B 42de71c9f0802f1a43e675d3fae7341cfebb8dfe88face13b665b19e8812ee74a6527e027a05f1524770d1b9067332c69682d6e888dc510afbab686caa0d856a SHA512 c8a7234762d9e1fbdb1ef3c29574e42cc11b456386d77f7599adcba0cfb1363076cc8afc13f6773e9ea2f8caaeafa37a8e64e9f5c33c028f21a47d9bdca84b31 -DIST gcc-12.2.0-musl-patches-1.tar.xz 3844 BLAKE2B 004432806696f7d0a32366270ac45695e858abee73a255e44dc6e0a225339e4cad40aab0d51dfe9a55d5aa4b4001f5726064bb2eea3212a0874b2d27e229abd7 SHA512 c354edcd641a9dfaf902a0ff4c44c75065d0cf1c36bbf6c3c35c2e23bff22b8f70bcf4458a5a0ef86371e9f2fafca8a54ca822e35820ff442c9458a2819c3606 -DIST gcc-12.2.0-patches-1.tar.xz 12864 BLAKE2B a5ae0a85dfc1b6f0bd968f0d5262ebed14ec9cdb3249e3a4c571578c54eda0e53708ee7fe8e03e506366c7f3cf7926eced9b390d9dee948c1249298c0fabd9fb SHA512 f3d793b89a2a0385d596162fb0c653d4acdf21ae418cb792c1786a01fde0391bd0719715dbf07d53636f127168f5cd99108a1dc11cf6cea889b7d82385bcc258 -DIST gcc-12.2.0.tar.xz 84645292 BLAKE2B 715574af9ad678f9dc8cfd19c866bf910c7edfd479e7e9681337feaa9b54e5d304ddb85483816b8d89754d502405823ae2eff0d1e444538763f40be8e428d8da SHA512 e9e857bd81bf7a370307d6848c81b2f5403db8c7b5207f54bce3f3faac3bde63445684092c2bc1a2427cddb6f7746496d9fbbef05fbbd77f2810b2998f1f9173 -DIST gcc-13.2-darwin-r0.tar.gz 137958605 BLAKE2B b6777b76baf2dc007c4080c0b7a6d448223747f0cf832e493e3b903b3bdb7f87a0e2e9cf41f9355769b178a72409b1e2866b3e73b1cc33ed0aba837f3a9e66c1 SHA512 a33177bd55d228d1df93e2a029e8af5d215ad8b2ebc84a0c90df629d6f69c5de0ed1ec9dd27bc21a62362522d83bad9a8f34407b89b13321b65f513fa2202dd2 -DIST gcc-13.2.0-arm64-darwin.patch 470156 BLAKE2B 5ba9c380d488c1ceda2f4ece68701a51d1de3d82f6aa9c96f33c4f2066e7053356c00158eec524298c16c916ff1d14bb3560eedb90f09bade44970156e86c604 SHA512 4428340c79cad8f4324bb4f5962640805f45e4a2a2be165abb0386e283f863fad9dbff8eefa508ee30ba966691f604fdadfb4d42bc9cc4c29536feaae5c1f55a DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69 DIST gcc-13.2.0-patches-16.tar.xz 44792 BLAKE2B 0b6b584d68e69685638695596b780249ca0119ad362747a82d886fd10f77ceb05d02e033e906a090c67f44b1977f40df6a95206d81a32dd15e2f5413c6c92496 SHA512 324d9e63d16c35d55edde20de049162c01b0d487b4548d06c49f0da04a761ec255bc5e020cc2e7f60d12f5d129768afdcf7c86a59126f71f388ab375c34be6de -DIST gcc-13.2.0-patches-7.tar.xz 37064 BLAKE2B 4a8700a8d44bfaa84926f8bfd0da4c5b0c0377f47fc0679456e909f7c9029b9cf1b72c0ba0bc505d9035d5c38e27f7e5b029727eaf2bc7aca417a6be966b2f43 SHA512 f440c97e6782ecb8581d41608e31a648ac426e2d870bc1d171da7794cdeff2fd0546cae0c7214e72fd3a00ead8a5c66f3f633b670b74553a2f3a40378b51f20c -DIST gcc-13.2.0.tar.xz 87858592 BLAKE2B 0034b29d3d6cc05821f0c4253ce077805943aff7b370729dd203bda57d89c107edd657eeddc2fb1e69ea15c7b0323b961f46516c7f4af89a3ccf7fea84701be2 SHA512 d99e4826a70db04504467e349e9fbaedaa5870766cda7c5cab50cdebedc4be755ebca5b789e1232a34a20be1a0b60097de9280efe47bdb71c73251e30b0862a2 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.1.0-arm64-darwin.patch 200436 BLAKE2B ba92f8a1586f01085775c2a0a724f597a3e51468ee906169f41b46e58f2c615173120e38b4fc8e800d67cbdd97375564e009d3d1bd810293897466c817e03dcf SHA512 8ea5c3f80fa406294a95fa86264998c9090a4b7e734563e336dd670c0f8da0cb6bee8f80296905c0d7d6f17d0b895147d703951e94ba71466423d959404f5a0e @@ -19,3 +7,4 @@ DIST gcc-14.1.0-macos-SDK-availability.patch 9044 BLAKE2B 783340d55590337b156d3f DIST gcc-14.1.0-musl-patches-1.tar.xz 3600 BLAKE2B 4cd920b7ca1f122cae806707564d8e45bfd48e78c88788a12a301f6068b5a5f335d8885e67479ac536c66aeaa81f2ecb7240ae56e9fc821a7246ab66b453711f SHA512 61c48d90a55dfc2129d96aee69d939d6a89f6407f69f7bd12c1a619f28989f471fd219d731958f8e62b0fd650c32300f0ad8dc06d5df23d9fc8c1a77fe210c25 DIST gcc-14.1.0-patches-3.tar.xz 11868 BLAKE2B 06d079766bfbaddd066cd70f2d3f5e9ef17f3617fe90de4cb0a9562e6c3b2dc46d94dce03649f2e530c21e3fa0e0e6e5aae3c7b768bd08717c4f29ff29b00a04 SHA512 636a2853b5bf057fef262d54bcb250f3ebf63c600bc184cfea499783d254c462f6c0ecf5f0c5dac6634110ba0d11193fbfb96850ac27fc5a318f1d810f2231cc DIST gcc-14.1.0.tar.xz 92265736 BLAKE2B 7efd6574b8bca081de6e31480ec0565c6d7fb773383e8e1fdcc17e35bba2bf44b3f4f995cdbcccd001689926e96a6563ef3d099902fe3b37ab09dcf553ab0596 SHA512 e9e224f2b26646fcf038d28dfa08b94c623bc57941f99894a321d01c600f7c68aff6b8837fd25e73e540de1f8de5606e98694a62cdcdfb525ce768b3ef6879ea +DIST gcc-validate-failures-a447cd6dee206facb66720bdacf0c765a8b09f33.py 27537 BLAKE2B 96c7474de0bc50ab890a91551412398c979396c43aa237a4b6d8baa98ce7fda2cc9f5a755a03fd9d055d885ee2fb40ba29644a0649c24398361ce75a20fae634 SHA512 409434953351cf1f2287f1e4a4fbde5b28a27add35ddd284080acec71b33cb4ec5e1c07f41a79fac060bd6f1eedd198812495141923e410ded907429fe515f83 diff --git a/sys-devel/gcc/gcc-12.1.0.ebuild b/sys-devel/gcc/gcc-12.1.0.ebuild deleted file mode 100644 index 3d03a8fdbc..0000000000 --- a/sys-devel/gcc/gcc-12.1.0.ebuild +++ /dev/null @@ -1,140 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -PATCH_VER="7" -PATCH_GCC_VER="12.1.0" -MUSL_VER="4" -MUSL_GCC_VER="12.1.0" - -inherit toolchain - -# Don't keyword live ebuilds -if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then - 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) -IANSGCCVER="gcc-12.1-darwin-r0" -SRC_URI+=" elibc_Darwin? ( -https://github.com/iains/gcc-12-branch/archive/refs/tags/${IANSGCCVER}.tar.gz )" - -# 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}" -BDEPEND=" - kernel_linux? ( >=${CATEGORY}/binutils-2.30[cet(-)?] ) - kernel_Darwin? ( - || ( ${CATEGORY}/binutils-apple ${CATEGORY}/native-cctools ) - )" - -src_unpack() { - if use elibc_Darwin ; then - # just use Ian's source, not the main one - S="${WORKDIR}/gcc-12-branch-${IANSGCCVER}" - fi - default -} - -src_prepare() { - if [[ ${CHOST} == *-darwin* ]] ; then - # https://bugs.gentoo.org/898610#c17 - # kill no_pie patch, it breaks things here - rm "${WORKDIR}"/patch/09_all_nopie-all-flags.patch || die - fi - - toolchain_src_prepare - - eapply_user - - # fix build for macOS 13 Ventura - eapply "${FILESDIR}"/gcc-12.1.0-recognize-mmacosx-version-min-13.0-and-newer.patch - eapply "${FILESDIR}"/gcc-12.1.0-avoid-null-terminated-name-collision-with-macos-13-sdk.patch - - # make sure 64-bits native targets don't screw up the linker paths - eapply "${FILESDIR}"/gcc-12-no-libs-for-startfile.patch - if use prefix; then - eapply "${FILESDIR}"/gcc-12-prefix-search-dirs.patch - # try /usr/lib32 in 32bit profile on x86_64-linux (needs - # --enable-multilib), but this does make sense in prefix only - eapply -p0 "${FILESDIR}"/${PN}-4.8.3-linux-x86-on-amd64.patch - fi - - # 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 -} - -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 - ;; - arm64-*-darwin*) - # only supported from darwin21, so no conflict with above - # case switch - # for the time being use system flex, for our doesn't work - # here (while it does fine elsewhere), #778014 - export ac_cv_prog_FLEX=/usr/bin/flex - ;; - *-solaris*) - # todo: some magic for native vs. GNU linking? - myconf+=( --with-gnu-ld --with-gnu-as --enable-largefile ) - # Solaris 11 defines this in its headers, but that causes a - # mismatch whilst compiling, bug #657514 - export ac_cv_func_aligned_alloc=no - export ac_cv_func_memalign=no - export ac_cv_func_posix_memalign=no - ;; - 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[@]}" -} diff --git a/sys-devel/gcc/gcc-12.2.0-r2.ebuild b/sys-devel/gcc/gcc-12.2.0-r2.ebuild deleted file mode 100644 index d7932fa7ae..0000000000 --- a/sys-devel/gcc/gcc-12.2.0-r2.ebuild +++ /dev/null @@ -1,146 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -PATCH_VER="1" -PATCH_GCC_VER="12.2.0" -MUSL_VER="1" -MUSL_GCC_VER="12.2.0" - -inherit toolchain - -# Don't keyword live ebuilds -if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then - # fails to compile on Solaris and macOS, need to check why - : KEYWORDS="~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - KEYWORDS="~arm64-macos ~x64-macos ~x64-solaris" -fi - -# use alternate source for Apple M1 (also works for x86_64) -IANSGCCVER="gcc-12.2-darwin-r0" -SRC_URI+=" elibc_Darwin? ( -https://github.com/iains/gcc-12-branch/archive/refs/tags/${IANSGCCVER}.tar.gz )" - -# 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}" -BDEPEND=" - kernel_linux? ( >=${CATEGORY}/binutils-2.30[cet(-)?] ) - kernel_Darwin? ( - || ( ${CATEGORY}/binutils-apple ${CATEGORY}/native-cctools ) - )" - -src_unpack() { - if use elibc_Darwin ; then - # just use Ian's source, not the main one - S="${WORKDIR}/gcc-12-branch-${IANSGCCVER}" - fi - default -} - -src_prepare() { - if [[ ${CHOST} == *-darwin* ]] ; then - # https://bugs.gentoo.org/898610#c17 - # kill no_pie patch, it breaks things here - rm "${WORKDIR}"/patch/09_all_nopie-all-flags.patch || die - fi - - toolchain_src_prepare - - eapply_user - - # make sure 64-bits native targets don't screw up the linker paths - eapply "${FILESDIR}"/gcc-12-no-libs-for-startfile.patch - if use prefix; then - eapply "${FILESDIR}"/gcc-12-prefix-search-dirs.patch - # try /usr/lib32 in 32bit profile on x86_64-linux (needs - # --enable-multilib), but this does make sense in prefix only - eapply -p0 "${FILESDIR}"/${PN}-4.8.3-linux-x86-on-amd64.patch - fi - - # 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 - # GCC' Darwin fork enables support for "-stdlib=libc++" - # unconditionally, and its default include path is invalid, - # causing package build failures due to missing header. - # But more importantly, it breaks the assumption of many build - # scripts and changes their CFLAGS and linking behaviors. The - # situation is tricky and needs careful considerations. - # For now, just disable support for "-stdlib=libc++". - eapply "${FILESDIR}"/gcc-12.2.0-disable-stdlib-option-on-darwin.patch - - # our ld64 is a slight bit different, so tweak expression to not - # get confused and break the build - sed -i -e 's/grep ld64/grep :ld64/' gcc/configure || die - fi -} - -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 ) - # Solaris 11 defines this in its headers, but that causes a - # mismatch whilst compiling, bug #657514 - export ac_cv_func_aligned_alloc=no - export ac_cv_func_memalign=no - export ac_cv_func_posix_memalign=no - ;; - 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[@]}" -} diff --git a/sys-devel/gcc/gcc-13.2.0-r1.ebuild b/sys-devel/gcc/gcc-13.2.0-r1.ebuild deleted file mode 100644 index f04c867110..0000000000 --- a/sys-devel/gcc/gcc-13.2.0-r1.ebuild +++ /dev/null @@ -1,149 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -PATCH_GCC_VER="13.2.0" -PATCH_VER="7" -MUSL_VER="2" -MUSL_GCC_VER="13.2.0" - -inherit toolchain - -# Don't keyword live ebuilds -if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then - 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://raw.githubusercontent.com/Homebrew/formula-patches/3c5cbc8e9cf444a1967786af48e430588e1eb481/gcc/gcc-13.2.0.diff -> gcc-13.2.0-arm64-darwin.patch )" -IUSE+=" bootstrap" - -# 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}" -BDEPEND=" - amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] ) - kernel_Darwin? ( - || ( ${CATEGORY}/binutils-apple ${CATEGORY}/native-cctools ) - )" - -src_prepare() { - # apply big arm64-darwin patch first thing - use elibc_Darwin && eapply "${DISTDIR}"/gcc-13.2.0-arm64-darwin.patch - - # make sure 64-bits native targets don't screw up the linker paths - eapply "${FILESDIR}"/gcc-12-no-libs-for-startfile.patch - - if [[ ${CHOST} == *-darwin* ]] ; then - # https://bugs.gentoo.org/898610#c17 - # kill no_pie patch, it breaks things here - rm "${WORKDIR}"/patch/09_all_nopie-all-flags.patch || die - # fails on Darwin's sources - rm "${WORKDIR}"/patch/81_all_match.p*.patch - fi - # doesn't apply on official and Darwin sources - rm "${WORKDIR}"/patch/31_all_gm2_make_P_var.patch - - 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 bootstrap && eapply "${FILESDIR}"/${PN}-13-darwin14-bootstrap.patch - eapply "${FILESDIR}"/${PN}-13-darwin14-fix-duplicate-libs.patch - eapply "${FILESDIR}"/${PN}-13-darwin14-math_h.patch - - # our ld64 is a slight bit different, so tweak expression to not - # get confused and break the build - sed -i -e 's/grep ld64/grep :ld64/' gcc/configure || 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 ) - # Solaris 11 defines this in its headers, but that causes a - # mismatch whilst compiling, bug #657514 - #export ac_cv_func_aligned_alloc=no - #export ac_cv_func_memalign=no - #export ac_cv_func_posix_memalign=no - ;; - 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 - - if [[ ${CHOST} == *-darwin ]] ; then - # GCC' Darwin fork enables support for "-stdlib=libc++" - # unconditionally, and its default include path is invalid, - # causing package build failures due to missing header. - # But more importantly, it breaks the assumption of many build - # scripts and changes their CFLAGS and linking behaviors. The - # situation is tricky and needs careful considerations. - # For now, just disable support for "-stdlib=libc++". - myconf+=( --with-gxx-libcxx-include-dir=no ) - fi - - # 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[@]}" -} diff --git a/sys-devel/gcc/gcc-13.2.0.ebuild b/sys-devel/gcc/gcc-13.2.0.ebuild deleted file mode 100644 index 41160a6ef9..0000000000 --- a/sys-devel/gcc/gcc-13.2.0.ebuild +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -PATCH_GCC_VER="13.2.0" -PATCH_VER="7" -MUSL_VER="2" -MUSL_GCC_VER="13.2.0" - -inherit toolchain - -# Don't keyword live ebuilds -if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then - 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) -IANSGCCVER="gcc-13.2-darwin-r0" -SRC_URI+=" elibc_Darwin? ( -https://github.com/iains/gcc-13-branch/archive/refs/tags/${IANSGCCVER}.tar.gz )" - -IUSE+="bootstrap" - -# 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}" -BDEPEND=" - kernel_linux? ( >=${CATEGORY}/binutils-2.30[cet(-)?] ) - kernel_Darwin? ( - || ( ${CATEGORY}/binutils-apple ${CATEGORY}/native-cctools ) - )" - -src_unpack() { - if use elibc_Darwin ; then - # just use Ian's source, not the main one - S="${WORKDIR}/gcc-13-branch-${IANSGCCVER}" - fi - default -} - -src_prepare() { - # make sure 64-bits native targets don't screw up the linker paths - eapply "${FILESDIR}"/gcc-12-no-libs-for-startfile.patch - - if [[ ${CHOST} == *-darwin* ]] ; then - # https://bugs.gentoo.org/898610#c17 - # kill no_pie patch, it breaks things here - rm "${WORKDIR}"/patch/09_all_nopie-all-flags.patch || die - # fails on Darwin's sources - rm "${WORKDIR}"/patch/81_all_match.p*.patch - fi - # doesn't apply on official and Darwin sources - rm "${WORKDIR}"/patch/31_all_gm2_make_P_var.patch - - toolchain_src_prepare - - eapply_user - - eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch - - # 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 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/grep ld64/grep :ld64/' gcc/configure || 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 -} - -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 ) - # Solaris 11 defines this in its headers, but that causes a - # mismatch whilst compiling, bug #657514 - #export ac_cv_func_aligned_alloc=no - #export ac_cv_func_memalign=no - #export ac_cv_func_posix_memalign=no - ;; - 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 - - if [[ ${CHOST} == *-darwin ]] ; then - # GCC' Darwin fork enables support for "-stdlib=libc++" - # unconditionally, and its default include path is invalid, - # causing package build failures due to missing header. - # But more importantly, it breaks the assumption of many build - # scripts and changes their CFLAGS and linking behaviors. The - # situation is tricky and needs careful considerations. - # For now, just disable support for "-stdlib=libc++". - myconf+=( --with-gxx-libcxx-include-dir=no ) - fi - - # 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[@]}" -} |