diff --git a/sdk_container/src/third_party/portage-stable/acct-group/dnsmasq/dnsmasq-0.ebuild b/sdk_container/src/third_party/portage-stable/acct-group/dnsmasq/dnsmasq-0.ebuild
new file mode 100644
index 0000000000..d765927def
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/acct-group/dnsmasq/dnsmasq-0.ebuild
@@ -0,0 +1,8 @@
+# Copyright 2019-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit acct-group
+
+ACCT_GROUP_ID=275
diff --git a/sdk_container/src/third_party/portage-stable/acct-group/dnsmasq/metadata.xml b/sdk_container/src/third_party/portage-stable/acct-group/dnsmasq/metadata.xml
new file mode 100644
index 0000000000..cee379b154
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/acct-group/dnsmasq/metadata.xml
@@ -0,0 +1,8 @@
+
+
+
+
+ chutzpah@gentoo.org
+ Patrick McLean
+
+
diff --git a/sdk_container/src/third_party/portage-stable/acct-user/dnsmasq/dnsmasq-0.ebuild b/sdk_container/src/third_party/portage-stable/acct-user/dnsmasq/dnsmasq-0.ebuild
new file mode 100644
index 0000000000..bf98c0fc92
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/acct-user/dnsmasq/dnsmasq-0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 2019-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit acct-user
+
+DESCRIPTION="User for net-dns/dnsmasq"
+
+ACCT_USER_ID=275
+ACCT_USER_GROUPS=( dnsmasq )
+
+acct-user_add_deps
diff --git a/sdk_container/src/third_party/portage-stable/acct-user/dnsmasq/metadata.xml b/sdk_container/src/third_party/portage-stable/acct-user/dnsmasq/metadata.xml
new file mode 100644
index 0000000000..cee379b154
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/acct-user/dnsmasq/metadata.xml
@@ -0,0 +1,8 @@
+
+
+
+
+ chutzpah@gentoo.org
+ Patrick McLean
+
+
diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest
index 0704962842..1429fb2af9 100644
--- a/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest
@@ -19,3 +19,4 @@ EBUILD perf-4.9.13.ebuild 4780 SHA256 1c4108a23d10577e90236a4a093f768af270bf049e
MISC ChangeLog 3650 SHA256 0975840be7bd7127c7d5b83a130f6ae8621256a7f02eb80196c69298b918eca2 SHA512 742d129e590b0c36adc7cc3b81fa51184c1c147dec3aa5c844a704f81cbab7023f39229c7e06ffcf06f4a5af5d1ba44100b8421f4c52fa5b8f8c47df4016d7ae WHIRLPOOL effae523378dd7bbdfac3dbb990e7e1a0b8d0cb18c08128c138f3e84d8f6419a9c117c4e7ed867d2ebc4e32279ab12f6c99a921d596f36da2cac74c89c55abc3
MISC ChangeLog-2015 6264 SHA256 740d932dcee9533fa7cb6a2a03eecdc04aeb744b5d456dcb9972f6c228b57e2f SHA512 aebf127fb17bd1fd086d9f0057dfb5f044e789f943dbda5ef2260b5145944c4f8f44d241610209ec9c9a65908aa932019d5f0d3c027dfb5869423daf6762cb08 WHIRLPOOL 0f040aa61460166d988e4becfe91449bab91e90c5ac2d5da04eeb8685142a96700f776625f21b4997d5518857597c851934ebcdf6e558407ee25adce0d5ca63f
MISC metadata.xml 1153 SHA256 880863b904a364fe264b2d6e4db2d5086b543df748a140aeab88bf531db1c88e SHA512 18e5b436d7ae5ba8c9da8bd4007e33006e25f351d9e01e55127bd35f47446663faafa1de37283410e0cec9f00b8b4422afb4a8d256b8161d88c3c084e8c9a09d WHIRLPOOL 2f765f9167d86eb0317b673f91f2c44190dc6d1a231d2fc047cdea57c8c0fcc03083bdfa03fae2abae1263d225141f1b9f6109f91026c77d47f7e532fb907c31
+DIST linux-5.8.tar.xz 114459324 BLAKE2B 7bd97f8fa4527840754434414c07283e89731dc8ebb1e95fa5bc1469a60af1122582c0d3b6e262e77882f023190068df3537bd8b65964b3caa820bb2c8e579c7 SHA512 45a53ecf351096ef6e98242cca4228b8da9b9139ecc6963695791ea6fb7a9484a4e1c19dcca7ce7cbfdfa49de0451b70973bb078f12bdae9cbaddbc3f8092556
diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.1.15-fix-clang8.patch b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.1.15-fix-clang8.patch
new file mode 100644
index 0000000000..743f4b017b
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.1.15-fix-clang8.patch
@@ -0,0 +1,17 @@
+https://bugs.gentoo.org/678652
+Created-By: Maciej S. Szmigiero
+---
+--- a/tools/build/feature/test-clang.cpp 2018-12-24 00:55:59.000000000 +0100
++++ b/tools/build/feature/test-clang.cpp 2019-04-06 16:05:56.828757243 +0200
+@@ -1,10 +1,10 @@
+ // SPDX-License-Identifier: GPL-2.0
+-#include "clang/Basic/VirtualFileSystem.h"
+ #include "clang/Driver/Driver.h"
+ #include "clang/Frontend/TextDiagnosticPrinter.h"
+ #include "llvm/ADT/IntrusiveRefCntPtr.h"
+ #include "llvm/Support/ManagedStatic.h"
+ #include "llvm/Support/raw_ostream.h"
++#include "llvm/Support/VirtualFileSystem.h"
+
+ using namespace clang;
+ using namespace clang::driver;
diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.4.20-binutil-libs-2.34.patch b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.4.20-binutil-libs-2.34.patch
new file mode 100644
index 0000000000..9fa191f720
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.4.20-binutil-libs-2.34.patch
@@ -0,0 +1,60 @@
+From 0ada120c883d4f1f6aafd01cf0fbb10d8bbba015 Mon Sep 17 00:00:00 2001
+From: Changbin Du
+Date: Tue, 28 Jan 2020 23:29:38 +0800
+Subject: perf: Make perf able to build with latest libbfd
+
+libbfd has changed the bfd_section_* macros to inline functions
+bfd_section_ since 2019-09-18. See below two commits:
+ o http://www.sourceware.org/ml/gdb-cvs/2019-09/msg00064.html
+ o https://www.sourceware.org/ml/gdb-cvs/2019-09/msg00072.html
+
+This fix make perf able to build with both old and new libbfd.
+
+Signed-off-by: Changbin Du
+Acked-by: Jiri Olsa
+Cc: Peter Zijlstra
+Link: http://lore.kernel.org/lkml/20200128152938.31413-1-changbin.du@gmail.com
+Signed-off-by: Arnaldo Carvalho de Melo
+---
+ tools/perf/util/srcline.c | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c
+index 6ccf6f6..5b7d6c1 100644
+--- a/tools/perf/util/srcline.c
++++ b/tools/perf/util/srcline.c
+@@ -193,16 +193,30 @@ static void find_address_in_section(bfd *abfd, asection *section, void *data)
+ bfd_vma pc, vma;
+ bfd_size_type size;
+ struct a2l_data *a2l = data;
++ flagword flags;
+
+ if (a2l->found)
+ return;
+
+- if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0)
++#ifdef bfd_get_section_flags
++ flags = bfd_get_section_flags(abfd, section);
++#else
++ flags = bfd_section_flags(section);
++#endif
++ if ((flags & SEC_ALLOC) == 0)
+ return;
+
+ pc = a2l->addr;
++#ifdef bfd_get_section_vma
+ vma = bfd_get_section_vma(abfd, section);
++#else
++ vma = bfd_section_vma(section);
++#endif
++#ifdef bfd_get_section_size
+ size = bfd_get_section_size(section);
++#else
++ size = bfd_section_size(section);
++#endif
+
+ if (pc < vma || pc >= vma + size)
+ return;
+--
+cgit v1.1
+
diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.4.6-fix-clang9.patch b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.4.6-fix-clang9.patch
new file mode 100644
index 0000000000..614e62f676
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.4.6-fix-clang9.patch
@@ -0,0 +1,17 @@
+https://bugs.gentoo.org/695726
+Created-By: Maciej S. Szmigiero
+Created-By: Dennis Schridde
+--- a/tools/perf/util/c++/clang.cpp.orig 2019-12-20 16:39:21.015363866 +0100
++++ b/tools/perf/util/c++/clang.cpp 2019-12-20 16:40:04.051639185 +0100
+@@ -71,7 +71,11 @@
+ CompilerInstance Clang;
+ Clang.createDiagnostics();
+
++#if CLANG_VERSION_MAJOR < 9
+ Clang.setVirtualFileSystem(&*VFS);
++#else
++ Clang.createFileManager(&*VFS);
++#endif
+
+ #if CLANG_VERSION_MAJOR < 4
+ IntrusiveRefCntPtr CI =
diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.4.7-propagate-cflags.patch b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.4.7-propagate-cflags.patch
new file mode 100644
index 0000000000..b1a9bcc25a
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.4.7-propagate-cflags.patch
@@ -0,0 +1,44 @@
+From 55542113c690a567e728e40d4181d7d037fc21b0 Mon Sep 17 00:00:00 2001
+From: Jiri Olsa
+Date: Fri, 11 Oct 2019 14:21:55 +0200
+Subject: perf tools: Propagate CFLAGS to libperf
+
+Andi reported that 'make DEBUG=1' does not propagate to the libbperf
+code. It's true also for the other flags. Changing the code to propagate
+the global build flags to libperf compilation.
+
+Reported-by: Andi Kleen
+Signed-off-by: Jiri Olsa
+Cc: Alexander Shishkin
+Cc: Michael Petlan
+Cc: Namhyung Kim
+Cc: Peter Zijlstra
+Link: http://lore.kernel.org/lkml/20191011122155.15738-1-jolsa@kernel.org
+Signed-off-by: Arnaldo Carvalho de Melo
+---
+ tools/perf/lib/core.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+(limited to 'tools/perf/lib/core.c')
+
+diff --git a/tools/perf/lib/core.c b/tools/perf/lib/core.c
+index d0b9ae422b9f..58fc894b76c5 100644
+--- a/tools/perf/lib/core.c
++++ b/tools/perf/lib/core.c
+@@ -5,11 +5,12 @@
+ #include
+ #include
+ #include
++#include
+ #include
+ #include
+ #include "internal.h"
+
+-static int __base_pr(enum libperf_print_level level, const char *format,
++static int __base_pr(enum libperf_print_level level __maybe_unused, const char *format,
+ va_list args)
+ {
+ return vfprintf(stderr, format, args);
+--
+cgit 1.2-0.3.lf.el7
+
diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-util/perf/metadata.xml
index 1b50bf7e52..6755b76325 100644
--- a/sdk_container/src/third_party/portage-stable/dev-util/perf/metadata.xml
+++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/metadata.xml
@@ -1,33 +1,41 @@
-
- naota@gentoo.org
-
-
- dlan@gentoo.org
- Yixun Lan
-
-
+
+ naota@gentoo.org
+
+
+ dlan@gentoo.org
+ Yixun Lan
+
+
+ amadio@gentoo.org
+ Guilherme Amadio
+
+
diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-4.9.13.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-4.9.13.ebuild
index 3f7ee92373..8ab1e31beb 100644
--- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-4.9.13.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-4.9.13.ebuild
@@ -42,7 +42,7 @@ IUSE="audit debug +demangle +doc gtk numa perl python slang unwind"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="audit? ( sys-process/audit )
- demangle? ( sys-devel/binutils:= )
+ demangle? ( sys-devel/binutils )
gtk? ( x11-libs/gtk+:2 )
numa? ( sys-process/numactl )
perl? ( dev-lang/perl )
diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.8.ebuild
new file mode 100644
index 0000000000..ef18f14722
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.8.ebuild
@@ -0,0 +1,241 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7} )
+inherit bash-completion-r1 estack eutils llvm toolchain-funcs prefix python-r1 linux-info
+
+MY_PV="${PV/_/-}"
+MY_PV="${MY_PV/-pre/-git}"
+
+DESCRIPTION="Userland tools for Linux Performance Counters"
+HOMEPAGE="https://perf.wiki.kernel.org/"
+
+LINUX_V="${PV:0:1}.x"
+if [[ ${PV} == *_rc* ]] ; then
+ LINUX_VER=$(ver_cut 1-2).$(($(ver_cut 3)-1))
+ PATCH_VERSION=$(ver_cut 1-3)
+ LINUX_PATCH=patch-${PV//_/-}.xz
+ SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH}
+ https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}"
+elif [[ ${PV} == *.*.* ]] ; then
+ # stable-release series
+ LINUX_VER=$(ver_cut 1-2)
+ LINUX_PATCH=patch-${PV}.xz
+ SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}"
+else
+ LINUX_VER=${PV}
+ SRC_URI=""
+fi
+
+LINUX_SOURCES="linux-${LINUX_VER}.tar.xz"
+SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~mips ~ppc ~ppc64 ~x86 amd64-linux ~x86-linux"
+IUSE="audit clang crypt debug +demangle +doc gtk java lzma numa perl python slang systemtap unwind zlib"
+# TODO babeltrace
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="audit? ( sys-process/audit )
+ crypt? ( dev-libs/openssl:0= )
+ clang? (
+ =sys-kernel/linux-headers-4.19
+ ${LINUX_PATCH+dev-util/patchutils}
+ sys-devel/bison
+ sys-devel/flex
+ java? ( virtual/jdk )
+ doc? (
+ app-text/asciidoc
+ app-text/sgml-common
+ app-text/xmlto
+ sys-process/time
+ )"
+
+S_K="${WORKDIR}/linux-${LINUX_VER}"
+S="${S_K}/tools/perf"
+
+CONFIG_CHECK="~PERF_EVENTS ~KALLSYMS"
+
+pkg_setup() {
+ use clang && LLVM_MAX_SLOT=9 llvm_pkg_setup
+}
+
+src_unpack() {
+ local paths=(
+ tools/arch tools/build tools/include tools/lib tools/perf tools/scripts
+ scripts include lib "arch/*/lib"
+ )
+
+ # We expect the tar implementation to support the -j option (both
+ # GNU tar and libarchive's tar support that).
+ echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}"
+ tar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
+ "${paths[@]/#/linux-${LINUX_VER}/}" || die
+
+ if [[ -n ${LINUX_PATCH} ]] ; then
+ eshopts_push -o noglob
+ ebegin "Filtering partial source patch"
+ filterdiff -p1 ${paths[@]/#/-i } -z "${DISTDIR}"/${LINUX_PATCH} \
+ > ${P}.patch
+ eend $? || die "filterdiff failed"
+ eshopts_pop
+ fi
+
+ local a
+ for a in ${A}; do
+ [[ ${a} == ${LINUX_SOURCES} ]] && continue
+ [[ ${a} == ${LINUX_PATCH} ]] && continue
+ unpack ${a}
+ done
+}
+
+src_prepare() {
+ default
+ if [[ -n ${LINUX_PATCH} ]] ; then
+ pushd "${S_K}" >/dev/null || die
+ eapply "${WORKDIR}"/${P}.patch
+ popd || die
+ fi
+
+ # Drop some upstream too-developer-oriented flags and fix the
+ # Makefile in general
+ sed -i \
+ -e "s:\$(sysconfdir_SQ)/bash_completion.d:$(get_bashcompdir):" \
+ "${S}"/Makefile.perf || die
+ # A few places still use -Werror w/out $(WERROR) protection.
+ sed -i -e 's:-Werror::' \
+ "${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile || die
+
+ # Avoid the call to make kernelversion
+ echo "#define PERF_VERSION \"${MY_PV}\"" > PERF-VERSION-FILE
+
+ # The code likes to compile local assembly files which lack ELF markings.
+ find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} +
+
+ # Fix shebang to use python from prefix
+ if [[ -n "${EPREFIX}" ]]; then
+ hprefixify ${S_K}/scripts/bpf_helpers_doc.py
+ fi
+}
+
+puse() { usex $1 "" no; }
+perf_make() {
+ # The arch parsing is a bit funky. The perf tools package is integrated
+ # into the kernel, so it wants an ARCH that looks like the kernel arch,
+ # but it also wants to know about the split value -- i386/x86_64 vs just
+ # x86. We can get that by telling the func to use an older linux version.
+ # It's kind of a hack, but not that bad ...
+
+ # LIBDIR sets a search path of perf-gtk.so. Bug 515954
+
+ local arch=$(tc-arch-kernel)
+ local java_dir
+ use java && java_dir="/etc/java-config-2/current-system-vm"
+ # FIXME: NO_CORESIGHT
+ # FIXME: NO_LIBBABELTRACE
+ emake V=1 VF=1 \
+ HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="$(tc-getLD)" NM="$(tc-getNM)" \
+ PKG_CONFIG="$(tc-getPKG_CONFIG)" \
+ prefix="${EPREFIX}/usr" bindir_relative="bin" \
+ EXTRA_CFLAGS="${CFLAGS}" \
+ ARCH="${arch}" \
+ JDIR="${java_dir}" \
+ LIBCLANGLLVM=$(usex clang 1 "") \
+ NO_AUXTRACE="" \
+ NO_BACKTRACE="" \
+ NO_CORESIGHT=1 \
+ NO_DEMANGLE=$(puse demangle) \
+ NO_GTK2=$(puse gtk) \
+ NO_JVMTI=$(puse java) \
+ NO_LIBAUDIT=$(puse audit) \
+ NO_LIBBABELTRACE=1 \
+ NO_LIBBIONIC=1 \
+ NO_LIBBPF="" \
+ NO_LIBCRYPTO=$(puse crypt) \
+ NO_LIBDW_DWARF_UNWIND="" \
+ NO_LIBELF="" \
+ NO_LIBNUMA=$(puse numa) \
+ NO_LIBPERL=$(puse perl) \
+ NO_LIBPYTHON=$(puse python) \
+ NO_LIBUNWIND=$(puse unwind) \
+ NO_SDT=$(puse systemtap) \
+ NO_SLANG=$(puse slang) \
+ NO_LZMA=$(puse lzma) \
+ NO_ZLIB= \
+ WERROR=0 \
+ LIBDIR="/usr/libexec/perf-core" \
+ "$@"
+}
+
+src_compile() {
+ # test-clang.bin not build with g++
+ if use clang; then
+ pushd "${S_K}/tools/build/feature/" || die
+ make V=1 CXX=${CHOST}-clang++ test-clang.bin || die
+ popd
+ fi
+ perf_make -f Makefile.perf
+ use doc && perf_make -C Documentation
+}
+
+src_test() {
+ :
+}
+
+src_install() {
+ _install_python_ext() {
+ perf_make -f Makefile.perf install-python_ext DESTDIR="${D}"
+ }
+
+ perf_make -f Makefile.perf install DESTDIR="${D}"
+ if use python; then
+ python_foreach_impl _install_python_ext
+ fi
+
+ rm -rv "${ED}"/usr/share/doc/perf-tip || die
+
+ if use gtk; then
+ local libdir
+ libdir="$(get_libdir)"
+ # on some arches it ends up in lib even on 64bit, ppc64 for instance.
+ [[ -f "${ED}"/usr/lib/libperf-gtk.so ]] && libdir="lib"
+ mv "${ED}"/usr/${libdir}/libperf-gtk.so \
+ "${ED}"/usr/libexec/perf-core || die
+ fi
+
+ dodoc CREDITS
+
+ dodoc *txt Documentation/*.txt
+ if use doc ; then
+ HTML_DOCS="Documentation/*.html" einstalldocs
+ doman Documentation/*.1
+ fi
+}
+
+pkg_postinst() {
+ if ! use doc ; then
+ elog "Without the doc USE flag you won't get any documentation nor man pages."
+ elog "And without man pages, you won't get any --help output for perf and its"
+ elog "sub-tools."
+ fi
+}
diff --git a/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass
index cf6a953372..3e65249712 100644
--- a/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass
+++ b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass
@@ -1,25 +1,28 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Maintainer: Toolchain Ninjas
-# @SUPPORTED_EAPIS: 5 6
+# @SUPPORTED_EAPIS: 5 6 7
DESCRIPTION="The GNU Compiler Collection"
HOMEPAGE="https://gcc.gnu.org/"
-RESTRICT="strip" # cross-compilers need controlled stripping
-inherit eutils fixheadtails flag-o-matic gnuconfig libtool multilib pax-utils toolchain-funcs prefix
+inherit eutils flag-o-matic gnuconfig libtool multilib pax-utils toolchain-funcs prefix
-if [[ ${PV} == *_pre9999* ]] ; then
- EGIT_REPO_URI="git://gcc.gnu.org/git/gcc.git"
+tc_is_live() {
+ [[ ${PV} == *9999* ]]
+}
+
+if tc_is_live ; then
+ EGIT_REPO_URI="https://gcc.gnu.org/git/gcc.git"
# naming style:
- # gcc-4.7.1_pre9999 -> gcc-4_7-branch
+ # gcc-10.1.0_pre9999 -> gcc-10-branch
# Note that the micro version is required or lots of stuff will break.
# To checkout master set gcc_LIVE_BRANCH="master" in the ebuild before
# inheriting this eclass.
- EGIT_BRANCH="${PN}-${PV%.?_pre9999}-branch"
+ EGIT_BRANCH="releases/${PN}-${PV%.?.?_pre9999}"
EGIT_BRANCH=${EGIT_BRANCH//./_}
- inherit git-2
+ inherit git-r3
fi
FEATURES=${FEATURES/multilib-strict/}
@@ -27,8 +30,10 @@ FEATURES=${FEATURES/multilib-strict/}
case ${EAPI:-0} in
0|1|2|3|4*) die "Need to upgrade to at least EAPI=5" ;;
5*|6) inherit eapi7-ver ;;
+ 7) ;;
*) die "I don't speak EAPI ${EAPI}." ;;
esac
+
EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare src_configure \
src_compile src_test src_install pkg_postinst pkg_postrm
@@ -62,41 +67,39 @@ tc_version_is_between() {
GCC_PV=${TOOLCHAIN_GCC_PV:-${PV}}
GCC_PVR=${GCC_PV}
[[ ${PR} != "r0" ]] && GCC_PVR=${GCC_PVR}-${PR}
+
+# GCC_RELEASE_VER must always match 'gcc/BASE-VER' value.
+# It's an internal representation of gcc version used for:
+# - versioned paths on disk
+# - 'gcc -dumpversion' output. Must always match ...
GCC_RELEASE_VER=$(ver_cut 1-3 ${GCC_PV})
+
GCC_BRANCH_VER=$(ver_cut 1-2 ${GCC_PV})
GCCMAJOR=$(ver_cut 1 ${GCC_PV})
GCCMINOR=$(ver_cut 2 ${GCC_PV})
GCCMICRO=$(ver_cut 3 ${GCC_PV})
-[[ ${BRANCH_UPDATE-notset} == "notset" ]] && \
- BRANCH_UPDATE=$(ver_cut 4 ${GCC_PV})
-# According to gcc/c-cppbuiltin.c, GCC_CONFIG_VER MUST match this regex.
-# ([^0-9]*-)?[0-9]+[.][0-9]+([.][0-9]+)?([- ].*)?
-GCC_CONFIG_VER=${GCC_CONFIG_VER:-$(ver_rs 3 '-' ${GCC_PV})}
+# Ideally this variable should allow for custom gentoo versioning
+# of binary and gcc-config names not directly tied to upstream
+# versioning. In practive it's hard to untangle from gcc/BASE-VER
+# (GCC_RELEASE_VER) value.
+GCC_CONFIG_VER=${GCC_RELEASE_VER}
-# Pre-release support
-if [[ ${GCC_PV} == *_pre* ]] ; then
- PRERELEASE=${GCC_PV/_pre/-}
-elif [[ ${GCC_PV} == *_alpha* ]] ; then
- SNAPSHOT=${GCC_BRANCH_VER}-${GCC_PV##*_alpha}
-elif [[ ${GCC_PV} == *_beta* ]] ; then
- SNAPSHOT=${GCC_BRANCH_VER}-${GCC_PV##*_beta}
+# Pre-release support. Versioning schema:
+# 1.0.0_pre9999: live ebuild
+# 1.2.3_alphaYYYYMMDD: weekly snapshots
+# 1.2.3_rcYYYYMMDD: release candidates
+if [[ ${GCC_PV} == *_alpha* ]] ; then
+ # weekly snapshots
+ SNAPSHOT=${GCCMAJOR}-${GCC_PV##*_alpha}
elif [[ ${GCC_PV} == *_rc* ]] ; then
+ # release candidates
SNAPSHOT=${GCC_PV%_rc*}-RC-${GCC_PV##*_rc}
fi
-if [[ ${SNAPSHOT} == [56789].0-* ]] ; then
- # The gcc-5+ releases have dropped the .0 for some reason.
- SNAPSHOT=${SNAPSHOT/.0}
-fi
-
PREFIX=${TOOLCHAIN_PREFIX:-${EPREFIX}/usr}
-if tc_version_is_at_least 3.4.0 ; then
- LIBPATH=${TOOLCHAIN_LIBPATH:-${PREFIX}/lib/gcc/${CTARGET}/${GCC_CONFIG_VER}}
-else
- LIBPATH=${TOOLCHAIN_LIBPATH:-${PREFIX}/lib/gcc-lib/${CTARGET}/${GCC_CONFIG_VER}}
-fi
+LIBPATH=${TOOLCHAIN_LIBPATH:-${PREFIX}/lib/gcc/${CTARGET}/${GCC_CONFIG_VER}}
INCLUDEPATH=${TOOLCHAIN_INCLUDEPATH:-${LIBPATH}/include}
if is_crosscompile ; then
@@ -114,29 +117,19 @@ STDCXX_INCDIR=${TOOLCHAIN_STDCXX_INCDIR:-${LIBPATH}/include/g++-v${GCC_BRANCH_VE
#---->> LICENSE+SLOT+IUSE logic <<----
-if tc_version_is_at_least 4.6 ; then
- LICENSE="GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.3+"
-elif tc_version_is_at_least 4.4 ; then
- LICENSE="GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.2+"
-elif tc_version_is_at_least 4.3 ; then
- LICENSE="GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ ) FDL-1.2+"
-elif tc_version_is_at_least 4.2 ; then
- LICENSE="GPL-3+ LGPL-2.1+ || ( GPL-3+ libgcc libstdc++ ) FDL-1.2+"
-elif tc_version_is_at_least 3.3 ; then
- LICENSE="GPL-2+ LGPL-2.1+ FDL-1.2+"
-else
- LICENSE="GPL-2+ LGPL-2.1+ FDL-1.1+"
-fi
+LICENSE="GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.3+"
+IUSE="test vanilla +nls"
+RESTRICT="!test? ( test )"
-if tc_version_is_at_least 8.3; then
- GCC_EBUILD_TEST_FLAG='test'
-else
- # Don't force USE regression-test->test change on every
- # gcc ebuild just yet. Let's do the change when >=gcc-8.3
- # is commonly used as a main compiler.
- GCC_EBUILD_TEST_FLAG='regression-test'
-fi
-IUSE="${GCC_EBUILD_TEST_FLAG} vanilla +nls +nptl"
+tc_supports_dostrip() {
+ case ${EAPI:-0} in
+ 5*|6) return 1 ;;
+ 7) return 0 ;;
+ *) die "Update apply_patches() for ${EAPI}." ;;
+ esac
+}
+
+tc_supports_dostrip || RESTRICT+=" strip" # cross-compilers need controlled stripping
TC_FEATURES=()
@@ -145,28 +138,39 @@ tc_has_feature() {
}
if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
- IUSE+=" altivec debug +cxx +fortran" TC_FEATURES+=(fortran)
+ # --enable-altivec was dropped before gcc-4. We don't set it.
+ # We drop USE=altivec for newer gccs only to avoid rebuilds
+ # for most stable users. Once gcc-10 is stable we can drop it.
+ if ! tc_version_is_at_least 10; then
+ IUSE+=" altivec"
+ fi
+ IUSE+=" debug +cxx +nptl" TC_FEATURES+=(nptl)
[[ -n ${PIE_VER} ]] && IUSE+=" nopie"
- [[ -n ${HTB_VER} ]] && IUSE+=" boundschecking"
- [[ -n ${D_VER} ]] && IUSE+=" d"
[[ -n ${SPECS_VER} ]] && IUSE+=" nossp"
+ # fortran support appeared in 4.1, but 4.1 needs outdated mpfr
+ tc_version_is_at_least 4.2 && IUSE+=" +fortran" TC_FEATURES+=(fortran)
tc_version_is_at_least 3 && IUSE+=" doc hardened multilib objc"
tc_version_is_between 3 7 && IUSE+=" awt gcj" TC_FEATURES+=(gcj)
tc_version_is_at_least 3.3 && IUSE+=" pgo"
tc_version_is_at_least 4.0 &&
IUSE+=" objc-gc" TC_FEATURES+=(objc-gc)
- tc_version_is_between 4.0 4.9 && IUSE+=" mudflap"
tc_version_is_at_least 4.1 && IUSE+=" libssp objc++"
tc_version_is_at_least 4.2 && IUSE+=" +openmp"
tc_version_is_at_least 4.3 && IUSE+=" fixed-point"
tc_version_is_at_least 4.7 && IUSE+=" go"
- # Note: while <=gcc-4.7 also supported graphite, it required forked ppl
- # versions which we dropped. Since graphite was also experimental in
- # the older versions, we don't want to bother supporting it. #448024
- tc_version_is_at_least 4.8 &&
- IUSE+=" graphite +sanitize" TC_FEATURES+=(graphite)
+ # sanitizer support appeared in gcc-4.8, but > DEPEND <<----
@@ -204,25 +216,18 @@ if tc_has_feature objc-gc ; then
fi
if tc_has_feature graphite ; then
- if tc_version_is_at_least 5.0 ; then
- RDEPEND+=" graphite? ( >=dev-libs/isl-0.14:0= )"
- elif tc_version_is_at_least 4.8 ; then
- RDEPEND+="
- graphite? (
- >=dev-libs/cloog-0.18.0:0=
- >=dev-libs/isl-0.11.1:0=
- )"
- fi
+ RDEPEND+=" graphite? ( >=dev-libs/isl-0.14:0= )"
fi
-DEPEND="${RDEPEND}
+BDEPEND="
>=sys-devel/bison-1.875
>=sys-devel/flex-2.5.4
nls? ( sys-devel/gettext )
- ${GCC_EBUILD_TEST_FLAG}? (
+ test? (
>=dev-util/dejagnu-1.4.4
>=sys-devel/autogen-5.5.4
)"
+DEPEND="${RDEPEND}"
if tc_has_feature gcj ; then
GCJ_DEPS=">=media-libs/libart_lgpl-2.1"
@@ -244,15 +249,29 @@ if tc_has_feature systemtap ; then
DEPEND+=" systemtap? ( dev-util/systemtap )"
fi
-PDEPEND=">=sys-devel/gcc-config-1.7"
+if tc_has_feature zstd ; then
+ DEPEND+=" zstd? ( app-arch/zstd )"
+fi
+
+if tc_has_feature valgrind; then
+ BDEPEND+=" valgrind? ( dev-util/valgrind )"
+fi
+
+case ${EAPI:-0} in
+ 5*|6) DEPEND+=" ${BDEPEND}" ;;
+esac
+
+# Flatcar: allow gcc-config-1.9
+# PDEPEND=">=sys-devel/gcc-config-2.3"
+PDEPEND=">=sys-devel/gcc-config-1.9"
#---->> S + SRC_URI essentials <<----
# Set the source directory depending on whether we're using
-# a prerelease, snapshot, or release tarball.
+# a live git tree, snapshot, or release tarball.
S=$(
- if [[ -n ${PRERELEASE} ]] ; then
- echo ${WORKDIR}/gcc-${PRERELEASE}
+ if tc_is_live ; then
+ echo ${EGIT_CHECKOUT_DIR}
elif [[ -n ${SNAPSHOT} ]] ; then
echo ${WORKDIR}/gcc-${SNAPSHOT}
else
@@ -276,20 +295,16 @@ gentoo_urls() {
# Other than the variables normally set by portage, this function's behavior
# can be altered by setting the following:
#
+# GCC_TARBALL_SRC_URI
+# Override link to main tarball into SRC_URI. Used by dev-lang/gnat-gpl
+# to provide gcc tarball snapshots. Patches are usually reused as-is.
+#
# SNAPSHOT
# If set, this variable signals that we should be using a snapshot of
# gcc. It is expected to be in the format "YYYY-MM-DD". Note that if
# the ebuild has a _pre suffix, this variable is ignored and the
# prerelease tarball is used instead.
#
-# BRANCH_UPDATE
-# If set, this variable signals that we should be using the main
-# release tarball (determined by ebuild version) and applying a
-# CVS branch update patch against it. The location of this branch
-# update patch is assumed to be in ${GENTOO_TOOLCHAIN_BASE_URI}.
-# Just like with SNAPSHOT, this variable is ignored if the ebuild
-# has a _pre suffix.
-#
# PATCH_VER
# PATCH_GCC_VER
# This should be set to the version of the gentoo patch tarball.
@@ -320,13 +335,6 @@ gentoo_urls() {
# The resulting filename of this tarball will be:
# gcc-${SPECS_GCC_VER:-${GCC_RELEASE_VER}}-specs-${SPECS_VER}.tar.bz2
#
-# HTB_VER
-# HTB_GCC_VER
-# These variables control whether or not an ebuild supports Herman
-# ten Brugge's bounds-checking patches. If you want to use a patch
-# for an older gcc version with a new gcc, make sure you set
-# HTB_GCC_VER to that version of gcc.
-#
# CYGWINPORTS_GITREV
# If set, this variable signals that we should apply additional patches
# maintained by upstream Cygwin developers at github/cygwinports/gcc,
@@ -342,27 +350,20 @@ get_gcc_src_uri() {
export SPECS_GCC_VER=${SPECS_GCC_VER:-${GCC_RELEASE_VER}}
# Set where to download gcc itself depending on whether we're using a
- # prerelease, snapshot, or release tarball.
- if [[ ${PV} == *9999* ]] ; then
- # Nothing to do w/git snapshots.
- :
- elif [[ -n ${PRERELEASE} ]] ; then
- GCC_SRC_URI="ftp://gcc.gnu.org/pub/gcc/prerelease-${PRERELEASE}/gcc-${PRERELEASE}.tar.bz2"
+ # live git tree, snapshot, or release tarball.
+ if tc_is_live ; then
+ : # Nothing to do w/git snapshots.
+ elif [[ -n ${GCC_TARBALL_SRC_URI} ]] ; then
+ # pull gcc tarball from another location. Frequently used by gnat-gpl.
+ GCC_SRC_URI="${GCC_TARBALL_SRC_URI}"
elif [[ -n ${SNAPSHOT} ]] ; then
- if tc_version_is_between 5.5 6 || tc_version_is_between 6.4 7 || tc_version_is_at_least 7.2 ; then
- GCC_SRC_URI="ftp://gcc.gnu.org/pub/gcc/snapshots/${SNAPSHOT}/gcc-${SNAPSHOT}.tar.xz"
- else
- GCC_SRC_URI="ftp://gcc.gnu.org/pub/gcc/snapshots/${SNAPSHOT}/gcc-${SNAPSHOT}.tar.bz2"
- fi
+ GCC_SRC_URI="ftp://gcc.gnu.org/pub/gcc/snapshots/${SNAPSHOT}/gcc-${SNAPSHOT}.tar.xz"
else
if tc_version_is_between 5.5 6 || tc_version_is_between 6.4 7 || tc_version_is_at_least 7.2 ; then
GCC_SRC_URI="mirror://gnu/gcc/gcc-${GCC_PV}/gcc-${GCC_RELEASE_VER}.tar.xz"
else
GCC_SRC_URI="mirror://gnu/gcc/gcc-${GCC_PV}/gcc-${GCC_RELEASE_VER}.tar.bz2"
fi
- # we want all branch updates to be against the main release
- [[ -n ${BRANCH_UPDATE} ]] && \
- GCC_SRC_URI+=" $(gentoo_urls gcc-${GCC_RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2)"
fi
[[ -n ${UCLIBC_VER} ]] && \
@@ -370,7 +371,6 @@ get_gcc_src_uri() {
[[ -n ${PATCH_VER} ]] && \
GCC_SRC_URI+=" $(gentoo_urls gcc-${PATCH_GCC_VER}-patches-${PATCH_VER}.tar.bz2)"
- # strawberry pie, Cappuccino and a Gauloises (it's a good thing)
[[ -n ${PIE_VER} ]] && \
PIE_CORE=${PIE_CORE:-gcc-${PIE_GCC_VER}-piepatches-v${PIE_VER}.tar.bz2} && \
GCC_SRC_URI+=" $(gentoo_urls ${PIE_CORE})"
@@ -379,19 +379,6 @@ get_gcc_src_uri() {
[[ -n ${SPECS_VER} ]] && \
GCC_SRC_URI+=" $(gentoo_urls gcc-${SPECS_GCC_VER}-specs-${SPECS_VER}.tar.bz2)"
- # gcc bounds checking patch
- if [[ -n ${HTB_VER} ]] ; then
- local HTBFILE="bounds-checking-gcc-${HTB_GCC_VER}-${HTB_VER}.patch.bz2"
- GCC_SRC_URI+="
- boundschecking? (
- mirror://sourceforge/boundschecking/${HTBFILE}
- $(gentoo_urls ${HTBFILE})
- )"
- fi
-
- [[ -n ${D_VER} ]] && \
- GCC_SRC_URI+=" d? ( mirror://sourceforge/dgcc/gdc-${D_VER}-src.tar.bz2 )"
-
if tc_has_feature gcj ; then
if tc_version_is_at_least 4.5 ; then
GCC_SRC_URI+=" gcj? ( ftp://sourceware.org/pub/java/ecj-4.5.jar )"
@@ -413,16 +400,13 @@ SRC_URI=$(get_gcc_src_uri)
#---->> pkg_pretend <<----
toolchain_pkg_pretend() {
- if [[ -n ${PRERELEASE}${SNAPSHOT} || ${PV} == *9999* ]] &&
- [[ -z ${I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS} ]] ; then
- die "Please \`export I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS=1\` or define it" \
- "in your make.conf if you want to use this version."
- fi
-
- if ! use_if_iuse cxx ; then
- use_if_iuse go && ewarn 'Go requires a C++ compiler, disabled due to USE="-cxx"'
- use_if_iuse objc++ && ewarn 'Obj-C++ requires a C++ compiler, disabled due to USE="-cxx"'
- use_if_iuse gcj && ewarn 'GCJ requires a C++ compiler, disabled due to USE="-cxx"'
+ if ! _tc_use_if_iuse cxx ; then
+ _tc_use_if_iuse go && \
+ ewarn 'Go requires a C++ compiler, disabled due to USE="-cxx"'
+ _tc_use_if_iuse objc++ && \
+ ewarn 'Obj-C++ requires a C++ compiler, disabled due to USE="-cxx"'
+ _tc_use_if_iuse gcj && \
+ ewarn 'GCJ requires a C++ compiler, disabled due to USE="-cxx"'
fi
want_minispecs
@@ -439,155 +423,71 @@ toolchain_pkg_setup() {
#---->> src_unpack <<----
toolchain_src_unpack() {
- if [[ ${PV} == *9999* ]]; then
- git-2_src_unpack
- else
- gcc_quick_unpack
- fi
-}
-
-gcc_quick_unpack() {
- pushd "${WORKDIR}" > /dev/null
- export PATCH_GCC_VER=${PATCH_GCC_VER:-${GCC_RELEASE_VER}}
- export UCLIBC_GCC_VER=${UCLIBC_GCC_VER:-${PATCH_GCC_VER}}
- export PIE_GCC_VER=${PIE_GCC_VER:-${GCC_RELEASE_VER}}
- export HTB_GCC_VER=${HTB_GCC_VER:-${GCC_RELEASE_VER}}
- export SPECS_GCC_VER=${SPECS_GCC_VER:-${GCC_RELEASE_VER}}
-
- if [[ -n ${GCC_A_FAKEIT} ]] ; then
- unpack ${GCC_A_FAKEIT}
- elif [[ -n ${PRERELEASE} ]] ; then
- unpack gcc-${PRERELEASE}.tar.bz2
- elif [[ -n ${SNAPSHOT} ]] ; then
- if tc_version_is_between 5.5 6 || tc_version_is_between 6.4 7 || tc_version_is_at_least 7.2 ; then
- unpack gcc-${SNAPSHOT}.tar.xz
- else
- unpack gcc-${SNAPSHOT}.tar.bz2
- fi
- elif [[ ${PV} != *9999* ]] ; then
- if tc_version_is_between 5.5 6 || tc_version_is_between 6.4 7 || tc_version_is_at_least 7.2 ; then
- unpack gcc-${GCC_RELEASE_VER}.tar.xz
- else
- unpack gcc-${GCC_RELEASE_VER}.tar.bz2
- fi
- # We want branch updates to be against a release tarball
- if [[ -n ${BRANCH_UPDATE} ]] ; then
- pushd "${S}" > /dev/null
- epatch "${DISTDIR}"/gcc-${GCC_RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2
- popd > /dev/null
- fi
+ if tc_is_live ; then
+ git-r3_src_unpack
fi
- if [[ -n ${D_VER} ]] && use d ; then
- pushd "${S}"/gcc > /dev/null
- unpack gdc-${D_VER}-src.tar.bz2
- cd ..
- ebegin "Adding support for the D language"
- ./gcc/d/setup-gcc.sh >& "${T}"/dgcc.log
- if ! eend $? ; then
- eerror "The D GCC package failed to apply"
- eerror "Please include this log file when posting a bug report:"
- eerror " ${T}/dgcc.log"
- die "failed to include the D language"
- fi
- popd > /dev/null
- fi
-
- [[ -n ${PATCH_VER} ]] && \
- unpack gcc-${PATCH_GCC_VER}-patches-${PATCH_VER}.tar.bz2
-
- [[ -n ${UCLIBC_VER} ]] && \
- unpack gcc-${UCLIBC_GCC_VER}-uclibc-patches-${UCLIBC_VER}.tar.bz2
-
- if want_pie ; then
- if [[ -n ${PIE_CORE} ]] ; then
- unpack ${PIE_CORE}
- else
- unpack gcc-${PIE_GCC_VER}-piepatches-v${PIE_VER}.tar.bz2
- fi
- [[ -n ${SPECS_VER} ]] && \
- unpack gcc-${SPECS_GCC_VER}-specs-${SPECS_VER}.tar.bz2
- fi
-
- use_if_iuse boundschecking && unpack "bounds-checking-gcc-${HTB_GCC_VER}-${HTB_VER}.patch.bz2"
-
- [[ -n ${CYGWINPORTS_GITREV} ]] && use elibc_Cygwin && unpack "gcc-cygwinports-${CYGWINPORTS_GITREV}.tar.gz"
-
- popd > /dev/null
+ default_src_unpack
}
#---->> src_prepare <<----
+# 'epatch' is not available in EAPI=7. Abstract away patchset application
+# until we eventually get all gcc ebuilds on EAPI=7 or later.
+tc_apply_patches() {
+ [[ ${#@} -lt 2 ]] && die "usage: tc_apply_patches "
+
+ einfo "$1"; shift
+
+ case ${EAPI:-0} in
+ # Note: even for EAPI=6 we used 'epatch' semantics. To avoid
+ # breaking existing ebuilds use 'eapply' only in EAPI=7 or later.
+ 5*|6) epatch "$@" ;;
+ 7) eapply "$@" ;;
+ *) die "Update apply_patches() for ${EAPI}." ;;
+ esac
+}
+
toolchain_src_prepare() {
export BRANDING_GCC_PKGVERSION="Gentoo ${GCC_PVR}"
cd "${S}"
- if ! use vanilla ; then
- if [[ -n ${PATCH_VER} ]] ; then
- guess_patch_type_in_dir "${WORKDIR}"/patch
- EPATCH_MULTI_MSG="Applying Gentoo patches ..." \
- epatch "${WORKDIR}"/patch
- BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION} p${PATCH_VER}"
- fi
- if [[ -n ${UCLIBC_VER} ]] ; then
- guess_patch_type_in_dir "${WORKDIR}"/uclibc
- EPATCH_MULTI_MSG="Applying uClibc patches ..." \
- epatch "${WORKDIR}"/uclibc
- fi
- fi
- do_gcc_HTB_patches
+ do_gcc_gentoo_patches
do_gcc_PIE_patches
do_gcc_CYGWINPORTS_patches
+ if tc_is_live ; then
+ BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, commit ${EGIT_VERSION}"
+ fi
+
case ${EAPI:-0} in
5*) epatch_user;;
- 6) eapply_user ;;
+ 6|7) eapply_user ;;
*) die "Update toolchain_src_prepare() for ${EAPI}." ;;
esac
- if ( tc_version_is_at_least 4.8.2 || use_if_iuse hardened ) && ! use vanilla ; then
+ if ( tc_version_is_at_least 4.8.2 || _tc_use_if_iuse hardened ) \
+ && ! use vanilla ; then
make_gcc_hard
fi
- # install the libstdc++ python into the right location
- # http://gcc.gnu.org/PR51368
- if tc_version_is_between 4.5 4.7 ; then
- sed -i \
- '/^pythondir =/s:=.*:= $(datadir)/python:' \
- "${S}"/libstdc++-v3/python/Makefile.in || die
- fi
-
# make sure the pkg config files install into multilib dirs.
# since we configure with just one --libdir, we can't use that
# (as gcc itself takes care of building multilibs). #435728
find "${S}" -name Makefile.in \
-exec sed -i '/^pkgconfigdir/s:=.*:=$(toolexeclibdir)/pkgconfig:' {} +
- # No idea when this first started being fixed, but let's go with 4.3.x for now
- if ! tc_version_is_at_least 4.3 ; then
- fix_files=""
- for x in contrib/test_summary libstdc++-v3/scripts/check_survey.in ; do
- [[ -e ${x} ]] && fix_files="${fix_files} ${x}"
- done
- ht_fix_file ${fix_files} */configure *.sh */Makefile.in
- fi
-
setup_multilib_osdirnames
gcc_version_patch
- if tc_version_is_at_least 4.1 ; then
- if [[ -n ${SNAPSHOT} || -n ${PRERELEASE} ]] ; then
- # BASE-VER must be a three-digit version number
- # followed by an optional -pre string
- # eg. 4.5.1, 4.6.2-pre20120213, 4.7.0-pre9999
- # If BASE-VER differs from ${PV/_/-} then libraries get installed in
- # the wrong directory.
- echo ${PV/_/-} > "${S}"/gcc/BASE-VER
- fi
+ local actual_version=$(< "${S}"/gcc/BASE-VER)
+ if [[ "${GCC_RELEASE_VER}" != "${actual_version}" ]] ; then
+ eerror "'${S}/gcc/BASE-VER' contains '${actual_version}', expected '${GCC_RELEASE_VER}'"
+ die "Please set 'TOOLCHAIN_GCC_PV' to '${actual_version}'"
fi
# >= gcc-4.3 doesn't bundle ecj.jar, so copy it
- if tc_version_is_at_least 4.3 && use_if_iuse gcj ; then
+ if tc_version_is_at_least 4.3 && _tc_use_if_iuse gcj ; then
if tc_version_is_at_least 4.5 ; then
einfo "Copying ecj-4.5.jar"
cp -pPR "${DISTDIR}/ecj-4.5.jar" "${S}/ecj.jar" || die
@@ -597,19 +497,6 @@ toolchain_src_prepare() {
fi
fi
- # disable --as-needed from being compiled into gcc specs
- # natively when using a gcc version < 3.4.4
- # http://gcc.gnu.org/PR14992
- if ! tc_version_is_at_least 3.4.4 ; then
- sed -i -e s/HAVE_LD_AS_NEEDED/USE_LD_AS_NEEDED/g "${S}"/gcc/config.in
- fi
-
- # In gcc 3.3.x and 3.4.x, rename the java bins to gcc-specific names
- # in line with gcc-4.
- if tc_version_is_between 3.3 4.0 ; then
- do_gcc_rename_java_bins
- fi
-
# Prevent libffi from being installed
if tc_version_is_between 3.0 4.8 ; then
sed -i -e 's/\(install.*:\) install-.*recursive/\1/' "${S}"/libffi/Makefile.in || die
@@ -633,8 +520,11 @@ toolchain_src_prepare() {
sed -i 's|A-Za-z0-9|[:alnum:]|g' "${S}"/gcc/*.awk #215828
# Prevent new texinfo from breaking old versions (see #198182, #464008)
- tc_version_is_at_least 4.1 && epatch "${FILESDIR}"/gcc-configure-texinfo.patch
+ if tc_version_is_at_least 4.1; then
+ tc_apply_patches "Remove texinfo (bug #198182, bug #464008)" "${FILESDIR}"/gcc-configure-texinfo.patch
+ fi
+ # >=gcc-4
if [[ -x contrib/gcc_update ]] ; then
einfo "Touching generated files"
./contrib/gcc_update --touch | \
@@ -644,41 +534,23 @@ toolchain_src_prepare() {
fi
}
-guess_patch_type_in_dir() {
- [[ -n $(ls "$1"/*.bz2 2>/dev/null) ]] \
- && EPATCH_SUFFIX="patch.bz2" \
- || EPATCH_SUFFIX="patch"
-}
-
-do_gcc_HTB_patches() {
- use_if_iuse boundschecking || return 0
-
- # modify the bounds checking patch with a regression patch
- epatch "${WORKDIR}/bounds-checking-gcc-${HTB_GCC_VER}-${HTB_VER}.patch"
- BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, HTB-${HTB_GCC_VER}-${HTB_VER}"
+do_gcc_gentoo_patches() {
+ if ! use vanilla ; then
+ if [[ -n ${PATCH_VER} ]] ; then
+ tc_apply_patches "Applying Gentoo patches ..." "${WORKDIR}"/patch/*.patch
+ BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION} p${PATCH_VER}"
+ fi
+ if [[ -n ${UCLIBC_VER} ]] ; then
+ tc_apply_patches "Applying uClibc patches ..." "${WORKDIR}"/uclibc/*.patch
+ fi
+ fi
}
do_gcc_PIE_patches() {
want_pie || return 0
use vanilla && return 0
- if tc_version_is_at_least 4.3.2 ; then
- guess_patch_type_in_dir "${WORKDIR}"/piepatch/
- EPATCH_MULTI_MSG="Applying pie patches ..." \
- epatch "${WORKDIR}"/piepatch/
- else
- guess_patch_type_in_dir "${WORKDIR}"/piepatch/upstream
-
- # corrects startfile/endfile selection and shared/static/pie flag usage
- EPATCH_MULTI_MSG="Applying upstream pie patches ..." \
- epatch "${WORKDIR}"/piepatch/upstream
- # adds non-default pie support (rs6000)
- EPATCH_MULTI_MSG="Applying non-default pie patches ..." \
- epatch "${WORKDIR}"/piepatch/nondef
- # adds default pie support (rs6000 too) if DEFAULT_PIE[_SSP] is defined
- EPATCH_MULTI_MSG="Applying default pie patches ..." \
- epatch "${WORKDIR}"/piepatch/def
- fi
+ tc_apply_patches "Applying pie patches ..." "${WORKDIR}"/piepatch/*.patch
BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, pie-${PIE_VER}"
}
@@ -687,21 +559,24 @@ do_gcc_CYGWINPORTS_patches() {
[[ -n ${CYGWINPORTS_GITREV} ]] || return 0
use elibc_Cygwin || return 0
- local -a patches
local p d="${WORKDIR}/gcc-${CYGWINPORTS_GITREV}"
- readarray -t patches < <(sed -e '1,/PATCH_URI="/d;/"/,$d' < "${d}"/gcc.cygport)
- for p in ${patches[*]}; do
- epatch "${d}/${p}"
- done
+ # readarray -t is available since bash-4.4 only, #690686
+ local patches=( $(
+ for p in $(
+ sed -e '1,/PATCH_URI="/d;/"/,$d' < "${d}"/gcc.cygport
+ ); do
+ echo "${d}/${p}"
+ done
+ ) )
+ tc_apply_patches "Applying cygwin port patches ..." ${patches[*]}
}
# configure to build with the hardened GCC specs as the default
make_gcc_hard() {
-
local gcc_hard_flags=""
# If we use gcc-6 or newer with pie enable to compile older gcc we need to pass -no-pie
- # to stage1; bug 618908
+ # to stage1; bug #618908
if ! tc_version_is_at_least 6.0 && [[ $(gcc-major-version) -ge 6 ]] ; then
einfo "Disabling PIE in stage1 (only) ..."
sed -i -e "/^STAGE1_LDFLAGS/ s/$/ -no-pie/" "${S}"/Makefile.in || die
@@ -709,20 +584,23 @@ make_gcc_hard() {
# Gcc >= 6.X we can use configurations options to turn pie/ssp on as default
if tc_version_is_at_least 6.0 ; then
- if use_if_iuse pie ; then
+ if _tc_use_if_iuse pie ; then
einfo "Updating gcc to use automatic PIE building ..."
fi
- if use_if_iuse ssp ; then
+ if _tc_use_if_iuse ssp ; then
einfo "Updating gcc to use automatic SSP building ..."
fi
- if use_if_iuse hardened ; then
- # Will add some optimatizion as default.
+ if _tc_use_if_iuse hardened ; then
+ # Will add some hardened options as default, like:
+ # -fstack-clash-protection
+ # -z now
+ # see *_all_extra-options.patch gcc patches.
gcc_hard_flags+=" -DEXTRA_OPTIONS"
# rebrand to make bug reports easier
BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/Gentoo/Gentoo Hardened}
fi
else
- if use_if_iuse hardened ; then
+ if _tc_use_if_iuse hardened ; then
# rebrand to make bug reports easier
BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/Gentoo/Gentoo Hardened}
if hardened_gcc_works ; then
@@ -819,8 +697,7 @@ gcc_version_patch() {
# gcc-4.3+ has configure flags (whoo!)
tc_version_is_at_least 4.3 && return 0
- local version_string=${GCC_CONFIG_VER}
- [[ -n ${BRANCH_UPDATE} ]] && version_string+=" ${BRANCH_UPDATE}"
+ local version_string=${GCC_RELEASE_VER}
einfo "patching gcc version: ${version_string} (${BRANDING_GCC_PKGVERSION})"
@@ -834,41 +711,6 @@ gcc_version_patch() {
sed -i "${gcc_sed[@]}" "${S}"/gcc/version.c || die
}
-do_gcc_rename_java_bins() {
- # bug #139918 - conflict between gcc and java-config-2 for ownership of
- # /usr/bin/rmi{c,registry}. Done with mv & sed rather than a patch
- # because patches would be large (thanks to the rename of man files),
- # and it's clear from the sed invocations that all that changes is the
- # rmi{c,registry} names to grmi{c,registry} names.
- # Kevin F. Quinn 2006-07-12
- einfo "Renaming jdk executables rmic and rmiregistry to grmic and grmiregistry."
- # 1) Move the man files if present (missing prior to gcc-3.4)
- for manfile in rmic rmiregistry ; do
- [[ -f ${S}/gcc/doc/${manfile}.1 ]] || continue
- mv "${S}"/gcc/doc/${manfile}.1 "${S}"/gcc/doc/g${manfile}.1
- done
- # 2) Fixup references in the docs if present (mission prior to gcc-3.4)
- for jfile in gcc/doc/gcj.info gcc/doc/grmic.1 gcc/doc/grmiregistry.1 gcc/java/gcj.texi ; do
- [[ -f ${S}/${jfile} ]] || continue
- sed -i -e 's:rmiregistry:grmiregistry:g' "${S}"/${jfile} ||
- die "Failed to fixup file ${jfile} for rename to grmiregistry"
- sed -i -e 's:rmic:grmic:g' "${S}"/${jfile} ||
- die "Failed to fixup file ${jfile} for rename to grmic"
- done
- # 3) Fixup Makefiles to build the changed executable names
- # These are present in all 3.x versions, and are the important bit
- # to get gcc to build with the new names.
- for jfile in libjava/Makefile.am libjava/Makefile.in gcc/java/Make-lang.in ; do
- sed -i -e 's:rmiregistry:grmiregistry:g' "${S}"/${jfile} ||
- die "Failed to fixup file ${jfile} for rename to grmiregistry"
- # Careful with rmic on these files; it's also the name of a directory
- # which should be left unchanged. Replace occurrences of 'rmic$',
- # 'rmic_' and 'rmic '.
- sed -i -e 's:rmic\([$_ ]\):grmic\1:g' "${S}"/${jfile} ||
- die "Failed to fixup file ${jfile} for rename to grmic"
- done
-}
-
#---->> src_configure <<----
toolchain_src_configure() {
@@ -946,8 +788,7 @@ toolchain_src_configure() {
is_f77 && GCC_LANG+=",f77"
is_f95 && GCC_LANG+=",f95"
- # We do NOT want 'ADA support' in here!
- # is_ada && GCC_LANG+=",ada"
+ is_ada && GCC_LANG+=",ada"
confgcc+=( --enable-languages=${GCC_LANG} )
@@ -969,9 +810,9 @@ toolchain_src_configure() {
tc_version_is_at_least 3.4 || confgcc+=( --disable-libunwind-exceptions )
# Use the default ("release") checking because upstream usually neglects
- # to test "disabled" so it has a history of breaking. #317217
+ # to test "disabled" so it has a history of breaking. bug #317217
if tc_version_is_at_least 3.4 && in_iuse debug ; then
- # The "release" keyword is new to 4.0. #551636
+ # The "release" keyword is new to 4.0. bug #551636
local off=$(tc_version_is_at_least 4.0 && echo release || echo no)
confgcc+=( --enable-checking="${GCC_CHECKS_LIST:-$(usex debug yes ${off})}" )
fi
@@ -989,25 +830,27 @@ toolchain_src_configure() {
# allow gcc to search for clock funcs in the main C lib.
# if it can't find them, then tough cookies -- we aren't
- # going to link in -lrt to all C++ apps. #411681
+ # going to link in -lrt to all C++ apps. bug #411681
if tc_version_is_at_least 4.4 && is_cxx ; then
confgcc+=( --enable-libstdcxx-time )
fi
- # Build compiler using LTO
- if tc_version_is_at_least 9.1 && use_if_iuse lto ; then
+ # Build compiler itself using LTO
+ if tc_version_is_at_least 9.1 && _tc_use_if_iuse lto ; then
confgcc+=( --with-build-config=bootstrap-lto )
fi
# Support to disable pch when building libstdcxx
- if tc_version_is_at_least 6.0 && ! use_if_iuse pch ; then
+ if tc_version_is_at_least 6.0 && ! _tc_use_if_iuse pch ; then
confgcc+=( --disable-libstdcxx-pch )
fi
# The jit language requires this.
is_jit && confgcc+=( --enable-host-shared )
- # # Turn on the -Wl,--build-id flag by default for ELF targets. #525942
+ # build-id was disabled for file collisions: bug #526144
+ #
+ # # Turn on the -Wl,--build-id flag by default for ELF targets. bug #525942
# # This helps with locating debug files.
# case ${CTARGET} in
# *-linux-*|*-elf|*-eabi)
@@ -1033,7 +876,7 @@ toolchain_src_configure() {
# disable a bunch of features or gcc goes boom
local needed_libc=""
case ${CTARGET} in
- *-linux) needed_libc=no-fucking-clue;;
+ *-linux) needed_libc=error-unknown-libc;;
*-dietlibc) needed_libc=dietlibc;;
*-elf|*-eabi)
needed_libc=newlib
@@ -1048,10 +891,12 @@ toolchain_src_configure() {
*-klibc) needed_libc=klibc;;
*-musl*) needed_libc=musl;;
*-uclibc*)
+ # Enable shared library support only on targets
+ # that support it: bug #291870
if ! echo '#include ' | \
$(tc-getCPP ${CTARGET}) -E -dD - 2>/dev/null | \
grep -q __HAVE_SHARED__
- then #291870
+ then
confgcc+=( --disable-shared )
fi
needed_libc=uclibc-ng
@@ -1059,11 +904,13 @@ toolchain_src_configure() {
*-cygwin) needed_libc=cygwin;;
x86_64-*-mingw*|\
*-w64-mingw*) needed_libc=mingw64-runtime;;
- mingw*|*-mingw*) needed_libc=mingw-runtime;;
avr) confgcc+=( --enable-shared --disable-threads );;
esac
if [[ -n ${needed_libc} ]] ; then
local confgcc_no_libc=( --disable-shared )
+ # requires libc: bug #734820
+ tc_version_is_at_least 4.6 && confgcc_no_libc+=( --disable-libquadmath )
+ # requires libc
tc_version_is_at_least 4.8 && confgcc_no_libc+=( --disable-libatomic )
if ! has_version ${CATEGORY}/${needed_libc} ; then
confgcc+=(
@@ -1071,6 +918,14 @@ toolchain_src_configure() {
--disable-threads
--without-headers
)
+ if [[ $needed_libc == glibc ]]; then
+ # By default gcc looks at glibc's headers
+ # to detect long double support. This does
+ # not work for --disable-headers mode.
+ # Any >=glibc-2.4 is good enough for float128.
+ # The option appeared in gcc-4.2.
+ confgcc+=( --with-long-double-128 )
+ fi
elif has_version "${CATEGORY}/${needed_libc}[headers-only(-)]" ; then
confgcc+=(
"${confgcc_no_libc[@]}"
@@ -1100,10 +955,12 @@ toolchain_src_configure() {
# destructors", but apparently requires glibc.
case ${CTARGET} in
*-uclibc*)
- confgcc+=(
- --disable-__cxa_atexit
- $(use_enable nptl tls)
- )
+ if tc_has_feature nptl ; then
+ confgcc+=(
+ --disable-__cxa_atexit
+ $(use_enable nptl tls)
+ )
+ fi
tc_version_is_between 3.3 3.4 && confgcc+=( --enable-sjlj-exceptions )
if tc_version_is_between 3.4 4.3 ; then
confgcc+=( --enable-clocale=uclibc )
@@ -1133,9 +990,6 @@ toolchain_src_configure() {
gcc-multilib-configure
- # ppc altivec support
- in_iuse altivec && confgcc+=( $(use_enable altivec) )
-
# gcc has fixed-point arithmetic support in 4.3 for mips targets that can
# significantly increase compile time by several hours. This will allow
# users to control this feature in the event they need the support.
@@ -1213,6 +1067,19 @@ toolchain_src_configure() {
is-flagq -mfloat-gprs=double && confgcc+=( --enable-e500-double )
[[ ${CTARGET//_/-} == *-e500v2-* ]] && confgcc+=( --enable-e500-double )
;;
+ ppc64)
+ # On ppc64 big endian target gcc assumes elfv1 by default,
+ # and elfv2 on little endian
+ # but musl does not support elfv1 at all on any endian ppc64
+ # see https://git.musl-libc.org/cgit/musl/tree/INSTALL
+ # https://bugs.gentoo.org/704784
+ # https://gcc.gnu.org/PR93157
+ [[ ${CTARGET} == powerpc64-*-musl ]] && confgcc+=( --with-abi=elfv2 )
+ ;;
+ riscv)
+ # Add --with-abi flags to set default ABI
+ confgcc+=( --with-abi=$(gcc-abi-map ${TARGET_DEFAULT_ABI}) )
+ ;;
esac
# if the target can do biarch (-m32/-m64), enable it. overhead should
@@ -1234,10 +1101,11 @@ toolchain_src_configure() {
### library options
if tc_version_is_between 3.0 7.0 ; then
- if ! is_gcj ; then
+ if is_gcj ; then
+ confgcc+=( --disable-gjdoc )
+ use awt && confgcc+=( --enable-java-awt=gtk )
+ else
confgcc+=( --disable-libgcj )
- elif use awt ; then
- confgcc+=( --enable-java-awt=gtk )
fi
fi
@@ -1262,19 +1130,13 @@ toolchain_src_configure() {
fi
if tc_version_is_at_least 4.0 ; then
- if in_iuse mudflap ; then
- confgcc+=( $(use_enable mudflap libmudflap) )
- else
- confgcc+=( --disable-libmudflap )
- fi
-
- if use_if_iuse libssp ; then
+ if _tc_use_if_iuse libssp ; then
confgcc+=( --enable-libssp )
else
if hardened_gcc_is_stable ssp; then
export gcc_cv_libc_provides_ssp=yes
fi
- if use_if_iuse ssp; then
+ if _tc_use_if_iuse ssp; then
# On some targets USE="ssp -libssp" is an invalid
# configuration as target libc does not provide
# stack_chk_* functions. Do not disable libssp there.
@@ -1288,6 +1150,10 @@ toolchain_src_configure() {
fi
fi
+ if in_iuse ada ; then
+ confgcc+=( --disable-libada )
+ fi
+
if in_iuse cilk ; then
confgcc+=( $(use_enable cilk libcilkrts) )
fi
@@ -1300,6 +1166,10 @@ toolchain_src_configure() {
confgcc+=( $(use_enable systemtap) )
fi
+ if in_iuse valgrind ; then
+ confgcc+=( $(use_enable valgrind valgrind-annotations) )
+ fi
+
if in_iuse vtv ; then
confgcc+=(
$(use_enable vtv vtable-verify)
@@ -1308,10 +1178,8 @@ toolchain_src_configure() {
)
fi
- # newer gcc's come with libquadmath, but only fortran uses
- # it, so auto punt it when we don't care
- if tc_version_is_at_least 4.6 && ! is_fortran ; then
- confgcc+=( --disable-libquadmath )
+ if in_iuse zstd ; then
+ confgcc+=( $(use_with zstd) )
fi
if tc_version_is_at_least 4.6 ; then
@@ -1320,21 +1188,26 @@ toolchain_src_configure() {
confgcc+=( --disable-lto )
fi
- # graphite was added in 4.4 but we only support it in 4.8+ due to external
- # library issues. #448024
- if tc_version_is_at_least 5.0 && in_iuse graphite ; then
+ # graphite was added in 4.4 but we only support it in 6.5+ due to external
+ # library issues. #448024, #701270
+ if tc_version_is_at_least 6.5 && in_iuse graphite ; then
confgcc+=( $(use_with graphite isl) )
use graphite && confgcc+=( --disable-isl-version-check )
- elif tc_version_is_at_least 4.8 && in_iuse graphite ; then
- confgcc+=( $(use_with graphite cloog) )
- use graphite && confgcc+=( --disable-isl-version-check )
+ elif tc_version_is_at_least 5.0 ; then
+ confgcc+=( --without-isl )
+ elif tc_version_is_at_least 4.8 ; then
+ confgcc+=( --without-cloog )
elif tc_version_is_at_least 4.4 ; then
confgcc+=( --without-{cloog,ppl} )
fi
- if tc_version_is_at_least 4.8 && in_iuse sanitize ; then
- # See Note [implicitly enabled flags]
- confgcc+=( $(usex sanitize '' --disable-libsanitizer) )
+ if tc_version_is_at_least 4.8; then
+ if in_iuse sanitize ; then
+ # See Note [implicitly enabled flags]
+ confgcc+=( $(usex sanitize '' --disable-libsanitizer) )
+ else
+ confgcc+=( --disable-libsanitizer )
+ fi
fi
if tc_version_is_at_least 6.0 && in_iuse pie ; then
@@ -1395,7 +1268,8 @@ downgrade_arch_flags() {
local arch bver i isa myarch mytune rep ver
bver=${1:-${GCC_BRANCH_VER}}
- [[ $(gcc-version) < ${bver} ]] && return 0
+ # Don't perform downgrade if running gcc is older than ebuild's.
+ tc_version_is_at_least ${bver} $(gcc-version) || return 0
[[ $(tc-arch) != amd64 && $(tc-arch) != x86 ]] && return 0
myarch=$(get-flag march)
@@ -1403,7 +1277,7 @@ downgrade_arch_flags() {
# If -march=native isn't supported we have to tease out the actual arch
if [[ ${myarch} == native || ${mytune} == native ]] ; then
- if [[ ${bver} < 4.2 ]] ; then
+ if ! tc_version_is_at_least 4.2 ${bver}; then
arch=$($(tc-getCC) -march=native -v -E -P - &1 \
| sed -rn "/cc1.*-march/s:.*-march=([^ ']*).*:\1:p")
replace-cpu-flags native ${arch}
@@ -1411,13 +1285,14 @@ downgrade_arch_flags() {
fi
# Handle special -mtune flags
- [[ ${mytune} == intel && ${bver} < 4.9 ]] && replace-cpu-flags intel generic
- [[ ${mytune} == generic && ${bver} < 4.2 ]] && filter-flags '-mtune=*'
+ [[ ${mytune} == intel ]] && ! tc_version_is_at_least 4.9 ${bver} && replace-cpu-flags intel generic
+ [[ ${mytune} == generic ]] && ! tc_version_is_at_least 4.2 ${bver} && filter-flags '-mtune=*'
[[ ${mytune} == x86-64 ]] && filter-flags '-mtune=*'
- [[ ${bver} < 3.4 ]] && filter-flags '-mtune=*'
+ tc_version_is_at_least 3.4 ${bver} || filter-flags '-mtune=*'
# "added" "arch" "replacement"
local archlist=(
+ 9 znver2 znver1
4.9 bdver4 bdver3
4.9 bonnell atom
4.9 broadwell core-avx2
@@ -1464,8 +1339,8 @@ downgrade_arch_flags() {
[[ ${myarch} != ${arch} && ${mytune} != ${arch} ]] && continue
- if [[ ${ver} > ${bver} ]] ; then
- einfo "Replacing ${myarch} (added in gcc ${ver}) with ${rep}..."
+ if ! tc_version_is_at_least ${ver} ${bver}; then
+ einfo "Downgrading '${myarch}' (added in gcc ${ver}) with '${rep}'..."
[[ ${myarch} == ${arch} ]] && replace-cpu-flags ${myarch} ${rep}
[[ ${mytune} == ${arch} ]] && replace-cpu-flags ${mytune} ${rep}
continue
@@ -1513,13 +1388,17 @@ downgrade_arch_flags() {
for ((i = 0; i < ${#isalist[@]}; i += 2)) ; do
ver=${isalist[i]}
isa=${isalist[i + 1]}
- [[ ${ver} > ${bver} ]] && filter-flags ${isa} ${isa/-m/-mno-}
+ tc_version_is_at_least ${ver} ${bver} || filter-flags ${isa} ${isa/-m/-mno-}
done
}
gcc_do_filter_flags() {
+ # Be conservative here:
+ # - don't allow -O3 and like to over-optimize libgcc # 701786
+ # - don't allow -O0 to generate potentially invalid startup code
strip-flags
- replace-flags -O? -O2
+ filter-flags '-O?'
+ append-flags -O2
# dont want to funk ourselves
filter-flags '-mabi*' -m31 -m32 -m64
@@ -1546,6 +1425,13 @@ gcc_do_filter_flags() {
filter-flags -Wstack-protector
fi
+ if tc_version_is_between 6 8 ; then
+ # -mstackrealign triggers crashes in exception throwing
+ # at least on ada: bug #688580
+ # The reason is unknown. Drop the flag for now.
+ filter-flags -mstackrealign
+ fi
+
if tc_version_is_at_least 3.4 ; then
case $(tc-arch) in
amd64|x86)
@@ -1640,6 +1526,7 @@ gcc-abi-map() {
local map=()
case ${CTARGET} in
mips*) map=("o32 32" "n32 n32" "n64 64") ;;
+ riscv*) map=("lp64d lp64d" "lp64 lp64" "ilp32d ilp32d" "ilp32 ilp32") ;;
x86_64*) map=("amd64 m64" "x86 m32" "x32 mx32") ;;
esac
@@ -1659,6 +1546,11 @@ toolchain_src_compile() {
[[ ! -x /usr/bin/perl ]] \
&& find "${WORKDIR}"/build -name '*.[17]' -exec touch {} +
+ # To compile ada library standard files special compiler options are passed
+ # via ADAFLAGS in the Makefile.
+ # Unset ADAFLAGS as setting this override the options
+ unset ADAFLAGS
+
# Older gcc versions did not detect bash and re-exec itself, so force the
# use of bash. Newer ones will auto-detect, but this is not harmful.
# This needs to be set for compile as well, as it's used in libtool
@@ -1683,7 +1575,7 @@ gcc_do_make() {
# resulting binaries natively ^^;
GCC_MAKE_TARGET=${GCC_MAKE_TARGET-all}
else
- if tc_version_is_at_least 3.3 && use_if_iuse pgo; then
+ if tc_version_is_at_least 3.3 && _tc_use_if_iuse pgo; then
GCC_MAKE_TARGET=${GCC_MAKE_TARGET-profiledbootstrap}
else
GCC_MAKE_TARGET=${GCC_MAKE_TARGET-bootstrap-lean}
@@ -1692,8 +1584,7 @@ gcc_do_make() {
# Older versions of GCC could not do profiledbootstrap in parallel due to
# collisions with profiling info.
- # boundschecking also seems to introduce parallel build issues.
- if [[ ${GCC_MAKE_TARGET} == "profiledbootstrap" ]] || use_if_iuse boundschecking ; then
+ if [[ ${GCC_MAKE_TARGET} == "profiledbootstrap" ]]; then
! tc_version_is_at_least 4.6 && export MAKEOPTS="${MAKEOPTS} -j1"
fi
@@ -1727,7 +1618,18 @@ gcc_do_make() {
${GCC_MAKE_TARGET} \
|| die "emake failed with ${GCC_MAKE_TARGET}"
- if ! is_crosscompile && use_if_iuse cxx && use_if_iuse doc ; then
+ if is_ada; then
+ # Without these links it is not getting the good compiler
+ # Need to check why
+ ln -s gcc ../build/prev-gcc || die
+ ln -s ${CHOST} ../build/prev-${CHOST} || die
+ # Building standard ada library
+ emake -C gcc gnatlib-shared
+ # Building gnat toold
+ emake -C gcc gnattools
+ fi
+
+ if ! is_crosscompile && _tc_use_if_iuse cxx && _tc_use_if_iuse doc ; then
if type -p doxygen > /dev/null ; then
if tc_version_is_at_least 4.3 ; then
cd "${CTARGET}"/libstdc++-v3/doc
@@ -1754,11 +1656,11 @@ gcc_do_make() {
#---->> src_test <<----
toolchain_src_test() {
- if use ${GCC_EBUILD_TEST_FLAG} ; then
- cd "${WORKDIR}"/build
- # enable verbose test run and result logging
- emake -k check RUNTESTFLAGS='-a -v'
- fi
+ cd "${WORKDIR}"/build
+ # 'asan' wants to be preloaded first, so does 'sandbox'.
+ # To make asan tests work disable sandbox for all of test suite.
+ # 'backtrace' tests also does not like 'libsandbox.so' presence.
+ SANDBOX_ON=0 LD_PRELOAD= emake -k check
}
#---->> src_install <<----
@@ -1766,7 +1668,7 @@ toolchain_src_test() {
toolchain_src_install() {
cd "${WORKDIR}"/build
- # Do allow symlinks in private gcc include dir as this can break the build
+ # Don't allow symlinks in private gcc include dir as this can break the build
find gcc/include*/ -type l -delete
# Copy over the info pages. We disabled their generation earlier, but the
@@ -1810,6 +1712,7 @@ toolchain_src_install() {
dodir /etc/env.d/gcc
create_gcc_env_entry
+ create_revdep_rebuild_entry
# Setup the gcc_env_entry for hardened gcc 4 with minispecs
want_minispecs && copy_minispecs_gcc_specs
@@ -1822,7 +1725,7 @@ toolchain_src_install() {
cd "${D}"${BINPATH}
# Ugh: we really need to auto-detect this list.
# It's constantly out of date.
- for x in cpp gcc g++ c++ gcov g77 gcj gcjh gfortran gccgo ; do
+ for x in cpp gcc g++ c++ gcov g77 gcj gcjh gfortran gccgo gnat* ; do
# For some reason, g77 gets made instead of ${CTARGET}-g77...
# this should take care of that
if [[ -f ${x} ]] ; then
@@ -1835,11 +1738,11 @@ toolchain_src_install() {
if [[ -f ${CTARGET}-${x} ]] ; then
if ! is_crosscompile ; then
ln -sf ${CTARGET}-${x} ${x}
- dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \
+ dosym ${BINPATH}/${CTARGET}-${x} \
/usr/bin/${x}-${GCC_CONFIG_VER}
fi
# Create versioned symlinks
- dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \
+ dosym ${BINPATH}/${CTARGET}-${x} \
/usr/bin/${CTARGET}-${x}-${GCC_CONFIG_VER}
fi
@@ -1861,15 +1764,17 @@ toolchain_src_install() {
fi
fi
- # TODO: implement stripping (we use RESTRICT=strip)
- # As gcc installs object files both build against ${CHOST} and ${CTARGET}
- # we will ned to run stripping using different tools:
+ # As gcc installs object files built against bost ${CHOST} and ${CTARGET}
+ # ideally we will need to strip them using different tools:
# Using ${CHOST} tools:
# - "${D}${BINPATH}"
# - (for is_crosscompile) "${D}${HOSTLIBPATH}"
# - "${D}${PREFIX}/libexec/gcc/${CTARGET}/${GCC_CONFIG_VER}"
# Using ${CTARGET} tools:
# - "${D}${LIBPATH}"
+ # As dostrip does not specify host to override ${CHOST} tools just skip
+ # non-native binary stripping.
+ is_crosscompile && tc_supports_dostrip && dostrip -x "${LIBPATH}"
cd "${S}"
if is_crosscompile; then
@@ -1894,23 +1799,6 @@ toolchain_src_install() {
# prune empty dirs left behind
find "${ED}" -depth -type d -delete 2>/dev/null
- # install testsuite results
- if use ${GCC_EBUILD_TEST_FLAG}; then
- docinto testsuite
- find "${WORKDIR}"/build -type f -name "*.sum" -exec dodoc {} +
- find "${WORKDIR}"/build -type f -path "*/testsuite/*.log" -exec dodoc {} +
- fi
-
- # Rather install the script, else portage with changing $FILESDIR
- # between binary and source package borks things ....
- if ! is_crosscompile && [[ ${PN} != "kgcc64" ]] ; then
- insinto "${DATAPATH#${EPREFIX}}"
- newins "$(prefixify_ro "${FILESDIR}"/awk/fixlafiles.awk-no_gcc_la)" fixlafiles.awk || die
- exeinto "${DATAPATH#${EPREFIX}}"
- doexe "$(prefixify_ro "${FILESDIR}"/fix_libtool_files.sh)" || die
- doexe "${FILESDIR}"/c{89,99} || die
- fi
-
# libstdc++.la: Delete as it doesn't add anything useful: g++ itself
# handles linkage correctly in the dynamic & static case. It also just
# causes us pain: any C++ progs/libs linking with libtool will gain a
@@ -1956,8 +1844,8 @@ toolchain_src_install() {
# for people who are testing as non-root.
chown -R root:0 "${D}${LIBPATH}" 2>/dev/null
- # Move pretty-printers to gdb datadir to shut ldconfig up
- local py gdbdir=/usr/share/gdb/auto-load${LIBPATH/\/lib\//\/$(get_libdir)\/}
+ # Installing gdb pretty-printers into gdb-specific location.
+ local py gdbdir=/usr/share/gdb/auto-load${LIBPATH}
pushd "${D}${LIBPATH}" >/dev/null
for py in $(find . -name '*-gdb.py') ; do
local multidir=${py%/*}
@@ -2000,6 +1888,12 @@ gcc_movelibs() {
dodir "${HOSTLIBPATH#${EPREFIX}}"
mv "${ED}"/usr/$(get_libdir)/libcc1* "${D}${HOSTLIBPATH}" || die
fi
+ # libgccjit gets installed to /usr/lib, not /usr/$(get_libdir). Probably
+ # due to a bug in gcc build system.
+ if is_jit ; then
+ dodir "${LIBPATH#${EPREFIX}}"
+ mv "${ED}"/usr/lib/libgccjit* "${D}${LIBPATH}" || die
+ fi
# For all the libs that are built for CTARGET, move them into the
# compiler-specific CTARGET internal dir.
@@ -2117,8 +2011,6 @@ create_gcc_env_entry() {
fi
cat <<-EOF > ${gcc_envd_file}
- PATH="${BINPATH}"
- ROOTPATH="${BINPATH}"
GCC_PATH="${BINPATH}"
LDPATH="${ldpaths}"
MANPATH="${DATAPATH}/man"
@@ -2130,6 +2022,20 @@ create_gcc_env_entry() {
EOF
}
+create_revdep_rebuild_entry() {
+ local revdep_rebuild_base="/etc/revdep-rebuild/05cross-${CTARGET}-${GCC_CONFIG_VER}"
+ local revdep_rebuild_file="${ED}${revdep_rebuild_base}"
+
+ is_crosscompile || return 0
+
+ dodir /etc/revdep-rebuild
+ cat <<-EOF > "${revdep_rebuild_file}"
+ # Generated by ${CATEGORY}/${PF}
+ # Ignore libraries built for ${CTARGET}, https://bugs.gentoo.org/692844.
+ SEARCH_DIRS_MASK="${LIBPATH}"
+ EOF
+}
+
copy_minispecs_gcc_specs() {
# on gcc 6 we don't need minispecs
if tc_version_is_at_least 6.0 ; then
@@ -2200,54 +2106,24 @@ toolchain_pkg_postinst() {
fi
if ! is_crosscompile && [[ ${PN} != "kgcc64" ]] ; then
- echo
- ewarn "If you have issues with packages unable to locate libstdc++.la,"
- ewarn "then try running 'fix_libtool_files.sh' on the old gcc versions."
- echo
- ewarn "You might want to review the GCC upgrade guide when moving between"
- ewarn "major versions (like 4.2 to 4.3):"
- ewarn "https://wiki.gentoo.org/wiki/Upgrading_GCC"
- echo
-
- # Clean up old paths
- rm -f "${EROOT%/}"/*/rcscripts/awk/fixlafiles.awk "${EROOT%/}"/sbin/fix_libtool_files.sh
- rmdir "${EROOT%/}"/*/rcscripts{/awk,} 2>/dev/null
-
- mkdir -p "${EROOT%/}"/usr/{share/gcc-data,sbin,bin}
- # DATAPATH has EPREFIX already, use ROOT with it
- cp "${ROOT%/}${DATAPATH}"/fixlafiles.awk "${EROOT%/}"/usr/share/gcc-data/ || die
- cp "${ROOT%/}${DATAPATH}"/fix_libtool_files.sh "${EROOT%/}"/usr/sbin/ || die
-
- # Since these aren't critical files and portage sucks with
- # handling of binpkgs, don't require these to be found
- cp "${ROOT%/}${DATAPATH}"/c{89,99} "${EROOT%/}"/usr/bin/ 2>/dev/null
- fi
-
- if use ${GCC_EBUILD_TEST_FLAG} ; then
- elog "Testsuite results have been installed into /usr/share/doc/${PF}/testsuite"
- echo
- fi
-
- if [[ -n ${PRERELEASE}${SNAPSHOT} ]] ; then
- einfo "This GCC ebuild is provided for your convenience, and the use"
- einfo "of this compiler is not supported by the Gentoo Developers."
- einfo "Please report bugs to upstream at http://gcc.gnu.org/bugzilla/"
+ # gcc stopped installing .la files fixer in June 2020.
+ # Cleaning can be removed in June 2022.
+ rm -f "${EROOT%/}"/sbin/fix_libtool_files.sh
+ rm -f "${EROOT%/}"/usr/sbin/fix_libtool_files.sh
+ rm -f "${EROOT%/}"/usr/share/gcc-data/fixlafiles.awk
fi
}
toolchain_pkg_postrm() {
+ do_gcc_config
if [[ ! ${ROOT%/} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
eselect compiler-shadow clean all
fi
- # to make our lives easier (and saner), we do the fix_libtool stuff here.
- # rather than checking SLOT's and trying in upgrade paths, we just see if
- # the common libstdc++.la exists in the ${LIBPATH} of the gcc that we are
- # unmerging. if it does, that means this was a simple re-emerge.
-
# clean up the cruft left behind by cross-compilers
if is_crosscompile ; then
if [[ -z $(ls "${EROOT%/}"/etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then
+ einfo "Removing last cross-compiler instance. Deleting dangling symlinks."
rm -f "${EROOT%/}"/etc/env.d/gcc/config-${CTARGET}
rm -f "${EROOT%/}"/etc/env.d/??gcc-${CTARGET}
rm -f "${EROOT%/}"/usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64}
@@ -2255,22 +2131,10 @@ toolchain_pkg_postrm() {
return 0
fi
- # ROOT isnt handled by the script
- [[ ${ROOT%/} ]] && return 0
-
- if [[ ! -e ${LIBPATH}/libstdc++.so ]] ; then
- # make sure the profile is sane during same-slot upgrade #289403
- do_gcc_config
-
- einfo "Running 'fix_libtool_files.sh ${GCC_RELEASE_VER}'"
- fix_libtool_files.sh ${GCC_RELEASE_VER}
- if [[ -n ${BRANCH_UPDATE} ]] ; then
- einfo "Running 'fix_libtool_files.sh ${GCC_RELEASE_VER}-${BRANCH_UPDATE}'"
- fix_libtool_files.sh ${GCC_RELEASE_VER}-${BRANCH_UPDATE}
- fi
- fi
-
- return 0
+ # gcc stopped installing .la files fixer in June 2020.
+ # Cleaning can be removed in June 2022.
+ rm -f "${EROOT%/}"/sbin/fix_libtool_files.sh
+ rm -f "${EROOT%/}"/usr/share/gcc-data/fixlafiles.awk
}
do_gcc_config() {
@@ -2362,45 +2226,48 @@ gcc-lang-supported() {
has $1 ${TOOLCHAIN_ALLOWED_LANGS}
}
+_tc_use_if_iuse() {
+ in_iuse $1 && use $1
+}
+
is_ada() {
gcc-lang-supported ada || return 1
- use_if_iuse ada
+ _tc_use_if_iuse ada
}
is_cxx() {
gcc-lang-supported 'c++' || return 1
- ! is_crosscompile && tc_version_is_at_least 4.8 && return 0
- use_if_iuse cxx
+ _tc_use_if_iuse cxx
}
is_d() {
gcc-lang-supported d || return 1
- use_if_iuse d
+ _tc_use_if_iuse d
}
is_f77() {
gcc-lang-supported f77 || return 1
- use_if_iuse fortran
+ _tc_use_if_iuse fortran
}
is_f95() {
gcc-lang-supported f95 || return 1
- use_if_iuse fortran
+ _tc_use_if_iuse fortran
}
is_fortran() {
gcc-lang-supported fortran || return 1
- use_if_iuse fortran
+ _tc_use_if_iuse fortran
}
is_gcj() {
gcc-lang-supported java || return 1
- use_if_iuse cxx && use_if_iuse gcj
+ _tc_use_if_iuse cxx && _tc_use_if_iuse gcj
}
is_go() {
gcc-lang-supported go || return 1
- use_if_iuse cxx && use_if_iuse go
+ _tc_use_if_iuse cxx && _tc_use_if_iuse go
}
is_jit() {
@@ -2409,22 +2276,22 @@ is_jit() {
# to generate code for a target. On target like avr
# libgcclit.so can't link at all: bug #594572
is_crosscompile && return 1
- use_if_iuse jit
+ _tc_use_if_iuse jit
}
is_multilib() {
tc_version_is_at_least 3 || return 1
- use_if_iuse multilib
+ _tc_use_if_iuse multilib
}
is_objc() {
gcc-lang-supported objc || return 1
- use_if_iuse objc
+ _tc_use_if_iuse objc
}
is_objcxx() {
gcc-lang-supported 'obj-c++' || return 1
- use_if_iuse cxx && use_if_iuse objc++
+ _tc_use_if_iuse cxx && _tc_use_if_iuse objc++
}
# Grab a variable from the build system (taken from linux-info.eclass)
@@ -2449,12 +2316,12 @@ hardened_gcc_works() {
[[ ${CTARGET} == *-freebsd* ]] && return 1
want_pie || return 1
- use_if_iuse nopie && return 1
+ _tc_use_if_iuse nopie && return 1
hardened_gcc_is_stable pie
return $?
elif [[ $1 == "ssp" ]] ; then
[[ -n ${SPECS_VER} ]] || return 1
- use_if_iuse nossp && return 1
+ _tc_use_if_iuse nossp && return 1
hardened_gcc_is_stable ssp
return $?
else
@@ -2492,12 +2359,12 @@ want_minispecs() {
if tc_version_is_at_least 6.0 ; then
return 0
fi
- if tc_version_is_at_least 4.3.2 && use_if_iuse hardened ; then
+ if tc_version_is_at_least 4.3.2 && _tc_use_if_iuse hardened ; then
if ! want_pie ; then
ewarn "PIE_VER or SPECS_VER is not defined in the GCC ebuild."
elif use vanilla ; then
ewarn "You will not get hardened features if you have the vanilla USE-flag."
- elif use_if_iuse nopie && use_if_iuse nossp ; then
+ elif _tc_use_if_iuse nopie && _tc_use_if_iuse nossp ; then
ewarn "You will not get hardened features if you have the nopie and nossp USE-flag."
elif ! hardened_gcc_works ; then
ewarn "Your $(tc-arch) arch is not supported."
@@ -2511,11 +2378,12 @@ want_minispecs() {
}
want_pie() {
- ! use_if_iuse hardened && [[ -n ${PIE_VER} ]] && use_if_iuse nopie && return 1
+ ! _tc_use_if_iuse hardened && [[ -n ${PIE_VER} ]] \
+ && _tc_use_if_iuse nopie && return 1
[[ -n ${PIE_VER} ]] && [[ -n ${SPECS_VER} ]] && return 0
tc_version_is_at_least 4.3.2 && return 1
[[ -z ${PIE_VER} ]] && return 1
- use_if_iuse nopie || return 0
+ _tc_use_if_iuse nopie || return 0
return 1
}
diff --git a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/Manifest b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/Manifest
index 66d995931e..61ed038655 100644
--- a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/Manifest
+++ b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/Manifest
@@ -1,3 +1,4 @@
DIST dnsmasq-2.76.tar.xz 480796 SHA256 4b92698dee19ca0cb2a8f2e48f1d2dffd01a21eb15d1fbed4cf085630c8c9f96 SHA512 8a930f3e7cdc0c291ce89bea8128a4b8438b9aa9e660a2ac037e0baa4c5c74f4482a8f83b0410066a759444b3c4e1cf62a9beb625e38509690227996de10e06a WHIRLPOOL e0710f879fd6f8e27581b8c400704660941601cd2077f32d7c2b3f9791c6be8404469770e74f7e1a03880507a32a30c19b89f6a953a757ad01305f829448f0bc
DIST dnsmasq-2.77.tar.xz 487244 SHA256 6eac3b1c50ae25170e3ff8c96ddb55236cf45007633fdb8a35b1f3e02f5f8b8a SHA512 6ca98a71a8fdfd606e29c58b34dadfa63148c39f931570cca67a287e044d52c6ec2f8acbf5620ada3312e9db3a2fd63877188d829c070beaa730607e3309e768 WHIRLPOOL 94a4fdc23d81fe38456756d81e53f1258ccd360c4d22952c889f2d5f76d401696587a5362f5aacd1ef86799874ac9eae3c3879d0fe81b66beeafb2f3ce0e01d0
DIST dnsmasq-2.78.tar.xz 489172 SHA256 89949f438c74b0c7543f06689c319484bd126cc4b1f8c745c742ab397681252b SHA512 9b79b84e5a768d52f90f6335ccef2c404ecd7a13e78e49f4cd0755fffc6cf34d0dc96ad4c72cad1dab3c5743a8d0d789b3e9b6e625b03c5675bb898ca61a698b WHIRLPOOL 3fdde3511c39b5f42a8166936576b60f7114a54388e317136ef9c4b5770c02106706dc0612361b18d25fa16a340e613c98aa78973e2dc038dc93f2a664d27606
+DIST dnsmasq-2.82.tar.xz 509904 BLAKE2B 4df3778b2ec6775a6147f66d53b8dd7068d97872c6e5d3a16716faeb0ca489331560c77d6fa9cc913af0d7e0320a6ef463c690bb9e3fdbd8c266ed273e5a5403 SHA512 faf36efdaa3abe84994e46aea018b0a324218d42814baac056ca635f6d03f1301e7b4d958f92b272a8e3a7ac358f3a4e2606129a217587b471aedb3ce23e903b
diff --git a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.82.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.82.ebuild
new file mode 100644
index 0000000000..338ba1de11
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.82.ebuild
@@ -0,0 +1,205 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs flag-o-matic systemd
+
+DESCRIPTION="Small forwarding DNS server"
+HOMEPAGE="http://www.thekelleys.org.uk/dnsmasq/doc.html"
+SRC_URI="http://www.thekelleys.org.uk/dnsmasq/${P}.tar.xz"
+
+LICENSE="|| ( GPL-2 GPL-3 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86"
+
+IUSE="auth-dns conntrack dbus +dhcp dhcp-tools dnssec +dumpfile id idn libidn2"
+IUSE+=" +inotify ipv6 lua nls script selinux static tftp"
+
+DM_LINGUAS=(de es fi fr id it no pl pt_BR ro)
+
+BDEPEND="
+ app-arch/xz-utils
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+COMMON_DEPEND="
+ acct-group/dnsmasq
+ acct-user/dnsmasq
+ dbus? ( sys-apps/dbus:= )
+ idn? (
+ !libidn2? ( net-dns/libidn:0= )
+ libidn2? ( >=net-dns/libidn2-2.0:= )
+ )
+ lua? ( dev-lang/lua:* )
+ conntrack? ( net-libs/libnetfilter_conntrack:= )
+ nls? ( sys-devel/gettext )
+"
+
+DEPEND="${COMMON_DEPEND}
+ dnssec? (
+ dev-libs/nettle:=[gmp]
+ static? ( >=dev-libs/nettle-3.4[static-libs(+)] )
+ )
+"
+
+RDEPEND="${COMMON_DEPEND}
+ dnssec? (
+ !static? ( >=dev-libs/nettle-3.4:=[gmp] )
+ )
+ selinux? ( sec-policy/selinux-dnsmasq )
+"
+
+REQUIRED_USE="
+ dhcp-tools? ( dhcp )
+ lua? ( script )
+ libidn2? ( idn )"
+
+use_have() {
+ local no_only
+ if [[ ${1} == '-n' ]]; then
+ no_only=1
+ shift
+ fi
+ local useflag="${1}"
+ shift
+
+ local uword="${1:-${useflag}}"
+ shift
+
+ while [[ ${uword} ]]; do
+ uword="${uword^^}"
+
+ if ! use "${useflag}"; then
+ printf -- " -DNO_%s" "${uword}"
+ elif [[ -z "${no_only}" ]]; then
+ printf -- " -DHAVE_%s" "${uword}"
+ fi
+ uword="${1}"
+ shift
+ done
+}
+
+pkg_pretend() {
+ if use static; then
+ einfo "Only sys-libs/gmp and dev-libs/nettle are statically linked."
+ use dnssec || einfo "Thus, ${P}[!dnssec,static] makes no sense;" \
+ "in this case the static USE flag does nothing."
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed -i -r 's:lua5.[0-9]+:lua:' Makefile || die
+ sed -i "s:%%PREFIX%%:${EPREFIX}/usr:" \
+ dnsmasq.conf.example || die
+}
+
+src_configure() {
+ COPTS=(
+ $(use_have -n auth-dns auth)
+ $(use_have conntrack)
+ $(use_have dbus)
+ $(use libidn2 || use_have idn)
+ $(use_have libidn2)
+ $(use_have -n inotify)
+ $(use_have -n dhcp dhcp dhcp6)
+ $(use_have -n ipv6 ipv6 dhcp6)
+ $(use_have -n id id)
+ $(use_have lua luascript)
+ $(use_have -n script)
+ $(use_have -n tftp)
+ $(use_have dnssec)
+ $(use_have static dnssec_static)
+ $(use_have -n dumpfile)
+ )
+}
+
+src_compile() {
+ emake \
+ PREFIX=/usr \
+ MANDIR=/usr/share/man \
+ CC="$(tc-getCC)" \
+ PKG_CONFIG="$(tc-getPKG_CONFIG)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ COPTS="${COPTS[*]}" \
+ CONFFILE="/etc/${PN}.conf" \
+ all$(use nls && printf -- "-i18n\n")
+
+ use dhcp-tools && emake -C contrib/lease-tools \
+ PREFIX=/usr \
+ MANDIR=/usr/share/man \
+ CC="$(tc-getCC)" \
+ PKG_CONFIG="$(tc-getPKG_CONFIG)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ all
+}
+
+src_install() {
+ local lingua puid
+ emake \
+ PREFIX=/usr \
+ MANDIR=/usr/share/man \
+ COPTS="${COPTS[*]}" \
+ DESTDIR="${ED}" \
+ install$(use nls && printf -- "-i18n\n")
+
+ for lingua in "${DM_LINGUAS[@]}"; do
+ has ${lingua} ${LINGUAS-${lingua}} \
+ || rm -rf "${ED}"/usr/share/locale/${lingua}
+ done
+ [[ -d "${D}"/usr/share/locale/ ]] && \
+ rmdir --ignore-fail-on-non-empty "${ED}"/usr/share/locale/
+
+ dodoc CHANGELOG CHANGELOG.archive FAQ dnsmasq.conf.example
+ dodoc -r logo
+
+ docinto html/
+ dodoc *.html
+
+ newinitd "${FILESDIR}"/dnsmasq-init-r4 ${PN}
+ newconfd "${FILESDIR}"/dnsmasq.confd-r1 ${PN}
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/dnsmasq.logrotate ${PN}
+
+ insinto /etc
+ newins dnsmasq.conf.example dnsmasq.conf
+
+ insinto /usr/share/dnsmasq
+ doins trust-anchors.conf
+
+ if use dhcp; then
+ keepdir /var/lib/misc
+ newinitd "${FILESDIR}"/dnsmasq-init-dhcp-r3 ${PN}
+ fi
+ if use dbus; then
+ insinto /etc/dbus-1/system.d
+ doins dbus/dnsmasq.conf
+ fi
+
+ if use dhcp-tools; then
+ dosbin contrib/lease-tools/{dhcp_release,dhcp_lease_time}
+ doman contrib/lease-tools/{dhcp_release,dhcp_lease_time}.1
+ if use ipv6; then
+ dosbin contrib/lease-tools/dhcp_release6
+ doman contrib/lease-tools/dhcp_release6.1
+ fi
+ fi
+
+ systemd_newunit "${FILESDIR}"/${PN}.service-r1 ${PN}.service
+}
+
+pkg_preinst() {
+ [[ -f /var/lib/misc/dnsmasq.leases ]] && \
+ cp /var/lib/misc/dnsmasq.leases "${T}"
+}
+
+pkg_postinst() {
+ [[ -f "${T}"/dnsmasq.leases ]] && \
+ cp "${T}"/dnsmasq.leases /var/lib/misc/dnsmasq.leases
+}
diff --git a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/files/dnsmasq-init-dhcp-r3 b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/files/dnsmasq-init-dhcp-r3
new file mode 100644
index 0000000000..5a356b22b2
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/files/dnsmasq-init-dhcp-r3
@@ -0,0 +1,35 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+extra_started_commands="reload rotate"
+
+pidfile="/var/run/dnsmasq.pid"
+command="/usr/sbin/dnsmasq"
+command_args="-x ${pidfile} ${DNSMASQ_OPTS}"
+retry="TERM/3/TERM/5"
+
+depend() {
+ provide dns
+ need localmount net
+ after bootmisc
+ use logger
+}
+
+start_pre() {
+ checkpath --owner dnsmasq:dnsmasq \
+ --mode 0644 \
+ --file /var/lib/misc/dnsmasq.leases
+}
+
+reload() {
+ ebegin "Reloading ${RC_SVCNAME}"
+ start-stop-daemon --signal HUP --pidfile "${pidfile}"
+ eend $?
+}
+
+rotate() {
+ ebegin "Reopening ${RC_SVCNAME} log file"
+ start-stop-daemon --signal USR2 --pidfile "${pidfile}"
+ eend $?
+}
diff --git a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/files/dnsmasq-init-r4 b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/files/dnsmasq-init-r4
new file mode 100644
index 0000000000..559cb1e89d
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/files/dnsmasq-init-r4
@@ -0,0 +1,29 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+extra_started_commands="reload rotate"
+
+pidfile="/var/run/dnsmasq.pid"
+command="/usr/sbin/dnsmasq"
+command_args="-x ${pidfile} ${DNSMASQ_OPTS}"
+retry="TERM/3/TERM/5"
+
+depend() {
+ provide dns
+ need localmount net
+ after bootmisc
+ use logger
+}
+
+reload() {
+ ebegin "Reloading ${RC_SVCNAME}"
+ start-stop-daemon --signal HUP --pidfile "${pidfile}"
+ eend $?
+}
+
+rotate() {
+ ebegin "Reopening ${RC_SVCNAME} log file"
+ start-stop-daemon --signal USR2 --pidfile "${pidfile}"
+ eend $?
+}
diff --git a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/files/dnsmasq.logrotate b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/files/dnsmasq.logrotate
new file mode 100644
index 0000000000..75372feef7
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/files/dnsmasq.logrotate
@@ -0,0 +1,8 @@
+/var/log/dnsmasq.log {
+ create 640 dnsmasq root
+ notifempty
+ missingok
+ postrotate
+ test -r /var/run/dnsmasq.pid && kill -USR2 "$(head -n1 /var/run/dnsmasq.pid)"
+ endscript
+}
diff --git a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/metadata.xml b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/metadata.xml
index dd1a2a161c..9a597f9b11 100644
--- a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/metadata.xml
+++ b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/metadata.xml
@@ -11,6 +11,7 @@
Install extra command line tools for manually managing DHCP leases.
Enable support for acting as a DHCP server.
Enable support DNSSEC validation and caching.
+ Include code to dump packets to a libpcap-format file for debugging
Whether report *.bind CHAOS info to clients, otherwise forward such requests upstream instead
Enable support for Internationalized Domain Names, via net-dns/libidn2 rather than net-dns/libidn
Enable support for calling scripts when leases change.
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/Manifest
new file mode 100644
index 0000000000..11c1fba10e
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/Manifest
@@ -0,0 +1 @@
+DIST binutils-config-5.3.2.tar.xz 6840 BLAKE2B 4f02b8d1f3f8d4adca811772edba6167fc0e739f8ff1e895f30745eca45b559da6622bb76a0cac6016d6e864fe7ad6c921c64c7ec1c18c130b3a64a1dd7b9cbc SHA512 03dfecf46fee941b7b9fc35b63ffd22c795ab54f0444f16fc00ed44d27c81f6baaca33170fb700cfc4d767be469f305890882839536363bc466ad200d28d2228
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/binutils-config-5.3.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/binutils-config-5.3.2.ebuild
new file mode 100644
index 0000000000..2a949b4fb1
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/binutils-config-5.3.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit prefix
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/binutils-config.git"
+ inherit git-r3
+else
+ SRC_URI="https://dev.gentoo.org/~slyfox/distfiles/${P}.tar.xz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86"
+fi
+
+DESCRIPTION="Utility to change the binutils version being used"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Toolchain"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+native-symlinks"
+
+# We also RDEPEND on sys-apps/findutils which is in base @system
+RDEPEND="sys-apps/gentoo-functions"
+
+src_compile() {
+ emake DESTDIR="${D}" PV="${PV}" USE_NATIVE_LINKS="$(usex native-symlinks)"
+}
+
+src_install() {
+ emake DESTDIR="${D}" PV="${PV}" install
+
+ use prefix && eprefixify "${ED}"/usr/bin/${PN}
+}
+
+pkg_postinst() {
+ # Re-register all targets. USE flags or new versions can change
+ # installed symlinks.
+ local x
+ for x in $(binutils-config -C -l 2>/dev/null | awk '$NF == "*" { print $2 }') ; do
+ binutils-config ${x}
+ done
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/metadata.xml
index e396f37559..393442d23f 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/metadata.xml
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/metadata.xml
@@ -1,8 +1,11 @@
-
- toolchain@gentoo.org
- Gentoo Toolchain Project
-
+
+ toolchain@gentoo.org
+ Gentoo Toolchain Project
+
+
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/Manifest
index add4500d64..1be2d74b12 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/Manifest
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/Manifest
@@ -1,17 +1,5 @@
-DIST binutils-2.25.1-patches-1.1.tar.xz 18724 BLAKE2B 0a8380427247463340b28fa28171f127b9a3c8163ce63d103d1d15492c30df9cf24a5122ff271dc80425a0b212438f5d39f99783fda52e7b5e861a3f5f0e2992 SHA512 209c55bf26b51d8c513b40abd2d95f687159c4e964a6c732924f277d04c97323c427fe452c63d5ec6962dcd8892d6d5d807ba88826739425bce6812a31f573dd
-DIST binutils-2.25.1.tar.bz2 24163561 BLAKE2B 25fc879f99d6547fd0dc911e74c35cf52f3da2c0f9fd758031dda90da63cdd819345d0a69f692a40dee9f63895d816cee7910a9f48ce56e7b4251827768946f4 SHA512 0b36dda0e6d32cd25613c0e64b56b28312515c54d6a159efd3db9a86717f114ab0a0a1f69d08975084d55713ebaeab64e4085c9b3d1c3fa86712869f80eb954d
-DIST binutils-2.26.1-patches-1.0.tar.xz 11212 BLAKE2B f785930a9bf994312f3a525ef46727c582e6cd3992b5648bdf4c787f55fed4b36c69be3ac7d9962dcd72b6dbe0155dbf23d1daa14be5c7ad5da1cf634f2522aa SHA512 c520967659c66f05f7ad795bb0bc2522e139977ab3ae8cfd9ec0d093a412a7291d1cabaa6b429c618fcf7253458a6fbe5a7dc3f62e0ac9762667308067db075c
-DIST binutils-2.26.1.tar.bz2 25595243 BLAKE2B 5114ab9ebfc1097f0ebfd1e134ea098b583724d2c822fb7365b6212be0edfd313961bcee8de1193f359b7e904b23146036bfa9e3e7bc0621160bf85f573a8d44 SHA512 9d9165609fd3b0f20d616f9891fc8e2b466eb13e2bfce40125e12427f8f201d20e2b8322bb6cb2b45e8df812f0e8ac059149f8a1f69ba3ed9d86a35c6a540b67
-DIST binutils-2.27-patches-1.1.tar.xz 9828 BLAKE2B 158787c0ee2b26ad78d90b0ce3c8c0c79256d2e85d5f4b582b275953235555a6323f791a98e1de357559994fef284a910a54749dcfc3ac0aea9cfad6ee70980e SHA512 5059a784344e0554965473808b9d72af34f793e5538e82010adbbf586d583ddfd9f5ca637e6ba658e566c406244ae79b2ab5135995bcfedc8a96b9293366199d
-DIST binutils-2.27.tar.bz2 26099568 BLAKE2B e9433b4dc28b0aeaa31d21fc039459e73c47050bb79dc0cf3f00e384604c37c0c1704ac6cba79c6b15edcbfd13f17b8013efeaca422d5b0e5a7f60c202fc5d18 SHA512 cf276f84935312361a2ca077e04d0b469d23a3aed979d8ba5d92ea590904ffb2c2e7ed12cc842822bfc402836be86f479660cef3791aa62f3753d8a1a6f564cb
-DIST binutils-2.28.1-patches-1.0.tar.xz 19772 BLAKE2B 146b393b49ba868c7c064c58275ba1af3b7cbc7e97cc55b03c80d8b391955c40dd4e81ac4eeabcdfb53e41ea334a377d86300e037f8ccb810555a48dfa9da878 SHA512 c2c7d22e1013e79040c4dcb4d70649e78a070976ba3a4bc2ceb4805827b9d93eea1805c85db4fcb6b31be5218c3d7b42a4990437a7c01dc01fd7e9dedb606828
-DIST binutils-2.28.1.tar.bz2 28120394 BLAKE2B 3a0ed2bcf0c859638546b7460d9e6f0a55518402ff0c65c90ce462a318f5ae6690961616d188ce6cf0271c9f2fb8b7902782d32cf0e711068c53d3d06956d89e SHA512 5ec5212497b0fa8324f6a0884c284cb71c01942bbd39356d1ae745a5c9d97274c10f9d9c723f4bef6f0217662dfcd0c36e4e955a7599b11217658dc7b97553eb
-DIST binutils-2.29.1-patches-3.tar.xz 20904 BLAKE2B 5549cb2412123e4ad3a13935762cc0dca46215950dbf38a149caf4c6416da382a0fd7ecffe97b10bce4dfdcef5edc2673d49bb21e9d37be37e33b454a8c2bc1a SHA512 ba54efaf9e9f668d2922972acd2cdf5c3e6f174cfcc73d29953ab4ba6e157ce0cb500c583568a4e3baaaa92c9d30c394a327f29b51292acc66f8d3f20f5eae2a
-DIST binutils-2.29.1.tar.bz2 29123355 BLAKE2B 83de518a27bae0f13c57b1979493dd7f7cabae424cff5e8495d1f064da24b6ef9e1c19d1d1adad2dca7142372782023f66b4b4223170a49b96ba3834266fe878 SHA512 4063d34555526922376ccceb3f14b43e287442e82a8038cf50f4f51ad97d438c672c0e310ca4b856c9aff5aa9911073e256e8298a7a3f1844eeb60b90d955592
-DIST binutils-2.30-patches-5.tar.xz 590864 BLAKE2B 71de4d08f92ab1898ad576a21763f955067cbbed543250888e0c5d51f4ef77d0d829049e9a835691cf2de03965fbcc9bcfa092eb304c03f9b885e7a3dadab286 SHA512 029b3be6ae9b8620f8580a35701bd4517b4e0232ff3cf9983b3808475c7443cbf500b6cace2c052df0bd1e47202838f4d2453238db28709a947117071d9ae804
-DIST binutils-2.30.tar.xz 20286700 BLAKE2B 2dd5436a15a601011a1950e6082ec00082f5916fb82ce95ceab424fd8dc19f6daa7ac32a149f222ccdcc603354165cc206fde070eaa44fe2cc5e57486efc7868 SHA512 e747ea20d8d79fcd21b9d9f6695059caa7189d60f19256da398e34b789fea9a133c32b192e9693b5828d27683739b0198431bf8b3e39fb3b04884cf89d9aa839
-DIST binutils-2.31.1-patches-7.tar.xz 76828 BLAKE2B 354e7c3aa76c0cfe8fc6bb419a5b19294c0be09ebdff2fc4533dd16116fcd4f4a1b4c8db02233dabe33ca68347e0a30e542456988a4ead407edb47ed031e018c SHA512 c84ff9cd9f5b1e313e93d0f25bb4244950a73e0d97ec4dacb8763382219a08a01b16a8e93173032232ea4239098b29448331ed461f792e663e1117eb0811f85b
-DIST binutils-2.31.1.tar.xz 20467996 BLAKE2B 6b914df1fbb7cf54f2159f71b2c2b09f3f6a569b7a3cb4cf9790d0a3733a7548bc0ea32334a178ed3b56e8b97656ae99c7abaf212601beeaeae9a0884c0f6051 SHA512 0fca326feb1d5f5fe505a827b20237fe3ec9c13eaf7ec7e35847fd71184f605ba1cefe1314b1b8f8a29c0aa9d88162849ee1c1a3e70c2f7407d88339b17edb30
DIST binutils-2.32-patches-2.tar.xz 145672 BLAKE2B 8218e621f99cb4bcd1638c3011449b94480d207eaeb79cf75c0072e0f1a86bfd1603fc4515bc40d3ac1921a18b9a211b20568f59b11b13eb44e6cff1329c5af9 SHA512 55c25a603f6175af3ade6848e5c1faba06a147d72e9a4f53d44502d97db76499485a67b278a654d18884714a7bf7b360c77c9e42dba3cdc188f805bfe461f09f
DIST binutils-2.32.tar.xz 20774880 BLAKE2B d1bdbd9c8487c091665c197974ce4bdf520b7a67ed6997a81b87e6a0af9514a091458244f583acec5ae580ac2ee5e908f67f483b8e5263cd18ced794cb235da6 SHA512 d326408f12a03d9a61a9de56584c2af12f81c2e50d2d7e835d51565df8314df01575724afa1e43bd0db45cfc9916b41519b67dfce03232aa4978704492a6994a
+DIST binutils-2.35-patches-1.tar.xz 12216 BLAKE2B a811449da684e3501a7520a26639e04dda2f2d2fc8610974293eff3e4a1e23c4abeb97f52fe3b796679452bd6e3a5330fef4beb6f64b9ce2a1162076803390a0 SHA512 b8da16a4d97b264da925cc939b54bedbc148eb72a8d60f79d7ed222e9e299dca2a4f1fad4a6d60448d9d196c11331443eca0508dcbb85cb4c2da6c67bfaf4cd2
+DIST binutils-2.35.tar.xz 22042160 BLAKE2B 72ea79edf3a77aa93dcf38274123abbae5ce8f800a95e6379b4c8807050b05c2dfec314f06c027b1343c5570f369324fa3e195d7e0db5f8a57c0579937c49d3f SHA512 9f222e4ab6720036402d03904fb11b73ab87714b85cd84997f7d357f405c7e10581d70202f9165a1ee0c70538632db27ecc9dfe627dddb1e6bc7edb1537cf786
DIST binutils-9999-patches-4.tar.xz 17480 BLAKE2B 8e85fb15c740e19bb27482bea134342970fe1af8c39639a16a087c1e3b7386e469d9db6b0d1c0e1e62d550c145814e3013ef65708e91313b648a94ac5c4cafed SHA512 6d09513da6995b83c24afd0799f918281198c412cb65f04e07002fed1b036fb1c6cb075be499a2415e8b286f288b80c02fae1b1dfcd288fe216254d31206b6e3
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.25.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.25.1-r1.ebuild
deleted file mode 100644
index 93b6d4acd3..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.25.1-r1.ebuild
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-
-PATCHVER="1.1"
-ELF2FLT_VER=""
-inherit toolchain-binutils
-
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.26.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.26.1.ebuild
deleted file mode 100644
index 3ed6372c31..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.26.1.ebuild
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCHVER="1.0"
-ELF2FLT_VER=""
-inherit toolchain-binutils
-
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.27-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.27-r1.ebuild
deleted file mode 100644
index f969f492cd..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.27-r1.ebuild
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCHVER="1.1"
-ELF2FLT_VER=""
-inherit toolchain-binutils
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.28.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.28.1.ebuild
deleted file mode 100644
index 3ed6372c31..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.28.1.ebuild
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCHVER="1.0"
-ELF2FLT_VER=""
-inherit toolchain-binutils
-
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.29.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.29.1-r1.ebuild
deleted file mode 100644
index 5345e72a88..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.29.1-r1.ebuild
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCHVER="3"
-ELF2FLT_VER=""
-inherit toolchain-binutils
-
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
-
-PATCHES=( "${FILESDIR}/${P}-nogoldtest.patch" )
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.30-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.30-r4.ebuild
deleted file mode 100644
index 8094033038..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.30-r4.ebuild
+++ /dev/null
@@ -1,419 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils libtool flag-o-matic gnuconfig multilib versionator
-
-DESCRIPTION="Tools necessary to build programs"
-HOMEPAGE="https://sourceware.org/binutils/"
-LICENSE="GPL-3+"
-IUSE="+cxx doc multitarget +nls static-libs test"
-
-# Variables that can be set here:
-# PATCH_VER - the patchset version
-# Default: empty, no patching
-# PATCH_BINUTILS_VER - the binutils version in the patchset name
-# - Default: PV
-# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/...
-# for the patchsets
-# Default: dilfridge :)
-
-PATCH_VER=5
-
-case ${PV} in
- 9999)
- BVER="git"
- EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
- inherit git-r3
- S=${WORKDIR}/binutils
- EGIT_CHECKOUT_DIR=${S}
- ;;
- *)
- BVER=${PV}
- SRC_URI="mirror://gnu/binutils/binutils-${BVER}.tar.xz https://sourceware.org/pub/binutils/releases/binutils-${BVER}.tar.xz"
- ;;
-esac
-SLOT="${BVER}"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-
-#
-# The Gentoo patchset
-#
-PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${BVER}}
-PATCH_DEV=${PATCH_DEV:-slyfox}
-
-[[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
- https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
-
-#
-# The cross-compile logic
-#
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-#
-# The dependencies
-#
-RDEPEND="
- >=sys-devel/binutils-config-3
- sys-libs/zlib
-"
-DEPEND="${RDEPEND}
- doc? ( sys-apps/texinfo )
- test? ( dev-util/dejagnu )
- nls? ( sys-devel/gettext )
- sys-devel/flex
- virtual/yacc
-"
-if is_cross ; then
- # The build assumes the host has libiberty and such when cross-compiling
- # its build tools. We should probably make binutils itself build a local
- # copy to use, but until then, be lazy.
- DEPEND+=" >=sys-libs/binutils-libs-${PV}"
-fi
-
-MY_BUILDDIR=${WORKDIR}/build
-
-src_unpack() {
- case ${PV} in
- 9999)
- git-r3_src_unpack;
- ;;
- *)
- default
- ;;
- esac
- mkdir -p "${MY_BUILDDIR}"
-}
-
-src_prepare() {
- if [[ ! -z ${PATCH_VER} ]] ; then
- einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}"
- eapply "${WORKDIR}/patch"/*.patch
- fi
-
- # This check should probably go somewhere else, like pkg_pretend.
- if [[ ${CTARGET} == *-uclibc* ]] ; then
- if grep -qs 'linux-gnu' "${S}"/ltconfig ; then
- die "sorry, but this binutils doesn't yet support uClibc :("
- fi
- fi
-
- # Make sure our explicit libdir paths don't get clobbered. #562460
- sed -i \
- -e 's:@bfdlibdir@:@libdir@:g' \
- -e 's:@bfdincludedir@:@includedir@:g' \
- {bfd,opcodes}/Makefile.in || die
-
- # Fix locale issues if possible #122216
- if [[ -e ${FILESDIR}/binutils-configure-LANG.patch ]] ; then
- einfo "Fixing misc issues in configure files"
- for f in $(find "${S}" -name configure -exec grep -l 'autoconf version 2.13' {} +) ; do
- ebegin " Updating ${f/${S}\/}"
- patch "${f}" "${FILESDIR}"/binutils-configure-LANG.patch >& "${T}"/configure-patch.log \
- || eerror "Please file a bug about this"
- eend $?
- done
- fi
-
- # Fix conflicts with newer glibc #272594
- if [[ -e libiberty/testsuite/test-demangle.c ]] ; then
- sed -i 's:\:get_line:g' libiberty/testsuite/test-demangle.c
- fi
-
- # Apply things from PATCHES and user dirs
- default
-
- # Run misc portage update scripts
- gnuconfig_update
- elibtoolize --portage --no-uclibc
-}
-
-toolchain-binutils_bugurl() {
- printf "https://bugs.gentoo.org/"
-}
-toolchain-binutils_pkgversion() {
- printf "Gentoo ${BVER}"
- [[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}"
-}
-
-src_configure() {
- # Setup some paths
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${BVER}
- INCPATH=${LIBPATH}/include
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${BVER}
- if is_cross ; then
- TOOLPATH=/usr/${CHOST}/${CTARGET}
- else
- TOOLPATH=/usr/${CTARGET}
- fi
- BINPATH=${TOOLPATH}/binutils-bin/${BVER}
-
- # Make sure we filter $LINGUAS so that only ones that
- # actually work make it through #42033
- strip-linguas -u */po
-
- # Keep things sane
- strip-flags
-
- local x
- echo
- for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do
- einfo "$(printf '%10s' ${x}:) ${!x}"
- done
- echo
-
- cd "${MY_BUILDDIR}"
- local myconf=()
-
- # enable gold (installed as ld.gold) and ld's plugin architecture
- if use cxx ; then
- myconf+=( --enable-gold )
- myconf+=( --enable-plugins )
- fi
-
- if use nls ; then
- myconf+=( --without-included-gettext )
- else
- myconf+=( --disable-nls )
- fi
-
- myconf+=( --with-system-zlib )
-
- # For bi-arch systems, enable a 64bit bfd. This matches
- # the bi-arch logic in toolchain.eclass. #446946
- # We used to do it for everyone, but it's slow on 32bit arches. #438522
- case $(tc-arch) in
- ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;;
- esac
-
- use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd )
-
- [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} )
-
- is_cross && myconf+=(
- --with-sysroot="${EPREFIX}"/usr/${CTARGET}
- --enable-poison-system-directories
- )
-
- # glibc-2.3.6 lacks support for this ... so rather than force glibc-2.5+
- # on everyone in alpha (for now), we'll just enable it when possible
- has_version ">=${CATEGORY}/glibc-2.5" && myconf+=( --enable-secureplt )
- has_version ">=sys-libs/glibc-2.5" && myconf+=( --enable-secureplt )
-
- # mips can't do hash-style=gnu ...
- if [[ $(tc-arch) != mips ]] ; then
- myconf+=( --enable-default-hash-style=gnu )
- fi
-
- myconf+=(
- --prefix="${EPREFIX}"/usr
- --host=${CHOST}
- --target=${CTARGET}
- --datadir="${EPREFIX}"${DATAPATH}
- --datarootdir="${EPREFIX}"${DATAPATH}
- --infodir="${EPREFIX}"${DATAPATH}/info
- --mandir="${EPREFIX}"${DATAPATH}/man
- --bindir="${EPREFIX}"${BINPATH}
- --libdir="${EPREFIX}"${LIBPATH}
- --libexecdir="${EPREFIX}"${LIBPATH}
- --includedir="${EPREFIX}"${INCPATH}
- --enable-obsolete
- --enable-shared
- --enable-threads
- # Newer versions (>=2.27) offer a configure flag now.
- --enable-relro
- # Newer versions (>=2.24) make this an explicit option. #497268
- --enable-install-libiberty
- --disable-werror
- --with-bugurl="$(toolchain-binutils_bugurl)"
- --with-pkgversion="$(toolchain-binutils_pkgversion)"
- $(use_enable static-libs static)
- ${EXTRA_ECONF}
- # Disable modules that are in a combined binutils/gdb tree. #490566
- --disable-{gdb,libdecnumber,readline,sim}
- # Strip out broken static link flags.
- # https://gcc.gnu.org/PR56750
- --without-stage1-ldflags
- # Change SONAME to avoid conflict across
- # {native,cross}/binutils, binutils-libs. #666100
- --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)
- )
- echo ./configure "${myconf[@]}"
- "${S}"/configure "${myconf[@]}" || die
-
- # Prevent makeinfo from running if doc is unset.
- if ! use doc ; then
- sed -i \
- -e '/^MAKEINFO/s:=.*:= true:' \
- Makefile || die
- fi
-}
-
-src_compile() {
- cd "${MY_BUILDDIR}"
- # see Note [tooldir hack for ldscripts]
- emake tooldir="${EPREFIX}${TOOLPATH}" all
-
- # only build info pages if the user wants them
- if use doc ; then
- emake info
- fi
-
- # we nuke the manpages when we're left with junk
- # (like when we bootstrap, no perl -> no manpages)
- find . -name '*.1' -a -size 0 -delete
-}
-
-src_test() {
- cd "${MY_BUILDDIR}"
- emake -k check
-}
-
-src_install() {
- local x d
-
- cd "${MY_BUILDDIR}"
- # see Note [tooldir hack for ldscripts]
- emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install
- rm -rf "${ED}"/${LIBPATH}/bin
- use static-libs || find "${ED}" -name '*.la' -delete
-
- # Newer versions of binutils get fancy with ${LIBPATH} #171905
- cd "${ED}"/${LIBPATH}
- for d in ../* ; do
- [[ ${d} == ../${BVER} ]] && continue
- mv ${d}/* . || die
- rmdir ${d} || die
- done
-
- # Now we collect everything intp the proper SLOT-ed dirs
- # When something is built to cross-compile, it installs into
- # /usr/$CHOST/ by default ... we have to 'fix' that :)
- if is_cross ; then
- cd "${ED}"/${BINPATH}
- for x in * ; do
- mv ${x} ${x/${CTARGET}-}
- done
-
- if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then
- mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH}
- mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/
- rm -r "${ED}"/usr/${CHOST}/{include,lib}
- fi
- fi
- insinto ${INCPATH}
- local libiberty_headers=(
- # Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir.
- demangle.h
- dyn-string.h
- fibheap.h
- hashtab.h
- libiberty.h
- objalloc.h
- splay-tree.h
- )
- doins "${libiberty_headers[@]/#/${S}/include/}" || die
- if [[ -d ${ED}/${LIBPATH}/lib ]] ; then
- mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/
- rm -r "${ED}"/${LIBPATH}/lib
- fi
-
- # Generate an env.d entry for this binutils
- insinto /etc/env.d/binutils
- cat <<-EOF > "${T}"/env.d
- TARGET="${CTARGET}"
- VER="${BVER}"
- LIBPATH="${EPREFIX}${LIBPATH}"
- EOF
- newins "${T}"/env.d ${CTARGET}-${BVER}
-
- # Handle documentation
- if ! is_cross ; then
- cd "${S}"
- dodoc README
- docinto bfd
- dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO
- docinto binutils
- dodoc binutils/ChangeLog binutils/NEWS binutils/README
- docinto gas
- dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README*
- docinto gprof
- dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl
- docinto ld
- dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO
- docinto libiberty
- dodoc libiberty/ChangeLog* libiberty/README
- docinto opcodes
- dodoc opcodes/ChangeLog*
- fi
-
- # Remove shared info pages
- rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info}
-
- # Trim all empty dirs
- find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null
-}
-
-pkg_postinst() {
- # Make sure this ${CTARGET} has a binutils version selected
- [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0
- binutils-config ${CTARGET}-${BVER}
-}
-
-pkg_postrm() {
- local current_profile=$(binutils-config -c ${CTARGET})
-
- # If no other versions exist, then uninstall for this
- # target ... otherwise, switch to the newest version
- # Note: only do this if this version is unmerged. We
- # rerun binutils-config if this is a remerge, as
- # we want the mtimes on the symlinks updated (if
- # it is the same as the current selected profile)
- if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${BVER} ]] ; then
- local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}')
- choice=${choice//$'\n'/ }
- choice=${choice/* }
- if [[ -z ${choice} ]] ; then
- binutils-config -u ${CTARGET}
- else
- binutils-config ${choice}
- fi
- elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${BVER} ]] ; then
- binutils-config ${CTARGET}-${BVER}
- fi
-}
-
-# Note [slotting support]
-# -----------------------
-# Gentoo's layout for binutils files is non-standard as Gentoo
-# supports slotted installation for binutils. Many tools
-# still expect binutils to reside in known locations.
-# binutils-config package restores symlinks into known locations,
-# like:
-# /usr/bin/${CTARGET}-
-# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips
-# /usr/include/
-#
-# Note [tooldir hack for ldscripts]
-# ---------------------------------
-# Build system does not allow ./configure to tweak every location
-# we need for slotting binutils hence all the shuffling in
-# src_install(). This note is about SCRIPTDIR define handling.
-#
-# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value
-# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib'
-# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time.
-# Thus we can't just move files around after compilation finished.
-#
-# Our goal is the following:
-# - at build-time set scriptdir to point to symlinked location:
-# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case)
-# - at install-time set scriptdir to point to slotted location:
-# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${BVER}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.31.1-r6.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.35.ebuild
similarity index 86%
rename from sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.31.1-r6.ebuild
rename to sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.35.ebuild
index b07c5579b0..353995d14c 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.31.1-r6.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.35.ebuild
@@ -1,65 +1,39 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
-inherit eutils libtool flag-o-matic gnuconfig multilib versionator
+inherit eutils libtool flag-o-matic gnuconfig multilib toolchain-funcs versionator
DESCRIPTION="Tools necessary to build programs"
HOMEPAGE="https://sourceware.org/binutils/"
LICENSE="GPL-3+"
-# USE="+cxx" is a transitional flag until llvm migrates to new flags:
-# bug #677888
-IUSE="+cxx default-gold doc +gold multitarget +nls +plugins static-libs test"
-REQUIRED_USE="cxx? ( gold plugins ) default-gold? ( gold )"
+IUSE="default-gold doc +gold multitarget +nls +plugins static-libs test vanilla"
+REQUIRED_USE="default-gold? ( gold )"
-# Variables that can be set here:
+# Variables that can be set here (ignored for live ebuilds)
# PATCH_VER - the patchset version
# Default: empty, no patching
# PATCH_BINUTILS_VER - the binutils version in the patchset name
# - Default: PV
# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/...
# for the patchsets
-# Default: dilfridge :)
-PATCH_VER=7
+PATCH_VER=1
PATCH_DEV=dilfridge
-case ${PV} in
- 9999)
- EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
- inherit git-r3
- S=${WORKDIR}/binutils
- EGIT_CHECKOUT_DIR=${S}
- SLOT=${PV}
- ;;
- *.9999)
- EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
- inherit git-r3
- S=${WORKDIR}/binutils
- EGIT_CHECKOUT_DIR=${S}
- EGIT_BRANCH=$(get_version_component_range 1-2)
- EGIT_BRANCH="binutils-${EGIT_BRANCH/./_}-branch"
- SLOT=$(get_version_component_range 1-2)
- ;;
- *)
- SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz"
- SLOT=$(get_version_component_range 1-2)
- KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
- ;;
-esac
-
-#
-# The Gentoo patchset
-#
-PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
-PATCH_DEV=${PATCH_DEV:-slyfox}
-
-[[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
- https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
-
-# Disable gold testsuite since it always fails.
-PATCHES=( "${FILESDIR}/${PN}-2.29.1-nogoldtest.patch" )
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ SLOT=${PV}
+else
+ PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
+ PATCH_DEV=${PATCH_DEV:-slyfox}
+ SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz"
+ [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
+ https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
+ SLOT=$(get_version_component_range 1-2)
+ KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86"
+fi
#
# The cross-compile logic
@@ -79,7 +53,8 @@ RDEPEND="
>=sys-devel/binutils-config-3
sys-libs/zlib
"
-DEPEND="${RDEPEND}
+DEPEND="${RDEPEND}"
+BDEPEND="
doc? ( sys-apps/texinfo )
test? ( dev-util/dejagnu )
nls? ( sys-devel/gettext )
@@ -87,24 +62,46 @@ DEPEND="${RDEPEND}
virtual/yacc
"
+RESTRICT="!test? ( test )"
+
MY_BUILDDIR=${WORKDIR}/build
src_unpack() {
- case ${PV} in
- *9999)
- git-r3_src_unpack
- ;;
- *)
- ;;
- esac
- default
- mkdir -p "${MY_BUILDDIR}"
+ if [[ ${PV} == 9999* ]] ; then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
+ git-r3_src_unpack
+ mv patches-git/9999 patch || die
+
+ EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
+ S=${WORKDIR}/binutils
+ EGIT_CHECKOUT_DIR=${S}
+ git-r3_src_unpack
+ else
+ unpack ${P}.tar.xz
+
+ cd "${WORKDIR}" || die
+ unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz
+ fi
+
+ cd "${WORKDIR}" || die
+ mkdir -p "${MY_BUILDDIR}" || die
}
src_prepare() {
- if [[ ! -z ${PATCH_VER} ]] ; then
- einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}"
- eapply "${WORKDIR}/patch"/*.patch
+ local patchsetname
+ if [[ ${PV} == 9999* ]] ; then
+ patchsetname="from git master"
+ else
+ patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
+ fi
+
+ if [[ ! -z ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then
+ if ! use vanilla; then
+ einfo "Applying binutils patchset ${patchsetname}"
+ eapply "${WORKDIR}/patch"
+ einfo "Done."
+ fi
fi
# This check should probably go somewhere else, like pkg_pretend.
@@ -245,6 +242,8 @@ src_configure() {
--enable-relro
# Newer versions (>=2.24) make this an explicit option. #497268
--enable-install-libiberty
+ # Available from 2.35 on
+ --enable-textrel-check=warning
--disable-werror
--with-bugurl="$(toolchain-binutils_bugurl)"
--with-pkgversion="$(toolchain-binutils_pkgversion)"
@@ -337,7 +336,7 @@ src_install() {
objalloc.h
splay-tree.h
)
- doins "${libiberty_headers[@]/#/${S}/include/}" || die
+ doins "${libiberty_headers[@]/#/${S}/include/}"
if [[ -d ${ED}/${LIBPATH}/lib ]] ; then
mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/
rm -r "${ED}"/${LIBPATH}/lib
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-9999.ebuild
index ac40bd24d6..46f46ece8a 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-9999.ebuild
@@ -11,6 +11,8 @@ LICENSE="GPL-3+"
IUSE="default-gold doc +gold multitarget +nls +plugins static-libs test"
REQUIRED_USE="default-gold? ( gold )"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
# Variables that can be set here:
# PATCH_VER - the patchset version
# Default: empty, no patching
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest
index af17f5afdd..5f838e4873 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest
@@ -1,3 +1,4 @@
DIST crossdev-20171230.tar.xz 23016 BLAKE2B 4661b3f9fac314b7346f0de7227d12ae2d6851e448f6d065471499df8ada5d699ef91c6b6bca285b2aefcbf67ab351fefbe9344c0884a7c0d33ff27215c8ed9c SHA512 bf8761a3018790501adb4bb173e3281d1d7628de8f65a1aa5df0b328a4af8088be466dbe8c185e7ed44aca31b078320a4f62c56351f4b7cbf832349184d9709f
DIST crossdev-20181020.tar.xz 27172 BLAKE2B 8a388d5201ab419b865b96a4314190a693a7e00f3b5ecc2db2efdf36efca102206b5c4c5633e5e4ee508f5433ff4e086460501462bacc86c2adb10cab33a0244 SHA512 dd7fa9522ce6f58684b54ddc57e088f19a8ad5392ff45ed5b2b1f95f4be7dbc753442adc1c2591a785d94070979200936ca713913e547e84ae02b05c83bf8cde
DIST crossdev-20181202.tar.xz 27184 BLAKE2B d1770f5148d666b22a20576b638e71bf6325e8a61776b8b47ecaf2e5437150554f6973c5306d233a836e4ffe3ff0480167c9b877c5f9e733681fd502016a19d4 SHA512 896bf050c81f3f34b2be187a851832494c039aa93177c806b689a75d16567f178e4ca33c21282fc320506b76e09b0cde8a45976b6309bf9bc5be8290db3dd8af
+DIST crossdev-20200801.tar.xz 28268 BLAKE2B 36f22a2d1422d5f9e27a5559a8c141462853c4dc011ec98c66d235ef262ea9408fd5054b578963fd17ef630ea63e72c068d216f6ffbea7d191d1374a6ecc4033 SHA512 331af1525cdfc66380621b764bfc63178ce962b9071408d1ee08480caad9c0e4782a8fa5e5f3500fd2ea03ccd322895cc95d80106ad9e5b97a0e09ef5d88c94b
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20200801.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20200801.ebuild
new file mode 100644
index 0000000000..8ce00a587f
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20200801.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+if [[ ${PV} == "99999999" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="git://anongit.gentoo.org/proj/crossdev.git"
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz
+ https://dev.gentoo.org/~slyfox/distfiles/${P}.tar.xz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86"
+fi
+
+DESCRIPTION="Gentoo Cross-toolchain generator"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Crossdev"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+
+RDEPEND="
+ >=sys-apps/portage-2.1
+ >=app-portage/portage-utils-0.55
+ app-shells/bash
+ sys-apps/gentoo-functions
+"
+DEPEND="app-arch/xz-utils"
+
+src_install() {
+ default
+
+ if [[ "${PV}" == "99999999" ]] ; then
+ sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die
+ fi
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc-config/gcc-config-2.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc-config/gcc-config-2.0.ebuild
deleted file mode 100644
index b6d179e1a6..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc-config/gcc-config-2.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gcc-config.git"
- inherit git-r3
-else
- SRC_URI="mirror://gentoo/${P}.tar.xz
- https://dev.gentoo.org/~slyfox/distfiles/${P}.tar.xz"
- KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-fi
-
-DESCRIPTION="Utility to manage compilers"
-HOMEPAGE="https://gitweb.gentoo.org/proj/gcc-config.git/"
-LICENSE="GPL-2"
-SLOT="0"
-IUSE=""
-
-RDEPEND=">=sys-apps/gentoo-functions-0.10"
-
-src_compile() {
- emake CC="$(tc-getCC)" \
- PV="${PV}" \
- SUBLIBDIR="$(get_libdir)"
-}
-
-src_install() {
- emake \
- DESTDIR="${D}" \
- PV="${PV}" \
- SUBLIBDIR="$(get_libdir)" \
- install
-}
-
-pkg_postinst() {
- # Scrub eselect-compiler remains
- rm -f "${ROOT}"/etc/env.d/05compiler &
-
- # We not longer use the /usr/include/g++-v3 hacks, as
- # it is not needed ...
- rm -f "${ROOT}"/usr/include/g++{,-v3} &
-
- # Do we have a valid multi ver setup ?
- local x
- for x in $(gcc-config -C -l 2>/dev/null | awk '$NF == "*" { print $2 }') ; do
- gcc-config ${x}
- done
-
- wait
-}
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 0f1ddb3b84..b605a03a07 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
@@ -1,84 +1,5 @@
-DIST bounds-checking-gcc-3.3.6-1.00-r2.patch.bz2 829688 BLAKE2B 5a33cf9ecf04df64d23901c4b03f8ab5aad5e8ebeae225fa08c7ceb5fc28c5010685e7c429a1e8b8e21402fc5b906b2f3184a3095e302df647e031339c4e0cef SHA512 d4533d02289dcd2ee11952f83dc687d82624d6e31ddb548e4f54cde4ef9cced5a1aac5b64086441f8930274e31f20d0ee82850fe1257f96c08b05d406d3b2e26
-DIST bounds-checking-gcc-3.4.4-1.00.1.patch.bz2 815566 BLAKE2B b202610cbc3e5a902a2bd9f3d217d224ea5f3ee68247557af907736cff577cd720065ab1567046d89f6d87cc433b3edbd1a24a3c8ef2ced97af9782ce49cab26 SHA512 da11cb354d5ec95c74081c2cbb29bcb49817a1f9d6875587b4a27f1c9fdea8f07eec8147b739bd18a4fa2365e5da50e4bca7d7531612fbf2514c50516d225ac2
-DIST ecj-4.3.jar 1377431 BLAKE2B 1d6a8ae1cef0fc4ee325f935873e4a2e560c34cac929bc4190c7dd47e1ca4480ad608f0b7a5d00f2bde30ff2dc78f74ccb0effa48db1df9358a6e35ebce32100 SHA512 c4be72186d81747f1adce5a50de303c24bd6ed9f401bfa8871b1b864fe7591392218b1937b10d0e76014de8e0b6a1d5c4280475976218141cd1878c4a35217ff
-DIST ecj-4.5.jar 1470676 BLAKE2B 793c10ba09fd8040c0e1181204141aea16780c9c9088e07126e00da2b510af2ad6f58d876357d7e98cbb02d783a3be434469d5de1df134ccb8cc508e45028d80 SHA512 d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e
-DIST gcc-3.3.6-patches-1.10.tar.bz2 53739 BLAKE2B d22772d30c432669299e3e6df350920408c510a241a20e6795dcc680227342a16c3b6d2e477a17d6c49794005b42972ed30b4efe5b2d69398d283f50efdeb459 SHA512 be6cc8fae217f789982e324e0d3ad12d527e43ca4c168bce613397aaf3d86219b125e7b39c2b236638a68112cfee0e06c1b297fead712d92b3923b7195299d0a
-DIST gcc-3.3.6-patches-1.9.tar.bz2 51760 BLAKE2B 68704c1ddb73d2966746dd1a57b9699c3130d9165dd990b0b70f13b0dc4c7c4503afcbb268fd54242e17bdd571d5d0a20c172ee431c3c772e7c3412d3f0ac884 SHA512 306220c537c5cd90af7638431e6547ee9a80199c384629b5fbda06c28b2d6168fcf1dd448c0e178b104f41e03a8ebda4f389489d205b9e66ade6637e4747196c
-DIST gcc-3.3.6-uclibc-patches-1.0.tar.bz2 28882 BLAKE2B e1e1a1e24368d238b999df061e086c1376b095bba703154fd35edd6337b5fbc265722ffa01ae496e55a524d52792d7802867b38cd426c56397056d96e62036c9 SHA512 d060c1552d4f21b8b1cd6a6e56b9af4f62f61ce8ef4362afb1982b2ad9defe6a9648705cf780103d4f2061737553b6737c276d79b803b6b75ae94035bc881f0e
-DIST gcc-3.3.6.tar.bz2 23972413 BLAKE2B e7b33edcdbbb13b0be41a41156bf6fb6dcfe4f5ad75c41de86cb37f854be6b7a6a8dda0e65d331461469848cd912e25920e8aa2dcb142cb661731ba571cb5de1 SHA512 576b88e2fa675314a79a85f180684fe5af370c596476a0bf02e33e8ae0e2be838417ea80675ce4194a8213792cf7ada50cae5131149e4b890ab61e0b8d50d0ed
-DIST gcc-3.4.5-uclibc-patches-1.1.tar.bz2 70923 BLAKE2B 174eb5e437367a8e64a48f3764b4a3971afc7f5bffac583b7cf4e98a2ea2241ff896751137cc59d45a12b12333319efd52094925ba175073fe70dc143a5ea7fa SHA512 c0534a374e2e0416d0792373f9d11526226f9ce1a98e771469efa68388b709c72672b8db8fe77901144a96a23e4fd9f9a99f1d278f1e8fffda8a6b01e3b770fa
-DIST gcc-3.4.6-patches-1.8.tar.bz2 61940 BLAKE2B 54026fc7f0a17cac4a219c2182865c597a417448310f2b10f948f971f9639eedf958d03474d999675180e8c8a7ef7f7929551c33fead53b909b4888a5483d78c SHA512 14c12628e0ccdc47492890a46d45f9ef1df3970d1103116c3c3be76ecf1b3560088232819891662f44d621877b59ed38dab48053885bd34e6516d7de514f42d6
-DIST gcc-3.4.6.tar.bz2 28193401 BLAKE2B b3e2d52269e59acbdb04248d8d95bee957da29722f998ef39731b8f4fe9ce29ab6b29020be440d7d5db2b56f93fa77bc7e56f979912d03ebb755a92ab14927c9 SHA512 d235e1223d5faf8f37f2d73db35edeff44c88974b09dfcf325f4b181b16d7124710d93b1b65b60206ce3525f062236ea0f338b3a5341d7ecbe196d8e90c3ff18
-DIST gcc-4.0.4-patches-1.3.tar.bz2 41994 BLAKE2B 2c6c5402256e177d197cf106e57e9d596d7559eb117f3a5e6b23ee524a08c79db76b192ad37240d209778742070a7cab8d1b73b2ae9bb5cd5accd1a760b26b61 SHA512 34999c783b0b2af782ae316c7a874a40a3e98faa8eb48409f951fc167ad4fb56c4fec93dc5cb6831b89f2dd90c80e3c89778fd73b9f176cb4470d8f5d1537b03
-DIST gcc-4.0.4-patches-1.4.tar.bz2 42634 BLAKE2B 321c5dfbd194771ae28078fdde4baf5661f7cbb8127ff0bd7d23b7e1167e978776e0cdc26b2c1c8d7c469f964a223b67833caf78104b893d61ab243181fdf2f8 SHA512 190d86ea9620e24547726e30e36142c369424633060ecca0edd76f132b283068a680b5faa1bc14e6439fe7d8b5de8b6a9ef43438240831c19b99e753299e19d0
-DIST gcc-4.0.4-uclibc-patches-1.0.tar.bz2 20164 BLAKE2B d2d9626f03bcf0b06f316f22f2d4ea71ba0721d8369ff914bb27e20c4423a2a5b511bb23e74d2efc247ecc9c0554144a7ebd16d8baf432e289226ef610bef978 SHA512 67bdb8be3b7d173795ae3692f8f76fb6c236bfe3054112db30e3f0a56982685fe0b15e2c37f7d9e15e6198e4a41e47e1434a2befeee4e9e460e7bc9e0fa9d235
-DIST gcc-4.0.4.tar.bz2 32642939 BLAKE2B a152e6183bb288e587f1e6ad21401de5ce21f871aa4f82344bf76af4518d3286d281770754fd5744a9c0a86bd656be8bce88aa72380e42c438271e1f471c4d8e SHA512 194c12b5a1bc50c003f6fc849a4c0032388a960fb4b769bdb6e76cf330f04f880a0723661c991ec03742443c21ccba9af8599ae648a0777e0a5875c5fe7f6abd
-DIST gcc-4.1.2-patches-1.6.tar.bz2 54513 BLAKE2B 5f9d6e3332cbfac0ef757dfbd45226414f41c39f8d828325ab0d1ae1a82855cc6cde09308a7e1565cbd9ddcb1b730681bf7ccf69643a29141b3b029e8fb61135 SHA512 0f225b66851c1e70afe19f59c8527631c8b42f0580922d979d2dbf367b4591a59e7047bcb52b36695bf24fcfd71ea814b0001e001fe0e39482dec7327bb74259
-DIST gcc-4.1.2-patches-1.7.tar.bz2 55204 BLAKE2B dad75b6484a76233f17e47ab48749ab01b4fa905d020dde79aa784734ce26d6ef4328019bbc381ebb0c7692777f17b6c857407841baac36b8b5c65b0b0fce761 SHA512 c1e547857d5a78752a04ce95b23fa2fb3cbd78ae4df110cee3344a024622e4f8c58f2752fb57fd2d188a629bff2d1153aec0f415f46382860917e53887a5566d
-DIST gcc-4.1.2-uclibc-patches-1.0.tar.bz2 20980 BLAKE2B cfc7dd4c7a0b1ed80c491d4ad56b05b05ff308fdbed2faa1b9f15b10c0f7834ee4ffcb0df1619f959f7a1a5f315305b550665c232404a8a3306e3e615539a0c8 SHA512 57789f4236a3085136afa83be3cef677bd813afd258d67bfdbecd2058f497cd459366d5515044c0208ab753946dc951dac6a3889752ca6dae836d837c22ce33b
-DIST gcc-4.1.2.tar.bz2 39707720 BLAKE2B 966b6a64c118456c7fb66eb2ad0dd84b1d53ad88dcbd146f446ef097a6975f5d6a7f1bcbbc4bfcd4e48b00eeb8054728e412db3d9818cff1f195e37859a4e510 SHA512 b97d3b72a3b0355611d5090b2c715b7a774f0e466a89326a0226c2809d12dfafb2d7c5a7af54bd5e00c135bbb6596f535e1a484740f7f1f691e8a57e6f0425cc
-DIST gcc-4.2.4-patches-1.4.tar.bz2 25768 BLAKE2B 502a83eb320ab4e4e4f210958b839f99e4c524ed49676ba909c297a9e0fc93b91411c8aa123e1180909297de0f42c0c320bbe3cf75319728f4a130bb56907f60 SHA512 dacd9d13f29e1e7baf136dee564fd0d128c20f77a8f7ab745263ad9dea8c694c006b89baf93f9aab7a0f93b48c2a54d80c4196f83f0f27c0fe17f7fba9a4fcfd
-DIST gcc-4.2.4-patches-1.5.tar.bz2 26425 BLAKE2B 74723391829946d2485fefa5b69bdfad2bdc0ed5390abdcbee4a74829d95abc4a89b5c162a96c1dffac26924a872040e81d551f310dd20a0781b053e1421aeda SHA512 bfa62eb30bc5c311fee0d655ec24d1e3bf81312ee3556aa70c2ae71e857211fd55d8a96cf95266d27e40f39ddf2e7d771e49658f6f810a012c1daa180b0197d0
-DIST gcc-4.2.4-uclibc-patches-1.0.tar.bz2 19167 BLAKE2B bf2bcc9ece9096cf7fda9999c56073774072fa03e5dbf389a617888b2269bc79a7cfb68a6e26da66dedce9f954a1766ed21bbdd907b747e9fb5ea3a0fbbb6474 SHA512 5545cfe6bfa7ab9a69a474cc051cc8744380077dcc193afefeb455e959e408a5e4dfd1adde5357886c7f598835400273ef80ad5c14976c0552b44f5cd48704ed
-DIST gcc-4.2.4.tar.bz2 44025458 BLAKE2B 1d9645298dbbb1aba7b2957acf5b9839bd702a85120aa82d4cada0e4ea68a1d633422d8fcedc405504768e2f932e4b9d1a70a86da0b8efa5fc923b786ebc259f SHA512 c6e3e4fce1d27d0c56ab24f4809367d9329b620b7c124e88de190f2ea2ae57b5e06d0bda85c5a74237a4f94ddba53dc91faea0611fff7b19ad720edc312cb0d9
-DIST gcc-4.3.6-patches-1.2.tar.bz2 76826 BLAKE2B c37cb013a6928e8494e9de1eab9601ee4575523b4bfa4e7c1f64cebbf64ef57bf877234a1e637515eef80535d2faa4ea67792e9434b44421a430b6fa6ab07921 SHA512 229692a6026ebadc4d87342fd11695338c0fb2a13c43ed6288710fbdca4d7330c74a2c8a46f60637be9c4c38365076f068d35c5a91faa1c69a55e5e7aeac79f8
-DIST gcc-4.3.6-patches-1.3.tar.bz2 77886 BLAKE2B 076183e5dfb9a11d76ec52a8226d0e2f5ceeb34fed49af9e4c8c3a17455d80486214d66d43c812e6f5ac9e8cb34dc628b40ad9678ee30610aba61731150ddcde SHA512 fb7985da07da1cf9f159c31a3b6a037e673eb8441b8903df62831355c5c3510805fd183f0ac7c590c159cf5d97a8f25c407143d02888878266b6f6318169a3ba
-DIST gcc-4.3.6-uclibc-patches-1.0.tar.bz2 3021 BLAKE2B c3b18a85253fc7b63e2f1fa541ce2c9bbe0c664fb5da8d494c89889d19aaebf513c40cabdf3271e3d074aace500bcde4f0ba4478c35ae0ae105b4a31d6e4e917 SHA512 6b85bf4caf5662ae114e472199c2f77d1fef63c485c073643968b6e0575c13bfa4ce9a32191908f34e70d41fd9fb5b9bc2b527542d82dac881a0462bfe89b120
-DIST gcc-4.3.6.tar.bz2 59756702 BLAKE2B 0bca01c8c2e7d8dc2f971c2b2bfb52d61285154c3fd14d6356a1cf083622aadadd9031bf0aead9a285eb1c4200c2d9515773c256acbdc901842aa16e06cc81e7 SHA512 0cb43f523135c6d54b3b5e26de7044fe096c16e7c3af8e400b2b48c5e52b4b5aa56615b1eca5e326b0202cf34870daa6ac44ec9633762acafa4425552b4029ee
-DIST gcc-4.4.3-specs-0.2.0.tar.bz2 2004 BLAKE2B 96f5ba2028bc6e0ef71e009857c37118a54d13d30de24d697c85e5772f9f2b7853615648cf2e4ee81d8385f6518c64588c0b56675c00f95ef39fca2a808f075e SHA512 779ecb0a064d2138b54569c8ae501975b8a6b72e5a3acbf8597619a8db77ee42ef9b0e62608d5192a15e4393e7dfc009bb50b994782236faa744b2c46b5fe517
-DIST gcc-4.4.7-patches-1.3.tar.bz2 25866 BLAKE2B 30c6e50afd9fb3ff159b99a950f07f91ca7684fbcd11339d273695ba7b1cb324b43b23b821923d8f972af6b32e4dd45075b1fbf6740f034b0911831bae494025 SHA512 cb59c8bb72a5414a9930f63e55a175bdc57d51dc518ec7d1245684f4576daa139e10dbe050a75ac960607cb0a5ed52c49ed7139d74398278bb7012ecda7be09d
-DIST gcc-4.4.7-patches-1.4.tar.bz2 26725 BLAKE2B 9d189cbf85621e09f12ca5ee4cf414b9c58d9c4f05cf39d13de358427f7744468a9b1cb75dac7f9b9994b7dd79aaff9f537a38170c2a9baee825223c294901c3 SHA512 b06b4bc966d6e40ab10227983e6a02ff98ae9c9657be6677259cf45a302049aef3103b5b4d391652e8e7faa1313d2a7c91bd34eeae892c8b89ccdff300128b9d
-DIST gcc-4.4.7-uclibc-patches-1.0.tar.bz2 3016 BLAKE2B cced59dc8f03a2f8bce7f95c5028164b41189b2272ae6a0d525241dd24df827292dda39b1bd9b4d6c0741be0ff0eb4df62d7c6aadf54d54c2bf64f268c68988f SHA512 46a69cb8e2e3b97116d012b95a515953b2629be04228a2ac90fe628705e6bc3bdf05ee22e3ed7d5fd0fe6e60aad8f1f96f36e8dd3b231bdfd048e61c6cc15beb
-DIST gcc-4.4.7.tar.bz2 63179340 BLAKE2B e01c90907228572c3d25bbb776c8232fa3f8e8f4112a27f69be2bad8eec50b68add39839f8d5726f5f82491f50e71fa1b44d98b60a3e0f145848a0e0e8760700 SHA512 5562a7319cfd8cc7c5261de9170f2cda86cbd3a231a444a5ec0ad3d8fd60af6f8bd86af8f201cebb7bddcd083d761834d1cbd652c68af0f5607d22a63439ed0e
-DIST gcc-4.5.4-patches-1.3.tar.bz2 20108 BLAKE2B 2a78a7e0228ae78996e36b14ad2961d4aba2ebecd8714a393608a41cd53efdd83bc31aebd6fd460372458592167b187997819db1a8a5778474098de224c844af SHA512 ba5781da360b5049ba07aa46dd45b8405540dadd717ceb88c07d8803ba91a90b9ee32147932d3dddf1ae1ece148589cc2b0e709a3fbec7fe56266f6e925fa8a5
-DIST gcc-4.5.4-patches-1.4.tar.bz2 21274 BLAKE2B 6c5c42be4c1a0954ca2c5181579e3d5af1e27bc2f91d77eee97c19f07b2fd2527bd4b96006e15aacc0009ad9b33ad5c9792768b84e002bec679c5a76aaaa9335 SHA512 4c8e9ece888eb0f09317886ceaddfc56536a58438c1b2d441831e916aa11d9584aa282de2535652d4f0bae235e7b0db725796ec57fc641f10a7123d7bcb1faad
-DIST gcc-4.5.4-uclibc-patches-1.0.tar.bz2 3019 BLAKE2B abf53f85a4af1336437963595b04d2c24284ebf7cc76d845bc3502cf54ef2dcfc21f76fda336f99165cc9939daa8b8c8dc9493c276879670a3cd0ac0efe526da SHA512 b6aa0a7d029a2a00b36fe8906d76b434fcdfc7191cbc8fffbcb8b89a66eba61ba6cd0cfdba94a79929487fbbad2163083b085476498f8be77ad473d078b0095a
-DIST gcc-4.5.4.tar.bz2 66426133 BLAKE2B 8725c7868e1fc9e72a28635f39aa014681aa502db4687e5d2d6ec7cf6d30b04902eca2ebbc1ef2b0e20b89908424d0053f0958e24ded5366fa1c38469913caa2 SHA512 78696b287d46aacd6f150920da376ea32f58ad9f0dafd2d3b7fa6dbdd8dd7afe659108d1dfaa5807617fc5248719f50b39c37ade0173ea5b9fec2091f4656115
-DIST gcc-4.6.4-patches-1.3.tar.bz2 16443 BLAKE2B a6d5cb1b51319e3167f687b7efddffd7dc8772b656fc42bb68687c2acc95095c57edcc6c7677b4b23c3666545a7eab6129c39abd3c7877c50c699be1b9b2ac65 SHA512 ed904bb8438a23a2e1ec3aff28c4451128421426305ff07de50edbad51a066bee9d1a9042a9b26c36dbd57e1eb044a474088945d6d780c6e98d7563947fb9b9a
-DIST gcc-4.6.4-patches-1.4.tar.bz2 17358 BLAKE2B 636ec75b1d3b6feeba5b21fc40faef6f8b23ff4079f80873f4faba4c44ecd9bdeac6b5a25dd6efcd1816ed594ea8d5d64c7bd41b7b7888fb04bf58148ceb50d5 SHA512 404d2ed19dd59b5eeff64ed5302eba48fc7e0613c20e3e40ebfe0a19131571d059d690113c7c5c00e8547615c6d1466beaa1e8ea16407d8208380c02dfb051b8
-DIST gcc-4.6.4-uclibc-patches-1.0.tar.bz2 3010 BLAKE2B e841db5125638b0ec34323d0500786ab6577042a22af3b423433542164408199ac4ff1036d27999aa01aa96e9e50988df2e86835102142f74c3f8fb33096a47e SHA512 fd289089a30c768b0ec4e3459cf494bc5e9d4ecf87056dc183277c712f7d69ac4cf900950270d8eacfe686b4aa906e1ece87cae52f2cb00642e96c0b95dcf133
-DIST gcc-4.6.4.tar.bz2 72006076 BLAKE2B 321c14c097c18cf60c32d228720980717e25e22e26ce5e75c3a411c423f9657eb896974200664132e2fb10c3010c5136d2da7f3c916fffddf7e4afe4e8bfdc20 SHA512 b5a5395782e0b9e61cda052f6e00c8575d1aa0b7e8db9e34c06e4e45f12ff37b436018536b7fa69a04a4235b5b368895652e3ed8fab2fe11763f9782ed9161dc
-DIST gcc-4.7.4-patches-1.4.tar.bz2 18072 BLAKE2B 6bab25aee9f9ef605ce2942928a9d1aa91371b8fdec00643805e5010a4b0ffb043e0dd1a119d1064f79e499983374ed39e475a9718fce632cad07811363ed56b SHA512 9f5d68ba62aee909023542dcece81e4e448ea750254258107d4f70291d8ae99469c4518e42ffddbe6b622b258f463127be6e6ef7eaaeeeb0f59b3b719f3eadca
-DIST gcc-4.7.4-patches-1.5.tar.bz2 20193 BLAKE2B 56c6258ee7c8c5657161e8eb182364b862d536300dbbb6ed7e781b45456a265debd299dc16496a543a291313af4d2cfd5f17a842abf64ebc3635d6b50458e4ae SHA512 340dea0cb11c676b5936ad1a32317987cd3a9b3271cf99bd50e40be39d5d361a218f4312deb2a6a17c6ae1fc7fd229b718857fde0e303b3537a4b89ba918c8d3
-DIST gcc-4.7.4-piepatches-v0.5.5.tar.bz2 15358 BLAKE2B e0df0b19829d9f9b1e8719467a6e15336d58ccf50c182c3d14438bc7e8690940535f6391b83f359c4e0bedf16814b7d4e2b0888f4698740be511bf6a574f9556 SHA512 f5e078bf4c17f7b5be102f1e3358d91c72e80363b5e055a92461f78399a1bf27bf6cb690d41900719bb260b6529f5d1aac999e613fda6ac5e4efa27f622510e6
-DIST gcc-4.7.4-uclibc-patches-1.0.tar.bz2 3019 BLAKE2B b24522bd5516e0f2bb4e8d20437e0a0aed22ea8cae3c78fc600688f71a57bb7fbd3d431737a30e4406a9ff5426ed7d2289b3efac4d5efaa5841f7db290ef023c SHA512 c2e6c96b74365f8233f6106fa03d94075b60f6f77c683aa2e27aceb007da723243f8e3ddea8b178e6a0f7939b8e35615165534dc74e5050f87680ab261a31c52
-DIST gcc-4.7.4.tar.bz2 82935453 BLAKE2B 98cc902dd1506161b96c8eba10e5a5c7fb11d2dfd95ebac15825806fcdb262a1ff962b72275dcfc8453b753164fc234bdd666b207202cfd5a0a2b4cd09b8c741 SHA512 dfcb737073191e628231031a3571ec77ee760a59377630f4a6e4fdfa66f9ddad39fde47e3f0f227eb43cdf90e0d34cde5abdc9ac892c1e111a911062a66c9189
-DIST gcc-4.8.5-patches-1.3.tar.bz2 26025 BLAKE2B 3744dfcac069b5f8321fc9cfb019d44c848d70d17e5908d3d97f0c314b98a7fd884235fec2b21c93027f6152577439f6d424f96836b113dcd589604af969c756 SHA512 8d190f81ca0d25281250dbf0a670fcf12334b0811a5bf664e6450942a2996d02b979c6e8f8760b287edad06df3d1f8e2fe5cb0c3dcf9677c3420457d841d9506
-DIST gcc-4.8.5-patches-1.4.tar.bz2 28937 BLAKE2B ecc1d6836b2a2f924a6c5bc224804273901bd362436245fa5ac7c4648693c41931ae970ae8ba0b5a5e43cf2f73493bda2b950a96618df2557f88114b6becab39 SHA512 5cffbc0004e010b8f3140dee3a0e1414d9003461330250ca609eaa98f5ef78ea1f55eae8ad2dc17f11370e036c958825c2940962cd22ca661b469b116b8be8c2
-DIST gcc-4.8.5-piepatches-v0.6.2.tar.bz2 14265 BLAKE2B b3bb37957ba8ee446967a3a60fee61c26a49f237241bbaf8bb3c3ec63656dd0492f518b129c8ef43cc06091742bc9c0b1042bb612c1110732b1e9608f28753ad SHA512 cd6af4047d4719dae9dbe86ce5342c7d8ddec38aad032486713b08e1b0cb711f5ca017e08d583137d51b8d4ef673366ba310e71bca7b49b82e9314781d6e9d99
-DIST gcc-4.8.5-uclibc-patches-1.0.tar.bz2 2976 BLAKE2B 1a804fd0b2fd5756e824f3eb511cf62d6af0fa8059ebcffadf6deb85e242ec8728b7883f2e054b465b87e4b61b6a2b55061a68eb8329c3a79a659d4c15808d21 SHA512 5469128eab06525915c75241797ad9ec4b63072ebfd5e110319bf810633cf3fbed39bbda4f6a0c74e537b248e7642780ecbe2086ad10be6e66b7dd289fa6534f
-DIST gcc-4.8.5.tar.bz2 86165587 BLAKE2B 760931013f96083078e74b8376eede6c23954e1f41cb44dbbdd8220fdede48807d89b9ca44fc4ae309f7cef441831b533512f1145cd563c5c797e96cf6cf1bfa SHA512 47fdfeca0c0a624cdec9c4ae47137d056c918d5c386d4b96985bb3c8172aba377cb66cbcc30e80832fd244a7d98f562c20198056915c70cfef0977545073a8ea
-DIST gcc-4.9.4-patches-1.3.tar.bz2 26060 BLAKE2B a61cb29111e8a9e35d810c0c557e901fc0d78e3b62027f5ea622d29becff9492e350c932824b23e5a38604bc3fa6c39fed9db902df4f830a3a362f1a1c2d9f58 SHA512 0214da6712a1b583f028be60e562f742d3d484d930976e2fce7be090113517c0e07faa20f750411b5125902f38a9944fe0c1dc8605d161c5bb11843acdebab75
-DIST gcc-4.9.4-piepatches-v0.6.4.tar.bz2 14414 BLAKE2B 2eccd4f2a164fbb32d13c7fe91627a2424c0a5570fe0cac97c2bb1c95294ba3d770832da7c445f75c91791466c5139a1e13753a3a40d87ff5e44e42749adee27 SHA512 243fa272ea0e49f700a76508bab3e03bbb353bcb930581b2f87f9a47df5cd3880e29f20b71612b21190adc463849e1e6ac2a38a49c0002b562d93d436f538285
-DIST gcc-4.9.4-uclibc-patches-1.0.tar.bz2 2618 BLAKE2B bff85a4088fb94fdb7a8b0bd552be98ace3e6d145889b6f8b4a1f2db2dad14342d155890ab159b42d5b55d88dfb7c392eb7f92590084e1958f6284c561da30f1 SHA512 5a1f44caa9261f4947101379628143869b31dec67fa28605e8e1f3894d4b7120c3f68ba6deb59da7a74fa906e27ab32cd3767761837dc3dfebc37865d349d6db
-DIST gcc-4.9.4.tar.bz2 90097606 BLAKE2B 373ff939ea72d6c4a7f3ab899b852b4c919481af2cfe3291281d9354c58a270d2eba73a0f301d90840dfabf423c82b368e113df7a2cb6cc28b2a703b0b6eb585 SHA512 93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683fd2ebf707d1d51c059fad2161fe42d110c330027f40214b7db0f3efe
-DIST gcc-5.4.0-patches-1.11.tar.bz2 35481 BLAKE2B 6a74fa85864bc62b506afba20adff693cb4554cd747cdb26e5ca6aa45eb511a9fbeb8afc654d55a786fbacd157164c4836de226b9bab4185774634182627c9a5 SHA512 b1d5bca91a8b2fddd2ba11573befc4bf957f9c2c149f1aa8b3ca336020b9101bd595cdeaae712f6eaaf4f7510f1f06cc6c49f62fe80b1bdf33f026118bc7074a
-DIST gcc-5.4.0-patches-1.9.tar.bz2 33602 BLAKE2B 2c914ad9c62eb1aa4ef941f332c1cc840b09e7aafa9eabe6598ddd6635816286e53ed142b466f10ed3616fe6bd39f4a42e2ed1d8f23596506f4f2ac3e032e467 SHA512 b83163722582d7ee92a87fde5018009f6ca4188ed77f89c34d9d35330126740e4bd54d3b4f2c2db9a1694632417b1b37a92499817a9f168a8cc6a3d8865216cf
-DIST gcc-5.4.0-piepatches-v0.6.5.tar.bz2 14551 BLAKE2B 6f3de9be0990a7580785821d8c85114a1907571c06bdf3a15ad91258f7c9e8bb6a4d2ddb8615f33bedf0ad036d215507e004fc095f788e40c824ae0ab3ffbb05 SHA512 4890f0713d261982ab81a20f93c5f65193aa1dfa171e3f9e5867f0b80ec7c1e76c5a997b1a4e6f47f8ce36af54ac91125c5bff8bf6d971b7d77c65a57a40a3c0
-DIST gcc-5.4.0-uclibc-patches-1.0.tar.bz2 3731 BLAKE2B fa436d1c1d9c150714092132f816740f8218dfeb4f9a6a8c830ea54d211a020f209e6fd1fcc313b2560b82c7855120053d346af72b7c12c88a7a948379dd2356 SHA512 009f34197e79c5e8c6497a0db01ac45cc657e92e56a663b4f3281661d108b2a129cd977fab5f0064f225d6812ae91e82bab22a2b10ae02c486881eeed85ec7a3
-DIST gcc-5.4.0.tar.bz2 95661481 BLAKE2B bf882acfa28cc1064cddd21e25332fff6bc65505d6af9acb2e455916edbc4f6b1de9b3524867f51d7819fc4f213ce21332fbf67cf71cd6c7b96fb8907e51d570 SHA512 2941cc950c8f2409a314df497631f9b0266211aa74746c1839c46e04f1c7c299afe2528d1ef16ea39def408a644ba48f97519ec7a7dd37d260c3e9423514265b
-DIST gcc-5.5.0-patches-1.0.tar.bz2 29527 BLAKE2B 3ee9565591e6c07d658ebecc36972a0a5835856bf8969da6997e02c4e79cef45a2dc565609f7bd02aa27c4c9db406b3502417da010e94e6d05d37f56af1ca71f SHA512 07f331c70da5e45be295e9559735f34479b4d6187da5354d5e23cb77760c372990030ce9c7408bcc9605e3c5e81c8acb10689b3aad57574378a20b0f22a4f3c3
-DIST gcc-5.5.0-piepatches-v0.6.5.tar.bz2 14327 BLAKE2B db24b2d321328307147b0dccabf9b66424302c4b8994c2981f09efe65af58692dc8fe69a65d262f60015ac15a2d1850c2b86964592b72c994737e61c1d8827ef SHA512 2e3ee95c8f2c36968fd6dfaf7bfcfd03d9d98e9a5ee827fbff06d8b28cf0375072165f7299baa9eceb8aee3af21dbd0099f9ba5162ccd52751af8f1c750de9e1
-DIST gcc-5.5.0-uclibc-patches-1.0.tar.bz2 3518 BLAKE2B b528d79d41de1099f3540c168339350b403568f38a338a5eeaf0a080ebc850cfa390ec72f03a6c61433f2617eaa452ed0c7397a530662188e9a73e5144bd6a1d SHA512 97b97d99fd121642ba7c170c62de245e9f2719dbfae148e0d69f7ee172f84669277f4ef26554fb4cecfab5956587ce50131d92e4244f28f914d1eecd2c361ba5
-DIST gcc-5.5.0.tar.xz 71096120 BLAKE2B 1e29ed718c8eb96facc405248b69406d77e27118473550ebd67cb1d62c627d3a394aeffca904e94a1a4c9edf7d0ba5fcd2a81e4b008790c64c1ba43dbed58781 SHA512 670ff52c2ae12c7852c12987e91798c5aa8bd6daf21f0d6e0cd57a4aa59cc4f06a837fe76426eaa1424cfddca937bed377680700eadc04d76b9180d462364fa1
-DIST gcc-6.4.0-patches-1.3.tar.bz2 13617 BLAKE2B 6bfb1d70397e6ca4359e5d190e36003c18c7a03a9be4f923461dcff11307601e6b3502a2e289585b53baeb919008d83c29ad24078f814aed9b331140e4687419 SHA512 91be7c8db0004cdd150fec0f8daa709374753d2f524c58087dcf45b6696dbd609972297e866f971fba1aa679464cf96a384dd111e104183c0939ab69add017b2
-DIST gcc-6.4.0-patches-1.8.tar.bz2 16904 BLAKE2B cc5b47919e6586b8860b7ffd62a90251061d0d07f5fab3085b56fd5fe6419e6f84f98ee5fdaaddeb8ff3e8745178a0e38c8eff55aac7f6d8a97d269afe465618 SHA512 c55ac6b73b4f2ee1fbc2bbfd8d5176e7721ad45899cc4aa8dc858b366504f837d951d614c6af6ce698c320639c49855fd786b7d97e8475091601a4b7c0c2c652
-DIST gcc-6.4.0-uclibc-patches-1.0.tar.bz2 1586 BLAKE2B 21f97a9e1c349b3d52def092a03e5a90533521da9af586be7ee527594f2d65745491ff8758d88c99a7ac215bde7ebf4e47a0a36cfcd7e66f70e0bebf2dadd922 SHA512 266dbe2bb53d892a24cd752d5c6833ea33f8df8b11b0471700ee53865243cd41f412f9bea8a369b474c9cd1435faff2e03902c7cb5638dd3ddcaa665aa2ec522
-DIST gcc-6.4.0.tar.xz 76156220 BLAKE2B 2018c338b28ea644cdd1b327cb0dfe7ee9aa2010357c93f7e71969f587c58d3fdfa2bb4c82a309490c48bc86924400022fa93f41dc6c4345878d1bc1d8204265 SHA512 02c60e54527c7adf584798d5251f8a0b80c93d5deafce82501b2c28e6692e0bd783927bbfc4bc527a863c0cccc025150a34740a9e29badb02d4b48e56a8aba90
-DIST gcc-6.5.0-patches-1.tar.bz2 9084 BLAKE2B fab5e50d786db1a5b552475d257ce3ace601e6201d51a6bf7ac31e0a5adeffb45a2a59bfbfa3fe2a6372200ee0af434d473de828b60b7668fdda75e0cad7ee71 SHA512 b8896db839ab46023dffa1fe1c6641555482d94a0d6097a0a3b70cc69063711a7d1c4e75cfdfd4db3daaf1c902888a212607ac2c605b17158cd51620c687946d
-DIST gcc-6.5.0.tar.xz 74355588 BLAKE2B 538595d32000b15a53577f0dc6b164d75791a8ccdf90500d5f667ff78378ef4ab9bedb8a590848907caf863bf1165ebe108b5e81eb4b54e85ced4002affde693 SHA512 ce046f9a50050fd54b870aab764f7db187fe7ea92eb4aaffb7c3689ca623755604e231f2af97ef795f41c406bb80c797dd69957cfdd51dfa2ba60813f72b7eac
-DIST gcc-7.3.0-patches-1.4.tar.bz2 8238 BLAKE2B 72a5dcb046558c8f5c3a75040fe24ce1106c43af7510d6febf667b4377cb9caea5ebe9e1287af90e4ebfffa3f3f22ca85f533acf57c2e2d896f92adc1659b9f5 SHA512 24ed0d82240426efb111bbf48913b96fdc824ae3aa5a653298a726ebe64a40791f484229bbab9cc58f73d658e0b4b83ccd13081cfbea6e1673ef1d076cca3b33
-DIST gcc-7.3.0-patches-1.8.tar.bz2 14435 BLAKE2B 3e5c1abad56ccd6e0aa7739cb7cd651ec07ef9bf25be554343f1fa0444f251de41bde5fe6f8bb9e85e3f7a5cf8b2b83515647d93d62f338fa7843581fcaff2f8 SHA512 4d9d76b3d47f1af4f23cae15278d165b22065a3d1512323d1e31b5e0cb47e4654733dc43fa11906a3bd18e827621c9a5ec62b73563f8e5ead663c29f7d0d7345
-DIST gcc-7.3.0.tar.xz 62462388 BLAKE2B dc8f132b21bd0543c3d9dd17557038aafe65675aa73c540954234a3c972b4c31c939149bd50183d072ab6c8d16919e19daeaaffd619ce2ccd62dbdf9a5bb3302 SHA512 ad41a7e4584e40e92cdf860bc0288500fbaf5dfb7e8c3fcabe9eba809c87bcfa85b46c19c19921b0cdf6d05483faede8287bb9ea120c0d1559449a70e602c8d4
-DIST gcc-7.4.0-patches-1.1.tar.bz2 8778 BLAKE2B 52b02b3c619b99912ee254599788abebe3963cf85e49b56166069318e340a8e271d767e82798e6062fc2a042a86a88da66ab95f2d9e42933ff17688d616a903f SHA512 02ec2eb2460e24cf46f7a04ca3b80ca120719389a54a740070e991d9c96b6fd55d1fa04eb4249fd3043edc9c0f6519b5babcce76036cd0146183512aaae2d573
-DIST gcc-7.4.0-patches-1.2.tar.bz2 9380 BLAKE2B a9608c7993b875f1c8d81e2aa15c46e10f91e6f37a723d7c09dd29dff7bb169a58597afc483dd46ffb3ce24944f824d746aa49d1a59924036e04aa855ca875aa SHA512 7959126eee11c10d9c3bbc867f6a74273dbd6e8f2d896d65b3fe1de73f0d8e09fbb62c7ff02ba8d1798206251ad1059c4490cdefa8adff09212eb23403923642
-DIST gcc-7.4.0.tar.xz 62601888 BLAKE2B df91ec680d5389736d3a37a2d85cf2e12fbe87b642fdf4b332e67a043e00944aca00243cc6709f86abd92115cb5a78502146636395571d1ea4899531e15d5d0e SHA512 8864d8e4b97c2e1a4f17422f6e68120172ebefeab97b1757734f7185ca68a6b9a89011c6833c03fa454c17b0ac35b15e1d284881e6971035948ac6100f3aa45e
-DIST gcc-8.2.0-patches-1.6.tar.bz2 17138 BLAKE2B edbeba9c41972836de072955c0db51406603aaf0dbb5f84ac1c5d8d2d61a8df6d725356655b69e3678950a0dc6dacc1bc2bf56f3620d685fe5c32045b3893f96 SHA512 32e7bddb5ec288def1e5c79d58023d90e29d77e83b70e3f21a22f4da78061cc49184d92c43807bdfd56a5067cbb9a8cfbfcb514016662aa1a24d791c7bd87b6b
-DIST gcc-8.2.0-patches-1.7.tar.bz2 18166 BLAKE2B 2aff918d253d76c9b7d76b2d82e85c42f2ab8717e73831965b3a0fcc92b1ceacd7aa0b433dd0c180ad16906cfe059c020b256d01271ef95a6e56b08d41f4acfe SHA512 5110b610a4c9116ecd91490f66e570c09217c6b4d18bf46af5e1a51ed043df188ce313bdae6ba670b8800842387c98c1b83b7e1e0c396cbce71e6726d81f589c
-DIST gcc-8.2.0.tar.xz 63460876 BLAKE2B c5372b0bdfcd2729577dca287b294623b78c583491998404eb307768c573618bdaaedb7d9ae0e39ba41a62a14b9525dff0e3083285754b7f5bb9987ecf635185 SHA512 64898a165f67e136d802a92e7633bf1b06c85266027e52127ea025bf5fc2291b5e858288aac0bdba246e6cdf7c6ec88bc8e0e7f3f6f1985f4297710cafde56ed
DIST gcc-8.3.0-patches-1.0.tar.bz2 12278 BLAKE2B 793465c5de0af850c7f3017b3011e68f3bd1664e6ce3500a3dc3003d37c03fe81857698957770a135eadd395a7767fa804d354ecdcdeb1d83623280ca569d4ec SHA512 0efadd2481713992807fed2683666f1094b3757674754601c079569f3ef70cd7aed3cefc9f815f4e59a21d37e4e940c122df714e16f3878a5f966450c4273669
DIST gcc-8.3.0-patches-1.1.tar.bz2 14430 BLAKE2B c702fbdb18c3c952cdb9adead3a193c948d78a4cb4b041beaa51a06b907fd357bb10a2f8d47d55978ebb08590fd7c9a6ec3df8e7a007173e20a55d251d947c72 SHA512 9e2284f597bab6f78ca24ead358b1f50495aefc9e0a416ace24c94723db7b2fb82d48426876138d00c82bcaf9c2f8b4674885988448dcf16dee1b764face9af4
DIST gcc-8.3.0.tar.xz 63694700 BLAKE2B 71df2ff5bd6874d57519c2e9af6b22152c8c4d7fab906a5f427b41bc4e8e742127592a8684120d9d3c9ce6241439531850be08ec0a4f29dbfdee95435655fdca SHA512 1811337ae3add9680cec64968a2509d085b6dc5b6783fc1e8c295e3e47416196fd1a3ad8dfe7e10be2276b4f62c357659ce2902f239f60a8648548231b4b5802
-DIST gcc-9.1.0-patches-1.0.tar.bz2 12235 BLAKE2B 3f7a11dfaf05f14a1affcc602bcbea685a214025abc24d6c9df9634a1024142529c3d380d9bcbe50e1d1acdc47f095154cd872fc23487538e697a1fd563b5f23 SHA512 c9a1979e994e08f90a6ec44f088c407946c955f786b7b47adcfc3a56fab5fcaf571442ce60f380444092aad9801cd32f8a4d137bb6076f9a5cf9c961902e52fb
-DIST gcc-9.1.0.tar.xz 70546856 BLAKE2B 0f7e5575aebc24113d12a56eb3dbf4bcdba3c656a76513c44dbbcded9ee71629727f24949bf2e1424682a9e5eda7c51eed93317e6f80013f5a837aaf25b82805 SHA512 b6134df027e734cee5395afd739fcfa4ea319a6017d662e54e89df927dea19d3fff7a6e35d676685383034e3db01c9d0b653f63574c274eeb15a2cb0bc7a1f28
-DIST gdc-0.24-src.tar.bz2 1012099 BLAKE2B 2c85058aad09af328719a702f69d655b9aa9655f2a83bb46bd21367cd442ed72c9b471ddaa764753f782dcb2f22fe51b052a965ed08290e0d9415b543481d144 SHA512 9aec7e4b102e602dfb61cd09ea4b4a96af637ceb3d726235261d09ebd35dbd416abcbfe0e46918e48474bd241fe9bb29abc145a65aa834669295aaee4fca0686
+DIST gcc-9.3.0-patches-3.tar.bz2 14193 BLAKE2B 4863fec1af41a8cdb2c24479b28812df36c1f71ab71d267ff0efc467cfb8ce99ed77714ceaedfb08b0d1eb0eb9316758cc7cbc5a8ad0bb582050690935e64b46 SHA512 8b90a5826df64e6f74e4f6c0e5acead695b38f671e26485b110d5b341daaad4ac21aabb04baae9ad457408eed274888b7f785bbc782611acfc7261e6a315d110
+DIST gcc-9.3.0.tar.xz 70533868 BLAKE2B 21efb1432aefad5ed9b9b395e88ef2adfda3a8ea6e3e808cd151da6e66df9fed1bafdc8b8ff055d4b2272ac786d8b7ddc4293bb6b51c55c40a261a0eda0e7cb4 SHA512 4b9e3639eef6e623747a22c37a904b4750c93b6da77cf3958d5047e9b5ebddb7eebe091cc16ca0a227c0ecbd2bf3b984b221130f269a97ee4cc18f9cf6c444de
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/README.md b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/README.md
new file mode 100644
index 0000000000..d996ddf01e
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/README.md
@@ -0,0 +1,11 @@
+# Flatcar Container Linux notes for the GCC package
+
+This readme captures notes for upgrading GCC in the SDK toolchain.
+
+Starting notes
+- The SDK uses cross compiler environments for all boards, even "native" (x86 on x86).
+- For "merely" one-shot compiling OS image packages with a newer gcc version it is sufficient to supply the build recipe and then build it as a cross compiler. For making the update persistent, the SDK needs to be build first (all 4 stages).
+- The SDK build uses its own set of build recipes, i.e. **not** `src/third-party/(coreos-overlay|portage-stable). Instead, the recipes included with the bootstrap SDK (used to build the new SDK) are used. These reside in `chroot/var/gentoo/repos/gentoo`.
+ - This effectively prevents *replacing* gcc in a single step, as the SDK bootstrap process will try to build the old gcc during the first stage(s)
+ - Instead, the new gcc version's build recipe needs to be added, then the SDK needs to be built, and then the old version's recipe can be removed.
+
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-9.2.0-neg-insn-cost.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-9.2.0-neg-insn-cost.patch
new file mode 100644
index 0000000000..7a6bebdf49
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-9.2.0-neg-insn-cost.patch
@@ -0,0 +1,29 @@
+https://bugs.gentoo.org/707958
+https://gcc.gnu.org/PR88879
+
+Subject: [PATCH] sel-sched: allow negative insn priority (PR 88879)
+From: Alexander Monakov
+
+ PR rtl-optimization/88879
+ * sel-sched.c (sel_target_adjust_priority): Remove assert.
+
+From-SVN: r271039
+---
+ gcc/ChangeLog | 5 +++++
+ gcc/sel-sched.c | 2 --
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+--- a/gcc/sel-sched.c
++++ b/gcc/sel-sched.c
+@@ -3331,8 +3331,6 @@ sel_target_adjust_priority (expr_t expr)
+ else
+ new_priority = priority;
+
+- gcc_assert (new_priority >= 0);
+-
+ /* If the priority has changed, adjust EXPR_PRIORITY_ADJ accordingly. */
+ EXPR_PRIORITY_ADJ (expr) = new_priority - EXPR_PRIORITY (expr);
+
+--
+2.25.0
+
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-configure-texinfo.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-configure-texinfo.patch
index ddc098ddbd..99e90998a4 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-configure-texinfo.patch
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-configure-texinfo.patch
@@ -4,8 +4,8 @@ that it violates the cheesy version grep.
http://bugs.gentoo.org/198182
---- configure
-+++ configure
+--- a/configure
++++ b/configure
@@ -3573,6 +3573,6 @@
:
else
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-3.3.6-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-3.3.6-r1.ebuild
deleted file mode 100644
index f158db5d98..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-3.3.6-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.9"
-UCLIBC_VER="1.0"
-HTB_VER="1.00-r2"
-
-inherit eutils toolchain
-
-# ia64 - broken static handling; USE=static emerge busybox
-KEYWORDS="~amd64 ~x86"
-
-# NOTE: we SHOULD be using at least binutils 2.15.90.0.1 everywhere for proper
-# .eh_frame ld optimisation and symbol visibility support, but it hasnt been
-# well tested in gentoo on any arch other than amd64!!
-RDEPEND=">=sys-devel/binutils-2.14.90.0.6-r1"
-DEPEND="${RDEPEND}
- amd64? ( >=sys-devel/binutils-2.15.90.0.1.1-r1 )"
-
-src_prepare() {
- toolchain_src_prepare
-
- if [[ -n ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] ; then
- mv "${S}"/gcc-3.3.2/libstdc++-v3/config/os/uclibc "${S}"/libstdc++-v3/config/os/ || die
- mv "${S}"/gcc-3.3.2/libstdc++-v3/config/locale/uclibc "${S}"/libstdc++-v3/config/locale/ || die
- fi
-
- # Anything useful and objc will require libffi. Seriously. Lets just force
- # libffi to install with USE="objc", even though it normally only installs
- # if you attempt to build gcj.
- if use objc && ! use gcj ; then
- epatch "${FILESDIR}"/3.3.4/libffi-without-libgcj.patch
- #epatch "${FILESDIR}"/3.4.3/libffi-nogcj-lib-path-fix.patch
- fi
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-3.3.6-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-3.3.6-r2.ebuild
deleted file mode 100644
index 75e1ed1933..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-3.3.6-r2.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.10"
-UCLIBC_VER="1.0"
-HTB_VER="1.00-r2"
-
-inherit eutils toolchain
-
-# ia64 - broken static handling; USE=static emerge busybox
-KEYWORDS="~amd64 ~x86"
-
-# NOTE: we SHOULD be using at least binutils 2.15.90.0.1 everywhere for proper
-# .eh_frame ld optimisation and symbol visibility support, but it hasnt been
-# well tested in gentoo on any arch other than amd64!!
-RDEPEND=">=sys-devel/binutils-2.14.90.0.6-r1"
-DEPEND="${RDEPEND}
- amd64? ( >=sys-devel/binutils-2.15.90.0.1.1-r1 )"
-
-src_prepare() {
- toolchain_src_prepare
-
- if [[ -n ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] ; then
- mv "${S}"/gcc-3.3.2/libstdc++-v3/config/os/uclibc "${S}"/libstdc++-v3/config/os/ || die
- mv "${S}"/gcc-3.3.2/libstdc++-v3/config/locale/uclibc "${S}"/libstdc++-v3/config/locale/ || die
- fi
-
- # Anything useful and objc will require libffi. Seriously. Lets just force
- # libffi to install with USE="objc", even though it normally only installs
- # if you attempt to build gcj.
- if use objc && ! use gcj ; then
- epatch "${FILESDIR}"/3.3.4/libffi-without-libgcj.patch
- #epatch "${FILESDIR}"/3.4.3/libffi-nogcj-lib-path-fix.patch
- fi
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-3.4.6-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-3.4.6-r2.ebuild
deleted file mode 100644
index ef118a8b01..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-3.4.6-r2.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.8"
-UCLIBC_VER="1.1"
-UCLIBC_GCC_VER="3.4.5"
-HTB_VER="1.00.1"
-HTB_GCC_VER="3.4.4"
-D_VER="0.24"
-
-inherit eutils toolchain
-
-KEYWORDS="-* alpha amd64 arm ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
-
-# we need a proper glibc version for the Scrt1.o provided to the pie-ssp specs
-# NOTE: we SHOULD be using at least binutils 2.15.90.0.1 everywhere for proper
-# .eh_frame ld optimisation and symbol visibility support, but it hasnt been
-# well tested in gentoo on any arch other than amd64!!
-RDEPEND=""
-DEPEND="${RDEPEND}
- >=sys-devel/binutils-2.14.90.0.8-r1
- amd64? ( >=sys-devel/binutils-2.15.90.0.1.1-r1 )"
-
-src_prepare() {
- toolchain_src_prepare
-
- # Anything useful and objc will require libffi. Seriously. Lets just force
- # libffi to install with USE="objc", even though it normally only installs
- # if you attempt to build gcj.
- if use objc && ! use gcj ; then
- epatch "${FILESDIR}"/3.4.3/libffi-without-libgcj.patch
- #epatch "${FILESDIR}"/3.4.3/libffi-nogcj-lib-path-fix.patch
- fi
-
- # Fix cross-compiling
- epatch "${FILESDIR}"/3.4.4/gcc-3.4.4-cross-compile.patch
-
- # Arch stuff
- case $(tc-arch) in
- amd64)
- if is_multilib ; then
- sed -i -e '/GLIBCXX_IS_NATIVE=/s:false:true:' libstdc++-v3/configure || die
- fi
- ;;
- esac
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.0.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.0.4-r1.ebuild
deleted file mode 100644
index f0880c7bb1..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.0.4-r1.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.4"
-UCLIBC_VER="1.0"
-
-inherit toolchain
-
-KEYWORDS=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- >=${CATEGORY}/binutils-2.15.94"
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.0.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.0.4.ebuild
deleted file mode 100644
index f8cacf7863..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.0.4.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.3"
-UCLIBC_VER="1.0"
-
-inherit toolchain
-
-KEYWORDS=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- >=${CATEGORY}/binutils-2.15.94"
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.1.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.1.2-r1.ebuild
deleted file mode 100644
index d18c5e7ec0..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.1.2-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.7"
-UCLIBC_VER="1.0"
-D_VER="0.24"
-
-inherit eutils toolchain
-
-KEYWORDS="-* ~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- ppc? ( >=${CATEGORY}/binutils-2.17 )
- ppc64? ( >=${CATEGORY}/binutils-2.17 )
- >=${CATEGORY}/binutils-2.15.94"
-
-src_prepare() {
- toolchain_src_prepare
-
- use vanilla && return 0
-
- # Fix cross-compiling
- epatch "${FILESDIR}"/4.1.0/gcc-4.1.0-cross-compile.patch
-
- epatch "${FILESDIR}"/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.1.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.1.2.ebuild
deleted file mode 100644
index 1bd5531ab9..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.1.2.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.6"
-UCLIBC_VER="1.0"
-D_VER="0.24"
-
-inherit eutils toolchain
-
-KEYWORDS="-* alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- ppc? ( >=${CATEGORY}/binutils-2.17 )
- ppc64? ( >=${CATEGORY}/binutils-2.17 )
- >=${CATEGORY}/binutils-2.15.94"
-
-src_prepare() {
- toolchain_src_prepare
-
- use vanilla && return 0
-
- # Fix cross-compiling
- epatch "${FILESDIR}"/4.1.0/gcc-4.1.0-cross-compile.patch
-
- epatch "${FILESDIR}"/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.2.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.2.4-r1.ebuild
deleted file mode 100644
index 10a790a9fa..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.2.4-r1.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.4"
-UCLIBC_VER="1.0"
-
-inherit toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm hppa ~ia64 ~m68k ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- ppc? ( >=${CATEGORY}/binutils-2.17 )
- ppc64? ( >=${CATEGORY}/binutils-2.17 )
- >=${CATEGORY}/binutils-2.15.94"
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.2.4-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.2.4-r2.ebuild
deleted file mode 100644
index bfa940b555..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.2.4-r2.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.5"
-UCLIBC_VER="1.0"
-
-inherit toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- ppc? ( >=${CATEGORY}/binutils-2.17 )
- ppc64? ( >=${CATEGORY}/binutils-2.17 )
- >=${CATEGORY}/binutils-2.15.94"
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.3.6-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.3.6-r1.ebuild
deleted file mode 100644
index d483c32ec9..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.3.6-r1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.2"
-UCLIBC_VER="1.0"
-
-inherit toolchain
-
-KEYWORDS="alpha amd64 arm -hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- ppc? ( >=${CATEGORY}/binutils-2.17 )
- ppc64? ( >=${CATEGORY}/binutils-2.17 )
- >=${CATEGORY}/binutils-2.15.94"
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_prepare() {
- toolchain_src_prepare
-
- use vanilla && return 0
-
- sed -i 's/use_fixproto=yes/:/' gcc/config.gcc #PR33200
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.3.6-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.3.6-r2.ebuild
deleted file mode 100644
index a36e3d8c07..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.3.6-r2.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.3"
-UCLIBC_VER="1.0"
-
-inherit toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm -hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- ppc? ( >=${CATEGORY}/binutils-2.17 )
- ppc64? ( >=${CATEGORY}/binutils-2.17 )
- >=${CATEGORY}/binutils-2.15.94"
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_prepare() {
- toolchain_src_prepare
-
- use vanilla && return 0
-
- sed -i 's/use_fixproto=yes/:/' gcc/config.gcc #PR33200
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.4.7-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.4.7-r1.ebuild
deleted file mode 100644
index e5a866188a..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.4.7-r1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.4"
-UCLIBC_VER="1.0"
-
-inherit eutils toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.8 )
- ppc? ( >=${CATEGORY}/binutils-2.17 )
- ppc64? ( >=${CATEGORY}/binutils-2.17 )
- >=${CATEGORY}/binutils-2.15.94"
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_prepare() {
- toolchain_src_prepare
- use vanilla && return 0
-
- sed -i 's/use_fixproto=yes/:/' gcc/config.gcc #PR33200
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.4.7.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.4.7.ebuild
deleted file mode 100644
index 694e5426d2..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.4.7.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.3"
-UCLIBC_VER="1.0"
-
-inherit eutils toolchain
-
-KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.8 )
- ppc? ( >=${CATEGORY}/binutils-2.17 )
- ppc64? ( >=${CATEGORY}/binutils-2.17 )
- >=${CATEGORY}/binutils-2.15.94"
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_prepare() {
- toolchain_src_prepare
- use vanilla && return 0
-
- sed -i 's/use_fixproto=yes/:/' gcc/config.gcc #PR33200
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.5.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.5.4-r1.ebuild
deleted file mode 100644
index dd4aece7eb..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.5.4-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.4"
-UCLIBC_VER="1.0"
-
-inherit eutils toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.8 )
- ppc? ( >=${CATEGORY}/binutils-2.17 )
- ppc64? ( >=${CATEGORY}/binutils-2.17 )
- >=${CATEGORY}/binutils-2.15.94"
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_prepare() {
- toolchain_src_prepare
-
- use vanilla && return 0
-
- sed -i 's/use_fixproto=yes/:/' gcc/config.gcc #PR33200
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.5.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.5.4.ebuild
deleted file mode 100644
index f013c619a9..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.5.4.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.3"
-UCLIBC_VER="1.0"
-
-inherit eutils toolchain
-
-KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.8 )
- ppc? ( >=${CATEGORY}/binutils-2.17 )
- ppc64? ( >=${CATEGORY}/binutils-2.17 )
- >=${CATEGORY}/binutils-2.15.94"
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_prepare() {
- toolchain_src_prepare
-
- use vanilla && return 0
-
- sed -i 's/use_fixproto=yes/:/' gcc/config.gcc #PR33200
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.6.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.6.4-r1.ebuild
deleted file mode 100644
index 02228a48f0..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.6.4-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.4"
-UCLIBC_VER="1.0"
-
-inherit eutils toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.8 )
- >=${CATEGORY}/binutils-2.18"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_prepare() {
- if has_version '=glibc-2.12 #362315"
- EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
- fi
-
- toolchain_src_prepare
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.6.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.6.4.ebuild
deleted file mode 100644
index a3b35cd898..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.6.4.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.3"
-UCLIBC_VER="1.0"
-
-inherit eutils toolchain
-
-KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.8 )
- >=${CATEGORY}/binutils-2.18"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_prepare() {
- if has_version '=glibc-2.12 #362315"
- EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
- fi
-
- toolchain_src_prepare
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.7.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.7.4-r1.ebuild
deleted file mode 100644
index 64bbec9fd4..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.7.4-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.4"
-UCLIBC_VER="1.0"
-
-# Hardened gcc 4 stuff
-PIE_VER="0.5.5"
-SPECS_VER="0.2.0"
-SPECS_GCC_VER="4.4.3"
-# arch/libc configurations known to be stable with {PIE,SSP}-by-default
-PIE_GLIBC_STABLE="x86 amd64 ppc ppc64 arm ia64"
-PIE_UCLIBC_STABLE="x86 arm amd64 ppc ppc64"
-SSP_STABLE="amd64 x86 ppc ppc64 arm"
-# uclibc need tls and nptl support for SSP support
-# uclibc need to be >= 0.9.33
-SSP_UCLIBC_STABLE="x86 amd64 ppc ppc64 arm"
-#end Hardened stuff
-
-inherit eutils toolchain
-
-KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 -amd64-fbsd -x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.8 )
- >=${CATEGORY}/binutils-2.18"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_prepare() {
- if has_version '=glibc-2.12 #362315"
- EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
- fi
-
- toolchain_src_prepare
-
- use vanilla && return 0
-
- [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env.patch
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.7.4-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.7.4-r2.ebuild
deleted file mode 100644
index 6367a6297c..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.7.4-r2.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.5"
-UCLIBC_VER="1.0"
-
-# Hardened gcc 4 stuff
-PIE_VER="0.5.5"
-SPECS_VER="0.2.0"
-SPECS_GCC_VER="4.4.3"
-# arch/libc configurations known to be stable with {PIE,SSP}-by-default
-PIE_GLIBC_STABLE="x86 amd64 ppc ppc64 arm ia64"
-PIE_UCLIBC_STABLE="x86 arm amd64 ppc ppc64"
-SSP_STABLE="amd64 x86 ppc ppc64 arm"
-# uclibc need tls and nptl support for SSP support
-# uclibc need to be >= 0.9.33
-SSP_UCLIBC_STABLE="x86 amd64 ppc ppc64 arm"
-#end Hardened stuff
-
-inherit eutils toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 -amd64-fbsd -x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.8 )
- >=${CATEGORY}/binutils-2.18"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_prepare() {
- if has_version '=glibc-2.12 #362315"
- EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
- fi
-
- toolchain_src_prepare
-
- use vanilla && return 0
-
- [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env.patch
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.8.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.8.5-r1.ebuild
deleted file mode 100644
index 547dea86f3..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.8.5-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.3"
-UCLIBC_VER="1.0"
-
-# Hardened gcc 4 stuff
-PIE_VER="0.6.2"
-SPECS_VER="0.2.0"
-SPECS_GCC_VER="4.4.3"
-# arch/libc configurations known to be stable with {PIE,SSP}-by-default
-PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
-PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
-SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
-# uclibc need tls and nptl support for SSP support
-# uclibc need to be >= 0.9.33
-SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
-#end Hardened stuff
-
-inherit eutils toolchain
-
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.8 )
- >=${CATEGORY}/binutils-2.20"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_prepare() {
- if has_version '=glibc-2.12 #362315"
- EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
- fi
-
- toolchain_src_prepare
-
- use vanilla && return 0
- #Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
- [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.8.5-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.8.5-r2.ebuild
deleted file mode 100644
index 4fa56956b9..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.8.5-r2.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.4"
-UCLIBC_VER="1.0"
-
-# Hardened gcc 4 stuff
-PIE_VER="0.6.2"
-SPECS_VER="0.2.0"
-SPECS_GCC_VER="4.4.3"
-# arch/libc configurations known to be stable with {PIE,SSP}-by-default
-PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
-PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
-SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
-# uclibc need tls and nptl support for SSP support
-# uclibc need to be >= 0.9.33
-SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
-#end Hardened stuff
-
-inherit eutils toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.8 )
- >=${CATEGORY}/binutils-2.20"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_prepare() {
- if has_version '=glibc-2.12 #362315"
- EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
- fi
-
- toolchain_src_prepare
-
- use vanilla && return 0
- #Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
- [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.9.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.9.4.ebuild
deleted file mode 100644
index b5030ce317..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-4.9.4.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.3"
-UCLIBC_VER="1.0"
-
-# Hardened gcc 4 stuff
-PIE_VER="0.6.4"
-SPECS_VER="0.2.0"
-SPECS_GCC_VER="4.4.3"
-# arch/libc configurations known to be stable with {PIE,SSP}-by-default
-PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
-PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
-SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
-# uclibc need tls and nptl support for SSP support
-# uclibc need to be >= 0.9.33
-SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
-#end Hardened stuff
-
-inherit eutils toolchain
-
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.8 )
- >=${CATEGORY}/binutils-2.20"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_prepare() {
- if has_version '=glibc-2.12 #362315"
- EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
- fi
-
- # Bug 638056
- epatch "${FILESDIR}/${P}-bootstrap.patch"
-
- toolchain_src_prepare
-
- use vanilla && return 0
- # Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
- [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-5.4.0-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-5.4.0-r4.ebuild
deleted file mode 100644
index 181c11eabb..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-5.4.0-r4.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.9"
-UCLIBC_VER="1.0"
-
-# Hardened gcc 4 stuff
-PIE_VER="0.6.5"
-SPECS_VER="0.2.0"
-SPECS_GCC_VER="4.4.3"
-# arch/libc configurations known to be stable with {PIE,SSP}-by-default
-PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
-PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
-SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
-# uclibc need tls and nptl support for SSP support
-# uclibc need to be >= 0.9.33
-SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
-#end Hardened stuff
-
-inherit toolchain
-
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.8 )
- >=${CATEGORY}/binutils-2.20"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_prepare() {
- if has_version '=glibc-2.12 #362315"
- EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
- fi
- is_crosscompile && EPATCH_EXCLUDE+=" 05_all_gcc-spec-env.patch"
-
- toolchain_src_prepare
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-5.4.0-r6.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-5.4.0-r6.ebuild
deleted file mode 100644
index 1c5a20716c..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-5.4.0-r6.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.11"
-UCLIBC_VER="1.0"
-
-# Hardened gcc 4 stuff
-PIE_VER="0.6.5"
-SPECS_VER="0.2.0"
-SPECS_GCC_VER="4.4.3"
-# arch/libc configurations known to be stable with {PIE,SSP}-by-default
-PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
-PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
-SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
-# uclibc need tls and nptl support for SSP support
-# uclibc need to be >= 0.9.33
-SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
-#end Hardened stuff
-
-inherit toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.8 )
- >=${CATEGORY}/binutils-2.20"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_prepare() {
- if has_version '=glibc-2.12 #362315"
- EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
- fi
- is_crosscompile && EPATCH_EXCLUDE+=" 05_all_gcc-spec-env.patch"
-
- toolchain_src_prepare
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-5.5.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-5.5.0.ebuild
deleted file mode 100644
index ac8d9c9e40..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-5.5.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.0"
-UCLIBC_VER="1.0"
-
-# Hardened gcc 4 stuff
-PIE_VER="0.6.5"
-SPECS_VER="0.2.0"
-SPECS_GCC_VER="4.4.3"
-# arch/libc configurations known to be stable with {PIE,SSP}-by-default
-PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
-PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
-SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
-# uclibc need tls and nptl support for SSP support
-# uclibc need to be >= 0.9.33
-SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
-#end Hardened stuff
-
-inherit toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.8 )
- >=${CATEGORY}/binutils-2.20"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_prepare() {
- if has_version '=glibc-2.12 #362315"
- EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
- fi
- is_crosscompile && EPATCH_EXCLUDE+=" 05_all_gcc-spec-env.patch"
-
- toolchain_src_prepare
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-6.4.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-6.4.0-r1.ebuild
deleted file mode 100644
index 927fe13ced..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-6.4.0-r1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.3"
-UCLIBC_VER="1.0"
-
-inherit toolchain
-
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.13 )
- >=${CATEGORY}/binutils-2.20"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
-fi
-
-src_prepare() {
- toolchain_src_prepare
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-6.4.0-r5.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-6.4.0-r5.ebuild
deleted file mode 100644
index 8f8f11741c..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-6.4.0-r5.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.8"
-UCLIBC_VER="1.0"
-
-inherit toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.13 )
- >=${CATEGORY}/binutils-2.20"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
-fi
-
-src_prepare() {
- toolchain_src_prepare
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-6.5.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-6.5.0.ebuild
deleted file mode 100644
index bd5868c268..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-6.5.0.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1"
-
-inherit toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.13 )
- >=${CATEGORY}/binutils-2.20"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
-fi
-
-src_prepare() {
- toolchain_src_prepare
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-7.3.0-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-7.3.0-r3.ebuild
deleted file mode 100644
index 0cb2bde8a3..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-7.3.0-r3.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.4"
-#UCLIBC_VER="1.0"
-
-inherit toolchain
-
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.13 )
- >=${CATEGORY}/binutils-2.20"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
-fi
-
-src_prepare() {
- toolchain_src_prepare
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-7.3.0-r6.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-7.3.0-r6.ebuild
deleted file mode 100644
index 9a748f4aa6..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-7.3.0-r6.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.8"
-#UCLIBC_VER="1.0"
-
-inherit toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.13 )
- >=${CATEGORY}/binutils-2.20"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
-fi
-
-src_prepare() {
- toolchain_src_prepare
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-7.4.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-7.4.0-r1.ebuild
deleted file mode 100644
index 76bd028c8f..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-7.4.0-r1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.2"
-
-inherit toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.13 )
- >=${CATEGORY}/binutils-2.20"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
-fi
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-7.4.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-7.4.0.ebuild
deleted file mode 100644
index e9b60cebbd..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-7.4.0.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.1"
-
-inherit toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.13 )
- >=${CATEGORY}/binutils-2.20"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
-fi
-
-src_prepare() {
- toolchain_src_prepare
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.2.0-r5.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.2.0-r5.ebuild
deleted file mode 100644
index 602acddf56..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.2.0-r5.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.6"
-#UCLIBC_VER="1.0"
-
-inherit toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.13 )
- >=${CATEGORY}/binutils-2.20"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
-fi
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.2.0-r6.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.2.0-r6.ebuild
deleted file mode 100644
index 08707ae05a..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.2.0-r6.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.7"
-#UCLIBC_VER="1.0"
-
-inherit toolchain
-
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.13 )
- >=${CATEGORY}/binutils-2.20"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
-fi
-
-src_prepare() {
- toolchain_src_prepare
- epatch "${FILESDIR}"/gcc-8.3.0-ia64-bootstrap.patch
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.3.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.3.0.ebuild
deleted file mode 100644
index e7fa7284e8..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.3.0.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PATCH_VER="1.0"
-
-inherit toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.13 )
- >=${CATEGORY}/binutils-2.20"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
-fi
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-9.1.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-9.3.0-r1.ebuild
similarity index 64%
rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-9.1.0.ebuild
rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-9.3.0-r1.ebuild
index fd3f2fb8c7..32f000a254 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-9.1.0.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-9.3.0-r1.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
-PATCH_VER="1.0"
+PATCH_VER="3"
inherit toolchain
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86"
RDEPEND=""
DEPEND="${RDEPEND}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/libtool/libtool-2.4.6-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/libtool/libtool-2.4.6-r3.ebuild
deleted file mode 100644
index 142f81d011..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/libtool/libtool-2.4.6-r3.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-LIBTOOLIZE="true" #225559
-WANT_LIBTOOL="none"
-inherit autotools epatch epunt-cxx multilib unpacker
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
- http://git.savannah.gnu.org/r/${PN}.git"
- inherit git-r3
-else
- SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
- KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-fi
-
-DESCRIPTION="A shared library tool for developers"
-HOMEPAGE="https://www.gnu.org/software/libtool/"
-
-LICENSE="GPL-2"
-SLOT="2"
-IUSE="vanilla"
-
-# Pull in libltdl directly until we convert packages to the new dep.
-RDEPEND="sys-devel/gnuconfig
- >=sys-devel/autoconf-2.69
- >=sys-devel/automake-1.13
- dev-libs/libltdl:0
- !/dev/null
- AT_NOELIBTOOLIZE=yes eautoreconf
- popd >/dev/null
- AT_NOELIBTOOLIZE=yes eautoreconf
- epunt_cxx
-
- # Make sure timestamps don't trigger a rebuild of man pages. #556512
- if [[ ${PV} != "9999" ]] ; then
- touch doc/*.1
- export HELP2MAN=false
- fi
-}
-
-src_configure() {
- # the libtool script uses bash code in it and at configure time, tries
- # to find a bash shell. if /bin/sh is bash, it uses that. this can
- # cause problems for people who switch /bin/sh on the fly to other
- # shells, so just force libtool to use /bin/bash all the time.
- export CONFIG_SHELL=/bin/bash
-
- # Do not bother hardcoding the full path to sed. Just rely on $PATH. #574550
- export ac_cv_path_SED=$(basename "$(type -P sed)")
-
- ECONF_SOURCE=${S} econf --disable-ltdl-install
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- default
-
- local x
- while read -d $'\0' -r x ; do
- ln -sf "${EPREFIX}"/usr/share/gnuconfig/${x##*/} "${x}" || die
- done < <(find "${ED}" '(' -name config.guess -o -name config.sub ')' -print0)
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/libtool/libtool-2.4.6-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/libtool/libtool-2.4.6-r4.ebuild
deleted file mode 100644
index d571f421d7..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-devel/libtool/libtool-2.4.6-r4.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-LIBTOOLIZE="true" #225559
-WANT_LIBTOOL="none"
-inherit autotools epatch epunt-cxx multilib unpacker prefix
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
- http://git.savannah.gnu.org/r/${PN}.git"
- inherit git-r3
-else
- SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-fi
-
-DESCRIPTION="A shared library tool for developers"
-HOMEPAGE="https://www.gnu.org/software/libtool/"
-
-LICENSE="GPL-2"
-SLOT="2"
-IUSE="vanilla"
-
-# Pull in libltdl directly until we convert packages to the new dep.
-RDEPEND="sys-devel/gnuconfig
- >=sys-devel/autoconf-2.69
- >=sys-devel/automake-1.13
- dev-libs/libltdl:0
- !/dev/null
- AT_NOELIBTOOLIZE=yes eautoreconf
- popd >/dev/null
- AT_NOELIBTOOLIZE=yes eautoreconf
- epunt_cxx
-
- # Make sure timestamps don't trigger a rebuild of man pages. #556512
- if [[ ${PV} != "9999" ]] ; then
- touch doc/*.1
- export HELP2MAN=false
- fi
-}
-
-src_configure() {
- # the libtool script uses bash code in it and at configure time, tries
- # to find a bash shell. if /bin/sh is bash, it uses that. this can
- # cause problems for people who switch /bin/sh on the fly to other
- # shells, so just force libtool to use /bin/bash all the time.
- export CONFIG_SHELL=$(type -P bash)
-
- # Do not bother hardcoding the full path to sed. Just rely on $PATH. #574550
- export ac_cv_path_SED=$(basename "$(type -P sed)")
-
- local myconf
- [[ ${CHOST} == *-darwin* ]] && myconf="--program-prefix=g"
- ECONF_SOURCE=${S} econf ${myconf} --disable-ltdl-install
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- default
-
- local x
- while read -d $'\0' -r x ; do
- ln -sf "${EPREFIX}"/usr/share/gnuconfig/${x##*/} "${x}" || die
- done < <(find "${ED}" '(' -name config.guess -o -name config.sub ')' -print0)
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/libtool/libtool-2.4.6-r5.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/libtool/libtool-2.4.6-r6.ebuild
similarity index 59%
rename from sdk_container/src/third_party/portage-stable/sys-devel/libtool/libtool-2.4.6-r5.ebuild
rename to sdk_container/src/third_party/portage-stable/sys-devel/libtool/libtool-2.4.6-r6.ebuild
index 0146056fc9..f85bb35dda 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/libtool/libtool-2.4.6-r5.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/libtool/libtool-2.4.6-r6.ebuild
@@ -1,19 +1,18 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
LIBTOOLIZE="true" #225559
WANT_LIBTOOL="none"
-inherit autotools epatch epunt-cxx multilib unpacker prefix
+inherit autotools prefix
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
- http://git.savannah.gnu.org/r/${PN}.git"
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/libtool.git"
inherit git-r3
else
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
fi
DESCRIPTION="A shared library tool for developers"
@@ -24,48 +23,42 @@ SLOT="2"
IUSE="vanilla"
# Pull in libltdl directly until we convert packages to the new dep.
-RDEPEND="sys-devel/gnuconfig
- >=sys-devel/autoconf-2.69
- >=sys-devel/automake-1.13
- dev-libs/libltdl:0
- !=sys-devel/autoconf-2.69:*
+ >=sys-devel/automake-1.13:*
+ dev-libs/libltdl:0"
+DEPEND="${RDEPEND}"
+[[ ${PV} == *9999 ]] && BDEPEND="sys-apps/help2man"
PATCHES=(
"${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch #109105
- "${FILESDIR}"/${P}-link-specs.patch
- "${FILESDIR}"/${P}-link-fsanitize.patch #573744
- "${FILESDIR}"/${P}-link-fuse-ld.patch
- "${FILESDIR}"/${P}-libtoolize-slow.patch
- "${FILESDIR}"/${P}-libtoolize-delay-help.patch
- "${FILESDIR}"/${P}-sed-quote-speedup.patch #542252
- "${FILESDIR}"/${P}-ppc64le.patch #581314
+ "${FILESDIR}"/${PN}-2.4.6-link-specs.patch
+ "${FILESDIR}"/${PN}-2.4.6-link-fsanitize.patch #573744
+ "${FILESDIR}"/${PN}-2.4.6-link-fuse-ld.patch
+ "${FILESDIR}"/${PN}-2.4.6-libtoolize-slow.patch
+ "${FILESDIR}"/${PN}-2.4.6-libtoolize-delay-help.patch
+ "${FILESDIR}"/${PN}-2.4.6-sed-quote-speedup.patch #542252
+ "${FILESDIR}"/${PN}-2.4.6-ppc64le.patch #581314
"${FILESDIR}"/${PN}-2.4.6-mint.patch
"${FILESDIR}"/${PN}-2.2.6a-darwin-module-bundle.patch
"${FILESDIR}"/${PN}-2.4.6-darwin-use-linux-version.patch
)
-src_unpack() {
- if [[ ${PV} == "9999" ]] ; then
- git-r3_src_unpack
- else
- unpacker_src_unpack
- fi
-}
-
src_prepare() {
- if [[ "${PV}" = 9999 ]] ; then
- eapply "${FILESDIR}"/${P}-pthread.patch #650876
+ if [[ ${PV} == *9999 ]] ; then
+ eapply "${FILESDIR}"/${PN}-2.4.6-pthread.patch #650876
./bootstrap || die
else
PATCHES+=(
- "${FILESDIR}"/${P}-pthread_bootstrapped.patch #650876
+ "${FILESDIR}"/${PN}-2.4.6-pthread_bootstrapped.patch #650876
)
fi
+ # WARNING: File build-aux/ltmain.sh is read-only; trying to patch anyway
+ chmod +w build-aux/ltmain.sh || die
+
if use vanilla ; then
eapply_user
return 0
@@ -85,15 +78,14 @@ src_prepare() {
eprefixify m4/libtool.m4
fi
- pushd libltdl >/dev/null
+ pushd libltdl >/dev/null || die
AT_NOELIBTOOLIZE=yes eautoreconf
- popd >/dev/null
+ popd >/dev/null || die
AT_NOELIBTOOLIZE=yes eautoreconf
- epunt_cxx
# Make sure timestamps don't trigger a rebuild of man pages. #556512
- if [[ ${PV} != "9999" ]] ; then
- touch doc/*.1
+ if [[ ${PV} != *9999 ]] ; then
+ touch doc/*.1 || die
export HELP2MAN=false
fi
}
@@ -108,15 +100,10 @@ src_configure() {
# Do not bother hardcoding the full path to sed. Just rely on $PATH. #574550
export ac_cv_path_SED="$(basename "$(type -P sed)")"
- local myconf
- [[ ${CHOST} == *-darwin* ]] && myconf="--program-prefix=g"
+ [[ ${CHOST} == *-darwin* ]] && local myconf="--program-prefix=g"
ECONF_SOURCE=${S} econf ${myconf} --disable-ltdl-install
}
-src_test() {
- emake check
-}
-
src_install() {
default
diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/Manifest b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/Manifest
index a2efc83be2..8633f5065a 100644
--- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/Manifest
+++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/Manifest
@@ -21,3 +21,7 @@ DIST gentoo-headers-base-4.19.tar.xz 7956220 BLAKE2B 5b6868188b6cb505556b8f30797
DIST gentoo-headers-base-4.20.tar.xz 8041716 BLAKE2B 09e95aedfd4288fb27ad6c1e4f53992d205e9402efb315a8c764a2836ba856c7ec3f509d30c21e656e1ca9fdeb4530d807a10e0a74e3510c8e90aa82b222bafe SHA512 705c0cf3244039ef319002f17ea702fa91673eac6bb6a790c8451cad1f16951328e1ca1e3d26043708fcdc78bfaa1ff065322947e23b41c4acb9ed2b8acba427
DIST gentoo-headers-base-4.4.tar.xz 3911752 BLAKE2B 5031ecd48b99cb0c9c35ca935fa6a62cc36c076bab193ec397fc0d543170f29c6d5a0827a2ea5517eb68fc838819cbe3e5abd125bb920992492369d5e5c1e7cb SHA512 1cd3de58ff790c3730bea38138c7a45ef95d04288c69ffeabebb884fab3add13bd9c99785ddd87a3ee467a0e1b1cdc457bbd28da349e7c178b4d2374c5fb78a3
DIST gentoo-headers-base-4.9.tar.xz 4052748 BLAKE2B e279954c56170fbfa4ebae8dade731825b3d5f0cd5d73a5b33cd93a9c8f5fa140e14edf0d5ac26a452fe8a61b16fdcc851f5329f56e4c8dcf4472a995de44c4c SHA512 a03418cfba7fa4531279d9122411af3e285e962506e8df9279fbbb27ae08a4e30725bd1cf03f48ad523f61f2889195e6c844fa4c7b4ef2f828baf47ef402abfa
+DIST gentoo-headers-5.8-1.tar.xz 4304 BLAKE2B f4b1b1746def90903b504f5a8a485af0769bf7af90ddac68718c5041c0372785c05ab1c7e4c229c500a56f5835b41a505ffee3a4a07dd3093903a3e47ea6bcf0 SHA512 58d96e2dcce272e3b21f7e6f592f75916cb25b4aecd604a5d3aa45b1275ebe258022c3a00419814600dcadef8f289c343247a8cb8b2526b17baa56b9139b6fd4
+DIST linux-5.8.tar.xz 114459324 BLAKE2B 7bd97f8fa4527840754434414c07283e89731dc8ebb1e95fa5bc1469a60af1122582c0d3b6e262e77882f023190068df3537bd8b65964b3caa820bb2c8e579c7 SHA512 45a53ecf351096ef6e98242cca4228b8da9b9139ecc6963695791ea6fb7a9484a4e1c19dcca7ce7cbfdfa49de0451b70973bb078f12bdae9cbaddbc3f8092556
+DIST gentoo-headers-5.9-1.tar.xz 4304 BLAKE2B 5dda91dac529cf3afca220d0ec323f679eae00e850e127ca6fb7dd42313afe7d4e2b23860a5b58673c070456e1ebd6b0d48efd681a764eef1bab996de579fd11 SHA512 3522d25e4d13f703e69a7e8da1813b38c8977821363b56af1988d78c446087dea4c3499283a2fdef2dc000fde29b945abb821a01f53ac0ac6c2b551699b3b18c
+DIST linux-5.9.tar.xz 115507140 BLAKE2B e8d11472d63a9f8409ca12a2e8c97c6963a3d4516b5a398b627d6ece565584526f9b5a1377a2fa4bd184c09c7db94c987428bc5d52df0c788464a67e9e8d6dcb SHA512 d3d92ce4246bad74c9a784212f160d98449b1e8793970c2c308276568d852b8effe0528686bdb87d55d691f09a826abf7938d69bdd4759ce65ddd5c05ffe4eca
diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.8.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.8.ebuild
new file mode 100644
index 0000000000..b1804f8d21
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.8.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+ETYPE="headers"
+H_SUPPORTEDARCH="alpha amd64 arc arm arm64 avr32 cris frv hexagon hppa ia64 m32r m68k metag microblaze mips mn10300 nios2 openrisc ppc ppc64 riscv s390 score sh sparc x86 xtensa"
+inherit kernel-2 toolchain-funcs
+detect_version
+
+PATCH_PV=${PV} # to ease testing new versions against not existing patches
+PATCH_VER="1"
+SRC_URI="${KERNEL_URI}
+ ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PATCH_PV}-${PATCH_VER}.tar.xz}
+ ${PATCH_VER:+https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-${PATCH_PV}-${PATCH_VER}.tar.xz}
+"
+
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 amd64-linux ~x86-linux"
+
+DEPEND="app-arch/xz-utils
+ dev-lang/perl"
+RDEPEND=""
+
+S=${WORKDIR}/linux-${PV}
+
+src_unpack() {
+ unpack ${A}
+}
+
+src_prepare() {
+ [[ -n ${PATCH_VER} ]] && eapply "${WORKDIR}"/${PATCH_PV}/*.patch
+
+ default
+}
+
+src_install() {
+ kernel-2_src_install
+
+ # hrm, build system sucks
+ find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
+ find "${ED}" -depth -type d -delete 2>/dev/null
+}
+
+src_test() {
+ emake headers_check ${xmakeopts}
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.9.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.9.ebuild
new file mode 100644
index 0000000000..3c7e3cd2bc
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.9.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+ETYPE="headers"
+H_SUPPORTEDARCH="alpha amd64 arc arm arm64 avr32 cris frv hexagon hppa ia64 m32r m68k metag microblaze mips mn10300 nios2 openrisc ppc ppc64 riscv s390 score sh sparc x86 xtensa"
+inherit kernel-2 toolchain-funcs
+detect_version
+
+PATCH_PV=${PV} # to ease testing new versions against not existing patches
+PATCH_VER="1"
+SRC_URI="${KERNEL_URI}
+ ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PATCH_PV}-${PATCH_VER}.tar.xz}
+ ${PATCH_VER:+https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-${PATCH_PV}-${PATCH_VER}.tar.xz}
+"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="app-arch/xz-utils
+ dev-lang/perl"
+RDEPEND=""
+
+S=${WORKDIR}/linux-${PV}
+
+src_unpack() {
+ unpack ${A}
+}
+
+src_prepare() {
+ [[ -n ${PATCH_VER} ]] && eapply "${WORKDIR}"/${PATCH_PV}/*.patch
+
+ default
+}
+
+src_install() {
+ kernel-2_src_install
+
+ # hrm, build system sucks
+ find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
+ find "${ED}" -depth -type d -delete 2>/dev/null
+}
+
+src_test() {
+ emake headers_check ${xmakeopts}
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/Manifest
index 4af46adc27..c5b17227ab 100644
--- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/Manifest
+++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/Manifest
@@ -12,3 +12,5 @@ DIST binutils-2.31.1-patches-7.tar.xz 76828 BLAKE2B 354e7c3aa76c0cfe8fc6bb419a5b
DIST binutils-2.31.1.tar.xz 20467996 BLAKE2B 6b914df1fbb7cf54f2159f71b2c2b09f3f6a569b7a3cb4cf9790d0a3733a7548bc0ea32334a178ed3b56e8b97656ae99c7abaf212601beeaeae9a0884c0f6051 SHA512 0fca326feb1d5f5fe505a827b20237fe3ec9c13eaf7ec7e35847fd71184f605ba1cefe1314b1b8f8a29c0aa9d88162849ee1c1a3e70c2f7407d88339b17edb30
DIST binutils-2.32-patches-2.tar.xz 145672 BLAKE2B 8218e621f99cb4bcd1638c3011449b94480d207eaeb79cf75c0072e0f1a86bfd1603fc4515bc40d3ac1921a18b9a211b20568f59b11b13eb44e6cff1329c5af9 SHA512 55c25a603f6175af3ade6848e5c1faba06a147d72e9a4f53d44502d97db76499485a67b278a654d18884714a7bf7b360c77c9e42dba3cdc188f805bfe461f09f
DIST binutils-2.32.tar.xz 20774880 BLAKE2B d1bdbd9c8487c091665c197974ce4bdf520b7a67ed6997a81b87e6a0af9514a091458244f583acec5ae580ac2ee5e908f67f483b8e5263cd18ced794cb235da6 SHA512 d326408f12a03d9a61a9de56584c2af12f81c2e50d2d7e835d51565df8314df01575724afa1e43bd0db45cfc9916b41519b67dfce03232aa4978704492a6994a
+DIST binutils-2.35-patches-1.tar.xz 12216 BLAKE2B a811449da684e3501a7520a26639e04dda2f2d2fc8610974293eff3e4a1e23c4abeb97f52fe3b796679452bd6e3a5330fef4beb6f64b9ce2a1162076803390a0 SHA512 b8da16a4d97b264da925cc939b54bedbc148eb72a8d60f79d7ed222e9e299dca2a4f1fad4a6d60448d9d196c11331443eca0508dcbb85cb4c2da6c67bfaf4cd2
+DIST binutils-2.35.tar.xz 22042160 BLAKE2B 72ea79edf3a77aa93dcf38274123abbae5ce8f800a95e6379b4c8807050b05c2dfec314f06c027b1343c5570f369324fa3e195d7e0db5f8a57c0579937c49d3f SHA512 9f222e4ab6720036402d03904fb11b73ab87714b85cd84997f7d357f405c7e10581d70202f9165a1ee0c70538632db27ecc9dfe627dddb1e6bc7edb1537cf786
diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.35.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.35.ebuild
new file mode 100644
index 0000000000..1db72b8211
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.35.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PATCH_VER=1
+PATCH_DEV=dilfridge
+
+inherit eutils libtool toolchain-funcs multilib-minimal
+
+MY_PN="binutils"
+MY_P="${MY_PN}-${PV}"
+PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
+PATCH_DEV=${PATCH_DEV:-slyfox}
+
+DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages"
+HOMEPAGE="https://sourceware.org/binutils/"
+SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz
+ https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
+
+LICENSE="|| ( GPL-3 LGPL-3 )"
+SLOT="0/${PV}"
+IUSE="64-bit-bfd multitarget nls static-libs"
+#KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+BDEPEND="nls? ( sys-devel/gettext )"
+DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]"
+# Need a newer binutils-config that'll reset include/lib symlinks for us.
+RDEPEND="${DEPEND}
+ >=sys-devel/binutils-config-5
+"
+
+S="${WORKDIR}/${MY_P}"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/bfd.h
+)
+
+src_prepare() {
+ if [[ ! -z ${PATCH_VER} ]] ; then
+ einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}"
+ eapply "${WORKDIR}/patch"/*.patch
+ fi
+
+ # Fix cross-compile relinking issue, bug #626402
+ elibtoolize
+
+ default
+}
+
+pkgversion() {
+ printf "Gentoo ${PVR}"
+ [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}"
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --enable-obsolete
+ --enable-shared
+ --enable-threads
+ # Newer versions (>=2.24) make this an explicit option. #497268
+ --enable-install-libiberty
+ --disable-werror
+ --with-bugurl="https://bugs.gentoo.org/"
+ --with-pkgversion="$(pkgversion)"
+ $(use_enable static-libs static)
+ # The binutils eclass enables this flag for all bi-arch builds,
+ # but other tools often don't care about that support. Put it
+ # beyond a flag if people really want it, but otherwise leave
+ # it disabled as it can slow things down on 32bit arches. #438522
+ $(use_enable 64-bit-bfd)
+ # This only disables building in the zlib subdir.
+ # For binutils itself, it'll use the system version. #591516
+ --without-zlib
+ --with-system-zlib
+ # We only care about the libs, so disable programs. #528088
+ --disable-{binutils,etc,ld,gas,gold,gprof}
+ # Disable modules that are in a combined binutils/gdb tree. #490566
+ --disable-{gdb,libdecnumber,readline,sim}
+ # Strip out broken static link flags.
+ # https://gcc.gnu.org/PR56750
+ --without-stage1-ldflags
+ # We pull in all USE-flags that change ABI in an incompatible
+ # way. #666100
+ # USE=multitarget change size of global arrays
+ # USE=64-bit-bfd changes data structures of exported API
+ --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def)
+ )
+
+ # mips can't do hash-style=gnu ...
+ if [[ $(tc-arch) != mips ]] ; then
+ myconf+=( --enable-default-hash-style=gnu )
+ fi
+
+ use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd )
+
+ use nls \
+ && myconf+=( --without-included-gettext ) \
+ || myconf+=( --disable-nls )
+
+ ECONF_SOURCE=${S} \
+ econf "${myconf[@]}"
+
+ # Prevent makeinfo from running as we don't build docs here.
+ # bug #622652
+ sed -i \
+ -e '/^MAKEINFO/s:=.*:= true:' \
+ Makefile || die
+}
+
+multilib_src_install() {
+ default
+ # Provide libiberty.h directly.
+ dosym libiberty/libiberty.h /usr/include/libiberty.h
+}
+
+multilib_src_install_all() {
+ use static-libs || find "${ED}"/usr -name '*.la' -delete
+}