diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest index 6d04d4342d..2fac5193c2 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest @@ -9,6 +9,7 @@ DIST gcc-11-20240125.tar.xz 76243360 BLAKE2B ee2b1260cd5de9bc7d4a15bb4b4b2afe651 DIST gcc-11-20240201.tar.xz 76253248 BLAKE2B 1ccefbc220a9381e83937808602a14bfa59bf38b1f730bae8f96666036ca2b4f2a2f4369b3ea87f78ff9edef5e9429a793851d83ac4356c729ed58c02cd12862 SHA512 16c22ddf164668be3e365883edacb88607aaf294dc8065a9a722dc7afc0e29d1e879d1c39d77552dfba1c333bfc44258d784d0d06e9c935eaab28802a5756910 DIST gcc-11-20240208.tar.xz 76276224 BLAKE2B efce83c3ea03093546b73d7731ac1051da7a2b0309612ce5b809ae2756bf7a949c94f951f6a77e789f7669051315e1a4e4c33f2b12a2ec1999ee9f1f39f6b13f SHA512 a0e2b4402ff187d0804e3bc2ed0a228cfce48476c1270d57798b060899f65c7e986945651d36c358f9df5eb4b36db13321e141895329b7382c130a0aca6a8962 DIST gcc-11-20240215.tar.xz 76240320 BLAKE2B 6a6c16fe13ba7c7bd1e7326bcce7f276110f0e10c02e4d6906ef3dd7af47a80bd1891ad223990e3d9f6287878f07590e5ff3836d983bc6ffe5dcce3ab07ee2d1 SHA512 eebaaf16c20f9e255f014b12faec3ad9b7486b977dded7293bfd62b07e767abe36040061b760e230f5c6dbb140e62dfd20762645114b496d59bedfb99fda70e0 +DIST gcc-11-20240222.tar.xz 76255148 BLAKE2B 9a406e85ccdb9447b4672841d84cb248618d75c996ed08441449713861b99be2812d79dc76db18f735efd795b7039c58e554cecb02b76ce95b4272fa856ad7f5 SHA512 6c1370221e1969060dbe3ea03357c238cc7c84500e3b71b6a6c1f47e77bc3708e46210e99e0d5482674b412e1bdcb2feab5021137ac1af286f47e51d841153ef DIST gcc-11.4.0-musl-patches-2.tar.xz 4308 BLAKE2B a2335e155fc57816fed822a648e0eaefafcba9d04e1ad0fd7baeea5a694ab6f5e3c1678cb406f2a1bd17bab25cb01699d032713a1ccf337948dfda2093844607 SHA512 17b84f907cb1bd763873655e6f35fd3ed55a40b602b70a626f04f83b4cc89c6261db1661de78d4d969187a8c56e9f6305b742515a3836b962248a21df0df5d0c DIST gcc-11.4.0-patches-10.tar.xz 13852 BLAKE2B 54937d13e30e2a5303c7e197fae09eeed35ca0b9783625e02578fcee829b5503fb22d664366322b304df7d01ae807d00af7c93db3e3ceebe4851e15647724f87 SHA512 31b4d7a2e7cc589e92e12c3583d13d41c523cafbd309bc0532df9b68ea2473c89daef4c0edd3ce2917b5823d81a7792f145b9449f16277d0d64c22ceff50bbb9 DIST gcc-11.4.0-patches-12.tar.xz 13824 BLAKE2B e4df9e0dc9512882022aaf325ebf65c540169454c91dd31f913c6f57f6eb291c79ae919671b53db1549799d4a70c09298bf45ed82ad05eb1f961443cc958369d SHA512 87fed0c3f8e28c9f702443db58350bb615110b27ebe334b5de2ea60678e2548c56cd75cffade210d69634e2ac0a9311f5100ddb45d97645aa76d5688bc421a61 @@ -20,6 +21,7 @@ DIST gcc-12-20240126.tar.xz 79822228 BLAKE2B 7bee3799f0655d35773c380996d5cccb7b1 DIST gcc-12-20240202.tar.xz 79839620 BLAKE2B c79f757042374fd0c2a6980e2b6d3853d1a440b0ace8ac2987b524b8abfb80b30c3a533f1271c5cdea58bfd890a36abfb034a77580a15a563098b8c57bf61224 SHA512 3eabe953c14c370e5b8c4293e0a3f041121914ed30788797fd7c7822b2ecc05d7c1b4859d374249cdf26e91ef9d7e8b04235b7d1066730c44d4ae221ddbf06ba DIST gcc-12-20240209.tar.xz 79824868 BLAKE2B 1ae5a646da470f06648c4766c77475ceb287c5f6647d5102f1aef6590f973233d5e7f83b5e0241488d49dba59dd605c211938379e68a393a2dccb3834103ae4b SHA512 9f9a04f4477f41bb2a5662aedef2af75b039de50c2dc99310e504e6080cb7aae06a1255337ea2e563975cb108ddc6766adbbaf4e3d5d5712801d7ba9a5209dbd DIST gcc-12-20240216.tar.xz 79824728 BLAKE2B 579f0b7b14be5f509b950b1d0ed985ad7abf85787123cd71571fa0daa7176636ebcf10f3f7cfc40dab258cda5ab81759feb9284ad35e5333c89bcab8e7d84ccb SHA512 4bd8242f85190fe2e0c751e4ba3bc59016ce407b1e8fdc034220e7af14cfc735a84deb59e5a78e5993e254904890c89c171c4f8b3a322d06db852e7595b1a1c4 +DIST gcc-12-20240223.tar.xz 79826600 BLAKE2B 408f3193c1254f3155b1bc679861fa4c994b94090cace14532a6e753ae217be9990919c5a9b2763b294b1ebbaf95876055c841e854132773cc6cb81454d0caec SHA512 e9c23cb4a5101e556123fd621fd849f961e11871fcbfbb9dd898de66a932be9b891030d327231327946300beb0e0c3abe58f8f1c72158c910785e8ecb2f687c0 DIST gcc-12.3.0-musl-patches-1.tar.xz 3572 BLAKE2B c7bf65f7c9ea8023ddaac821ee2b778622fa310ac72a72b2f7032494a8f304eac86217f9204622e6c21aaef9952bece0d09bc126facd4f42b602927909815ab5 SHA512 babc279fea2c1fd4c018815f2f5630214fd46015ce9f365c28af242681d51818eaca30ce298eddcab1eed5ac5f2759e2b47b2335afab9d722b4469a6d4fec326 DIST gcc-12.3.0-patches-2.tar.xz 14236 BLAKE2B 06c43662c9abb0fa3cf90d5e2273c69aecb9158e6cf6f23c04754ed5d686be2616e81e2502eb16f4298ddd50518ca7677e13249da9e9b091162d3931ff65e4fe SHA512 b0d4b85dbf1a54aaaa1997203b872e3106906b4ad49cde57e1428bc22b2f8e2d73b8cb10ae0d0b792aebaf664594da4d1dea04c44ddc34e59047410766db04d1 DIST gcc-13-20230826.tar.xz 84285788 BLAKE2B c25be594e322dd7145245c42ae21b98aa9e3e6ae69f1fa313830e40bf2e8fcb8435762f1c9d3f1ca1dbf31653bdc76a658bec708b7850fe40a7c55504ac30618 SHA512 3d47632e90651bd50a881c727c1ef2aa3322b4fc3e082919ae430270901abf8a05a34fe93f8b678c10dc9a0758f93dc3b33ed5947c8743dab453d2b50c063722 @@ -30,6 +32,7 @@ DIST gcc-13-20240127.tar.xz 84365080 BLAKE2B 735bcff50272765110a14358d6cddd0a96b DIST gcc-13-20240203.tar.xz 84370060 BLAKE2B 56dd475e1c12fd7f11b1c35c303547de53998dd8322db47e686e4d37135271a5caa7adfea173c9505b8f7e61e17587c3878fc8de1886fa2d7c81ee901b001a67 SHA512 87541b578e29d658d0cd860bdcdb7c577d5a5ec6ab52b495dc44b073695119e8d17c7c154286251942e89f8f6da34a2784b95a21c8fa4972064bbae0a63770a4 DIST gcc-13-20240210.tar.xz 84354416 BLAKE2B 5807623d3f7dd751b6dfe164cfd50d57b2f93485c23c3c2228a4a846a9a94cdad52a5e6f2806e5e7ee2a7b5526386ebdb339c44c7ea023d69f8652088a1b114d SHA512 14a01ced7ac2bfd9fc93de4e3819b4d0823fbe129d3f1faabeb707e9e3e2613b4173321b58b3648a7250e3b7ff5d94edfee60e6c38682f31a1f7b57b1c01433f DIST gcc-13-20240217.tar.xz 84346744 BLAKE2B 992089bd05476eb1b52418700b804ea6da3163687319ecff22a942e7b760e56334ea37c2d7e35fe5550506c1eb46a8962deb5f86a64c0e7484438671b623729e SHA512 35f55cb71973222a12598cd3f1a774d619e501ca368ecf318b583424106023c93ce1e30641d9f728a4c7cf6e120e6c4eaf43a6745fa3fc83d9565d4b2919b145 +DIST gcc-13-20240224.tar.xz 84381840 BLAKE2B c40a3610bd65ac3cb7a1c5e446b202af33bce93e35795bd67b805f5b323e11d769020587dcb382ce4dd69cee3005882b5e1508651271d174656c1aba2187cb3f SHA512 bc5909ecb7ce717908801e4088e547b863a62517fca3f861b53579efbfc8b01566d2c99124a48a40439198b3a48a9eca958ed0e910ffe94e278db0b91e57987a DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69 DIST gcc-13.2.0-patches-11.tar.xz 46340 BLAKE2B c9f12ccbe7bb7ba3a2afec16695e69b062429779d544f5614e1ef0617751e54d77eb9bb6e19dc8c6132c57e630f0e77e2cc20cf2c77e0e79d03a6e57b9ba53c6 SHA512 a09801ecefccc66830607986a622bbcc5f217ba08da4ac9f68436e422b5a19042c60c7d5fcb75d4fe9ad9008ab06278382c9798b319ed9630c2e97fa09c3a344 DIST gcc-13.2.0-patches-12.tar.xz 47404 BLAKE2B ed018bcd7429d1c7aace746cbfc4e59dae409fc0a35231320c1b44c96fff0d912eba5c72109c2deb883f5368159df02148b2d4373396b34da882164c61fe4387 SHA512 b7872a03870bce7b633e4af4329b24fe8f3d50d6d9173f63549f606ce062787748af7f79e7ec4afeb768968d6e8462a849bd1b94316ea6bb284551f99e811617 @@ -41,6 +44,7 @@ DIST gcc-14-20240128.tar.xz 87528304 BLAKE2B d3a3cce5da54b7342a11a3dceb97bfa5f12 DIST gcc-14-20240204.tar.xz 87563056 BLAKE2B 6723206f6cebf347df8a5645f64f05d16c257457cafc915694756af87d71e3265e411659978588591839b36744f045fd5400525434281dbdb3885a8a510c64d1 SHA512 d6c245c45bd95d34a41039ee1bb97b817781f5f137e80f88e61e9f2b4109e4cd7aaac67a528030325f96c83272664292b31d58c24153825c98bfc2270224b868 DIST gcc-14-20240211.tar.xz 87577300 BLAKE2B cfee2b4cdb52e96cd5fe752c67c9606b92449c082d31b738f0503bca9d58e9c8da488540aa9bf116fdf6e19fb29f58104340de6314734e135df1112c93846baa SHA512 a315c8e06e3e35b6046e5ae74c6758bd51ca89ad33cb7d7628091ef393a227bb8e2771000d2624377c80145ce69c3f781f9f08166e5e0ac7b0fc7539ceaa023f DIST gcc-14-20240218.tar.xz 87636252 BLAKE2B c7680c6e704f8a50d13126f397f672be8ccf4e6ebd05cb2530d7b7a37084bdc2a77e7971b20a4aac65ec6c913874e30a2cf0b90cef94420227a65f1f363f1611 SHA512 2938fcf17d94c82bcbef8269661414cbd489dc2db4024a4407c529f8d80363b2667058c3bd39b32641dc9e067591b24fa5e0f693759ccd259ad0d3dab1d9bc53 +DIST gcc-14-20240225.tar.xz 87651536 BLAKE2B 01283581b8684e0dce73b2d9a586e473f3c87753435d905e193816911edc06f9bd2a8d542a95d69f47f1c884124349520f410925b13b7bb51b913e603000d32f SHA512 f424b0935d8fdcf9ff55067467eac20a518a11c2cb14928a47e1a218cde1f4238091f25861daf417d1125c5d5d5465d32fc1b3cb04504b3ca99fe27a7a7d5792 DIST gcc-14.0.0-musl-patches-1.tar.xz 3576 BLAKE2B 692baee8a7709905d53aeb150d73a3721c4ba47ee5f397cfb1b5be905cf003ca02b60c94ee294d90ac39645cd5cdf186c7a3aa950c47d8cf680c128ed705b807 SHA512 0592ab98a7142e404623a6511c67dff61e9ade32c3fb2c0e75b456306e0af3799ad13252b50b3d2fdd31e5815d7f0b16b0ad63ab8386fe4d78729fc9c182d617 DIST gcc-14.0.0-patches-11.tar.xz 11272 BLAKE2B 81c63b8aebcfd5b33b698ef4ef8f2d12b94ea2753ecec2b160cf9fab534dccd12875bcb16cfac2aa81211f8d9ff530cfc18f486567721beac487e08daa62363e SHA512 0f51352cbc6815cd1dbc8b73e9c83842a58242220ba712291cc76c08c19b3a612c88a3221b2da437a9c7ecb410a83c2e538aa1984b733f444843bdf79d314a71 DIST gcc-14.0.0-patches-16.tar.xz 11884 BLAKE2B bb47024c766f59222b50c5ff19ed6b763c9867508352cbcfc069d028d323a3b6fb3bbcbb2c08be7830f1ba266f54410842a17c9448c2bd9f101aa876ffb8f6ee SHA512 890a0b63485558eb2f1e9fea6a274e251442d129bcb67fd2ee11715916a6f8ea15bed0b59c72ed055fff5d6d90e2bfc3140ddee4e057af117d86fd6b7615fcbc diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240222.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240222.ebuild new file mode 100644 index 0000000000..da9833f439 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240222.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="sam" +PATCH_GCC_VER="11.4.0" +PATCH_VER="12" +MUSL_VER="2" +MUSL_GCC_VER="11.4.0" + +if [[ ${PV} == *.9999 ]] ; then + MY_PV_2=$(ver_cut 2) + MY_PV_3=1 + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + MY_PV_3=0 + else + MY_PV_2=$((${MY_PV_2} - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} +elif [[ -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 + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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}" + BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" +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_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.3.1_p20240223.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.3.1_p20240223.ebuild new file mode 100644 index 0000000000..6976716247 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.3.1_p20240223.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="sam" +PATCH_GCC_VER="12.3.0" +PATCH_VER="2" +MUSL_VER="1" +MUSL_GCC_VER="12.3.0" + +if [[ ${PV} == *.9999 ]] ; then + MY_PV_2=$(ver_cut 2) + MY_PV_3=1 + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + MY_PV_3=0 + else + MY_PV_2=$((${MY_PV_2} - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} +elif [[ -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 + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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}" + BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" +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_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.1_p20240224.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.1_p20240224.ebuild new file mode 100644 index 0000000000..208fc6756f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.1_p20240224.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2024 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="13" +MUSL_VER="2" +MUSL_GCC_VER="13.2.0" + +if [[ ${PV} == *.9999 ]] ; then + MY_PV_2=$(ver_cut 2) + MY_PV_3=1 + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + MY_PV_3=0 + else + MY_PV_2=$((${MY_PV_2} - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} +elif [[ -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 + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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}" + BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" +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_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.0.1_pre20240225.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.0.1_pre20240225.ebuild new file mode 100644 index 0000000000..07ffb3cbdb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.0.1_pre20240225.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="sam" +PATCH_GCC_VER="14.0.0" +PATCH_VER="23" +MUSL_VER="1" +MUSL_GCC_VER="14.0.0" + +if [[ ${PV} == *.9999 ]] ; then + MY_PV_2=$(ver_cut 2) + MY_PV_3=1 + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + MY_PV_3=0 + else + MY_PV_2=$((${MY_PV_2} - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} +elif [[ -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 ~ia64 ~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}" + BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" +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_user +}