summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-20 03:01:54 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-20 03:01:54 -0500
commitb8e997d669f2779a6f954a9ce5cfb887d0ee91e8 (patch)
treec20220a94b4fc7a65b110c2ab41765671acc5530 /sys-devel
parentfd47b082ab0da4bc79447a8e2bfb7e77dd71874d (diff)
downloadbaldeagleos-repo-b8e997d669f2779a6f954a9ce5cfb887d0ee91e8.tar.gz
baldeagleos-repo-b8e997d669f2779a6f954a9ce5cfb887d0ee91e8.tar.xz
baldeagleos-repo-b8e997d669f2779a6f954a9ce5cfb887d0ee91e8.zip
Adding metadata
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/bpf-toolchain/Manifest1
-rw-r--r--sys-devel/bpf-toolchain/bpf-toolchain-16.1.0_p2.ebuild237
-rw-r--r--sys-devel/gcc/Manifest2
-rw-r--r--sys-devel/gcc/gcc-14.3.1_p20260619.ebuild57
-rw-r--r--sys-devel/gcc/gcc-15.3.1_p20260619.ebuild56
5 files changed, 353 insertions, 0 deletions
diff --git a/sys-devel/bpf-toolchain/Manifest b/sys-devel/bpf-toolchain/Manifest
index 631d9b5c673d..c6198a3826c2 100644
--- a/sys-devel/bpf-toolchain/Manifest
+++ b/sys-devel/bpf-toolchain/Manifest
@@ -1,3 +1,4 @@
DIST binutils-2.46.0.tar.xz 28548776 BLAKE2B 9f4fd8897d237eb5003bdf439537dfc5f8c681e9ff939fb06bb8235ed298031ea4cc91611edb640ffc432199d5791289d003fe0d07acce80327dc40595a5eb9e SHA512 32f880bb4f69351f4ae54a5d00359625c6c49d8e76624fb5cffdf174c79c8d3212f66225b81c12933c6ed59604ab652560773dd92fab384b930c97a9d4e1fdf2
+DIST binutils-2.46.1.tar.xz 28636456 BLAKE2B a5a0578281d6315a43437ccf7636b3b91185c2706f1582b22af6973f55a86f5b4bc7eb03aa9ceaec547070152c08c982bc40ee9ce07679f2e3bb49e050bae76c SHA512 a5c65e56e400ed3fb8906a995dbb93eb5bea54b16344244653d7f44ef29ceb60270da263b19d25302c37759784e14fcb4b9421b29e0e2c7f450bd99f6bb4595c
DIST gcc-15.2.0.tar.xz 101056276 BLAKE2B e270320978ca690e6e8f5ef06414dc13caf561f16403a3783c76fbf3dcee57e755a2d5bba922bf7fcae0bb6120443755d819b003791ae823d54589dd799804de SHA512 89047a2e07bd9da265b507b516ed3635adb17491c7f4f67cf090f0bd5b3fc7f2ee6e4cc4008beef7ca884b6b71dffe2bb652b21f01a702e17b468cca2d10b2de
DIST gcc-16.1.0.tar.xz 102456900 BLAKE2B ceb07866b6b17eb4c69a6b51241b275bc5ec506603a7c1a4c1e2585091a09fc647be945beeff76700bffd9018bda81b072d84f909fd7998baa0cfe3f0eb550b4 SHA512 b3454958891ab47e1e5b6cb9396c0ad3b04f32fe2a7bf1153a143f21013fdb6b295ca94c98964698a688e4c1d7555ffd8ffbc20187507cce6b1c32cbcc09897a
diff --git a/sys-devel/bpf-toolchain/bpf-toolchain-16.1.0_p2.ebuild b/sys-devel/bpf-toolchain/bpf-toolchain-16.1.0_p2.ebuild
new file mode 100644
index 000000000000..11312b4985f4
--- /dev/null
+++ b/sys-devel/bpf-toolchain/bpf-toolchain-16.1.0_p2.ebuild
@@ -0,0 +1,237 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo flag-o-matic libtool toolchain-funcs
+
+# Versioning is just the GCC version in full (so may include a snapshot
+# date). Unlike dev-util/mingw64-toolchain, which this ebuild was heavily
+# inspired by, there's no "third component" here to version on, just
+# GCC + binutils.
+#
+# Do _p1++ rather than revbump on Binutils changes
+# Not using Gentoo patchsets for simplicity, their changes are mostly unneeded here.
+GCC_PV=${PV%_p*}
+BINUTILS_PV=2.46.1
+
+DESCRIPTION="All-in-one bpf toolchain for building DTrace and systemd without crossdev"
+HOMEPAGE="
+ https://gcc.gnu.org/
+ https://sourceware.org/binutils/
+ https://gcc.gnu.org/wiki/BPFBackEnd
+"
+SRC_URI="
+ mirror://gnu/binutils/binutils-${BINUTILS_PV}.tar.xz
+"
+if [[ ${GCC_PV} == *-* ]]; then
+ SRC_URI+=" mirror://gcc/snapshots/${GCC_PV}/gcc-${GCC_PV}.tar.xz"
+else
+ SRC_URI+="
+ mirror://gcc/gcc-${GCC_PV}/gcc-${GCC_PV}.tar.xz
+ mirror://gnu/gcc/gcc-${GCC_PV}/gcc-${GCC_PV}.tar.xz
+ "
+fi
+S="${WORKDIR}"
+
+# l1:binutils+gcc, l2:gcc(libraries)
+LICENSE="
+ GPL-3+
+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+bin-symlinks custom-cflags +strip"
+
+RDEPEND="
+ dev-libs/gmp:=
+ dev-libs/mpc:=
+ dev-libs/mpfr:=
+ virtual/zlib:=
+ virtual/libiconv
+ bin-symlinks? (
+ !cross-bpf-unknown-none/binutils
+ !cross-bpf-unknown-none/gcc
+ )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=()
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ tc-is-cross-compiler &&
+ die "cross-compilation of the toolchain itself is unsupported"
+}
+
+src_prepare() {
+ # rename directories to simplify both patching and the ebuild
+ mv binutils{-${BINUTILS_PV},} || die
+ mv gcc{-${GCC_PV},} || die
+
+ default
+ elibtoolize
+}
+
+src_compile() {
+ # src_compile is kept similar to dev-util/mingw64-toolchain
+ # at least for now for ease of comparison etc.
+ #
+ # not great but do everything in src_compile given bootstrapping
+ # process needs to be done in steps of configure+compile+install
+ # (done modular to have most package-specific things in one place)
+
+ CTARGET=bpf-unknown-none
+
+ BPFT_D=${T}/root # moved to ${D} in src_install
+ local bpftdir=/usr/lib/${PN}
+ local prefix=${EPREFIX}${bpftdir}
+ local sysroot=${BPFT_D}${prefix}
+ local -x PATH=${sysroot}/bin:${PATH}
+
+ use custom-cflags || strip-flags # fancy flags are not realistic here
+
+ # global configure flags
+ local conf=(
+ --build=${CBUILD:-${CHOST}}
+ --target=${CTARGET}
+ --{doc,info,man}dir=/.skip # let the real binutils+gcc handle docs
+ MAKEINFO=: #922230
+ )
+
+ # binutils
+ local conf_binutils=(
+ --prefix="${prefix}"
+ --host=${CHOST}
+ --disable-cet
+ --disable-default-execstack
+ --disable-nls
+ --disable-shared
+ --disable-werror
+ --with-system-zlib
+ --without-debuginfod
+ --without-msgpack
+ --without-zstd
+ )
+
+ # gcc (minimal -- if need more, disable only in stage1 / enable in stage3)
+ local conf_gcc=(
+ --prefix="${prefix}"
+ --host=${CHOST}
+ --disable-bootstrap
+ --disable-cc1
+ --disable-cet
+ --disable-gcov #843989
+ --disable-gomp
+ --disable-nls # filename collisions
+ --disable-libcc1
+ --disable-libquadmath
+ --disable-libsanitizer
+ --disable-libssp
+ --disable-libvtv
+ --disable-shared
+ --disable-werror
+ --enable-languages=c
+ --with-gcc-major-version-only
+ --with-system-zlib
+ --without-isl
+ --without-zstd
+ --disable-multilib
+
+ # TODO: can likely remove this when bump to >=gcc-15.3 (bug #967042)
+ CXX="$(tc-getCXX) -std=c++14"
+ )
+
+ # libstdc++ may misdetect sys/sdt.h on systemtap-enabled system and fail
+ # (not passed in conf_gcc above given it is lost in sub-configure calls)
+ local -x glibcxx_cv_sys_sdt_h=no
+
+ # bpft-build <path/package-name>
+ # -> ./configure && make && make install && bpft-package()
+ # passes conf and conf_package to configure, and users can add options
+ # through environment with e.g.
+ # BPFT_BINUTILS_CONF="--some-option"
+ # EXTRA_ECONF="--global-option" (generic naming for if not reading this)
+ bpft-build() {
+ local id=${1##*/}
+ local build_dir=${WORKDIR}/${1}-build
+
+ # econf is not allowed in src_compile and its defaults are
+ # mostly unused here, so use configure directly
+ local conf=( "${WORKDIR}/${1}"/configure "${conf[@]}" )
+
+ local -n conf_id=conf_${id}
+ [[ ${conf_id@a} == *a* ]] && conf+=( "${conf_id[@]}" )
+
+ local -n extra_id=BPFT_${id^^}_CONF
+ conf+=( ${EXTRA_ECONF} ${extra_id} )
+
+ einfo "Building ${id} in ${build_dir} ..."
+
+ mkdir -p "${build_dir}" || die
+ pushd "${build_dir}" >/dev/null || die
+
+ edo "${conf[@]}"
+ emake MAKEINFO=: V=1
+ # -j1 to match bug #906155, other packages may be fragile too
+ emake -j1 MAKEINFO=: V=1 DESTDIR="${BPFT_D}" install
+
+ declare -f bpft-${id} >/dev/null && edo bpft-${id}
+
+ popd >/dev/null || die
+ }
+
+ # build with same ordering that crossdev would do
+ bpft-build binutils
+ bpft-build gcc
+
+ if use bin-symlinks; then
+ mkdir -p -- "${BPFT_D}${EPREFIX}"/usr/bin/ || die
+ local bin
+ for bin in "${sysroot}"/bin/*; do
+ ln -rs -- "${bin}" "${BPFT_D}${EPREFIX}"/usr/bin/ || die
+ done
+ fi
+
+ # Delete libdep.a, which has a colliding name and is useless for bpf,
+ # which does not make use of cross-library dependencies: the libdep.a
+ # for the native binutils will do.
+ rm -f ${sysroot}/lib/bfd-plugins/libdep.a || die
+
+ # portage doesn't know the right strip executable to use for CTARGET
+ # and it can lead to .a mangling, notably with 32bit (breaks toolchain)
+ dostrip -x ${bpftdir}/{${CTARGET}/lib{,32},lib/gcc/${CTARGET}}
+
+ # TODO: Check if this is worth doing, it may not be
+ if use strip; then
+ einfo "Stripping ${CTARGET} static libraries ..."
+ find "${sysroot}"/{,lib/gcc/}${CTARGET} -type f -name '*.a' \
+ -exec ${CTARGET}-strip --strip-unneeded {} + || die
+ fi
+}
+
+src_install() {
+ mv "${BPFT_D}${EPREFIX}"/* "${ED}" || die
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ use bin-symlinks && has_version dev-util/shadowman && [[ ! ${ROOT} ]] &&
+ eselect compiler-shadow update all
+
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "Note that this package is primarily intended for DTrace, systemd, and related"
+ elog "packages to depend on without needing a manual crossdev setup."
+ elog
+ elog "Settings are oriented only for what these need and simplicity."
+ elog "Use sys-devel/crossdev if need full toolchain/customization:"
+ elog " https://wiki.gentoo.org/wiki/Crossdev"
+ fi
+}
+
+pkg_postrm() {
+ use bin-symlinks && has_version dev-util/shadowman && [[ ! ${ROOT} ]] &&
+ eselect compiler-shadow clean all
+}
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 10e6785fd8da..d012ca2d51f6 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -41,6 +41,7 @@ DIST gcc-14.3.0-musl-patches-2.tar.xz 6888 BLAKE2B e2f9ce6d445b7ced8f78c18585887
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
DIST gcc-14.3.0-patches-6.tar.xz 28148 BLAKE2B ba80a00289da26d3b5a813a9878aae6b34640e5cf8f37431ef846894087096dc84869e120ed17f23062bd2702a8059d73ead3ba28115e9c3bad55f46e7f474ee SHA512 7ee900f327bd92484ffba03ff80827b42ffba75d7527e26e09ea07e6d61622d812e1a00f77f3d669d7bde0366bab43085552d6140b28bc319edab9eb0e9a73f5
+DIST gcc-14.4.0-RC-20260619.tar.xz 95752616 BLAKE2B 0b078a16a880ee3e8ec28855f765af2cbccccb84c928c1f0624017ae0a7f5ba570d58fdd52131def1579e7f1a16a9e618bb9c97e373ec4dc237e8d153550b742 SHA512 8f41695b7961e16636d18ece8c21a7a98104e195b1f99aa1e4c5dbc1ef1891003aea8b8118157329b393c11d16a541dbb20bf715149f1b99f93dd76ef8a826cf
DIST gcc-15-20251108.tar.xz 92349104 BLAKE2B 40c890e2d61dd02f20a190c8d82175a1df271bd77a1d7cf1bae296ca47941cd43f672ada0fed0c8b27a65d469aedefd0fccd9282418f28feebff29f0b940ef1a SHA512 cc12ff495ba08d37e719278aac7bd526f53609d6cce1f4b45183ff336b78e26eb97967fe5405f791528d0913378084ad6c596e246a5a85b550b84051e5b3974b
DIST gcc-15-20251122.tar.xz 92364288 BLAKE2B 6c7795992430e3a650f43033b135613c5cd56e4b6e4ff5b121f665dba47c038b4ccc339c50b3e3367e2f6436f5a7cf761bca1cd13dc3d42a50b1f1105b8b1c3c SHA512 0534c9ea6c2684e01d93b32301ed11df4a716637e0d68fae4659730dbfc5e23f3e28c41a6b86b25c1bf8b97816b076abcd24f5c2841516031dbc4473bdf28797
DIST gcc-15-20260214.tar.xz 92376288 BLAKE2B 36aad1794fa23574501dc27b4ce88cce9aed13f6ee93f9797bd058388d68da1b3f93f5fa4b5dd2f02d99556e15ed1f92e9c6cfa45c9ecba2f9c3130c5ac4afff SHA512 e610aa9142e58ab59b32f7a83f62cf629ce08b41e1fe41ef56cbad72240c0d10dc1e784bb6e34962a03e271d0d8ca6ae95ca67886fa9f229668ad7e514dbc357
@@ -51,6 +52,7 @@ DIST gcc-15-20260515.tar.xz 92432788 BLAKE2B 53d8d3d650a82c5876bd27c0239aa3236d6
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-20260619.tar.xz 92462900 BLAKE2B 629e2958c836acb163e3d394c236e5d1323b8a4e4829a58bfec8e66775332c3505e8b45e5af67be4f5ee47d3280628c5fd96613bb21f61a686e12e26db0804bf SHA512 0a5423e9617561519b550e6d6a704ad22b6a6fd0f2654c53765803146b9e853a7767e63dfd937cdc2a36629721931054f5b311108d80e0a59ec8c57d3348f40a
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-14.3.1_p20260619.ebuild b/sys-devel/gcc/gcc-14.3.1_p20260619.ebuild
new file mode 100644
index 000000000000..6b0361c4ed0b
--- /dev/null
+++ b/sys-devel/gcc/gcc-14.3.1_p20260619.ebuild
@@ -0,0 +1,57 @@
+# 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_GCC_RC=1
+TOOLCHAIN_HAS_TESTS=1
+PATCH_GCC_VER="14.3.0"
+PATCH_VER="6"
+MUSL_VER="2"
+MUSL_GCC_VER="14.3.0"
+PYTHON_COMPAT=( python3_{13..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
+}
diff --git a/sys-devel/gcc/gcc-15.3.1_p20260619.ebuild b/sys-devel/gcc/gcc-15.3.1_p20260619.ebuild
new file mode 100644
index 000000000000..13c1da8a4cb1
--- /dev/null
+++ b/sys-devel/gcc/gcc-15.3.1_p20260619.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_{13..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
+}