summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2023-09-03 18:04:30 +0200
committerAndreas K. Hüttel <dilfridge@gentoo.org>2023-09-03 18:04:30 +0200
commitce186f2dcd2a3e959ea77ad26e86ad58b5ab21e7 (patch)
tree32bd7f1f0db96779d369edc0e62d4a6689f5b9ac
parentsys-devel/gcc: new package, add 13.2.1_p20230826 (diff)
downloaddilfridge-ce186f2dcd2a3e959ea77ad26e86ad58b5ab21e7.tar.gz
dilfridge-ce186f2dcd2a3e959ea77ad26e86ad58b5ab21e7.tar.bz2
dilfridge-ce186f2dcd2a3e959ea77ad26e86ad58b5ab21e7.zip
sys-devel/gcc: modify only on multilib
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
-rw-r--r--sys-devel/gcc/gcc-13.2.1_p20230826-r1.ebuild74
1 files changed, 74 insertions, 0 deletions
diff --git a/sys-devel/gcc/gcc-13.2.1_p20230826-r1.ebuild b/sys-devel/gcc/gcc-13.2.1_p20230826-r1.ebuild
new file mode 100644
index 0000000..3f07aa1
--- /dev/null
+++ b/sys-devel/gcc/gcc-13.2.1_p20230826-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2023 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"
+
+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
+
+# gcc barfs with our nonstandard riscv multilib construction, so let's
+# reset it to default and trust the compatibility symlinks (multilib only)
+if [[ ${CTARGET} == riscv* ]] && [[ ${MULTILIB_ABIS} =~ " " ]] ; then
+ export LIBDIR_lp64d=lib64/lp64d
+ export LIBDIR_lp64=lib64/lp64
+ export LIBDIR_ilp32d=lib32/ilp32d
+ export LIBDIR_ilp32=lib32/ilp32
+fi
+
+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 "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
+ eapply_user
+}