diff --git a/changelog/updates/2024-07-16-weekly-updates.md b/changelog/updates/2024-07-16-weekly-updates.md
new file mode 100644
index 00000000000..bd821a10aa7
--- /dev/null
+++ b/changelog/updates/2024-07-16-weekly-updates.md
@@ -0,0 +1,8 @@
+- sqlite ([3.46.0](https://www.sqlite.org/releaselog/3_46_0.html))
+- bpftool ([6.9.2](https://kernelnewbies.org/Linux_6.9#Tracing.2C_perf_and_BPF))
+- ipset ([7.22](https://ipset.netfilter.org/changelog.html))
+- curl ([8.8.0](https://curl.se/changes.html#8_8_0))
+- sysext-python: setuptools([70.1.1](https://setuptools.pypa.io/en/stable/history.html#v70-1-1) (includes [70.1.0](https://setuptools.pypa.io/en/stable/history.html#v70-1-0), [70.0.0](https://setuptools.pypa.io/en/stable/history.html#v70-0-0), [69.5.1](https://setuptools.pypa.io/en/stable/history.html#v69-5-1), [69.5.0](https://setuptools.pypa.io/en/stable/history.html#v69-5-0), [69.4.2](https://setuptools.pypa.io/en/stable/history.html#v69-4-2), [69.4.1](https://setuptools.pypa.io/en/stable/history.html#v69-4-1), [69.4.0](https://setuptools.pypa.io/en/stable/history.html#v69-4-0), [69.3.1](https://setuptools.pypa.io/en/stable/history.html#v69-3-1), [69.3.0](https://setuptools.pypa.io/en/stable/history.html#v69-3-0), [69.2.0](https://setuptools.pypa.io/en/stable/history.html#v69-2-0)))
+- sysext-python: jaraco-text ([3.12.1](https://github.com/jaraco/jaraco.text/compare/v3.12.0...v3.12.1))
+- sysext-python: trove-classifiers ([2024.7.2](https://github.com/pypa/trove-classifiers/compare/2024.5.22...2024.7.2))
+- SDK: portage ([3.0.65](https://github.com/gentoo/portage/blob/f03998622e0960388e903de0d6d24bdf6881e567/NEWS#L9))
diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords
index 0ba06644872..f14da45757e 100644
--- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords
+++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords
@@ -94,12 +94,8 @@ dev-util/catalyst ~amd64 ~arm64
=net-libs/libnetfilter_cthelper-1.0.1-r1 ~arm64
=net-libs/libnetfilter_cttimeout-1.0.1 ~arm64
-# Required to address coreutils-2024-03-28
-=sys-apps/coreutils-9.5 ~amd64 ~arm64
-
# Keep versions on both arches in sync.
=sys-apps/kexec-tools-2.0.28 ~arm64
-=sys-apps/nvme-cli-2.9.1 ~arm64
sys-apps/zram-generator ~amd64 ~arm64
@@ -112,8 +108,5 @@ sys-apps/zram-generator ~amd64 ~arm64
# Keep versions on both arches in sync.
=sys-firmware/edk2-aarch64-18.02 **
-# Keep versions on both arches in sync.
-=sys-libs/libnvme-1.9 ~arm64
-
# Accept unstable host Rust compilers.
=virtual/rust-1.79.0 ~amd64 ~arm64
diff --git a/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.13.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.13-r1.ebuild
similarity index 93%
rename from sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.13.ebuild
rename to sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.13-r1.ebuild
index a864a1774f3..aec0278bdd8 100644
--- a/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.13.ebuild
+++ b/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.13-r1.ebuild
@@ -51,6 +51,10 @@ src_configure() {
# Avoid text relocation in gzip
use pic && export DEFS="NO_ASM"
+ # embeds the path to grep detected at build time into installed scripts;
+ # use the canonical USE="split-usr" agnostic path. bug #935721
+ export GREP="${EPREFIX}/bin/grep"
+
# bug #663928
econf --disable-gcc-warnings
}
diff --git a/sdk_container/src/third_party/portage-stable/app-arch/lbzip2/lbzip2-2.5_p20181227-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/lbzip2/lbzip2-2.5_p20181227-r2.ebuild
index b92a6e2fff2..5c21dd52804 100644
--- a/sdk_container/src/third_party/portage-stable/app-arch/lbzip2/lbzip2-2.5_p20181227-r2.ebuild
+++ b/sdk_container/src/third_party/portage-stable/app-arch/lbzip2/lbzip2-2.5_p20181227-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ inherit autotools flag-o-matic
DESCRIPTION="Parallel bzip2 utility"
HOMEPAGE="https://github.com/kjn/lbzip2/"
-SRC_URI="https://dev.gentoo.org/~whissi/dist/${PN}/${P}.tar.gz"
+SRC_URI="mirror://gentoo/05/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.43-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.43-r1.ebuild
index 7bd830a0449..8b7c10b78f8 100644
--- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.43-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.43-r1.ebuild
@@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl test tofu tools usb user-socket wks-server"
RESTRICT="!test? ( test )"
diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-1.23.2.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-1.23.2.ebuild
index 933a0672a75..4a1dffbc255 100644
--- a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-1.23.2.ebuild
+++ b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-1.23.2.ebuild
@@ -11,7 +11,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
# in-source builds are not supported:
diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/Manifest b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/Manifest
index 3d0f5457e97..cc830bd7a03 100644
--- a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/Manifest
+++ b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/Manifest
@@ -2,3 +2,5 @@ DIST pinentry-1.2.1.tar.bz2 547698 BLAKE2B aa47612aa3a6f74c3676bf4018780356cb22e
DIST pinentry-1.2.1.tar.bz2.sig 238 BLAKE2B 01ba3dc296a8e76c546d21d0bb0cd13778476d5d5b3ef55a3401c6a0353a56d79250d11555afb31c77c5a77e63847ded0f8eaef395bb0dc2ee3ff1d6a4ed83bd SHA512 d0e8435dc169a58f111f057f1c9fbb6c70da32a850f1107d6abdf41357c1714832728109ae61507db313d7eaef9596e5faf92fd21bed78adcc46a8c8a590430b
DIST pinentry-1.3.0.tar.bz2 610363 BLAKE2B a55b80754ef37d18ebdf0bd50e134a7b1bf6362b859b7069a9e4ebd86cd7e733d51f3c21a16779a18aa0d0dfab1f7a3df070d4f7e39e0840339078c4e9cb58bc SHA512 1bbac81c6811cffc8969a46494e6daa6b8447802f47ff6fa3e4dc9ac244cf6e5f629834c9b6a60770d06bff6c9932ad4059f10d2fdf93fd9e26fd5d21c0e3732
DIST pinentry-1.3.0.tar.bz2.sig 119 BLAKE2B 0f11126761b2a06f8b08cf971f5d610cacbde1a5ee419523a6e704ac21fef4cce26495a160a51bee5ed5f68eca7d6864dfa03efa48030ba2cf783e767b925e1c SHA512 77a61877adf241d67caeea3af4c12a2c7c13ddc423ac001fab79bcec463a5853d8806052d61504fae0c67e0a9d1edf6a12d24b560ff7b4083eea5e86f9b54a90
+DIST pinentry-1.3.1.tar.bz2 611233 BLAKE2B 47a510b3746fc8cdd83b56302132f4f4d9c61324fc857ce0867387f70f79490dad375bca4dc72e5d1cdca707bf89a16e1c9a20bf1aa0e857d69e59dc59403afd SHA512 3b72034dc1792b1475acb6d605ff7c1bd7647a0f02d1b6bdcd475acdef24bc802f49e275055436c3271261c4b7a64168477a698aab812a145962146b2f67a0e2
+DIST pinentry-1.3.1.tar.bz2.sig 119 BLAKE2B ca562d2903c88c4297e641ddc39f6cd99db3e3fd40cf5d69e7b4335f006c7717c874fa4b5e47920af3ec97385a96c0c96aafb849cf399d11a7f9f1a6b693f479 SHA512 22bd94f74486300eb84c1c9c371a43b05fb6179118518004fba0d42b6d3e6731f94d79b37c2a3a6b0c5886578c4575f75d2460accd36cd4874342e7239521be9
diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.1.ebuild
new file mode 100644
index 00000000000..be893ab7c6b
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.1.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+inherit autotools qmake-utils verify-sig
+
+DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol"
+HOMEPAGE="https://gnupg.org/related_software/pinentry/"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="caps efl emacs gtk keyring ncurses qt5 qt6 wayland X"
+
+DEPEND="
+ >=dev-libs/libassuan-2.1:=
+ >=dev-libs/libgcrypt-1.6.3
+ >=dev-libs/libgpg-error-1.17
+ efl? ( dev-libs/efl[X] )
+ keyring? ( app-crypt/libsecret )
+ ncurses? ( sys-libs/ncurses:= )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ wayland? ( kde-plasma/kwayland:5 )
+ X? (
+ dev-qt/qtx11extras:5
+ x11-libs/libX11
+ )
+ )
+ qt6? (
+ dev-qt/qtbase:6[gui,widgets]
+ wayland? (
+ kde-frameworks/kguiaddons:6
+ kde-frameworks/kwindowsystem:6
+ )
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ gtk? ( app-crypt/gcr:4[gtk] )
+"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-gnupg )
+"
+PDEPEND="emacs? ( app-emacs/pinentry )"
+IDEPEND=">=app-eselect/eselect-pinentry-0.7.4"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.0-AR.patch"
+ "${FILESDIR}/${PN}-1.3.0-automagic.patch" # bug #819939, bug #837719
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ unset FLTK_CONFIG
+
+ local myeconfargs=(
+ $(use_enable efl pinentry-efl)
+ $(use_enable emacs pinentry-emacs)
+ $(use_enable keyring libsecret)
+ $(use_enable gtk pinentry-gnome3)
+ $(use_enable ncurses fallback-curses)
+ $(use_enable ncurses pinentry-curses)
+ $(use_enable qt5 pinentry-qt5)
+ $(use_enable qt6 pinentry-qt)
+ # TODO: could split this up into qt5/qt6?
+ $(use_enable X qtx11extras)
+ $(use_with X x)
+
+ --enable-pinentry-tty
+ --disable-pinentry-fltk
+ --disable-pinentry-gtk2
+
+ ac_cv_path_GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config"
+
+ $("${S}/configure" --help | grep -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g')
+ )
+
+ if use qt5 ; then
+ export PATH="$(qt5_get_bindir):${PATH}"
+ export QTLIB="$(qt5_get_libdir):${QTLIB}"
+ export MOC5="$(qt5_get_bindir)"/moc
+
+ myeconfargs+=(
+ $(use_enable wayland kf5-wayland)
+ )
+ else
+ myeconfargs+=(
+ --disable-kf5-wayland
+ )
+ fi
+
+ if use qt6 ; then
+ export PATH="$(qt6_get_bindir):${PATH}"
+ export QTLIB="$(qt6_get_libdir):${QTLIB}"
+ export MOC="$(qt6_get_libdir)/qt6/libexec/moc"
+
+ myeconfargs+=(
+ $(use_enable wayland kf6-wayland)
+ )
+ else
+ myeconfargs+=(
+ --disable-kf6-wayland
+ )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ rm "${ED}"/usr/bin/pinentry || die
+
+ # The preferred Qt implementation upstream gets installed as just 'qt'.
+ # Make a symlink for eselect-pinentry and friends.
+ if use qt6 ; then
+ dosym pinentry-qt /usr/bin/pinentry-qt6
+ fi
+}
+
+pkg_postinst() {
+ eselect pinentry update ifunset
+}
+
+pkg_postrm() {
+ eselect pinentry update ifunset
+}
diff --git a/sdk_container/src/third_party/portage-stable/app-editors/nano/Manifest b/sdk_container/src/third_party/portage-stable/app-editors/nano/Manifest
index 85592ebc6a8..fc108864338 100644
--- a/sdk_container/src/third_party/portage-stable/app-editors/nano/Manifest
+++ b/sdk_container/src/third_party/portage-stable/app-editors/nano/Manifest
@@ -1,2 +1,3 @@
DIST nano-7.2.tar.xz 1608444 BLAKE2B c7e3b18383e9f2f9db1f6059c875ddd164d730ea0e5b363e66fb8e5f30e8598ba49a5afd8eea3a55e295f1e43fb136019f60cc9154ae276c5d589002c0e5298a SHA512 a6dfa70edab62e439a9a998ca214f2415d57dbdc01766ad2e4b14048836557a32755f8b09de13c6a89023f215b61d2854017b389eae8d097ca6f3ba73ce2f583
DIST nano-8.0.tar.xz 1666272 BLAKE2B ba36182da059a3ee4c1fc60a200dee26f47cc6b1441b7ff665b82871f2f8fcac054f6adf82966d353234141bf9c521518da8fa967aca28307bccf43e015ddaea SHA512 86c484428b8805768fd580d0f62aa32ce8f588f4beedcdd35a4014506b562928c7a2fa6487aa0d853b4c9c1639a4d186f46b4e96721568ff81191d5098403ca8
+DIST nano-8.1.tar.xz 1667392 BLAKE2B e454f6e5ef86afbab3b2cf6707954d8821bf47ebc89bdad8cc6c70e2d4bb9fac27614069140f40140bca156b14605d286b0dca42469901c6559051089645cab8 SHA512 cb7d696bd18322ba1e713282e3156934e2c7f2a8abc17c99b2d5ae91fa40ea1478758853d4ad391f72039f01cfe0db79fd7302f3e67ed2afeff3a447b6f975ec
diff --git a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.0.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.0.ebuild
index e220a0fdd25..28ab34a0731 100644
--- a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.0.ebuild
+++ b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.0.ebuild
@@ -9,7 +9,7 @@ if [[ ${PV} == 9999 ]] ; then
else
MY_P="${PN}-${PV/_}"
SRC_URI="https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
DESCRIPTION="GNU GPL'd Pico clone with more functionality"
diff --git a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.1.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.1.ebuild
new file mode 100644
index 00000000000..426c8767215
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.1.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/nano.git"
+ inherit autotools git-r3
+else
+ MY_P="${PN}-${PV/_}"
+ SRC_URI="https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="https://www.nano-editor.org/ https://wiki.gentoo.org/wiki/Nano/Guide"
+
+LICENSE="GPL-3+ LGPL-2.1+ || ( GPL-3+ FDL-1.2+ )"
+SLOT="0"
+IUSE="debug justify magic minimal ncurses nls +spell unicode"
+
+RDEPEND="
+ >=sys-libs/ncurses-5.9-r1:=[unicode(+)?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig
+"
+
+REQUIRED_USE="
+ magic? ( !minimal )
+"
+
+# gnulib FPs
+QA_CONFIG_IMPL_DECL_SKIP=( unreachable MIN static_assert )
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ local myconfargs=(
+ --bindir="${EPREFIX}"/bin
+ --htmldir=/trash
+ $(use_enable !minimal color)
+ $(use_enable !minimal multibuffer)
+ $(use_enable !minimal nanorc)
+ $(use_enable magic libmagic)
+ $(use_enable spell speller)
+ $(use_enable justify)
+ $(use_enable debug)
+ $(use_enable nls)
+ $(use_enable unicode utf8)
+ $(use_enable minimal tiny)
+ )
+
+ econf "${myconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ # Don't use "${ED}" here or things break (#654534)
+ rm -r "${D}"/trash || die
+
+ dodoc doc/sample.nanorc
+ docinto html
+ dodoc doc/faq.html
+ insinto /etc
+ newins doc/sample.nanorc nanorc
+
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED}"/etc/nanorc || die
+
+ # Since nano-5.0 these are no longer being "enabled" by default
+ # (bug #736848)
+ local rcdir="/usr/share/nano"
+ mv "${ED}"${rcdir}/extra/* "${ED}"/${rcdir}/ || die
+ rmdir "${ED}"${rcdir}/extra || die
+
+ insinto "${rcdir}"
+ newins "${FILESDIR}/gentoo.nanorc-r1" gentoo.nanorc
+ fi
+}
+
+pkg_postrm() {
+ [[ -n ${REPLACED_BY_VERSION} ]] && return
+
+ local e
+ e=$(unset EDITOR; . "${EROOT}"/etc/profile &>/dev/null; echo "${EDITOR}")
+ if [[ ${e##*/} == nano ]]; then
+ ewarn "The EDITOR variable is still set to ${e}."
+ ewarn "You can update it with \"eselect editor\"."
+ fi
+}
diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/metadata.xml b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/metadata.xml
index 8995a724003..98b9302d34d 100644
--- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/metadata.xml
+++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/metadata.xml
@@ -9,10 +9,6 @@
sam@gentoo.org
Sam James
-
- tamiko@gentoo.org
- Matthias Maier
-
virtualization@gentoo.org
Gentoo Virtualization Project
diff --git a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240512.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240512.ebuild
index e4f296996a8..1c8e8632cc8 100644
--- a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240512.ebuild
+++ b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240512.ebuild
@@ -19,7 +19,7 @@ else
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz
"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-linux ~ppc64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-linux ~ppc64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
LICENSE="GPL-2"
diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.7.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.7.ebuild
index d00878e10f0..a463fae5ad9 100644
--- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.7.ebuild
+++ b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.7.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
PYTHON_REQ_USE="xml(+),threads(+)"
inherit meson python-r1 tmpfiles
@@ -83,7 +83,8 @@ src_compile() {
}
src_test() {
- python_foreach_impl meson_src_test --no-rebuild --verbose
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ python_foreach_impl epytest
}
src_install() {
diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-9999.ebuild
index d00878e10f0..a463fae5ad9 100644
--- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
PYTHON_REQ_USE="xml(+),threads(+)"
inherit meson python-r1 tmpfiles
@@ -83,7 +83,8 @@ src_compile() {
}
src_test() {
- python_foreach_impl meson_src_test --no-rebuild --verbose
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ python_foreach_impl epytest
}
src_install() {
diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.14.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.14.0-r1.ebuild
index 7878ba323bf..8d7bbbab2d4 100644
--- a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.14.0-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.14.0-r1.ebuild
@@ -19,7 +19,7 @@ SRC_URI="
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="+eselect test"
RESTRICT="!test? ( test )"
diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-9999.ebuild
index 0cb1ec461db..ab48b5fd6c5 100644
--- a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit autotools git-r3 python-any-r1
@@ -56,26 +56,9 @@ strip_completions() {
# Now-dead symlinks to deprecated completions
hd ncal
-
- # FreeBSD
- freebsd-update kldload kldunload portinstall portsnap
- pkg_deinstall pkg_delete pkg_info
-
- # For GNU mailman, which isn't packaged. If mailman isn't installed,
- # it triggers a QA warning.
)
- if [[ ${CHOST} = *solaris* ]]; then
- # Triggers QA warning since it only defines a completion on Solaris,
- # to avoid defining a bad one on macOS.
- strip_completions+=(pkgutil)
- fi
-
- local file
- for file in "${strip_completions[@]}"; do
- rm "${ED}"/usr/share/bash-completion/completions/${file} ||
- die "stripping ${file} failed"
- done
+ rm -v "${strip_completions[@]/#/${ED}/usr/share/bash-completion/completions/}" || die
# remove deprecated completions (moved to other packages)
rm "${ED}"/usr/share/bash-completion/completions/_* || die
diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest b/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest
index 57d7042f95a..1e19b9b1bc1 100644
--- a/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest
+++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest
@@ -25,6 +25,9 @@ DIST bash-5.2.tar.gz 10950833 BLAKE2B 51b196e710794ebad8eac28c31c93eb99ac1a7db30
DIST bash-5.2.tar.gz.sig 95 BLAKE2B 2991b7c46ef1cdca08062f419be47fca7551f4c5d9aad8a5c1da74974f5e7707d23914b4cecf9b6c9610471146b2c49b611bb62a5d974f1c37cceb77b719851c SHA512 a161664f124f906be32709f66702f8f780e6d52e558ea45e71ec60a959c9435ff68477ee65a0a9f6c0051d5592f5044fb3b410cf3cd3ae5a8a323789b01be258
DIST bash-5.3-alpha.tar.gz 11195025 BLAKE2B b3325f6927d7dde86aae165891317b972f0b9814e134676b3d7d3aea81ce4d4cad1a01f160e290352072153ad3568ee21701a35190ef5e6274b3c03fc95c8d42 SHA512 52354eb7cd71330192ec76fdda04bcacf758a312e89b45558db5f5345f19b0d8e54732049934958cf89786f5bd7c538d88859eb8d8d22dabfc9ec7305263d10e
DIST bash-5.3-alpha.tar.gz.sig 95 BLAKE2B 69c8b33fe2a40498662ef084967701cff1926086785a41d6f49a3c2e2b9908499226d3d970bdb6397a74d3ccc22acb3651261ad2a421799eb135c64a78af8589 SHA512 c9587da66457e2010b0852c6dbf5949821a543b7f1b616a4d016df3477913e2a655c57289e83adeeb31b8b8afca22313e3af76cf727b93932d33a889c1263c20
+DIST bash-5.3_alpha_p20240628-5e28a1813ce7d08628c8df584ea36515091c6d9b.tar.xz 8528432 BLAKE2B d920640b0ba0ae38dbb98b48a9e4dd6635a05d7f86fcf26a4f2c79f6a4338e4f25ff20119f9a1df451d23d9cc381862963dcf9c135050102e8159eccbe5f7314 SHA512 cc60f94083b378ac51fda973f834f10477ac6ebcfc682f934426db3fd6ca4506e5ed1c64311c67d5d9d70b62ab2bf9900ee66f1aa96a7bce7198d69edf9131ca
+DIST bash-5.3_alpha_p20240706-a91b8b077300b0a2a7daefe02f0363f9116e00d5.tar.xz 8525768 BLAKE2B 07b1b92b15bbd1c4bd01e3c2fbdf65d7dab14976442a2c4ea751c0d6e729d937886495af5402cd4669e84f68e952f3e79a375c649bbda1b4cc948172e3ea2948 SHA512 dfd19e6a4786ff066cb7e13ae328fbc909847fd7f987b59d9c646ab0bbf5abdc8c570bbc75810fe9eb6c9171acb3256b4e3278f565a1f526d9ce030fd423c0f8
+DIST bash-5.3_alpha_p20240711-d3e86e66ce857a8dc02e3116fd98b6e5b34d6364.tar.xz 8532476 BLAKE2B bae60589e733f29f4dab827c1c68899f4770c4cb2ca58af19e10bb833820644d336ada480be60b4dabb82441ae68f64494074387057d8b56efe8d5b9befd2a13 SHA512 ef677d2641607b75a000bef4b6eb9b359553ae6c3f930285989b97c036bfd1f7ecfa9240af1873af11dda42d1eca68da9c4b7567876e0bca878e8469dde0d0af
DIST bash205b-001 1132 BLAKE2B 0c5eef29777d54ef05957ea3d63b1556fb380bd20c238dc28993d822b37bc4e78ff4048ad069f6b8cd25da77ccdeb7aecd86c4349cb9d81e5e94c7001eeae5e6 SHA512 5ce4357468821b05e747201f3aa57225ad8f540c9e2c87051720490e039c30b478b9b662a68f14a0800fefe40184e4495e2645665200f9d75e9a115b2ac08071
DIST bash205b-002 755 BLAKE2B 6a6ed5679d451f02f8104b345c1722d11718ce3b4043b581c17786d40d8da69a34786fb56d0c363dba277b8e9dd33f12f70c9cc73a9fc39ba4a8319406f0458d SHA512 46947b0229478d5c2cfeff68b8ebc00e4ef0c8b94e336ca12f72b4490ba3622c0240c01c17c1641c3b07adc2c64ec94d6d780365e8990768ec8888f3a9526883
DIST bash205b-003 2356 BLAKE2B b7887d00d92fd298cd07a15e1c73b516dabd22ecd74c97091636dd97a0cd55024ed698e5cc924c4311d994dd326b1ad074bea35e7650cf9cf4e25c60d2713fa7 SHA512 74528ca5d165b812d299f1c69b47757bd677c0b22ce4217e155cd641708b02364a93c6709fb57b546b376b36da74429a61493921c7c199563da40ddcf1c1f399
diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r8.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r8.ebuild
new file mode 100644
index 00000000000..1926aee8167
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r8.ebuild
@@ -0,0 +1,402 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
+inherit flag-o-matic toolchain-funcs prefix verify-sig
+
+# Uncomment if we have a patchset.
+#GENTOO_PATCH_DEV="sam"
+#GENTOO_PATCH_VER="${PV}"
+
+MY_PV=${PV/_p*}
+MY_PV=${MY_PV/_/-}
+MY_P=${PN}-${MY_PV}
+MY_PATCHES=()
+
+# Determine the patchlevel. See ftp://ftp.gnu.org/gnu/bash/bash-5.2-patches/.
+case ${PV} in
+ *_p*)
+ PLEVEL=${PV##*_p}
+ ;;
+ 9999|*_alpha*|*_beta*|*_rc*)
+ # Set a negative patchlevel to indicate that it's a pre-release.
+ PLEVEL=-1
+ ;;
+ *)
+ PLEVEL=0
+esac
+
+# The version of readline this bash normally ships with. Note that we only use
+# the bundled copy of readline for pre-releases.
+READLINE_VER="8.2_p1"
+
+DESCRIPTION="The standard GNU Bourne again shell"
+HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
+ EGIT_BRANCH=devel
+ inherit git-r3
+else
+ my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
+
+ # bash-5.1 -> bash51
+ my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.}
+
+ for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do
+ printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}"
+ my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" )
+ MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" )
+ done
+
+ SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
+
+ unset -v my_urls my_p my_patch_idx my_patch_ver
+fi
+
+if [[ ${GENTOO_PATCH_VER} ]]; then
+ SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
+fi
+
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-3+"
+SLOT="0"
+if (( PLEVEL >= 0 )); then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline"
+
+DEPEND="
+ >=sys-libs/ncurses-5.2-r2:=
+ nls? ( virtual/libintl )
+"
+if (( PLEVEL >= 0 )); then
+ DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )"
+fi
+RDEPEND="
+ ${DEPEND}
+"
+# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011).
+BDEPEND="
+ pgo? ( dev-util/gperf )
+ verify-sig? ( sec-keys/openpgp-keys-chetramey )
+"
+
+# EAPI 8 tries to append it but it doesn't exist here.
+QA_CONFIGURE_OPTIONS="--disable-static"
+
+PATCHES=(
+ #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
+
+ # Patches to or from Chet, posted to the bug-bash mailing list.
+ "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch"
+ "${FILESDIR}/${PN}-5.2_p15-random-ub.patch"
+ "${FILESDIR}/${PN}-5.2_p15-configure-clang16.patch"
+ "${FILESDIR}/${PN}-5.2_p21-wpointer-to-int.patch"
+ "${FILESDIR}/${PN}-5.2_p21-configure-strtold.patch"
+ "${FILESDIR}/${PN}-5.2_p26-memory-leaks.patch"
+)
+
+pkg_setup() {
+ # bug #7332
+ if is-flag -malign-double; then
+ eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
+ eerror "as it breaks LFS (struct stat64) on x86."
+ die "remove -malign-double from your CFLAGS mr ricer"
+ fi
+
+ if use bashlogger; then
+ ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
+ ewarn "This will log ALL output you enter into the shell, you have been warned."
+ fi
+}
+
+src_unpack() {
+ local patch
+
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
+
+ for patch in "${MY_PATCHES[@]}"; do
+ verify-sig_verify_detached "${patch}"{,.sig}
+ done
+ fi
+
+ unpack "${MY_P}.tar.gz"
+
+ if [[ ${GENTOO_PATCH_VER} ]]; then
+ unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
+ fi
+ fi
+}
+
+src_prepare() {
+ # Include official patches.
+ (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
+
+ # Clean out local libs so we know we use system ones w/releases. The
+ # touch utility is invoked for the benefit of config.status.
+ if (( PLEVEL >= 0 )); then
+ rm -rf lib/{readline,termcap}/* \
+ && touch lib/{readline,termcap}/Makefile.in \
+ && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \
+ || die
+ fi
+
+ # Prefixify hardcoded path names. No-op for non-prefix.
+ hprefixify pathnames.h.in
+
+ # Avoid regenerating docs after patches, bug #407985.
+ sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \
+ && touch -r . doc/* \
+ || die
+
+ # Sometimes hangs (more noticeable w/ pgo), bug #907403.
+ rm tests/run-jobs || die
+
+ eapply -p0 "${PATCHES[@]}"
+ eapply_user
+}
+
+src_configure() {
+ local -a myconf
+
+ # Upstream only test with Bison and require GNUisms like YYEOF and
+ # YYERRCODE. The former at least may be in POSIX soon:
+ # https://www.austingroupbugs.net/view.php?id=1269.
+ # configure warns on use of non-Bison but doesn't abort. The result
+ # may misbehave at runtime.
+ unset -v YACC
+
+ myconf=(
+ --disable-profiling
+
+ # Force linking with system curses ... the bundled termcap lib
+ # sucks bad compared to ncurses. For the most part, ncurses
+ # is here because readline needs it. But bash itself calls
+ # ncurses in one or two small places :(.
+ --with-curses
+
+ $(use_enable mem-scramble)
+ $(use_enable net net-redirections)
+ $(use_enable readline)
+ $(use_enable readline bang-history)
+ $(use_enable readline history)
+ $(use_with afs)
+ $(use_with mem-scramble bash-malloc)
+ )
+
+ # For descriptions of these, see config-top.h.
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
+ append-cppflags \
+ -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \
+ -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \
+ -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
+ -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
+ -DNON_INTERACTIVE_LOGIN_SHELLS \
+ -DSSH_SOURCE_BASHRC \
+ $(use bashlogger && echo -DSYSLOG_HISTORY)
+
+ use nls || myconf+=( --disable-nls )
+
+ if (( PLEVEL >= 0 )); then
+ # Historically, we always used the builtin readline, but since
+ # our handling of SONAME upgrades has gotten much more stable
+ # in the PM (and the readline ebuild itself preserves the old
+ # libs during upgrades), linking against the system copy should
+ # be safe.
+ # Exact cached version here doesn't really matter as long as it
+ # is at least what's in the DEPEND up above.
+ export ac_cv_rl_version=${READLINE_VER%%_*}
+
+ # Use system readline only with released versions.
+ myconf+=( --with-installed-readline=. )
+ fi
+
+ if use plugins; then
+ append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash"
+ else
+ # Disable the plugins logic by hand since bash doesn't provide
+ # a way of doing it.
+ export ac_cv_func_dl{close,open,sym}=no \
+ ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
+
+ sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die
+ fi
+
+ # bug #444070
+ tc-export AR
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ local -a pgo_generate_flags pgo_use_flags
+ local flag
+
+ # -fprofile-partial-training because upstream notes the test suite isn't
+ # super comprehensive.
+ # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
+ if use pgo; then
+ pgo_generate_flags=(
+ -fprofile-update=atomic
+ -fprofile-dir="${T}"/pgo
+ -fprofile-generate="${T}"/pgo
+ )
+ pgo_use_flags=(
+ -fprofile-use="${T}"/pgo
+ -fprofile-dir="${T}"/pgo
+ )
+ if flag=$(test-flags-CC -fprofile-partial-training); then
+ pgo_generate_flags+=( "${flag}" )
+ pgo_use_flags+=( "${flag}" )
+ fi
+ fi
+
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}"
+ use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others
+
+ # Build Bash and run its tests to generate profiles.
+ if (( ${#pgo_generate_flags[@]} )); then
+ # Used in test suite.
+ unset -v A
+
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check
+
+ if tc-is-clang; then
+ llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die
+ fi
+
+ # Rebuild Bash using the profiling data we just generated.
+ emake clean
+ emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}"
+ use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others
+ fi
+}
+
+src_test() {
+ # Used in test suite.
+ unset -v A
+
+ default
+}
+
+src_install() {
+ local d f
+
+ default
+
+ my_prefixify() {
+ while read -r; do
+ if [[ $REPLY == *$1* ]]; then
+ REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"}
+ fi
+ printf '%s\n' "${REPLY}" || ! break
+ done < "$2" || die
+ }
+
+ dodir /bin
+ mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die
+ dosym bash /bin/rbash
+
+ insinto /etc/bash
+ doins "${FILESDIR}"/bash_logout
+ my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
+
+ insinto /etc/bash/bashrc.d
+ my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
+ newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash
+ if [[ ! ${EPREFIX} ]]; then
+ doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
+ fi
+
+ insinto /etc/skel
+ for f in bash{_logout,_profile,rc}; do
+ newins "${FILESDIR}/dot-${f}" ".${f}"
+ done
+
+ if use plugins; then
+ exeinto "/usr/$(get_libdir)/bash"
+ set -- examples/loadables/*.o
+ doexe "${@%.o}"
+
+ insinto /usr/include/bash-plugins
+ doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
+ fi
+
+ if use examples; then
+ for d in examples/{functions,misc,scripts,startup-files}; do
+ exeinto "/usr/share/doc/${PF}/${d}"
+ docinto "${d}"
+ for f in "${d}"/*; do
+ if [[ ${f##*/} != @(PERMISSION|*README) ]]; then
+ doexe "${f}"
+ else
+ dodoc "${f}"
+ fi
+ done
+ done
+ fi
+
+ # Install bash_builtins.1 and rbash.1.
+ emake -C doc DESTDIR="${D}" install_builtins
+ sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
+ doman "${T}"/rbash.1
+
+ newdoc CWRU/changelog ChangeLog
+ dosym bash.info /usr/share/info/bashref.info
+}
+
+pkg_preinst() {
+ if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then
+ mkdir -p -- "${EROOT}"/etc/bash \
+ && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \
+ || die
+ fi
+}
+
+pkg_postinst() {
+ local old_ver
+
+ # If /bin/sh does not exist, provide it.
+ if [[ ! -e ${EROOT}/bin/sh ]]; then
+ ln -sf -- bash "${EROOT}"/bin/sh || die
+ fi
+
+ read -r old_ver <<<"${REPLACING_VERSIONS}"
+ if [[ ! $old_ver ]]; then
+ :
+ elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then
+ return
+ fi
+
+ while read -r; do ewarn "${REPLY}"; done <<'EOF'
+Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
+
+Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
+characteristics of the operating environment, it may contain a command to set
+the terminal's window title. Those who were already choosing to customise the
+PROMPT_COMMAND variable are now advised to append their commands like so:
+
+PROMPT_COMMAND+=('custom command goes here')
+
+Gentoo no longer defaults to having bash set the window title in the case
+that the terminal is controlled by sshd(8), unless screen is launched on the
+remote side or the terminal reliably supports saving and restoring the title
+(as alacritty, foot and tmux do). Those wanting for the title to be set
+regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d
+drop-in - to set PROMPT_COMMMAND like so:
+
+PROMPT_COMMAND=(genfun_set_win_title)
+
+Those who would prefer for bash never to interfere with the window title may
+now opt out of the default title setting behaviour, either with the "unset -v
+PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired.
+EOF
+}
diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240628.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240628.ebuild
new file mode 100644
index 00000000000..f116d8c93a6
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240628.ebuild
@@ -0,0 +1,411 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
+inherit flag-o-matic toolchain-funcs prefix verify-sig
+
+# Uncomment if we have a patchset.
+#GENTOO_PATCH_DEV="sam"
+#GENTOO_PATCH_VER="${PV}"
+
+MY_PV=${PV/_p*}
+MY_PV=${MY_PV/_/-}
+MY_P=${PN}-${MY_PV}
+MY_PATCHES=()
+
+# Determine the patchlevel.
+case ${PV} in
+ 9999|*_alpha*|*_beta*|*_rc*)
+ # Set a negative patchlevel to indicate that it's a pre-release.
+ PLEVEL=-1
+ ;;
+ *_p*)
+ PLEVEL=${PV##*_p}
+ ;;
+ *)
+ PLEVEL=0
+esac
+
+# The version of readline this bash normally ships with. Note that we only use
+# the bundled copy of readline for pre-releases.
+READLINE_VER="8.3_alpha"
+
+DESCRIPTION="The standard GNU Bourne again shell"
+HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
+ EGIT_BRANCH=devel
+ inherit git-r3
+elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+ # It can be useful to have snapshots in the pre-release period once
+ # the first alpha is out, as various bugs get reported and fixed from
+ # the alpha, and the next pre-release is usually quite far away.
+ #
+ # i.e. if it's worth packaging the alpha, it's worth packaging a followup.
+ BASH_COMMIT="5e28a1813ce7d08628c8df584ea36515091c6d9b"
+ SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz"
+ S=${WORKDIR}/${PN}-${BASH_COMMIT}
+else
+ my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
+
+ # bash-5.1 -> bash51
+ my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.}
+
+ for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do
+ printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}"
+ my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" )
+ MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" )
+ done
+
+ SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
+ S=${WORKDIR}/${MY_P}
+
+ unset -v my_urls my_p my_patch_idx my_patch_ver
+fi
+
+if [[ ${GENTOO_PATCH_VER} ]]; then
+ SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+if (( PLEVEL >= 0 )); then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline"
+
+DEPEND="
+ >=sys-libs/ncurses-5.2-r2:=
+ nls? ( virtual/libintl )
+"
+if (( PLEVEL >= 0 )); then
+ DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )"
+fi
+RDEPEND="
+ ${DEPEND}
+"
+# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011).
+BDEPEND="
+ pgo? ( dev-util/gperf )
+ verify-sig? ( sec-keys/openpgp-keys-chetramey )
+"
+
+# EAPI 8 tries to append it but it doesn't exist here.
+QA_CONFIGURE_OPTIONS="--disable-static"
+
+PATCHES=(
+ #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
+
+ # Patches to or from Chet, posted to the bug-bash mailing list.
+ "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch"
+)
+
+pkg_setup() {
+ # bug #7332
+ if is-flag -malign-double; then
+ eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
+ eerror "as it breaks LFS (struct stat64) on x86."
+ die "remove -malign-double from your CFLAGS mr ricer"
+ fi
+
+ if use bashlogger; then
+ ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
+ ewarn "This will log ALL output you enter into the shell, you have been warned."
+ fi
+}
+
+src_unpack() {
+ local patch
+
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+ default
+ else
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
+
+ for patch in "${MY_PATCHES[@]}"; do
+ verify-sig_verify_detached "${patch}"{,.sig}
+ done
+ fi
+
+ unpack "${MY_P}.tar.gz"
+
+ if [[ ${GENTOO_PATCH_VER} ]]; then
+ unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
+ fi
+ fi
+}
+
+src_prepare() {
+ # Include official patches.
+ (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
+
+ # Clean out local libs so we know we use system ones w/releases. The
+ # touch utility is invoked for the benefit of config.status.
+ if (( PLEVEL >= 0 )); then
+ rm -rf lib/{readline,termcap}/* \
+ && touch lib/{readline,termcap}/Makefile.in \
+ && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \
+ || die
+ fi
+
+ # Prefixify hardcoded path names. No-op for non-prefix.
+ hprefixify pathnames.h.in
+
+ # Avoid regenerating docs after patches, bug #407985.
+ sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \
+ && touch -r . doc/* \
+ || die
+
+ # Sometimes hangs (more noticeable w/ pgo), bug #907403.
+ rm tests/run-jobs || die
+
+ eapply -p0 "${PATCHES[@]}"
+ eapply_user
+}
+
+src_configure() {
+ local -a myconf
+
+ # Upstream only test with Bison and require GNUisms like YYEOF and
+ # YYERRCODE. The former at least may be in POSIX soon:
+ # https://www.austingroupbugs.net/view.php?id=1269.
+ # configure warns on use of non-Bison but doesn't abort. The result
+ # may misbehave at runtime.
+ unset -v YACC
+
+ # wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported
+ # upstream to Chet by email.
+ filter-lto
+
+ myconf=(
+ --disable-profiling
+
+ # Force linking with system curses ... the bundled termcap lib
+ # sucks bad compared to ncurses. For the most part, ncurses
+ # is here because readline needs it. But bash itself calls
+ # ncurses in one or two small places :(.
+ --with-curses
+
+ $(use_enable mem-scramble)
+ $(use_enable net net-redirections)
+ $(use_enable readline)
+ $(use_enable readline bang-history)
+ $(use_enable readline history)
+ $(use_with afs)
+ $(use_with mem-scramble bash-malloc)
+ )
+
+ # For descriptions of these, see config-top.h.
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
+ append-cppflags \
+ -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \
+ -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \
+ -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
+ -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
+ -DNON_INTERACTIVE_LOGIN_SHELLS \
+ -DSSH_SOURCE_BASHRC \
+ $(use bashlogger && echo -DSYSLOG_HISTORY)
+
+ use nls || myconf+=( --disable-nls )
+
+ if (( PLEVEL >= 0 )); then
+ # Historically, we always used the builtin readline, but since
+ # our handling of SONAME upgrades has gotten much more stable
+ # in the PM (and the readline ebuild itself preserves the old
+ # libs during upgrades), linking against the system copy should
+ # be safe.
+ # Exact cached version here doesn't really matter as long as it
+ # is at least what's in the DEPEND up above.
+ export ac_cv_rl_version=${READLINE_VER%%_*}
+
+ # Use system readline only with released versions.
+ myconf+=( --with-installed-readline=. )
+ fi
+
+ if use plugins; then
+ append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash"
+ else
+ # Disable the plugins logic by hand since bash doesn't provide
+ # a way of doing it.
+ export ac_cv_func_dl{close,open,sym}=no \
+ ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
+
+ sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die
+ fi
+
+ # bug #444070
+ tc-export AR
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ local -a pgo_generate_flags pgo_use_flags
+ local flag
+
+ # -fprofile-partial-training because upstream notes the test suite isn't
+ # super comprehensive.
+ # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
+ if use pgo; then
+ pgo_generate_flags=(
+ -fprofile-update=atomic
+ -fprofile-dir="${T}"/pgo
+ -fprofile-generate="${T}"/pgo
+ )
+ pgo_use_flags=(
+ -fprofile-use="${T}"/pgo
+ -fprofile-dir="${T}"/pgo
+ )
+ if flag=$(test-flags-CC -fprofile-partial-training); then
+ pgo_generate_flags+=( "${flag}" )
+ pgo_use_flags+=( "${flag}" )
+ fi
+ fi
+
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}"
+ use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others
+
+ # Build Bash and run its tests to generate profiles.
+ if (( ${#pgo_generate_flags[@]} )); then
+ # Used in test suite.
+ unset -v A
+
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check
+
+ if tc-is-clang; then
+ llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die
+ fi
+
+ # Rebuild Bash using the profiling data we just generated.
+ emake clean
+ emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}"
+ use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others
+ fi
+}
+
+src_test() {
+ # Used in test suite.
+ unset -v A
+
+ default
+}
+
+src_install() {
+ local d f
+
+ default
+
+ my_prefixify() {
+ while read -r; do
+ if [[ $REPLY == *$1* ]]; then
+ REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"}
+ fi
+ printf '%s\n' "${REPLY}" || ! break
+ done < "$2" || die
+ }
+
+ dodir /bin
+ mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die
+ dosym bash /bin/rbash
+
+ insinto /etc/bash
+ doins "${FILESDIR}"/bash_logout
+ my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
+
+ insinto /etc/bash/bashrc.d
+ my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
+ newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash
+ if [[ ! ${EPREFIX} ]]; then
+ doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
+ fi
+
+ insinto /etc/skel
+ for f in bash{_logout,_profile,rc}; do
+ newins "${FILESDIR}/dot-${f}" ".${f}"
+ done
+
+ if use plugins; then
+ exeinto "/usr/$(get_libdir)/bash"
+ set -- examples/loadables/*.o
+ doexe "${@%.o}"
+
+ insinto /usr/include/bash-plugins
+ doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
+ fi
+
+ if use examples; then
+ for d in examples/{functions,misc,scripts,startup-files}; do
+ exeinto "/usr/share/doc/${PF}/${d}"
+ docinto "${d}"
+ for f in "${d}"/*; do
+ if [[ ${f##*/} != @(PERMISSION|*README) ]]; then
+ doexe "${f}"
+ else
+ dodoc "${f}"
+ fi
+ done
+ done
+ fi
+
+ # Install bash_builtins.1 and rbash.1.
+ emake -C doc DESTDIR="${D}" install_builtins
+ sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
+ doman "${T}"/rbash.1
+
+ newdoc CWRU/changelog ChangeLog
+ dosym bash.info /usr/share/info/bashref.info
+}
+
+pkg_preinst() {
+ if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then
+ mkdir -p -- "${EROOT}"/etc/bash \
+ && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \
+ || die
+ fi
+}
+
+pkg_postinst() {
+ local old_ver
+
+ # If /bin/sh does not exist, provide it.
+ if [[ ! -e ${EROOT}/bin/sh ]]; then
+ ln -sf -- bash "${EROOT}"/bin/sh || die
+ fi
+
+ read -r old_ver <<<"${REPLACING_VERSIONS}"
+ if [[ ! $old_ver ]]; then
+ :
+ elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then
+ return
+ fi
+
+ while read -r; do ewarn "${REPLY}"; done <<'EOF'
+Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
+
+Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
+characteristics of the operating environment, it may contain a command to set
+the terminal's window title. Those who were already choosing to customise the
+PROMPT_COMMAND variable are now advised to append their commands like so:
+
+PROMPT_COMMAND+=('custom command goes here')
+
+Gentoo no longer defaults to having bash set the window title in the case
+that the terminal is controlled by sshd(8), unless screen is launched on the
+remote side or the terminal reliably supports saving and restoring the title
+(as alacritty, foot and tmux do). Those wanting for the title to be set
+regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d
+drop-in - to set PROMPT_COMMMAND like so:
+
+PROMPT_COMMAND=(genfun_set_win_title)
+
+Those who would prefer for bash never to interfere with the window title may
+now opt out of the default title setting behaviour, either with the "unset -v
+PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired.
+EOF
+}
diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240706.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240706.ebuild
new file mode 100644
index 00000000000..8b0f9127069
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240706.ebuild
@@ -0,0 +1,411 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
+inherit flag-o-matic toolchain-funcs prefix verify-sig
+
+# Uncomment if we have a patchset.
+#GENTOO_PATCH_DEV="sam"
+#GENTOO_PATCH_VER="${PV}"
+
+MY_PV=${PV/_p*}
+MY_PV=${MY_PV/_/-}
+MY_P=${PN}-${MY_PV}
+MY_PATCHES=()
+
+# Determine the patchlevel.
+case ${PV} in
+ 9999|*_alpha*|*_beta*|*_rc*)
+ # Set a negative patchlevel to indicate that it's a pre-release.
+ PLEVEL=-1
+ ;;
+ *_p*)
+ PLEVEL=${PV##*_p}
+ ;;
+ *)
+ PLEVEL=0
+esac
+
+# The version of readline this bash normally ships with. Note that we only use
+# the bundled copy of readline for pre-releases.
+READLINE_VER="8.3_alpha"
+
+DESCRIPTION="The standard GNU Bourne again shell"
+HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
+ EGIT_BRANCH=devel
+ inherit git-r3
+elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+ # It can be useful to have snapshots in the pre-release period once
+ # the first alpha is out, as various bugs get reported and fixed from
+ # the alpha, and the next pre-release is usually quite far away.
+ #
+ # i.e. if it's worth packaging the alpha, it's worth packaging a followup.
+ BASH_COMMIT="a91b8b077300b0a2a7daefe02f0363f9116e00d5"
+ SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz"
+ S=${WORKDIR}/${PN}-${BASH_COMMIT}
+else
+ my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
+
+ # bash-5.1 -> bash51
+ my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.}
+
+ for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do
+ printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}"
+ my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" )
+ MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" )
+ done
+
+ SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
+ S=${WORKDIR}/${MY_P}
+
+ unset -v my_urls my_p my_patch_idx my_patch_ver
+fi
+
+if [[ ${GENTOO_PATCH_VER} ]]; then
+ SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+if (( PLEVEL >= 0 )); then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline"
+
+DEPEND="
+ >=sys-libs/ncurses-5.2-r2:=
+ nls? ( virtual/libintl )
+"
+if (( PLEVEL >= 0 )); then
+ DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )"
+fi
+RDEPEND="
+ ${DEPEND}
+"
+# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011).
+BDEPEND="
+ pgo? ( dev-util/gperf )
+ verify-sig? ( sec-keys/openpgp-keys-chetramey )
+"
+
+# EAPI 8 tries to append it but it doesn't exist here.
+QA_CONFIGURE_OPTIONS="--disable-static"
+
+PATCHES=(
+ #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
+
+ # Patches to or from Chet, posted to the bug-bash mailing list.
+ "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch"
+)
+
+pkg_setup() {
+ # bug #7332
+ if is-flag -malign-double; then
+ eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
+ eerror "as it breaks LFS (struct stat64) on x86."
+ die "remove -malign-double from your CFLAGS mr ricer"
+ fi
+
+ if use bashlogger; then
+ ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
+ ewarn "This will log ALL output you enter into the shell, you have been warned."
+ fi
+}
+
+src_unpack() {
+ local patch
+
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+ default
+ else
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
+
+ for patch in "${MY_PATCHES[@]}"; do
+ verify-sig_verify_detached "${patch}"{,.sig}
+ done
+ fi
+
+ unpack "${MY_P}.tar.gz"
+
+ if [[ ${GENTOO_PATCH_VER} ]]; then
+ unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
+ fi
+ fi
+}
+
+src_prepare() {
+ # Include official patches.
+ (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
+
+ # Clean out local libs so we know we use system ones w/releases. The
+ # touch utility is invoked for the benefit of config.status.
+ if (( PLEVEL >= 0 )); then
+ rm -rf lib/{readline,termcap}/* \
+ && touch lib/{readline,termcap}/Makefile.in \
+ && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \
+ || die
+ fi
+
+ # Prefixify hardcoded path names. No-op for non-prefix.
+ hprefixify pathnames.h.in
+
+ # Avoid regenerating docs after patches, bug #407985.
+ sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \
+ && touch -r . doc/* \
+ || die
+
+ # Sometimes hangs (more noticeable w/ pgo), bug #907403.
+ rm tests/run-jobs || die
+
+ eapply -p0 "${PATCHES[@]}"
+ eapply_user
+}
+
+src_configure() {
+ local -a myconf
+
+ # Upstream only test with Bison and require GNUisms like YYEOF and
+ # YYERRCODE. The former at least may be in POSIX soon:
+ # https://www.austingroupbugs.net/view.php?id=1269.
+ # configure warns on use of non-Bison but doesn't abort. The result
+ # may misbehave at runtime.
+ unset -v YACC
+
+ # wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported
+ # upstream to Chet by email.
+ filter-lto
+
+ myconf=(
+ --disable-profiling
+
+ # Force linking with system curses ... the bundled termcap lib
+ # sucks bad compared to ncurses. For the most part, ncurses
+ # is here because readline needs it. But bash itself calls
+ # ncurses in one or two small places :(.
+ --with-curses
+
+ $(use_enable mem-scramble)
+ $(use_enable net net-redirections)
+ $(use_enable readline)
+ $(use_enable readline bang-history)
+ $(use_enable readline history)
+ $(use_with afs)
+ $(use_with mem-scramble bash-malloc)
+ )
+
+ # For descriptions of these, see config-top.h.
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
+ append-cppflags \
+ -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \
+ -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \
+ -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
+ -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
+ -DNON_INTERACTIVE_LOGIN_SHELLS \
+ -DSSH_SOURCE_BASHRC \
+ $(use bashlogger && echo -DSYSLOG_HISTORY)
+
+ use nls || myconf+=( --disable-nls )
+
+ if (( PLEVEL >= 0 )); then
+ # Historically, we always used the builtin readline, but since
+ # our handling of SONAME upgrades has gotten much more stable
+ # in the PM (and the readline ebuild itself preserves the old
+ # libs during upgrades), linking against the system copy should
+ # be safe.
+ # Exact cached version here doesn't really matter as long as it
+ # is at least what's in the DEPEND up above.
+ export ac_cv_rl_version=${READLINE_VER%%_*}
+
+ # Use system readline only with released versions.
+ myconf+=( --with-installed-readline=. )
+ fi
+
+ if use plugins; then
+ append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash"
+ else
+ # Disable the plugins logic by hand since bash doesn't provide
+ # a way of doing it.
+ export ac_cv_func_dl{close,open,sym}=no \
+ ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
+
+ sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die
+ fi
+
+ # bug #444070
+ tc-export AR
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ local -a pgo_generate_flags pgo_use_flags
+ local flag
+
+ # -fprofile-partial-training because upstream notes the test suite isn't
+ # super comprehensive.
+ # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
+ if use pgo; then
+ pgo_generate_flags=(
+ -fprofile-update=atomic
+ -fprofile-dir="${T}"/pgo
+ -fprofile-generate="${T}"/pgo
+ )
+ pgo_use_flags=(
+ -fprofile-use="${T}"/pgo
+ -fprofile-dir="${T}"/pgo
+ )
+ if flag=$(test-flags-CC -fprofile-partial-training); then
+ pgo_generate_flags+=( "${flag}" )
+ pgo_use_flags+=( "${flag}" )
+ fi
+ fi
+
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}"
+ use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others
+
+ # Build Bash and run its tests to generate profiles.
+ if (( ${#pgo_generate_flags[@]} )); then
+ # Used in test suite.
+ unset -v A
+
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check
+
+ if tc-is-clang; then
+ llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die
+ fi
+
+ # Rebuild Bash using the profiling data we just generated.
+ emake clean
+ emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}"
+ use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others
+ fi
+}
+
+src_test() {
+ # Used in test suite.
+ unset -v A
+
+ default
+}
+
+src_install() {
+ local d f
+
+ default
+
+ my_prefixify() {
+ while read -r; do
+ if [[ $REPLY == *$1* ]]; then
+ REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"}
+ fi
+ printf '%s\n' "${REPLY}" || ! break
+ done < "$2" || die
+ }
+
+ dodir /bin
+ mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die
+ dosym bash /bin/rbash
+
+ insinto /etc/bash
+ doins "${FILESDIR}"/bash_logout
+ my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
+
+ insinto /etc/bash/bashrc.d
+ my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
+ newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash
+ if [[ ! ${EPREFIX} ]]; then
+ doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
+ fi
+
+ insinto /etc/skel
+ for f in bash{_logout,_profile,rc}; do
+ newins "${FILESDIR}/dot-${f}" ".${f}"
+ done
+
+ if use plugins; then
+ exeinto "/usr/$(get_libdir)/bash"
+ set -- examples/loadables/*.o
+ doexe "${@%.o}"
+
+ insinto /usr/include/bash-plugins
+ doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
+ fi
+
+ if use examples; then
+ for d in examples/{functions,misc,scripts,startup-files}; do
+ exeinto "/usr/share/doc/${PF}/${d}"
+ docinto "${d}"
+ for f in "${d}"/*; do
+ if [[ ${f##*/} != @(PERMISSION|*README) ]]; then
+ doexe "${f}"
+ else
+ dodoc "${f}"
+ fi
+ done
+ done
+ fi
+
+ # Install bash_builtins.1 and rbash.1.
+ emake -C doc DESTDIR="${D}" install_builtins
+ sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
+ doman "${T}"/rbash.1
+
+ newdoc CWRU/changelog ChangeLog
+ dosym bash.info /usr/share/info/bashref.info
+}
+
+pkg_preinst() {
+ if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then
+ mkdir -p -- "${EROOT}"/etc/bash \
+ && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \
+ || die
+ fi
+}
+
+pkg_postinst() {
+ local old_ver
+
+ # If /bin/sh does not exist, provide it.
+ if [[ ! -e ${EROOT}/bin/sh ]]; then
+ ln -sf -- bash "${EROOT}"/bin/sh || die
+ fi
+
+ read -r old_ver <<<"${REPLACING_VERSIONS}"
+ if [[ ! $old_ver ]]; then
+ :
+ elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then
+ return
+ fi
+
+ while read -r; do ewarn "${REPLY}"; done <<'EOF'
+Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
+
+Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
+characteristics of the operating environment, it may contain a command to set
+the terminal's window title. Those who were already choosing to customise the
+PROMPT_COMMAND variable are now advised to append their commands like so:
+
+PROMPT_COMMAND+=('custom command goes here')
+
+Gentoo no longer defaults to having bash set the window title in the case
+that the terminal is controlled by sshd(8), unless screen is launched on the
+remote side or the terminal reliably supports saving and restoring the title
+(as alacritty, foot and tmux do). Those wanting for the title to be set
+regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d
+drop-in - to set PROMPT_COMMMAND like so:
+
+PROMPT_COMMAND=(genfun_set_win_title)
+
+Those who would prefer for bash never to interfere with the window title may
+now opt out of the default title setting behaviour, either with the "unset -v
+PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired.
+EOF
+}
diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240711.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240711.ebuild
new file mode 100644
index 00000000000..725695b1ccc
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240711.ebuild
@@ -0,0 +1,411 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
+inherit flag-o-matic toolchain-funcs prefix verify-sig
+
+# Uncomment if we have a patchset.
+#GENTOO_PATCH_DEV="sam"
+#GENTOO_PATCH_VER="${PV}"
+
+MY_PV=${PV/_p*}
+MY_PV=${MY_PV/_/-}
+MY_P=${PN}-${MY_PV}
+MY_PATCHES=()
+
+# Determine the patchlevel.
+case ${PV} in
+ 9999|*_alpha*|*_beta*|*_rc*)
+ # Set a negative patchlevel to indicate that it's a pre-release.
+ PLEVEL=-1
+ ;;
+ *_p*)
+ PLEVEL=${PV##*_p}
+ ;;
+ *)
+ PLEVEL=0
+esac
+
+# The version of readline this bash normally ships with. Note that we only use
+# the bundled copy of readline for pre-releases.
+READLINE_VER="8.3_alpha"
+
+DESCRIPTION="The standard GNU Bourne again shell"
+HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
+ EGIT_BRANCH=devel
+ inherit git-r3
+elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+ # It can be useful to have snapshots in the pre-release period once
+ # the first alpha is out, as various bugs get reported and fixed from
+ # the alpha, and the next pre-release is usually quite far away.
+ #
+ # i.e. if it's worth packaging the alpha, it's worth packaging a followup.
+ BASH_COMMIT="d3e86e66ce857a8dc02e3116fd98b6e5b34d6364"
+ SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz"
+ S=${WORKDIR}/${PN}-${BASH_COMMIT}
+else
+ my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
+
+ # bash-5.1 -> bash51
+ my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.}
+
+ for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do
+ printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}"
+ my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" )
+ MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" )
+ done
+
+ SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
+ S=${WORKDIR}/${MY_P}
+
+ unset -v my_urls my_p my_patch_idx my_patch_ver
+fi
+
+if [[ ${GENTOO_PATCH_VER} ]]; then
+ SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+if (( PLEVEL >= 0 )); then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline"
+
+DEPEND="
+ >=sys-libs/ncurses-5.2-r2:=
+ nls? ( virtual/libintl )
+"
+if (( PLEVEL >= 0 )); then
+ DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )"
+fi
+RDEPEND="
+ ${DEPEND}
+"
+# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011).
+BDEPEND="
+ pgo? ( dev-util/gperf )
+ verify-sig? ( sec-keys/openpgp-keys-chetramey )
+"
+
+# EAPI 8 tries to append it but it doesn't exist here.
+QA_CONFIGURE_OPTIONS="--disable-static"
+
+PATCHES=(
+ #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
+
+ # Patches to or from Chet, posted to the bug-bash mailing list.
+ "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch"
+)
+
+pkg_setup() {
+ # bug #7332
+ if is-flag -malign-double; then
+ eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
+ eerror "as it breaks LFS (struct stat64) on x86."
+ die "remove -malign-double from your CFLAGS mr ricer"
+ fi
+
+ if use bashlogger; then
+ ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
+ ewarn "This will log ALL output you enter into the shell, you have been warned."
+ fi
+}
+
+src_unpack() {
+ local patch
+
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+ default
+ else
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
+
+ for patch in "${MY_PATCHES[@]}"; do
+ verify-sig_verify_detached "${patch}"{,.sig}
+ done
+ fi
+
+ unpack "${MY_P}.tar.gz"
+
+ if [[ ${GENTOO_PATCH_VER} ]]; then
+ unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
+ fi
+ fi
+}
+
+src_prepare() {
+ # Include official patches.
+ (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
+
+ # Clean out local libs so we know we use system ones w/releases. The
+ # touch utility is invoked for the benefit of config.status.
+ if (( PLEVEL >= 0 )); then
+ rm -rf lib/{readline,termcap}/* \
+ && touch lib/{readline,termcap}/Makefile.in \
+ && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \
+ || die
+ fi
+
+ # Prefixify hardcoded path names. No-op for non-prefix.
+ hprefixify pathnames.h.in
+
+ # Avoid regenerating docs after patches, bug #407985.
+ sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \
+ && touch -r . doc/* \
+ || die
+
+ # Sometimes hangs (more noticeable w/ pgo), bug #907403.
+ rm tests/run-jobs || die
+
+ eapply -p0 "${PATCHES[@]}"
+ eapply_user
+}
+
+src_configure() {
+ local -a myconf
+
+ # Upstream only test with Bison and require GNUisms like YYEOF and
+ # YYERRCODE. The former at least may be in POSIX soon:
+ # https://www.austingroupbugs.net/view.php?id=1269.
+ # configure warns on use of non-Bison but doesn't abort. The result
+ # may misbehave at runtime.
+ unset -v YACC
+
+ # wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported
+ # upstream to Chet by email.
+ filter-lto
+
+ myconf=(
+ --disable-profiling
+
+ # Force linking with system curses ... the bundled termcap lib
+ # sucks bad compared to ncurses. For the most part, ncurses
+ # is here because readline needs it. But bash itself calls
+ # ncurses in one or two small places :(.
+ --with-curses
+
+ $(use_enable mem-scramble)
+ $(use_enable net net-redirections)
+ $(use_enable readline)
+ $(use_enable readline bang-history)
+ $(use_enable readline history)
+ $(use_with afs)
+ $(use_with mem-scramble bash-malloc)
+ )
+
+ # For descriptions of these, see config-top.h.
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
+ append-cppflags \
+ -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \
+ -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \
+ -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
+ -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
+ -DNON_INTERACTIVE_LOGIN_SHELLS \
+ -DSSH_SOURCE_BASHRC \
+ $(use bashlogger && echo -DSYSLOG_HISTORY)
+
+ use nls || myconf+=( --disable-nls )
+
+ if (( PLEVEL >= 0 )); then
+ # Historically, we always used the builtin readline, but since
+ # our handling of SONAME upgrades has gotten much more stable
+ # in the PM (and the readline ebuild itself preserves the old
+ # libs during upgrades), linking against the system copy should
+ # be safe.
+ # Exact cached version here doesn't really matter as long as it
+ # is at least what's in the DEPEND up above.
+ export ac_cv_rl_version=${READLINE_VER%%_*}
+
+ # Use system readline only with released versions.
+ myconf+=( --with-installed-readline=. )
+ fi
+
+ if use plugins; then
+ append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash"
+ else
+ # Disable the plugins logic by hand since bash doesn't provide
+ # a way of doing it.
+ export ac_cv_func_dl{close,open,sym}=no \
+ ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
+
+ sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die
+ fi
+
+ # bug #444070
+ tc-export AR
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ local -a pgo_generate_flags pgo_use_flags
+ local flag
+
+ # -fprofile-partial-training because upstream notes the test suite isn't
+ # super comprehensive.
+ # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
+ if use pgo; then
+ pgo_generate_flags=(
+ -fprofile-update=atomic
+ -fprofile-dir="${T}"/pgo
+ -fprofile-generate="${T}"/pgo
+ )
+ pgo_use_flags=(
+ -fprofile-use="${T}"/pgo
+ -fprofile-dir="${T}"/pgo
+ )
+ if flag=$(test-flags-CC -fprofile-partial-training); then
+ pgo_generate_flags+=( "${flag}" )
+ pgo_use_flags+=( "${flag}" )
+ fi
+ fi
+
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}"
+ use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others
+
+ # Build Bash and run its tests to generate profiles.
+ if (( ${#pgo_generate_flags[@]} )); then
+ # Used in test suite.
+ unset -v A
+
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check
+
+ if tc-is-clang; then
+ llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die
+ fi
+
+ # Rebuild Bash using the profiling data we just generated.
+ emake clean
+ emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}"
+ use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others
+ fi
+}
+
+src_test() {
+ # Used in test suite.
+ unset -v A
+
+ default
+}
+
+src_install() {
+ local d f
+
+ default
+
+ my_prefixify() {
+ while read -r; do
+ if [[ $REPLY == *$1* ]]; then
+ REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"}
+ fi
+ printf '%s\n' "${REPLY}" || ! break
+ done < "$2" || die
+ }
+
+ dodir /bin
+ mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die
+ dosym bash /bin/rbash
+
+ insinto /etc/bash
+ doins "${FILESDIR}"/bash_logout
+ my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
+
+ insinto /etc/bash/bashrc.d
+ my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
+ newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash
+ if [[ ! ${EPREFIX} ]]; then
+ doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
+ fi
+
+ insinto /etc/skel
+ for f in bash{_logout,_profile,rc}; do
+ newins "${FILESDIR}/dot-${f}" ".${f}"
+ done
+
+ if use plugins; then
+ exeinto "/usr/$(get_libdir)/bash"
+ set -- examples/loadables/*.o
+ doexe "${@%.o}"
+
+ insinto /usr/include/bash-plugins
+ doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
+ fi
+
+ if use examples; then
+ for d in examples/{functions,misc,scripts,startup-files}; do
+ exeinto "/usr/share/doc/${PF}/${d}"
+ docinto "${d}"
+ for f in "${d}"/*; do
+ if [[ ${f##*/} != @(PERMISSION|*README) ]]; then
+ doexe "${f}"
+ else
+ dodoc "${f}"
+ fi
+ done
+ done
+ fi
+
+ # Install bash_builtins.1 and rbash.1.
+ emake -C doc DESTDIR="${D}" install_builtins
+ sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
+ doman "${T}"/rbash.1
+
+ newdoc CWRU/changelog ChangeLog
+ dosym bash.info /usr/share/info/bashref.info
+}
+
+pkg_preinst() {
+ if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then
+ mkdir -p -- "${EROOT}"/etc/bash \
+ && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \
+ || die
+ fi
+}
+
+pkg_postinst() {
+ local old_ver
+
+ # If /bin/sh does not exist, provide it.
+ if [[ ! -e ${EROOT}/bin/sh ]]; then
+ ln -sf -- bash "${EROOT}"/bin/sh || die
+ fi
+
+ read -r old_ver <<<"${REPLACING_VERSIONS}"
+ if [[ ! $old_ver ]]; then
+ :
+ elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then
+ return
+ fi
+
+ while read -r; do ewarn "${REPLY}"; done <<'EOF'
+Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
+
+Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
+characteristics of the operating environment, it may contain a command to set
+the terminal's window title. Those who were already choosing to customise the
+PROMPT_COMMAND variable are now advised to append their commands like so:
+
+PROMPT_COMMAND+=('custom command goes here')
+
+Gentoo no longer defaults to having bash set the window title in the case
+that the terminal is controlled by sshd(8), unless screen is launched on the
+remote side or the terminal reliably supports saving and restoring the title
+(as alacritty, foot and tmux do). Those wanting for the title to be set
+regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d
+drop-in - to set PROMPT_COMMMAND like so:
+
+PROMPT_COMMAND=(genfun_set_win_title)
+
+Those who would prefer for bash never to interfere with the window title may
+now opt out of the default title setting behaviour, either with the "unset -v
+PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired.
+EOF
+}
diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild
index 7ef121e1c56..725695b1ccc 100644
--- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild
@@ -17,13 +17,13 @@ MY_PATCHES=()
# Determine the patchlevel.
case ${PV} in
- *_p*)
- PLEVEL=${PV##*_p}
- ;;
9999|*_alpha*|*_beta*|*_rc*)
# Set a negative patchlevel to indicate that it's a pre-release.
PLEVEL=-1
;;
+ *_p*)
+ PLEVEL=${PV##*_p}
+ ;;
*)
PLEVEL=0
esac
@@ -39,6 +39,15 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
EGIT_BRANCH=devel
inherit git-r3
+elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+ # It can be useful to have snapshots in the pre-release period once
+ # the first alpha is out, as various bugs get reported and fixed from
+ # the alpha, and the next pre-release is usually quite far away.
+ #
+ # i.e. if it's worth packaging the alpha, it's worth packaging a followup.
+ BASH_COMMIT="d3e86e66ce857a8dc02e3116fd98b6e5b34d6364"
+ SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz"
+ S=${WORKDIR}/${PN}-${BASH_COMMIT}
else
my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
@@ -52,6 +61,7 @@ else
done
SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
+ S=${WORKDIR}/${MY_P}
unset -v my_urls my_p my_patch_idx my_patch_ver
fi
@@ -60,8 +70,6 @@ if [[ ${GENTOO_PATCH_VER} ]]; then
SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
fi
-S=${WORKDIR}/${MY_P}
-
LICENSE="GPL-3+"
SLOT="0"
if (( PLEVEL >= 0 )); then
@@ -114,6 +122,8 @@ src_unpack() {
if [[ ${PV} == 9999 ]]; then
git-r3_src_unpack
+ elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+ default
else
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
@@ -310,7 +320,7 @@ src_install() {
insinto /etc/bash/bashrc.d
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
- doins "${FILESDIR}"/bashrc.d/10-gentoo-title.bash
+ newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash
if [[ ! ${EPREFIX} ]]; then
doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
fi
@@ -371,26 +381,26 @@ pkg_postinst() {
read -r old_ver <<<"${REPLACING_VERSIONS}"
if [[ ! $old_ver ]]; then
:
- elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r6"; then
- return
- elif ver_test "$old_ver" -lt "5.2" && ver_test "$old_ver" -ge "5.1_p16-r13"; then
+ elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then
return
fi
while read -r; do ewarn "${REPLY}"; done <<'EOF'
-Files situated under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
+Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
-characteristics of the operating environment, this array may contain a command
-to set the terminal's window title. Those already choosing to customise the
+characteristics of the operating environment, it may contain a command to set
+the terminal's window title. Those who were already choosing to customise the
PROMPT_COMMAND variable are now advised to append their commands like so:
PROMPT_COMMAND+=('custom command goes here')
-Gentoo no longer defaults to having bash manipulate the window title in the case
-that the terminal is controlled by sshd(8), unless screen or tmux are in use.
-Those wanting to set the title unconditionally may adjust ~/.bashrc - or create
-a custom /etc/bash/bashrc.d drop-in - to set PROMPT_COMMMAND like so:
+Gentoo no longer defaults to having bash set the window title in the case
+that the terminal is controlled by sshd(8), unless screen is launched on the
+remote side or the terminal reliably supports saving and restoring the title
+(as alacritty, foot and tmux do). Those wanting for the title to be set
+regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d
+drop-in - to set PROMPT_COMMMAND like so:
PROMPT_COMMAND=(genfun_set_win_title)
diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title-r1.bash b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title-r1.bash
new file mode 100644
index 00000000000..8e78b09a9da
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title-r1.bash
@@ -0,0 +1,81 @@
+# /etc/bash/bashrc.d/10-gentoo-title.bash
+
+# For information regarding the control sequences used, please refer to
+# https://invisible-island.net/xterm/ctlseqs/ctlseqs.html.
+
+genfun_set_win_title() {
+ # Advertise the fact that the presently running interactive shell will
+ # update the title. Doing so allows for its subprocesses to determine
+ # whether it is safe to set the title of their own accord. Note that 0
+ # refers to the value of Ps within the OSC Ps ; Pt BEL sequence.
+ export SHELL_SETS_TITLE=0
+
+ # Assigns the basename of the current working directory, having
+ # sanitised it with @Q parameter expansion. Useful for paths containing
+ # newlines and such. As a special case, names consisting entirely of
+ # graphemes shall not undergo the expansion, for reasons of cleanliness.
+ genfun_sanitise_cwd() {
+ _cwd=${PWD##*/}
+ if [[ ! ${_cwd} ]]; then
+ _cwd=${PWD}
+ elif [[ ${_cwd} == *[![:graph:]]* ]]; then
+ _cwd=${_cwd@Q}
+ fi
+ }
+
+ # Sets the window title with the Set Text Parameters control sequence.
+ # For screen, the sequence defines the hardstatus (%h) and for tmux, the
+ # pane_title (#T). For graphical terminal emulators, it is normal for
+ # the title bar to be affected.
+ genfun_set_win_title() {
+ genfun_sanitise_cwd
+ printf '\033]0;%s@%s - %s\007' "${USER}" "${HOSTNAME%%.*}" "${_cwd}"
+ }
+
+ genfun_set_win_title
+}
+
+unset -v SHELL_SETS_TITLE
+
+# Determine whether the terminal can handle the Set Text Parameters sequence.
+# The only terminals permitted here are those for which there is empirical
+# evidence that the sequence is supported and that the UTF-8 character encoding
+# is handled correctly. Quite rightly, this precludes many vintage terminals.
+case ${TERM} in
+ alacritty|foot*|tmux*)
+ # The terminal emulator also supports XTWINOPS. If the PTY was
+ # created by sshd(8) then push the current window title to the
+ # stack and arrange for it to be popped upon exiting. Xterm also
+ # supports this but there are far too many terminal emulators
+ # that falsely identify as being xterm-compatible.
+ if [[ ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then
+ trap 'printf "\033[23;0t"' EXIT
+ printf '\033[22;0t'
+ fi
+ ;;
+ rxvt-unicode*|st-256color|xterm*)
+ # If the PTY was created by sshd(8) then proceed no further.
+ # Alas, there exist many operating environments in which the
+ # title would otherwise not be restored upon ssh(1) exiting.
+ # Those wanting for the title to be set regardless may adjust
+ # ~/.bashrc or create a bashrc.d drop-in to set PROMPT_COMMAND.
+ # For example, PROMPT_COMMAND=(genfun_set_win_title).
+ if [[ ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then
+ return
+ fi
+ ;;
+ screen*)
+ # If the PTY was created by sshd(8) and screen(1) was launched
+ # prior to the SSH session beginning, as opposed to afterwards,
+ # proceed no further. It is another case in which there would be
+ # no guarantee of the title being restored upon ssh(1) exiting.
+ if [[ ! ${WINDOW} && ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then
+ return
+ fi
+ ;;
+ *)
+ return
+esac
+
+# Arrange for the title to be updated each time the primary prompt is displayed.
+PROMPT_COMMAND+=('genfun_set_win_title')
diff --git a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/Manifest b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/Manifest
index 6f130a9a3a5..d54174a0b07 100644
--- a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/Manifest
+++ b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/Manifest
@@ -1,3 +1 @@
-DIST gentoo-bashcomp-20240511.tar.bz2 21695 BLAKE2B 886a80eafbb923b5ccb5c9e6e0749b66878003d99e0ddf8fc3d07c072fd23cb3277eb254c4687695459fe8401d427dee2779bc29f2a48ab1c6f2b4bfe7d4ef0d SHA512 3e5add581268e7911eb18d1958e4db3b549b2afc496231dcf537abe5409fdd4fa045c6f61538be6c2686888e20ad0d0b714ecf82639a9ae0ec6eecedc378b78d
-DIST gentoo-bashcomp-20240525.tar.bz2 23392 BLAKE2B 03da7f6a077382efaac9c9ddad2ef6bcf21704574378a400aeeb0ec2b88934c3aac10009912ad6f0d06ae410c42d6013acaf4629f3c6f46abb19b0d1e000c1d9 SHA512 5017f2e106e2b3f1335f1edbce7ede1fd918bd701a1082ec8cd71f1cedad9480109d82381d56587cb6da4dd04c210f9f51dbaaf8b2aa419abbc6fab73825226a
DIST gentoo-bashcomp-20240625.tar.bz2 23794 BLAKE2B 567131238e24744a5083ad8ec484d4342b6891e95b999d11d809da769d8f2ad3536f7da769f0d291663b9c3be46fe67d261cbdcf59a0f846e4f08a66b4106571 SHA512 1b5476ba7cb1b7c2f1d51c03d592245718fb4c2c07ff5171aee1bfa0def2a2f0bbff7a38950d18e3646285e7432cedee0ee75eed1c6348946793f011de4ddcbf
diff --git a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20240511.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20240511.ebuild
deleted file mode 100644
index 6ccd45c4343..00000000000
--- a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20240511.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit bash-completion-r1
-
-DESCRIPTION="Gentoo-specific bash command-line completions (emerge, ebuild, equery, etc)"
-HOMEPAGE="https://gitweb.gentoo.org/proj/gentoo-bashcomp.git/"
-SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-src_install() {
- emake DESTDIR="${D}" install \
- completionsdir="$(get_bashcompdir)" \
- helpersdir="$(get_bashhelpersdir)" \
- compatdir="${EPREFIX}/etc/bash_completion.d"
-}
diff --git a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20240525.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20240525.ebuild
deleted file mode 100644
index f6df1253474..00000000000
--- a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20240525.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit bash-completion-r1
-
-DESCRIPTION="Gentoo-specific bash command-line completions (emerge, ebuild, equery, etc)"
-HOMEPAGE="https://gitweb.gentoo.org/proj/gentoo-bashcomp.git/"
-SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-src_install() {
- emake DESTDIR="${D}" install \
- completionsdir="$(get_bashcompdir)" \
- helpersdir="$(get_bashhelpersdir)" \
- compatdir="${EPREFIX}/etc/bash_completion.d"
-}
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/automake/Manifest
index 1b8cfc0a6ff..28d1f25e03b 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/automake/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-build/automake/Manifest
@@ -2,7 +2,5 @@ DIST automake-1.11.6.tar.xz 1092908 BLAKE2B 17254d81d6920c32aa877b6c892025de8e40
DIST automake-1.16.5-tests-c99.patch.xz 7176 BLAKE2B 1fa1d3a499bacc5da9ee9d8ea6cb63d9ab91646a708a53d9bb08eef65fe02a6ab34ff95737042348ea7572bd70c6c7467e260d9441239a00c3571d25d73085f0 SHA512 0065b809219257cbce3c6f6f88459b91a5a29272e0027698e06246181357ffe8d5d40057086438f891d821836441a5a96f2568d52dcd3b5acb80e4d4968cbaf9
DIST automake-1.16.5.tar.xz 1601740 BLAKE2B 87408abc57e1d4317a2b518fb3606d0f6d156522e7333016dd84747cd8922f27ef7fcc93220b11f794ce52bf8fd9a788d0166a4d1964d7c283905f269977ac7c SHA512 3084ae543aa3fb5a05104ffb2e66cfa9a53080f2343c44809707fd648516869511500dba50dae67ff10f92a1bf3b5a92b2a0fa01cda30adb69b9da03994d9d88
DIST automake-1.16.5.tar.xz.sig 833 BLAKE2B a79fcdce97e13ac3bf39d73e183da92703681ff80011974d95a41be20169f95414551985f7a46602fba3558e33f24d6dcb76222d99f9de4fef0d3dc59b88807e SHA512 032a7c39abb4cabbefa4eb9c15263baec0902e48c0c81364307361a41fd55be282b9640707c789f5ae572e8e60240e34d1b575a671b5710f5d2a5716fafc2d51
-DIST automake-1.16.90.tar.xz 1644220 BLAKE2B 01a4ddfccbbdd96976b1801c767ef2ff6951a09eb7e0071a7b8e7c8c768fae1accc4a6a38290109995710b9296a2ac1e0dcf8d03a3f6ec42e4d69d25b3ff106e SHA512 139a2777be1417e02a7701a8e0166d4961fe50e3bddc79e2e852727fc1032b7f85ad0bee6ddc8bfd796a02c75a464500e984295290dac5614a7d6039dae9c52d
-DIST automake-1.16.90.tar.xz.sig 833 BLAKE2B c77fa1a99a7638b570f26f4858486d20b83801a661549e82ac4f7b7e9fd9c7dd2211e2403fc13b65a488d05d7a3c81ae7a372988c4a7e2e0588e4d7d609c77b5 SHA512 f4fc6ff3e1158bc37f95375f4eb2497e5bd9bb943a7d418e94379fcd292b9f35357b842b8a7383c942b23bf5510b61b17b997231267fb6f55dad7bab00b954e2
-DIST automake-1.16.92.tar.xz 1649420 BLAKE2B aa7c50d9d8f2d9b9444530c24bf694c031909f96164cb3f335e793ae1244f34253903123e26ce9cd50724c60fa47cbcee5ae4c59b8a2d955d8f8363480050a71 SHA512 47609fcbe962195b6683d3ccc62bda7f86af0bb702148caa4aa7e21ce1b49ae4c238254817b51ea7afdaa671d183ec43fc4af41b676cd1afafec8e485142e2fc
-DIST automake-1.16.92.tar.xz.sig 833 BLAKE2B 0ad23cea8e865be0e928fb3feaee4f982de59e1c60322465f44acb7126dee5ab13d2010757f23f60960819345399ff5ba1f80dee7cbc4483c7adf3413b6025e4 SHA512 1df37c983b70250383084b2dcdba543e9c32a028a842ca6dd7cb8a3f17dba5edfb4372a87c03d2da1053ea5a72e45972e0ae1f0492b78463bae437e7b0dad6b4
+DIST automake-1.17.tar.xz 1652632 BLAKE2B 53c24c138faf3d2be4e30ababcccd4d157c03e815fc4b7f3e3063b6648cf254dfa63afe6e3285b21309dbf260335c3e67991db3825e7532b158b25ccaead83f5 SHA512 46aba1c9d64a6368b326020803a2999831c1deaf31eaa1c1dfdcfa5138a7f755643294e82a08b6daab3983b31eee725bdb7b9edc4e9a558374c7d1f1b8e854a7
+DIST automake-1.17.tar.xz.sig 833 BLAKE2B 4564c7189360c61bde7e16a7c3a52b86084fb16b7f4625969fc588a6aa0da687c7b27acf7247822ec0e09e59336acf0ef69784032f255190a070081f6d9da5cc SHA512 180dde452ec097a9267c334044a9ec16bb65cc6ccbc000b7eca0af81ed7ece6f4ce6f6c2be8a2cabca9d48fd46085c81f0ee5d020967104bc25f37f52927829a
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.5-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.5-r2.ebuild
index b1b2b9fb676..7fac003550a 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.5-r2.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.5-r2.ebuild
@@ -8,7 +8,7 @@ EAPI=7
# on new automake (major) releases, as well as the dependency in RDEPEND below too.
# * Update _WANT_AUTOMAKE and _automake_atom case statement in autotools.eclass.
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jimmeyering.asc
inherit python-any-r1 verify-sig
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.90.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.90.ebuild
deleted file mode 100644
index ac793c1acd3..00000000000
--- a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.90.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Bumping notes:
-# * Remember to modify LAST_KNOWN_AUTOMAKE_VER 'upstream' in dev-build/automake-wrapper
-# on new automake (major) releases, as well as the dependency in RDEPEND below too.
-# * Update _WANT_AUTOMAKE and _automake_atom case statement in autotools.eclass.
-
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit python-any-r1 verify-sig
-
-MANGLED_SLOT=${PV:0:4}
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_MIN_CLONE_TYPE=single
- EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git"
- inherit git-r3
-else
- VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jimmeyering.asc
- if [[ $(ver_cut 3) -ge 90 ]] ; then
- MANGLED_SLOT=$(ver_cut 1).$(($(ver_cut 2) + 1))
- SRC_URI="
- https://alpha.gnu.org/pub/gnu/${PN}/${P}.tar.xz
- verify-sig? (
- https://alpha.gnu.org/pub/gnu/${PN}/${P}.tar.xz.sig
- )
- "
- else
- SRC_URI="
- mirror://gnu/${PN}/${P}.tar.xz
- verify-sig? (
- mirror://gnu/${PN}/${P}.tar.xz.sig
- )
- "
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
- fi
-fi
-
-DESCRIPTION="Used to generate Makefile.in from Makefile.am"
-HOMEPAGE="https://www.gnu.org/software/automake/"
-
-LICENSE="GPL-2"
-# Use Gentoo versioning for slotting.
-SLOT="${MANGLED_SLOT}"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-lang/perl-5.6
- >=dev-build/automake-wrapper-20240607
- >=dev-build/autoconf-2.69:*
- sys-devel/gnuconfig
-"
-BDEPEND="
- app-alternatives/gzip
- sys-apps/help2man
- dev-build/autoconf-wrapper
- dev-build/autoconf
- test? (
- ${PYTHON_DEPS}
- dev-util/dejagnu
- sys-devel/bison
- sys-devel/flex
- )
- verify-sig? ( sec-keys/openpgp-keys-jimmeyering )
-"
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- export WANT_AUTOCONF=2.5
- # Don't try wrapping the autotools - this thing runs as it tends
- # to be a bit esoteric, and the script does `set -e` itself.
- ./bootstrap || die
- sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
-
- # bug #628912
- if ! has_version -b sys-apps/texinfo ; then
- touch doc/{stamp-vti,version.texi,automake.info} || die
- fi
-}
-
-src_configure() {
- # Also used in install.
- infopath="${EPREFIX}/usr/share/automake-${PV}/info"
- econf --infodir="${infopath}"
-}
-
-src_test() {
- # Fails with byacc/flex
- emake YACC="bison -y" LEX="flex" check
-}
-
-src_install() {
- default
-
- rm "${ED}"/usr/share/aclocal/README || die
- rmdir "${ED}"/usr/share/aclocal || die
- rm \
- "${ED}"/usr/bin/{aclocal,automake} \
- "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
-
- # remove all config.guess and config.sub files replacing them
- # w/a symlink to a specific gnuconfig version
- local x
- for x in guess sub ; do
- dosym ../gnuconfig/config.${x} \
- /usr/share/${PN}-${SLOT}/config.${x}
- done
-
- # Avoid QA message about pre-compressed file in docs
- local tarfile="${ED}/usr/share/doc/${PF}/amhello-1.0.tar.gz"
- if [[ -f "${tarfile}" ]] ; then
- gunzip "${tarfile}" || die
- fi
-
- pushd "${D}/${infopath}" >/dev/null || die
- for f in *.info*; do
- # Install convenience aliases for versioned Automake pages.
- ln -s "$f" "${f/./-${PV}.}" || die
- done
- popd >/dev/null || die
-
- if [[ ${PV} == 9999 ]]; then
- local major="89"
- local minor="999"
- else
- local major="$(ver_cut 1)"
- if [[ $(ver_cut 3) -ge 90 ]] ; then
- local minor=$(($(ver_cut 2) + 1))
- else
- local minor="$(ver_cut 2)"
- fi
- fi
- local idx="$((99999-(major*1000+minor)))"
- newenvd - "06automake${idx}" <<-EOF
- INFOPATH="${infopath}"
- EOF
-
- docompress "${MY_INFODIR}"
-}
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.92.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.17-r1.ebuild
similarity index 93%
rename from sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.92.ebuild
rename to sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.17-r1.ebuild
index ac793c1acd3..eeadb43cf47 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.92.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.17-r1.ebuild
@@ -8,7 +8,7 @@ EAPI=8
# on new automake (major) releases, as well as the dependency in RDEPEND below too.
# * Update _WANT_AUTOMAKE and _automake_atom case statement in autotools.eclass.
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit python-any-r1 verify-sig
@@ -35,7 +35,7 @@ else
mirror://gnu/${PN}/${P}.tar.xz.sig
)
"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
fi
@@ -144,5 +144,5 @@ src_install() {
INFOPATH="${infopath}"
EOF
- docompress "${MY_INFODIR}"
+ docompress "${infopath}"
}
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-9999.ebuild
index ac793c1acd3..eeadb43cf47 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-9999.ebuild
@@ -8,7 +8,7 @@ EAPI=8
# on new automake (major) releases, as well as the dependency in RDEPEND below too.
# * Update _WANT_AUTOMAKE and _automake_atom case statement in autotools.eclass.
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit python-any-r1 verify-sig
@@ -35,7 +35,7 @@ else
mirror://gnu/${PN}/${P}.tar.xz.sig
)
"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
fi
@@ -144,5 +144,5 @@ src_install() {
INFOPATH="${infopath}"
EOF
- docompress "${MY_INFODIR}"
+ docompress "${infopath}"
}
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest
index 66d50b7d82e..b3d94d5fd9d 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest
@@ -2,9 +2,17 @@ DIST cmake-3.27.0-docs.tar.xz 521348 BLAKE2B 319c84195c37b1944bb5d3fde1aeae75623
DIST cmake-3.27.9-SHA-256.txt 1646 BLAKE2B abfef38f8994d7684a44caaa4a5efa1ac8fbe38bd8e8c98bf341cf813f77ee54bea58f7b3ab7f68b3f5d992519396fd15a1f72a1d9587f593d80b8d2f8ba36e7 SHA512 310c45281735cf9812d9d1cf22a656c5b44e596ef7032a8b7b09900ef838e74b884599b42ed2f5469946f371d431b7d4b1e44f6cd49dfb36ea49d88b187b4804
DIST cmake-3.27.9-SHA-256.txt.asc 833 BLAKE2B 57d52fc2f3233662af13eb362ec82626c4821267f55f1313907513b61cee5b8481936da2b03c908c507b3e0919e4811e90c6cb47568420a8b2187c7942de9f1e SHA512 cad2007e356eac480b2cb93778f90152788e33be2e565b38535a2d205794054e5d67d4ed7db0765a05017aedc5f1af21556535a084014fe6c446bc13258253da
DIST cmake-3.27.9.tar.gz 10984490 BLAKE2B 66f8fb6e301ed19f993fde6c4f9e336124be6373d49b58d130ce59f4e5225cd27e02813856636b51c2521403c3a56c200ce646de5c35be2b25b5e6240c98bdb4 SHA512 56ce723b0b6d09b420a2f89ba1636cdfb1bc305bc2df91ae716f866bee07f5d702d75efbddfbaf724f47382df809107fe1e6d046314cd2f1ff07bca34ad6340a
+DIST cmake-3.28.0-docs.tar.xz 525776 BLAKE2B b643f76012768f0100c51f0dd146230eba25b634ab4f9abd9c739b0b257e4b1d54aa01be8d2dcd27a7b1d9822bf13eb8af16ff3c6984eeefdeb58988a164bc26 SHA512 474dc77e44240de921013219bd7cdc4aee80214fbf38d60dc2ddb53c0fda8a11c466c01bbee2abbd32b711ec7524678515e39a79a5634354a6cb38f9683e229f
DIST cmake-3.28.5-SHA-256.txt 1646 BLAKE2B 763cbec9ede58cc43a7435e3fe97a9a9f28b201712f52d98ecdf8035887232fe6000675c9bab90f275ff6d44406839f04352784a921dcbc9d65c5e2440b53f52 SHA512 0fdeed277d113e4642c11b87b98305da43213bd89566e3aaaf427a11e168d9e6754632c2fd76fae542d29fddfa8b67c3c0df19f741c53fdd3aea8ce7bec73ff3
DIST cmake-3.28.5-SHA-256.txt.asc 833 BLAKE2B bde735a577b556bc30ae1a5de0df8533243c955cc5d222537b3323e7108900af2f01799a4bfa843d953b141cc76a19aed77bfba15cf4e2c3cc36a0e7e844e853 SHA512 d495afd2ce4e16f8d3ecc0b319d59c3634aae71c26110d14225f9dd628bfe173cdd94818c69c930ef5cfff3b331445e192db0082188e0822155184e3f6f80e7d
DIST cmake-3.28.5.tar.gz 11076017 BLAKE2B 7da653e42fca4848362a97e80320ffcc85ced4951dfe475f48f1619a40dc674d2828a78df2ef09589868f41f1da86970074186f730e675851cd9e7c1b099ba4c SHA512 d8f1c056e94c835c2078a5e68b23a3918f0e2cc40ef9dacaf5df4f2c26106149d85364c01528fcc2d6a4b6c2182ba420d938c519fa98757a5fc375cf152c7f82
DIST cmake-3.29.3-SHA-256.txt 1646 BLAKE2B a1cb6895e9d98ac750450230adaba562a4be7134563869feb59c5a32dbea62a49273a9d163aade84c81fa410a94fcdfe2adaa653cd663972376b20a3b5436be9 SHA512 118604ac64ccd02995e6b421c256cb414637471094a72ff65d0f604cc4cc9f869f64fe1d409584925b93050373e7b69966ea91e4a9fc34b98287b0ee49eeb23c
DIST cmake-3.29.3-SHA-256.txt.asc 833 BLAKE2B e4bfe4ea447441bcb7d4c46861b30da21e15ba6327c5ccbf1456ef273383b0ce8ee4a2e5a3de3312e112c26fe256e23021f4a1f89f8f96b5b39ff28398d4a51c SHA512 f2ed15c13a8fc7e05f5a8e41c3506435b4a204be37372c769577b51e30478740863eac800d32a0ef838f9b0a1125c1fe6772132ac4570e88a482109d42333fd9
DIST cmake-3.29.3.tar.gz 11247199 BLAKE2B 8d18aca8871a615a4dca8eeb380ad79fdf41a2696bfbc69141db2a2715ff52b2a17c57b195aa00f7b0643791f40991c123056ef10482e80c1f963631d8d8ea50 SHA512 930060cf484a769992ebc798d5e81984560b2cd7e163db7053181ad842656ccd0085e7e077c9c620e719d212f78283ca0db19bec5491a355d38078bbe0bac254
+DIST cmake-3.29.6-SHA-256.txt 1646 BLAKE2B 8d2e11fe0e7ba89e394e51920657deb793e5f45026ebb86c39748410f110568c68021099286901f05fea47bf641d583b4f3715fe315e795cc8041a1fb66d5107 SHA512 1df0e791c3f42e5f96a967b385155b1f2e5214d78df639c81d2632455748f68423ab5de580f7f3e64c06387fd25247660da4b4bda0c9881f7ca25a317b62556f
+DIST cmake-3.29.6-SHA-256.txt.asc 833 BLAKE2B 25e2588375d353cc3d56480dae7aa3d2376c11cb1d830167f57544429fb0b455aeaceb121ac0fdd3f6f2b235c418bc4f52eafacc436472d9a2f3e80b97b08b18 SHA512 f01fff8b188ddd5aa7501acba3d68f3ba2a6b94d402af1afd716be66fa8f76c2d373cd6851a7fe308761171e2206c60f4f785209c86170037afcf3f416f080de
+DIST cmake-3.29.6.tar.gz 11248411 BLAKE2B cfd639ce975a4a13221d1fffea97c3bf0599c9af1c8de28e340013ea918bd0fc1eff1d97ca07b2cdd9c34f790950246530ebf1282d400f658fb2d1f4f89a089c SHA512 ecb7b62d2ed133da5c03932d78cc218deddd3c5d7d1116a5ded80b07f6e5f8145928fc15a5c22265995a2b451b1e20aa4dcaa1918060d025485fe8fa7730f3ec
+DIST cmake-3.30.0-SHA-256.txt 1646 BLAKE2B 9ef563e1b7a49a34bd08547483e628de469edf64889e4a82975441eba6ec77f1ae3cafec4bfcc641699f9c5a60a9998960a6a3e0fd2b955678dc3c40729248ed SHA512 7236dba187dcd5c92b5221116fe31931324ffd09f3371eb3d06b10cdcdb45c6822d95646cf4f8a44926210485f68f34c09f78cc4e3939b5f176f84aa818e82cd
+DIST cmake-3.30.0-SHA-256.txt.asc 833 BLAKE2B 2c2657afba4b9d2b176d82789d634505e1eb9a1f46969a0993aadf52da34a242dc104988bc2d5d24cecbab7f32266aa22ac57c09986e20871321bbab11d2aa92 SHA512 de86b2b88c78bc5db905f0d8cbbb7f3ce736c1905375de93d68a2eea3927a02bc4d93d2f3a49c6cb5b0afbc61f6520c9cb1e8b4a33897670d16caff60aa4cdb3
+DIST cmake-3.30.0-docs.tar.xz 572276 BLAKE2B 0c258f8dd0a518bb7bf97d35a778d8e406c986e123fc8acafb174a750ad0883d346254d12e8134dd9d030faefddc13b8260e7b43e405272157ada742c75b5fc2 SHA512 9d534b0efc30829f1144fb32c4f10ba25749e238c8ceeb4399b6d1eb8421b9fb1363972a497757ef84689bb987840619cbb4333ae95fd2397eea07eebed112c1
+DIST cmake-3.30.0.tar.gz 11500060 BLAKE2B 62b3f3d5ed92f7f118991f36ba7098ff20c202dd924ecd1e7af3fedc54345c5db26ce6fa782fe1acb490857b478067c17383f0453dece579482c2e962bd9de12 SHA512 1dd872a3f93cfadb7ac0f93177e7d4d7ded67cf09c71b1b776dc3bc8b7d4e44dd81533a8a4bf2c9eaaed56443060aa27a11250a5e47de316c89db7e146929782
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.27.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.27.9.ebuild
index 4ca92ca579c..2ab3b437332 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.27.9.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.27.9.ebuild
@@ -9,8 +9,7 @@ EAPI=8
: ${CMAKE_DOCS_PREBUILT:=1}
CMAKE_DOCS_PREBUILT_DEV=sam
-#CMAKE_DOCS_VERSION=$(ver_cut 1-3)
-CMAKE_DOCS_VERSION=3.27.0
+CMAKE_DOCS_VERSION=$(ver_cut 1-2).0
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
# See bug #784815
CMAKE_DOCS_USEFLAG="+doc"
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.28.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.28.5.ebuild
index ba937cf90d2..03a085cef92 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.28.5.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.28.5.ebuild
@@ -9,8 +9,7 @@ EAPI=8
: ${CMAKE_DOCS_PREBUILT:=1}
CMAKE_DOCS_PREBUILT_DEV=sam
-#CMAKE_DOCS_VERSION=$(ver_cut 1-3)
-CMAKE_DOCS_VERSION=3.27.0
+CMAKE_DOCS_VERSION=$(ver_cut 1-2).0
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
# See bug #784815
CMAKE_DOCS_USEFLAG="+doc"
@@ -179,13 +178,9 @@ src_prepare() {
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
- if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
- CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
- cmake_src_bootstrap
- fi
-}
+ ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must*
+ ## handle them as part of bootstrapping, sadly.
-src_configure() {
# Fix linking on Solaris
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
@@ -193,6 +188,13 @@ src_configure() {
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
filter-lto
+ if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
+ CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
+ cmake_src_bootstrap
+ fi
+}
+
+src_configure() {
local mycmakeargs=(
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
-DCMake_ENABLE_DEBUGGER=$(usex dap)
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.3.ebuild
index 45477a10bfc..b40e1ca5c08 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.3.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.3.ebuild
@@ -9,8 +9,7 @@ EAPI=8
: ${CMAKE_DOCS_PREBUILT:=1}
CMAKE_DOCS_PREBUILT_DEV=sam
-#CMAKE_DOCS_VERSION=$(ver_cut 1-3)
-CMAKE_DOCS_VERSION=3.27.0
+CMAKE_DOCS_VERSION=3.28.0
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
# See bug #784815
CMAKE_DOCS_USEFLAG="+doc"
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.6.ebuild
new file mode 100644
index 00000000000..dc2e2378fa0
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.6.ebuild
@@ -0,0 +1,284 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs
+# Set to 1 if prebuilt, 0 if not
+# (the construct below is to allow overriding from env for script)
+: ${CMAKE_DOCS_PREBUILT:=1}
+
+CMAKE_DOCS_PREBUILT_DEV=sam
+CMAKE_DOCS_VERSION=3.28.0
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+# See bug #784815
+CMAKE_DOCS_USEFLAG="+doc"
+
+# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
+# ... but seems fine as of 3.22.3?
+# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759.
+CMAKE_MAKEFILE_GENERATOR="emake"
+CMAKE_REMOVE_MODULES_LIST=( none )
+inherit bash-completion-r1 cmake flag-o-matic multiprocessing \
+ toolchain-funcs xdg-utils
+
+MY_P="${P/_/-}"
+
+DESCRIPTION="Cross platform Make"
+HOMEPAGE="https://cmake.org/"
+if [[ ${PV} == 9999 ]] ; then
+ CMAKE_DOCS_PREBUILT=0
+
+ EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git"
+ inherit git-r3
+else
+ SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
+
+ if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
+ SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )"
+ fi
+
+ if [[ ${PV} != *_rc* ]] ; then
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc
+ inherit verify-sig
+
+ SRC_URI+=" verify-sig? (
+ https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt
+ https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc
+ )"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+ BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20230817 )"
+ fi
+fi
+
+[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses qt6 test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-arch/libarchive-3.3.3:=
+ app-crypt/rhash:0=
+ >=dev-libs/expat-2.0.1
+ >=dev-libs/jsoncpp-1.9.2-r2:0=
+ >=dev-libs/libuv-1.10.0:=
+ >=net-misc/curl-7.21.5[ssl]
+ sys-libs/zlib
+ virtual/pkgconfig
+ dap? ( dev-cpp/cppdap )
+ gui? (
+ !qt6? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+ )
+ ncurses? ( sys-libs/ncurses:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND+="
+ doc? (
+ dev-python/requests
+ dev-python/sphinx
+ )
+ test? ( app-arch/libarchive[zstd] )
+"
+
+SITEFILE="50${PN}-gentoo.el"
+
+PATCHES=(
+ # Prefix
+ "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch
+ "${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch
+ # Misc
+ "${FILESDIR}"/${PN}-3.27.0_rc1-0003-Prefer-pkgconfig-in-FindBLAS.patch
+ "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch
+ "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch
+ "${FILESDIR}"/${PN}-3.27.0_rc1-0006-Filter-out-distcc-warnings-to-avoid-confusing-CMake.patch
+
+ # Upstream fixes (can usually be removed with a version bump)
+)
+
+cmake_src_bootstrap() {
+ # disable running of cmake in bootstrap command
+ sed -i \
+ -e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
+ bootstrap || die "sed failed"
+
+ # execinfo.h on Solaris isn't quite what it is on Darwin
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ sed -i -e 's/execinfo\.h/blablabla.h/' \
+ Source/kwsys/CMakeLists.txt || die
+ fi
+
+ # bootstrap script isn't exactly /bin/sh compatible
+ tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \
+ --prefix="${T}/cmakestrap/" \
+ --parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \
+ || die "Bootstrap failed"
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then
+ default
+ else
+ cd "${DISTDIR}" || die
+
+ # See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature
+ verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc}
+ verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz
+
+ cd "${WORKDIR}" || die
+
+ default
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # Disable Xcode hooks, bug #652134
+ sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \
+ Source/CMakeLists.txt || die
+ sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \
+ -e '/cmGlobalXCodeGenerator.h/d' \
+ Source/cmake.cxx || die
+
+ # Disable isysroot usage with GCC, we've properly instructed
+ # where things are via GCC configuration and ldwrapper
+ sed -i -e '/cmake_gnu_set_sysroot_flag/d' \
+ Modules/Platform/Apple-GNU-*.cmake || die
+ # Disable isysroot usage with clang as well
+ sed -i -e '/_SYSROOT_FLAG/d' \
+ Modules/Platform/Apple-Clang.cmake || die
+ # Don't set a POSIX standard, system headers don't like that, #757426
+ sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
+ Source/cmLoadCommandCommand.cxx \
+ Source/cmStandardLexer.h \
+ Source/cmSystemTools.cxx \
+ Source/cmTimestamp.cxx
+ sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
+ Source/cmStandardLexer.h
+ fi
+
+ # Add gcc libs to the default link paths
+ sed -i \
+ -e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
+ -e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
+ -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
+ Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
+
+ ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must*
+ ## handle them as part of bootstrapping, sadly.
+
+ # Fix linking on Solaris
+ [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
+
+ # ODR warnings, bug #858335
+ # https://gitlab.kitware.com/cmake/cmake/-/issues/20740
+ filter-lto
+
+ if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
+ CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
+ cmake_src_bootstrap
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_USE_SYSTEM_LIBRARIES=ON
+ -DCMake_ENABLE_DEBUGGER=$(usex dap)
+ -DCMAKE_DOC_DIR=/share/doc/${PF}
+ -DCMAKE_MAN_DIR=/share/man
+ -DCMAKE_DATA_DIR=/share/${PN}
+ -DSPHINX_MAN=$(usex doc)
+ -DSPHINX_HTML=$(usex doc)
+ -DBUILD_CursesDialog="$(usex ncurses)"
+ -DBUILD_TESTING=$(usex test)
+ -DBUILD_QtDialog=$(usex gui)
+ )
+
+ use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=$(usex qt6 6 5) )
+
+ cmake_src_configure
+}
+
+src_test() {
+ # Fix OutDir and SelectLibraryConfigurations tests
+ # these are altered thanks to our eclass
+ sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
+ "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
+ || die
+
+ unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS
+
+ pushd "${BUILD_DIR}" > /dev/null || die
+
+ # Excluded tests:
+ # BootstrapTest: we actualy bootstrap it every time so why test it.
+ # BundleUtilities: bundle creation broken
+ # CMakeOnly.AllFindModules: pthread issues
+ # CTest.updatecvs: which fails to commit as root
+ # Fortran: requires fortran
+ # RunCMake.CompilerLauncher: also requires fortran
+ # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
+ # debugedit binary is not in the expected location
+ # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
+ # it can't find a deb package that owns libc
+ # TestUpload, which requires network access
+ # RunCMake.CMP0125, known failure reported upstream (bug #829414)
+ local myctestargs=(
+ --output-on-failure
+ -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \
+ )
+
+ local -x QT_QPA_PLATFORM=offscreen
+
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ # If USE=doc, there'll be newly generated docs which we install instead.
+ if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8]
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins Auxiliary/vim/syntax/cmake.vim
+
+ insinto /usr/share/vim/vimfiles/indent
+ doins Auxiliary/vim/indent/cmake.vim
+
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins "${FILESDIR}/${PN}.vim"
+
+ dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack}
+}
+
+pkg_postinst() {
+ if use gui; then
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ fi
+}
+
+pkg_postrm() {
+ if use gui; then
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ fi
+}
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.0.ebuild
new file mode 100644
index 00000000000..c119ad22dc7
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.0.ebuild
@@ -0,0 +1,283 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs
+# Set to 1 if prebuilt, 0 if not
+# (the construct below is to allow overriding from env for script)
+: ${CMAKE_DOCS_PREBUILT:=1}
+
+CMAKE_DOCS_PREBUILT_DEV=sam
+CMAKE_DOCS_VERSION=$(ver_cut 1-2).0
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+# See bug #784815
+CMAKE_DOCS_USEFLAG="+doc"
+
+# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
+# ... but seems fine as of 3.22.3?
+# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759.
+CMAKE_MAKEFILE_GENERATOR="emake"
+CMAKE_REMOVE_MODULES_LIST=( none )
+inherit bash-completion-r1 cmake flag-o-matic multiprocessing \
+ toolchain-funcs xdg-utils
+
+MY_P="${P/_/-}"
+
+DESCRIPTION="Cross platform Make"
+HOMEPAGE="https://cmake.org/"
+if [[ ${PV} == 9999 ]] ; then
+ CMAKE_DOCS_PREBUILT=0
+
+ EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git"
+ inherit git-r3
+else
+ SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
+
+ if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
+ SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )"
+ fi
+
+ if [[ ${PV} != *_rc* ]] ; then
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc
+ inherit verify-sig
+
+ SRC_URI+=" verify-sig? (
+ https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt
+ https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc
+ )"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+ BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20230817 )"
+ fi
+fi
+
+[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses qt6 test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-arch/libarchive-3.3.3:=
+ app-crypt/rhash:0=
+ >=dev-libs/expat-2.0.1
+ >=dev-libs/jsoncpp-1.9.2-r2:0=
+ >=dev-libs/libuv-1.10.0:=
+ >=net-misc/curl-7.21.5[ssl]
+ sys-libs/zlib
+ virtual/pkgconfig
+ dap? ( dev-cpp/cppdap )
+ gui? (
+ !qt6? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+ )
+ ncurses? ( sys-libs/ncurses:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND+="
+ doc? (
+ dev-python/requests
+ dev-python/sphinx
+ )
+ test? ( app-arch/libarchive[zstd] )
+"
+
+SITEFILE="50${PN}-gentoo.el"
+
+PATCHES=(
+ # Prefix
+ "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch
+ "${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch
+ # Misc
+ "${FILESDIR}"/${PN}-3.27.0_rc1-0003-Prefer-pkgconfig-in-FindBLAS.patch
+ "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch
+ "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch
+
+ # Upstream fixes (can usually be removed with a version bump)
+)
+
+cmake_src_bootstrap() {
+ # disable running of cmake in bootstrap command
+ sed -i \
+ -e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
+ bootstrap || die "sed failed"
+
+ # execinfo.h on Solaris isn't quite what it is on Darwin
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ sed -i -e 's/execinfo\.h/blablabla.h/' \
+ Source/kwsys/CMakeLists.txt || die
+ fi
+
+ # bootstrap script isn't exactly /bin/sh compatible
+ tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \
+ --prefix="${T}/cmakestrap/" \
+ --parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \
+ || die "Bootstrap failed"
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then
+ default
+ else
+ cd "${DISTDIR}" || die
+
+ # See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature
+ verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc}
+ verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz
+
+ cd "${WORKDIR}" || die
+
+ default
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # Disable Xcode hooks, bug #652134
+ sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \
+ Source/CMakeLists.txt || die
+ sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \
+ -e '/cmGlobalXCodeGenerator.h/d' \
+ Source/cmake.cxx || die
+
+ # Disable isysroot usage with GCC, we've properly instructed
+ # where things are via GCC configuration and ldwrapper
+ sed -i -e '/cmake_gnu_set_sysroot_flag/d' \
+ Modules/Platform/Apple-GNU-*.cmake || die
+ # Disable isysroot usage with clang as well
+ sed -i -e '/_SYSROOT_FLAG/d' \
+ Modules/Platform/Apple-Clang.cmake || die
+ # Don't set a POSIX standard, system headers don't like that, #757426
+ sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
+ Source/cmLoadCommandCommand.cxx \
+ Source/cmStandardLexer.h \
+ Source/cmSystemTools.cxx \
+ Source/cmTimestamp.cxx
+ sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
+ Source/cmStandardLexer.h
+ fi
+
+ # Add gcc libs to the default link paths
+ sed -i \
+ -e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
+ -e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
+ -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
+ Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
+
+ ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must*
+ ## handle them as part of bootstrapping, sadly.
+
+ # Fix linking on Solaris
+ [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
+
+ # ODR warnings, bug #858335
+ # https://gitlab.kitware.com/cmake/cmake/-/issues/20740
+ filter-lto
+
+ if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
+ CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
+ cmake_src_bootstrap
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_USE_SYSTEM_LIBRARIES=ON
+ -DCMake_ENABLE_DEBUGGER=$(usex dap)
+ -DCMAKE_DOC_DIR=/share/doc/${PF}
+ -DCMAKE_MAN_DIR=/share/man
+ -DCMAKE_DATA_DIR=/share/${PN}
+ -DSPHINX_MAN=$(usex doc)
+ -DSPHINX_HTML=$(usex doc)
+ -DBUILD_CursesDialog="$(usex ncurses)"
+ -DBUILD_TESTING=$(usex test)
+ -DBUILD_QtDialog=$(usex gui)
+ )
+
+ use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=$(usex qt6 6 5) )
+
+ cmake_src_configure
+}
+
+src_test() {
+ # Fix OutDir and SelectLibraryConfigurations tests
+ # these are altered thanks to our eclass
+ sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
+ "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
+ || die
+
+ unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS
+
+ pushd "${BUILD_DIR}" > /dev/null || die
+
+ # Excluded tests:
+ # BootstrapTest: we actualy bootstrap it every time so why test it.
+ # BundleUtilities: bundle creation broken
+ # CMakeOnly.AllFindModules: pthread issues
+ # CTest.updatecvs: which fails to commit as root
+ # Fortran: requires fortran
+ # RunCMake.CompilerLauncher: also requires fortran
+ # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
+ # debugedit binary is not in the expected location
+ # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
+ # it can't find a deb package that owns libc
+ # TestUpload, which requires network access
+ # RunCMake.CMP0125, known failure reported upstream (bug #829414)
+ local myctestargs=(
+ --output-on-failure
+ -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \
+ )
+
+ local -x QT_QPA_PLATFORM=offscreen
+
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ # If USE=doc, there'll be newly generated docs which we install instead.
+ if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8]
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins Auxiliary/vim/syntax/cmake.vim
+
+ insinto /usr/share/vim/vimfiles/indent
+ doins Auxiliary/vim/indent/cmake.vim
+
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins "${FILESDIR}/${PN}.vim"
+
+ dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack}
+}
+
+pkg_postinst() {
+ if use gui; then
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ fi
+}
+
+pkg_postrm() {
+ if use gui; then
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ fi
+}
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-9999.ebuild
index bae1fe0b556..199bff8efd1 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-9999.ebuild
@@ -9,8 +9,7 @@ EAPI=8
: ${CMAKE_DOCS_PREBUILT:=1}
CMAKE_DOCS_PREBUILT_DEV=sam
-#CMAKE_DOCS_VERSION=$(ver_cut 1-3)
-CMAKE_DOCS_VERSION=3.27.0
+CMAKE_DOCS_VERSION=$(ver_cut 1-2).0
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
# See bug #784815
CMAKE_DOCS_USEFLAG="+doc"
@@ -179,13 +178,9 @@ src_prepare() {
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
- if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
- CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
- cmake_src_bootstrap
- fi
-}
+ ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must*
+ ## handle them as part of bootstrapping, sadly.
-src_configure() {
# Fix linking on Solaris
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
@@ -193,6 +188,13 @@ src_configure() {
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
filter-lto
+ if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
+ CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
+ cmake_src_bootstrap
+ fi
+}
+
+src_configure() {
local mycmakeargs=(
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
-DCMake_ENABLE_DEBUGGER=$(usex dap)
@@ -218,6 +220,8 @@ src_test() {
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|| die
+ unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS
+
pushd "${BUILD_DIR}" > /dev/null || die
# Excluded tests:
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson-format-array/meson-format-array-0.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson-format-array/meson-format-array-0.ebuild
index e9b3d6f92bc..d9e12ab903f 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/meson-format-array/meson-format-array-0.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-build/meson-format-array/meson-format-array-0.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit python-r1
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/meson/Manifest
index 762d95058f6..24e33d0e26a 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/meson/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/Manifest
@@ -4,12 +4,12 @@ DIST meson-1.2.3.tar.gz 2184484 BLAKE2B 7d76c54bddba249ab97ebd5dd0afc448177ff9fa
DIST meson-1.2.3.tar.gz.asc 833 BLAKE2B 1416c49302aab80b5f647cc1d6cd18c36f6199e79c7d13ea284143b2423267b5823850218578626937c14589ebcdf19069b310394c63bc762ab8f59d7ebe3780 SHA512 852c031ecfe032cb48d284bb270597d114294b7d1be5dd0df6ec2f78a62e1a5ba82711bc14ae410e47ced54f99a639055a1628b0acf7aa07a3a80034fce5ebc9
DIST meson-1.3.2.tar.gz 2223798 BLAKE2B 72b061598a0cb22517460de4df25394a9dfbddb536c5b8e75b7267ae21292fe2a6a3ec16d64aa81cde63d33022decebcc051cf2d87d677f9b40eb2f4106a40cd SHA512 6369c6d64f91c769f0f4d3e2445bb3615785998489d41acba2134b44ec89abd04bd97a3d3d17c64779eb40b0bf4808e3419eb47638169446a98824d680f37a7b
DIST meson-1.3.2.tar.gz.asc 833 BLAKE2B b11ae2be4e9cb0278be9cafd304146432e606a5fd23379d08116943676286f240fb8cc1d5f897cbd4c2bacfe298802afb1a847e447d71250f58cee5dec38083b SHA512 0cb9575fb599cba4ae77c1954599a24b1f079c46cf255bb8d581ef434598503db6e08af6a95b7c00bc54c165ec8fd9834310e2d4874afe01c5d44e72cef496b3
-DIST meson-1.4.0.tar.gz 2224663 BLAKE2B 7f742ef870c182e552c1ff3508d65f251009d610def6a08e01fddb6c6a4ed6d608ead0d52cf8ca7d66b5bd7a4732dccd7ab5d98f141a4a61e275398885f79486 SHA512 2787941fbc77d5ad95011753df52fe39812929a06d84dbce8bdc965c9c1e62fd6bfa819712eb1f5934c2ebe6919a65f7874ecac2caf40d111ea024343108cfbd
-DIST meson-1.4.0.tar.gz.asc 833 BLAKE2B 6e4002303da16bcaa3d1d3c76a3485b23174074de2d29bd34347a4671d7fb0f1c0767559ed9267e0f0b52c02638b85a11a5980f4ee188e7e4d35c733b0821c62 SHA512 ea73e72d929bf30d28c033f103fd1d26bac7cef175aabbf9b3a24c7b336682c28f5aae184e04d2189731cf80dd7571939cb02de642bb5b412cea996ca30dfdad
DIST meson-1.4.1.tar.gz 2235558 BLAKE2B 1eb83ad34d9e0a80eaf667a5edf04cf40ff043c0b9e8c78c5bd553eb2dae372b4c0dc8e30760da0321b7c33d331304c21c7f51d2133681c9fa66d551039952f3 SHA512 2616bcca70d5554407d4852aa3494e05e53aa8a33f58859ada42750221922fcb6ea7f3452844883f4800d77eed4a7289b061324871218f052219b3caa02dcc9e
DIST meson-1.4.1.tar.gz.asc 833 BLAKE2B cbdac6620111acbb8c1e07a017a9f5f1cea2cfee62dc7ebf77a9dba7a578e43f8706923e4054ae8458c27a43112c634811c1a0d698f693f2e40744288ce586ea SHA512 bfc4f52a5e21684012aeef95dafba74a6d730efe88bc81bc410c183c253605f119dacd9684c3742ce1d3abf798a4443172526e535523531443beb0ca8c1c3633
-DIST meson-1.5.0rc1.tar.gz 2253455 BLAKE2B 1e0d9e350532a75c8db8295dba4e12527eca9be21cf9dfd55f86fb4f063c618e93c5f579c23ddebf322a3c2e29fbad41ce9051565bd997c3b234d7eb6c3a0f60 SHA512 d19168bf32a1c758c63d08cf8eb0b8c3b63b22e8bdef1ccccf2b7d6970cc1a4ea9400b0ee593765ad579c8184cfa6b731138a040d2aad6ebe9943c8c7778da13
-DIST meson-1.5.0rc1.tar.gz.asc 833 BLAKE2B 256058d06f2e13eab8b2a82211d78f7fd2fc70ec65f7e97a1441311a6df5ca82a7950f06b4523af6494951a4a49bba5ed69c8cefc95b56fe7913e2c17a300b31 SHA512 260052a143ea050ada19673d622a459c36717d6bedf56c699c2afbf287ad78d01572c50d510d875537f4ad81442a5caed5639b9f5c25b015ca4041335f92b1d7
-DIST meson-reference-1.4.0.3 339324 BLAKE2B 8ad24592c1a9100832dead97a55d4cb358892fc1cd6aee641f9610cb6a5df211831e6cfc42e047d5e835ed53de1bb9c7d711dd1a0a8cfe18a0f85e92a1a3f925 SHA512 8df06f63db6db01a6c8c0a5b4a8b26c868bb027f26580d290288b1067429a526fb654fae01a45085c1f20ee8dab1b5325e8b2fd285faf175d2fcfc2c704b4768
+DIST meson-1.4.2.tar.gz 2227701 BLAKE2B 11d98d8c84545390bd35b393ae02db7876a38dad56c363471b5be59521f08c0b70da5dc5b3f991e5c715d6b59f4752738515bd8dc2412a6dc5ca1fa42e7cd63b SHA512 4aed1a5f133de2c6839bab361a0e911dd5697f5dac2a8f100df69d43a8880a810dcfa1aa6402cdfb9c5e14fdceec76925f0496c301c31ba733a32618c403eaf0
+DIST meson-1.4.2.tar.gz.asc 833 BLAKE2B 64ce1fc0fecdd6aa76bb89d88ff7497548d82afc00805c083a0bca7ce4cee41dc50be50368e333649ae7e863c03ea780fe24a48c525281fbbcab679b540f4254 SHA512 51d3245f9443cb398e2e8f225f00a853848bde1bfba02bae6334d47115e36ad96c8ec03244f6169c89d73162b86a73158a7f8d08d5bd6b3d28e8369ce7b55093
+DIST meson-1.5.0.tar.gz 2257170 BLAKE2B 5103622831a3581b428f9cdd96950b8544ddfdcbd384ec2ccd344d6b9ffb2cdd7da069963d57b09a22f26938f6a3b34823abe678fb50a0fe8d79c8abc7899605 SHA512 f0a25cf134949739c698eddaea602bf7852866b3fee3d2c11c1e6b6e48c944cf92abc3d171a2e42e21077edc01f1e7079d451f5624e2b6131382e114e814db3e
+DIST meson-1.5.0.tar.gz.asc 833 BLAKE2B 43c1e0f197520d3151ea4a41e3723666034fbfba0d794a18783ed765e5844776337f8119aed5897f5320922ac8978992f3900756300b54970bf1066f6fcde629 SHA512 35537ebc8c430eb3c011ff75529442e0ab364aa4fbec8176c340b5f466cd7f2217ab7ed6a03c7bdb577b86bb3472faa054e5ce0472edbb690fe76f39845c2dd6
DIST meson-reference-1.4.1.3 339324 BLAKE2B a0ea6a1dd599c0a559dae64772f730ac7cad7df3ea63acc8355ff933152873567803efff012e6ea0a4c75ef9c8be023a8d927411a49e43de20bbfc69b1263488 SHA512 fc94aa95df3cd04af49ab2f27050c3ef206407a2ccb3b61d9c8660deba55eae3fb627d83713de62f3e1216a1a33a88e989bf5b557b7e17adbb73a57d5f2ad11a
-DIST meson-reference-1.5.0rc1.3 341787 BLAKE2B aaa8b32db40cfcb91fab2a147e7d4ca77e934606f630eda3362adeaa2f25df25ee4393876a4c4e5a6320ec4c4c689dcb2f8d0560d74b694c61d9449da44fd508 SHA512 4cb6ca649f167b477fc26f45bde9eb3e7fe9b322efe55146578ddc42ad075737a3d15ca3d6724d2ffa52131d5f4bb3b480d02eda20a38bfffd326910de0d5f92
+DIST meson-reference-1.4.2.3 339324 BLAKE2B 1a4fbd8c27a8cfba773777eabd2ebaa0f76ec0c61dcfe1c7b4483737b348ff9528d68f26e68d7d40b2e1875611eed5b9a31c1cf55fed8eabb42fc1e31d9ef14b SHA512 8b8ec43e812599203ec44c08805eb6818485805c45b9c69802261eaa35efc97846a96f6472c6b1ef5f6c703e7153fd957df7b805f173ca3400a2030dfbe002ca
+DIST meson-reference-1.5.0.3 341110 BLAKE2B c81d1014f93ca3848e03e6a8948190a31e1823b04134ab6861db94d5b9517252bf66fcbbc987ba2051430c54282256d729d3575db83e1e8d09fa344c6ff06dbf SHA512 b45c7b40cbe1abf7416d50c1c7658726d4feda4a30627a6dc70c7b9aab61f72c9c7c1fa915e47f4b50e9d82987e4179db8ab3d5158ec5ef3d7856335b604f603
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.1.ebuild
index c46e944a5d1..d30bc90b110 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.1.ebuild
@@ -33,7 +33,7 @@ else
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg
if [[ ${PV} != *_rc* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
fi
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.2.ebuild
similarity index 89%
rename from sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.0-r1.ebuild
rename to sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.2.ebuild
index d30bc90b110..4b7ba1a3634 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.0-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.2.ebuild
@@ -33,7 +33,7 @@ else
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg
if [[ ${PV} != *_rc* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
fi
@@ -82,6 +82,12 @@ python_prepare_all() {
# ASAN is unsupported on some targets
# https://bugs.gentoo.org/692822
-e 's/test_pch_with_address_sanitizer/_&/'
+
+ # clippy-driver fails, but only when run via portage.
+ #
+ # error[E0463]: can't find crate for `std`
+ # error: requires `sized` lang_item
+ -e 's/test_rust_clippy/_&/'
)
sed -i "${disable_unittests[@]}" unittests/*.py || die
@@ -89,6 +95,10 @@ python_prepare_all() {
# Broken due to python2 script created by python_wrapper_setup
rm -r "test cases/frameworks/1 boost" || die
+ # The 1.4.2 tarball accidentally contains some untracked files from git master:
+ # - subprojects/bar-0.1/Cargo.toml
+ rm -r "test cases/rust/25 cargo lock/"
+
distutils-r1_python_prepare_all
}
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.0_rc1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.0.ebuild
similarity index 96%
rename from sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.0_rc1.ebuild
rename to sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.0.ebuild
index 2a1d8a788db..762876dc5e4 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.0_rc1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.0.ebuild
@@ -82,6 +82,12 @@ python_prepare_all() {
# ASAN is unsupported on some targets
# https://bugs.gentoo.org/692822
-e 's/test_pch_with_address_sanitizer/_&/'
+
+ # clippy-driver fails, but only when run via portage.
+ #
+ # error[E0463]: can't find crate for `std`
+ # error: requires `sized` lang_item
+ -e 's/test_rust_clippy/_&/'
)
sed -i "${disable_unittests[@]}" unittests/*.py || die
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-9999.ebuild
index 2a1d8a788db..762876dc5e4 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-9999.ebuild
@@ -82,6 +82,12 @@ python_prepare_all() {
# ASAN is unsupported on some targets
# https://bugs.gentoo.org/692822
-e 's/test_pch_with_address_sanitizer/_&/'
+
+ # clippy-driver fails, but only when run via portage.
+ #
+ # error[E0463]: can't find crate for `std`
+ # error: requires `sized` lang_item
+ -e 's/test_rust_clippy/_&/'
)
sed -i "${disable_unittests[@]}" unittests/*.py || die
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-build/meson/metadata.xml
index f4b485f0bec..0bea8119a5b 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/meson/metadata.xml
+++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/metadata.xml
@@ -4,8 +4,8 @@
base-system@gentoo.org
-
- eschwartz93@gmail.com
+
+ eschwartz@gentoo.org
Eli Schwartz
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/ninja/Manifest
index 31bb62aaf6a..621e98b6275 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/ninja/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-build/ninja/Manifest
@@ -1,2 +1,3 @@
+DIST gtest-1.14.0.tar.gz 867764 BLAKE2B c457f55ac572b9fb1553eee3df7eeeaf1e7dd2c3d747dd5e90dd279038fa5c71bb7b7d9ba1cf7e6143898b2a1d24d100584bd2a48ded41a426870c4825eec1b2 SHA512 765c326ccc1b87a01027385e69238266e356361cd4ee3e18e3c9d137a5d11fa5d657c164d02dd1be8fe693c8e10f2b580588dbfa57d27f070e2750f50d3e662c
DIST ninja-1.11.1.tar.gz 229479 BLAKE2B c96cf7c319b7abd65f644465688d256f8b3a576c4616d0c63852e25dd0dc5f63c66708d429d8dddb6228502eb147211a86a5dd369b80ec2228902b370d2343e5 SHA512 1bca38877c70ee6613f347ffccef5adc02ba0a3947c62ae004ea97f918442b5a3de92378e4f820ae2a7676bc7609d25fbc7d41f6cfb3a61e5e4b26ec3639e403
DIST ninja-1.12.1.tar.gz 240483 BLAKE2B 915545888cbd7d9e6e7e4fb0bad42f6c36ecef2de93356966541de0f8f4315e59e47cf20f189de5de11ba2a038488c7964ec709bad8868488cc03524a88483f4 SHA512 d6e6f0e89a4844a69069ff0c7cefc07704a41c7b0c062a57534de87decdde63e27928147b321111b806aa7efa1061f031a1319b074391db61b0cbdccf096954c
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/files/ninja-1.12.1-restore-tests-bootstrap.patch b/sdk_container/src/third_party/portage-stable/dev-build/ninja/files/ninja-1.12.1-restore-tests-bootstrap.patch
new file mode 100644
index 00000000000..94aa8ab5b39
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-build/ninja/files/ninja-1.12.1-restore-tests-bootstrap.patch
@@ -0,0 +1,135 @@
+https://bugs.gentoo.org/929221
+https://github.com/ninja-build/ninja/issues/2447
+https://github.com/ninja-build/ninja/commit/afcd4a146fb82843f6ff695f89504ce4ca65ddfd
+
+From afcd4a146fb82843f6ff695f89504ce4ca65ddfd Mon Sep 17 00:00:00 2001
+From: David 'Digit' Turner
+Date: Sun, 12 May 2024 23:45:28 +0200
+Subject: [PATCH] configure.py: Support --gtest-source-dir to build tests.
+
+Allow the Ninja build plan generated by configure.py to
+build `ninja_test` by compiling GoogleTest from source if
+the path to the library if passed through the new option
+`--gtest-source-dir` or the GTEST_SOURCE_DIR environment
+variable.
+
+For simplicity, probing for an installed version of the
+library, and linking to it, is not supported (use the
+CMake build for this).
+
+This also removes the obsolete `--gtest-dir` option.
+
+Fixes #2447
+---
+ configure.py | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 95 insertions(+), 1 deletion(-)
+
+diff --git a/configure.py b/configure.py
+index f9e49f9cdf..2b16618c43 100755
+--- a/configure.py
++++ b/configure.py
+@@ -223,7 +223,10 @@ def _run_command(self, cmdline: str) -> None:
+ parser.add_option('--profile', metavar='TYPE',
+ choices=profilers,
+ help='enable profiling (' + '/'.join(profilers) + ')',)
+-parser.add_option('--with-gtest', metavar='PATH', help='ignored')
++parser.add_option('--gtest-source-dir', metavar='PATH',
++ help='Path to GoogleTest source directory. If not provided ' +
++ 'GTEST_SOURCE_DIR will be probed in the environment. ' +
++ 'Tests will not be built without a value.')
+ parser.add_option('--with-python', metavar='EXE',
+ help='use EXE as the Python interpreter',
+ default=os.path.basename(sys.executable))
+@@ -435,6 +438,7 @@ def shell_escape(str: str) -> str:
+ if 'LDFLAGS' in configure_env:
+ ldflags.append(configure_env['LDFLAGS'])
+ n.variable('ldflags', ' '.join(shell_escape(flag) for flag in ldflags))
++
+ n.newline()
+
+ if platform.is_msvc():
+@@ -592,6 +596,83 @@ def has_re2c() -> bool:
+ # build.ninja file.
+ n = ninja_writer
+
++# Build the ninja_test executable only if the GTest source directory
++# is provided explicitly. Either from the environment with GTEST_SOURCE_DIR
++# or with the --gtest-source-dir command-line option.
++#
++# Do not try to look for an installed binary version, and link against it
++# because doing so properly is platform-specific (use the CMake build for
++# this).
++if options.gtest_source_dir:
++ gtest_src_dir = options.gtest_source_dir
++else:
++ gtest_src_dir = os.environ.get('GTEST_SOURCE_DIR')
++
++if gtest_src_dir:
++ # Verify GoogleTest source directory, and add its include directory
++ # to the global include search path (even for non-test sources) to
++ # keep the build plan generation simple.
++ gtest_all_cc = os.path.join(gtest_src_dir, 'googletest', 'src', 'gtest-all.cc')
++ if not os.path.exists(gtest_all_cc):
++ print('ERROR: Missing GoogleTest source file: %s' % gtest_all_cc)
++ sys.exit(1)
++
++ n.comment('Tests all build into ninja_test executable.')
++
++ # Test-specific version of cflags, must include the GoogleTest
++ # include directory. Also GoogleTest can only build with a C++14 compiler.
++ test_cflags = [f.replace('std=c++11', 'std=c++14') for f in cflags]
++ test_cflags.append('-I' + os.path.join(gtest_src_dir, 'googletest', 'include'))
++
++ test_variables = [('cflags', test_cflags)]
++ if platform.is_msvc():
++ test_variables += [('pdb', 'ninja_test.pdb')]
++
++ test_names = [
++ 'build_log_test',
++ 'build_test',
++ 'clean_test',
++ 'clparser_test',
++ 'depfile_parser_test',
++ 'deps_log_test',
++ 'disk_interface_test',
++ 'dyndep_parser_test',
++ 'edit_distance_test',
++ 'graph_test',
++ 'json_test',
++ 'lexer_test',
++ 'manifest_parser_test',
++ 'ninja_test',
++ 'state_test',
++ 'string_piece_util_test',
++ 'subprocess_test',
++ 'test',
++ 'util_test',
++ ]
++ if platform.is_windows():
++ test_names += [
++ 'includes_normalize_test',
++ 'msvc_helper_test',
++ ]
++
++ objs = []
++ for name in test_names:
++ objs += cxx(name, variables=test_variables)
++
++ # Build GTest as a monolithic source file.
++ # This requires one extra include search path, so replace the
++ # value of 'cflags' in our list.
++ gtest_all_variables = test_variables[1:] + [
++ ('cflags', test_cflags + ['-I' + os.path.join(gtest_src_dir, 'googletest') ]),
++ ]
++ # Do not use cxx() directly to ensure the object file is under $builddir.
++ objs += n.build(built('gtest_all' + objext), 'cxx', gtest_all_cc, variables=gtest_all_variables)
++
++ ninja_test = n.build(binary('ninja_test'), 'link', objs, implicit=ninja_lib,
++ variables=[('libs', libs)])
++ n.newline()
++ all_targets += ninja_test
++
+ n.comment('Ancillary executables.')
+
+ if platform.is_aix() and '-maix64' not in ldflags:
+
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.1.ebuild
index b387ddf90c0..05b835dcd49 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.1.ebuild
@@ -7,6 +7,9 @@ PYTHON_COMPAT=( python3_{10..13} )
inherit bash-completion-r1 edo python-any-r1 toolchain-funcs
+DESCRIPTION="A small build system similar to make"
+HOMEPAGE="https://ninja-build.org/"
+
if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
inherit git-r3
@@ -15,12 +18,13 @@ else
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
-DESCRIPTION="A small build system similar to make"
-HOMEPAGE="https://ninja-build.org/"
+GTEST_VER=1.14.0
+SRC_URI+=" test? ( https://github.com/google/googletest/archive/refs/tags/v${GTEST_VER}.tar.gz -> gtest-${GTEST_VER}.tar.gz )"
LICENSE="Apache-2.0"
SLOT="0"
-IUSE="doc"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
BDEPEND="
${PYTHON_DEPS}
@@ -36,14 +40,20 @@ PDEPEND="
app-alternatives/ninja
"
+PATCHES=(
+ "${FILESDIR}"/ninja-cflags.patch
+ "${FILESDIR}"/${P}-restore-tests-bootstrap.patch
+)
+
pkg_setup() {
:
}
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}"/ninja-cflags.patch
- )
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ fi
+
default
}
@@ -55,7 +65,18 @@ bootstrap() {
local -x CXXFLAGS="${BUILD_CXXFLAGS} -D_FILE_OFFSET_BITS=64"
local -x LDFLAGS=${BUILD_LDFLAGS}
fi
- edo ${EPYTHON} configure.py --with-python=python --bootstrap --verbose
+
+ local args=(
+ --with-python=python
+ --bootstrap
+ --verbose
+ )
+
+ if use test; then
+ args+=( --gtest-source-dir="${WORKDIR}"/googletest-${GTEST_VER} )
+ fi
+
+ edo ${EPYTHON} configure.py "${args[@]}"
}
src_compile() {
@@ -77,6 +98,15 @@ src_compile() {
fi
}
+src_test() {
+ if ! tc-is-cross-compiler; then
+ # Bug 485772
+ ulimit -n 2048
+ edo ./ninja -v ninja_test
+ edo ./ninja_test
+ fi
+}
+
src_install() {
newbin ninja{,-reference}
diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-9999.ebuild
index b387ddf90c0..0bd7a0f8370 100644
--- a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-9999.ebuild
@@ -7,6 +7,9 @@ PYTHON_COMPAT=( python3_{10..13} )
inherit bash-completion-r1 edo python-any-r1 toolchain-funcs
+DESCRIPTION="A small build system similar to make"
+HOMEPAGE="https://ninja-build.org/"
+
if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
inherit git-r3
@@ -15,12 +18,13 @@ else
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
-DESCRIPTION="A small build system similar to make"
-HOMEPAGE="https://ninja-build.org/"
+GTEST_VER=1.14.0
+SRC_URI+=" test? ( https://github.com/google/googletest/archive/refs/tags/v${GTEST_VER}.tar.gz -> gtest-${GTEST_VER}.tar.gz )"
LICENSE="Apache-2.0"
SLOT="0"
-IUSE="doc"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
BDEPEND="
${PYTHON_DEPS}
@@ -36,14 +40,19 @@ PDEPEND="
app-alternatives/ninja
"
+PATCHES=(
+ "${FILESDIR}"/ninja-cflags.patch
+)
+
pkg_setup() {
:
}
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}"/ninja-cflags.patch
- )
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ fi
+
default
}
@@ -55,7 +64,15 @@ bootstrap() {
local -x CXXFLAGS="${BUILD_CXXFLAGS} -D_FILE_OFFSET_BITS=64"
local -x LDFLAGS=${BUILD_LDFLAGS}
fi
- edo ${EPYTHON} configure.py --with-python=python --bootstrap --verbose
+
+ local bootstrap_args=(
+ --with-python=python
+ --bootstrap
+ --verbose
+ $(usev test --gtest-source-dir="${WORKDIR}"/googletest-${GTEST_VER})
+ )
+
+ edo ${EPYTHON} configure.py "${bootstrap_args[@]}"
}
src_compile() {
@@ -77,6 +94,15 @@ src_compile() {
fi
}
+src_test() {
+ if ! tc-is-cross-compiler; then
+ # Bug 485772
+ ulimit -n 2048
+ edo ./ninja -v ninja_test
+ edo ./ninja_test
+ fi
+}
+
src_install() {
newbin ninja{,-reference}
diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r3.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r3.ebuild
index 46aea4f8cad..c248fe6ae1a 100644
--- a/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r3.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r3.ebuild
@@ -29,6 +29,7 @@ RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}"/${PN}-20230125.2-musl-1.2.4.patch #906218
+ "${FILESDIR}"/${PN}-random-tests.patch #935417
)
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r4.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r4.ebuild
new file mode 100644
index 00000000000..87f1b86c769
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r4.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake-multilib python-any-r1
+
+DESCRIPTION="Abseil Common Libraries (C++), LTS Branch"
+HOMEPAGE="https://abseil.io/"
+SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV%%.*}.0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-cpp/gtest-1.13.0[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ sys-libs/timezone-data
+ )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-20230125.2-musl-1.2.4.patch #906218
+ "${FILESDIR}"/${PN}-random-tests.patch #935417
+ "${FILESDIR}/${PN}-20230802.0-conditional-use-of-lzcnt.patch" #934337
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # un-hardcode abseil compiler flags
+ sed -i \
+ -e '/"-maes",/d' \
+ -e '/"-msse4.1",/d' \
+ -e '/"-mfpu=neon"/d' \
+ -e '/"-march=armv8-a+crypto"/d' \
+ absl/copts/copts.py || die
+
+ # now generate cmake files
+ python_fix_shebang absl/copts/generate_copts.py
+ absl/copts/generate_copts.py || die
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ # We use -std=c++14 here so that abseil-cpp's string_view is used
+ # See the discussion in https://github.com/gentoo/gentoo/pull/32281.
+ -DCMAKE_CXX_STANDARD=14
+ -DABSL_ENABLE_INSTALL=TRUE
+ -DABSL_USE_EXTERNAL_GOOGLETEST=ON
+ -DABSL_PROPAGATE_CXX_STD=TRUE
+ # TEST_HELPERS needed for protobuf (bug #915902)
+ -DABSL_BUILD_TEST_HELPERS=ON
+ -DABSL_BUILD_TESTING=$(usex test ON OFF)
+ $(usex test -DBUILD_TESTING=ON '') # intentional usex, it used both variables for tests.
+ )
+
+ cmake_src_configure
+}
diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r3.ebuild
similarity index 89%
rename from sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r2.ebuild
rename to sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r3.ebuild
index 1281eefffab..dc13dfe5045 100644
--- a/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r2.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r3.ebuild
@@ -26,7 +26,12 @@ BDEPEND="
"
RESTRICT="!test? ( test )"
-PATCHES=( "${FILESDIR}/${PN}-20230802.0-sdata-tests.patch" )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-20230802.0-sdata-tests.patch"
+ "${FILESDIR}/${PN}-random-tests.patch" #935417
+ "${FILESDIR}/${PN}-20230802.0-conditional-use-of-lzcnt.patch" #934337
+)
src_prepare() {
cmake_src_prepare
diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r3.ebuild
similarity index 89%
rename from sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r2.ebuild
rename to sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r3.ebuild
index 1281eefffab..dc13dfe5045 100644
--- a/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r2.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r3.ebuild
@@ -26,7 +26,12 @@ BDEPEND="
"
RESTRICT="!test? ( test )"
-PATCHES=( "${FILESDIR}/${PN}-20230802.0-sdata-tests.patch" )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-20230802.0-sdata-tests.patch"
+ "${FILESDIR}/${PN}-random-tests.patch" #935417
+ "${FILESDIR}/${PN}-20230802.0-conditional-use-of-lzcnt.patch" #934337
+)
src_prepare() {
cmake_src_prepare
diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/files/abseil-cpp-20230802.0-conditional-use-of-lzcnt.patch b/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/files/abseil-cpp-20230802.0-conditional-use-of-lzcnt.patch
new file mode 100644
index 00000000000..1fa00d9ff62
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/files/abseil-cpp-20230802.0-conditional-use-of-lzcnt.patch
@@ -0,0 +1,49 @@
+Bug: https://bugs.gentoo.org/934337
+From: https://github.com/abseil/abseil-cpp/commit/c1e1b47d989978cde8c5a2a219df425b785a0c47.patch
+From c1e1b47d989978cde8c5a2a219df425b785a0c47 Mon Sep 17 00:00:00 2001
+From: Derek Mauro
+Date: Fri, 3 May 2024 09:14:22 -0700
+Subject: [PATCH] Use __builtin_ctzg and __builtin_clzg in the implementations
+ of CountTrailingZeroesNonzero16 and CountLeadingZeroes16 when they are
+ available.
+
+GCC 14 and Clang 19 adds these new builtins. The g-suffix is for
+"generic". The s-suffix on __builtin_ctzs and __builtin_clzs is for
+"short". GCC never implemented the short versions and #1664 reports
+GCC 14 (pre-release) gives an error here, although this may be a
+pre-release bug.
+
+Fixes #1664
+
+PiperOrigin-RevId: 630408249
+Change-Id: I4aedcc82b85430f50d025f8eb1cab089c6fcd1bc
+---
+ absl/numeric/internal/bits.h | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/absl/numeric/internal/bits.h b/absl/numeric/internal/bits.h
+index bfef06bce1f..0917464d6ad 100644
+--- a/absl/numeric/internal/bits.h
++++ b/absl/numeric/internal/bits.h
+@@ -167,7 +167,9 @@ CountLeadingZeroes32(uint32_t x) {
+
+ ABSL_ATTRIBUTE_ALWAYS_INLINE ABSL_INTERNAL_CONSTEXPR_CLZ inline int
+ CountLeadingZeroes16(uint16_t x) {
+-#if ABSL_HAVE_BUILTIN(__builtin_clzs)
++#if ABSL_HAVE_BUILTIN(__builtin_clzg)
++ return x == 0 ? 16 : __builtin_clzg(x);
++#elif ABSL_HAVE_BUILTIN(__builtin_clzs)
+ static_assert(sizeof(unsigned short) == sizeof(x), // NOLINT(runtime/int)
+ "__builtin_clzs does not take 16-bit arg");
+ return x == 0 ? 16 : __builtin_clzs(x);
+@@ -303,7 +305,9 @@ CountTrailingZeroesNonzero64(uint64_t x) {
+
+ ABSL_ATTRIBUTE_ALWAYS_INLINE ABSL_INTERNAL_CONSTEXPR_CTZ inline int
+ CountTrailingZeroesNonzero16(uint16_t x) {
+-#if ABSL_HAVE_BUILTIN(__builtin_ctzs)
++#if ABSL_HAVE_BUILTIN(__builtin_ctzg)
++ return __builtin_ctzg(x);
++#elif ABSL_HAVE_BUILTIN(__builtin_ctzs)
+ static_assert(sizeof(unsigned short) == sizeof(x), // NOLINT(runtime/int)
+ "__builtin_ctzs does not take 16-bit arg");
+ return __builtin_ctzs(x);
diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/files/abseil-cpp-random-tests.patch b/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/files/abseil-cpp-random-tests.patch
new file mode 100644
index 00000000000..769ac6a56e3
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/files/abseil-cpp-random-tests.patch
@@ -0,0 +1,19 @@
+https://github.com/abseil/abseil-cpp/issues/1528
+
+From: Paul Zander
+Date: Sat, 7 Jul 2024 01:53:19 +0200
+Subject: [PATCH] remove abseil::random_internal_mock_overload_set
+See-Also: https://bugs.gentoo.org/935417
+
+diff --git a/absl/random/CMakeLists.txt b/absl/random/CMakeLists.txt
+index bd363d8..7692a35 100644
+--- a/absl/random/CMakeLists.txt
++++ b/absl/random/CMakeLists.txt
+@@ -112,7 +112,6 @@ absl_cc_library(
+ absl::raw_logging_internal
+ absl::random_distributions
+ absl::random_internal_distribution_caller
+- absl::random_internal_mock_overload_set
+ absl::random_random
+ absl::strings
+ absl::span
diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0-r1.ebuild
index afb21ca17db..927e75f3970 100644
--- a/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0-r1.ebuild
@@ -21,7 +21,7 @@ else
-> ${P}.tar.gz"
S="${WORKDIR}"/googletest-${GOOGLETEST_COMMIT}
fi
- KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
fi
DESCRIPTION="Google C++ Testing Framework"
diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.0.ebuild
index c554ab9b159..b18d3e50644 100644
--- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.0.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.0.ebuild
@@ -24,7 +24,7 @@ else
"
S="${WORKDIR}/${PN}-src-${SRC_PV}"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
LICENSE="public-domain"
diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/Manifest b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/Manifest
index 90feed16c7b..73ec8936577 100644
--- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/Manifest
@@ -1,3 +1,3 @@
DIST gdb-14.2-sim-modern-c99.patch.xz 5348 BLAKE2B f8039cdf1b49d12eead0dae7db88dbfad4c47eda696ee26b0bd140605d1d62d4a88557518d4e18c86fffb3c6194782d16e459f4392df71d2ec1af271ccb2838d SHA512 f44239871c584f5d6de98db8d6a6766103a8a6fc92dada7d37f04bdc53efe635cca7dfaa778d620348559814f4784a33e5f72a8dd376dc96fba8ec27032ab389
DIST gdb-14.2.tar.xz 24111936 BLAKE2B 65765dfd1ed08e19bb881fc7ae98d6ee4914f38a9a2bb0d0ca73bef472669664f807fe9c04e8dffd7025be98e736ac52f88ff5851ceddbb01a361885b18befc8 SHA512 7e07941f1fe661288cc571b4964012ceabc1760624fce20320db2f470c01439b2386f859b5288da13204b758e2e3b22a74c68c012178db93b9529b06f1e22ede
-DIST gdb-15.0.91.tar.xz 24278716 BLAKE2B 8fbbabf40472e6414ef180a9a072db5fa12c9663e723f763c5ebc9583d160d0ca3dc5910e043dba8b12a494a12c202ad095e36e0a0ea2ba1e8e548c3ba1e5221 SHA512 a946b5a074cec93b06b175276c55614b306cfcabb1f467dc0c2f60085cb6853c6d62511a9570ae9ea778c05bad245d8e6e17b15a29b85d48e60d9c8a72086e2e
+DIST gdb-15.1.tar.xz 24295712 BLAKE2B e05133a9f98a1a00cbfb49294f534e3b8830b48ac9526af3312a3b9a0381e0e652bc3f5fdc8528ceb16c890529cefbd7745bed97298a1fecb64c726d09c8aacb SHA512 0217434073023a8b8316088bf3ee95d53a1b6a7897f6269095429016a8900f9a05e130c390d8d5d5550cc515c16519de1071d8eef96aa58e38056c7e37da1d8b
diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.0.91.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.1.ebuild
similarity index 100%
rename from sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.0.91.ebuild
rename to sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.1.ebuild
diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest
index 5cce37b98ab..414c984f20f 100644
--- a/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest
@@ -23,8 +23,10 @@ DIST python-gentoo-patches-3.10.14_p1.tar.xz 15836 BLAKE2B a850e4ad4f025fa9d38cc
DIST python-gentoo-patches-3.11.9.tar.xz 8456 BLAKE2B 4e62837f17c1d056460df417b056a79ad78dbcdd3454761c7cda68ffe6faf8f4d4f04d5539e0ba94332fe19a751f7d5ff2c35ff969a6aa09a2c72d2ce5efbff1 SHA512 a288aa8d1d15e906e0f1762602a2122f9dc91bbd6b72123ac5d00ce55b3af324a4e8280b600fc0fb630e489e57ee1547d7595a4ede7a70e4b26d6686a8414997
DIST python-gentoo-patches-3.12.3.tar.xz 6028 BLAKE2B 7953a48a1d95a6a33bd88060fbcac463a5469371aa0c882c3945f1fea64a63c4d45fca8451f51f4eaeea00a04267ad2e54e4cc720c95e8bb5a3477e00263b80a SHA512 4779bab2b24e59e4a77987ce3e9611d99e87c9c4d016309758c26a65fe2e11ef04d48d5af628c02b1552dc1f31b768f87448f8e19e716b4fe372941e6dacac3f
DIST python-gentoo-patches-3.12.4_p1.tar.xz 7088 BLAKE2B 450b95539aaf7c8c052ca1bbcab3b1a8f1c33e8007b6c66cc290c33d88cac8bad346e13cf96508834599a59ccb6548e6dd8cbfb1e24d84539f502101b04299d0 SHA512 df874cb1d8d0f5df60fca82daa2a59cbcfeba6be72b021101a753306a09bb19ee268681b3fdb39659be923d868c727bf7aabbe8173cfd48a329c66f4727353c7
+DIST python-gentoo-patches-3.12.4_p2.tar.xz 11124 BLAKE2B 8e49af60b1e514de9b77c562a8df5ae7d6caf0045e631fcf85a8f91335cf18f1df2ac611ea73d26e5b70c2537beb423a9303dcce41c2c2e2b049ee9f1e537b53 SHA512 df1d49e60d23f5f09144c57034c86f81f8d185f65c3a93bbb2b386977638bd525b45fe1dff8c7202d60ca3a5fdf96b94a492b076072713565e7449b679fde7b5
DIST python-gentoo-patches-3.13.0b1_p3.tar.xz 11056 BLAKE2B ef932bac59d2316ee8fe638a3d34ce247ff587915546038627674cd4c03179998a58336f8ebae45f1fcc94c8059d61ff6f22693f25ace1462bce275f50bfb48f SHA512 956e3da7376d60d7a593af50fff9842016a3b193180e93ab8298756c9eedfb2aaf8c1287bb75111e6340b5bac20a12dcb00ef51ecf0e12ef9ae5c98202fb071b
DIST python-gentoo-patches-3.13.0b2_p9.tar.xz 11288 BLAKE2B e46bac845ce54e32446316b8a5e055905f023e88ad7fb9cfed101f0fccf6c0fef2fb9fd5b7dc4b15ec1e6c075ceaa9f07777c3cfede0f88412871beac0a54e47 SHA512 4148342d649acd98cce1f3d3c7bdbf4adad069ba555624882ddb69f00ee0e64641014086b5e60d97eac809ccb1e3e782a112eb58d7bb83bcfa3222811cbb8682
DIST python-gentoo-patches-3.13.0b3.tar.xz 5704 BLAKE2B 665f60d0a440c63ca6bbc1615333e01e0b9d3c5cd8c871157866dd70146a9afb71aecdb6f72f75de2fd8c163d011c8df538c8b278ad6a91079f3300bd05fead3 SHA512 959826aaf467235c8a144a2b94137113b273f79febd30fee0556b718132bb89b5ba97bc01a3718771cade099777f131b322682f336dfaabe18cd5838a75318fa
+DIST python-gentoo-patches-3.13.0b3_p1.tar.xz 8716 BLAKE2B 25b2d9f059c6f31a354b19833a3dfaab446a43ca00bbaa415e38c3ede6c4a738046469ca4ef6e184a5d7df33a8a1c5209271a1eb0728c3791e6630953bcd798f SHA512 57bbe0470e3356cef3b1880cedd18d4e84d6f64d1f398ce3e3e729744ac5f7a4dc4144333e2355f9ecf41c58382ab5708e7dbf7d480dbf797caa460862aee3bd
DIST python-gentoo-patches-3.8.19_p2.tar.xz 35524 BLAKE2B a6b81e6ae907b60eea676cb65a9c693e62453dc44616baaadb294c5782a195c20eff6c2869b38ea110fe06e9e511468f4ab0c3d1811b16e0ab2833f9dc09b25b SHA512 9944c330b6062c2ac6e13fcfbc1c8835dfd078f6744cdfbc03ba787ae97c08bdae559cefadafe9dfe9be9c31f8c15ee895599b266d870f73c06a2f4b15c78dc3
DIST python-gentoo-patches-3.9.19_p3.tar.xz 28240 BLAKE2B 35c70b1f9a590abe9a74795f478ab788cd72c96e9d84f2756685e61324dc4203148e71b00a236bb4af8fb8315e3582ecec255b39749a653e0511d4a9f9fef725 SHA512 6b8f4dab4aa7d4d646ee4091b5cf76bbc8896d4299a3623660a2c5fec06c0cf56c0a50ac87604885cd155141bc85e0e80acdbedb7b34a813901aad021b9b8ab2
diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4_p2.ebuild
new file mode 100644
index 00000000000..bec993fb2e8
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4_p2.ebuild
@@ -0,0 +1,558 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+WANT_LIBTOOL="none"
+
+inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
+inherit python-utils-r1 toolchain-funcs verify-sig
+
+MY_PV=${PV/_rc/rc}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="
+ bluetooth build debug +ensurepip examples gdbm libedit
+ +ncurses pgo +readline +sqlite +ssl test tk valgrind
+"
+RESTRICT="!test? ( test )"
+
+# Do not add a dependency on dev-lang/python to this ebuild.
+# If you need to apply a patch which requires python for bootstrapping, please
+# run the bootstrap code on your dev box and include the results in the
+# patchset. See bug 447752.
+
+RDEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-crypt/libb2
+ >=dev-libs/expat-2.1:=
+ dev-libs/libffi:=
+ dev-libs/mpdecimal:=
+ dev-python/gentoo-common
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ ensurepip? ( dev-python/ensurepip-pip )
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ kernel_linux? ( sys-apps/util-linux:= )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? (
+ !libedit? ( >=sys-libs/readline-4.1:= )
+ libedit? ( dev-libs/libedit:= )
+ )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( >=dev-libs/openssl-1.1.1:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+"
+# bluetooth requires headers from bluez
+DEPEND="
+ ${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? (
+ app-arch/xz-utils
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+ )
+ valgrind? ( dev-debug/valgrind )
+"
+# autoconf-archive needed to eautoreconf
+BDEPEND="
+ dev-build/autoconf-archive
+ app-alternatives/awk
+ virtual/pkgconfig
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+RDEPEND+="
+ !build? ( app-misc/mime-types )
+"
+if [[ ${PV} != *_alpha* ]]; then
+ RDEPEND+="
+ dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
+ "
+fi
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+# large file tests involve a 2.5G file being copied (duplicated)
+CHECKREQS_DISK_BUILD=5500M
+
+QA_PKGCONFIG_VERSION=${PYVER}
+# false positives -- functions specific to *BSD
+QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
+
+pkg_pretend() {
+ use test && check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ use test && check-reqs_pkg_setup
+}
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ # Ensure that internal copies of expat and libffi are not used.
+ # TODO: Makefile has annoying deps on expat headers
+ #rm -r Modules/expat || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ # force the correct number of jobs
+ # https://bugs.gentoo.org/737660
+ sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
+
+ # breaks tests when using --with-wheel-pkg-dir
+ rm -r Lib/test/wheeldata || die
+
+ eautoreconf
+}
+
+build_cbuild_python() {
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ #
+ # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway)
+ local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto"
+ local -x LDFLAGS_NODIST=${BUILD_LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+ local -x BUILD_CFLAGS="${CFLAGS_NODIST}"
+ local -x BUILD_LDFLAGS=${LDFLAGS_NODIST}
+
+ # We need to build our own Python on CBUILD first, and feed it in.
+ # bug #847910
+ local myeconfargs_cbuild=(
+ "${myeconfargs[@]}"
+
+ --prefix="${BROOT}"/usr
+ --libdir="${cbuild_libdir:2}"
+
+ # Avoid needing to load the right libpython.so.
+ --disable-shared
+
+ # As minimal as possible for the mini CBUILD Python
+ # we build just for cross to satisfy --with-build-python.
+ --without-lto
+ --without-readline
+ --disable-optimizations
+ )
+
+ mkdir "${WORKDIR}"/${P}-${CBUILD} || die
+ pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
+
+ # Avoid as many dependencies as possible for the cross build.
+ mkdir Modules || die
+ cat > Modules/Setup.local <<-EOF || die
+ *disabled*
+ nis
+ _dbm _gdbm
+ _sqlite3
+ _hashlib _ssl
+ _curses _curses_panel
+ readline
+ _tkinter
+ pyexpat
+ zlib
+ # We disabled these for CBUILD because Python's setup.py can't handle locating
+ # libdir correctly for cross. This should be rechecked for the pure Makefile approach,
+ # and uncommented if needed.
+ #_ctypes _crypt
+ EOF
+
+ ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
+
+ # Unfortunately, we do have to build this immediately, and
+ # not in src_compile, because CHOST configure for Python
+ # will check the existence of the --with-build-python value
+ # immediately.
+ emake
+ popd &> /dev/null || die
+}
+
+src_configure() {
+ # disable automagic bluetooth headers detection
+ if ! use bluetooth; then
+ local -x ac_cv_header_bluetooth_bluetooth_h=no
+ fi
+
+ append-flags -fwrapv
+ filter-flags -malign-double
+
+ # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ # PKG_CONFIG needed for cross.
+ tc-export CXX PKG_CONFIG
+
+ local dbmliborder=
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ if use pgo; then
+ local profile_task_flags=(
+ -m test
+ "-j$(makeopts_jobs)"
+ --pgo-extended
+ -u-network
+
+ # We use a timeout because of how often we've had hang issues
+ # here. It also matches the default upstream PROFILE_TASK.
+ --timeout 1200
+
+ -x test_gdb
+ -x test_dtrace
+
+ # All of these seem to occasionally hang for PGO inconsistently
+ # They'll even hang here but be fine in src_test sometimes.
+ # bug #828535 (and related: bug #788022)
+ -x test_asyncio
+ -x test_concurrent_futures
+ -x test_httpservers
+ -x test_logging
+ -x test_multiprocessing_fork
+ -x test_socket
+ -x test_xmlrpc
+
+ # Hangs (actually runs indefinitely executing itself w/ many cpython builds)
+ # bug #900429
+ -x test_tools
+ )
+
+ # musl-specific skips
+ use elibc_musl && profile_task_flags+=(
+ # various musl locale deficiencies
+ -x test__locale
+ -x test_c_locale_coercion
+ -x test_locale
+ -x test_re
+
+ # known issues with find_library on musl
+ # https://bugs.python.org/issue21622
+ -x test_ctypes
+
+ # fpathconf, ttyname errno values
+ -x test_os
+ )
+
+ if has_version "app-arch/rpm" ; then
+ # Avoid sandbox failure (attempts to write to /var/lib/rpm)
+ profile_task_flags+=(
+ -x test_distutils
+ )
+ fi
+ local -x PROFILE_TASK="${profile_task_flags[*]}"
+ fi
+
+ local myeconfargs=(
+ # glibc-2.30 removes it; since we can't cleanly force-rebuild
+ # Python on glibc upgrade, remove it proactively to give
+ # a chance for users rebuilding python before glibc
+ ac_cv_header_stropts_h=no
+
+ --enable-shared
+ --without-static-libpython
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --without-lto
+ --with-system-expat
+ --with-system-libmpdec
+ --with-platlibdir=lib
+ --with-pkg-config=yes
+ --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
+
+ $(use_with debug assertions)
+ $(use_enable pgo optimizations)
+ $(use_with readline readline "$(usex libedit editline readline)")
+ $(use_with valgrind)
+ )
+
+ # https://bugs.gentoo.org/700012
+ if tc-is-lto; then
+ append-cflags $(test-flags-CC -ffat-lto-objects)
+ myeconfargs+=(
+ --with-lto
+ )
+ fi
+
+ # Force-disable modules we don't want built.
+ # See Modules/Setup for docs on how this works. Setup.local contains our local deviations.
+ cat > Modules/Setup.local <<-EOF || die
+ *disabled*
+ nis
+ $(usev !gdbm '_gdbm _dbm')
+ $(usev !sqlite '_sqlite3')
+ $(usev !ssl '_hashlib _ssl')
+ $(usev !ncurses '_curses _curses_panel')
+ $(usev !readline 'readline')
+ $(usev !tk '_tkinter')
+ EOF
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+
+ if tc-is-cross-compiler ; then
+ build_cbuild_python
+ myeconfargs+=(
+ # Point the imminent CHOST build to the Python we just
+ # built for CBUILD.
+ --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
+ )
+ fi
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ local -x CFLAGS_NODIST=${CFLAGS}
+ local -x LDFLAGS_NODIST=${LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ if use ncurses; then
+ append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+ fi
+
+ econf "${myeconfargs[@]}"
+
+ if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+
+ # install epython.py as part of stdlib
+ echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+ export PYTHONSTRICTEXTENSIONBUILD=1
+
+ # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
+ # end up writing bytecode & violating sandbox.
+ # bug #831897
+ local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
+
+ if use pgo ; then
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ addpredict "/usr/lib/python${PYVER}/site-packages"
+ fi
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Restore saved value from above.
+ local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # this just happens to skip test_support.test_freeze that is broken
+ # without bundled expat
+ # TODO: get a proper skip for it upstream
+ local -x LOGNAME=buildbot
+
+ local test_opts=(
+ -u-network
+ -j "$(makeopts_jobs)"
+
+ # fails
+ -x test_concurrent_futures
+ -x test_gdb
+ )
+
+ if use sparc ; then
+ # bug #788022
+ test_opts+=(
+ -x test_multiprocessing_fork
+ -x test_multiprocessing_forkserver
+ )
+ fi
+
+ # musl-specific skips
+ use elibc_musl && test_opts+=(
+ # various musl locale deficiencies
+ -x test__locale
+ -x test_c_locale_coercion
+ -x test_locale
+ -x test_re
+
+ # known issues with find_library on musl
+ # https://bugs.python.org/issue21622
+ -x test_ctypes
+
+ # fpathconf, ttyname errno values
+ -x test_os
+ )
+
+ # workaround docutils breaking tests
+ cat > Lib/docutils.py <<-EOF || die
+ raise ImportError("Thou shalt not import!")
+ EOF
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+ # workaround https://bugs.gentoo.org/775416
+ addwrite "/usr/lib/python${PYVER}/site-packages"
+
+ nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local ret=${?}
+
+ rm Lib/docutils.py || die
+
+ [[ ${ret} -eq 0 ]] || die "emake test failed"
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ # the Makefile rules are broken
+ # https://github.com/python/cpython/issues/100221
+ mkdir -p "${libdir}"/lib-dynload || die
+
+ # -j1 hack for now for bug #843458
+ emake -j1 DESTDIR="${D}" altinstall
+
+ # Fix collisions between different slots of Python.
+ rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+ # Cheap hack to get version with ABIFLAGS
+ local abiver=$(cd "${ED}/usr/include"; echo python*)
+ if [[ ${abiver} != python${PYVER} ]]; then
+ # Replace python3.X with a symlink to python3.Xm
+ rm "${ED}/usr/bin/python${PYVER}" || die
+ dosym "${abiver}" "/usr/bin/python${PYVER}"
+ # Create python3.X-config symlink
+ dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+ # Create python-3.5m.pc symlink
+ dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+ fi
+
+ # python seems to get rebuilt in src_install (bug 569908)
+ # Work around it for now.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E "${ED}/usr/bin/${abiver}"
+ else
+ pax-mark m "${ED}/usr/bin/${abiver}"
+ fi
+
+ rm -r "${libdir}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${libdir}"/ensurepip || die
+ fi
+ if ! use sqlite; then
+ rm -r "${libdir}/"sqlite3 || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}/usr/bin/idle${PYVER}" || die
+ rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
+ fi
+
+ ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die
+
+ dodoc Misc/{ACKS,HISTORY,NEWS}
+
+ if use examples; then
+ docinto examples
+ find Tools -name __pycache__ -exec rm -fr {} + || die
+ dodoc -r Tools
+ fi
+ insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
+ local libname=$(
+ printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
+ emake --no-print-directory -s -f - 2>/dev/null
+ )
+ newins Tools/gdb/libpython.py "${libname}"-gdb.py
+
+ newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
+ newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
+ sed \
+ -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
+ -e "s:@PYDOC@:pydoc${PYVER}:" \
+ -i "${ED}/etc/conf.d/pydoc-${PYVER}" \
+ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
+
+ # python-exec wrapping support
+ local pymajor=${PYVER%.*}
+ local EPYTHON=python${PYVER}
+ local scriptdir=${D}$(python_get_scriptdir)
+ mkdir -p "${scriptdir}" || die
+ # python and pythonX
+ ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
+ ln -s "python${pymajor}" "${scriptdir}/python" || die
+ # python-config and pythonX-config
+ # note: we need to create a wrapper rather than symlinking it due
+ # to some random dirname(argv[0]) magic performed by python-config
+ cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+ #!/bin/sh
+ exec "${abiver}-config" "\${@}"
+ EOF
+ chmod +x "${scriptdir}/python${pymajor}-config" || die
+ ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
+ # 2to3, pydoc
+ ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
+ ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
+ # idle
+ if use tk; then
+ ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
+ fi
+}
diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta3_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta3_p1.ebuild
new file mode 100644
index 00000000000..87d11b2c537
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta3_p1.ebuild
@@ -0,0 +1,659 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+LLVM_COMPAT=( 18 )
+LLVM_OPTIONAL=1
+WANT_LIBTOOL="none"
+
+inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing
+inherit pax-utils python-utils-r1 toolchain-funcs verify-sig
+
+MY_PV=${PV/_beta/b}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="
+ bluetooth build +debug +ensurepip examples gdbm +gil jit
+ libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind
+"
+REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+# Do not add a dependency on dev-lang/python to this ebuild.
+# If you need to apply a patch which requires python for bootstrapping, please
+# run the bootstrap code on your dev box and include the results in the
+# patchset. See bug 447752.
+
+RDEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-crypt/libb2
+ >=dev-libs/expat-2.1:=
+ dev-libs/libffi:=
+ dev-libs/mpdecimal:=
+ dev-python/gentoo-common
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ ensurepip? ( dev-python/ensurepip-pip )
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ kernel_linux? ( sys-apps/util-linux:= )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? (
+ !libedit? ( >=sys-libs/readline-4.1:= )
+ libedit? ( dev-libs/libedit:= )
+ )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( >=dev-libs/openssl-1.1.1:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+"
+# bluetooth requires headers from bluez
+DEPEND="
+ ${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? (
+ app-arch/xz-utils
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+ )
+ valgrind? ( dev-debug/valgrind )
+"
+# autoconf-archive needed to eautoreconf
+BDEPEND="
+ dev-build/autoconf-archive
+ app-alternatives/awk
+ virtual/pkgconfig
+ jit? (
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ ')
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+RDEPEND+="
+ !build? ( app-misc/mime-types )
+"
+if [[ ${PV} != *_alpha* ]]; then
+ RDEPEND+="
+ dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
+ "
+fi
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+# large file tests involve a 2.5G file being copied (duplicated)
+CHECKREQS_DISK_BUILD=5500M
+
+QA_PKGCONFIG_VERSION=${PYVER}
+# false positives -- functions specific to *BSD
+QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
+
+pkg_pretend() {
+ use test && check-reqs_pkg_pretend
+
+ if ! use gil || use jit; then
+ ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using"
+ ewarn "them could lead to unexpected breakage, including race conditions"
+ ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless"
+ ewarn "you can reproduce the problem with dev-lang/python[gil,-jit]. Instead,"
+ ewarn "please consider reporting freethreading / JIT problems upstream."
+ fi
+}
+
+pkg_setup() {
+ use jit && llvm-r1_pkg_setup
+ use test && check-reqs_pkg_setup
+}
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ # Ensure that internal copies of expat and libffi are not used.
+ # TODO: Makefile has annoying deps on expat headers
+ #rm -r Modules/expat || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ # force the correct number of jobs
+ # https://bugs.gentoo.org/737660
+ sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
+
+ # breaks tests when using --with-wheel-pkg-dir
+ rm -r Lib/test/wheeldata || die
+
+ eautoreconf
+}
+
+build_cbuild_python() {
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ #
+ # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway)
+ local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto"
+ local -x LDFLAGS_NODIST=${BUILD_LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+ local -x BUILD_CFLAGS="${CFLAGS_NODIST}"
+ local -x BUILD_LDFLAGS=${LDFLAGS_NODIST}
+
+ # We need to build our own Python on CBUILD first, and feed it in.
+ # bug #847910
+ local myeconfargs_cbuild=(
+ "${myeconfargs[@]}"
+
+ --prefix="${BROOT}"/usr
+ --libdir="${cbuild_libdir:2}"
+
+ # Avoid needing to load the right libpython.so.
+ --disable-shared
+
+ # As minimal as possible for the mini CBUILD Python
+ # we build just for cross to satisfy --with-build-python.
+ --without-lto
+ --without-readline
+ --disable-optimizations
+ )
+
+ mkdir "${WORKDIR}"/${P}-${CBUILD} || die
+ pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
+
+ # Avoid as many dependencies as possible for the cross build.
+ mkdir Modules || die
+ cat > Modules/Setup.local <<-EOF || die
+ *disabled*
+ nis
+ _dbm _gdbm
+ _sqlite3
+ _hashlib _ssl
+ _curses _curses_panel
+ readline
+ _tkinter
+ pyexpat
+ zlib
+ # We disabled these for CBUILD because Python's setup.py can't handle locating
+ # libdir correctly for cross. This should be rechecked for the pure Makefile approach,
+ # and uncommented if needed.
+ #_ctypes _crypt
+ EOF
+
+ ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
+
+ # Unfortunately, we do have to build this immediately, and
+ # not in src_compile, because CHOST configure for Python
+ # will check the existence of the --with-build-python value
+ # immediately.
+ emake
+ popd &> /dev/null || die
+}
+
+src_configure() {
+ # disable automagic bluetooth headers detection
+ if ! use bluetooth; then
+ local -x ac_cv_header_bluetooth_bluetooth_h=no
+ fi
+
+ append-flags -fwrapv
+ filter-flags -malign-double
+
+ # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ # PKG_CONFIG needed for cross.
+ tc-export CXX PKG_CONFIG
+
+ local dbmliborder=
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ # Set baseline test skip flags.
+ COMMON_TEST_SKIPS=(
+ # failures
+ -x test_concurrent_futures
+ -x test_gdb
+ # test_asyncio_repl_is_ok is flaky
+ # https://github.com/python/cpython/issues/119909
+ -x test_repl
+ )
+
+ # Arch-specific skips. See #931888 for a collection of these.
+ case ${CHOST} in
+ alpha*)
+ COMMON_TEST_SKIPS+=(
+ -x test_builtin
+ -x test_capi
+ -x test_cmath
+ -x test_float
+ # timeout
+ -x test_free_threading
+ -x test_math
+ -x test_numeric_tower
+ -x test_random
+ -x test_statistics
+ # bug 653850
+ -x test_resource
+ -x test_strtod
+ )
+ ;;
+ ia64*)
+ COMMON_TEST_SKIPS+=(
+ -x test_ctypes
+ -x test_external_inspection
+ )
+ ;;
+ mips*)
+ COMMON_TEST_SKIPS+=(
+ -x test_ctypes
+ -x test_external_inspection
+ -x test_statistics
+ )
+ ;;
+ powerpc64-*) # big endian
+ COMMON_TEST_SKIPS+=(
+ -x test_descr
+ )
+ ;;
+ riscv*)
+ COMMON_TEST_SKIPS+=(
+ -x test_urllib2
+ )
+ ;;
+ sparc*)
+ COMMON_TEST_SKIPS+=(
+ # bug 788022
+ -x test_multiprocessing_fork
+ -x test_multiprocessing_forkserver
+
+ -x test_ctypes
+ -x test_descr
+ # bug 931908
+ -x test_exceptions
+ )
+ ;;
+ esac
+
+ # musl-specific skips
+ use elibc_musl && COMMON_TEST_SKIPS+=(
+ # various musl locale deficiencies
+ -x test__locale
+ -x test_c_locale_coercion
+ -x test_locale
+ -x test_re
+
+ # known issues with find_library on musl
+ # https://bugs.python.org/issue21622
+ -x test_ctypes
+
+ # fpathconf, ttyname errno values
+ -x test_os
+ )
+
+ if use pgo; then
+ local profile_task_flags=(
+ -m test
+ "-j$(makeopts_jobs)"
+ --pgo-extended
+ --verbose3
+ -u-network
+
+ # We use a timeout because of how often we've had hang issues
+ # here. It also matches the default upstream PROFILE_TASK.
+ --timeout 1200
+
+ "${COMMON_TEST_SKIPS[@]}"
+
+ -x test_dtrace
+
+ # All of these seem to occasionally hang for PGO inconsistently
+ # They'll even hang here but be fine in src_test sometimes.
+ # bug #828535 (and related: bug #788022)
+ -x test_asyncio
+ -x test_httpservers
+ -x test_logging
+ -x test_multiprocessing_fork
+ -x test_socket
+ -x test_xmlrpc
+
+ # Hangs (actually runs indefinitely executing itself w/ many cpython builds)
+ # bug #900429
+ -x test_tools
+
+ # Fails in profiling run, passes in src_test().
+ -x test_capi
+ )
+
+ # Arch-specific skips. See #931888 for a collection of these.
+ case ${CHOST} in
+ alpha*)
+ profile_task_flags+=(
+ -x test_os
+ )
+ ;;
+ hppa*)
+ profile_task_flags+=(
+ -x test_descr
+ # bug 931908
+ -x test_exceptions
+ -x test_os
+ )
+ ;;
+ ia64*)
+ profile_task_flags+=(
+ -x test_signal
+ )
+ ;;
+ powerpc64-*) # big endian
+ profile_task_flags+=(
+ # bug 931908
+ -x test_exceptions
+ )
+ ;;
+ riscv*)
+ profile_task_flags+=(
+ -x test_statistics
+ )
+ ;;
+ esac
+
+ if has_version "app-arch/rpm" ; then
+ # Avoid sandbox failure (attempts to write to /var/lib/rpm)
+ profile_task_flags+=(
+ -x test_distutils
+ )
+ fi
+ local -x PROFILE_TASK="${profile_task_flags[*]}"
+ fi
+
+ local myeconfargs=(
+ # glibc-2.30 removes it; since we can't cleanly force-rebuild
+ # Python on glibc upgrade, remove it proactively to give
+ # a chance for users rebuilding python before glibc
+ ac_cv_header_stropts_h=no
+
+ --enable-shared
+ --without-static-libpython
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --without-lto
+ --with-system-expat
+ --with-system-libmpdec
+ --with-platlibdir=lib
+ --with-pkg-config=yes
+ --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
+
+ $(use_with debug assertions)
+ $(use_enable gil)
+ $(use_enable jit experimental-jit)
+ $(use_enable pgo optimizations)
+ $(use_with readline readline "$(usex libedit editline readline)")
+ $(use_with valgrind)
+ )
+
+ # https://bugs.gentoo.org/700012
+ if tc-is-lto; then
+ append-cflags $(test-flags-CC -ffat-lto-objects)
+ myeconfargs+=(
+ --with-lto
+ )
+ fi
+
+ # Force-disable modules we don't want built.
+ # See Modules/Setup for docs on how this works. Setup.local contains our local deviations.
+ cat > Modules/Setup.local <<-EOF || die
+ *disabled*
+ nis
+ $(usev !gdbm '_gdbm _dbm')
+ $(usev !sqlite '_sqlite3')
+ $(usev !ssl '_hashlib _ssl')
+ $(usev !ncurses '_curses _curses_panel')
+ $(usev !readline 'readline')
+ $(usev !tk '_tkinter')
+ EOF
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+
+ if tc-is-cross-compiler ; then
+ build_cbuild_python
+ myeconfargs+=(
+ # Point the imminent CHOST build to the Python we just
+ # built for CBUILD.
+ --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
+ )
+ fi
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ local -x CFLAGS_NODIST=${CFLAGS}
+ local -x LDFLAGS_NODIST=${LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ if use ncurses; then
+ append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+ fi
+
+ econf "${myeconfargs[@]}"
+
+ if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+
+ # install epython.py as part of stdlib
+ echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+ export PYTHONSTRICTEXTENSIONBUILD=1
+
+ # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
+ # end up writing bytecode & violating sandbox.
+ # bug #831897
+ local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
+
+ # Gentoo hack to disable accessing system site-packages
+ export GENTOO_CPYTHON_BUILD=1
+
+ if use pgo ; then
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+ fi
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Restore saved value from above.
+ local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # this just happens to skip test_support.test_freeze that is broken
+ # without bundled expat
+ # TODO: get a proper skip for it upstream
+ local -x LOGNAME=buildbot
+
+ local test_opts=(
+ --verbose3
+ -u-network
+ -j "$(makeopts_jobs)"
+ "${COMMON_TEST_SKIPS[@]}"
+ )
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local ret=${?}
+
+ [[ ${ret} -eq 0 ]] || die "emake test failed"
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ # -j1 hack for now for bug #843458
+ emake -j1 DESTDIR="${D}" altinstall
+
+ # Fix collisions between different slots of Python.
+ rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+ # Cheap hack to get version with ABIFLAGS
+ local abiver=$(cd "${ED}/usr/include"; echo python*)
+ if [[ ${abiver} != python${PYVER} ]]; then
+ # Replace python3.X with a symlink to python3.Xm
+ rm "${ED}/usr/bin/python${PYVER}" || die
+ dosym "${abiver}" "/usr/bin/python${PYVER}"
+ # Create python3.X-config symlink
+ dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+ # Create python-3.5m.pc symlink
+ dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+ fi
+
+ # python seems to get rebuilt in src_install (bug 569908)
+ # Work around it for now.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E "${ED}/usr/bin/${abiver}"
+ else
+ pax-mark m "${ED}/usr/bin/${abiver}"
+ fi
+
+ rm -r "${libdir}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${libdir}"/ensurepip || die
+ fi
+ if ! use sqlite; then
+ rm -r "${libdir}/"sqlite3 || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}/usr/bin/idle${PYVER}" || die
+ rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
+ fi
+
+ ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die
+
+ dodoc Misc/{ACKS,HISTORY,NEWS}
+
+ if use examples; then
+ docinto examples
+ find Tools -name __pycache__ -exec rm -fr {} + || die
+ dodoc -r Tools
+ fi
+ insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
+ local libname=$(
+ printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
+ emake --no-print-directory -s -f - 2>/dev/null
+ )
+ newins Tools/gdb/libpython.py "${libname}"-gdb.py
+
+ newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
+ newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
+ sed \
+ -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
+ -e "s:@PYDOC@:pydoc${PYVER}:" \
+ -i "${ED}/etc/conf.d/pydoc-${PYVER}" \
+ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
+
+ # python-exec wrapping support
+ local pymajor=${PYVER%.*}
+ local EPYTHON=python${PYVER}
+ local scriptdir=${D}$(python_get_scriptdir)
+ mkdir -p "${scriptdir}" || die
+ # python and pythonX
+ ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
+ ln -s "python${pymajor}" "${scriptdir}/python" || die
+ # python-config and pythonX-config
+ # note: we need to create a wrapper rather than symlinking it due
+ # to some random dirname(argv[0]) magic performed by python-config
+ cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+ #!/bin/sh
+ exec "${abiver}-config" "\${@}"
+ EOF
+ chmod +x "${scriptdir}/python${pymajor}-config" || die
+ ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
+ # pydoc
+ ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
+ # idle
+ if use tk; then
+ ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
+ fi
+}
+
+pkg_postinst() {
+ local v
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "${v}" -lt 3.13.0_beta2; then
+ ewarn "Python 3.13.0b2 has changed its module ABI. The .pyc files"
+ ewarn "installed previously are no longer valid and will be regenerated"
+ ewarn "(or ignored) on the next import. This may cause sandbox failures"
+ ewarn "when installing some packages and checksum mismatches when removing"
+ ewarn "old versions. To actively prevent this, rebuild all packages"
+ ewarn "installing Python 3.13 modules, e.g. using:"
+ ewarn
+ ewarn " emerge -1v /usr/lib/python3.13/site-packages"
+ fi
+ done
+}
diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.2.1.ebuild
index 9455e5922f3..ed5d7116361 100644
--- a/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.2.1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.2.1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-3+ BSD BSD-2"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="ccache doc pcre test"
RESTRICT="!test? ( test )"
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/Manifest
index f901e6641f9..13c64ffda5c 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/Manifest
@@ -1,2 +1 @@
-DIST cJSON-1.7.17.tar.gz 353748 BLAKE2B 11d47bebc4b6b3a8115234706f1b35af0f450725c2ee36aaf563a5d44e20a7bc0e2b83aaf15aeea3146bdad7467e96bf7d6edcd79ad4f3e5a9ffe40f002cf8d5 SHA512 4feebafa5225297fa3e6a7bf23f8d31b5c3e172f437078c5a07528522ad58ca2e9c72dd9e8611241d2b8321e9aa0a1a9af7743689d1c2001d1d9cb624aae6fa8
DIST cJSON-1.7.18.tar.gz 354726 BLAKE2B 293c483ed39028a23a49994698be69de16274500298893711d5767c381f51802c52f4981e074b26fd9174c186f9874fdc1811f49272c1b90f8fb82a1a315db60 SHA512 2accb507c6b97222eb5f0232c015b356cf6d248d1247049928731aa8e897378245e62395c232b1ec57d28d1e53ac72c849be85e59c33616a382d40473649f66b
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/cJSON-1.7.17.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/cJSON-1.7.17.ebuild
deleted file mode 100644
index 9dd067cc9ac..00000000000
--- a/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/cJSON-1.7.17.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2021-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Ultralightweight JSON parser in ANSI C"
-HOMEPAGE="https://github.com/DaveGamble/cJSON"
-SRC_URI="https://github.com/DaveGamble/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-src_prepare() {
- cmake_src_prepare
-
- sed -i -e '/-Werror/d' CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_CJSON_TEST=$(usex test)
- )
-
- cmake_src_configure
-}
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/cJSON-1.7.18.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/cJSON-1.7.18.ebuild
index ad4a1c44841..1848201b4a8 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/cJSON-1.7.18.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/cJSON-1.7.18.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/DaveGamble/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.g
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.6.ebuild
index 339ee604f85..4cb3fb6b75e 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.6.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.6.ebuild
@@ -3,7 +3,7 @@
EAPI=8
PYTHON_REQ_USE="xml(+)"
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
@@ -16,7 +16,7 @@ IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test u
RESTRICT="!test? ( test )"
REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
# * elfutils (via libelf) does not build on Windows. gresources are not embedded
# within ELF binaries on that platform anyway and inspecting ELF binaries from
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild
index e54b7e1668d..b9506b1ab48 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="xml(+)"
inherit gnome.org meson python-single-r1 xdg
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild
index 06b52ad4ddb..9747d039fe0 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild
@@ -78,6 +78,14 @@ src_prepare() {
eautoreconf
}
+src_configure() {
+ # Sensitive to optimisation; parts of the codebase are built with
+ # -O0 already. Don't risk it with UB.
+ strip-flags
+
+ multilib-minimal_src_configure
+}
+
multilib_src_configure() {
if [[ ${CHOST} == *86*-solaris* ]] ; then
# ASM code uses GNU ELF syntax, divide in particular, we need to
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild
index 5d8b88fc084..e2225f42386 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild
@@ -81,6 +81,14 @@ src_prepare() {
eautoreconf
}
+src_configure() {
+ # Sensitive to optimisation; parts of the codebase are built with
+ # -O0 already. Don't risk it with UB.
+ strip-flags
+
+ multilib-minimal_src_configure
+}
+
multilib_src_configure() {
if [[ ${CHOST} == *86*-solaris* ]] ; then
# ASM code uses GNU ELF syntax, divide in particular, we need to
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild
index 7b2ed8bd2e2..38eb6264d7e 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild
@@ -84,6 +84,14 @@ src_prepare() {
eautoreconf
}
+src_configure() {
+ # Sensitive to optimisation; parts of the codebase are built with
+ # -O0 already. Don't risk it with UB.
+ strip-flags
+
+ multilib-minimal_src_configure
+}
+
multilib_src_configure() {
if [[ ${CHOST} == *86*-solaris* ]] ; then
# ASM code uses GNU ELF syntax, divide in particular, we need to
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0.ebuild
index 9e28b00286b..f3520b916d9 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0.ebuild
@@ -85,6 +85,14 @@ src_prepare() {
eautoreconf
}
+src_configure() {
+ # Sensitive to optimisation; parts of the codebase are built with
+ # -O0 already. Don't risk it with UB.
+ strip-flags
+
+ multilib-minimal_src_configure
+}
+
multilib_src_configure() {
if [[ ${CHOST} == *86*-solaris* ]] ; then
# ASM code uses GNU ELF syntax, divide in particular, we need to
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest
index e2dc21a8fc0..3b8132a4cb8 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest
@@ -4,6 +4,7 @@ DIST libxml2-2.12.5.tar.xz 2643452 BLAKE2B b63ade8b18d98701e95b79ac2199bfc4ca89c
DIST libxml2-2.12.6.tar.xz 2643124 BLAKE2B 677589cf063b109018aafc04a1564242ba1a9d88b2c511f583d4aa511c13aff15254a9d5f6ea2c294902338b0c0207ff59c51298e128981d57f86367ddc1a803 SHA512 19d6901c0f189813e8bd20ffdfbb29d8545ca30154d1f3cc82624d64e4db3cfbe8eef7e8ccc1e195289f1bf94bb50fefcf11a95badb0ddeb845b4e4ea5a819ac
DIST libxml2-2.12.7.tar.xz 2641980 BLAKE2B 19abc2a7824212b1de3ceb1e8e3bbb39cb5feb31f8f6e1b1701a8255f34aadbbd01631e8011fd1207d2e711372a893034a99cb4aaa779a1df22d49d339dbfc76 SHA512 88b5f3e0a7c6704926e662a46ba0606d901efbcd70a36bd39fe034e29ee42d66d7296358761e04272c9696192a1380bda55852b2a0b14a05a7a083a08e125f5f
DIST libxml2-2.12.8.tar.xz 2643728 BLAKE2B d26fe61e913e73c923eb8140a9080d6b70078ce45e94fe61d1ca1b8919d5b86feb7f14156f5a8b06ea06a03a96a242ce3a32e8d61169cfa8bde587888438627b SHA512 59baac9a82a734045112be6da12bbbe80a71575145424c2225e4bd9f8d54e53c674dcbc9576eb55f646632335702e7f0b1928f96a851159ace9b26f677fd3d77
+DIST libxml2-2.13.1.tar.xz 2579424 BLAKE2B 93cbd3943b0a7a7a07036a3ce01740c37049b44c20f43aaee96ef9a36e86bc108914950d7532740be87995b8eb5c1e6fbb4464c6af0a20233c8a1a206b9a5b83 SHA512 28d280eb5e2f3af9df5adcccced730602e6951fd181b8d00256dbb2138abfe32a4b145fdc00ed8c77a6d322e0929bcb3d5128ad4622877d7f8a059d4b6e011a6
DIST xmlts20130923.tar.gz 641522 BLAKE2B 63a47bc69278ef510cd0b3779aed729e1b309e30efa0015d28ed051cc03f9dfddb447ab57b07b3393e8f47393d15473b0e199c34cb1f5f746b15ddfaa55670be SHA512 d5c4d26b324ed21f4e0641cd7f8b76dbf9de80df8b519982e44d41c960df29fd03618e02e9693b2d11ad06d19c4a965274c95a048ec3b9653eacb919a7f8b733
DIST xsts-2002-01-16.tar.gz 6894439 BLAKE2B 1e9ec63d2c104655e64249e07440a04d862fcbcd4d4e19745d81b34994319b510a531c9d6df1491fae1e90b5d0764f0f1a827251ca8df5d613178b0eab01ef25 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288
DIST xsts-2004-01-14.tar.gz 2761085 BLAKE2B 41545995fb3a65d053257c376c07d45ffd1041a433bfbdb46d4dd87a5afb60c18c8629a3d988323f9e7a1d709775b5a7e5930276a7121c0725a22705c0976e36 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.11.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.11.8.ebuild
index a99823ff15d..f11bd3c8ebe 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.11.8.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.11.8.ebuild
@@ -23,7 +23,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit autotools git-r3
else
inherit gnome.org libtool
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
SRC_URI+="
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.7.ebuild
index bcb12e755d3..3d915e2ccc5 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.7.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.7.ebuild
@@ -23,7 +23,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit autotools git-r3
else
inherit gnome.org libtool
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
SRC_URI+="
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.8.ebuild
index c4d87530a6d..3ac81e4938e 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.8.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.8.ebuild
@@ -5,7 +5,7 @@ EAPI=8
# Note: Please bump in sync with dev-libs/libxslt
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="xml(+)"
inherit flag-o-matic python-r1 multilib-minimal
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.1.ebuild
new file mode 100644
index 00000000000..92dfc0a4678
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.1.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: Please bump in sync with dev-libs/libxslt
+
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE="xml(+)"
+inherit python-r1 multilib-minimal
+
+XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
+XSTS_NAME_1="xmlschema2002-01-16"
+XSTS_NAME_2="xmlschema2004-01-14"
+XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
+XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
+XMLCONF_TARBALL="xmlts20130923.tar.gz"
+
+DESCRIPTION="XML C parser and toolkit"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2"
+ inherit autotools git-r3
+else
+ inherit gnome.org libtool
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+SRC_URI+="
+ test? (
+ ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
+ ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
+ https://www.w3.org/XML/Test/${XMLCONF_TARBALL}
+ )
+"
+S="${WORKDIR}/${PN}-${PV%_rc*}"
+
+LICENSE="MIT"
+SLOT="2"
+IUSE="examples icu lzma +python readline static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ virtual/libiconv
+ >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
+ icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+if [[ ${PV} == 9999 ]] ; then
+ BDEPEND+=" dev-build/gtk-doc-am"
+fi
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/xml2-config
+)
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ else
+ local tarname=${P/_rc/-rc}.tar.xz
+
+ # ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR},
+ # as they are needed as tarballs in ${S}/xstc instead and not unpacked
+ unpack ${tarname}
+
+ if [[ -n ${PATCHSET_VERSION} ]] ; then
+ unpack ${PN}-${PATCHSET_VERSION}.tar.xz
+ fi
+ fi
+
+ cd "${S}" || die
+
+ if use test ; then
+ cp "${DISTDIR}/${XSTS_TARBALL_1}" \
+ "${DISTDIR}/${XSTS_TARBALL_2}" \
+ "${S}"/xstc/ \
+ || die "Failed to install test tarballs"
+ unpack ${XMLCONF_TARBALL}
+ fi
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautoreconf
+ else
+ # Please do not remove, as else we get references to PORTAGE_TMPDIR
+ # in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
+ elibtoolize
+ fi
+}
+
+multilib_src_configure() {
+ libxml2_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_with icu) \
+ $(use_with lzma) \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_with readline) \
+ $(multilib_native_use_with readline history) \
+ "$@"
+ }
+
+ # Build python bindings separately
+ libxml2_configure --without-python
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_configure --with-python
+}
+
+libxml2_py_emake() {
+ pushd "${BUILD_DIR}"/python >/dev/null || die
+
+ emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
+
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ NATIVE_BUILD_DIR="${BUILD_DIR}"
+ python_foreach_impl run_in_build_dir libxml2_py_emake all
+ fi
+}
+
+multilib_src_test() {
+ ln -s "${S}"/xmlconf || die
+
+ emake check
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake check
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install
+
+ # Hack until automake release is made for the optimise fix
+ # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
+ multilib_is_native_abi && use python && python_foreach_impl python_optimize
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use examples ; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
+ rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
+ fi
+
+ rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die
+
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
+ # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
+ if [[ -n "${ROOT}" ]]; then
+ elog "Skipping XML catalog creation for stage building (bug #208887)."
+ else
+ # Need an XML catalog, so no-one writes to a non-existent one
+ CATALOG="${EROOT}/etc/xml/catalog"
+
+ # We don't want to clobber an existing catalog though,
+ # only ensure that one is there
+ #
+ if [[ ! -e "${CATALOG}" ]]; then
+ [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml"
+ "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
+ einfo "Created XML catalog in ${CATALOG}"
+ fi
+ fi
+}
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild
index e3b042b8091..92dfc0a4678 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild
@@ -5,7 +5,7 @@ EAPI=8
# Note: Please bump in sync with dev-libs/libxslt
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="xml(+)"
inherit python-r1 multilib-minimal
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest
index 0c049556676..b10e3d3f68d 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest
@@ -1 +1,2 @@
DIST libxslt-1.1.39.tar.xz 1578216 BLAKE2B 7c87b769d345fc99a966bea6b4e94533fa211dc3a987ce013a03eefb05dde73ef75526bdecf7d32d8c77112232096fb22d8ec4f0a781b9f59d0422a2db75df01 SHA512 c0c99dc63f8b2acb6cc3ad7ad684ffa2a427ee8d1740495cbf8a7c9b9c8679f96351b4b676c73ccc191014db4cb4ab42b9a0070f6295565f39dbc665c5c16f89
+DIST libxslt-1.1.41.tar.xz 1573868 BLAKE2B 2228a4074f257edd4fa0ebb2a713b035b780b19398ba9208dedb0d0cec6777129c9bb08a80494b657a4238bea228bd752761118a0022f56d71cc1302838b1733 SHA512 b9f94d1c00dfb9f731c6c424a0d3f07fb0a37935048b26618e5405c3890d1d40c832420117de4d5363a90ab4809f77f6e566013ce7858cc88e0905709ca0f6fe
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-deprecated-xmlCharEncodingHandler.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-deprecated-xmlCharEncodingHandler.patch
new file mode 100644
index 00000000000..86c779c3c7c
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-deprecated-xmlCharEncodingHandler.patch
@@ -0,0 +1,93 @@
+https://gitlab.gnome.org/GNOME/libxslt/-/commit/8d456f03b6b6661edfb0a3f1bc5abdc9597f60e7
+
+From 8d456f03b6b6661edfb0a3f1bc5abdc9597f60e7 Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer
+Date: Tue, 2 Jul 2024 22:27:02 +0200
+Subject: [PATCH] utils: Don't use deprecated xmlCharEncodingHandler member
+
+---
+ libxslt/xsltutils.c | 44 ++++++++++++++++++++------------------------
+ 1 file changed, 20 insertions(+), 24 deletions(-)
+
+diff --git a/libxslt/xsltutils.c b/libxslt/xsltutils.c
+index 3705d28f..d493905b 100644
+--- a/libxslt/xsltutils.c
++++ b/libxslt/xsltutils.c
+@@ -1750,13 +1750,12 @@ xsltSaveResultToFilename(const char *URL, xmlDocPtr result,
+
+ XSLT_GET_IMPORT_PTR(encoding, style, encoding)
+ if (encoding != NULL) {
+- xmlCharEncodingHandlerPtr encoder;
++ xmlCharEncodingHandlerPtr encoder = NULL;
+
+- encoder = xmlFindCharEncodingHandler((char *)encoding);
+- if ((encoder != NULL) &&
+- (xmlStrEqual((const xmlChar *)encoder->name,
+- (const xmlChar *) "UTF-8")))
+- encoder = NULL;
++ /* Don't use UTF-8 dummy encoder */
++ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) &&
++ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0))
++ encoder = xmlFindCharEncodingHandler((char *) encoding);
+ buf = xmlOutputBufferCreateFilename(URL, encoder, compression);
+ } else {
+ buf = xmlOutputBufferCreateFilename(URL, NULL, compression);
+@@ -1793,13 +1792,12 @@ xsltSaveResultToFile(FILE *file, xmlDocPtr result, xsltStylesheetPtr style) {
+
+ XSLT_GET_IMPORT_PTR(encoding, style, encoding)
+ if (encoding != NULL) {
+- xmlCharEncodingHandlerPtr encoder;
++ xmlCharEncodingHandlerPtr encoder = NULL;
+
+- encoder = xmlFindCharEncodingHandler((char *)encoding);
+- if ((encoder != NULL) &&
+- (xmlStrEqual((const xmlChar *)encoder->name,
+- (const xmlChar *) "UTF-8")))
+- encoder = NULL;
++ /* Don't use UTF-8 dummy encoder */
++ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) &&
++ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0))
++ encoder = xmlFindCharEncodingHandler((char *) encoding);
+ buf = xmlOutputBufferCreateFile(file, encoder);
+ } else {
+ buf = xmlOutputBufferCreateFile(file, NULL);
+@@ -1837,13 +1835,12 @@ xsltSaveResultToFd(int fd, xmlDocPtr result, xsltStylesheetPtr style) {
+
+ XSLT_GET_IMPORT_PTR(encoding, style, encoding)
+ if (encoding != NULL) {
+- xmlCharEncodingHandlerPtr encoder;
++ xmlCharEncodingHandlerPtr encoder = NULL;
+
+- encoder = xmlFindCharEncodingHandler((char *)encoding);
+- if ((encoder != NULL) &&
+- (xmlStrEqual((const xmlChar *)encoder->name,
+- (const xmlChar *) "UTF-8")))
+- encoder = NULL;
++ /* Don't use UTF-8 dummy encoder */
++ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) &&
++ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0))
++ encoder = xmlFindCharEncodingHandler((char *) encoding);
+ buf = xmlOutputBufferCreateFd(fd, encoder);
+ } else {
+ buf = xmlOutputBufferCreateFd(fd, NULL);
+@@ -1880,13 +1877,12 @@ xsltSaveResultToString(xmlChar **doc_txt_ptr, int * doc_txt_len,
+
+ XSLT_GET_IMPORT_PTR(encoding, style, encoding)
+ if (encoding != NULL) {
+- xmlCharEncodingHandlerPtr encoder;
++ xmlCharEncodingHandlerPtr encoder = NULL;
+
+- encoder = xmlFindCharEncodingHandler((char *)encoding);
+- if ((encoder != NULL) &&
+- (xmlStrEqual((const xmlChar *)encoder->name,
+- (const xmlChar *) "UTF-8")))
+- encoder = NULL;
++ /* Don't use UTF-8 dummy encoder */
++ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) &&
++ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0))
++ encoder = xmlFindCharEncodingHandler((char *) encoding);
+ buf = xmlAllocOutputBuffer(encoder);
+ if (buf == NULL)
+ xmlCharEncCloseFunc(encoder);
+--
+GitLab
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-extensions-xmlCheckFilename-older-libxml2.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-extensions-xmlCheckFilename-older-libxml2.patch
new file mode 100644
index 00000000000..bdf39460af2
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-extensions-xmlCheckFilename-older-libxml2.patch
@@ -0,0 +1,40 @@
+https://gitlab.gnome.org/GNOME/libxslt/-/commit/a85bd17ec52793b33074f0f785c3d989feb20170
+
+From a85bd17ec52793b33074f0f785c3d989feb20170 Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer
+Date: Fri, 21 Jun 2024 15:07:18 +0200
+Subject: [PATCH] extensions: Readd call to xmlCheckFilename with older libxml2
+
+Fix spurious warning with libxml2 before 2.13.0 caused by 014b2892.
+
+Fixes #113.
+---
+ libxslt/extensions.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/libxslt/extensions.c b/libxslt/extensions.c
+index 05cdf354..d3d61543 100644
+--- a/libxslt/extensions.c
++++ b/libxslt/extensions.c
+@@ -415,6 +415,19 @@ xsltExtModuleRegisterDynamic(const xmlChar * URI)
+ module_filename, URI);
+ #endif
+
++#if LIBXML_VERSION < 21300
++ if (1 != xmlCheckFilename(module_filename)) {
++
++#ifdef WITH_XSLT_DEBUG_EXTENSIONS
++ xsltGenericDebug(xsltGenericDebugContext,
++ "xmlCheckFilename failed for plugin: %s\n", module_filename);
++#endif
++
++ xmlFree(ext_name);
++ return (-1);
++ }
++#endif
++
+ /* attempt to open the module */
+ m = xmlModuleOpen(module_filename, 0);
+ if (NULL == m) {
+--
+GitLab
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-libxml2-2.13.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-libxml2-2.13.patch
new file mode 100644
index 00000000000..99b89ae08f7
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-libxml2-2.13.patch
@@ -0,0 +1,171 @@
+https://gitlab.gnome.org/GNOME/libxslt/-/issues/116
+https://gitlab.gnome.org/GNOME/libxslt/-/commit/081cd6e97a620d035ed7df35e998e2d288bc7862
+
+From 081cd6e97a620d035ed7df35e998e2d288bc7862 Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer
+Date: Mon, 1 Jul 2024 13:21:14 +0200
+Subject: [PATCH] transform: Handle filesystem paths after libxml2 changes
+
+After changes in libxml2 2.13, base URIs and resolved URIs can be
+filesystem paths.
+
+Check for invalid URIs and remove fragment before resolving URI in
+xsltDocumentFunction.
+
+Handle filesystem paths in xsltCheckRead.
+
+Should fix #116.
+---
+ libxslt/functions.c | 64 ++++++++++++++++++++++++++-------------------
+ libxslt/security.c | 13 +++++++++
+ 2 files changed, 50 insertions(+), 27 deletions(-)
+
+diff --git a/libxslt/functions.c b/libxslt/functions.c
+index 0c9dec43..d54f8f48 100644
+--- a/libxslt/functions.c
++++ b/libxslt/functions.c
+@@ -96,11 +96,10 @@ xsltXPathFunctionLookup (void *vctxt,
+ ************************************************************************/
+
+ static void
+-xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI)
++xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt,
++ const xmlChar* URI, const xmlChar *fragment)
+ {
+ xsltTransformContextPtr tctxt;
+- xmlURIPtr uri;
+- xmlChar *fragment = NULL;
+ xsltDocumentPtr idoc; /* document info */
+ xmlDocPtr doc;
+ xmlXPathContextPtr xptrctxt = NULL;
+@@ -115,26 +114,7 @@ xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI)
+ goto out_fragment;
+ }
+
+- uri = xmlParseURI((const char *) URI);
+- if (uri == NULL) {
+- xsltTransformError(tctxt, NULL, NULL,
+- "document() : failed to parse URI\n");
+- goto out_fragment;
+- }
+-
+- /*
+- * check for and remove fragment identifier
+- */
+- fragment = (xmlChar *)uri->fragment;
+- if (fragment != NULL) {
+- xmlChar *newURI;
+- uri->fragment = NULL;
+- newURI = xmlSaveUri(uri);
+- idoc = xsltLoadDocument(tctxt, newURI);
+- xmlFree(newURI);
+- } else
+- idoc = xsltLoadDocument(tctxt, URI);
+- xmlFreeURI(uri);
++ idoc = xsltLoadDocument(tctxt, URI);
+
+ if (idoc == NULL) {
+ if ((URI == NULL) ||
+@@ -194,7 +174,6 @@ out_fragment:
+ if (resObj == NULL)
+ resObj = xmlXPathNewNodeSet(NULL);
+ valuePush(ctxt, resObj);
+- xmlFree(fragment);
+ }
+
+ /**
+@@ -210,7 +189,8 @@ xsltDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs)
+ {
+ xmlXPathObjectPtr obj, obj2 = NULL;
+ xmlChar *base = NULL, *URI;
+-
++ xmlChar *newURI = NULL;
++ xmlChar *fragment = NULL;
+
+ if ((nargs < 1) || (nargs > 2)) {
+ xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
+@@ -292,7 +272,32 @@ xsltDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs)
+ valuePush(ctxt, xmlXPathNewNodeSet(NULL));
+ } else {
+ xsltTransformContextPtr tctxt;
++ xmlURIPtr uri;
++ const xmlChar *url;
++
+ tctxt = xsltXPathGetTransformContext(ctxt);
++
++ url = obj->stringval;
++
++ uri = xmlParseURI((const char *) url);
++ if (uri == NULL) {
++ xsltTransformError(tctxt, NULL, NULL,
++ "document() : failed to parse URI '%s'\n", url);
++ valuePush(ctxt, xmlXPathNewNodeSet(NULL));
++ goto error;
++ }
++
++ /*
++ * check for and remove fragment identifier
++ */
++ fragment = (xmlChar *)uri->fragment;
++ if (fragment != NULL) {
++ uri->fragment = NULL;
++ newURI = xmlSaveUri(uri);
++ url = newURI;
++ }
++ xmlFreeURI(uri);
++
+ if ((obj2 != NULL) && (obj2->nodesetval != NULL) &&
+ (obj2->nodesetval->nodeNr > 0) &&
+ IS_XSLT_REAL_NODE(obj2->nodesetval->nodeTab[0])) {
+@@ -313,7 +318,8 @@ xsltDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs)
+ (xmlNodePtr) tctxt->style->doc);
+ }
+ }
+- URI = xmlBuildURI(obj->stringval, base);
++
++ URI = xmlBuildURI(url, base);
+ if (base != NULL)
+ xmlFree(base);
+ if (URI == NULL) {
+@@ -326,10 +332,14 @@ xsltDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs)
+ valuePush(ctxt, xmlXPathNewNodeSet(NULL));
+ }
+ } else {
+- xsltDocumentFunctionLoadDocument( ctxt, URI );
++ xsltDocumentFunctionLoadDocument(ctxt, URI, fragment);
+ xmlFree(URI);
+ }
+ }
++
++error:
++ xmlFree(newURI);
++ xmlFree(fragment);
+ xmlXPathFreeObject(obj);
+ if (obj2 != NULL)
+ xmlXPathFreeObject(obj2);
+diff --git a/libxslt/security.c b/libxslt/security.c
+index 001ee6e4..3a66594f 100644
+--- a/libxslt/security.c
++++ b/libxslt/security.c
+@@ -422,6 +422,19 @@ xsltCheckRead(xsltSecurityPrefsPtr sec,
+ xmlURIPtr uri;
+ xsltSecurityCheck check;
+
++ if (xmlStrstr(URL, BAD_CAST "://") == NULL) {
++ check = xsltGetSecurityPrefs(sec, XSLT_SECPREF_READ_FILE);
++ if (check != NULL) {
++ ret = check(sec, ctxt, (const char *) URL);
++ if (ret == 0) {
++ xsltTransformError(ctxt, NULL, NULL,
++ "Local file read for %s refused\n", URL);
++ return(0);
++ }
++ }
++ return(1);
++ }
++
+ uri = xmlParseURI((const char *)URL);
+ if (uri == NULL) {
+ xsltTransformError(ctxt, NULL, NULL,
+--
+GitLab
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.39.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.39.ebuild
index 63f43e719ab..1bcad69eab5 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.39.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.39.ebuild
@@ -5,7 +5,7 @@ EAPI=8
# Note: Please bump this in sync with dev-libs/libxml2.
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit flag-o-matic python-r1 multilib-minimal
DESCRIPTION="XSLT libraries and tools"
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.41.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.41.ebuild
new file mode 100644
index 00000000000..f712581ff26
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.41.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: Please bump this in sync with dev-libs/libxml2.
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit python-r1 multilib-minimal
+
+DESCRIPTION="XSLT libraries and tools"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libxslt"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxslt"
+ inherit autotools git-r3
+else
+ inherit libtool gnome.org
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="crypt debug examples python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+BDEPEND=">=virtual/pkgconfig-1"
+RDEPEND="
+ >=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP}]
+ crypt? ( >=dev-libs/libgcrypt-1.5.3:=[${MULTILIB_USEDEP}] )
+ python? (
+ ${PYTHON_DEPS}
+ >=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP},python,${PYTHON_USEDEP}]
+ )
+"
+DEPEND="${RDEPEND}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/xslt-config
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/libxslt/xsltconfig.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-extensions-xmlCheckFilename-older-libxml2.patch
+ "${FILESDIR}"/${P}-libxml2-2.13.patch
+ "${FILESDIR}"/${P}-deprecated-xmlCharEncodingHandler.patch
+)
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautoreconf
+ else
+ # Prefix always needs elibtoolize if not eautoreconf'd.
+ elibtoolize
+ fi
+}
+
+multilib_src_configure() {
+ libxslt_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --without-python \
+ $(use_with crypt crypto) \
+ $(use_with debug) \
+ $(use_enable static-libs static) \
+ "$@"
+ }
+
+ # Build Python bindings separately
+ libxslt_configure --without-python
+
+ if multilib_is_native_abi && use python ; then
+ NATIVE_BUILD_DIR="${BUILD_DIR}"
+ python_foreach_impl run_in_build_dir libxslt_configure --with-python
+ fi
+}
+
+libxslt_py_emake() {
+ pushd "${BUILD_DIR}"/python >/dev/null || die
+
+ emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
+
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl run_in_build_dir libxslt_py_emake all
+ fi
+}
+
+multilib_src_test() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl run_in_build_dir libxslt_py_emake check
+ fi
+}
+
+multilib_src_install() {
+ # "default" does not work here - docs are installed by multilib_src_install_all
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python; then
+ python_foreach_impl run_in_build_dir libxslt_py_emake \
+ DESTDIR="${D}" \
+ install
+
+ # Hack until automake release is made for the optimise fix
+ # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
+ python_foreach_impl python_optimize
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use examples ; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/tutorial{,2} || die
+ rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
+ fi
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-9999.ebuild
index 22acdc53723..f712581ff26 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-9999.ebuild
@@ -5,7 +5,7 @@ EAPI=8
# Note: Please bump this in sync with dev-libs/libxml2.
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit python-r1 multilib-minimal
DESCRIPTION="XSLT libraries and tools"
@@ -25,9 +25,12 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
BDEPEND=">=virtual/pkgconfig-1"
RDEPEND="
- >=dev-libs/libxml2-2.9.11:2[${MULTILIB_USEDEP}]
- crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
- python? ( ${PYTHON_DEPS} )
+ >=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP}]
+ crypt? ( >=dev-libs/libgcrypt-1.5.3:=[${MULTILIB_USEDEP}] )
+ python? (
+ ${PYTHON_DEPS}
+ >=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP},python,${PYTHON_USEDEP}]
+ )
"
DEPEND="${RDEPEND}"
@@ -39,6 +42,12 @@ MULTILIB_WRAPPED_HEADERS=(
/usr/include/libxslt/xsltconfig.h
)
+PATCHES=(
+ "${FILESDIR}"/${P}-extensions-xmlCheckFilename-older-libxml2.patch
+ "${FILESDIR}"/${P}-libxml2-2.13.patch
+ "${FILESDIR}"/${P}-deprecated-xmlCharEncodingHandler.patch
+)
+
src_prepare() {
default
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.ebuild
index b79aa1e683e..08c8eb463c2 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.ebuild
@@ -89,7 +89,7 @@ multilib_src_configure() {
)
# https://git.lysator.liu.se/nettle/nettle/-/issues/7
- if use cpu_flags_ppc_altivec && ! tc-cpp-is-true "defined(__VSX__) && __VSX__ == 1" "${CPPFLAGS}" "${CFLAGS}" ; then
+ if use cpu_flags_ppc_altivec && ! tc-cpp-is-true "defined(__VSX__) && __VSX__ == 1" ${CPPFLAGS} ${CFLAGS} ; then
ewarn "cpu_flags_ppc_altivec is enabled, but nettle's asm requires >=P7."
ewarn "Disabling, sorry! See bug #920234."
myeconfargs+=( --disable-power-altivec )
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.9.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.9.1-r1.ebuild
index 5f20798db8f..55e95a1e59f 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.9.1-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.9.1-r1.ebuild
@@ -84,7 +84,7 @@ multilib_src_configure() {
)
# https://git.lysator.liu.se/nettle/nettle/-/issues/7
- if use cpu_flags_ppc_altivec && ! tc-cpp-is-true "defined(__VSX__) && __VSX__ == 1" "${CPPFLAGS}" "${CFLAGS}" ; then
+ if use cpu_flags_ppc_altivec && ! tc-cpp-is-true "defined(__VSX__) && __VSX__ == 1" ${CPPFLAGS} ${CFLAGS} ; then
ewarn "cpu_flags_ppc_altivec is enabled, but nettle's asm requires >=P7."
ewarn "Disabling, sorry! See bug #920234."
myeconfargs+=( --disable-power-altivec )
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest
index 491e8fa19f2..af1849aaafc 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest
@@ -2,4 +2,8 @@ DIST protobuf-21.12.tar.gz 5141166 BLAKE2B 33500612d103afb817062486a741e8e5503f8
DIST protobuf-21.9.tar.gz 5110670 BLAKE2B a4f5b7f58e1c5904ca990b100a72992f6f56177b28773f8de8c99e4158391d33cfb8aa8575915887fc9ae4294faf81d4ff6b470bc07b394bfd5885a09ba0fafe SHA512 6954b42d21921e630173b7848c056ab95635627d8eddec960f3db2ddda13eedde00520a9b350722e76e2998649eb8ebe10758e1db938b6a91e38ff3295b1b7c1
DIST protobuf-22.5.tar.gz 4924661 BLAKE2B d69c73f4ebfddf45fd94b4f5f898faf00256fe674f2cbc0443c60a88d7a0f47fb96f2f6262879927c6da88095b4ea3ee7fd4c471c100bf42a2bae9edf48c07f1 SHA512 058ab2fec5b11007972e6043071056d1944c3b6fe1d31246cddba8eb57686e3b5280f6ad3d58e78940ca63005e74a8de3c72237f9f7c5066548c5a2513ddc584
DIST protobuf-23.3.tar.gz 5043803 BLAKE2B ee2edee230969555c9ef95069c7b1d6c23c3d1f8ea1b2249fb3e9f6fcf63312c6e10e9da65b80629fb08d5fb08d05a19bb9c752c25b892c1e3fd6f18b9279eb3 SHA512 646af367dbc61b42e322cf0b335f360e428b272e2b1f5361b2f17c18d3dc9dddd615e1279436028b1a42275a0beadda37c2c934fc27d6c892131cc8d526d8b3b
+DIST protobuf-23.4.tar.gz 5043507 BLAKE2B bf6a50771eb977ef92b779a32fd909693faae6394254c73e3c9b2729bce643f8cbfb5a1bd18b30abf3003b9fbfd24c074cea4085a6ccf14fdb6a3aeac9efcb89 SHA512 b93a4e0339ecbe085796de5b6c61feae35229d40db9019c043090bcaa483a1cce78a99487c5638482c68832fcede5579a0e5ec731221a88359b80db9bb6dc566
+DIST protobuf-24.4.tar.gz 5180235 BLAKE2B 1c7e9035d9f3810886baaea7d679414c882463c79828c99dd8895a9549638c1ca17f9ab3b38d461019f3e1412d9cb9584b995b1da99866eb6fdbb8bdeb063e6f SHA512 52b6ab5587d03cbd1f35cf3cdc388e1710fa50f3031559ac53cf754965407ded7602cdead56080444ab695588112cc3391a1d7fdd5e565d90d0af7ad08706315
+DIST protobuf-25.3.tar.gz 5878962 BLAKE2B 9268f9bd993a1cfd6d3937a2ad56ba4cfe3d84923756513841cbf13039d4a07acb260468745cb1294f30334cb34b45c6fde272f5c40d9de63ac6a4ce5c263077 SHA512 1f73e237c919082e5423ae9e2ea8813dccf672c059051d1531fe89ffaa45872d3cf3052b8c3af26f674296ec17d7dc861c67b8f0834ed80261ce4a6a14ed7115
DIST protobuf-26.1.tar.gz 5957903 BLAKE2B 1a7faab2f56aa0995801a80f73a812c7fc38a00af0bf25bdd5eecf7aec27a86a575ea2fb8484787d19c9ac6e46007c9864e79464f529c446f31af732981feed1 SHA512 0363ac09f92d8e040491425d444c8dca0b9b430e02d2dff6e2b28a0c2b2bea0d33a47f50bc9e2e2d4e8e22b65a02009a20c0066fb89c75df93a7b703dda42ed4
+DIST protobuf-27.2.tar.gz 6282174 BLAKE2B 86d12e9f87e8e1c2961ad517115c8689a8dd984722513816d8d626e59a76f5e7a698a90cbf6007daacf66c6053c9ff28108ff113579a442ce61cd221178bda44 SHA512 664c66b62cf1ed0c65d9b910d8e67d4d5d471113697f1b8edf1573cd5c0fc8e850ac53ce984e48e6c6b9cbbefa12f8530058384e7388e65a59c1e46d03772397
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/metadata.xml
index 8549a8aa96f..8d3f48cb805 100644
--- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/metadata.xml
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/metadata.xml
@@ -1,7 +1,14 @@
-
+
+ negril.nx+gentoo@gmail.com
+ Paul Zander
+
+
+ proxy-maint@gentoo.org
+ Proxy Maintainers
+
Soname version number
@@ -9,4 +16,11 @@
cpe:/a:google:protobuf
protocolbuffers/protobuf
+
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-22.5-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-22.5-r2.ebuild
new file mode 100644
index 00000000000..b8dbe905360
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-22.5-r2.ebuild
@@ -0,0 +1,133 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common flag-o-matic toolchain-funcs
+
+ABSEIL_BRANCH="lts_2023_01_25" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+
+ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
+ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
+
+if [[ "${PV}" == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=( '-*' )
+
+ inherit git-r3
+else
+ SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
+HOMEPAGE="https://protobuf.dev/"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-2).0"
+IUSE="emacs examples test zlib"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ emacs? ( app-editors/emacs:* )
+"
+
+COMMON_DEPEND="
+ dev-libs/jsoncpp
+ >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-23.3-disable-32-bit-tests.patch"
+ "${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+ "${FILESDIR}/${P}-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch"
+ "${FILESDIR}/${P}-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch"
+)
+
+DOCS=( CONTRIBUTORS.txt README.md )
+
+src_prepare() {
+ eapply_user
+ append-cxxflags -std=c++17
+ cmake_src_prepare
+}
+
+src_configure() {
+ if tc-ld-is-gold; then
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
+ tc-ld-disable-gold
+ fi
+
+ cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_DISABLE_RTTI="yes" # TODO why?
+ -Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
+ -Dprotobuf_WITH_ZLIB="$(usex zlib)"
+ -Dprotobuf_BUILD_TESTS="$(usex test)"
+ -Dprotobuf_ABSL_PROVIDER="package"
+ )
+ use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON)
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile editors/protobuf-mode.el
+ fi
+}
+
+src_test() {
+ local -x srcdir="${S}"/src
+ cmake-multilib_src_test
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
+ eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
+ "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
+ die "Please update SLOT variable"
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins editors/proto.vim
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins "${FILESDIR}/proto.vim"
+
+ if use emacs; then
+ elisp-install "${PN}" editors/protobuf-mode.el*
+ elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
+ fi
+
+ if use examples; then
+ DOCS+=(examples)
+ docompress -x "/usr/share/doc/${PF}/examples"
+ fi
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.4.ebuild
new file mode 100644
index 00000000000..87f127940ad
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.4.ebuild
@@ -0,0 +1,126 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common toolchain-funcs
+
+ABSEIL_BRANCH="lts_2023_01_25" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+
+ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
+ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
+
+if [[ "${PV}" == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=( '-*' )
+
+ inherit git-r3
+else
+ SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
+HOMEPAGE="https://protobuf.dev/"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-2).0"
+IUSE="emacs examples test zlib"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ emacs? ( app-editors/emacs:* )
+"
+
+COMMON_DEPEND="
+ dev-libs/jsoncpp
+ >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-23.3-disable-32-bit-tests.patch"
+ "${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+ "${FILESDIR}/${PN}-23.3-messages_lite-template-instances.patch"
+)
+
+DOCS=( CONTRIBUTORS.txt README.md )
+
+src_configure() {
+ if tc-ld-is-gold; then
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
+ tc-ld-disable-gold
+ fi
+
+ cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_DISABLE_RTTI="yes" # TODO why?
+ -Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
+ -Dprotobuf_WITH_ZLIB="$(usex zlib)"
+ -Dprotobuf_BUILD_TESTS="$(usex test)"
+ -Dprotobuf_ABSL_PROVIDER="package"
+ )
+ use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON)
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile editors/protobuf-mode.el
+ fi
+}
+
+src_test() {
+ local -x srcdir="${S}"/src
+ cmake-multilib_src_test
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
+ eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
+ "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
+ die "Please update SLOT variable"
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins editors/proto.vim
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins "${FILESDIR}/proto.vim"
+
+ if use emacs; then
+ elisp-install "${PN}" editors/protobuf-mode.el*
+ elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
+ fi
+
+ if use examples; then
+ DOCS+=(examples)
+ docompress -x "/usr/share/doc/${PF}/examples"
+ fi
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-24.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-24.4.ebuild
new file mode 100644
index 00000000000..c3681d98ce7
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-24.4.ebuild
@@ -0,0 +1,125 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common toolchain-funcs
+
+ABSEIL_BRANCH="lts_2023_01_25" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+
+ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
+ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
+
+if [[ "${PV}" == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=( '-*' )
+
+ inherit git-r3
+else
+ SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
+HOMEPAGE="https://protobuf.dev/"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-2).0"
+IUSE="emacs examples test zlib"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ emacs? ( app-editors/emacs:* )
+"
+
+COMMON_DEPEND="
+ dev-libs/jsoncpp
+ >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch"
+ "${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+)
+
+DOCS=( CONTRIBUTORS.txt README.md )
+
+src_configure() {
+ if tc-ld-is-gold; then
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
+ tc-ld-disable-gold
+ fi
+
+ cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_DISABLE_RTTI="yes" # TODO why?
+ -Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
+ -Dprotobuf_WITH_ZLIB="$(usex zlib)"
+ -Dprotobuf_BUILD_TESTS="$(usex test)"
+ -Dprotobuf_ABSL_PROVIDER="package"
+ )
+ use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON)
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile editors/protobuf-mode.el
+ fi
+}
+
+src_test() {
+ local -x srcdir="${S}"/src
+ cmake-multilib_src_test
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
+ eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
+ "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
+ die "Please update SLOT variable"
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins editors/proto.vim
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins "${FILESDIR}/proto.vim"
+
+ if use emacs; then
+ elisp-install "${PN}" editors/protobuf-mode.el*
+ elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
+ fi
+
+ if use examples; then
+ DOCS+=(examples)
+ docompress -x "/usr/share/doc/${PF}/examples"
+ fi
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.3.ebuild
new file mode 100644
index 00000000000..422310009a8
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.3.ebuild
@@ -0,0 +1,125 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common toolchain-funcs
+
+ABSEIL_BRANCH="lts_2023_08_02" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+
+ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
+ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
+
+if [[ "${PV}" == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=( '-*' )
+
+ inherit git-r3
+else
+ SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
+HOMEPAGE="https://protobuf.dev/"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-2).0"
+IUSE="emacs examples test zlib"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ emacs? ( app-editors/emacs:* )
+"
+
+COMMON_DEPEND="
+ dev-libs/jsoncpp
+ >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch"
+ "${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+)
+
+DOCS=( CONTRIBUTORS.txt README.md )
+
+src_configure() {
+ if tc-ld-is-gold; then
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
+ tc-ld-disable-gold
+ fi
+
+ cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_DISABLE_RTTI="yes" # TODO why?
+ -Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
+ -Dprotobuf_WITH_ZLIB="$(usex zlib)"
+ -Dprotobuf_BUILD_TESTS="$(usex test)"
+ -Dprotobuf_ABSL_PROVIDER="package"
+ )
+ use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON)
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile editors/protobuf-mode.el
+ fi
+}
+
+src_test() {
+ local -x srcdir="${S}"/src
+ cmake-multilib_src_test
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
+ eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
+ "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
+ die "Please update SLOT variable"
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins editors/proto.vim
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins "${FILESDIR}/proto.vim"
+
+ if use emacs; then
+ elisp-install "${PN}" editors/protobuf-mode.el*
+ elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
+ fi
+
+ if use examples; then
+ DOCS+=(examples)
+ docompress -x "/usr/share/doc/${PF}/examples"
+ fi
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-26.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-26.1-r2.ebuild
new file mode 100644
index 00000000000..422310009a8
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-26.1-r2.ebuild
@@ -0,0 +1,125 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common toolchain-funcs
+
+ABSEIL_BRANCH="lts_2023_08_02" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+
+ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
+ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
+
+if [[ "${PV}" == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=( '-*' )
+
+ inherit git-r3
+else
+ SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
+HOMEPAGE="https://protobuf.dev/"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-2).0"
+IUSE="emacs examples test zlib"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ emacs? ( app-editors/emacs:* )
+"
+
+COMMON_DEPEND="
+ dev-libs/jsoncpp
+ >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch"
+ "${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+)
+
+DOCS=( CONTRIBUTORS.txt README.md )
+
+src_configure() {
+ if tc-ld-is-gold; then
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
+ tc-ld-disable-gold
+ fi
+
+ cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_DISABLE_RTTI="yes" # TODO why?
+ -Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
+ -Dprotobuf_WITH_ZLIB="$(usex zlib)"
+ -Dprotobuf_BUILD_TESTS="$(usex test)"
+ -Dprotobuf_ABSL_PROVIDER="package"
+ )
+ use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON)
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile editors/protobuf-mode.el
+ fi
+}
+
+src_test() {
+ local -x srcdir="${S}"/src
+ cmake-multilib_src_test
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
+ eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
+ "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
+ die "Please update SLOT variable"
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins editors/proto.vim
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins "${FILESDIR}/proto.vim"
+
+ if use emacs; then
+ elisp-install "${PN}" editors/protobuf-mode.el*
+ elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
+ fi
+
+ if use examples; then
+ DOCS+=(examples)
+ docompress -x "/usr/share/doc/${PF}/examples"
+ fi
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.2.ebuild
new file mode 100644
index 00000000000..d9b11f9f0d6
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.2.ebuild
@@ -0,0 +1,160 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common toolchain-funcs
+
+ABSEIL_BRANCH="lts_2023_08_02" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+
+ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
+ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
+
+if [[ "${PV}" == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=( '-*' )
+ MY_SLOT="27.2"
+
+ inherit git-r3
+else
+ SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+ MY_SLOT=$(ver_cut 1-2)
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
+HOMEPAGE="https://protobuf.dev/"
+
+LICENSE="BSD"
+SLOT="0/${MY_SLOT}.0"
+IUSE="conformance emacs examples +libprotoc libupb +protobuf +protoc test zlib"
+
+REQUIRED_USE="
+ || (
+ libprotoc
+ libupb
+ protobuf
+ protoc
+ )
+"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ emacs? ( app-editors/emacs:* )
+ !protobuf? (
+ >=dev-libs/protobuf-${PV}
+ )
+"
+
+COMMON_DEPEND="
+ dev-libs/jsoncpp
+ >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch"
+ "${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+)
+
+DOCS=( CONTRIBUTORS.txt README.md )
+
+# src_prepare() {
+# rm "${S}/third_party/utf8_range/" -rf || die
+# cmake_src_prepare
+# }
+
+src_configure() {
+ if tc-ld-is-gold; then
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
+ tc-ld-disable-gold
+ fi
+
+ cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_ABSL_PROVIDER="package"
+ -Dprotobuf_JSONCPP_PROVIDER="package"
+
+ -Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")"
+ -Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
+ -Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)"
+ -Dprotobuf_BUILD_LIBUPB="$(usex libupb)"
+ -Dprotobuf_BUILD_PROTOBUF_BINARIES="$(usex protobuf)"
+ -Dprotobuf_BUILD_PROTOC_BINARIES="$(usex protoc)"
+ -Dprotobuf_BUILD_SHARED_LIBS="yes"
+ -Dprotobuf_BUILD_TESTS="$(usex test)"
+
+ -Dprotobuf_DISABLE_RTTI="no"
+
+ -Dprotobuf_INSTALL="yes"
+ -Dprotobuf_INSTALL_EXAMPLES="$(usex examples)"
+ -Dprotobuf_TEST_XML_OUTDIR="$(usex test)"
+
+ -Dprotobuf_WITH_ZLIB="$(usex zlib)"
+ -Dprotobuf_VERBOSE="yes"
+ )
+ use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile editors/protobuf-mode.el
+ fi
+}
+
+src_test() {
+ local -x srcdir="${S}"/src
+ cmake-multilib_src_test
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
+ eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
+ "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
+ die "Please update SLOT variable"
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins editors/proto.vim
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins "${FILESDIR}/proto.vim"
+
+ if use emacs; then
+ elisp-install "${PN}" editors/protobuf-mode.el*
+ elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
+ fi
+
+ if use examples; then
+ DOCS+=(examples)
+ docompress -x "/usr/share/doc/${PF}/examples"
+ fi
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild
new file mode 100644
index 00000000000..c2a90ff0480
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild
@@ -0,0 +1,160 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common toolchain-funcs
+
+ABSEIL_BRANCH="lts_2023_08_02" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+
+ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
+ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
+
+if [[ "${PV}" == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=( '-*' )
+ MY_SLOT="28.0"
+
+ inherit git-r3
+else
+ SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+ MY_SLOT=$(ver_cut 1-2)
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
+HOMEPAGE="https://protobuf.dev/"
+
+LICENSE="BSD"
+SLOT="0/${MY_SLOT}.0"
+IUSE="conformance emacs examples +libprotoc libupb +protobuf +protoc test zlib"
+
+REQUIRED_USE="
+ || (
+ libprotoc
+ libupb
+ protobuf
+ protoc
+ )
+"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ emacs? ( app-editors/emacs:* )
+ !protobuf? (
+ >=dev-libs/protobuf-${PV}
+ )
+"
+
+COMMON_DEPEND="
+ dev-libs/jsoncpp
+ >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch"
+ "${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+)
+
+DOCS=( CONTRIBUTORS.txt README.md )
+
+# src_prepare() {
+# rm "${S}/third_party/utf8_range/" -rf || die
+# cmake_src_prepare
+# }
+
+src_configure() {
+ if tc-ld-is-gold; then
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
+ tc-ld-disable-gold
+ fi
+
+ cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_ABSL_PROVIDER="package"
+ -Dprotobuf_JSONCPP_PROVIDER="package"
+
+ -Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")"
+ -Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
+ -Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)"
+ -Dprotobuf_BUILD_LIBUPB="$(usex libupb)"
+ -Dprotobuf_BUILD_PROTOBUF_BINARIES="$(usex protobuf)"
+ -Dprotobuf_BUILD_PROTOC_BINARIES="$(usex protoc)"
+ -Dprotobuf_BUILD_SHARED_LIBS="yes"
+ -Dprotobuf_BUILD_TESTS="$(usex test)"
+
+ -Dprotobuf_DISABLE_RTTI="no"
+
+ -Dprotobuf_INSTALL="yes"
+ -Dprotobuf_INSTALL_EXAMPLES="$(usex examples)"
+ -Dprotobuf_TEST_XML_OUTDIR="$(usex test)"
+
+ -Dprotobuf_WITH_ZLIB="$(usex zlib)"
+ -Dprotobuf_VERBOSE="yes"
+ )
+ use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile editors/protobuf-mode.el
+ fi
+}
+
+src_test() {
+ local -x srcdir="${S}"/src
+ cmake-multilib_src_test
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
+ eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
+ "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
+ die "Please update SLOT variable"
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins editors/proto.vim
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins "${FILESDIR}/proto.vim"
+
+ if use emacs; then
+ elisp-install "${PN}" editors/protobuf-mode.el*
+ elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
+ fi
+
+ if use examples; then
+ DOCS+=(examples)
+ docompress -x "/usr/share/doc/${PF}/examples"
+ fi
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/distro/distro-1.9.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/distro/distro-1.9.0.ebuild
index 6d30b2fecc9..cd4e86eeb9a 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/distro/distro-1.9.0.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-python/distro/distro-1.9.0.ebuild
@@ -17,6 +17,6 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
distutils_enable_tests pytest
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/Manifest
index 5b85d0e3bf2..998be6c39d4 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/Manifest
@@ -1,3 +1,4 @@
DIST pip-24.0-py3-none-any.whl 2110226 BLAKE2B 6a0c8c9796cd574ef1d709de40a8530a15e50158143e332b79e5ad3edceda6ce93c5ef4df49b169062598618dcc6967c2115ac2c10b05abf345318204f1eeffc SHA512 5d7462a584105bccaa9cf376f5a8c5827ead099c813c8af7392d478a4398f373d9e8cac7bbad2db51b335411ab966b21e119b1b1234c9a7ab70c6ddfc9306da6
DIST pip-24.1-py3-none-any.whl 1823006 BLAKE2B ca5282b1100243cc4e391ce30d5ae7d4978987e46323b7e151c87457c4ab762f909c88ae3cb72015d09bf7c1243ddb6ad791e991093713431961962fc6fdde83 SHA512 84e8318896294e5750f30a3fa55833e5e5c802066091802e05ff94fe139c825f3fe0fb5014b899f0afd844ad1129e8d04b9fedd74a7f46a1c248dac546ab16f8
DIST pip-24.1.1-py3-none-any.whl 1824282 BLAKE2B dc8b4938002bc8ededf5f3fb5f47492b529cb846f145308d5392c04778417f7e85527064e791c4dec4bfe6fc407bcc4d7ad26ff84e0f4c436dce5db8d9ec1f25 SHA512 591c0862ca7469a00a4a0220ca9acbd4834394abb0abcd44bd071a1b392b46029d618c2219e327cd43bacdd5d62f0f47d88454d60d4028f0ba7cd02ce3e648bf
+DIST pip-24.1.2-py3-none-any.whl 1824406 BLAKE2B b3e951f444bc93cf64a35acbef5363f7e44607f567f73eff886f5a14bd97fe5b18aa5a8de01b899601847bccee24318843b41c35cd484e758ffb4c11460b458f SHA512 bc8ed36bc9e618b7e299d412d07472b46968ba6485dd1d7eee4e8583996aa29cb268ff5d3114a6e5efeae9f6407c9f9066a0e4f5c2a0be76e6cd234b85cc2bec
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-24.1.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-24.1.2.ebuild
new file mode 100644
index 00000000000..85e9351f85b
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-24.1.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared pip wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/pip/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ ! ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}/backend
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-# deps are listed in backend/src/hatchling/ouroboros.py
-# editables are optional but required for editable installs
-RDEPEND="
- >=dev-python/editables-0.3[${PYTHON_USEDEP}]
- >=dev-python/packaging-23.2[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}]
- >=dev-python/pluggy-1.0.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
- ' 3.10)
-"
-# always depend on the newest version available, at least until upstream
-# stops treating unknown classifiers as a fatal error
-# https://github.com/pypa/hatch/issues/1368
-RDEPEND+="
- >=dev-python/trove-classifiers-2024.3.25[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/atomicwrites[${PYTHON_USEDEP}]
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/httpx[${PYTHON_USEDEP}]
- dev-python/platformdirs[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- # top-level "tests" directory contains tests both for hatch
- # and hatchling
- cd "${WORKDIR}/${MY_P}" || die
-
- # sigh; standalone test suites are overrated, right?
- echo "__version__ = '${PV}'" > src/hatch/_version.py || die
- local -x PYTHONPATH="src:${PYTHONPATH}"
-
- # do not require uv for portability, sigh
- mkdir "${T}/bin" || die
- cat > "${T}/bin/uv" <<-EOF || die
- #!/bin/sh
- exit 127
- EOF
- chmod +x "${T}/bin/uv" || die
- local -x PATH=${T}/bin:${PATH}
-
- # tests mock cargo subprocess call but the backend raises if CARGO
- # is not set and shutil.which() can't find it
- local -x CARGO=cargo
-
- distutils-r1_src_test
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local -x EPYTEST_DESELECT=(
- # most of these run uv to install stuff
- # the few remaining tests aren't worth running
- tests/backend/dep/test_core.py
- # broken if CARGO is set
- tests/backend/builders/test_binary.py::TestBuildBootstrap::test_no_cargo
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_mock tests/backend
-}
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.25.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.25.0.ebuild
index 33191ee7e57..4d265ef6588 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.25.0.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.25.0.ebuild
@@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P}/backend
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
# deps are listed in backend/src/hatchling/ouroboros.py
# editables are optional but required for editable installs
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/Manifest
index ed864f9d20e..ecd56663a6b 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/Manifest
@@ -1,2 +1 @@
-DIST jaraco.context-5.1.0.tar.gz 11626 BLAKE2B c6ac691c6493e0aed5d606784f8418e55fb0c6c8094aa75251ffb12008fb9b4fbfe0912e6ef316d7799d2c0f55be6ba542202f6b8b2bc93afa3a79da4224d35f SHA512 b92c72947060e2219c172c43104055d026f66b119676fcfa31dff34640539d34376b61d209291fffeb558e6051fb92a2a34390fbd3a72f87ee15c5926cb387e5
DIST jaraco.context-5.3.0.tar.gz 13345 BLAKE2B d2f429335ea80a6b50ea9574adc45c25c0fc78e8ebb5edde218bcbbe7a2b27ae6b5c17453e71904240d0d873ebef36f7c7aeda4424d3fea2dd9aaf01af6fb4c5 SHA512 f63bf272c45ff5c43499621651b78841259040ac98d67c9db75fadebb1c497c1156e05f23bf7c91df3e91f1e070acb9f7dc665e7b242ba7b1ac1cf99a619494d
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-5.1.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-5.1.0.ebuild
deleted file mode 100644
index ca0ae619ca6..00000000000
--- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-5.1.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Context managers by jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.context/
- https://pypi.org/project/jaraco.context/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-distutils_enable_tests pytest
-
-src_configure() {
- grep -q 'build-backend = "setuptools' pyproject.toml ||
- die "Upstream changed build-backend, recheck"
- # write a custom pyproject.toml to ease setuptools bootstrap
- cat > pyproject.toml <<-EOF || die
- [build-system]
- requires = ["flit_core >=3.2,<4"]
- build-backend = "flit_core.buildapi"
-
- [project]
- name = "jaraco.context"
- version = "${PV}"
- description = "Context managers by jaraco"
- EOF
-}
-
-python_install() {
- distutils-r1_python_install
- # rename to workaround a bug in pkg_resources
- # https://bugs.gentoo.org/834522
- mv "${D}$(python_get_sitedir)"/jaraco{_,.}context-${PV}.dist-info || die
-}
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild
index 4c2720a9a72..6a2d88cc996 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
$(python_gen_cond_dep '
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/Manifest
index b8c2cec7146..22da7a46eef 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/Manifest
@@ -1,2 +1,2 @@
-DIST jaraco.text-3.12.0.tar.gz 16329 BLAKE2B e1314b3121d5d75ac4a986a342c3290f5523bb45be8bf8e994ed87188712464e75a805498a7d846aea157aa8592fbca444842d1b70a21e0add49e89dfa743a7a SHA512 75068006c96dae3b8d21228f2ae21820939c68b1fb7e5db35bd0c1126a20399eb4d99c6bea15e88076599956c4b41104558cd32d860d8f4fd4e96aeeb22711c9
DIST jaraco_text-3.12.1.tar.gz 16580 BLAKE2B 89f11877052e6b7cacbee4ae53ea140ce337a3a8f25657c558e3634378d20ac70206fd188f8492bdc725ebfec94c7f553ec61a9a3be97738918746fab79a9414 SHA512 4a459e497259de8dc37fbe92eec19973f5d1425f23212221885339a9c7b0f432301978c3c918f4cdd4e1cb3e50b465aad07634ab8cf40f86151d08b150d097e4
+DIST jaraco_text-3.14.0.tar.gz 16824 BLAKE2B 62a4db8fc6e7148d81dacaab08a3dd3478a74e9cb0377a3b9cbce538575542cd99b42f599af04fdfa62be06d3edb7a7f7f4b27883e91608e8d1033c655ee8304 SHA512 3557876c0ab2e1a54c8ce85663b45c9c143a88bb64a5d9c3e2354b2af229b25983b7977c576f83add1b5bae79cceebb01206c756a354eca24681a57a0ee14fb4
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-3.12.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-3.12.1.ebuild
index 09e788276ec..c7c66c18cb5 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-3.12.1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-3.12.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND="
>=dev-python/jaraco-context-4.1.1-r1[${PYTHON_USEDEP}]
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-3.12.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-3.14.0.ebuild
similarity index 88%
rename from sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-3.12.0.ebuild
rename to sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-3.14.0.ebuild
index 4fc6f1b0833..09e788276ec 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-3.12.0.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-3.14.0.ebuild
@@ -5,7 +5,6 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/.}
PYTHON_COMPAT=( python3_{10..13} pypy3 )
@@ -19,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND="
>=dev-python/jaraco-context-4.1.1-r1[${PYTHON_USEDEP}]
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/lxml/Manifest
index 2c226786495..8e6b184f8dd 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-python/lxml/Manifest
@@ -1,5 +1 @@
-DIST lxml-5.1.0.gh.tar.gz 962111 BLAKE2B 31c82eb198911d82fd9f7882bf94547b2367f3b3d1183eb8e8f97297b96faa69230d27b3367160b1f732a5d0878296b2d11787c3b220416c81a920e62ebec4f2 SHA512 1fadfeac1fb8b1e4fb1f7f2acb056865eb2567300a6c728eaede380d846ac75a6e33ebebcbbc6d60f54102152afd5dddf970058c4e27af396e9fa58e83c407a7
-DIST lxml-5.1.1.gh.tar.gz 963649 BLAKE2B 0cb7b4e39539ee962cd590b2b2dc644a111a094da9cbccc2ee0c29b9a758d8aca967f989693c76532252909dc44a96a3815273f04f28be2dbeb57d4daae2e6fd SHA512 bb479ca7dcce944a9a3597f67da1b12fb9f3a05592fb8342fe01bc569a86df95c32c7bf1bc0b9cfc0ddffb85adf12612fb2d8622a460357c1aaa56e033476375
-DIST lxml-5.2.0.gh.tar.gz 949400 BLAKE2B 4a1640e1da27504e6a9b5e1c55fa2d51eb2e27f6400b63dae29aa42c6c9bf9a002374d0c4ec3ccd13452efd4f39f0a28dc5989fe7f1da5c80e17b2fb31a0dcae SHA512 5d4faab6430666427a7540b768a81beb5c628e7801a06156a68a03a5f75e424e61b1dfd792b8909e03e8561ffb0be64f62c86a411c110c01a021f4cbf37593f2
-DIST lxml-5.2.1.gh.tar.gz 950408 BLAKE2B d0ad369f9d555a9bcdd92c71fb84063eba864c359d1ff27159c8f6de433bcce6915c9cff31aa7bd99de9aa54cb9a1d7ea7b3bb2526c755f8a38aaa21d9d30dfd SHA512 bd5ab005d617da588f87fa643245916e6963394b167f66991dce6443490692fcbf27620c2208b271bd8a1a97c79b09eedca2d1c6f02ba990a7d88d00ee43edfe
DIST lxml-5.2.2.gh.tar.gz 950650 BLAKE2B d9e3bd96f386a808eca58ffa9a6b5a79e43102b7161fac9b97905de2bd22d21feaddb093e27463f597ef5378d754011c2999a38953e6288595b8dd171976688b SHA512 20b87a2d6e7ac82b6979d6fd18ecd5c224fec6eeee6b69d47a5bf2947ce53e6a517d1b86ab68836a5974f78ce86551ddc2317c1a7255932b418b98dc64d59376
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/files/lxml-5.1.0-pypy.patch b/sdk_container/src/third_party/portage-stable/dev-python/lxml/files/lxml-5.1.0-pypy.patch
deleted file mode 100644
index 7b50b9d3062..00000000000
--- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/files/lxml-5.1.0-pypy.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-diff --git a/src/lxml/tests/test_errors.py b/src/lxml/tests/test_errors.py
-index fa735c28..9337bc04 100644
---- a/src/lxml/tests/test_errors.py
-+++ b/src/lxml/tests/test_errors.py
-@@ -10,3 +10,3 @@ from lxml import etree
-
--from .common_imports import HelperTestCase
-+from .common_imports import HelperTestCase, IS_PYPY
-
-@@ -24,2 +24,3 @@ class ErrorTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_element_cyclic_gc_none(self):
-diff --git a/src/lxml/tests/test_http_io.py b/src/lxml/tests/test_http_io.py
-index 8385e393..0b259299 100644
---- a/src/lxml/tests/test_http_io.py
-+++ b/src/lxml/tests/test_http_io.py
-@@ -10,3 +10,3 @@ import gzip
-
--from .common_imports import etree, HelperTestCase, BytesIO, _bytes
-+from .common_imports import etree, HelperTestCase, BytesIO, _bytes, IS_PYPY
- from .dummy_http_server import webserver, HTTPRequestCollector
-@@ -14,2 +14,3 @@ from .dummy_http_server import webserver, HTTPRequestCollector
-
-+@unittest.skipIf(IS_PYPY, "broken on pypy")
- class HttpIOTestCase(HelperTestCase):
-diff --git a/src/lxml/tests/test_nsclasses.py b/src/lxml/tests/test_nsclasses.py
-index 750dc1ed..adbec11c 100644
---- a/src/lxml/tests/test_nsclasses.py
-+++ b/src/lxml/tests/test_nsclasses.py
-@@ -8,3 +8,3 @@ import unittest
-
--from .common_imports import etree, HelperTestCase, _bytes, make_doctest
-+from .common_imports import etree, HelperTestCase, _bytes, make_doctest, IS_PYPY
-
-@@ -45,2 +45,3 @@ class ETreeNamespaceClassesTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_ns_classes(self):
-diff --git a/src/lxml/tests/test_objectify.py b/src/lxml/tests/test_objectify.py
-index 1c8ff47c..326c5316 100644
---- a/src/lxml/tests/test_objectify.py
-+++ b/src/lxml/tests/test_objectify.py
-@@ -10,3 +10,4 @@ import unittest
- from .common_imports import (
-- etree, HelperTestCase, fileInTestDir, doctest, make_doctest, _bytes, _str, BytesIO
-+ etree, HelperTestCase, fileInTestDir, doctest, make_doctest, _bytes, _str, BytesIO,
-+ IS_PYPY
- )
-@@ -383,2 +384,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_setattr(self):
-@@ -818,2 +820,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_build_tree(self):
-@@ -847,2 +850,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_bool(self):
-@@ -884,2 +888,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str(self):
-@@ -891,2 +896,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_intliteral(self):
-@@ -898,2 +904,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_floatliteral(self):
-@@ -905,2 +912,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_mul(self):
-@@ -917,2 +925,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_add(self):
-@@ -992,2 +1001,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr(self):
-@@ -999,2 +1009,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr_intliteral(self):
-@@ -1006,2 +1017,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr_floatliteral(self):
-@@ -1013,2 +1025,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr_mul(self):
-@@ -1025,2 +1038,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr_add(self):
-@@ -1050,2 +1064,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_int(self):
-@@ -1066,2 +1081,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_float(self):
-@@ -1082,2 +1098,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_float_precision(self):
-@@ -1101,2 +1118,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_float_precision_consistency(self):
-@@ -1187,2 +1205,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_unregistered(self):
-@@ -1349,2 +1368,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_cmp(self):
-@@ -1376,2 +1396,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_int_cmp(self):
-@@ -1398,2 +1419,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_bool_cmp(self):
-@@ -2067,2 +2089,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_registered_type_stringify(self):
-@@ -2537,2 +2560,3 @@ class ObjectifyTestCase(HelperTestCase):
- # type-looked-up as ObjectifiedElement (no annotations)
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_int(self):
-@@ -2542,2 +2566,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_float(self):
-@@ -2547,2 +2572,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_str(self):
-@@ -2552,2 +2578,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_unicode(self):
-@@ -2557,2 +2584,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_bool(self):
-@@ -2562,2 +2590,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_none(self):
-@@ -2567,2 +2596,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_value_concatenation(self):
-@@ -2577,2 +2607,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_nested(self):
-@@ -2745,3 +2776,4 @@ def test_suite():
- suite.addTests(doctest.DocTestSuite(objectify))
-- suite.addTests([make_doctest('../../../doc/objectify.txt')])
-+ if not IS_PYPY:
-+ suite.addTests([make_doctest('../../../doc/objectify.txt')])
- return suite
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.1.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.1.0.ebuild
deleted file mode 100644
index 09f1667e887..00000000000
--- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.1.0.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 optfeature toolchain-funcs
-
-DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
-HOMEPAGE="
- https://lxml.de/
- https://pypi.org/project/lxml/
- https://github.com/lxml/lxml/
-"
-SRC_URI="
- https://github.com/lxml/lxml/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/lxml-${P}
-
-LICENSE="BSD ElementTree GPL-2 PSF-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc examples +threads test"
-RESTRICT="!test? ( test )"
-
-# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
-DEPEND="
- >=dev-libs/libxml2-2.10.3
- >=dev-libs/libxslt-1.1.38
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
- >=dev-python/cython-3.0.7[${PYTHON_USEDEP}]
- doc? (
- $(python_gen_any_dep '
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
- ')
- )
- test? (
- dev-python/cssselect[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-pypy.patch"
-)
-
-python_check_deps() {
- use doc || return 0
- python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
-}
-
-python_prepare_all() {
- # avoid replacing PYTHONPATH in tests.
- sed -i -e '/sys\.path/d' test.py || die
-
- # don't use some random SDK on Darwin
- sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
- setupinfo.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local DISTUTILS_ARGS=(
- # by default it adds -w to CFLAGS
- --warnings
- )
- tc-export PKG_CONFIG
- distutils-r1_python_compile
-}
-
-python_compile_all() {
- use doc && emake html
-}
-
-python_test() {
- local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- cp -al "${BUILD_DIR}"/{install,test} || die
- cp -al src/lxml/tests "${dir}/" || die
- cp -al src/lxml/html/tests "${dir}/html/" || die
- ln -rs "${S}"/doc "${dir}"/../../ || die
-
- "${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
-}
-
-python_install_all() {
- if use doc; then
- local DOCS=( README.rst *.txt doc/*.txt )
- local HTML_DOCS=( doc/html/. )
- fi
- if use examples; then
- dodoc -r samples
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
- optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
-}
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.1.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.1.1.ebuild
deleted file mode 100644
index adc0126c282..00000000000
--- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.1.1.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 optfeature toolchain-funcs
-
-DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
-HOMEPAGE="
- https://lxml.de/
- https://pypi.org/project/lxml/
- https://github.com/lxml/lxml/
-"
-SRC_URI="
- https://github.com/lxml/lxml/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/lxml-${P}
-
-LICENSE="BSD ElementTree GPL-2 PSF-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc examples +threads test"
-RESTRICT="!test? ( test )"
-
-# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
-DEPEND="
- >=dev-libs/libxml2-2.10.3
- >=dev-libs/libxslt-1.1.38
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
- >=dev-python/cython-3.0.9[${PYTHON_USEDEP}]
- doc? (
- $(python_gen_any_dep '
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
- ')
- )
- test? (
- dev-python/cssselect[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.1.1-pypy.patch"
-)
-
-python_check_deps() {
- use doc || return 0
- python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
-}
-
-python_prepare_all() {
- # avoid replacing PYTHONPATH in tests.
- sed -i -e '/sys\.path/d' test.py || die
-
- # don't use some random SDK on Darwin
- sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
- setupinfo.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local DISTUTILS_ARGS=(
- # by default it adds -w to CFLAGS
- --warnings
- )
- tc-export PKG_CONFIG
- distutils-r1_python_compile
-}
-
-python_compile_all() {
- use doc && emake html
-}
-
-python_test() {
- local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- cp -al "${BUILD_DIR}"/{install,test} || die
- cp -al src/lxml/tests "${dir}/" || die
- cp -al src/lxml/html/tests "${dir}/html/" || die
- ln -rs "${S}"/doc "${dir}"/../../ || die
-
- "${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
-}
-
-python_install_all() {
- if use doc; then
- local DOCS=( README.rst *.txt doc/*.txt )
- local HTML_DOCS=( doc/html/. )
- fi
- if use examples; then
- dodoc -r samples
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
- optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
-}
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.2.0.ebuild
deleted file mode 100644
index 9153f366839..00000000000
--- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.2.0.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 optfeature toolchain-funcs
-
-DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
-HOMEPAGE="
- https://lxml.de/
- https://pypi.org/project/lxml/
- https://github.com/lxml/lxml/
-"
-SRC_URI="
- https://github.com/lxml/lxml/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/lxml-${P}
-
-LICENSE="BSD ElementTree GPL-2 PSF-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc examples +threads test"
-RESTRICT="!test? ( test )"
-
-# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
-DEPEND="
- >=dev-libs/libxml2-2.10.3
- >=dev-libs/libxslt-1.1.38
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
- >=dev-python/cython-3.0.10[${PYTHON_USEDEP}]
- doc? (
- $(python_gen_any_dep '
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
- ')
- )
- test? (
- dev-python/cssselect[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.1.1-pypy.patch"
-)
-
-python_check_deps() {
- use doc || return 0
- python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
-}
-
-python_prepare_all() {
- # avoid replacing PYTHONPATH in tests.
- sed -i -e '/sys\.path/d' test.py || die
-
- # don't use some random SDK on Darwin
- sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
- setupinfo.py || die
-
- # don't depend on sys-apps/which
- sed -i -e 's:which:command -v:' Makefile || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local DISTUTILS_ARGS=(
- # by default it adds -w to CFLAGS
- --warnings
- )
- tc-export PKG_CONFIG
- distutils-r1_python_compile
-}
-
-python_compile_all() {
- use doc && emake html
-}
-
-python_test() {
- local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- cp -al "${BUILD_DIR}"/{install,test} || die
- cp -al src/lxml/tests "${dir}/" || die
- cp -al src/lxml/html/tests "${dir}/html/" || die
- ln -rs "${S}"/doc "${dir}"/../../ || die
-
- # test_feedparser_data requires lxml_html_clean
- # this is the *simplest* way of skipping these without breaking
- # random other tests, sigh
- sed -e '/lxml\.html\.clean/d' \
- -i "${dir}"/html/tests/test_feedparser_data.py || die
- rm -r "${dir}"/html/tests/*-data/*.data || die
-
- "${EPYTHON}" test.py -vv --all-levels -p ||
- die "Tests fail on ${EPYTHON}"
-}
-
-python_install_all() {
- if use doc; then
- local DOCS=( README.rst *.txt doc/*.txt )
- local HTML_DOCS=( doc/html/. )
- fi
- if use examples; then
- dodoc -r samples
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
- optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
-}
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.2.1.ebuild
deleted file mode 100644
index 48345b052c0..00000000000
--- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.2.1.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} pypy3 )
-
-inherit distutils-r1 optfeature toolchain-funcs
-
-DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
-HOMEPAGE="
- https://lxml.de/
- https://pypi.org/project/lxml/
- https://github.com/lxml/lxml/
-"
-SRC_URI="
- https://github.com/lxml/lxml/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/lxml-${P}
-
-LICENSE="BSD ElementTree GPL-2 PSF-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc examples +threads test"
-RESTRICT="!test? ( test )"
-
-# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
-DEPEND="
- >=dev-libs/libxml2-2.10.3
- >=dev-libs/libxslt-1.1.38
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
- >=dev-python/cython-3.0.10[${PYTHON_USEDEP}]
- doc? (
- $(python_gen_any_dep '
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
- ')
- )
- test? (
- dev-python/cssselect[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.1.1-pypy.patch"
-)
-
-python_check_deps() {
- use doc || return 0
- python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
-}
-
-python_prepare_all() {
- # avoid replacing PYTHONPATH in tests.
- sed -i -e '/sys\.path/d' test.py || die
-
- # don't use some random SDK on Darwin
- sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
- setupinfo.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local DISTUTILS_ARGS=(
- # by default it adds -w to CFLAGS
- --warnings
- )
- tc-export PKG_CONFIG
- distutils-r1_python_compile
-}
-
-python_compile_all() {
- use doc && emake html
-}
-
-python_test() {
- local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- cp -al "${BUILD_DIR}"/{install,test} || die
- cp -al src/lxml/tests "${dir}/" || die
- cp -al src/lxml/html/tests "${dir}/html/" || die
- ln -rs "${S}"/doc "${dir}"/../../ || die
-
- # test_feedparser_data requires lxml_html_clean
- # this is the *simplest* way of skipping these without breaking
- # random other tests, sigh
- sed -e '/lxml\.html\.clean/d' \
- -i "${dir}"/html/tests/test_feedparser_data.py || die
- rm -r "${dir}"/html/tests/*-data/*.data || die
-
- "${EPYTHON}" test.py -vv --all-levels -p ||
- die "Tests fail on ${EPYTHON}"
-}
-
-python_install_all() {
- if use doc; then
- local DOCS=( README.rst *.txt doc/*.txt )
- local HTML_DOCS=( doc/html/. )
- fi
- if use examples; then
- dodoc -r samples
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
- optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
- optfeature "Support for lxml.html.clean sanitizer" dev-python/lxml-html-clean
-}
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.2.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.2.2.ebuild
index b11b87bb66b..ffb3da19204 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.2.2.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.2.2.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/lxml-${P}
LICENSE="BSD ElementTree GPL-2 PSF-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc examples +threads test"
RESTRICT="!test? ( test )"
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest
index 33531e41671..67175342c43 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest
@@ -1,4 +1,3 @@
-DIST setuptools-69.0.3.tar.gz 2219609 BLAKE2B 1a5e7896c7ea82d51b0aa4794435b9899cef871f6ae43d22ae5e08c57d87b70641f3f2abfcc29956a3de515f90b112fd61d3daf793474b4cf33f8567e3a38f4a SHA512 11df934931f4b73f7e07ea5713479593c6baa134d423556b2ae7aff0f1e5bdbdee1f5b516131adb169c838231ceb0293441fbf275ef7030dabecf74122565b6d
-DIST setuptools-69.5.1.tar.gz 2291314 BLAKE2B 3756dd587136c7e688bdfecf4c0434c0e799f50f9a9a95750d41cb75e26b613b3dc178f43a9e0d21f17c42a7c4ad7461e7986966aefb814e3d0ff05178c82542 SHA512 81f4a5184976a0d4aa070261bb56458c54ec6a479786fa469e98cb336e9a1691b281ae771abe41bc5398fac15b2dd039c07cf014ee00572f46908ce6830fcb6a
-DIST setuptools-70.0.0.tar.gz 2265182 BLAKE2B 436189fbd614473c42a08da75837c5bb2f6fb6bc03bfc9b99db22810fa043fb071c2344659125439d507d10354d42ea5b703e91c0572caad90f5d805eca9ee8d SHA512 13a5ac09401165dc36d2a365c0ea236c01153374c002b062c4b403a537157ce86593848e93e3c26f5c81f5783e43e6aa96d813f9a39a55732ea3911ddc5c337a
DIST setuptools-70.1.1.tar.gz 2292324 BLAKE2B 9d489117a80ef9cefab6b730680a614d990f338aa54579928bafbe3c87dbb5e4db8527b8a0b6c1090bcd3504be97cc69a9ce979e593d0634d9b66b66bccb25e5 SHA512 63452aa1e1d1dea6ad622a21fcc9334bc3603e45de9a1485f79776e02a0fb3b0a0a8b3e886af73845c3c373348c7021f2e06a5665676e9015ee9855441512136
+DIST setuptools-70.2.0.tar.gz 2332711 BLAKE2B d552e3c7fb8bad3829b6c210827af2a3993afa7c534502d08cb7f87df846f9939b75ce181217c673be7a0c71e81ede437b5f44cf9a42ff13133a9f922e426c1d SHA512 a2b0aaf57d012326475ee7637e65ebbc3b1a09b338850e8b0c6a0f169c49651f934c813d6d347ba1ff04894a4d8341bb5fedbea35d45dbc19f317587bbb35094
+DIST setuptools-70.3.0.tar.gz 2333112 BLAKE2B cffe583c1440e2c6ed049fc0c3da70d6b3f43710cec8eeba9b96906d7d3113c0156ac0398f12355e2c0eeeb73dc351e56eea117361c83a4819e255f2b44d01da SHA512 9f330bd9867631da69ee0886551033a6e8ef3cf52cfe38aad9fcd359cbfc2e0d7ee8c85382b29f8d52568c674893dc07f2b2a896afe5154e6140bb3209ee50a0
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/files/setuptools-69.5.1-py313.patch b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/files/setuptools-69.5.1-py313.patch
deleted file mode 100644
index 7222d3dba26..00000000000
--- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/files/setuptools-69.5.1-py313.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From c6266e423fa26aafa01f1df71de7c6613273155e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Miro=20Hron=C4=8Dok?=
-Date: Tue, 14 May 2024 16:24:07 +0200
-Subject: [PATCH] Make the validation test for entry-points work with Python
- 3.13+
-
-The exception in importlib.metadata has changed.
-See https://github.com/python/importlib_metadata/issues/488
-
-This makes an existing test pass with Python 3.13.
-
-Partially fixes https://github.com/pypa/setuptools/issues/4196
----
- setuptools/_entry_points.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/setuptools/_entry_points.py b/setuptools/_entry_points.py
-index 747a69067e..b244e78387 100644
---- a/setuptools/_entry_points.py
-+++ b/setuptools/_entry_points.py
-@@ -17,7 +17,8 @@ def ensure_valid(ep):
- """
- try:
- ep.extras
-- except AttributeError as ex:
-+ except (AttributeError, AssertionError) as ex:
-+ # Why both? See https://github.com/python/importlib_metadata/issues/488
- msg = (
- f"Problems to parse {ep}.\nPlease ensure entry-point follows the spec: "
- "https://packaging.python.org/en/latest/specifications/entry-points/"
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-69.0.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-69.0.3-r1.ebuild
deleted file mode 100644
index c0efaa62a9a..00000000000
--- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-69.0.3-r1.ebuild
+++ /dev/null
@@ -1,113 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-# please bump dev-python/ensurepip-setuptools along with this package!
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( python3_{10..12} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Collection of extensions to Distutils"
-HOMEPAGE="
- https://github.com/pypa/setuptools/
- https://pypi.org/project/setuptools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- !!=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
- >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
- >=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3-r2[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}]
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/build[${PYTHON_USEDEP}]
- >=dev-python/ini2toml-0.9[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
- >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pip-run[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-# setuptools-scm is here because installing plugins apparently breaks stuff at
-# runtime, so let's pull it early. See bug #663324.
-PDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-src_prepare() {
- local PATCHES=(
- # TODO: remove this when we're 100% PEP517 mode
- "${FILESDIR}"/setuptools-62.4.0-py-compile.patch
- )
-
- distutils-r1_src_prepare
-
- # remove bundled dependencies
- rm -r */_vendor || die
-
- # remove the ugly */extern hack that breaks on unvendored deps
- rm -r */extern || die
- find -name '*.py' -exec sed \
- -e 's:from \w*[.]\+extern ::' -e 's:\w*[.]\+extern[.]::' \
- -i {} + || die
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- return
- fi
-
- local EPYTEST_DESELECT=(
- # network
- # TODO: see if PRE_BUILT_SETUPTOOLS_* helps
- setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg
- setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist
- setuptools/tests/test_build_meta.py::test_legacy_editable_install
- setuptools/tests/test_distutils_adoption.py
- setuptools/tests/test_editable_install.py
- setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests
- setuptools/tests/test_virtualenv.py::test_clean_env_install
- setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
- setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
- # TODO
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
- setuptools/tests/test_extern.py::test_distribution_picklable
- # expects bundled deps in virtualenv
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
- # fails if python-xlib is installed
- setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
- # TODO, probably some random package
- setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
- )
-
- local EPYTEST_XDIST=1
- epytest -o tmp_path_retention_policy=all setuptools
-}
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-70.1.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-70.1.1-r1.ebuild
similarity index 92%
rename from sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-70.1.1.ebuild
rename to sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-70.1.1-r1.ebuild
index 374be7465b0..8805e6bdc17 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-70.1.1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-70.1.1-r1.ebuild
@@ -21,7 +21,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -47,6 +47,7 @@ BDEPEND="
>=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
>=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
>=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+ dev-python/jaraco-test[${PYTHON_USEDEP}]
dev-python/pip[${PYTHON_USEDEP}]
dev-python/pip-run[${PYTHON_USEDEP}]
dev-python/pyproject-hooks[${PYTHON_USEDEP}]
@@ -55,18 +56,20 @@ BDEPEND="
dev-python/pytest-subprocess[${PYTHON_USEDEP}]
dev-python/pytest-timeout[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
>=dev-python/virtualenv-20[${PYTHON_USEDEP}]
' "${PYTHON_TESTED[@]}")
- $(python_gen_cond_dep '
- >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
- ' 3.10)
)
"
# setuptools-scm is here because installing plugins apparently breaks stuff at
# runtime, so let's pull it early. See bug #663324.
+#
+# trove-classifiers are optionally used in validation, if they are
+# installed. Since we really oughtn't block them, let's always enforce
+# the newest version for the time being to avoid errors.
PDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}]
"
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-70.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-70.2.0-r1.ebuild
similarity index 85%
rename from sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-70.0.0.ebuild
rename to sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-70.2.0-r1.ebuild
index 9b177c5796d..ee5ce0b32cd 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-70.0.0.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-70.2.0-r1.ebuild
@@ -21,7 +21,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -47,6 +47,7 @@ BDEPEND="
>=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
>=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
>=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+ dev-python/jaraco-test[${PYTHON_USEDEP}]
dev-python/pip[${PYTHON_USEDEP}]
dev-python/pip-run[${PYTHON_USEDEP}]
dev-python/pyproject-hooks[${PYTHON_USEDEP}]
@@ -55,18 +56,21 @@ BDEPEND="
dev-python/pytest-subprocess[${PYTHON_USEDEP}]
dev-python/pytest-timeout[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
>=dev-python/virtualenv-20[${PYTHON_USEDEP}]
' "${PYTHON_TESTED[@]}")
- $(python_gen_cond_dep '
- >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
- ' 3.10)
)
"
# setuptools-scm is here because installing plugins apparently breaks stuff at
# runtime, so let's pull it early. See bug #663324.
+#
+# trove-classifiers are optionally used in validation, if they are
+# installed. Since we really oughtn't block them, let's always enforce
+# the newest version for the time being to avoid errors.
+# https://github.com/pypa/setuptools/issues/4459
PDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}]
"
src_prepare() {
@@ -81,12 +85,13 @@ src_prepare() {
sed -i -e '/--import-mode/d' pytest.ini || die
# remove bundled dependencies
- rm -r */_vendor || die
+ rm -r */_vendor setuptools/_distutils/_vendor || die
# remove the ugly */extern hack that breaks on unvendored deps
rm -r */extern || die
find -name '*.py' -exec sed \
-e 's:from \w*[.]\+extern ::' -e 's:\w*[.]\+extern[.]::' \
+ -e 's:from [.]_vendor[.]:from :' \
-i {} + || die
}
@@ -120,6 +125,9 @@ python_test() {
setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
# Internet, sigh
setuptools/tests/test_integration.py
+ # flaky
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_transitive_extra_dependency
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_distutils_command_dep
)
case ${EPYTHON} in
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-69.5.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-70.3.0.ebuild
similarity index 80%
rename from sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-69.5.1-r1.ebuild
rename to sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-70.3.0.ebuild
index bcb1a8e87e2..9e5836dda13 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-69.5.1-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-70.3.0.ebuild
@@ -21,7 +21,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -42,38 +42,41 @@ BDEPEND="
${RDEPEND}
test? (
$(python_gen_cond_dep '
- dev-python/build[${PYTHON_USEDEP}]
- >=dev-python/ini2toml-0.9[${PYTHON_USEDEP}]
+ >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}]
>=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
>=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
>=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+ dev-python/jaraco-test[${PYTHON_USEDEP}]
dev-python/pip[${PYTHON_USEDEP}]
dev-python/pip-run[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
dev-python/pytest[${PYTHON_USEDEP}]
>=dev-python/pytest-home-0.5[${PYTHON_USEDEP}]
+ dev-python/pytest-subprocess[${PYTHON_USEDEP}]
dev-python/pytest-timeout[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
>=dev-python/virtualenv-20[${PYTHON_USEDEP}]
' "${PYTHON_TESTED[@]}")
- $(python_gen_cond_dep '
- >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
- ' python3_10 pypy3)
)
"
# setuptools-scm is here because installing plugins apparently breaks stuff at
# runtime, so let's pull it early. See bug #663324.
+#
+# trove-classifiers are optionally used in validation, if they are
+# installed. Since we really oughtn't block them, let's always enforce
+# the newest version for the time being to avoid errors.
+# https://github.com/pypa/setuptools/issues/4459
PDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}]
"
src_prepare() {
local PATCHES=(
# TODO: remove this when we're 100% PEP517 mode
"${FILESDIR}/setuptools-62.4.0-py-compile.patch"
-
- # https://github.com/pypa/setuptools/pull/4357
- "${FILESDIR}/${P}-py313.patch"
)
distutils-r1_src_prepare
@@ -82,12 +85,13 @@ src_prepare() {
sed -i -e '/--import-mode/d' pytest.ini || die
# remove bundled dependencies
- rm -r */_vendor || die
+ rm -r */_vendor setuptools/_distutils/_vendor || die
# remove the ugly */extern hack that breaks on unvendored deps
rm -r */extern || die
find -name '*.py' -exec sed \
-e 's:from \w*[.]\+extern ::' -e 's:\w*[.]\+extern[.]::' \
+ -e 's:from [.]_vendor[.]:from :' \
-i {} + || die
}
@@ -121,17 +125,11 @@ python_test() {
setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
# Internet, sigh
setuptools/tests/test_integration.py
+ # flaky
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_transitive_extra_dependency
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_distutils_command_dep
)
- case ${EPYTHON} in
- python3.12)
- EPYTEST_DESELECT+=(
- # TODO
- setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_distutils_command_dep
- setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_transitive_extra_dependency
- )
- esac
-
local EPYTEST_XDIST=1
epytest -o tmp_path_retention_policy=all setuptools
}
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tomli/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/tomli/Manifest
new file mode 100644
index 00000000000..b87d6410b6b
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-python/tomli/Manifest
@@ -0,0 +1,2 @@
+DIST tomli-2.0.1-py3-none-any.whl.zip 12757 BLAKE2B 0a33773bc0409831aec6ee803ef0ef9d6b6b441213d549184068e218b73d6178d617bc2b58d11db98f0e6284baaf81663723fbc6eb89f7466608f0d89aeb1982 SHA512 b6164b03d3db360093f92e644e87a37a0ce20d63d7e9e271fcafd727f4fdb73ad6b301aaf32b3d2839f6eedbc8ea499dafba7335b8fdfc4667e30ed50c9805b4
+DIST tomli-2.0.1.gh.tar.gz 133685 BLAKE2B 0d3a1f4ee4e74eeab6a7e7c3d5e866ce1baf9017136cdc8ce1f6275f8d6d151239e5a00b97b6409872fac0e8558a49120adf16f0ae21f9d92ae630dfd39cd6ff SHA512 a467f8d48cdbd7213bd9b6f85fd48ba142ab7c9656c40bb30785e1c4b37a9e29eaed420f183458ad20112baee8413ebbec87755332795c8f02235d1018c3aa5c
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tomli/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-python/tomli/metadata.xml
new file mode 100644
index 00000000000..ce50c1b4472
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-python/tomli/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ python@gentoo.org
+
+
+
+ hukkin/tomli
+ tomli
+
+
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.0.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.0.1-r1.ebuild
new file mode 100644
index 00000000000..2aa05fb0cf2
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.0.1-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
+EAPI=7
+
+DISTUTILS_USE_PEP517=no
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A lil' TOML parser"
+HOMEPAGE="
+ https://pypi.org/project/tomli/
+ https://github.com/hukkin/tomli/
+"
+SRC_URI="
+ https://github.com/hukkin/tomli/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ $(pypi_wheel_url --unpack)
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ app-arch/unzip
+"
+
+distutils_enable_tests unittest
+
+python_compile() {
+ python_domodule src/tomli "${WORKDIR}"/*.dist-info
+}
+
+python_install() {
+ distutils-r1_python_install
+ python_optimize
+}
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/Manifest
index 33fe4d4e46a..faabc575708 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/Manifest
@@ -1 +1 @@
-DIST trove_classifiers-2024.5.22.tar.gz 16050 BLAKE2B e9909972067f1ec825a127801483aa5d6c47bc7c7442bfc4490eec2628003fa0d25362ad10255b20174beb93cfd382df43a948c73c9c8834307d660897d8162f SHA512 34fd1e47f41563e6e9471ae029897d96fec8119368a1bfd8b8982b26c56a1e9e0b154dcd155b401cf537cbfba574e3ca659a31865f3d0718dfa3bc1eb1ec1ea1
+DIST trove_classifiers-2024.7.2.tar.gz 16071 BLAKE2B 6f13df1498b68e2f24838473ad8b6feb341e33da6eabc2e104c823e6db65ada348ef36c8fd96226818d89c11bf0b0ac9665c9a6ecbea5ba620d2e48c64c5b82f SHA512 af9a366425e845b1bbd098c8085ec8064dbf6864940c7dd5def1672c2046756e2c76255b282b2c989c34d14b113b7c6abd32d23eeed88317d374043040f46486
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.5.22.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.7.2.ebuild
similarity index 100%
rename from sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.5.22.ebuild
rename to sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.7.2.ebuild
diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-6.9.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-6.9.2.ebuild
index ad96f3a3e5b..3f0a1e04029 100644
--- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-6.9.2.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-6.9.2.ebuild
@@ -25,7 +25,7 @@ S="${S_K}/tools/bpf/bpftool"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
IUSE="caps +llvm"
RDEPEND="
diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.78.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.78.6.ebuild
index 109fb79e612..5235534fa3b 100644
--- a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.78.6.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.78.6.ebuild
@@ -15,7 +15,7 @@ HOMEPAGE="https://www.gtk.org/"
LICENSE="LGPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
RDEPEND="
${PYTHON_DEPS}
diff --git a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.78.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.78.6.ebuild
index c4998e8bbf2..649ae7656a1 100644
--- a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.78.6.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.78.6.ebuild
@@ -14,7 +14,7 @@ LICENSE="LGPL-2.1+"
SLOT="0" # /usr/bin utilities that can't be parallel installed by their nature
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND="${PYTHON_DEPS}"
DEPEND="${RDEPEND}"
diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.45.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.45.2.ebuild
index d375f35e5cc..9bcb72d2465 100644
--- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.45.2.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.45.2.ebuild
@@ -6,7 +6,7 @@ EAPI=8
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd
diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r1.ebuild
index d375f35e5cc..9bcb72d2465 100644
--- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r1.ebuild
@@ -6,7 +6,7 @@ EAPI=8
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd
diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r2.ebuild
index d375f35e5cc..9bcb72d2465 100644
--- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r2.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r2.ebuild
@@ -6,7 +6,7 @@ EAPI=8
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd
diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r3.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r3.ebuild
index d375f35e5cc..9bcb72d2465 100644
--- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r3.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r3.ebuild
@@ -6,7 +6,7 @@ EAPI=8
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd
diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999.ebuild
index d375f35e5cc..9bcb72d2465 100644
--- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999.ebuild
@@ -6,7 +6,7 @@ EAPI=8
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd
diff --git a/sdk_container/src/third_party/portage-stable/eclass/autotools.eclass b/sdk_container/src/third_party/portage-stable/eclass/autotools.eclass
index a456e9b9f58..3c9e89bda90 100644
--- a/sdk_container/src/third_party/portage-stable/eclass/autotools.eclass
+++ b/sdk_container/src/third_party/portage-stable/eclass/autotools.eclass
@@ -94,7 +94,7 @@ _LATEST_AUTOCONF=( 2.72-r1:2.72 2.71-r6:2.71 )
# Do NOT change this variable in your ebuilds!
# If you want to force a newer minor version, you can specify the correct
# WANT value by using a colon: :
-_LATEST_AUTOMAKE=( 1.16.5:1.16 )
+_LATEST_AUTOMAKE=( 1.17-r1:1.17 1.16.5:1.16 )
_automake_atom="dev-build/automake"
_autoconf_atom="dev-build/autoconf"
diff --git a/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass b/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass
index 908e2356ead..de43bd01776 100644
--- a/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass
+++ b/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass
@@ -541,7 +541,6 @@ cmake_src_configure() {
set(CMAKE_INSTALL_DOCDIR "${EPREFIX}/usr/share/doc/${PF}" CACHE PATH "")
set(BUILD_SHARED_LIBS ON CACHE BOOL "")
set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "")
- set(FETCHCONTENT_FULLY_DISCONNECTED ON CACHE BOOL "")
set(CMAKE_DISABLE_PRECOMPILE_HEADERS ON CACHE BOOL "")
_EOF_
diff --git a/sdk_container/src/third_party/portage-stable/eclass/flag-o-matic.eclass b/sdk_container/src/third_party/portage-stable/eclass/flag-o-matic.eclass
index ecac452aa0e..c6b1ad80e12 100644
--- a/sdk_container/src/third_party/portage-stable/eclass/flag-o-matic.eclass
+++ b/sdk_container/src/third_party/portage-stable/eclass/flag-o-matic.eclass
@@ -129,6 +129,10 @@ _setup-allowed-flags() {
# needed for arm64 (and in particular SCS)
-ffixed-x18
+ # needed for riscv (to prevent unaligned vector access)
+ # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115789
+ -mstrict-align -mvector-strict-align
+
# gcc 4.5
-mno-fma4 -mno-movbe -mno-xop -mno-lwp
# gcc 4.6
diff --git a/sdk_container/src/third_party/portage-stable/eclass/git-r3.eclass b/sdk_container/src/third_party/portage-stable/eclass/git-r3.eclass
index 565f6ada838..35ad6afe8e8 100644
--- a/sdk_container/src/third_party/portage-stable/eclass/git-r3.eclass
+++ b/sdk_container/src/third_party/portage-stable/eclass/git-r3.eclass
@@ -4,7 +4,7 @@
# @ECLASS: git-r3.eclass
# @MAINTAINER:
# Michał Górny
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Eclass for fetching and unpacking git repositories.
# @DESCRIPTION:
# Third generation eclass for easing maintenance of live ebuilds using
@@ -26,7 +26,7 @@
# If non-empty, then the repo likely needs EGIT_LFS to clone properly.
case ${EAPI} in
- 6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -35,13 +35,8 @@ _GIT_R3_ECLASS=1
PROPERTIES+=" live"
-if [[ ${EAPI} != 6 ]]; then
- BDEPEND=">=dev-vcs/git-1.8.2.1[curl]"
- [[ ${EGIT_LFS} ]] && BDEPEND+=" dev-vcs/git-lfs"
-else
- DEPEND=">=dev-vcs/git-1.8.2.1[curl]"
- [[ ${EGIT_LFS} ]] && DEPEND+=" dev-vcs/git-lfs"
-fi
+BDEPEND=">=dev-vcs/git-1.8.2.1[curl]"
+[[ ${EGIT_LFS} ]] && BDEPEND+=" dev-vcs/git-lfs"
# @ECLASS_VARIABLE: EGIT_CLONE_TYPE
# @USER_VARIABLE
diff --git a/sdk_container/src/third_party/portage-stable/eclass/gnome.org.eclass b/sdk_container/src/third_party/portage-stable/eclass/gnome.org.eclass
index 760dc2ba0b6..70884edefef 100644
--- a/sdk_container/src/third_party/portage-stable/eclass/gnome.org.eclass
+++ b/sdk_container/src/third_party/portage-stable/eclass/gnome.org.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: gnome.org.eclass
@@ -7,22 +7,19 @@
# @AUTHOR:
# Authors: Spidler with help of carparski.
# eclass variable additions and documentation: Gilles Dartiguelongue
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Helper eclass for gnome.org hosted archives
# @DESCRIPTION:
# Provide a default SRC_URI for tarball hosted on gnome.org mirrors.
case ${EAPI} in
- 5|6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
if [[ -z ${_GNOME_ORG_ECLASS} ]] ; then
_GNOME_ORG_ECLASS=1
-# versionator inherit kept for older EAPIs due to ebuilds (potentially) relying on it
-[[ ${EAPI} == [56] ]] && inherit eapi7-ver versionator
-
# @ECLASS_VARIABLE: GNOME_TARBALL_SUFFIX
# @PRE_INHERIT
# @DESCRIPTION:
@@ -33,19 +30,13 @@ _GNOME_ORG_ECLASS=1
# Even though xz-utils are in @system, they must still be added to BDEPEND; see
# https://archives.gentoo.org/gentoo-dev/msg_a0d4833eb314d1be5d5802a3b710e0a4.xml
-if [[ ${GNOME_TARBALL_SUFFIX} == "xz" ]]; then
- if [[ ${EAPI} != [56] ]]; then
- BDEPEND="app-arch/xz-utils"
- else
- DEPEND="app-arch/xz-utils"
- fi
-fi
+[[ ${GNOME_TARBALL_SUFFIX} == "xz" ]] && BDEPEND="app-arch/xz-utils"
# @ECLASS_VARIABLE: GNOME_ORG_MODULE
# @DESCRIPTION:
# Name of the module as hosted on gnome.org mirrors.
# Leave unset if package name matches module name.
-: "${GNOME_ORG_MODULE:=$PN}"
+: "${GNOME_ORG_MODULE:=${PN}}"
# @ECLASS_VARIABLE: GNOME_ORG_RELEASE
# @INTERNAL
diff --git a/sdk_container/src/third_party/portage-stable/eclass/kernel-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/kernel-2.eclass
index ffbe986f3e8..c60fcb04dd7 100644
--- a/sdk_container/src/third_party/portage-stable/eclass/kernel-2.eclass
+++ b/sdk_container/src/third_party/portage-stable/eclass/kernel-2.eclass
@@ -1332,7 +1332,7 @@ getfilevar() {
unset ARCH
echo -e "include ${basefname}\ne:\n\t@echo \$(${1})" |
- make -C "${basedname}" ${BUILD_FIXES} -s -f - e 2>/dev/null
+ make -C "${basedname}" -s -f - e 2>/dev/null
ARCH=${xarch}
fi
diff --git a/sdk_container/src/third_party/portage-stable/eclass/linux-info.eclass b/sdk_container/src/third_party/portage-stable/eclass/linux-info.eclass
index 9449a6359d2..0f613815014 100644
--- a/sdk_container/src/third_party/portage-stable/eclass/linux-info.eclass
+++ b/sdk_container/src/third_party/portage-stable/eclass/linux-info.eclass
@@ -6,7 +6,7 @@
# kernel@gentoo.org
# @AUTHOR:
# Original author: John Mylchreest
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: eclass used for accessing kernel related information
# @DESCRIPTION:
# This eclass is used as a central eclass for accessing kernel
@@ -28,7 +28,7 @@
# get_running_version
case ${EAPI} in
- 6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -38,7 +38,6 @@ _LINUX_INFO_ECLASS=1
# A Couple of env vars are available to effect usage of this eclass
# These are as follows:
-
# @ECLASS_VARIABLE: CHECKCONFIG_DONOTHING
# @USER_VARIABLE
# @DEFAULT_UNSET
@@ -51,7 +50,7 @@ _LINUX_INFO_ECLASS=1
# @DESCRIPTION:
# A string containing the directory of the target kernel sources. The default value is
# "/usr/src/linux"
-KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
+KERNEL_DIR="${KERNEL_DIR:-${ROOT}/usr/src/linux}"
# @ECLASS_VARIABLE: CONFIG_CHECK
# @DEFAULT_UNSET
@@ -88,7 +87,6 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
# CONFIG_CHECK="~CFG" with ERROR_="Error Message" calls eerror without dying
# CONFIG_CHECK="~CFG" with WARNING_="Warning Message" calls ewarn without dying
-
# @ECLASS_VARIABLE: KBUILD_OUTPUT
# @DEFAULT_UNSET
# @DESCRIPTION:
@@ -168,13 +166,6 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
# And to ensure all the weirdness with crosscompile
inherit toolchain-funcs
-[[ ${EAPI} == 6 ]] && inherit eapi7-ver
-
-# bug #75034
-case ${ARCH} in
- ppc) BUILD_FIXES="${BUILD_FIXES} TOUT=${T}/.tmp_gas_check";;
- ppc64) BUILD_FIXES="${BUILD_FIXES} TOUT=${T}/.tmp_gas_check";;
-esac
# @FUNCTION: set_arch_to_kernel
# @DESCRIPTION:
@@ -248,8 +239,7 @@ getfilevar() {
# Pass dot-config=0 to avoid the config check in kernels prior to 5.4.
echo -e "e:\\n\\t@echo \$(${1})\\ninclude ${basefname}" | \
nonfatal emake -C "${basedname}" --no-print-directory M="${T}" \
- dot-config=0 need-config= need-compiler= \
- ${BUILD_FIXES} -s -f - 2>/dev/null
+ dot-config=0 need-config= need-compiler= -s -f - 2>/dev/null
ARCH=${myARCH}
fi
@@ -642,7 +632,7 @@ get_version() {
# caught before this if they are.
if [[ -z ${OUTPUT_DIR} ]] ; then
# Try to locate a kernel that is most relevant for us.
- for OUTPUT_DIR in "${SYSROOT}" "${ROOT%/}" "" ; do
+ for OUTPUT_DIR in "${SYSROOT}" "${ROOT}" "" ; do
OUTPUT_DIR+="/lib/modules/${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${KV_EXTRA}${KV_LOCAL}/build"
if [[ -e ${OUTPUT_DIR} ]] ; then
break
@@ -670,10 +660,10 @@ get_running_version() {
local kv=$(uname -r)
- if [[ -f ${ROOT%/}/lib/modules/${kv}/source/Makefile ]]; then
- KERNEL_DIR=$(readlink -f "${ROOT%/}/lib/modules/${kv}/source")
- if [[ -f ${ROOT%/}/lib/modules/${kv}/build/Makefile ]]; then
- KBUILD_OUTPUT=$(readlink -f "${ROOT%/}/lib/modules/${kv}/build")
+ if [[ -f ${ROOT}/lib/modules/${kv}/source/Makefile ]]; then
+ KERNEL_DIR=$(readlink -f "${ROOT}/lib/modules/${kv}/source")
+ if [[ -f ${ROOT}/lib/modules/${kv}/build/Makefile ]]; then
+ KBUILD_OUTPUT=$(readlink -f "${ROOT}/lib/modules/${kv}/build")
fi
get_version && return 0
fi
@@ -718,7 +708,6 @@ linux-info_get_any_version() {
fi
}
-
# ebuild check functions
# ---------------------------------------
diff --git a/sdk_container/src/third_party/portage-stable/eclass/mount-boot-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/mount-boot-utils.eclass
index 39f8e94b84e..e24b4e0c082 100644
--- a/sdk_container/src/third_party/portage-stable/eclass/mount-boot-utils.eclass
+++ b/sdk_container/src/third_party/portage-stable/eclass/mount-boot-utils.eclass
@@ -4,7 +4,7 @@
# @ECLASS: mount-boot-utils.eclass
# @MAINTAINER:
# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: functions for packages that install files into /boot or the ESP
# @DESCRIPTION:
# This eclass is really only useful for bootloaders and kernel installation.
diff --git a/sdk_container/src/third_party/portage-stable/eclass/mount-boot.eclass b/sdk_container/src/third_party/portage-stable/eclass/mount-boot.eclass
index ab02b39d614..ce17026ffd2 100644
--- a/sdk_container/src/third_party/portage-stable/eclass/mount-boot.eclass
+++ b/sdk_container/src/third_party/portage-stable/eclass/mount-boot.eclass
@@ -4,7 +4,7 @@
# @ECLASS: mount-boot.eclass
# @MAINTAINER:
# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: eclass for packages that install files into /boot or the ESP
# @DESCRIPTION:
# This eclass is really only useful for bootloaders and kernel installation.
diff --git a/sdk_container/src/third_party/portage-stable/licenses/BlueOak-1.0.0 b/sdk_container/src/third_party/portage-stable/licenses/BlueOak-1.0.0
new file mode 100644
index 00000000000..c5402b9577a
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/licenses/BlueOak-1.0.0
@@ -0,0 +1,55 @@
+# Blue Oak Model License
+
+Version 1.0.0
+
+## Purpose
+
+This license gives everyone as much permission to work with
+this software as possible, while protecting contributors
+from liability.
+
+## Acceptance
+
+In order to receive this license, you must agree to its
+rules. The rules of this license are both obligations
+under that agreement and conditions to your license.
+You must not do anything with this software that triggers
+a rule that you cannot or will not follow.
+
+## Copyright
+
+Each contributor licenses you to do everything with this
+software that would otherwise infringe that contributor's
+copyright in it.
+
+## Notices
+
+You must ensure that everyone who gets a copy of
+any part of this software from you, with or without
+changes, also gets the text of this license or a link to
+.
+
+## Excuse
+
+If anyone notifies you in writing that you have not
+complied with [Notices](#notices), you can keep your
+license by taking all practical steps to comply within 30
+days after the notice. If you do not do so, your license
+ends immediately.
+
+## Patent
+
+Each contributor licenses you to do everything with this
+software that would otherwise infringe any patent claims
+they can license or become able to license.
+
+## Reliability
+
+No contributor can revoke this license.
+
+## No Liability
+
+***As far as the law allows, this software comes as is,
+without any warranty or condition, and no contributor
+will be liable to anyone for any damages related to this
+software or this license, under any kind of legal claim.***
diff --git a/sdk_container/src/third_party/portage-stable/licenses/GPL-2-with-exceptions b/sdk_container/src/third_party/portage-stable/licenses/GPL-2-with-exceptions
deleted file mode 100644
index 7083773f9f6..00000000000
--- a/sdk_container/src/third_party/portage-stable/licenses/GPL-2-with-exceptions
+++ /dev/null
@@ -1,352 +0,0 @@
-NOTE: This is the GPL with specific exceptions added by packages to extend your rights under the GPL. The specific exception(s) for the package can be found in the source tarball.
-
-Exceptions follow,
-
-// As a special exception, if other files instantiate templates or use macros
-// or inline functions from this file, or you compile this file and link it
-// with other works to produce a work based on this file, this file does not
-// by itself cause the resulting work to be covered by the GNU General Public
-// License. This exception does not invalidate any other reasons why a work
-// based on this file might be covered by the GNU General Public License.
-
-End of exceptions. The rest of this file is the GPL.
-
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- , 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/sdk_container/src/third_party/portage-stable/licenses/GPL-3+-with-openssl-exception b/sdk_container/src/third_party/portage-stable/licenses/GPL-3+-with-openssl-exception
new file mode 100644
index 00000000000..62dee742f9c
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/licenses/GPL-3+-with-openssl-exception
@@ -0,0 +1,16 @@
+GNU General Public License, version 3 or any later version.
+See GPL-3 for the full text of this license.
+
+
+ Exception
+
+ In addition, as a special exception, the copyright holders give permission
+to link the code of portions of this program with the OpenSSL library under
+certain conditions as described in each individual source file, and distribute
+linked combinations including the two.
+You must obey the GNU General Public License in all respects for all of the
+code used other than OpenSSL. If you modify file(s) with this exception, you
+may extend this exception to your version of the file(s), but you are not
+obligated to do so. If you do not wish to do so, delete this exception
+statement from your version. If you delete this exception statement from all
+source files in the program, then also delete it here.
diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/Manifest b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/Manifest
index 081bfb41fc6..38fa8e4185d 100644
--- a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/Manifest
+++ b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/Manifest
@@ -4,3 +4,7 @@ DIST c-ares-1.29.0.tar.gz 1329299 BLAKE2B 7dd6a0dc85d3383087726cd48e75b481f4ef75
DIST c-ares-1.29.0.tar.gz.asc 488 BLAKE2B 3d955b0a130dce562436d9629f1403e30ee5ebd2e981a9c2220b51d129222c3760d6bd8a681cab6115e3f2ef0bcf8e8d600792fc498bc0c05638ce7fcac0d509 SHA512 a379f3c5338073810b7bf932fecf0ce1f0b382cfbc75521f4b135cb78d0a9fd418b06f7affd747fa00d11479186db248fe8ef8120858de2b8f562b56cc41ecb2
DIST c-ares-1.31.0.tar.gz 1012373 BLAKE2B d302862148998fbfb737e5f78826a3152b299fbbf04db4d80580daeaade77e4ea1a9513f4d194746733c33a35474f39dce43dd0562b3faa8673b366a2190c87c SHA512 571d2555b4aaf3bf9cd7b5c89be8448ca26fe0ea1f3d664b07a01b42d28af4f5412b30485ef01d4bacc4e08de487dc6eeda98acf212a6a08edec6805f17210cc
DIST c-ares-1.31.0.tar.gz.asc 228 BLAKE2B 41d35804e4f5d0e11c2c6c192453a0d48f779be999a3f9c1bd8066c547e0ed9959083d953b7735ca15699444913bcdd7d43c3871e11a381e9c8ee508086fc3d8 SHA512 ea2decdec5913f25e690e6c7437fad1682b2df807397e4b764ebb2a8b010804f77b91a889e8aa00471cd1bba3b96c5f90d815ffa677598e9b516909e29b7f960
+DIST c-ares-1.32.0.tar.gz 1021855 BLAKE2B b60c924581ba7db1d87350929d22b5e15684484579e0a7d46068438ca8a953bfb7945cb38cad42f008631bb7ea51e10acb074053d485cd91a52eef742f09fdc1 SHA512 15b9dc967f66a355095f68ef84238776f6ed826fc9077702ffbb6b136be1befadcb9da1f07956079efe593434c1e912993f6e93e948291668b806be50f03136c
+DIST c-ares-1.32.0.tar.gz.asc 228 BLAKE2B d9cf726e42d79ccdaeca2aafc028c1d03aa56acd1cf03b118070968a31655046a3d609e8ea529f03465341d6decaa7f8eace4310487e7028e3a1ad355d25fa4c SHA512 7554b37e470a57ad0175050c1966e1b72bf67791aa860b113a66688ac28e525b93a633a472dd43c8a16bddb366e918b202760efab5ab311c4b6ee63e72869552
+DIST c-ares-1.32.1.tar.gz 1022052 BLAKE2B 662f15e7f1ae39614f0212745fe7883bbf831da667905e4595e011922b37c95b2037423dde96b0a62122a304d6edd04d36e99e428bdbf8f89d6ff9ecb4cfd712 SHA512 20339b92c5355c01f71a0ab5fe4b823b41ad09269dbdaf4f1567324735d7e90812c9f3f7ce197247be0bd793df35b85aa1747675762a2344e4f506346466d349
+DIST c-ares-1.32.1.tar.gz.asc 228 BLAKE2B d3d44263673c79b2dae594f5a2b3be076528c9c9f3c672e9c5cf3db68eb1b7da6ba74f8ae44605d783440f3bbada4033073e4feeee8ed9833226f76068022dc4 SHA512 3a1dc1f1066bb4d35024ef9e7246c2f630d309a1843e32574f29c07ce01e0461176dd9d53b1a7d2df279959a8b13c10cb4396ee7fafbac534e1b4d44bcefc47a
diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.32.0.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.32.0.ebuild
new file mode 100644
index 00000000000..d6ad901bd33
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.32.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Both Daniel and Brad are listed as possible signers on the homepage
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradhouse.asc
+inherit edo multilib-minimal verify-sig
+
+DESCRIPTION="C library that resolves names asynchronously"
+HOMEPAGE="https://c-ares.org/"
+SRC_URI="
+ https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz
+ verify-sig? ( https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz.asc )
+"
+
+# ISC for lib/{bitncmp.c,inet_ntop.c,inet_net_pton.c} (bug #912405)
+LICENSE="MIT ISC"
+# Subslot = SONAME of libcares.so.2
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? ( dev-cpp/gtest )
+ verify-sig? ( sec-keys/openpgp-keys-bradhouse )
+"
+
+DOCS=( AUTHORS README.md RELEASE-NOTES.md )
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/ares_build.h
+)
+
+A__QA_CONFIG_IMPL_DECL_SKIP=(
+ # Checking for obsolete headers
+ malloc
+ calloc
+ free
+
+ # Non-existent on Linux
+ closesocket
+ CloseSocket
+ ioctlsocket
+ bitncmp
+ ConvertInterfaceIndexToLuid
+ ConvertInterfaceLuidToNameA
+)
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --enable-symbol-hiding
+ $(use_enable static-libs static)
+ $(use_enable test tests)
+ )
+
+ # Needed for running unit tests only
+ # Violates sandbox and tests pass fine without
+ export ax_cv_uts_namespace=no
+ export ax_cv_user_namespace=no
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+ cd "${BUILD_DIR}"/test || die
+
+ # We're skipping the "real" network tests with the filter
+ # see https://github.com/c-ares/c-ares/tree/main/test
+ local network_tests=(
+ # Most live tests have Live in the name
+ *Live*
+ # These don't but are still in ares-test-live.cc => live
+ *GetTCPSock*
+ *TimeoutValue*
+ *GetSock*
+ *GetSock_virtualized*
+ *VerifySocketFunctionCallback*
+ # Seems flaky, even run manually
+ # https://github.com/c-ares/c-ares/commit/9e542a8839f81c990bb0dff14beeaf9aa6bcc18d
+ *MockUDPMaxQueriesTest.GetHostByNameParallelLookups*
+ )
+
+ # The format for disabling test1, test2, and test3 looks like:
+ # -test1:test2:test3
+ edo ./arestest --gtest_filter=-$(echo $(IFS=:; echo "${network_tests[*]}"))
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.32.1.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.32.1.ebuild
new file mode 100644
index 00000000000..d6ad901bd33
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.32.1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Both Daniel and Brad are listed as possible signers on the homepage
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradhouse.asc
+inherit edo multilib-minimal verify-sig
+
+DESCRIPTION="C library that resolves names asynchronously"
+HOMEPAGE="https://c-ares.org/"
+SRC_URI="
+ https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz
+ verify-sig? ( https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz.asc )
+"
+
+# ISC for lib/{bitncmp.c,inet_ntop.c,inet_net_pton.c} (bug #912405)
+LICENSE="MIT ISC"
+# Subslot = SONAME of libcares.so.2
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? ( dev-cpp/gtest )
+ verify-sig? ( sec-keys/openpgp-keys-bradhouse )
+"
+
+DOCS=( AUTHORS README.md RELEASE-NOTES.md )
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/ares_build.h
+)
+
+A__QA_CONFIG_IMPL_DECL_SKIP=(
+ # Checking for obsolete headers
+ malloc
+ calloc
+ free
+
+ # Non-existent on Linux
+ closesocket
+ CloseSocket
+ ioctlsocket
+ bitncmp
+ ConvertInterfaceIndexToLuid
+ ConvertInterfaceLuidToNameA
+)
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --enable-symbol-hiding
+ $(use_enable static-libs static)
+ $(use_enable test tests)
+ )
+
+ # Needed for running unit tests only
+ # Violates sandbox and tests pass fine without
+ export ax_cv_uts_namespace=no
+ export ax_cv_user_namespace=no
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+ cd "${BUILD_DIR}"/test || die
+
+ # We're skipping the "real" network tests with the filter
+ # see https://github.com/c-ares/c-ares/tree/main/test
+ local network_tests=(
+ # Most live tests have Live in the name
+ *Live*
+ # These don't but are still in ares-test-live.cc => live
+ *GetTCPSock*
+ *TimeoutValue*
+ *GetSock*
+ *GetSock_virtualized*
+ *VerifySocketFunctionCallback*
+ # Seems flaky, even run manually
+ # https://github.com/c-ares/c-ares/commit/9e542a8839f81c990bb0dff14beeaf9aa6bcc18d
+ *MockUDPMaxQueriesTest.GetHostByNameParallelLookups*
+ )
+
+ # The format for disabling test1, test2, and test3 looks like:
+ # -test1:test2:test3
+ edo ./arestest --gtest_filter=-$(echo $(IFS=:; echo "${network_tests[*]}"))
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/sdk_container/src/third_party/portage-stable/net-firewall/ipset/Manifest b/sdk_container/src/third_party/portage-stable/net-firewall/ipset/Manifest
index b4b75519892..f66331f135e 100644
--- a/sdk_container/src/third_party/portage-stable/net-firewall/ipset/Manifest
+++ b/sdk_container/src/third_party/portage-stable/net-firewall/ipset/Manifest
@@ -1,2 +1 @@
-DIST ipset-7.21.tar.bz2 687746 BLAKE2B bb887a6e74f11df8e24e13c767d21761fe547e90dbfe9fbd5b9adf3a6280a6e0eceeabd0d238178a2f76dd6492b04f4ccde222b5b41807b21bb441f2fb94cc48 SHA512 175c6516c2091c57738a0324678d8d016e4d7f18fa03cb0dcc502391cac4caf4db1e757f61ad2fe312c1dbe431ec9cfabbc8e15a64a94ebd2fa903155b27c88f
DIST ipset-7.22.tar.bz2 694069 BLAKE2B 9daaff54adb6f9daf69cd7dabbd9134d8fcf8cd7f8ef0c52296961579ad3c8202087158a01664228eff70356ba97f77ec61abbab7c7ce323112fbdc32abd661b SHA512 e375a9110eb7974480147c57eb2cff4bdd03c7704cdae006a3d254cc80fada587aa8aee25a86f7cab29db83f5e283c5f9a47a314297317660ebba5097f623d79
diff --git a/sdk_container/src/third_party/portage-stable/net-firewall/ipset/files/ipset-7.22-argv-bounds.patch b/sdk_container/src/third_party/portage-stable/net-firewall/ipset/files/ipset-7.22-argv-bounds.patch
new file mode 100644
index 00000000000..07d18303642
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-firewall/ipset/files/ipset-7.22-argv-bounds.patch
@@ -0,0 +1,36 @@
+https://git.netfilter.org/ipset/commit/?id=851cb04ffee5040f1e0063f77c3fe9bc6245e0fb
+
+From 851cb04ffee5040f1e0063f77c3fe9bc6245e0fb Mon Sep 17 00:00:00 2001
+From: Phil Sutter
+Date: Thu, 27 Jun 2024 10:18:17 +0200
+Subject: lib: ipset: Avoid 'argv' array overstepping
+
+The maximum accepted value for 'argc' is MAX_ARGS which matches 'argv'
+array size. The maximum allowed array index is therefore argc-1.
+
+This fix will leave items in argv non-NULL-terminated, so explicitly
+NULL the formerly last entry after shifting.
+
+Looks like a day-1 bug. Interestingly, this neither triggered ASAN nor
+valgrind. Yet adding debug output printing argv entries being copied
+did.
+
+Fixes: 1e6e8bd9a62aa ("Third stage to ipset-5")
+Signed-off-by: Phil Sutter
+Signed-off-by: Jozsef Kadlecsik
+--- a/lib/ipset.c
++++ b/lib/ipset.c
+@@ -343,9 +343,9 @@ ipset_shift_argv(int *argc, char *argv[], int from)
+
+ assert(*argc >= from + 1);
+
+- for (i = from + 1; i <= *argc; i++)
++ for (i = from + 1; i < *argc; i++)
+ argv[i-1] = argv[i];
+- (*argc)--;
++ argv[--(*argc)] = NULL;
+ return;
+ }
+
+--
+cgit v1.2.3
diff --git a/sdk_container/src/third_party/portage-stable/net-firewall/ipset/files/ipset-7.22-asan-buffer-overflow.patch b/sdk_container/src/third_party/portage-stable/net-firewall/ipset/files/ipset-7.22-asan-buffer-overflow.patch
new file mode 100644
index 00000000000..56d126db5ef
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-firewall/ipset/files/ipset-7.22-asan-buffer-overflow.patch
@@ -0,0 +1,52 @@
+https://git.netfilter.org/ipset/commit/?id=f1bcacf5eeb8620ea684524e1ce9c3951a77f1f9
+
+From f1bcacf5eeb8620ea684524e1ce9c3951a77f1f9 Mon Sep 17 00:00:00 2001
+From: Phil Sutter
+Date: Thu, 27 Jun 2024 10:18:16 +0200
+Subject: lib: data: Fix for global-buffer-overflow warning by ASAN
+
+After compiling with CFLAGS="-fsanitize=address -g", running the
+testsuite triggers the following warning:
+
+| ipmap: Range: Check syntax error: missing range/from-to: FAILED
+| Failed test: ../src/ipset 2>.foo.err -N test ipmap
+| =================================================================
+| ==4204==ERROR: AddressSanitizer: global-buffer-overflow on address 0x55a21e77172a at pc 0x7f1ef246f2a6 bp 0x7fffed8f4f40 sp 0x7fffed8f46e8
+| READ of size 32 at 0x55a21e77172a thread T0
+| #0 0x7f1ef246f2a5 in __interceptor_memcpy /var/tmp/portage/sys-devel/gcc-13.2.1_p20231014/work/gcc-13-20231014/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:899
+| #1 0x55a21e758bf6 in ipset_strlcpy /home/n0-1/git/ipset/lib/data.c:119
+| #2 0x55a21e758bf6 in ipset_data_set /home/n0-1/git/ipset/lib/data.c:349
+| #3 0x55a21e75ee2f in ipset_parse_typename /home/n0-1/git/ipset/lib/parse.c:1819
+| #4 0x55a21e754119 in ipset_parser /home/n0-1/git/ipset/lib/ipset.c:1205
+| #5 0x55a21e752cef in ipset_parse_argv /home/n0-1/git/ipset/lib/ipset.c:1344
+| #6 0x55a21e74ea45 in main /home/n0-1/git/ipset/src/ipset.c:38
+| #7 0x7f1ef224cf09 (/lib64/libc.so.6+0x23f09)
+| #8 0x7f1ef224cfc4 in __libc_start_main (/lib64/libc.so.6+0x23fc4)
+| #9 0x55a21e74f040 in _start (/home/n0-1/git/ipset/src/ipset+0x1d040)
+|
+| 0x55a21e77172a is located 54 bytes before global variable '*.LC1' defined in 'ipset_bitmap_ip.c' (0x55a21e771760) of size 19
+| '*.LC1' is ascii string 'IP|IP/CIDR|FROM-TO'
+| 0x55a21e77172a is located 0 bytes after global variable '*.LC0' defined in 'ipset_bitmap_ip.c' (0x55a21e771720) of size 10
+| '*.LC0' is ascii string 'bitmap:ip'
+
+Fix this by avoiding 'src' array overstep in ipset_strlcpy(): In
+contrast to strncpy(), memcpy() does not respect NUL-chars in input but
+stubbornly reads as many bytes as specified.
+
+Fixes: a7432ba786ca4 ("Workaround misleading -Wstringop-truncation warning")
+Signed-off-by: Phil Sutter
+Signed-off-by: Jozsef Kadlecsik
+--- a/lib/data.c
++++ b/lib/data.c
+@@ -111,6 +111,9 @@ ipset_strlcpy(char *dst, const char *src, size_t len)
+ assert(dst);
+ assert(src);
+
++ if (strlen(src) < len)
++ len = strlen(src) + 1;
++
+ memcpy(dst, src, len);
+ dst[len - 1] = '\0';
+ }
+--
+cgit v1.2.3
diff --git a/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.21.ebuild b/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.21.ebuild
deleted file mode 100644
index a8860c63f00..00000000000
--- a/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.21.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=modules
-inherit autotools bash-completion-r1 linux-mod-r1 systemd
-
-DESCRIPTION="IPset tool for iptables, successor to ippool"
-HOMEPAGE="https://ipset.netfilter.org/ https://git.netfilter.org/ipset/"
-SRC_URI="https://ipset.netfilter.org/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
-
-RDEPEND="
- net-firewall/iptables
- net-libs/libmnl:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}/${PN}-bash-completion.patch" )
-
-DOCS=( ChangeLog INSTALL README UPGRADE )
-
-# configurable from outside, e.g. /etc/portage/make.conf
-IP_NF_SET_MAX=${IP_NF_SET_MAX:-256}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-pkg_setup() {
- get_version
- CONFIG_CHECK="NETFILTER"
- ERROR_NETFILTER="ipset requires NETFILTER support in your kernel."
- CONFIG_CHECK+=" NETFILTER_NETLINK"
- ERROR_NETFILTER_NETLINK="ipset requires NETFILTER_NETLINK support in your kernel."
- # It does still build without NET_NS, but it may be needed in future.
- #CONFIG_CHECK="${CONFIG_CHECK} NET_NS"
- #ERROR_NET_NS="ipset requires NET_NS (network namespace) support in your kernel."
- CONFIG_CHECK+=" !PAX_CONSTIFY_PLUGIN"
- ERROR_PAX_CONSTIFY_PLUGIN="ipset contains constified variables (#614896)"
-
- build_modules=0
- if use modules; then
- if linux_config_src_exists && linux_chkconfig_builtin "MODULES" ; then
- if linux_chkconfig_present "IP_NF_SET" || \
- linux_chkconfig_present "IP_SET"; then #274577
- eerror "There is IP{,_NF}_SET or NETFILTER_XT_SET support in your kernel."
- eerror "Please either build ipset with modules USE flag disabled"
- eerror "or rebuild kernel without IP_SET support and make sure"
- eerror "there is NO kernel ip_set* modules in /lib/modules//... ."
- die "USE=modules and in-kernel ipset support detected."
- else
- einfo "Modular kernel detected. Gonna build kernel modules..."
- build_modules=1
- fi
- else
- eerror "Nonmodular kernel detected, but USE=modules. Either build"
- eerror "modular kernel (without IP_SET) or disable USE=modules"
- die "Nonmodular kernel detected, will not build kernel modules"
- fi
- fi
-
- [[ ${build_modules} -eq 1 ]] && linux-mod-r1_pkg_setup
-}
-
-src_configure() {
- export bashcompdir="$(get_bashcompdir)"
-
- econf \
- --enable-bashcompl \
- $(use_with modules kmod) \
- --with-maxsets=${IP_NF_SET_MAX} \
- --with-ksource="${KV_DIR}" \
- --with-kbuild="${KV_OUT_DIR}"
-}
-
-src_compile() {
- einfo "Building userspace"
-
- local modlist=( xt_set=kernel/net/netfilter/ipset/:"${S}":kernel/net/netfilter/:
- em_ipset=kernel/net/sched:"${S}":kernel/net/sched/:modules )
-
- for i in ip_set{,_bitmap_{ip{,mac},port},_hash_{ip{,mac,mark,port{,ip,net}},mac,net{,port{,net},iface,net}},_list_set}; do
- modlist+=( ${i}=kernel/net/netfilter/ipset/:"${S}":kernel/net/netfilter/ipset )
- done
-
- emake
-
- if [[ ${build_modules} -eq 1 ]]; then
- einfo "Building kernel modules"
- linux-mod-r1_src_compile
- fi
-}
-
-src_install() {
- einfo "Installing userspace"
- default
-
- find "${ED}" -name '*.la' -delete || die
-
- newinitd "${FILESDIR}"/ipset.initd-r6 ${PN}
- newconfd "${FILESDIR}"/ipset.confd-r1 ${PN}
- systemd_newunit "${FILESDIR}"/ipset.systemd-r1 ${PN}.service
- keepdir /var/lib/ipset
-
- if [[ ${build_modules} -eq 1 ]]; then
- einfo "Installing kernel modules"
- linux-mod-r1_src_install
- fi
-}
diff --git a/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.21-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.22-r1.ebuild
similarity index 96%
rename from sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.21-r1.ebuild
rename to sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.22-r1.ebuild
index fe8c8b630d0..71fed5deb0f 100644
--- a/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.21-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.22-r1.ebuild
@@ -21,13 +21,17 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
-PATCHES=( "${FILESDIR}/${PN}-bash-completion.patch" )
-
DOCS=( ChangeLog INSTALL README UPGRADE )
# configurable from outside, e.g. /etc/portage/make.conf
IP_NF_SET_MAX=${IP_NF_SET_MAX:-256}
+PATCHES=(
+ "${FILESDIR}/${PN}-bash-completion.patch"
+ "${FILESDIR}/${P}-asan-buffer-overflow.patch"
+ "${FILESDIR}/${P}-argv-bounds.patch"
+)
+
src_prepare() {
default
eautoreconf
diff --git a/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.22.ebuild b/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.22.ebuild
deleted file mode 100644
index 396608d34f0..00000000000
--- a/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.22.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=modules
-inherit autotools bash-completion-r1 linux-mod-r1 systemd
-
-DESCRIPTION="IPset tool for iptables, successor to ippool"
-HOMEPAGE="https://ipset.netfilter.org/ https://git.netfilter.org/ipset/"
-SRC_URI="https://ipset.netfilter.org/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- net-firewall/iptables
- net-libs/libmnl:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}/${PN}-bash-completion.patch" )
-
-DOCS=( ChangeLog INSTALL README UPGRADE )
-
-# configurable from outside, e.g. /etc/portage/make.conf
-IP_NF_SET_MAX=${IP_NF_SET_MAX:-256}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-pkg_setup() {
- get_version
- CONFIG_CHECK="NETFILTER"
- ERROR_NETFILTER="ipset requires NETFILTER support in your kernel."
- CONFIG_CHECK+=" NETFILTER_NETLINK"
- ERROR_NETFILTER_NETLINK="ipset requires NETFILTER_NETLINK support in your kernel."
- # It does still build without NET_NS, but it may be needed in future.
- #CONFIG_CHECK="${CONFIG_CHECK} NET_NS"
- #ERROR_NET_NS="ipset requires NET_NS (network namespace) support in your kernel."
- CONFIG_CHECK+=" !PAX_CONSTIFY_PLUGIN"
- ERROR_PAX_CONSTIFY_PLUGIN="ipset contains constified variables (#614896)"
-
- build_modules=0
- if use modules; then
- if linux_config_src_exists && linux_chkconfig_builtin "MODULES" ; then
- if linux_chkconfig_present "IP_NF_SET" || \
- linux_chkconfig_present "IP_SET"; then #274577
- eerror "There is IP{,_NF}_SET or NETFILTER_XT_SET support in your kernel."
- eerror "Please either build ipset with modules USE flag disabled"
- eerror "or rebuild kernel without IP_SET support and make sure"
- eerror "there is NO kernel ip_set* modules in /lib/modules//... ."
- die "USE=modules and in-kernel ipset support detected."
- else
- einfo "Modular kernel detected. Gonna build kernel modules..."
- build_modules=1
- fi
- else
- eerror "Nonmodular kernel detected, but USE=modules. Either build"
- eerror "modular kernel (without IP_SET) or disable USE=modules"
- die "Nonmodular kernel detected, will not build kernel modules"
- fi
- fi
-
- [[ ${build_modules} -eq 1 ]] && linux-mod-r1_pkg_setup
-}
-
-src_configure() {
- export bashcompdir="$(get_bashcompdir)"
-
- econf \
- --enable-bashcompl \
- $(use_with modules kmod) \
- --with-maxsets=${IP_NF_SET_MAX} \
- --with-ksource="${KV_DIR}" \
- --with-kbuild="${KV_OUT_DIR}"
-}
-
-src_compile() {
- einfo "Building userspace"
-
- local modlist=( xt_set=kernel/net/netfilter/ipset/:"${S}":kernel/net/netfilter/:
- em_ipset=kernel/net/sched:"${S}":kernel/net/sched/:modules )
-
- for i in ip_set{,_bitmap_{ip{,mac},port},_hash_{ip{,mac,mark,port{,ip,net}},mac,net{,port{,net},iface,net}},_list_set}; do
- modlist+=( ${i}=kernel/net/netfilter/ipset/:"${S}":kernel/net/netfilter/ipset )
- done
-
- emake
-
- if [[ ${build_modules} -eq 1 ]]; then
- einfo "Building kernel modules"
- linux-mod-r1_src_compile
- fi
-}
-
-src_install() {
- einfo "Installing userspace"
- default
-
- find "${ED}" -name '*.la' -delete || die
-
- newinitd "${FILESDIR}"/ipset.initd-r7 ${PN}
- newconfd "${FILESDIR}"/ipset.confd-r1 ${PN}
- systemd_newunit "${FILESDIR}"/ipset.systemd-r1 ${PN}.service
- keepdir /var/lib/ipset
-
- if [[ ${build_modules} -eq 1 ]]; then
- einfo "Installing kernel modules"
- linux-mod-r1_src_install
- fi
-}
diff --git a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/Manifest b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/Manifest
index 9c87bccf881..04048a4ca13 100644
--- a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/Manifest
+++ b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/Manifest
@@ -8,3 +8,5 @@ DIST gnutls-3.8.3.tar.xz 6463720 BLAKE2B 27a4bb4d8a5697e2187113351b2ad1e849bca7b
DIST gnutls-3.8.3.tar.xz.sig 580 BLAKE2B 25875eb17d9e59bf1f1b6a61dfc7657d838ac154dbb3e26c8df1995884077878ca607de62a8ce3b9287df1ea7ff523c0abc7c4548f1ca789c308eb6bda0edbaa SHA512 5b2ca0648ca5feeda1de933de2bbaf71fadb70e830a8f0d494d2f0380b6d0d7b79445257cc79e59bba1a7ff639ab4573da3e3e124eb80c20ac6141e29a4827ff
DIST gnutls-3.8.5.tar.xz 6491504 BLAKE2B 30ea0e213b426df896af7cddfc39a7c50fd3130f99ced8386dc55e851122a37f6171722d2cb4abb68b9d2523cd3ba044b01248d740571a3bdd0cadf555894cdf SHA512 4bac1aa7ec1dce9b3445cc515cc287a5af032d34c207399aa9722e3dc53ed652f8a57cfbc9c5e40ccc4a2631245d89ab676e3ba2be9563f60ba855aaacb8e23c
DIST gnutls-3.8.5.tar.xz.sig 119 BLAKE2B 62ff7b33fb80422774f8252f574560679b7dc4fa56fa680a4cf570320fa9692aa6f8b6a7e4683a684572287cfd22168f58679d2dc4cc507dc50269ed126990fd SHA512 b0f7a8ec348765112cac75fd732e066adaa1595bb83024cfeff6633aba35277d8aceda145c733c3d95f1e0eb4d34fead2479abdb08d6041362094a235460fa67
+DIST gnutls-3.8.6.tar.xz 6517476 BLAKE2B 58910e252231c02cfaa1183b38f3127f61aa991d266078bef8fb65709930a2d2dda1adad5fa32cdb203fda65955bcab9193ce71b5fba0b74e6a36a218bc0dd94 SHA512 58631c456dfb43f8cb6a1703ffa91c593a33357f37dc146e808d88692e19c7ac10aeabea40bee9952205be97e00648879e9f0fa80e670e8e695f8633ba726513
+DIST gnutls-3.8.6.tar.xz.sig 119 BLAKE2B 044d0e31a5fa402daa73e88ce140f57e30cb143324c7cce1515a3bc6c444fe2f1fa2dd954dec69de09c7b4726766e17ec05410bbbbcf5b35dda1cb0f6452a0a5 SHA512 3f9552cdf5fa96184fbe394dd484fb55e6a3577d1e048aea373b82cda335ea0f174f2fb11926dc58532c1f950cd10a6a35bc36e9fe813a1259eae5c5364920b2
diff --git a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.6.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.6.ebuild
new file mode 100644
index 00000000000..19002c19728
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.6.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnutls.asc
+inherit libtool multilib-minimal verify-sig
+
+DESCRIPTION="A secure communications library implementing the SSL, TLS and DTLS protocols"
+HOMEPAGE="https://www.gnutls.org/"
+SRC_URI="mirror://gnupg/gnutls/v$(ver_cut 1-2)/${P}.tar.xz"
+SRC_URI+=" verify-sig? ( mirror://gnupg/gnutls/v$(ver_cut 1-2)/${P}.tar.xz.sig )"
+
+LICENSE="GPL-3 LGPL-2.1+"
+# As of 3.8.0, the C++ library is header-only, but we won't drop the subslot
+# component for it until libgnutls.so breaks ABI, to avoid pointless rebuilds.
+# Subslot format:
+# .
+SLOT="0/30.30"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="brotli +cxx dane doc examples +idn nls +openssl pkcs11 seccomp sslv2 sslv3 static-libs test test-full +tls-heartbeat tools zlib zstd"
+REQUIRED_USE="test-full? ( cxx dane doc examples idn nls openssl pkcs11 seccomp tls-heartbeat tools )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/libtasn1-4.9:=[${MULTILIB_USEDEP}]
+ dev-libs/libunistring:=[${MULTILIB_USEDEP}]
+ >=dev-libs/nettle-3.6:=[gmp,${MULTILIB_USEDEP}]
+ >=dev-libs/gmp-5.1.3-r1:=[${MULTILIB_USEDEP}]
+ brotli? ( >=app-arch/brotli-1.0.0:=[${MULTILIB_USEDEP}] )
+ dane? ( >=net-dns/unbound-1.4.20:=[${MULTILIB_USEDEP}] )
+ nls? ( >=virtual/libintl-0-r1:=[${MULTILIB_USEDEP}] )
+ pkcs11? ( >=app-crypt/p11-kit-0.23.1[${MULTILIB_USEDEP}] )
+ idn? ( >=net-dns/libidn2-0.16-r1:=[${MULTILIB_USEDEP}] )
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+ zstd? ( >=app-arch/zstd-1.3.0:=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ seccomp? ( sys-libs/libseccomp )
+ )
+"
+BDEPEND="
+ dev-build/gtk-doc-am
+ >=virtual/pkgconfig-0-r1
+ doc? ( dev-util/gtk-doc )
+ nls? ( sys-devel/gettext )
+ test-full? (
+ app-crypt/dieharder
+ || ( sys-libs/libfaketime >=app-misc/datefudge-1.22 )
+ dev-libs/softhsm:2[-bindist(-)]
+ net-dialup/ppp
+ net-misc/socat
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-gnutls-20240415 )
+"
+
+DOCS=( README.md doc/certtool.cfg )
+
+HTML_DOCS=()
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # gnulib FPs
+ MIN
+ alignof
+ static_assert
+)
+
+src_prepare() {
+ default
+
+ # bug #520818
+ export TZ=UTC
+
+ use doc && HTML_DOCS+=( doc/gnutls.html )
+
+ # don't try to use system certificate store on macOS, it is
+ # confusingly ignoring our ca-certificates and more importantly
+ # fails to compile in certain configurations
+ sed -i -e 's/__APPLE__/__NO_APPLE__/' lib/system/certs.c || die
+
+ # Use sane .so versioning on FreeBSD.
+ elibtoolize
+}
+
+multilib_src_configure() {
+ LINGUAS="${LINGUAS//en/en@boldquot en@quot}"
+
+ local libconf=()
+
+ # TPM needs to be tested before being enabled
+ # Note that this may add a libltdl dep when enabled. Check configure.ac.
+ libconf+=(
+ --without-tpm
+ --without-tpm2
+ )
+
+ # hardware-accel is disabled on OSX because the asm files force
+ # GNU-stack (as doesn't support that) and when that's removed ld
+ # complains about duplicate symbols
+ [[ ${CHOST} == *-darwin* ]] && libconf+=( --disable-hardware-acceleration )
+
+ # -fanalyzer substantially slows down the build and isn't useful for
+ # us. It's useful for upstream as it's static analysis, but it's not
+ # useful when just getting something built.
+ export gl_cv_warn_c__fanalyzer=no
+
+ local myeconfargs=(
+ --disable-valgrind-tests
+ $(multilib_native_enable manpages)
+ $(multilib_native_use_enable doc gtk-doc)
+ $(multilib_native_use_enable doc)
+ $(multilib_native_use_enable seccomp seccomp-tests)
+ $(multilib_native_use_enable test tests)
+ $(multilib_native_use_enable test-full full-test-suite)
+ $(multilib_native_use_enable tools)
+ $(use_enable cxx)
+ $(use_enable dane libdane)
+ $(use_enable nls)
+ $(use_enable openssl openssl-compatibility)
+ $(use_enable sslv2 ssl2-support)
+ $(use_enable sslv3 ssl3-support)
+ $(use_enable static-libs static)
+ $(use_enable tls-heartbeat heartbeat-support)
+ $(use_with brotli)
+ $(use_with idn)
+ $(use_with pkcs11 p11-kit)
+ $(use_with zlib)
+ $(use_with zstd)
+ --disable-rpath
+ --with-default-trust-store-file="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
+ --with-unbound-root-key-file="${EPREFIX}"/etc/dnssec/root-anchors.txt
+ --without-included-libtasn1
+ $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
+ )
+
+ ECONF_SOURCE="${S}" econf "${libconf[@]}" "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -type f -name '*.la' -delete || die
+
+ if use examples; then
+ docinto examples
+ dodoc doc/examples/*.c
+ fi
+}
diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/Manifest b/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/Manifest
index b0ce8a8619b..8d9c5aa0e0b 100644
--- a/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/Manifest
+++ b/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/Manifest
@@ -1,2 +1,4 @@
DIST libnftnl-1.2.6.tar.xz 336684 BLAKE2B a08010b26db0c7a5429f33a92ca4f17e8e158005befa5f7e3f37d60456d1b481a3f95f46c0bcec74e98ab040940f533acc279672226f0abc6ce73a26ff56718a SHA512 0c8c369eec84b0c568f0067598bece6e3be9a0fbd977e443ae3b14a5a6d842a6086ceb5426a65f8c77204709655f148c1241193f1a928f8c12154a57e3548b34
DIST libnftnl-1.2.6.tar.xz.sig 566 BLAKE2B 8ad336d0d8c693beb6335e874ad62040257e0c4527f8acb32fcc8b4889eea88ba3a42c9b2b795db6f6e3d148066ee0a9217b1e30c7e784c793458dd480ee624a SHA512 61288aa03fb80d43d09866ce549815202f682b30b283cf3119ced0fe59536d10f1c029e433651d1cb31115e977b660886a153f3361f5cafdbb0ed6da602e5b2f
+DIST libnftnl-1.2.7.tar.xz 343876 BLAKE2B 42decbfdfce07c4743e7a55cf3d5d03a244ab6ac5e0f33107322ab44edcc96d360ac02f0376786656a5f7d43986499474e20a5b835f838e06d12efb017dd8eb4 SHA512 24ff3e7e97f51cb5dfda2fbd2f5e175abcec0dd58f94936022800ec356ff004a531f0915df72278b867769ba71473d407b01d52cc33a3cafb043d9a90b051f9d
+DIST libnftnl-1.2.7.tar.xz.sig 566 BLAKE2B ad79b0a149d37c0ae32bcf8c64b34e02146242ce731f6860bd8d63d90e96a58e04616d543783b8edc13a0f2ca6286c16c9d8b17c34d8e8920f680a17ee70bde0 SHA512 8bf9188a287850a5057be452541871af69187c4dacde580c57be15e7f3357ab4a874745f326880260e2c2b1486e59b684db41b0d8afd57bab9d77ad62ba052bd
diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/libnftnl-1.2.7.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/libnftnl-1.2.7.ebuild
new file mode 100644
index 00000000000..3559fe7f243
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/libnftnl-1.2.7.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/netfilter.org.asc
+inherit linux-info verify-sig
+
+DESCRIPTION="Netlink API to the in-kernel nf_tables subsystem"
+HOMEPAGE="https://netfilter.org/projects/nftables/"
+
+if [[ ${PV} =~ ^[9]{4,}$ ]]; then
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://git.netfilter.org/${PN}"
+else
+ SRC_URI="
+ https://netfilter.org/projects/${PN}/files/${P}.tar.xz
+ verify-sig? ( https://netfilter.org/projects/${PN}/files/${P}.tar.xz.sig )
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+ BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-netfilter )"
+fi
+
+LICENSE="GPL-2"
+SLOT="0/11" # libnftnl.so version
+IUSE="examples static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=net-libs/libmnl-1.0.4:=
+"
+BDEPEND+="
+ virtual/pkgconfig
+"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ if kernel_is ge 3 13; then
+ CONFIG_CHECK="~NF_TABLES"
+ linux-info_pkg_setup
+ else
+ eerror "This package requires kernel version 3.13 or newer to work properly."
+ fi
+}
+
+src_prepare() {
+ default
+
+ [[ ${PV} =~ ^[9]{4,}$ ]] && eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -type f -name '*.la' -delete || die
+
+ if use examples; then
+ find examples/ -name 'Makefile*' -delete || die "Could not rm examples"
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libpsl/metadata.xml b/sdk_container/src/third_party/portage-stable/net-libs/libpsl/metadata.xml
index 1a69cf25038..89727fa85f3 100644
--- a/sdk_container/src/third_party/portage-stable/net-libs/libpsl/metadata.xml
+++ b/sdk_container/src/third_party/portage-stable/net-libs/libpsl/metadata.xml
@@ -1,14 +1,10 @@
-
- eschwartz93@gmail.com
+
+ eschwartz@gentoo.org
Eli Schwartz
-
- kangie@gentoo.org
- Matt Jolly
-
rockdaboot/libpsl
diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.8.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.8.0-r1.ebuild
index b77ba32f5d7..1e9f3de2f0f 100644
--- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.8.0-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.8.0-r1.ebuild
@@ -21,7 +21,7 @@ else
https://curl.se/download/${P}.tar.xz
verify-sig? ( https://curl.se/download/${P}.tar.xz.asc )
"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
LICENSE="BSD curl ISC test? ( BSD-4 )"
diff --git a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20211215.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20211215.ebuild
index 9adbec78252..eae62b94c80 100644
--- a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20211215.ebuild
+++ b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20211215.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# For released versions, we precompile the man/html pages and store
@@ -19,8 +19,7 @@ if [[ ${PV} == "99999999" ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/iputils/iputils/archive/${PV}.tar.gz -> ${P}.tar.gz
- https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-manpages-${PV}.tar.xz
- https://dev.gentoo.org/~whissi/dist/iputils/${PN}-manpages-${PV}.tar.xz"
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-manpages-${PV}.tar.xz"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
fi
diff --git a/sdk_container/src/third_party/portage-stable/net-misc/ntp/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/ntp/Manifest
index 8fb940e466d..5da6e016e1c 100644
--- a/sdk_container/src/third_party/portage-stable/net-misc/ntp/Manifest
+++ b/sdk_container/src/third_party/portage-stable/net-misc/ntp/Manifest
@@ -1,3 +1,4 @@
DIST ntp-4.2.8p15-manpages.tar.xz 25700 BLAKE2B 6a225bc19dcebee31cb8e0d621963863d567a882655b57be8b65a16f9d3dd138787c7c6b9ff08853306f2e9b11d65cb76e3215cc5b2262a91c411d437974fc18 SHA512 21721550864b4e7e91bf20ca894109253439b737799dfc803e1496b3454199f34646f40e0156c08a39d5914e5a92f35908cec0245e1e2627c75c0e64939ba028
DIST ntp-4.2.8p15.tar.gz 7015970 BLAKE2B 5697d6623d79686f9ca9ad907172bf942383067d1e9817117d20db042e9f7410644f236f1a0d77ab6bf6ec468476e12ea65b494a28f0dd8674bf08fc8875cfef SHA512 f5ad765e45fc302263dd40e94c287698fd235b94f3684e49f1d5d09d7d8bdd6b8c0fb96ecdabffea3d233e1e79b3c9687b76dc204ba76bad3f554682f4a97794
DIST ntp-4.2.8p17.tar.gz 7120469 BLAKE2B 5c0e90a234cdeab76e7443b42dfd5a0c3c78693a11bdb0fa21c8def91adbdf9b9871498df9d211509632812a9107501da3470104122e9621577541ffd6cd1ab6 SHA512 e003bfe6f46065890663bc6791b02277f64318b692e49d8d678b76c23b245f357834eb483b0a44f1f47783166e5504686b36494af77f6eebe6f844cd3f2b6a8c
+DIST ntp-4.2.8p18.tar.gz 7210799 BLAKE2B 9a7bb767d2d8ae3a7224542df7978f8289cbdf28488c5e4dce4c549cdd1063259f69548898a352c0463ce83c4725bfd7c7dbf673ee3b74e490d7b1275760497c SHA512 c314f645d7d85e1028327657f30557cdfd86d417565b6c9fcbb40fca8a4c22a97b70908e8b73c6b31e14915b5b910ae0055fd42e819dd3cb48583b2a826c3fc4
diff --git a/sdk_container/src/third_party/portage-stable/net-misc/ntp/files/ntp-4.2.8_p18-ipc-caps.patch b/sdk_container/src/third_party/portage-stable/net-misc/ntp/files/ntp-4.2.8_p18-ipc-caps.patch
new file mode 100644
index 00000000000..8676603a6ce
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-misc/ntp/files/ntp-4.2.8_p18-ipc-caps.patch
@@ -0,0 +1,19 @@
+https://bugs.ntp.org/show_bug.cgi?id=2646
+https://bugs.gentoo.org/533966
+
+--- a/ntpd/ntpd.c
++++ b/ntpd/ntpd.c
+@@ -1299,10 +1299,10 @@
+ */
+ cap_t caps;
+ char *captext;
+-
++
+ captext = (scan_addrs_once)
+- ? "cap_sys_time=pe"
+- : "cap_sys_time,cap_net_bind_service=pe";
++ ? "cap_ipc_lock,cap_sys_time=pe"
++ : "cap_ipc_lock,cap_sys_time,cap_net_bind_service=pe";
+ caps = cap_from_text(captext);
+ if (!caps) {
+ msyslog(LOG_ERR,
diff --git a/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p18.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p18.ebuild
new file mode 100644
index 00000000000..04b70f2428c
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p18.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic systemd tmpfiles
+
+MY_P=${P/_p/p}
+DESCRIPTION="Network Time Protocol suite/programs"
+HOMEPAGE="https://www.ntp.org/"
+SRC_URI="https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-${PV:0:3}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="HPND BSD ISC"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="caps debug openntpd parse-clocks readline samba selinux snmp ssl +threads vim-syntax zeroconf"
+
+DEPEND="
+ >=dev-libs/libevent-2.0.9:=[threads(+)?]
+ readline? ( >=sys-libs/readline-4.1:= )
+ kernel_linux? ( caps? ( sys-libs/libcap ) )
+ zeroconf? ( net-dns/avahi[mdnsresponder-compat] )
+ snmp? ( net-analyzer/net-snmp )
+ ssl? ( dev-libs/openssl:= )
+ parse-clocks? ( net-misc/pps-tools )
+"
+RDEPEND="
+ ${DEPEND}
+ acct-group/ntp
+ acct-user/ntp
+ selinux? ( sec-policy/selinux-ntp )
+ vim-syntax? ( app-vim/ntp-syntax )
+ !net-misc/ntpsec
+ !openntpd? ( !net-misc/openntpd )
+"
+BDEPEND="
+ acct-group/ntp
+ acct-user/ntp
+ virtual/pkgconfig
+"
+PDEPEND="openntpd? ( net-misc/openntpd )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.2.8_p18-ipc-caps.patch # bug #533966
+ "${FILESDIR}"/${PN}-4.2.8-sntp-test-pthreads.patch # bug #563922
+ "${FILESDIR}"/${PN}-4.2.8_p14-add_cap_ipc_lock.patch # bug #711530
+ "${FILESDIR}"/${PN}-4.2.8_p15-configure-clang16.patch
+)
+
+src_prepare() {
+ default
+
+ # Make sure every build uses the same install layout, bug #539092
+ find sntp/loc/ -type f '!' -name legacy -delete || die
+
+ # bug #622754
+ eautoreconf
+
+ # Disable pointless checks.
+ touch .checkChangeLog .gcc-warning FRC.html html/.datecheck || die
+}
+
+src_configure() {
+ # Ancient codebase, lto-type-mismatch in testsuite in packetProcesisng.c
+ # where patching it then needs Ruby.
+ filter-lto
+
+ # bug #264109
+ append-cppflags -D_GNU_SOURCE
+
+ # https://bugs.gentoo.org/922508
+ append-lfs-flags
+
+ # avoid libmd5/libelf
+ export ac_cv_search_MD5Init=no ac_cv_header_md5_h=no
+ export ac_cv_lib_elf_nlist=no
+ # blah, no real configure options #176333
+ export ac_cv_header_dns_sd_h=$(usex zeroconf)
+ export ac_cv_lib_dns_sd_DNSServiceRegister=${ac_cv_header_dns_sd_h}
+ # Unity builds, we don't really need support for it, bug #804109
+ export PATH_RUBY=/bin/false
+
+ local myeconfargs=(
+ --cache-file="${S}"/config.cache
+
+ --with-lineeditlibs=readline,edit,editline
+ --with-yielding-select
+ --disable-local-libevent
+
+ # Increase the default memlimit from 32MiB to 128MiB, bug #533232
+ --with-memlock=256
+
+ # Avoid overriding the user's toolchain settings, bug #895802
+ --with-hardenfile=/dev/null
+
+ $(use_enable caps linuxcaps)
+ $(use_enable parse-clocks)
+ $(use_enable debug debugging)
+ $(use_with readline lineeditlibs readline)
+ $(use_enable samba ntp-signd)
+ $(use_with snmp ntpsnmpd)
+ $(use_with ssl crypto)
+ $(use_enable threads thread-support)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ # Move ntpd/ntpdate to sbin, bug #66671
+ dodir /usr/sbin
+ mv "${ED}"/usr/bin/{ntpd,ntpdate} "${ED}"/usr/sbin/ || die "move to sbin"
+
+ dodoc INSTALL WHERE-TO-START
+
+ insinto /etc
+ doins "${FILESDIR}"/ntp.conf
+
+ newinitd "${FILESDIR}"/ntpd.rc-r2 ntpd
+ newconfd "${FILESDIR}"/ntpd.confd ntpd
+ newinitd "${FILESDIR}"/ntp-client.rc ntp-client
+ newconfd "${FILESDIR}"/ntp-client.confd ntp-client
+ newinitd "${FILESDIR}"/sntp.rc sntp
+ newconfd "${FILESDIR}"/sntp.confd sntp
+ if ! use caps ; then
+ sed -i "s|-u ntp:ntp||" "${ED}"/etc/conf.d/ntpd || die
+ fi
+ sed -i "s:/usr/bin:/usr/sbin:" "${ED}"/etc/init.d/ntpd || die
+
+ if use openntpd ; then
+ cd "${ED}" || die
+ rm usr/sbin/ntpd || die
+ rm etc/{conf,init}.d/ntpd || die
+ rm usr/share/man/man1/ntpd.1 || die
+ else
+ newtmpfiles "${FILESDIR}"/ntp.tmpfiles ntp.conf
+ systemd_newunit "${FILESDIR}"/ntpd.service-r2 ntpd.service
+ if use caps ; then
+ sed -i '/ExecStart/ s|$| -u ntp:ntp|' \
+ "${D}$(systemd_get_systemunitdir)"/ntpd.service \
+ || die
+ fi
+ systemd_enable_ntpunit 60-ntpd ntpd.service
+ fi
+
+ systemd_newunit "${FILESDIR}"/ntpdate.service-r2 ntpdate.service
+ systemd_install_serviced "${FILESDIR}"/ntpdate.service.conf
+ systemd_newunit "${FILESDIR}"/sntp.service-r3 sntp.service
+ systemd_install_serviced "${FILESDIR}"/sntp.service.conf
+}
+
+pkg_postinst() {
+ if ! use openntpd; then
+ tmpfiles_process ntp.conf
+ fi
+
+ if grep -qs '^[^#].*notrust' "${EROOT}"/etc/ntp.conf ; then
+ eerror "The notrust option was found in your /etc/ntp.conf!"
+ ewarn "If your ntpd starts sending out weird responses,"
+ ewarn "then make sure you have keys properly setup and see"
+ ewarn "https://bugs.gentoo.org/41827"
+ fi
+}
diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/openssh-9.8_p1-musl-connect.patch b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/openssh-9.8_p1-musl-connect.patch
new file mode 100644
index 00000000000..c0546e747a1
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/openssh-9.8_p1-musl-connect.patch
@@ -0,0 +1,14 @@
+https://bugzilla.mindrot.org/show_bug.cgi?id=3707
+https://bugs.gentoo.org/935353
+--- a/openbsd-compat/port-linux.c
++++ b/openbsd-compat/port-linux.c
+@@ -366,7 +366,7 @@ ssh_systemd_notify(const char *fmt, ...)
+ error_f("socket \"%s\": %s", path, strerror(errno));
+ goto out;
+ }
+- if (connect(fd, &addr, sizeof(addr)) != 0) {
++ if (connect(fd, (struct sockaddr *)&addr, sizeof(addr)) != 0) {
+ error_f("socket \"%s\" connect: %s", path, strerror(errno));
+ goto out;
+ }
+
diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/sshd.service.2 b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/sshd.service.2
new file mode 100644
index 00000000000..d935ea763f0
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/sshd.service.2
@@ -0,0 +1,15 @@
+[Unit]
+Description=OpenSSH server daemon
+After=network.target auditd.service
+
+[Service]
+Type=notify-reload
+ExecStartPre=/usr/bin/ssh-keygen -A
+ExecStart=/usr/sbin/sshd -D -e
+KillMode=process
+OOMPolicy=continue
+Restart=on-failure
+RestartSec=42s
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.7_p1-r6.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.7_p1-r6.ebuild
index dfe20d9c227..af5db8a1a65 100644
--- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.7_p1-r6.ebuild
+++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.7_p1-r6.ebuild
@@ -20,7 +20,7 @@ S="${WORKDIR}/${PARCH}"
LICENSE="BSD GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
# Probably want to drop ssl defaulting to on in a future version.
IUSE="abi_mips_n32 audit debug kerberos ldns libedit livecd pam +pie security-key selinux +ssl static test xmss"
diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r2.ebuild
similarity index 99%
rename from sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r1.ebuild
rename to sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r2.ebuild
index 6633e212c19..8c6f3c5cb67 100644
--- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r2.ebuild
@@ -79,6 +79,7 @@ PATCHES=(
"${FILESDIR}/${PN}-9.4_p1-Allow-MAP_NORESERVE-in-sandbox-seccomp-filter-maps.patch"
"${FILESDIR}/${PN}-9.6_p1-fix-xmss-c99.patch"
"${FILESDIR}/${PN}-9.7_p1-config-tweaks.patch"
+ "${FILESDIR}/${PN}-9.8_p1-musl-connect.patch"
)
pkg_pretend() {
@@ -318,7 +319,7 @@ src_install() {
rmdir "${ED}"/var/empty || die
systemd_dounit "${FILESDIR}"/sshd.socket
- systemd_newunit "${FILESDIR}"/sshd.service.1 sshd.service
+ systemd_newunit "${FILESDIR}"/sshd.service.2 sshd.service
systemd_newunit "${FILESDIR}"/sshd_at.service.1 'sshd@.service'
# Install dropins with explicit mode, bug 906638, 915840
diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/files/rsyncd.conf-3.2.7-r5 b/sdk_container/src/third_party/portage-stable/net-misc/rsync/files/rsyncd.conf-3.2.7-r5
new file mode 100644
index 00000000000..fe9189182f8
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-misc/rsync/files/rsyncd.conf-3.2.7-r5
@@ -0,0 +1,15 @@
+# /etc/rsyncd.conf
+
+# Minimal configuration file for rsync daemon
+# See rsync(1) and rsyncd.conf(5) man pages for help
+
+# This line is required by the /etc/init.d/rsyncd script
+pid file = @GENTOO_PORTAGE_EPREFIX@/run/rsyncd.pid
+use chroot = yes
+read only = yes
+
+# Simple example for enabling your own local rsync server
+#[gentoo-portage]
+# path = @GENTOO_PORTAGE_EPREFIX@/var/db/repos/gentoo
+# comment = Gentoo ebuild repository
+# exclude = /distfiles /packages /lost+found
diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.2.7-r5.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.2.7-r5.ebuild
new file mode 100644
index 00000000000..d3fe9c36b09
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.2.7-r5.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Uncomment when introducing a patch which touches configure
+RSYNC_NEEDS_AUTOCONF=1
+PYTHON_COMPAT=( python3_{9..11} )
+inherit flag-o-matic prefix python-single-r1 systemd
+
+DESCRIPTION="File transfer program to keep remote files into sync"
+HOMEPAGE="https://rsync.samba.org/"
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/WayneD/rsync.git"
+ inherit autotools git-r3
+
+ REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/waynedavison.asc
+ inherit verify-sig
+
+ if [[ -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then
+ inherit autotools
+ fi
+
+ if [[ ${PV} == *_pre* ]] ; then
+ SRC_DIR="src-previews"
+ else
+ SRC_DIR="src"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+
+ SRC_URI="https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz
+ verify-sig? ( https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz.asc )"
+ S="${WORKDIR}"/${P/_/}
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="acl examples iconv lz4 rrsync ssl stunnel system-zlib xattr xxhash zstd"
+REQUIRED_USE+=" examples? ( ${PYTHON_REQUIRED_USE} )"
+REQUIRED_USE+=" rrsync? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=dev-libs/popt-1.5
+ acl? ( virtual/acl )
+ examples? (
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ )
+ lz4? ( app-arch/lz4:= )
+ rrsync? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/bracex[${PYTHON_USEDEP}]
+ ')
+ )
+ ssl? ( dev-libs/openssl:= )
+ system-zlib? ( sys-libs/zlib )
+ xattr? ( kernel_linux? ( sys-apps/attr ) )
+ xxhash? ( >=dev-libs/xxhash-0.8 )
+ zstd? ( >=app-arch/zstd-1.4:= )
+ iconv? ( virtual/libiconv )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ examples? ( ${PYTHON_DEPS} )
+ rrsync? ( ${PYTHON_DEPS} )
+"
+
+if [[ ${PV} == *9999 ]] ; then
+ BDEPEND+=" ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/commonmark[${PYTHON_USEDEP}]
+ ')"
+else
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-waynedavison )"
+fi
+
+PATCHES=(
+ "${FILESDIR}"/${P}-flist-memcmp-ub.patch
+ "${FILESDIR}"/${P}-fortify-source-3.patch
+ "${FILESDIR}"/${PN}-3.2.7-ipv6-configure-c99.patch
+)
+
+pkg_setup() {
+ # - USE=examples needs Python itself at runtime, but nothing else
+ # - 9999 needs commonmark at build time
+ if [[ ${PV} == *9999 ]] || use examples || use rrsync; then
+ python-single-r1_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed -i -e 's/AC_HEADER_MAJOR_FIXED/AC_HEADER_MAJOR/' configure.ac
+
+ if [[ ${PV} == *9999 || -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then
+ eaclocal -I m4
+ eautoconf -o configure.sh
+ eautoheader && touch config.h.in
+ fi
+
+ if use examples || use rrsync; then
+ python_fix_shebang support/
+ fi
+
+ if [[ -f rrsync.1 ]]; then
+ # If the pre-build rrsync.1 man page exists, then link to it
+ # from support/rrsync.1 to avoid rsync's build system attempting
+ # re-creating the man page (bug #883049).
+ ln -s ../rrsync.1 support/rrsync.1 || die
+ fi
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-rsyncd-conf="${EPREFIX}"/etc/rsyncd.conf
+ --without-included-popt
+ --enable-ipv6
+ $(use_enable acl acl-support)
+ $(use_enable iconv)
+ $(use_enable lz4)
+ $(use_with rrsync)
+ $(use_enable ssl openssl)
+ $(use_with !system-zlib included-zlib)
+ $(use_enable xattr xattr-support)
+ $(use_enable xxhash)
+ $(use_enable zstd)
+ )
+
+ # https://github.com/WayneD/rsync/pull/428
+ if is-flagq -fsanitize=undefined ; then
+ sed -E -i \
+ -e 's:#define CAREFUL_ALIGNMENT (0|1):#define CAREFUL_ALIGNMENT 1:' \
+ byteorder.h || die
+ append-flags -DCAREFUL_ALIGNMENT
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ newconfd "${FILESDIR}"/rsyncd.conf.d rsyncd
+ newinitd "${FILESDIR}"/rsyncd.init.d-r1 rsyncd
+
+ dodoc NEWS.md README.md TODO tech_report.tex
+
+ insinto /etc
+ newins "${FILESDIR}"/rsyncd.conf-3.2.7-r5 rsyncd.conf
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/rsyncd.logrotate rsyncd
+
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/rsyncd.xinetd-3.0.9-r1 rsyncd
+
+ # Install stunnel helpers
+ if use stunnel ; then
+ emake DESTDIR="${D}" install-ssl-daemon
+ fi
+
+ # Install the useful contrib scripts
+ if use examples ; then
+ # The 'rrsync' script is installed conditionally via the 'rrysnc'
+ # USE flag, and not via the 'examples' USE flag.
+ rm support/rrsync* || die
+
+ exeinto /usr/share/rsync
+ doexe support/*
+
+ rm -f "${ED}"/usr/share/rsync/{Makefile*,*.c}
+ fi
+
+ eprefixify "${ED}"/etc/{,xinetd.d}/rsyncd*
+
+ systemd_newunit packaging/systemd/rsync.service rsyncd.service
+}
+
+pkg_postinst() {
+ if grep -Eqis '^[[:space:]]use chroot[[:space:]]*=[[:space:]]*(no|0|false)' \
+ "${EROOT}"/etc/rsyncd.conf "${EROOT}"/etc/rsync/rsyncd.conf ; then
+ ewarn "You have disabled chroot support in your rsyncd.conf. This"
+ ewarn "is a security risk which you should fix. Please check your"
+ ewarn "/etc/rsyncd.conf file and fix the setting 'use chroot'."
+ fi
+
+ if use stunnel ; then
+ einfo "Please install \">=net-misc/stunnel-4\" in order to use stunnel feature."
+ einfo
+ einfo "You maybe have to update the certificates configured in"
+ einfo "${EROOT}/etc/stunnel/rsync.conf"
+ fi
+
+ if use system-zlib ; then
+ ewarn "Using system-zlib is incompatible with =rsync-3.1.1 built with bundled zlib,"
+ ewarn "and the --compress option, add --new-compress (-zz)."
+ ewarn
+ ewarn "For syncing the portage tree, add:"
+ ewarn "PORTAGE_RSYNC_EXTRA_OPTS=\"--new-compress\" to make.conf"
+ fi
+}
diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.3.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.3.0-r1.ebuild
new file mode 100644
index 00000000000..ebe9b1a3ec8
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.3.0-r1.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Uncomment when introducing a patch which touches configure
+RSYNC_NEEDS_AUTOCONF=1
+PYTHON_COMPAT=( python3_{10..12} )
+inherit flag-o-matic prefix python-single-r1 systemd
+
+DESCRIPTION="File transfer program to keep remote files into sync"
+HOMEPAGE="https://rsync.samba.org/"
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/WayneD/rsync.git"
+ inherit autotools git-r3
+
+ REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/waynedavison.asc
+ inherit verify-sig
+
+ if [[ -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then
+ inherit autotools
+ fi
+
+ if [[ ${PV} == *_pre* ]] ; then
+ SRC_DIR="src-previews"
+ else
+ SRC_DIR="src"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+
+ SRC_URI="https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz
+ verify-sig? ( https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz.asc )"
+ S="${WORKDIR}"/${P/_/}
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="acl examples iconv lz4 rrsync ssl stunnel system-zlib xattr xxhash zstd"
+REQUIRED_USE+=" examples? ( ${PYTHON_REQUIRED_USE} )"
+REQUIRED_USE+=" rrsync? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=dev-libs/popt-1.5
+ acl? ( virtual/acl )
+ examples? (
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ )
+ lz4? ( app-arch/lz4:= )
+ rrsync? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/bracex[${PYTHON_USEDEP}]
+ ')
+ )
+ ssl? ( dev-libs/openssl:= )
+ system-zlib? ( sys-libs/zlib )
+ xattr? ( kernel_linux? ( sys-apps/attr ) )
+ xxhash? ( >=dev-libs/xxhash-0.8 )
+ zstd? ( >=app-arch/zstd-1.4:= )
+ iconv? ( virtual/libiconv )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ examples? ( ${PYTHON_DEPS} )
+ rrsync? ( ${PYTHON_DEPS} )
+"
+
+if [[ ${PV} == *9999 ]] ; then
+ BDEPEND+=" ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/commonmark[${PYTHON_USEDEP}]
+ ')"
+else
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-waynedavison )"
+fi
+
+pkg_setup() {
+ # - USE=examples needs Python itself at runtime, but nothing else
+ # - 9999 needs commonmark at build time
+ if [[ ${PV} == *9999 ]] || use examples || use rrsync; then
+ python-single-r1_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed -i -e 's/AC_HEADER_MAJOR_FIXED/AC_HEADER_MAJOR/' configure.ac
+
+ if [[ ${PV} == *9999 || -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then
+ eaclocal -I m4
+ eautoconf -o configure.sh
+ eautoheader && touch config.h.in
+ fi
+
+ if use examples || use rrsync; then
+ python_fix_shebang support/
+ fi
+
+ if [[ -f rrsync.1 ]]; then
+ # If the pre-build rrsync.1 man page exists, then link to it
+ # from support/rrsync.1 to avoid rsync's build system attempting
+ # re-creating the man page (bug #883049).
+ ln -s ../rrsync.1 support/rrsync.1 || die
+ fi
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-rsyncd-conf="${EPREFIX}"/etc/rsyncd.conf
+ --without-included-popt
+ --enable-ipv6
+ $(use_enable acl acl-support)
+ $(use_enable iconv)
+ $(use_enable lz4)
+ $(use_with rrsync)
+ $(use_enable ssl openssl)
+ $(use_with !system-zlib included-zlib)
+ $(use_enable xattr xattr-support)
+ $(use_enable xxhash)
+ $(use_enable zstd)
+ )
+
+ # https://github.com/WayneD/rsync/pull/428
+ if is-flagq -fsanitize=undefined ; then
+ sed -E -i \
+ -e 's:#define CAREFUL_ALIGNMENT (0|1):#define CAREFUL_ALIGNMENT 1:' \
+ byteorder.h || die
+ append-flags -DCAREFUL_ALIGNMENT
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ newconfd "${FILESDIR}"/rsyncd.conf.d rsyncd
+ newinitd "${FILESDIR}"/rsyncd.init.d-r1 rsyncd
+
+ dodoc NEWS.md README.md TODO tech_report.tex
+
+ insinto /etc
+ newins "${FILESDIR}"/rsyncd.conf-3.2.7-r5 rsyncd.conf
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/rsyncd.logrotate rsyncd
+
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/rsyncd.xinetd-3.0.9-r1 rsyncd
+
+ # Install stunnel helpers
+ if use stunnel ; then
+ emake DESTDIR="${D}" install-ssl-daemon
+ fi
+
+ # Install the useful contrib scripts
+ if use examples ; then
+ # The 'rrsync' script is installed conditionally via the 'rrysnc'
+ # USE flag, and not via the 'examples' USE flag.
+ rm support/rrsync* || die
+
+ exeinto /usr/share/rsync
+ doexe support/*
+
+ rm -f "${ED}"/usr/share/rsync/{Makefile*,*.c}
+ fi
+
+ eprefixify "${ED}"/etc/{,xinetd.d}/rsyncd*
+
+ systemd_newunit packaging/systemd/rsync.service rsyncd.service
+}
+
+pkg_postinst() {
+ if grep -Eqis '^[[:space:]]use chroot[[:space:]]*=[[:space:]]*(no|0|false)' \
+ "${EROOT}"/etc/rsyncd.conf "${EROOT}"/etc/rsync/rsyncd.conf ; then
+ ewarn "You have disabled chroot support in your rsyncd.conf. This"
+ ewarn "is a security risk which you should fix. Please check your"
+ ewarn "/etc/rsyncd.conf file and fix the setting 'use chroot'."
+ fi
+
+ if use stunnel ; then
+ einfo "Please install \">=net-misc/stunnel-4\" in order to use stunnel feature."
+ einfo
+ einfo "You maybe have to update the certificates configured in"
+ einfo "${EROOT}/etc/stunnel/rsync.conf"
+ fi
+
+ if use system-zlib ; then
+ ewarn "Using system-zlib is incompatible with =rsync-3.1.1 built with bundled zlib,"
+ ewarn "and the --compress option, add --new-compress (-zz)."
+ ewarn
+ ewarn "For syncing the portage tree, add:"
+ ewarn "PORTAGE_RSYNC_EXTRA_OPTS=\"--new-compress\" to make.conf"
+ fi
+}
diff --git a/sdk_container/src/third_party/portage-stable/net-misc/whois/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/whois/Manifest
index b12bcc0f261..815ef1fa07e 100644
--- a/sdk_container/src/third_party/portage-stable/net-misc/whois/Manifest
+++ b/sdk_container/src/third_party/portage-stable/net-misc/whois/Manifest
@@ -1,2 +1,3 @@
DIST whois-5.5.20.tar.gz 109648 BLAKE2B 17b6a795ac517a81cde44530df3e835cccc020a1750ab28d50551a7bd08d132aa10768ff146b0a7943a8348cc7f3f3f7096262caf1d91fbb2d3610ae9f6473e8 SHA512 1d602ec817411a36b3d175e34f166c06186639f4eeea145751decc45372953df40fc76b57c7589d93c49ab0be1276459dffc6424a4344ddbca23f35a9f492fc7
DIST whois-5.5.21.tar.gz 109621 BLAKE2B b1cf42f1a60e5009e5882f154432d5974f45c1bf89d8b36b73f6e5f55ff2dba02e8ca7900926d2824200f5422d5e9f00abde524d4e2d8a25ba37376cc2e8d04a SHA512 4f3ffbd875df89e910aa9d20616f2d04e773d3e5cd0c5d0262dca481fd6228214033b854ac4eebe078cfde14ab90429d826f24ce6c21ec14cfe8ad56e78ae6e9
+DIST whois-5.5.23.tar.gz 109709 BLAKE2B 4985c26b90d8afa678e8cdca2b25f7b5a55c300555c5ac1595ff0c35fb65e35bf6e5dc5733e0364172fecdc2071565f08d1fb38ff5b9671714792d6b7baa2a63 SHA512 6e2caf1ce28edcd561287ea7a072a069851caee42fd47850b8555e03dd353ad79a338ceae2f9b8fa98c0e06a16dbeef5a7a6d422a76d8a141c92d8e9e82aebc3
diff --git a/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.23.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.23.ebuild
new file mode 100644
index 00000000000..afbc87e1ae4
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.23.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 toolchain-funcs
+
+MY_P=${P/-/_}
+DESCRIPTION="Improved Whois Client"
+HOMEPAGE="https://github.com/rfc1036/whois"
+
+if [[ ${PV} == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/rfc1036/whois.git"
+else
+ #SRC_URI="mirror://debian/pool/main/w/whois/${MY_P}.tar.xz"
+ SRC_URI="https://github.com/rfc1036/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ #S="${WORKDIR}"/${PN}
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="iconv idn nls xcrypt"
+
+RDEPEND="
+ iconv? ( virtual/libiconv )
+ idn? ( net-dns/libidn2:= )
+ nls? ( virtual/libintl )
+ xcrypt? ( >=sys-libs/libxcrypt-4.1:= )
+ !xcrypt? ( virtual/libcrypt:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-arch/xz-utils
+ >=dev-lang/perl-5
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.7.2-config-file.patch
+ "${FILESDIR}"/${PN}-5.3.0-libidn_automagic.patch
+ "${FILESDIR}"/${PN}-5.5.6-libxcrypt_automagic.patch
+)
+
+src_prepare() {
+ default
+
+ if use nls ; then
+ sed -i -e 's:#\(.*pos\):\1:' Makefile || die
+ else
+ sed -i -e '/ENABLE_NLS/s:define:undef:' config.h || die
+
+ # don't generate po files when nls is disabled (bug #419889)
+ sed -i -e '/^all:/s/ pos//' \
+ -e '/^install:/s/ install-pos//' Makefile || die
+ fi
+}
+
+src_configure() { :; } # expected no-op
+
+src_compile() {
+ unset HAVE_ICONV HAVE_LIBIDN
+
+ use iconv && export HAVE_ICONV=1
+ use idn && export HAVE_LIBIDN=1
+ use xcrypt && export HAVE_XCRYPT=1
+
+ tc-export CC
+
+ emake CFLAGS="${CFLAGS} ${CPPFLAGS}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" BASHCOMPDIR="$(get_bashcompdir)" install
+
+ insinto /etc
+ doins whois.conf
+ dodoc README debian/changelog
+}
diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r3.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r3.ebuild
index c151ba02fdc..5e781e7012d 100644
--- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r3.ebuild
+++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r3.ebuild
@@ -26,7 +26,7 @@ S="${WORKDIR}"/${PN}-OPENLDAP_REL_ENG_${MY_PV}
LICENSE="OPENLDAP GPL-2"
# Subslot added for bug #835654
SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd"
IUSE_OVERLAY="overlays perl autoca"
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/package.use.mask
index 7ac2cf5bbcc..588fd006d37 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/package.use.mask
@@ -1,6 +1,22 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Leonardo Hernández Hernández (2024-07-07)
+# media-libs/quirc and media-sound/liblc3 are not keyworded here
+media-video/ffmpeg quirc liblc3
+
+# matoro (2024-07-03)
+# Requires dev-util/shelltestrunner
+app-arch/mt-st test
+
+# Arthur Zamarin (2024-07-04)
+# kde-frameworks/kservice not keyworded here
+x11-misc/xdg-utils plasma
+
+# Arthur Zamarin (2024-07-03)
+# dev-python/redis lacks keywords here
+mail-filter/pyzor redis test
+
# Andreas Sturmlechner (2024-06-29)
# media-libs/libplacebo is not keyworded
media-video/ffmpeg libplacebo
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/no-multilib/package.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/no-multilib/package.mask
index eb5dc6e238e..2157355baba 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/no-multilib/package.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/no-multilib/package.mask
@@ -78,7 +78,6 @@ games-rpg/eschalon-book-1-demo
games-rpg/wasteland2
games-server/etqw-ded
games-strategy/darwinia
-games-strategy/darwinia-demo
games-strategy/dominions2
games-strategy/knights-demo
games-strategy/majesty-demo
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.force b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.force
index 5c9f06cdb0c..85659560a1e 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.force
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.force
@@ -1,6 +1,11 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# James Le Cuirot (2024-07-02)
+# Needed to build gcc. Force here rather than using BDEPEND to simplify
+# cross-compile scenarios.
+sys-devel/binutils cet
+
# Michał Górny (2023-10-06)
# Require ABIs matching MULTILIB_ABIS in gcc dependencies -- otherwise
# sys-devel/gcc[multilib] (which is forced) will fail late in build.
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask
index 19d17279082..67bacefa97e 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask
@@ -17,8 +17,12 @@
#--- END OF EXAMPLES ---
+# Zen (2024-07-01)
+# Unmask the ugrd flag for installkernel. It is keyworded here
+sys-kernel/installkernel -ugrd
+
# Andreas Sturmlechner (2024-06-23)
-# Pulls in kde-apps/kgpg is keyworded here
+# Pulls in kde-apps/kgpg which is keyworded here
>=kde-apps/kdeutils-meta-24.05.1 -gpg
# Jared Allard (2024-06-21)
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.stable.mask
index 5be319fb399..3fabf46299c 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.stable.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.stable.mask
@@ -17,6 +17,10 @@
#--- END OF EXAMPLES ---
+# Zen (2024-07-01)
+# UGRD support is still experimental, no stable keywords for now
+sys-kernel/installkernel ugrd
+
# Andrew Ammerlaan (2024-03-17)
# Experimental, virt-firmware is keyworded only unstable
sys-kernel/installkernel efistub
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.mask
index 864b43d5f5d..f3d2a819b19 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.mask
@@ -102,6 +102,7 @@ kde-apps/cantor
kde-apps/eventviews
kde-apps/grantlee-editor
kde-apps/incidenceeditor
+kde-apps/kaccounts-integration:6
kde-apps/kaccounts-providers
kde-apps/kaddressbook
kde-apps/kalarm
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.use.mask
index 79de1712fa2..a5e47f6be8d 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.use.mask
@@ -1,6 +1,13 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Andreas Sturmlechner (2024-07-01)
+# USE="kf6compat,kaccounts" depends on kde-frameworks/purpose:6[webengine]
+# which is package.use.mask'ed on these arches. We cannot mask the
+# combination specifically but in reality kaccounts is useless without
+# additional dev-qt/qtwebengine revdeps.
+kde-frameworks/purpose:5 kaccounts
+
# Ben Kohler (2024-05-27)
# Runtime issues (bug #925115) and build issues (bug #931092)
dev-libs/libpcre2 jit
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask
index 03ec1adc1a3..00ccc923045 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask
@@ -1,6 +1,19 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# matoro (2024-07-14)
+# Abandoned upstream, does not take bug reports, unsupported in Gentoo.
+# Only remaining use is as a requirement for dev-lang/go on arm{,64}.
+# See #934149, #934151, #936022, #936021
+sys-devel/binutils -gold
+
+# Andreas Sturmlechner (2024-07-01)
+# USE="kf6compat,kaccounts" depends on kde-frameworks/purpose:6[webengine]
+# which is package.use.mask'ed on these arches. We cannot mask the
+# combination specifically but in reality kaccounts is useless without
+# additional dev-qt/qtwebengine revdeps.
+kde-frameworks/purpose:5 kaccounts
+
# Sam James (2024-06-13)
# Needs as-yet-unkeyworded KF6 (bug #934215)
app-crypt/pinentry qt6
@@ -281,10 +294,6 @@ media-tv/tvheadend hdhomerun
# smallest wav files.
media-sound/xmms2 mac
-# Michał Górny (2017-08-08)
-# Requires USE=opencl that is masked in this profile.
-net-misc/bfgminer adl lm-sensors
-
# Patrice Clement (2017-04-09)
# Enable MQTT support on supported architectures
app-metrics/collectd -collectd_plugins_mqtt
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask
index d83b2e00517..84303ae9860 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask
@@ -1,15 +1,20 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Andrew Ammerlaan (2024-07-16)
+# Unmask the ugrd flag for installkernel. It is keyworded here
+sys-kernel/installkernel -ugrd
+
+# matoro (2024-07-14)
+# Abandoned upstream, does not take bug reports, unsupported in Gentoo.
+# Only remaining use is as a requirement for dev-lang/go on arm{,64}.
+# See #934149, #934151, #936022, #936021
+sys-devel/binutils -gold
+
# Andreas Sturmlechner (2024-06-23)
-# Pulls in kde-apps/kgpg is keyworded here
+# Pulls in kde-apps/kgpg which is keyworded here
>=kde-apps/kdeutils-meta-24.05.1 -gpg
-# Sam James (2024-06-13)
-# Needs as-yet-unkeyworded KF6 (bug #934215)
-app-crypt/pinentry qt6
-app-office/libreoffice qt6
-
# Ionen Wolkens (2024-05-19)
# jit is supported here
>=dev-qt/qtdeclarative-6 -jit
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.stable.mask
index 75d33815b7e..469fa170cab 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.stable.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.stable.mask
@@ -1,6 +1,10 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Andrew Ammerlaan (2024-07-16)
+# UGRD support is still experimental, no stable keywords for now
+sys-kernel/installkernel ugrd
+
# Eray Aslan (2024-06-17)
# mongodb needed for tests which is not stable keyworded for arm64
dev-libs/mongo-c-driver test
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/use.mask
index 7a6b867544d..964b358c1de 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/use.mask
@@ -4,10 +4,6 @@
# Unmask the flag which corresponds to ARCH.
-arm64
-# Sam James (2024-06-13)
-# Needs as-yet-unkeyworded KF6 (bug #934215)
-kf6compat
-
# Paul Zander (2024-03-28)
# dev-libs/optix works on arm64
-optix
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask
index 6dee4d24661..eccb6c4c756 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask
@@ -1,6 +1,17 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# matoro (2024-07-14)
+# Abandoned upstream, does not take bug reports, unsupported in Gentoo.
+# Only remaining use is as a requirement for dev-lang/go on arm{,64}.
+# See #934149, #934151, #936022, #936021
+sys-devel/binutils default-gold gold
+sys-devel/binutils-hppa64 default-gold gold
+
+# Zen (2024-07-01)
+# UGRD is not keyworded everywhere yet
+sys-kernel/installkernel ugrd
+
# Andreas Sturmlechner (2024-06-23)
# Pulls in kde-apps/kgpg which requires kde-apps/akonadi, which is as
# part of the KDE PIM stack (big, requiring QtWebengine) only keyworded
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask
index 54c9a841a62..2128712aefb 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask
@@ -4,6 +4,14 @@
# NOTE: When masking a USE flag due to missing keywords, please file a keyword
# request bug for the hppa arch.
+# Leonardo Hernández Hernández (2024-07-07)
+# media-libs/quirc and media-sound/liblc3 are not keyworded here
+media-video/ffmpeg quirc liblc3
+
+# Sam James (2024-07-03)
+# kde-frameworks/kservice not keyworded here
+x11-misc/xdg-utils plasma
+
# Sam James (2024-06-19)
# The systemd implementation of installkernel doesn't currently support
# updating the 'initramfs.img' and 'vmlinuz' symlinks that palo needs,
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/ia64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/ia64/package.use.mask
index 5a441ff8778..3681018251c 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/ia64/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/ia64/package.use.mask
@@ -1,6 +1,14 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Leonardo Hernández Hernández (2024-07-07)
+# media-libs/quirc and media-sound/liblc3 are not keyworded here
+media-video/ffmpeg quirc liblc3
+
+# Sam James (2024-07-03)
+# kde-frameworks/kservice not keyworded here
+x11-misc/xdg-utils plasma
+
# Andreas Sturmlechner (2024-06-29)
# media-libs/libplacebo is not keyworded
media-video/ffmpeg libplacebo
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.mask
index 64a71be3169..851c55b9da2 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.mask
@@ -1,6 +1,13 @@
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Andreas Sturmlechner (2024-07-01)
+# USE="kf6compat,kaccounts" depends on kde-frameworks/purpose:6[webengine]
+# which is package.use.mask'ed on these arches. We cannot mask the
+# combination specifically but in reality kaccounts is useless without
+# additional dev-qt/qtwebengine revdeps.
+kde-frameworks/purpose:5 kaccounts
+
# Andreas Sturmlechner (2024-06-15)
# Requires unkeyworded dev-qt/qtwebengine (and revdeps)
kde-plasma/plasma-nm openconnect
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/package.use.mask
index 5dcd046b960..5351d18a96b 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/package.use.mask
@@ -1,6 +1,11 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# James Le Cuirot (2024-07-13)
+# These tests pass, but the net-misc/memcached tests do not, so we should not
+# keyword memcached-related packages such as dev-python/pylibmc.
+dev-python/pytest-services test
+
# Michał Górny (2024-05-08)
# Requires sys-devel/{clang,llvm}:16.
dev-lang/python jit
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask
index 54c538bbcc0..ebb4e48d286 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask
@@ -1,6 +1,14 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Arthur Zamarin (2024-07-05)
+# Avoid unkeyworded media-gfx/libimagequant
+dev-python/pillow imagequant
+
+# Arthur Zamarin (2024-07-04)
+# kde-frameworks/kservice not keyworded here
+x11-misc/xdg-utils plasma
+
# Arthur Zamarin (2024-07-01)
# simplify the dep tree
dev-python/click doc
@@ -14,6 +22,7 @@ dev-python/pytest-cov doc
dev-python/pytest-trio doc
dev-python/stevedore doc
dev-python/sphinx-autodoc-typehints test
+dev-util/maturin doc
# Andreas Sturmlechner (2024-06-29)
# media-libs/libplacebo is not keyworded
@@ -201,10 +210,6 @@ media-libs/sdl-mixer midi
# Moved from use.mask since they are flags local to one package.
sys-kernel/mips-sources -ip27 -ip28 -ip30
-# Michał Górny (2017-08-08)
-# Requires USE=opencl that is masked in this profile.
-net-misc/bfgminer adl lm-sensors
-
# Mart Raudsepp (2017-05-27)
# app-pda/libimobiledevice, app-pda/libplist and co not tested
sys-power/upower ios
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.mask
index 09ee3b610ae..9c9ec829656 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.mask
@@ -1,6 +1,17 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# matoro (2024-07-09)
+# Known to crash on boot for at least ppc64le w/ 64k kernel,
+# possibly other powerpc arches. Masking out of caution.
+# https://lore.kernel.org/stable/20240705203413.wbv2nw3747vjeibk@altlinux.org/
+=sys-kernel/gentoo-kernel-6.6.37
+=sys-kernel/gentoo-kernel-bin-6.6.37
+=sys-kernel/gentoo-sources-6.6.37
+=sys-kernel/vanilla-kernel-6.6.37
+=sys-kernel/vanilla-sources-6.6.37
+=virtual/dist-kernel-6.6.37
+
# Georgy Yakovlev (2020-09-22)
# criu does not work on ppc64be and ppc32
sys-process/criu
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask
index 5d7ca61a7c2..9b8ff7889bf 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask
@@ -272,10 +272,6 @@ app-i18n/fcitx-libpinyin dictionary-manager
# Requires java
app-forensics/sleuthkit java
-# Michał Górny (2017-08-08)
-# Requires USE=opencl that is masked in this profile.
-net-misc/bfgminer adl lm-sensors
-
# Michał Górny (2017-03-24)
# libcxx fails to compile on ppc*, #595744.
sys-devel/clang-common default-libcxx
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask
index 04e24221802..c0c8e3380d3 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask
@@ -1,6 +1,16 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Sam James (2024-07-03)
+# kde-frameworks/kservice not keyworded here
+x11-misc/xdg-utils plasma
+
+# Ionen Wolkens (2024-07-02)
+# Needs dev-qt/qtquick3d:6 which itself needs media-libs/assimp that
+# is no longer keyworded here and currently fails tests (bug #935313).
+dev-python/PyQt6 quick3d
+dev-qt/qtmultimedia:6 qml
+
# Sam James (2024-05-19)
# media-libs/jasper not yet keyworded here: https://bugs.gentoo.org/921559
media-gfx/graphicsmagick jpeg2k
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/use.stable.mask
index ba9425aa2ac..848b8db5a59 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/use.stable.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/use.stable.mask
@@ -1,10 +1,6 @@
# Copyright 2014-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-# Ionen Wolkens (2024-06-09)
-# Qt6 is not stable here yet
-qt6
-
# Sam James (2024-03-07)
# dev-lang/php:8.2 is not marked stable here yet (bug #920701)
php_targets_php8-2
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask
index e57bdf031e2..d8509252423 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask
@@ -1,6 +1,13 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Andreas Sturmlechner (2024-07-01)
+# USE="kf6compat,kaccounts" depends on kde-frameworks/purpose:6[webengine]
+# which is package.use.mask'ed on these arches. We cannot mask the
+# combination specifically but in reality kaccounts is useless without
+# additional dev-qt/qtwebengine revdeps.
+kde-frameworks/purpose:5 kaccounts
+
# Sam James (2024-06-13)
# Needs as-yet-unkeyworded KF6 (bug #934215)
app-crypt/pinentry qt6
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask
index 1347f6f7f0d..e3bcc07a890 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask
@@ -1,15 +1,21 @@
# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Andreas Sturmlechner (2024-07-06)
+# KDE PIM is not keyworded here
+kde-apps/libkgapi:5 kf6compat
+
+# Andreas Sturmlechner (2024-07-01)
+# USE="kf6compat,kaccounts" depends on kde-frameworks/purpose:6[webengine]
+# which is package.use.mask'ed on these arches. We cannot mask the
+# combination specifically but in reality kaccounts is useless without
+# additional dev-qt/qtwebengine revdeps.
+kde-frameworks/purpose:5 kaccounts
+
# Andreas Sturmlechner (2024-06-15)
# Requires unkeyworded dev-qt/qtwebengine (and revdeps)
kde-plasma/plasma-nm openconnect
-# Sam James (2024-06-13)
-# Needs as-yet-unkeyworded KF6 (bug #934215)
-app-crypt/pinentry qt6
-app-office/libreoffice qt6
-
# Sam James (2024-05-19)
# media-libs/jasper not yet keyworded here: https://bugs.gentoo.org/921559
media-gfx/graphicsmagick jpeg2k
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/use.mask
index 87b8093152c..00ac5effb49 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/use.mask
@@ -4,10 +4,6 @@
# Unmask the flag which corresponds to ARCH.
-riscv
-# Sam James (2024-06-13)
-# Needs as-yet-unkeyworded KF6 (bug #934215)
-kf6compat
-
# Andrew Ammerlaan (2023-07-11)
# Unmask secureboot flag on arches where sbsigntools is keyworded
-secureboot
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask
index b0cfa527331..81ae78eec6f 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask
@@ -1,6 +1,10 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Sam James (2024-07-03)
+# kde-frameworks/kservice not keyworded here
+x11-misc/xdg-utils plasma
+
# Michał Górny (2024-05-08)
# Requires sys-devel/{clang,llvm}:16.
dev-lang/python jit
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask
index 854e02445f1..b94b2a1601f 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask
@@ -1,6 +1,10 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Sam James (2024-07-03)
+# kde-frameworks/kservice not keyworded here
+x11-misc/xdg-utils plasma
+
# Andreas Sturmlechner (2024-06-29)
# media-libs/libplacebo is not keyworded here
media-video/ffmpeg libplacebo
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask
index a3cd3a02864..cd23f6c3efe 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask
@@ -1,10 +1,36 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-# Sam James (2024-06-13)
-# Needs as-yet-unkeyworded KF6 (bug #934215)
-app-crypt/pinentry qt6
-app-office/libreoffice qt6
+# Andreas Sturmlechner (2024-07-12)
+# Need as-yet-unkeyworded KF6-based counterparts (bug #934361)
+kde-apps/libkcddb kf6compat
+kde-apps/libkcompactdisc kf6compat
+kde-apps/libksane kf6compat
+net-misc/kio-zeroconf kf6compat
+
+# Andreas Sturmlechner (2024-07-12)
+# KDE PIM 6 is not being keyworded here
+kde-apps/libkgapi:5 kf6compat
+
+# Michael Orlitzky (2024-07-09)
+# The opcache extension fails to build on hardened x86, but only
+# if the JIT is enabled. Bug 930145.
+dev-lang/php opcache-jit
+
+# Arthur Zamarin (2024-07-04)
+# app-office/lyx is unavailable on x86
+dev-tex/abntex lyx
+
+# Andreas Sturmlechner (2024-07-01)
+# USE="kf6compat,kaccounts" depends on kde-frameworks/purpose:6[webengine]
+# which is package.use.mask'ed on these arches. We cannot mask the
+# combination specifically but in reality kaccounts is useless without
+# additional dev-qt/qtwebengine revdeps.
+kde-frameworks/purpose:5 kaccounts
+
+# Paul Zander (2024-06-17)
+# missing keywords on dev-python/PyQt6
+sci-geosciences/qgis qt6
# José de Paula R. N. Assis (2024-03-25)
# No PyQt6 (which is needed by USE=qt6 for qscintilla-python) on x86.
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.stable.mask
index 7a39da3cbf1..e3117529b9f 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.stable.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.stable.mask
@@ -17,14 +17,14 @@
#--- END OF EXAMPLES ---
+# Matt Turner (2024-07-14)
+# spirv-llvm-translator < 17 is not stable on x86.
+ (2024-04-30)
# sys-block/nbdkit is not yet marked stable here
app-emulation/libvirt nbd
-# Matt Turner (2024-04-25)
-# spirv-llvm-translator is not stable on x86.
-dev-libs/libclc spirv
-
# Andrew Ammerlaan (2024-03-21)
# Experimental, virt-firmware is keyworded only unstable
sys-kernel/installkernel efistub
diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/use.mask
index 2ef0d8e9161..2157622d2e3 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/use.mask
@@ -4,10 +4,6 @@
# Unmask the flag which corresponds to ARCH.
-x86
-# Sam James (2024-06-13)
-# Needs as-yet-unkeyworded KF6 (bug #934215)
-kf6compat
-
# Paul Zander (2024-04-14)
# media-libs/quirc is keyworded on amd64
-quirc
diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask
index cb89826a5cb..6b773b62530 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask
@@ -6,6 +6,13 @@
# This file is only for generic masks. For arch-specific masks (i.e.
# mask everywhere, unmask on arch/*) use arch/base.
+# Maciej Mrozowski (2024-07-14)
+# Fails with newer ffmpeg, bug #831486
+# Not needed by reverse deps as of 2024-07-14. Re-enable when
+# https://github.com/openscenegraph/OpenSceneGraph/pull/1281 or
+# similar effort is upstreamed
+dev-games/openscenegraph ffmpeg
+
# Michał Górny (2024-06-29)
# JIT is experimental and prone to break packages. Should you choose
# to use it, please do not file Gentoo bugs and report any issues you
@@ -213,7 +220,6 @@ net-misc/curl sslv3
# Volkmar W. Pogatzki (2023-05-04)
# No suitable version of dev-libs/protobuf available.
->=dev-java/protobuf-java-3.24.2 system-protoc
=dev-java/protobuf-java-3.23.0 system-protoc
# Joonas Niilola (2023-06-06)
diff --git a/sdk_container/src/third_party/portage-stable/profiles/desc/l10n.desc b/sdk_container/src/third_party/portage-stable/profiles/desc/l10n.desc
index 8507b4ecd5b..e37807f4a3e 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/desc/l10n.desc
+++ b/sdk_container/src/third_party/portage-stable/profiles/desc/l10n.desc
@@ -1,4 +1,4 @@
-# Copyright 2016-2022 Gentoo Authors
+# Copyright 2016-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# This file contains descriptions of L10N USE_EXPAND flags.
@@ -188,6 +188,7 @@ sd - Sindhi
si - Sinhala
sid - Sidamo
sk - Slovak
+skr - Saraiki
sl - Slovenian
sml - Central Sama
sn - Shona
diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.mask b/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.mask
index e285ef20c4d..1e9525c6e83 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.mask
@@ -53,6 +53,7 @@ kde-apps/knotes
kde-apps/kdepim-meta
kde-apps/kdepim-addons
kde-apps/kaddressbook
+kde-apps/kaccounts-integration:6
kde-apps/kaccounts-providers
kde-apps/akonadiconsole
kde-apps/akonadi-calendar
diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/hardened/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/features/hardened/make.defaults
index 8843d9bdb2c..431f75d3915 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/features/hardened/make.defaults
+++ b/sdk_container/src/third_party/portage-stable/profiles/features/hardened/make.defaults
@@ -12,7 +12,7 @@ USE="hardened pic xtpax -jit -orc"
# This variable can be leveraged in ebuilds for pkg_postinst messages that
# indicate said package is, say, configured in a way that defeats the purpose
# of running hardened.
-PROFILE_IS_HARDENED=1
+PROFILE_IS_HARDENED="1"
# We set the default markings to none
PAX_MARKINGS="none"
diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/llvm/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/features/llvm/make.defaults
index defd200ce9d..f36599c1e30 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/features/llvm/make.defaults
+++ b/sdk_container/src/third_party/portage-stable/profiles/features/llvm/make.defaults
@@ -31,7 +31,7 @@ ADDR2LINE="llvm-addr2line"
# Rust needs this to build some crates (like uutils)
# https://github.com/rust-lang/rust/blob/master/compiler/rustc_llvm/build.rs
-LLVM_USE_LIBCXX=1
+LLVM_USE_LIBCXX="1"
# https://github.com/rust-lang/cc-rs#c-support
# https://github.com/rust-lang/cc-rs/blob/main/src/lib.rs
CXXSTDLIB="c++"
diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask
index b9e64b3d1b0..504e2862295 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask
@@ -28,10 +28,6 @@ app-emulation/protontricks
# Mask until execinfo.h use can be properly patched, bug #853856
media-gfx/renderdoc
-# Maciej Barć (2024-03-23)
-# Binary package, which is compiled against glibc
-www-apps/jellyfin-bin
-
# Arthur Zamarin (2024-03-15)
# Needs ada
sci-electronics/ghdl
@@ -76,15 +72,6 @@ games-strategy/seven-kingdoms
# this time. (#925547)
app-arch/lrzip-next
-# Marek Szuba (2024-02-18)
-# Binary-only packages linked against glibc
-net-analyzer/nessus-agent-bin
-net-analyzer/nessus-bin
-
-# Marc Schiffbauer (2024-02-16)
-# Binary package, which is compiled against glibc
-app-editors/logseq-desktop-bin
-
# Christopher Fore (2024-01-24)
# >=sys-fs/bcachefs-tools-1.4.1 uses functions currently not in Musl
# https://github.com/koverstreet/bcachefs-tools/issues/213
@@ -95,34 +82,10 @@ app-editors/logseq-desktop-bin
# which are not available on musl.
net-misc/mcproxy
-# Giuseppe Foti (2024-01-22)
-# Binary package, which is compiled against glibc
-app-office/drawio-desktop-bin
-
-# Maciej Barć (2024-01-06)
-# Binary package, which is compiled against glibc
-app-office/joplin-desktop
-
-# Maciej Barć (2024-01-06)
-# Binary package, which is compiled against glibc
-dev-util/azuredatastudio
-
# Florian Schmaus (2023-11-22)
# Requires systemd which is not supported on musl.
sys-power/sandmann-bin
-# Maciej Barć (2023-09-16)
-# Binary package, which is compiled against glibc
-dev-lang/dafny-bin
-
-# Maciej Barć (2023-09-16)
-# Binary package, which is compiled against glibc
-app-shells/pwsh-bin
-
-# Maciej Barć (2023-07-01)
-# Binary package, which is compiled against glibc
-games-util/heroic-bin
-
# Brahmajit Das (2023-06-15)
# The package uses innetgr which is not available in musl, bug 898556
# The package is only for long-obsolete polkit policies anyway.
@@ -136,14 +99,6 @@ sys-auth/polkit-pkla-compat
# Mask until execinfo.h use can be properly patched, bug #877721 and #903689.
dev-scheme/guile-ssh
-# Conrad Kostecki (2023-03-01)
-# Binary package, which is compiled against glibc
-sys-block/arcconf
-
-# Conrad Kostecki (2023-03-01)
-# Binary package, which is compiled against glibc
-sys-apps/smcipmitool
-
# Alfredo Tupone (2023-02-27)
# Uses dev-util/nvidia-cuda-sdk
dev-libs/cutlass
@@ -236,13 +191,19 @@ app-benchmarks/geekbench
app-benchmarks/geekbench-ml
app-crypt/rainbowcrack
app-crypt/yubioath-flutter-bin
+app-editors/logseq-desktop-bin
app-editors/sublime-text
app-editors/vscode
app-editors/vscodium
app-emulation/crossover-bin
+app-emulation/genymotion-bin
app-misc/kryoflux-dtc
+app-office/drawio-desktop-bin
+app-office/joplin-desktop
app-office/libreoffice-bin
app-office/libreoffice-bin-debug
+app-office/onlyoffice-bin
+app-shells/pwsh-bin
app-text/master-pdf-editor
app-text/zotero-bin
dev-db/ocp
@@ -251,11 +212,13 @@ dev-db/sqlcl-bin
dev-games/ps2-packer
dev-java/openjdk-bin
dev-java/openjdk-jre-bin
+dev-lang/dafny-bin
dev-libs/luise
dev-libs/nwjs
dev-perl/Lab-Zhinst
dev-php/PEAR-MDB2_Driver_oci8
dev-python/pyzotero
+dev-util/azuredatastudio
dev-util/idea-community
games-action/a-story-about-my-uncle
games-action/badland
@@ -306,9 +269,9 @@ games-server/steamcmd
games-server/ut2004-ded
games-simulation/slime-rancher
games-strategy/darwinia
-games-strategy/darwinia-demo
games-strategy/knights-demo
games-strategy/majesty-demo
+games-util/heroic-bin
gnome-extra/nautilus-dropbox
kde-apps/dolphin-plugins-dropbox
mail-client/thunderbird-bin
@@ -322,6 +285,8 @@ media-video/amdgpu-pro-amf
media-video/dvbackup
media-video/makemkv
media-video/popcorntime-bin
+net-analyzer/nessus-agent-bin
+net-analyzer/nessus-bin
net-im/discord
net-im/element-desktop-bin
net-im/gitter-bin
@@ -352,11 +317,14 @@ sci-misc/jupyterlab-desktop-bin
sci-misc/netlogo-bin
sys-apps/intune-portal
sys-apps/ipmicfg
+sys-apps/smcipmitool
sys-apps/tas
+sys-block/arcconf
sys-block/hpssacli
sys-block/megacli
www-apps/chromedriver-bin
www-apps/grafana-bin
+www-apps/jellyfin-bin
www-apps/kibana-bin
www-client/firefox-bin
www-client/google-chrome
diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/prefix/standalone/kernel-2.6.16+/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/features/prefix/standalone/kernel-2.6.16+/make.defaults
index 4f609222644..b98ce4ffc95 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/features/prefix/standalone/kernel-2.6.16+/make.defaults
+++ b/sdk_container/src/third_party/portage-stable/profiles/features/prefix/standalone/kernel-2.6.16+/make.defaults
@@ -13,10 +13,10 @@
# utimensat is missing or not reliable until linux-2.6.32.
# needed by python-3.
# lutimes requires utimensat
-ac_cv_func_utimensat=no
-ac_cv_func_lutimes=no
+ac_cv_func_utimensat="no"
+ac_cv_func_lutimes="no"
# pipe2 and dup3 requires >=linux-2.6.27. Needed by python-3.
-ac_cv_func_pipe2=no
-ac_cv_func_dup3=no
+ac_cv_func_pipe2="no"
+ac_cv_func_dup3="no"
# epoll_create1 requires >=linux-2.6.27.
-ac_cv_func_epoll_create1=no
+ac_cv_func_epoll_create1="no"
diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/prefix/standalone/kernel-2.6.32+/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/features/prefix/standalone/kernel-2.6.32+/make.defaults
index 056f07700a5..33e139f1ded 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/features/prefix/standalone/kernel-2.6.32+/make.defaults
+++ b/sdk_container/src/third_party/portage-stable/profiles/features/prefix/standalone/kernel-2.6.32+/make.defaults
@@ -1,4 +1,4 @@
# This profile is supporting >=linux-2.6.32[a] and =dev-vcs/stgit-2
>=games-board/gnome-mahjongg-3.40.0
+>=games-puzzle/swell-foop-46
gnome-base/gdm
>=gnome-base/gnome-core-apps-3.36.5
>=gnome-base/gnome-core-libs-3.36.5
diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask
index b253ee7d0da..4848ad8b6b7 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask
@@ -196,7 +196,9 @@ dev-vcs/mercurial rust
# Joonas Niilola (2020-10-02)
# Sam James (2021-03-11)
+# Michael Orlitzky (2024-07-09)
# Dependency only keyworded on specific ${arch} profiles.
+>=dev-lang/php-8.3.9 avif
dev-libs/efl avif
kde-frameworks/kimageformats avif
media-libs/gd avif
diff --git a/sdk_container/src/third_party/portage-stable/profiles/license_groups b/sdk_container/src/third_party/portage-stable/profiles/license_groups
index 3f290222e4f..7ea5cbd4f29 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/license_groups
+++ b/sdk_container/src/third_party/portage-stable/profiles/license_groups
@@ -15,7 +15,7 @@
# https://www.gnu.org/licenses/license-list.html
# GPL or LGPL with various exceptions are also included here, because
# they are more permissive than the licenses they are based on.
-GPL-COMPATIBLE AGPL-3 AGPL-3+ Apache-2.0 Apache-2.0-with-LLVM-exceptions Artistic-2 Boost-1.0 BSD BSD-2 CC0-1.0 CeCILL-2 Clarified-Artistic Clear-BSD ECL-2.0 FSFAP FTL gcc-runtime-library-exception-3.1 GPL-1 GPL-1+ GPL-2 GPL-2+ GPL-2+-with-openssl-exception GPL-2+-with-eCos-exception-2 GPL-2-with-classpath-exception GPL-2-with-exceptions GPL-2-with-font-exception GPL-2-with-linking-exception GPL-2-with-MySQL-FLOSS-exception GPL-2+-with-Pyinstaller-Bootloader-exception GPL-3 GPL-3+ GPL-3+-with-autoconf-exception GPL-3+-with-font-exception GPL-3-with-font-exception GPL-3-with-openssl-exception HPND IJG ISC LGPL-2 LGPL-2+ LGPL-2-with-linking-exception LGPL-2.1 LGPL-2.1+ LGPL-2.1-with-linking-exception LGPL-3 LGPL-3+ LGPL-3-with-linking-exception libgcc libstdc++ metapackage MIT MPL-2.0 Nokia-Qt-LGPL-Exception-1.1 OPENLDAP PSF-2 PSF-2.4 public-domain PYTHON qwt Ruby Ruby-BSD SGI-B-2.0 Sleepycat tanuki-community Transmission-OpenSSL-exception Unicode-DFS-2016 Unlicense UoI-NCSA UPL-1.0 UPX-exception vim W3C WTFPL-2 wxWinLL-3.1 ZLIB ZPL
+GPL-COMPATIBLE AGPL-3 AGPL-3+ Apache-2.0 Apache-2.0-with-LLVM-exceptions Artistic-2 Boost-1.0 BSD BSD-2 CC0-1.0 CeCILL-2 Clarified-Artistic Clear-BSD ECL-2.0 FSFAP FTL gcc-runtime-library-exception-3.1 GPL-1 GPL-1+ GPL-2 GPL-2+ GPL-2+-with-openssl-exception GPL-2+-with-eCos-exception-2 GPL-2-with-classpath-exception GPL-2-with-font-exception GPL-2-with-linking-exception GPL-2-with-MySQL-FLOSS-exception GPL-2+-with-Pyinstaller-Bootloader-exception GPL-3 GPL-3+ GPL-3+-with-autoconf-exception GPL-3+-with-font-exception GPL-3+-with-openssl-exception GPL-3-with-font-exception GPL-3-with-openssl-exception HPND IJG ISC LGPL-2 LGPL-2+ LGPL-2-with-linking-exception LGPL-2.1 LGPL-2.1+ LGPL-2.1-with-linking-exception LGPL-3 LGPL-3+ LGPL-3-with-linking-exception libgcc libstdc++ metapackage MIT MPL-2.0 Nokia-Qt-LGPL-Exception-1.1 OPENLDAP PSF-2 PSF-2.4 public-domain PYTHON qwt Ruby Ruby-BSD SGI-B-2.0 Sleepycat tanuki-community Transmission-OpenSSL-exception Unicode-DFS-2016 Unlicense UoI-NCSA UPL-1.0 UPX-exception vim W3C WTFPL-2 wxWinLL-3.1 ZLIB ZPL
# Free software licenses approved by the FSF
FSF-APPROVED @GPL-COMPATIBLE AFL-2.1 AFL-3.0 Apache-1.0 Apache-1.1 APSL-2 BSD-4 CDDL CeCILL-B CeCILL-C CNRI CPAL-1.0 CPL-1.0 EPL-1.0 EPL-2.0 EUPL-1.1 EUPL-1.2 FraunhoferFDK gnuplot IBM LPL-1.02 LPPL-1.2 LPPL-1.3a MPL-1.0 MPL-1.1 Ms-PL Ms-RL NPL-1.1 openssl OSL-1.1 OSL-2.0 OSL-2.1 PHP-3.01 QPL-1.0 Zend-2.0
@@ -25,7 +25,7 @@ FSF-APPROVED @GPL-COMPATIBLE AFL-2.1 AFL-3.0 Apache-1.0 Apache-1.1 APSL-2 BSD-4
# Note that the FSF lists these as nonfree: Artistic NOSA Watcom-1.0
# We exclude NOSA and Watcom-1.0, but we keep Artistic because Debian
# considers it DFSG-free.
-OSI-APPROVED-FREE 0BSD AFL-3.0 AGPL-3 AGPL-3+ Apache-1.1 Apache-2.0 APL-1.0 APSL-2 Artistic Artistic-2 Boost-1.0 BSD BSD-2 CDDL CNRI CPAL-1.0 CPL-1.0 ECL-2.0 EPL-1.0 EPL-2.0 EUPL-1.1 EUPL-1.2 GPL-1 GPL-1+ GPL-2 GPL-2+ GPL-3 GPL-3+ HPND IBM IPAfont ISC LGPL-2 LGPL-2+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ LPL-1.02 LPPL-1.3c MirOS MIT MIT-0 MPL-1.0 MPL-1.1 MPL-2.0 Ms-PL Ms-RL nethack OFL-1.1 OSL-2.1 PHP-3 PHP-3.01 POSTGRESQL PSF-2 QPL-1.0 Sleepycat Unicode-3.0 Unicode-DFS-2016 Unlicense UPL-1.0 UoI-NCSA W3C wxWinLL-3 ZLIB ZPL
+OSI-APPROVED-FREE 0BSD AFL-3.0 AGPL-3 AGPL-3+ Apache-1.1 Apache-2.0 APL-1.0 APSL-2 Artistic Artistic-2 BlueOak-1.0.0 Boost-1.0 BSD BSD-2 CDDL CNRI CPAL-1.0 CPL-1.0 ECL-2.0 EPL-1.0 EPL-2.0 EUPL-1.1 EUPL-1.2 GPL-1 GPL-1+ GPL-2 GPL-2+ GPL-3 GPL-3+ HPND IBM IPAfont ISC LGPL-2 LGPL-2+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ LPL-1.02 LPPL-1.3c MirOS MIT MIT-0 MPL-1.0 MPL-1.1 MPL-2.0 Ms-PL Ms-RL nethack OFL-1.1 OSL-2.1 PHP-3 PHP-3.01 POSTGRESQL PSF-2 QPL-1.0 Sleepycat Unicode-3.0 Unicode-DFS-2016 Unlicense UPL-1.0 UoI-NCSA W3C wxWinLL-3 ZLIB ZPL
# Misc licenses that are probably free software, i.e. follow the
# Free Software Definition at https://www.gnu.org/philosophy/free-sw.html
diff --git a/sdk_container/src/third_party/portage-stable/profiles/package.mask b/sdk_container/src/third_party/portage-stable/profiles/package.mask
index de3e1a56af4..7556d7eeaa9 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/package.mask
+++ b/sdk_container/src/third_party/portage-stable/profiles/package.mask
@@ -33,10 +33,96 @@
#--- END OF EXAMPLES ---
-# Michał Górny (2024-07-01)
-# Refuses to boot if initramfs was built with an older systemd version
-# that enabled "cgroups v1". Bug #935261.
->=sys-apps/systemd-256
+# Eli Schwartz (2024-07-15)
+# FreeWnn has no activity upstream on its (very slow!) development site
+# since 2015. Website is gone. Various build failures, fails to build
+# with gcc 14. All of its reverse dependencies are even more dead, as
+# they do not even have distfiles anymore.
+# Removal on 2024-08-14. Bug 936129.
+# Bug #829613, #854579, #871603, #874114, #934595.
+app-i18n/freewnn
+app-i18n/im-freewnn
+app-dicts/wnn-ldic
+app-i18n/kinput2
+
+# Hans de Graaff (2024-07-14)
+# Ancient package, last release ca. 2009. Upstream is gone. All
+# improvements are now available in dev-ruby/irb itself.
+# Removal on 2024-08-14.
+dev-ruby/wirble
+
+# Arthur Zamarin (2024-07-13)
+# Maintainer-needed, depends on very old gui-libs/wlroots version,
+# no activity upstream since Jan 2022.
+# Removal on 2024-08-12. Bugs #935921, #867808.
+gui-wm/hikari
+
+# Hans de Graaff (2024-07-12)
+# Test dependency that is no longer maintained, last release in
+# 2019. Broken in various ways. No reverse dependencies left.
+# Removal on 2024-08-12.
+dev-ruby/rspectacular
+
+# Michał Górny (2024-07-12)
+# Obsoleted by dev-python/pytest-freezer (usually a drop-in replacement).
+# No reverse dependencies left.
+# Removal on 2024-08-11. Bug #934604.
+dev-python/pytest-freezegun
+
+# Jaco Kroon (2024-07-11)
+# Superseded by xl2tpd, this no longer has any operational advantage over
+# xl2tpd. If you need help you're welcome to contact me (jkroon on
+# libera.chat).
+# Removal on 2024-08-11. bugs: #414901, #768075, #919269
+net-dialup/openl2tp
+
+# Leonardo Hernández Hernández (2024-07-07)
+# New major ffmpeg version. Tracker bug #928905.
+>=media-video/ffmpeg-7.0
+
+# Michał Górny (2024-07-06)
+# Leftover backport for Python 3.9. No revdeps.
+# Removal on 2024-08-05. Bug #935676.
+dev-python/pathlib2
+
+# Arthur Zamarin (2024-07-05)
+# EAPI=6, no reverse dependencies, various issues with modern C.
+# Removal on 2024-08-04. Bugs #935553, #875746, #875245, #731094.
+media-video/luvcview
+
+# Arthur Zamarin (2024-07-05)
+# EAPI=6, no reverse dependencies, fails tests.
+# Removal on 2024-08-04. Bugs #935549, #873463, #741508.
+sci-libs/minuit
+
+# Arthur Zamarin (2024-07-05)
+# EAPI=6, many compilation and configure issues, more QA issues.
+# Removal on 2024-08-04. Bug #935545.
+sci-astronomy/esomidas
+
+# Joonas Niilola (2024-07-04)
+# libxml2-2.13.1 removed "deprecated" symbols that other (older)
+# packages depend upon. It can be mitigated with a --with-legacy
+# configure option, but it's still not a perfect fix. Bug #935452
+# to track and work on tree-wide support. Masking the exact version
+# so we can revbump the package with a fix.
+=dev-libs/libxml2-2.13.1
+=dev-libs/libxslt-1.1.41
+
+# James Le Cuirot (2024-07-01)
+# Ancient, dead upstream, generally awful.
+# Removal on 2024-08-01. Bugs #935307, #935308, #935309.
+games-arcade/spacerider
+games-arcade/tuxdash
+games-arcade/xsfcave
+
+# NHOrus (2024-06-28)
+# games-puzzle/seatris: last rites
+# Twenty-year-old tetris clone with upstream that wasn't touched since,
+# broken code and broken autoconf.
+# Removed after 2024-08-01
+# Bug: https://bugs.gentoo.org/935057
+games-puzzle/seatris
# Sam James (2024-06-25)
# Subvolume printing is broken: https://github.com/kdave/btrfs-progs/issues/829
@@ -168,11 +254,6 @@ kde-apps/kopete
# Removal on 2024-07-15. Bugs #934366, #871378, #716084, #924302.
sci-astronomy/predict
-# Arthur Zamarin (2024-06-15)
-# EAPI=6, no reverse dependencies, manifest doesn't match upstream.
-# Removal on 2024-07-15. Bugs #934365, #832746.
-sci-chemistry/xds-bin
-
# Cédric Krier (2023-06-15)
# critical regression with potential data loss:
# https://lists.mercurial-scm.org/pipermail/mercurial-devel/2024-June/297954.html
@@ -182,12 +263,6 @@ sci-chemistry/xds-bin
~dev-vcs/mercurial-6.7.2
~dev-vcs/mercurial-6.7.3
-# Maciej Barć (2024-06-14)
-# EAPI=6, now shipped in official gambit and so it fails to merge from file
-# collision. Bug: #832334
-# Removal on 2024-07-14.
-dev-scheme/termite
-
# Arthur Zamarin (2024-06-14)
# EAPI=6, no reverse dependencies, maintainer-needed, installation
# blocked by iproute2.
@@ -225,136 +300,13 @@ sci-chemistry/procheck
# Removal on 2024-07-14. Bugs #934227, #898840.
www-misc/log-toolkit
-# Arthur Zamarin (2024-06-12)
-# EAPI=6, maintainer needed, no reverse dependencies. Not maintained in
-# gentoo for a long time.
-# Removal on 2024-07-12. Bugs #934156, #636422.
-net-misc/bfgminer
-
-# Arthur Zamarin (2024-06-12)
-# EAPI=6, library with no reverse dependencies, fails tests, has
-# issues with modern C.
-# Removal on 2024-07-12. Bugs #934133, #725622, #813240.
-sci-libs/o2scl
-
# Viorel Munteanu (2024-06-11)
# dev-php/pear, dev-php/PEAR-* and their reverse dependencies: mask for removal
# in 30 days.
# They are all unmaintained, most of the ebuilds are still EAPI 6, and together
# they have around 40 bugs.
-# Removal: 2024-07-11. Bug #933998.
-dev-php/PEAR-Cache
-dev-php/PEAR-Cache_Lite
-dev-php/PEAR-Console_Getargs
-dev-php/PEAR-Crypt_CHAP
-dev-php/PEAR-Crypt_HMAC
-dev-php/PEAR-Crypt_HMAC2
-dev-php/PEAR-DB
-dev-php/PEAR-DB_DataObject
-dev-php/PEAR-Date
-dev-php/PEAR-File
-dev-php/PEAR-File_Archive
-dev-php/PEAR-File_Find
-dev-php/PEAR-File_Fortune
-dev-php/PEAR-File_Gettext
-dev-php/PEAR-File_SMBPasswd
-dev-php/PEAR-HTML_AJAX
-dev-php/PEAR-HTML_CSS
-dev-php/PEAR-HTML_Common
-dev-php/PEAR-HTML_Common2
-dev-php/PEAR-HTML_Javascript
-dev-php/PEAR-HTML_QuickForm2
-dev-php/PEAR-HTML_Table
-dev-php/PEAR-HTML_Table_Matrix
-dev-php/PEAR-HTML_Template_Flexy
-dev-php/PEAR-HTML_Template_Sigma
-dev-php/PEAR-HTTP
-dev-php/PEAR-HTTP_Header
-dev-php/PEAR-HTTP_Request2
-dev-php/PEAR-HTTP_Session2
-dev-php/PEAR-Image_Color2
-dev-php/PEAR-Image_GraphViz
-dev-php/PEAR-Image_IPTC
-dev-php/PEAR-Image_Text
-dev-php/PEAR-Log
-dev-php/PEAR-MDB
-dev-php/PEAR-MDB2
-dev-php/PEAR-MDB2_Driver_mssql
-dev-php/PEAR-MDB2_Driver_mysqli
-dev-php/PEAR-MDB2_Driver_oci8
-dev-php/PEAR-MDB2_Driver_pgsql
-dev-php/PEAR-MIME_Type
-dev-php/PEAR-Mail
+# Removal: 2024-08-11. Bug #933998.
dev-php/PEAR-Mail_mimeDecode
-dev-php/PEAR-Math_BigInteger
-dev-php/PEAR-Net_DNS
-dev-php/PEAR-Net_DNS2
-dev-php/PEAR-Net_DNSBL
-dev-php/PEAR-Net_IDNA2
-dev-php/PEAR-Net_IPv4
-dev-php/PEAR-Net_IPv6
-dev-php/PEAR-Net_LDAP2
-dev-php/PEAR-Net_POP3
-dev-php/PEAR-Net_Ping
-dev-php/PEAR-Net_SmartIRC
-dev-php/PEAR-Net_Traceroute
-dev-php/PEAR-Net_URL
-dev-php/PEAR-Net_URL2
-dev-php/PEAR-Net_UserAgent_Detect
-dev-php/PEAR-Numbers_Words
-dev-php/PEAR-OLE
-dev-php/PEAR-PHP_Beautifier
-dev-php/PEAR-PHP_Debug
-dev-php/PEAR-Pager
-dev-php/PEAR-Services_JSON
-dev-php/PEAR-Services_TinyURL
-dev-php/PEAR-Services_W3C_CSSValidator
-dev-php/PEAR-Spreadsheet_Excel_Writer
-dev-php/PEAR-System_Command
-dev-php/PEAR-Text_CAPTCHA
-dev-php/PEAR-Text_CAPTCHA_Numeral
-dev-php/PEAR-Text_Figlet
-dev-php/PEAR-Text_Highlighter
-dev-php/PEAR-Text_Password
-dev-php/PEAR-Text_Wiki
-dev-php/PEAR-Text_Wiki_BBCode
-dev-php/PEAR-Text_Wiki_Mediawiki
-dev-php/PEAR-Validate
-dev-php/PEAR-Var_Dump
-dev-php/PEAR-XML_Parser
-dev-php/PEAR-XML_RSS
-dev-php/PEAR-XML_Serializer
-dev-php/YAML
-dev-php/cphplib
-www-apps/dotproject
-
-# Michał Górny (2024-06-10)
-# Merged into dev-python/rapidfuzz. No revdeps left.
-# Removal on 2024-07-10. Bug #934002.
-dev-python/rapidfuzz-capi
-
-# Viorel Munteanu (2024-06-10)
-# Masked for removal in 30 days. EAPI 6, unmaintained, last upstream
-# release in 2011, no upstream activity since 2013.
-# There are other static generators in gentoo, like www-apps/hugo or
-# app-text/txt2tags.
-# Removal: 2024-07-10. Bugs #295842, #526340.
-www-apps/nanoblogger
-
-# James Le Cuirot (2024-06-09)
-# Long dead upstream. Probably broken. Use games-emulation/dolphin instead.
-# Removal on 2024-07-09. Bug #739140.
-games-emulation/gcube
-
-# James Le Cuirot (2024-06-09)
-# Super ancient and broken 32-bit only port. Package ECWolf instead.
-# Removal on 2024-07-09. Bug #926467.
-games-fps/wolfgl
-
-# James Le Cuirot (2024-06-09)
-# Download no longer available, license prevents mirroring.
-# Removal on 2024-07-09. Bug #791115.
-games-strategy/darwinia-demo
# Alfredo Tupone (2024-06-09)
# Not ready for testing
@@ -434,39 +386,7 @@ dev-ml/async:0/0.17
>=dev-ml/labltk-8.06.14
dev-ml/patience_diff:0/0.17
>=dev-ml/ppx_deriving-6.0.2
-
-# Arthur Zamarin (2024-06-08)
-# EAPI=6, waiting for a version bump, not maintained for many years.
-# Removal on 2024-07-08. Bug #933850.
-www-apps/wiliki
-
-# Arthur Zamarin (2024-06-08)
-# Various apache modules with no reverse dependencies, EAPI=6,
-# some maintainer-needed.
-# Removal on 2024-07-08. Bugs #933847, #742452.
-www-apache/mod_vdbh
-www-apache/modsec-flameeyes
-
-# Arthur Zamarin (2024-06-08)
-# EAPI=6, maintainer-needed, no reverse dependencies.
-# Removal on 2024-07-08. Bugs #933846, #598678, #916203.
-sys-power/powernowd
-
-# Arthur Zamarin (2024-06-08)
-# EAPI=6, no reverse dependencies, maintainer-needed, various QA issues.
-# Removal on 2024-07-08. Bugs #933843, #695068, #677432.
-net-analyzer/check_mk_agent
-
-# Arthur Zamarin (2024-06-08)
-# EAPI=6, no reverse dependencies, fails to compile with LLVM or musl,
-# various QA issues.
-# Removal on 2024-07-08. Bugs #933837, #832891, #740364, #751697, #403627.
-media-sound/herrie
-
-# Arthur Zamarin (2024-06-08)
-# EAPI=6, fetch restricted, waiting for a version bump.
-# Removal on 2024-07-08. Bug #933836.
-sci-libs/coinhsl
+dev-ml/ppx_js_style:0/0.17
# Michał Górny (2024-06-08)
# Prereleases of Xfce 4.20. Masking upon popular request, due to
@@ -486,73 +406,6 @@ sci-libs/coinhsl
>=xfce-base/xfconf-4.19
>=xfce-base/xfdesktop-4.19
-# David Seifert (2024-06-08)
-# Last release 12 years ago, clearly abandoned upstream, EAPI 6, no
-# other major distro still carries this.
-# Removal on 2024-07-08. Bug #933825.
-app-i18n/imhangul
-
-# Arthur Zamarin (2024-06-08)
-# EAPI=6, not maintained since cvs days. Keyworded for x86 and ppc
-# only. Fails to compile with modern C.
-# Removal on 2024-07-08. Bugs #933824, #927783.
-net-p2p/gnut
-
-# Arthur Zamarin (2024-06-07)
-# EAPI=6, no reverse dependencies, failing tests, various QA issues.
-# Removal on 2024-07-07. Bugs #933768, #849923, #882403, #837020,
-# #741444, #831092, #862717.
-sci-libs/h5part
-
-# Maciej Barć (2024-06-05)
-# Old and experimental Scheme compiler.
-# Bugs: 870472 and 906863
-# Removal on 2024-07-05.
-dev-scheme/scheme48
-
-# Maciej Barć (2024-06-04)
-# Deprecated git integration backend of "app-emacs/magit".
-# No longer supported by upstream. Fails to compile (bug 928920).
-# Removal on 2024-07-04.
-app-emacs/libegit2
-
-# Mike Gilbert (2024-06-01)
-# Abandoned upstream. No Gentoo maintainer since 2021.
-# Plugin system seems quite broken (bug 887119).
-# Removal on 2024-07-01.
-sys-fs/reiser4progs
-sys-libs/libaal
-
-# Hans de Graaff (2024-06-01)
-# Old ruby31-only slots. Please use a newer slot of these
-# packages. Masked for removal on 2024-07-01.
-dev-ruby/elasticsearch:6.8.3
-dev-ruby/elasticsearch-api:6.8.3
-dev-ruby/elasticsearch-transport:6.8.3
-dev-ruby/mimemagic:0
-dev-ruby/puppet_forge:2
-dev-ruby/puppet_forge:4
-dev-ruby/rspec-rails:5
-
-# Arthur Zamarin (2024-05-31)
-# EAPI=6, maintainer-needed, incorrect LICENSE, fails to compile with
-# clang.
-# Removal on 2024-06-30. Bugs #933241, #889912, #880267, #562822, #930500.
-net-mail/gnubiff
-
-# Arthur Zamarin (2024-05-31)
-# EAPI=6, no activity upstream, maintianer-needed.
-# Removal on 2024-06-30. Bugs #933239, #828068.
-app-emulation/phpvirtualbox
-
-# Sam James (2024-05-28)
-# Breaks reverse dependencies like protobuf-c (bug #932857) and protobuf-26.1
-# itself isn't compatible with this abseil-cpp version (bug #932848).
-# In addition, we still need to establish a new approach like a virtual
-# for protobuf because of its abseil dependency - see the discussion in bug #912819.
-~dev-libs/protobuf-26.1
-~dev-cpp/abseil-cpp-20240116.2
-
# Sam James (2024-04-28)
# Masked for testing. Tracker bug: bug #930805.
>=sys-libs/ncurses-6.5
@@ -656,7 +509,7 @@ sec-keys/openpgp-keys-jiatan
# Sam James (2023-05-10)
# Lots of package breakage as usual for new versions. Masked until most/all
# reverse dependencies are fixed. Tracker bug is bug #906077.
-=dev-libs/libfmt-10*
+>=dev-libs/libfmt-10
# Ionen Wolkens (2023-03-30)
# NVIDIA dropped support for the 390.xx branch in December 2022[1].
diff --git a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/plasma/package.use b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/plasma/package.use
index a1928b24e02..1d3f79e8919 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/plasma/package.use
+++ b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/plasma/package.use
@@ -96,5 +96,5 @@ kde-plasma/kwin lock
media-video/pipewire sound-server
# Expected to be available by default in Plasma
-kde-frameworks/purpose kaccounts
-kde-plasma/plasma-desktop kaccounts
+kde-frameworks/purpose:5 kaccounts
+kde-plasma/plasma-desktop:5 kaccounts
diff --git a/sdk_container/src/third_party/portage-stable/profiles/updates/3Q-2020 b/sdk_container/src/third_party/portage-stable/profiles/updates/3Q-2020
index 3f451f53e7f..3e54e401cfa 100644
--- a/sdk_container/src/third_party/portage-stable/profiles/updates/3Q-2020
+++ b/sdk_container/src/third_party/portage-stable/profiles/updates/3Q-2020
@@ -10,5 +10,5 @@ slotmove tests/dd/no-allocate.sh <<-EOF || die
+ #!/bin/sh
+ exit 77;
+ EOF
+
# This test is flaky (bug #910640).
cat > tests/tty/tty-eof.pl <<-EOF || die
#!/usr/bin/perl
diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.5-skip-readutmp-test.patch b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.5-skip-readutmp-test.patch
new file mode 100644
index 00000000000..3e7c9cf420c
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.5-skip-readutmp-test.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/935367
+--- a/gnulib-tests/test-readutmp.c
++++ b/gnulib-tests/test-readutmp.c
+@@ -43,6 +43,9 @@ main (int argc, char *argv[])
+ STRUCT_UTMP *entries;
+ idx_t num_entries;
+
++ fprintf (stderr, "Skipping test: Gentoo: examines host entries, so unreliable in ebuild\n");
++ return 77;
++
+ if (read_utmp (UTMP_FILE, &num_entries, &entries, 0) < 0)
+ {
+ #if READ_UTMP_SUPPORTED
diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.8.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.8.0-r2.ebuild
index 6c0325660d6..73f9415cf63 100644
--- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.8.0-r2.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.8.0-r2.ebuild
@@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3
else
SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
DESCRIPTION="kernel routing and traffic control utilities"
diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-2.12.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-2.12.1.ebuild
index 43e2675d8e2..ea24cbf2450 100644
--- a/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-2.12.1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-2.12.1.ebuild
@@ -14,7 +14,7 @@ else
inherit libtool
# TODO: Change tarballs to gitlab too...?
SRC_URI="mirror://nongnu/${PN}/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
LICENSE="GPL-3"
diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/miscfiles/miscfiles-1.5-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/miscfiles/miscfiles-1.5-r4.ebuild
index e0773aba5f2..13a9044a1b5 100644
--- a/sdk_container/src/third_party/portage-stable/sys-apps/miscfiles/miscfiles-1.5-r4.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-apps/miscfiles/miscfiles-1.5-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,7 +8,7 @@ DESCRIPTION="Miscellaneous files"
HOMEPAGE="https://savannah.gnu.org/projects/miscfiles/"
# https://www.unicode.org/Public/${UNI_PV}/ucd/UnicodeData.txt
SRC_URI="mirror://gnu/miscfiles/${P}.tar.gz
- https://dev.gentoo.org/~whissi/dist/${PN}/UnicodeData-${UNI_PV}.txt.xz"
+ mirror://gentoo/0b/UnicodeData-${UNI_PV}.txt.xz"
LICENSE="GPL-2 unicode"
SLOT="0"
diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/nvme-cli-2.9.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/nvme-cli-2.9.1.ebuild
index 0ae397d0570..0732d81affd 100644
--- a/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/nvme-cli-2.9.1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/nvme-cli-2.9.1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/linux-nvme/nvme-cli/archive/v${PV}.tar.gz -> ${P}.gh
LICENSE="GPL-2 GPL-2+"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv ~sparc x86"
IUSE="+json"
RDEPEND="
diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.61-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.61-r2.ebuild
similarity index 99%
rename from sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.61-r1.ebuild
rename to sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.61-r2.ebuild
index 6eb73a76c98..2b227bc6fcb 100644
--- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.61-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.61-r2.ebuild
@@ -79,7 +79,7 @@ RDEPEND="
>=app-admin/eselect-1.2
app-portage/getuto
>=app-shells/bash-5.0:0
- >=sec-keys/openpgp-keys-gentoo-release-20230329
+ >=sec-keys/openpgp-keys-gentoo-release-20240703
>=sys-apps/sed-4.0.5
rsync-verify? (
>=app-crypt/gnupg-2.2.4-r2[ssl(-)]
diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.63-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.63-r2.ebuild
similarity index 99%
rename from sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.63-r1.ebuild
rename to sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.63-r2.ebuild
index ecd1de90b49..c2634d8e56c 100644
--- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.63-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.63-r2.ebuild
@@ -79,7 +79,7 @@ RDEPEND="
>=app-admin/eselect-1.2
app-portage/getuto
>=app-shells/bash-5.0:0
- >=sec-keys/openpgp-keys-gentoo-release-20230329
+ >=sec-keys/openpgp-keys-gentoo-release-20240703
>=sys-apps/sed-4.0.5
rsync-verify? (
>=app-crypt/gnupg-2.2.4-r2[ssl(-)]
diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.64-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.64-r4.ebuild
similarity index 99%
rename from sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.64-r3.ebuild
rename to sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.64-r4.ebuild
index edec27b9f08..44da51f26d9 100644
--- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.64-r3.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.64-r4.ebuild
@@ -75,7 +75,7 @@ RDEPEND="
>=app-admin/eselect-1.2
app-portage/getuto
>=app-shells/bash-5.0:0
- >=sec-keys/openpgp-keys-gentoo-release-20230329
+ >=sec-keys/openpgp-keys-gentoo-release-20240703
>=sys-apps/sed-4.0.5
rsync-verify? (
>=app-crypt/gnupg-2.2.4-r2[ssl(-)]
diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.65.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.65-r1.ebuild
similarity index 97%
rename from sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.65.ebuild
rename to sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.65-r1.ebuild
index ea323e5a917..f75027dc19f 100644
--- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.65.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.65-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
PYTHON_REQ_USE='bzip2(+),threads(+)'
TMPFILES_OPTIONAL=1
@@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3
else
SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
LICENSE="GPL-2"
@@ -75,7 +75,7 @@ RDEPEND="
>=app-admin/eselect-1.2
app-portage/getuto
>=app-shells/bash-5.0:0
- >=sec-keys/openpgp-keys-gentoo-release-20230329
+ >=sec-keys/openpgp-keys-gentoo-release-20240703
>=sys-apps/sed-4.0.5
rsync-verify? (
>=app-crypt/gnupg-2.2.4-r2[ssl(-)]
diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild
index 3995572457b..8958c0cc58e 100644
--- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild
@@ -64,7 +64,7 @@ RDEPEND="
>=app-admin/eselect-1.2
app-portage/getuto
>=app-shells/bash-5.0:0
- >=sec-keys/openpgp-keys-gentoo-release-20230329
+ >=sec-keys/openpgp-keys-gentoo-release-20240703
>=sys-apps/sed-4.0.5
rsync-verify? (
>=app-crypt/gnupg-2.2.4-r2[ssl(-)]
diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.8.9.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.8.9.ebuild
index 75f4dca4c12..2fe16ca8af8 100644
--- a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.8.9.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.8.9.ebuild
@@ -18,7 +18,7 @@ else
verify-sig? ( https://www.ivarch.com/programs/sources/${P}.tar.gz.txt -> ${P}.tar.gz.asc )
"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
fi
LICENSE="GPL-3+"
diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/Manifest
index 92dcc309d4e..e9d4b82a097 100644
--- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/Manifest
+++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/Manifest
@@ -4,3 +4,5 @@ DIST util-linux-2.39.4.tar.sign 833 BLAKE2B cbefaa4968ac82491c9eaa467c5e84e9b4a0
DIST util-linux-2.39.4.tar.xz 8541176 BLAKE2B 53fef6f36b802d5e4c1112376c77e5cd832280d9eaeb9a6a98b2371334a1a3a8a48f5589d16f67c623a5050ae3b16dafc43ee26a9e8cb77079f9b6a2ee6c9480 SHA512 94e0282ac9705ca666d3c3864f2656bd1a21d879339164edd2c413ae7665b1cfec01f9c58a83b3148b8c4b4e857653447e5523c3b27230b175dd39f75ac6fae0
DIST util-linux-2.40.1.tar.sign 833 BLAKE2B 2f8537cd4f52e0c203360d081a91f17c2db13c0f6054ef02f967e8fdf03099bb8c42604864003bfb911ea7804033f4020e2f56a933667fc84ac9c4b8d01e9ed5 SHA512 ab73a27fc8601041bf7b8a088586b78c49ca83cf9c8cfe5877280c0b5c607e95695512804335a8c0ac1d243e4433595f44256407fdbfb053451b8ab40d605502
DIST util-linux-2.40.1.tar.xz 8823784 BLAKE2B a51fcf9b63c033e470da4f4f0094f0f923fdeb5a649a5c59d2d44888e5e741dfd95e589247355296e050d9ec8dc4334c5898453af055abcb30082af6b835a3e3 SHA512 58ec6eb41d4b6bfc544a80e95c71b5f3798ab4d2a9435d3ee9e5edd56f9b3f09bcb154bdd70e002dc018938937e2e946ae731dcda0f86b362fc43423689e41fc
+DIST util-linux-2.40.2.tar.sign 833 BLAKE2B 10aae23d25c1364bac0034d6862df5738c7a405d52198fba1e4e9173a1b2ba9f3d994dacb881d920c3339c0f1018c7dd1c97c7752bdf0e8e634f54235c2b3f5c SHA512 e4ace52333df0c8dd7c8ffc3b813020615c456e06a6978e06c8183ec29896be5af7c25f59e65fc2c2849750d8d7b43043775b8504d6d01f626f1adf296493ce1
+DIST util-linux-2.40.2.tar.xz 8854820 BLAKE2B 8306d651f27db6665e91a937c9f1970938fec5b069636fea3c2688afddebd1a3424f0b0802a034eab049cf7692dd435cf93e82aa5f4a40cc8064d60b4ca59535 SHA512 ffe20b915a518a150401d429b0338bc7022190e4ca0ef91a6d9eea345db8c1e11ad01784163b8fcf978506f3f5cad473f29d5d4ef93a4c66a5ae0ebd9fb0c8f2
diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.40.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.40.2.ebuild
new file mode 100644
index 00000000000..6cdf721aeee
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.40.2.ebuild
@@ -0,0 +1,454 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+TMPFILES_OPTIONAL=1
+
+inherit toolchain-funcs libtool flag-o-matic bash-completion-r1 \
+ pam python-r1 multilib-minimal multiprocessing systemd tmpfiles
+
+MY_PV="${PV/_/-}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="Various useful Linux utilities"
+HOMEPAGE="https://www.kernel.org/pub/linux/utils/util-linux/ https://github.com/util-linux/util-linux"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git"
+ inherit autotools git-r3
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/karelzak.asc
+ inherit verify-sig
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos"
+ fi
+
+ SRC_URI="https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.sign )"
+fi
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2 GPL-3 LGPL-2.1 BSD-4 MIT public-domain"
+SLOT="0"
+IUSE="audit build caps +cramfs cryptsetup fdformat +hardlink kill +logger magic ncurses nls pam python +readline rtas selinux slang static-libs +su +suid systemd test tty-helpers udev unicode uuidd"
+
+# Most lib deps here are related to programs rather than our libs,
+# so we rarely need to specify ${MULTILIB_USEDEP}.
+RDEPEND="
+ virtual/libcrypt:=
+ audit? ( >=sys-process/audit-2.6:= )
+ caps? ( sys-libs/libcap-ng )
+ cramfs? ( sys-libs/zlib:= )
+ cryptsetup? ( >=sys-fs/cryptsetup-2.1.0 )
+ hardlink? ( dev-libs/libpcre2:= )
+ ncurses? (
+ sys-libs/ncurses:=[unicode(+)?]
+ magic? ( sys-apps/file:0= )
+ )
+ nls? ( virtual/libintl[${MULTILIB_USEDEP}] )
+ pam? ( sys-libs/pam )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:0= )
+ rtas? ( sys-libs/librtas )
+ selinux? ( >=sys-libs/libselinux-2.2.2-r4[${MULTILIB_USEDEP}] )
+ slang? ( sys-libs/slang )
+ !build? (
+ systemd? ( sys-apps/systemd )
+ udev? ( virtual/libudev:= )
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+ nls? (
+ app-text/po4a
+ sys-devel/gettext
+ )
+ test? ( app-alternatives/bc )
+"
+DEPEND="
+ ${RDEPEND}
+ virtual/os-headers
+ acct-group/root
+"
+RDEPEND+="
+ hardlink? ( !app-arch/hardlink )
+ logger? ( !>=app-admin/sysklogd-2.0[logger] )
+ kill? (
+ !sys-apps/coreutils[kill]
+ !sys-process/procps[kill]
+ )
+ su? (
+ !=sys-apps/shadow-4.7-r2[su]
+ )
+ uuidd? (
+ acct-user/uuidd
+ systemd? ( virtual/tmpfiles )
+ )
+ !net-wireless/rfkill
+"
+
+if [[ ${PV} == 9999 ]] ; then
+ # Required for man-page generation
+ BDEPEND+=" dev-ruby/asciidoctor"
+else
+ BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-karelzak-20230517 )"
+fi
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) su? ( pam )"
+RESTRICT="!test? ( test )"
+
+pkg_pretend() {
+ if use su && ! use suid ; then
+ elog "su will be installed as suid despite USE=-suid (bug #832092)"
+ elog "To use su without suid, see e.g. Portage's suidctl feature."
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ return
+ fi
+
+ # Upstream sign the decompressed .tar
+ if use verify-sig; then
+ einfo "Unpacking ${MY_P}.tar.xz ..."
+ verify-sig_verify_detached - "${DISTDIR}"/${MY_P}.tar.sign \
+ < <(xz -cd "${DISTDIR}"/${MY_P}.tar.xz | tee >(tar -x))
+ assert "Unpack failed"
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ default
+
+ if use test ; then
+ # Known-failing tests
+ local known_failing_tests=(
+ # Subtest 'options-maximum-size-8192' fails
+ hardlink/options
+
+ # Fails in sandbox
+ # re ioctl_ns: https://github.com/util-linux/util-linux/issues/2967
+ lsns/ioctl_ns
+ lsfd/mkfds-inotify
+ lsfd/mkfds-symlink
+ lsfd/mkfds-rw-character-device
+ # Fails with network-sandbox at least in nspawn
+ lsfd/option-inet
+ utmp/last-ipv6
+
+ # Flaky
+ rename/subdir
+
+ # Permission issues on /dev/random
+ lsfd/mkfds-eventpoll
+ lsfd/column-xmode
+ )
+
+ # debug prints confuse the tests which look for a diff
+ # in output
+ if has_version "=app-shells/bash-5.3_alpha*" ; then
+ known_failing_tests+=(
+ lsfd/column-ainodeclass
+ lsfd/mkfds-netlink-protocol
+ lsfd/column-type
+ lsfd/mkfds-eventfd
+ lsfd/mkfds-signalfd
+ lsfd/mkfds-mqueue
+ lsfd/mkfds-tcp6
+ lsfd/mkfds-tcp
+ lsfd/filter-floating-point-nums
+ lsfd/mkfds-unix-stream-requiring-sockdiag
+ lsfd/mkfds-unix-dgram
+ lsfd/mkfds-directory
+ lsfd/mkfds-pty
+ lsfd/mkfds-pipe-no-fork
+ lsfd/mkfds-unix-stream
+ lsfd/mkfds-ro-regular-file
+ lsfd/mkfds-timerfd
+ lsfd/mkfds-udp
+ lsfd/mkfds-udp6
+ )
+ fi
+
+ local known_failing_test
+ for known_failing_test in "${known_failing_tests[@]}" ; do
+ einfo "Removing known-failing test: ${known_failing_test}"
+ rm tests/ts/${known_failing_test} || die
+ done
+ fi
+
+ if [[ ${PV} == 9999 ]] ; then
+ po/update-potfiles
+ eautoreconf
+ else
+ elibtoolize
+ fi
+}
+
+python_configure() {
+ local myeconfargs=(
+ "${commonargs[@]}"
+ --disable-all-programs
+ --disable-bash-completion
+ --without-systemdsystemunitdir
+ --with-python
+ --enable-libblkid
+ --enable-libmount
+ --enable-pylibmount
+ )
+
+ mkdir "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" >/dev/null || die
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+ popd >/dev/null || die
+}
+
+multilib_src_configure() {
+ # The scanf test in a run-time test which fails while cross-compiling.
+ # Blindly assume a POSIX setup since we require libmount, and libmount
+ # itself fails when the scanf test fails. bug #531856
+ tc-is-cross-compiler && export scanf_cv_alloc_modifier=ms
+
+ # bug #485486
+ export ac_cv_header_security_pam_misc_h=$(multilib_native_usex pam)
+ # bug #545042
+ export ac_cv_header_security_pam_appl_h=$(multilib_native_usex pam)
+
+ # Undo bad ncurses handling by upstream. Fall back to pkg-config.
+ # bug #601530
+ export NCURSES6_CONFIG=false NCURSES5_CONFIG=false
+ export NCURSESW6_CONFIG=false NCURSESW5_CONFIG=false
+
+ # Avoid automagic dependency on ppc*
+ export ac_cv_lib_rtas_rtas_get_sysparm=$(usex rtas)
+
+ # configure args shared by python and non-python builds
+ local commonargs=(
+ --localstatedir="${EPREFIX}/var"
+ --runstatedir="${EPREFIX}/run"
+ --enable-fs-paths-extra="${EPREFIX}/usr/sbin:${EPREFIX}/bin:${EPREFIX}/usr/bin"
+ )
+
+ local myeconfargs=(
+ "${commonargs[@]}"
+ --with-bashcompletiondir="$(get_bashcompdir)"
+ --without-python
+ $(multilib_native_use_enable suid makeinstall-chown)
+ $(multilib_native_use_enable suid makeinstall-setuid)
+ $(multilib_native_use_with readline)
+ $(multilib_native_use_with slang)
+ $(multilib_native_usex ncurses "$(use_with magic libmagic)" '--without-libmagic')
+ $(multilib_native_usex ncurses "$(use_with unicode ncursesw)" '--without-ncursesw')
+ $(multilib_native_usex ncurses "$(use_with !unicode ncurses)" '--without-ncurses')
+ $(multilib_native_use_with audit)
+ $(tc-has-tls || echo --disable-tls)
+ $(use_enable nls)
+ $(use_enable nls poman)
+ $(use_enable unicode widechar)
+ $(use_enable static-libs static)
+ $(use_with ncurses tinfo)
+ $(use_with selinux)
+ $(multilib_native_use_enable uuidd)
+
+ # TODO: Wire this up (bug #931118)
+ --without-econf
+
+ # TODO: Wire this up (bug #931297)
+ # TODO: investigate build failure w/ 2.40.1_rc1
+ --disable-liblastlog2
+ --disable-pam-lastlog2
+ )
+
+ if use build ; then
+ myeconfargs+=(
+ --without-systemd
+ --without-udev
+ )
+ else
+ myeconfargs+=(
+ $(multilib_native_use_with systemd)
+ $(multilib_native_use_with udev)
+ )
+ fi
+
+ if multilib_is_native_abi ; then
+ myeconfargs+=(
+ --disable-chfn-chsh
+ --disable-login
+ --disable-newgrp
+ --disable-nologin
+ --disable-pylibmount
+ --disable-raw
+ --disable-vipw
+ --enable-agetty
+ --enable-bash-completion
+ --enable-line
+ --enable-partx
+ --enable-rename
+ --enable-rfkill
+ --enable-schedutils
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ --with-tmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d
+ $(use_enable caps setpriv)
+ $(use_enable cramfs)
+ $(use_enable fdformat)
+ $(use_enable hardlink)
+ $(use_enable kill)
+ $(use_enable logger)
+ $(use_enable ncurses pg)
+ $(use_enable su)
+ $(use_enable tty-helpers mesg)
+ $(use_enable tty-helpers wall)
+ $(use_enable tty-helpers write)
+ $(use_with cryptsetup)
+ )
+ if [[ ${PV} == *9999 ]] ; then
+ myeconfargs+=( --enable-asciidoc )
+ else
+ # Upstream is shipping pre-generated man-pages for releases
+ myeconfargs+=( --disable-asciidoc )
+ fi
+ else
+ myeconfargs+=(
+ --disable-all-programs
+ --disable-asciidoc
+ --disable-bash-completion
+ --without-systemdsystemunitdir
+ --disable-poman
+
+ # build libraries
+ --enable-libuuid
+ --enable-libblkid
+ --enable-libsmartcols
+ --enable-libfdisk
+ --enable-libmount
+
+ # Support uuidd for non-native libuuid
+ $(use_enable uuidd libuuid-force-uuidd)
+ )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl python_configure
+ fi
+}
+
+src_configure() {
+ append-lfs-flags
+ multilib-minimal_src_configure
+}
+
+python_compile() {
+ pushd "${BUILD_DIR}" >/dev/null || die
+ emake all
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ emake all
+
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl python_compile
+ fi
+}
+
+python_test() {
+ pushd "${BUILD_DIR}" >/dev/null || die
+ emake check TS_OPTS="--parallel=$(makeopts_jobs) --nonroot"
+ popd >/dev/null || die
+}
+
+multilib_src_test() {
+ emake check TS_OPTS="--parallel=$(makeopts_jobs) --nonroot"
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl python_test
+ fi
+}
+
+python_install() {
+ pushd "${BUILD_DIR}" >/dev/null || die
+ emake DESTDIR="${D}" install
+ python_optimize
+ popd >/dev/null || die
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl python_install
+ fi
+
+ # This needs to be called AFTER python_install call, bug #689190
+ # XXX: -j1 as temporary workaround for bug #931301
+ emake DESTDIR="${D}" install -j1
+}
+
+multilib_src_install_all() {
+ dodoc AUTHORS NEWS README* Documentation/{TODO,*.txt,releases/*}
+
+ dosym hexdump /usr/bin/hd
+ newman - hd.1 <<< '.so man1/hexdump.1'
+
+ # e2fsprogs-libs didn't install .la files, and .pc work fine
+ find "${ED}" -name "*.la" -delete || die
+
+ if use pam ; then
+ # See https://github.com/util-linux/util-linux/blob/master/Documentation/PAM-configuration.txt
+ newpamd "${FILESDIR}/runuser.pamd" runuser
+ newpamd "${FILESDIR}/runuser-l.pamd" runuser-l
+
+ newpamd "${FILESDIR}/su-l.pamd" su-l
+ fi
+
+ if use su && ! use suid ; then
+ # Always force suid su, even when USE=-suid, as su is useless
+ # for the overwhelming-majority case without suid.
+ # Users who wish to truly have a no-suid su can strip it out
+ # via e.g. Portage's suidctl or some other hook.
+ # See bug #832092
+ fperms u+s /bin/su
+ fi
+
+ if use uuidd; then
+ newinitd "${FILESDIR}/uuidd.initd" uuidd
+ fi
+
+ # Note:
+ # Bash completion for "runuser" command is provided by same file which
+ # would also provide bash completion for "su" command. However, we don't
+ # use "su" command from this package.
+ # This triggers a known QA warning which we ignore for now to magically
+ # keep bash completion for "su" command which shadow package does not
+ # provide.
+
+ local ver=$(tools/git-version-gen .tarballversion)
+ local major=$(ver_cut 1 ${ver})
+ local minor=$(ver_cut 2 ${ver})
+ local release=$(ver_cut 3 ${ver})
+ export QA_PKGCONFIG_VERSION="${major}.${minor}.${release:-0}"
+}
+
+pkg_postinst() {
+ if ! use tty-helpers ; then
+ elog "The mesg/wall/write tools have been disabled due to USE=-tty-helpers."
+ fi
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog "The agetty util now clears the terminal by default. You"
+ elog "might want to add --noclear to your /etc/inittab lines."
+ fi
+
+ if use systemd && use uuidd; then
+ tmpfiles_process uuidd-tmpfiles.conf
+ fi
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-9999.ebuild
index 8e74d1439e6..6cdf721aeee 100644
--- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-9999.ebuild
@@ -153,6 +153,32 @@ src_prepare() {
lsfd/column-xmode
)
+ # debug prints confuse the tests which look for a diff
+ # in output
+ if has_version "=app-shells/bash-5.3_alpha*" ; then
+ known_failing_tests+=(
+ lsfd/column-ainodeclass
+ lsfd/mkfds-netlink-protocol
+ lsfd/column-type
+ lsfd/mkfds-eventfd
+ lsfd/mkfds-signalfd
+ lsfd/mkfds-mqueue
+ lsfd/mkfds-tcp6
+ lsfd/mkfds-tcp
+ lsfd/filter-floating-point-nums
+ lsfd/mkfds-unix-stream-requiring-sockdiag
+ lsfd/mkfds-unix-dgram
+ lsfd/mkfds-directory
+ lsfd/mkfds-pty
+ lsfd/mkfds-pipe-no-fork
+ lsfd/mkfds-unix-stream
+ lsfd/mkfds-ro-regular-file
+ lsfd/mkfds-timerfd
+ lsfd/mkfds-udp
+ lsfd/mkfds-udp6
+ )
+ fi
+
local known_failing_test
for known_failing_test in "${known_failing_tests[@]}" ; do
einfo "Removing known-failing test: ${known_failing_test}"
@@ -363,7 +389,8 @@ multilib_src_install() {
fi
# This needs to be called AFTER python_install call, bug #689190
- emake DESTDIR="${D}" install
+ # XXX: -j1 as temporary workaround for bug #931301
+ emake DESTDIR="${D}" install -j1
}
multilib_src_install_all() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/Manifest b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/Manifest
index a66b03fe145..59359faaf26 100644
--- a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/Manifest
+++ b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/Manifest
@@ -1,111 +1,168 @@
DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1
DIST aho-corasick-1.1.2.crate 183136 BLAKE2B 2d4306d8968061b9f7e50190be6a92b3f668169ba1b9f9691de08a57c96185f7a4288d20c64cb8488a260eb18d3ed4b0e8358b0cca47aa44759b2e448049cbaa SHA512 61ef5092673ab5a60bec4e92df28a91fe6171ba59d5829ffe41fc55aff3bfb755533a4ad53dc7bf827a0b789fcce593b17e69d1fcfb3694f06ed3b1bd535d40c
+DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69
DIST anstyle-1.0.4.crate 13998 BLAKE2B fb501700855709e53438461c2f4b48d869613e7bb3bb700db8bd0d95082876d3782dc2cfe3ce110bb4a206994de56afe0e90fe89f9ccd07c60fe1c652123ba59 SHA512 671c6f57106198bcfc2f9000aacba98fabacfadfce2329dfe8d0e0a2af9404da483d7a844ca2b08e1fc0249371f574c13d0082c9f7a4ed90ff581308257a52d3
+DIST anstyle-1.0.7.crate 15709 BLAKE2B 872e0ed09e7e94c6f6b812349e39f949aff4d7cbb87744ab26fe49f57a7d330e0f79447213374f7f862ea276aab2dd1077dc8df3f7c5f34079ef30c4d17eeeba SHA512 e20d49f7d148e03f7b127be7802e0b6b7a2b05720614d46c2ade5e440ce322b44ddd3a9239b897886faa03ed1cb30f947ee27d3811fa83dffba10b3975eba7ed
DIST anyhow-1.0.79.crate 44931 BLAKE2B 9270f04c6fbbecb535e3081f4275c3df28f6a893c1dfc0a9f7c009994de2deb8ebced04fe5e6f62931b33c3707f4fbfb0c3b28da1a611b413d40d27149d1fd2f SHA512 ecd6fb1367d494df18c0e274b336a133f3acf7b6a5487d20bdd06e08c7f1f729877086a0966e998221daff120504fadd2be2dc4219ed621f81b0a50c2bbc2011
+DIST anyhow-1.0.86.crate 46741 BLAKE2B 21b1f3acd1c1b659e6e9a53693178de67c806d7dbad30dedea0fb7078b2388baa196d1e7240a7dc88ed9dc93ee4c00bca8e608dad1b6bfb5bfa4f4c5ab51f0d3 SHA512 3853da32a2c53d73969bb29a1e622f3a6d5832d8888dc6bc8eedb76394b392f983aa3fcb1f542933e238841486106f0f38e9a2400c12c7699baba0ebe1d8193a
DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9
DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635
DIST base64-0.21.7.crate 82576 BLAKE2B 25cc8761c14220981ff4ed332058f6179948080cbfa2b225ec1d1602e4af14cd470c969e8b7049117e6fc51a5a24e06b1d27bab844486ecb76409d12e0581d5d SHA512 c6986d88dd9aa081d914f35b4174be4ba874848657ac4b5e63b9b45af765d973289c548ccb5a01584edfc0d8d79ff5be25b51365295d6e7a311bd7f0ae3c0cb9
+DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
DIST bitflags-2.4.1.crate 37043 BLAKE2B f61c45b142265e9c2944c7054e01704de47510735e9ee5351cd02b98676cc4eb42d68b1fc4849ad5f54654617a74f20cb533b4207c2fe76516b724ba9318b414 SHA512 d3fd7abc95acc1cb5bf16d6acc12dbb8eadd250f069268df13c2e8dc3d5f5c15a929cd17ca931c77393b64dce0516ef8674c469789ed32d78e315b5faada062b
+DIST bitflags-2.6.0.crate 45357 BLAKE2B 3a368bd2eb58c095b7b4a46680cc2d90a28e24b2e37c854bbf8647c861c4b8fb37eca827599673c5c7df763048149dd82123d1ede1f8a0e58a6bc23c8250f7e6 SHA512 f9bb3c48931ed7e7e05ec6d13305af5da6b6c18861ff307d7dc17c658f63972c87b70b0527287b3625c8592befc207cfe15550654995faf3862bb12a6d95bacf
DIST bytemuck-1.14.0.crate 44933 BLAKE2B afd34f2becc41484e7bf71fb4a9f0925870a4f2d9d59daff9e91bada000462baeced4314e469a508d4413a8f2442d83a5f3082193653403fbee1340ab5c3f6c5 SHA512 f072a97e5de93228435bb362363ac1af0738b7927832b02a837f44eb21b0b089589b61e73004a06c5e4d4601e66bb42e67b9f707bbf13429a40b6250a0f05ae5
+DIST bytemuck-1.16.1.crate 48321 BLAKE2B ae8525a829a2c981200dfbc17de7f2a4e14fc6df71328c1a62b27dfa7488fdf634b4a6f45e65104bc45b828a91d3d0a70d06e9dd4c61dcba18db09204a22a6f2 SHA512 ba9e5eaae4d4d5ffd654da0359cdb5e85ad2d111b26a3b5147bae69519963ae3118ebe2afd34e92305cad3b3e573cd5aaf175c3bf81e94126f65ca3c9320b9dd
DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f
DIST cassowary-0.3.0.crate 22876 BLAKE2B 7e74a08e02050548ade7dd1ebba7ce4e4360d258ea6acf126453889dbf16df433bed7b68789736881c957f4c09eead1f763a0c02f2474157b1650a1e77e6eca9 SHA512 0838c0b79ed31f0c514fe4ac82633976e34b0d6cb08616313cda0e00623514fc6498c6c308cfef54ea029f1fdbaafe2991ca8ac3c38437a113ac62e37f9397f8
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST clap-4.4.16.crate 55534 BLAKE2B 6d0b65f2c0ca0b8ad023abdaafcf2de397443188f0774c8b6ef6704231a81136476fdf41272e810ccf2a9af68b945c4346dc78c4e10467502527ecbaecb3ac76 SHA512 d3cb37f54bc424220d91c6cd5a3fb04cf116db55c7371356484e52483abb289970f6a0948eda32d54e2dc47c666c533c0e2f3391f47f439f5b73a68fd0b38064
+DIST clap-4.5.9.crate 56348 BLAKE2B e2c60cc6dacc6d6c7d3718ae3748ed5f681722ef060c6b2c4ec1262da4ff4c3b235df3127946816ad61aa03d3b98c55739877dd14d1182a7d4c37daf6e1e349b SHA512 6eae38d69f99fdcc7e2a1f799b4ae770a00dc8556def97a10d578426f6770e0d86fc32816aac2dc5a59c147dbd7501eb9f7b94953a2342cf74b1034459705e88
DIST clap_builder-4.4.16.crate 163503 BLAKE2B 9e8501c1cb7a3658b817a088ed4e2a94acbdd05d24fa67ac80693ca3fe75b36f07b69d3c44c2e5a892910228b7bfb86e9fc9443f45e06b5290999cfd4a310539 SHA512 0c627bef5bfe57e89c13eaf31e3c44ce730de8c5097d16113ad95cd8e3f65493ef9064bb962c9a617b2cdb537e7eb1cb3a303dd1779a7350539ea17d6facc16b
+DIST clap_builder-4.5.9.crate 164088 BLAKE2B 47021738e0d3e946360ddbc144923daadf7151129e8548607ea3688b75f9a71ba676a31dc543a7258981fd3e561359fc0c5ed5fb6a921420a679e5d7f072c5d1 SHA512 5f9e297036a86bc33daeb76a8d906e14c58899c460ab66c934b7db0309ed5a7f63bb10d644f84e692fbb84081c20102ae97e33cb39e9ed71bea920d4e5e6aac7
DIST clap_lex-0.6.0.crate 12272 BLAKE2B 22aa04997fffa15a2efc7013ae27fd223c3247cd31f8fe96aafb4e87e3224f075e887df10a95a2da80b468d4e16088ae9f171ba6551c0ae06d77bf3b8920ff9d SHA512 3651aa5e27ed35b6b75b1d25fd9c20c26a2a6039116e54d84c51469087732a4f0fd71754326456b367e341b017d03749e9a6774cb7b62250ca8745f5af46574e
+DIST clap_lex-0.7.1.crate 12766 BLAKE2B e0e3a1a4a65bf9df3c21753f9298a7461046e6b34c7a8d26521efc551ef3511a7d202f25ebdddf285ff68c4073364f48cf739ff0bda32f41d4fd0c87c4cf02fb SHA512 4cdede5eb9fa527567e9f3f94fd8fe7e1022d9e9236e78d30b3068befbaadedd778b5464f800e74bf187c44af9df582365f4d41a0113f8ab0fe9abc936171fc2
DIST console-0.15.8.crate 36364 BLAKE2B 467de2c2fbfe31688cea20b338558ae9671e50ba1fd07983d21f32d7eacb73e565ebdd6ec5e78b2ae04446f09615c70983c0ee534e25ca5a28fd1b408acfdf34 SHA512 b05e49ed145785e29631d481885788f0cc5574d4d7c4d90280dfedaee7f8c1515072c9c4cfe6bd2e017230cd228157222af7e7d41a9fce697cd1888095df4de9
DIST crc32c-0.6.4.crate 9661 BLAKE2B 96eb9b418833dd398e880e81a7afbf2670939b1ea6599bc03e8893e7b5a6b26ef6fcd15a2314e5a4dc50003bc5a7b239f7b4f9670859f4fbb720640d87a4b623 SHA512 5f537463596a57c081f1e28e68c22f1839607b676ed763b2edecaf8b780d234a4fa52d7432262231150ca3f48bc5b6ce5ad2af6f84d8c51e8cb4d10538c2531b
+DIST crc32c-0.6.8.crate 9647 BLAKE2B 91f007df201128e3f0470d3b681322ffa7dce1ef99323fd830d20a8e863562878e77d66acb65d576dba536d3be56fbe9ac99d22cf84bf9bdf4c441d66d068037 SHA512 928319ea908ca28ef4039e7fbde86dce2ed870887e0cd1116a7d016aa7e533f5f36d11a89fd78cccf1f50c4f1ff20b8f6fd5e3711bbb84c2146686a9d351fad8
DIST crc32fast-1.3.2.crate 38661 BLAKE2B ce3762b03d24d5367d89738991c060f4b3af7840e0a7ac7fc17d01ed438caf964bbaefad0fc4d0c438dafa5a578429ddd353c71197f8b54b1ec441395f2f7ee0 SHA512 a683943e252afdb1b9d626a07533ed11cf7a63af603c19640056c5d2b9c884ad9aff33ac54c0853ffca2f6cf94b0730eae6c05abf3e53e55e709d180c8152357
+DIST crc32fast-1.4.2.crate 38491 BLAKE2B aaa3acca66e5814a45f12a90ae09f6ff5fc14ca94c8539184dab6ed928abc68cd1d37e539c268c1effd50ab3af20de6038593fb9c6bd6a664785dac52f6939fd SHA512 c7608d33022062e217d3576f536ffbd51479855a5e5874529c71db2bf6a937ce04d814c39cf777309c38445393bf43cb9996161947e28738abd432f11beb7266
DIST data-encoding-2.5.0.crate 20632 BLAKE2B 16ea08dd12f09f2e6f8ba2910b3db07d4e7c9916e6a70d41420ef1a0e5393284b49787c47af0868bceb7f5d3f1fadf203f5a547dc8cb97713d5225dc9181fdef SHA512 b1de8bcfd7cfbfb988091fdb550eb98dfa5739ff58c4b789663e5db0d539c9acf145ccd72d87f7e1cdefd09d5771772d131d2b2e2589ac8f0bc6972c801ee0ae
+DIST data-encoding-2.6.0.crate 20769 BLAKE2B 9d5713e63f6f6a4d6e5324fb0be9308a231ccefa20d69cda9e19609a2250e2cd72030ec28309068f71c932327a3ef680b749125658e27d35273354c3465f9931 SHA512 a685c7bbd251a5738b27ac3ac8121a0db049221510c99e0ada6f245ed7499d04ec29d725ad01c688ad283e3d2d5aae0751685c804f6d95cae84e63a160d04c9c
DIST downcast-0.11.0.crate 5976 BLAKE2B 4ca0e66dbd8dbc86920d4184de8b37ab41954cb1560c7727334c990b97ad9544b098f7ce50759d10cac8b9cb955893805aed3bac5849c8b44a965e24d2ac7653 SHA512 11b037a09829e3e93eabff69f02b608725e6e348a191b1b6c8bb044b8d820a6ebf46eaea2f8bf5eb1c156f20d3e97be9b581e1b5fccebbfe76d94157d6bccd53
DIST duct-0.13.7.crate 30055 BLAKE2B f1259e9818a7c2f1df3dc387be3837a987e0246dacac84d3ac3443a0c6870b6cb4dab36d380ef8d04db47545655ef4def8c713c62f6e86f2b995fa3b69a16b6f SHA512 b6e524144360b61b5c134d40aec409664388e88ada241443d152c5f7ef8795535ba243cc792c881557412bf75c2ba73c84e2f620eaf7d4668a15ba6bc274b1e7
DIST either-1.9.0.crate 16660 BLAKE2B ad61038bfacb16f678fff5dd9ccf8f345e1bef18bd7aa0aa9c99d44abf8428939362f32fc8dbb1b60ac56016e0096201071d0bf8c0431b660605d0dfa97da466 SHA512 4978d50842386f51e31a47ad037d5e491106a668bc701bb833e6ec3998afe3ebd80efddc47756b2f300f534b39b26fc01386dc878d3b02cc8c1fec6a474c2177
DIST encode_unicode-0.3.6.crate 45741 BLAKE2B e1e3792bc2bf9db7df33a516d0d755eef5eff1249aa9b2fd7f0dfcb155786c566fb619c9b2d73425a8625c8593988b117e9676c341f65e8795ddc838bf9881c4 SHA512 64193d6ac75f66d58ed864169b5d6228ede36dcf100614395e086bc8e847a3ddd287734d88e8ed50f38c679a99c80ec68449175a67d8ee03b02ec1cfa9d55e77
DIST env_logger-0.8.4.crate 33342 BLAKE2B b1bb359be2f34ca6f93f72154c86920b8254f574b48f693b2ae7296cd1ff25d34dea61e95fb2954569fdebb6c522c851ef7499c107005528aa2226df13b0de33 SHA512 9e4478ff609a2e1e1a902a55b221af43a52622fdb5668dc33fb0be354b964708b7b6d13b7f1ef11982f45fa7e71f0712a2ab3fd4ea98155a5115e5a7c3d33049
DIST errno-0.3.8.crate 10645 BLAKE2B 4a7af10845f11b3d8f177a75a692be468e8ef0ee53fb84a4d212335f1499456b6739a59af260894b5c3853d3bf21ef3490d1e3a613305561203ca334a636c3b3 SHA512 29753c421c6f929760cd7565f8171696e4f70e677654a7507253f4fc495edbcf214ace27be46bdfe5c1a0d782f4b688f591476e56f4a1096471cb353c643328d
+DIST errno-0.3.9.crate 10690 BLAKE2B 8deb19cf0c830ff2adebb733ab961558cb4463f256604f9c76d5c5952f34a79b70dce47e28f68f459977ef34d4821ab5d0f7e79a7a110693700f80b49ba56651 SHA512 777fbac5730d420d58275ef63b7579997d8e6c72106d483ee1e3b1f1ce3977f1f66c56870a05acaa4cfacacb820eaf963e9c763748759cff3668fa2e6f89f04a
DIST exitcode-1.1.2.crate 6538 BLAKE2B 3015eb8bf6658336cfe43b4cc59ca95d8fff5380dfa2bb2a3086005b0dde5e6a704c6b62e027bb5c0d6e6103bb5dec4ab4c869ef454361f224d013c267bf4a78 SHA512 fa31817e2bfdafe64faaaa6b32573e01e2ca0db24c6c88c81f43d84a9db66d19db842b61cbd89b8f6e199aad531a1dc0053b2d4166e0f9196f275fe715f28fc3
DIST fastrand-2.0.1.crate 14664 BLAKE2B 7a5812153500170dcc53ca8d66384fef46eeb5a8f970be43863f22f82bf427672d07cb053f4e04b0fea358ca89178399871235680f57223b8561c07b8d21cf13 SHA512 79a1e1b3f39264f037def236afbd87b732f5e0a2154b1d9e721b3c7990c52be45138320e2571fe628f482e0da7e3cf867abb745e3c277b19015fc031fd4410d9
+DIST fastrand-2.1.0.crate 14907 BLAKE2B f96c74c1da31bae35e5ae0a557b3cdf120099cd7f31475ff6ce0eddfd8d30baeb025cd17b661f452cc4d3fedde763621301545e28efa030b3be21d1d9ba8d0d9 SHA512 ce776a3d0fbc108017c93ce9bff7c9e7e65590acb149dcd55c2f349d2077ffdf5ac6427753732f60cd7acf141ef6f89359b2e7d9368016be53b24e8703e71104
DIST fixedbitset-0.4.2.crate 15954 BLAKE2B 91270883db5ad0e999ebbca1123d8729d3040eb936034ab8da3cda72a830e45fcb977b3fe3c2b94e870c1fbc366ee8602357bb77e8b9a40cc41a04afad1b266b SHA512 57c5d756b0a202b2506270f0d5e890f7617a1e0c015b6059ea23fab49cf7af47fd06927eb56feb03b37cb2b6c467e326b3f0da1e32cfcb6339cf11a130a3ccab
DIST flate2-1.0.28.crate 73690 BLAKE2B c9f141bde0eda6b9c42da0a3ed69322c12c6c29bc522131f51ad56f6e2758646aa5585382407409257a8301f5f07a1825d150838bbb55822f2d49037f6279aa8 SHA512 9db6f3ddc4e1e91960b07c08712beabd911b297d93db8be3ecb97a392a4262e608c75ed8e9e34d87d58c3e67d1b7987734e14ab3d45fd837a2767e8016380284
+DIST flate2-1.0.30.crate 75511 BLAKE2B c25d9ab787ef60312523d80cf277bcaae16c7e54b1deb0fc8723a3b22c2586092343db1c538d96a37690d21e52ff822a38c90e10bc554fedb75671fdff6df309 SHA512 21528f80c1709cfa764723dce012903581dbc2b63ecad194ec601fc75103307e1b2ef17479186ad895ad957c9a33c6fd666b2981382a8a68ca78dfac7cb5d578
DIST fragile-2.0.0.crate 14668 BLAKE2B 2e589b312d7409a1a550a676303b9b2adf2e28b0d4cd02c7fb22b48a88d1f88a04e55c4405078e2c43b13ccada890a33bcacfe179abd12236c23f219d275c4df SHA512 a48fee7c13ad800142a9ef1f355b2200b904ad9bf97b3601e310bad2b6ad90ea235b9704964c54be1d9c415c9c95fbc5f49e8ba5d7c6ee3488573f3404912608
DIST getrandom-0.2.12.crate 36163 BLAKE2B 0afef8504932ea0ea051cde1d14bd5b79edde68d6ebae6fe88fa4aaa532605a16f466d0d9c0d0aa619eaa105600b6d5ee4e191865a3fa041549a78f78ca82396 SHA512 dd97d7dae1a7ba653abdaf2db719e1a9c8eb721b08b4af0f1c45b1ed5079069d1b57e4f6d9d879e7fae3a890763f4b6aea9bc2d945392b98e811e7b348589bee
+DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb
DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
DIST hermit-abi-0.3.3.crate 14253 BLAKE2B 9ed8b40a1cc894addcba2a45562d74359ba55156e2c3a547afce139324b1345df2f158f58978ccd7d343fac5e5d2cda86e2e0a9dafc77af36d4cd8aa0a6d4c03 SHA512 eb162d085e8e0db72571aca925fdb6094d1e5d091766dd62d6a116957459bfadc8d51f1acc67f4da3cf6a8802c0ff445f3ad2516c1df8fcdca0b751632e150a1
+DIST hermit-abi-0.3.9.crate 16165 BLAKE2B b779f005bd4cb9ba9abe401a0a559a5bbcc44726ac37f53e9c8d1f7218389ec8b48f74d14666261bc4fba4fbe5558cfefae873c49a2312c8c8bd4010b8344064 SHA512 f3a5a51d834a6ad55480b53f7e9cdc73a512ab0cc6c246a6ab1e8bf8f9851a0c8a55982f5bba6cb57b5a03b54870e73b0bab0a79195764c308318394a3ea8045
DIST indicatif-0.17.7.crate 63108 BLAKE2B 665bc2077207cac6ca2071d9e6ead76abb30d5f7c209d7b4a2ff5a1fcba566b331467239bd9168082839c961acf5a0522ae4c899aec141ccc649025b2eeeacc3 SHA512 412955eec523e961a20bb48f9921128004e723b405c8f1bb73abfaeb4f532ac6f883794fe6c8738a40c2e0a400a6ebf94ee17d89f7cdc98d9d0f8611d84a369e
+DIST indicatif-0.17.8.crate 64869 BLAKE2B c534020b2c7b25bb07cdd0fd4414fc817506647cf5b8e2081c22be58857d5adb170082a3756004c69187619fc5625f8b9a1904566dc51c621838e09ecda5b43e SHA512 487e73445c5c7d3c16d6f93a3d9767f41b37d2832e56851154f8b69e678ab7d9ab04eba225a6bcf8b48842ae0db0249b060e998e29a252dedf8afacdc88b1aaf
DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407
+DIST instant-0.1.13.crate 6305 BLAKE2B 83a2c479e21e789ca9795f66116ebc55481a42afb21f4c0ec0551edf07781901a28978667e92b01355b43e0e1a7ffcd3cc37b5501a7521da78f4f352e586c9fd SHA512 b7839431e8920c4c0841d0974eede75fc50f2bb7a9475664bd2c4ff6c558a10084e1c025e5be977c3364ae9112c365c0a6f480cb9b35ee4130ca2beebcf650a9
DIST iovec-0.1.4.crate 8720 BLAKE2B aa1b4cd98ebe47901c0959cf1d8eb2586a803d0453e2a8bdd5c63442b32886dbcb37650aa218c748fd45c9fe3a7fdf20569eae5b19716487b139caae1526da4c SHA512 e23fcaac239807daea20ddcf2cdd4fb858ba1aa970ce6248f70f0fba5bff7ebdb27247c0997ac0ff2791178f86ff9657e473d8f64b86c644763e5b3474edd158
DIST itertools-0.11.0.crate 125074 BLAKE2B 8e686f176764e92e4da3697eb781e1bc30d6c57ac61d97343b4fc3a48e4febf669d5771fa8620005c620cce52c236760ee2e1bc344cf602e878bc168a2e69cab SHA512 8ece00ba0a7cf481ad4586da24385a6f0b1719b9c3f0c25b9b5b373dd1a0ca7b9687a77cd179853392890b7bf4d31e0356a4e5fd540465b4ac62bd74ef717fd8
DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
+DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f
DIST libc-0.2.152.crate 740278 BLAKE2B 8eecde477063207d77b6894d6f9194c8dd10e55b69585e3d66296eaa0b9d3f6e2d033e667207182bf4c3cf31f6d38820c9187b2006f4b5ebee898adafb4b2751 SHA512 1722f6f52077efab90026aae3d10306f8c38ebba95366593c3c1adf707fae121ab450064ad9e8be5a667caf6af0b90fad4d1ca1009db0f2220093c44e33c4b5c
+DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807
DIST linux-raw-sys-0.4.12.crate 1465800 BLAKE2B 2f70a344c427093fd55732b68239f771cf6563edfe2db4b2f50cdbc904dfc7565b30bf06454b91482eaeea787b9cd4214979665bfa32f3c1c586551333cf4d2e SHA512 d9564d02d5f41356478066592e438629adb3275df0e5a1a44030cc99bf8856b8af64f18f27371f84122a828b34712aae16495a1a16050fbdbece6d95e9cdace9
+DIST linux-raw-sys-0.4.14.crate 1826665 BLAKE2B 804af73daf396bb20da14f831f26ce06325181de14f0c277350bd22d21789f2bdd663a964cc0e7c5cbd2e084285d02a401a6bfbb3e8a8f079c120f9488b56f99 SHA512 28149660bd975ede05624af3582d5c78f498239f5d89713c2c32f5372fc16f4ca024dec35f81ea973a2cf986098890395dbda06ac6cf4ee29df3f9a0e11eaea7
DIST log-0.4.20.crate 38307 BLAKE2B cb9c9a401b49bd68c18d5e42f2ed94446f1aeb184caa23cefacad4ce54a2a357143af54a5595c45d6f3c3d20b054c451d9e6ccdc09c19cca99ffffdaf8bbfc72 SHA512 8661b0c71d3b7fc0d679aa3d7f06910e6d3da1c53862aa06526000e1bcaa0b0b068415a1a9ab317c318f00d15346dba8a4f5d2a60d8850790bed9cfaaf757b3e
+DIST log-0.4.22.crate 44027 BLAKE2B 831dc5092db05123bf2e909eafa708339983edece9bc8cb802f0ab418d47ddc5045a72c1b58bc7c46ffa68080eebd0fd55d6e4f5b3d5ad3b0bc6b2ea0dcaace1 SHA512 bd7baa9c8a5523fd0864a53bcde955d484cacd782412b5b02c890b89dbf62137624da3a27337a310dd8f62bcc6606925a42bbd4ca161a3b7936ea4ff96bc0d71
DIST memchr-2.7.1.crate 96307 BLAKE2B f1a008fbdbfe84852a8ae1d9d9574306b1bf120dd5087903adbcca6af342c9abbb296496eb9bf6cb58915c4444b3edd6ca4e27131ac7d8aed8849815df87a944 SHA512 5120496faa31fc427c8b4178461a262b3a34d70eddb7ad17a19d6db8b9969c9e113d3625b5e6dc677087fc80907377b00ba0421aba9a92cf73ca2849d932f473
+DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2
DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c
DIST miniz_oxide-0.7.1.crate 55194 BLAKE2B 56afbe0c0b3eca98105ae2d507493f365353cce29a6b04910ff26bc75899400fdbd067756cbda7b3d86f047fb8f3d737de00043a4a7348a813cc43e45824e33f SHA512 5eb6ffe34a866403273ff0267ff7838aeb50722ca57a03d5a1d842a5f19a3b4af570b133a3b9d64d78eafe49e4b9732b92dd63fd9c6b0ce59b3295daf10f6a3c
+DIST miniz_oxide-0.7.4.crate 56119 BLAKE2B 68facfec9ff405bebe99f52bcf3aac6788f1b5eef313ca393e2a15e1158bf294003cbe31efea4c793e644e8ab4e00ef67d38f7d32849ab6f01a8e19d31c30221 SHA512 482bf02d7bfd25bd8abe5e5959132677202d8c5dc014b9b0b64fbdc204be1b8431867095c140a1183dd1ca59f6ba871a355422fbd148ce34d62960cad2b7a978
DIST mockall-0.12.1.crate 22845 BLAKE2B b2299c6060b609732b041c66f58437e1a52228016ecef33f9d2d6a9e017b86f35079ef69ec7bf511d4fdec309c60bb4dd9cb2570c7a3e079a37366c5c1a0877f SHA512 8681eb1b1ae2fa00bd2b73269a0b493361d0003da4080da79ff047692c75c34359621923b06906046218acddecb1fd49186fb7b4e752c70657dc9becb8f20c6f
DIST mockall_derive-0.12.1.crate 45330 BLAKE2B 6593becbb7eb3393a8f05ca4d5d6fa8ed9d0ff00c1b53a218b39889a6f8e14259e29334f36b0fa926610296d5f46f17e627284cecf8dcd3689334d589078b394 SHA512 5a99f5f9cc0bb1383edc3d2eebfabbe520436154e39cc4a4556f03826493ba888a54127f40ec70df66cf9c83262cecae3ffab03de9cbdac2716c431e7ccd39b5
DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad
DIST num-derive-0.4.1.crate 14840 BLAKE2B 9dbacc6cf946aed6f765fd70ad52e7b6ef036a30cdf7df39afbd8dc8657cb4cfc8954727fff04dd053d46c4f3ed513217d24914f3611c96abcf2eae83992be2d SHA512 ea7bcb94e83698609d055981ac5f112e9b18edc87a767c0ad77d31bfb6fdd0d552f5a23934e2956bff56777e9460c08ea05a5ac636bcc6d45512e4c330260d30
+DIST num-derive-0.4.2.crate 14709 BLAKE2B be4abc3c51647f2d4ebe0c0619948cdc994c6ef808d768dd2b9274410716f524ec73c75440f7a780e4871f33055c81f800b0171e4b7a4e2214da5a3007393dab SHA512 55b951470a07dbce489ee43e1540056123d3eb7b5240903cd348951b81ef5aa5b2b1db311d1219bec8ad191373d0079bf40861e3f45380f8d8132f39d33b4f4c
DIST num-traits-0.2.17.crate 50190 BLAKE2B a549ef00c749dc7f276c4817477d1f9dab70cba01b6a3afa5743f16f16353bc50d992d7446a54859cf750a410d66c8cd3440708a6b91fd89d3b8889f8fff1668 SHA512 4d47d3e2f5a31019e038e609897cb0cef1ba061b35cee7e2a02e65179dcdd4960bd5b9bc759b5c013d699b3fbd9b014940a15e36658f7d4fd12cb0c7841c5b4e
+DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956
DIST num_cpus-1.16.0.crate 15713 BLAKE2B 11b432fc7c7496d48918f09ed0954e0f1d0845596301266321293b374392898853fb7c313a0b0fd9d22d9dbfe3ccc5cc1e38f38407c89b2e5906eb76caa6ad68 SHA512 a75863afc4a563e63c64d06471c7921615355d98011ea9497b1f1a7dac2bdfc876509136018e8062ac38575ccf476a196d1fd9231e09e90017333bbf2df4615d
DIST number_prefix-0.4.0.crate 6922 BLAKE2B 81bd3b588c788e6865104e5ce87119b5e0c5a526042963d52cd582ff23c2f8c9f32b4c445ef0397fc402b6d047e031d8e2c67ac97e191bde22e17662eec3a554 SHA512 a43b668d7314218b86ca7451daa9dfef71f6c9f6616bc34c12d94ae6030f182bcca9da83905cb46f3d49d0aa81385a787e92e4f3ae239658067adc249f8174df
DIST numtoa-0.1.0.crate 8999 BLAKE2B 6a8cbf17458227fa87bdd6a35404e09afc092a1ea45d68c6c035e08a9d344fdb356b1bc7b52239dd6354ed9094e9338ccac599542bd7f0caf167ab8d17ad5fa7 SHA512 41b5c774048592c5867fba217c85d4ece4540e0f3ab0eea7dd1a6af340ba46dae42bbca62ea7fe3afdb258660f39a3d3082264c99dea67d3d1ae178d00a01354
DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
DIST os_pipe-1.1.5.crate 11430 BLAKE2B 45abc371ddd363d193817a339f9e1894ec6fd275b9c9d190283347bb023ec7686e3ca6a5f2bf09cd7ee6abb8843ae52410c203af2310bf3e35c280c5b9874ea5 SHA512 d862484e9a0594f31e45531fac9a892fe247c1003a9c365a28083c0b5132719fe6fcd7ed996716a4baddf1f8ec4857d62d05663d3fd7ecee5802005c55368048
+DIST os_pipe-1.2.0.crate 10615 BLAKE2B e00c9a1d668253ee8b759ead12708d75b180abd415444fa995c18107317ad9465c11af1f6be67dd8f64bc7d289a0e12096e9593af99c1052aca644efc5d83107 SHA512 77662eabc70f034882da4662c6f9def1796e6564f0965beae961998ed29d47ddae8ef3b8c9e612b46ee6ab907db49a6259f8d586156ea88f4e0431fa306211eb
DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a
DIST predicates-3.0.4.crate 23240 BLAKE2B ff0b96b85668dd24e8368479d82210b38f591f67a0793a080670e02b649516be8acda4ae5f80e98113a2030bfc7ec71cffe53a0fea4fb65f98b3a2fc1f6daece SHA512 b2dbfa83760004abce72f2ef576d7ec079c4ea909120a8fe1ec6b87da0fcc2b48406cd6857ed16e131281b4775a6f33ae94f975e381794fd9a98a2c0e11e1f75
+DIST predicates-3.1.0.crate 23090 BLAKE2B 6c51fa390f3335501df604afda47ff1d2a69322d928a1412bcc4829f16c3ff5d345ae52f54d797c9698b0eb7b26495e594d8c21f04fdd77c8119ad4635184adb SHA512 1ee38c715b4b55038497a4a4996e12de91d356d53173d3a034d6a1f56859cb3a4a61a82d016fbefdd6ff291519097ce9cef950547d3d437035cd7093d965dbf0
DIST predicates-core-1.0.6.crate 8084 BLAKE2B 337cbb155bc2859c5a8b891c21d352e998cd1eaaf606cf46c003c9c499a42f12268b071e7a4cca65d50cdfdfd4267f023076e078a0a3eb401ad836755d65298e SHA512 afeb1de4275c76bb1c5950f42bce2f83a21ab217ec60130336286cb48b15f36bf2a1ca346bd652c10a65a1f9e3310d16b23b8333a3e0f7e20fe874c3f728e702
DIST predicates-tree-1.0.9.crate 7960 BLAKE2B b758c52dcdd0ea237ce25f0a092200604765bc83c5edcaea646c6b1db49431296b61aebddea3b325e62f0ba9bbd5edba7ec92fd031cb597e7e8d642b966b401a SHA512 1fd5d9a84ca8fdd1b3c4759d5e6fb16e3d8fe8b0dfe5afbd16bb509c8558b0750705fff47701c95f7a8df1a222f639116a1b9ba4d89775bf03b06daf34f249a3
DIST proc-macro2-1.0.76.crate 45660 BLAKE2B 40b538d9d9fec10b9e4b147ce0a86efb10feedf9e0452e5568e8ad7d2b88a201ca6ffd2cd62d8815a1ee72d557fe6280120a913868c3d868c1235686742cd8b8 SHA512 2ea7ade475171166489ab3e745e8c526e49c7521bc39b1bfec6dd2fd0807fd3cc5579235f77534be855f9ecab481205e77e66b14ebb22e66d2c3cff842567247
+DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
DIST quick-xml-0.31.0.crate 172236 BLAKE2B b83c7f485a30576027a4ae77aa23cd6284942d786f0f0a14faafdfecff646371ba15133b3ba90f820183c8537c8ac47ad3e1e7deaad65e56761bc662be406026 SHA512 9b1f4f9c32694ccb244938a9a4e9373c3902314afb6af5d2f6b1be55e5ec63fee5cf1085f8f32161570cc10fdd96f3375c7564b1d884bb152542b86593f175de
+DIST quick-xml-0.36.0.crate 183905 BLAKE2B 645e89e714ac5058fbd19b4b2ed75aa02688dfaf220befb8828a25776833d4e40f5f546161a46f38196341cfa68ad1cefeec81d0653ab9cf5e163dee5eb0a365 SHA512 7b9548f9baa5aee3323c34ef539400fbc4b2b95433ec5aba2d1b0a488615cd80c1a9bfc2b32ca4b320518a4cc9093bdde1c3bcece3fb5debd0d80ee682a47eb0
DIST quickcheck-1.0.3.crate 28069 BLAKE2B 5f0ddc8e22fec55e879745a95024abaa03d7bcfc6453286eec072663b36a5d6ae247b3c1622c4743e1ca9b7c4bb21da0d095aa5247f32b0bedc393f92cda6bc0 SHA512 07dd707c9d3fd0b9cedbba545bc8b4fc1ca2770d169e444f8c96f8306d3161a6a3e9189cc5d0d6b3dc4221f7dbc05887dfe2dedc914f88d5e69ab2b94179185a
DIST quickcheck_macros-1.0.0.crate 5275 BLAKE2B 1681fbc5a476c627da442d601d9f24dfeaa147dbad7c8d6989ad73cf5a204963c29b2b5bf68513ba74c322f74ef5ceea92594953e9034921a2c8132150252779 SHA512 f7de86f76a53fc36063f10f5405979677a2e48a96d13c439a4aa98e89ec7f3c3cae324b8dd789a5236630110ac9a1763f28361442cca08d1a1ef458c7bfadd55
DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2
DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075
DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
DIST rangemap-1.4.0.crate 45931 BLAKE2B 64e6c9baa55ab2a4c68cacb7d33a060c582ab3e7f9ecc433bee5c3ca4e76b8f86bf9fbdaedaa0c5ec2af600d234d2f949d764799439eb494aa6163e36bd0caf7 SHA512 15faa3f26c38f395388f596cf3a655669cd09a84ae1a17e61c40dd62e5331c6bede2bec09ec6961f870d2f46e8cad7fea70635546721cac3015482fc264974ee
+DIST rangemap-1.5.1.crate 57091 BLAKE2B 2fde0bcf53cad7c90bd39f6bc85f9d0913f9d772b93259b563ccff7cf08ff22df6050e7838122c8ce1ffbd87185f2613bcc1d175dcec4439835095133c8bbef7 SHA512 a78cc008bee3468604df91e18e1a03a6d1701c1ed96f4dca5995a97474f3d335bd6208f0ab2e6c616f501d39da86bc30a3f3913ffbf4796be45a7a9ad1b1f160
DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
DIST redox_termios-0.1.3.crate 3240 BLAKE2B 3aa7360c9e982faf433b527605fab4cc01f74eac5f1f4698b5c7f43e5a7645fcddb39bd639c8f6935fb82db5a065630ee788fd8b111cca80be15db1a08d0b3fe SHA512 a221afea8eb1c7efe848e270a6ad5b65a97af945b4f64d3aa5346f5a61a9daaac1993446ddd78c1923b798e1659518856d7260d9d30651d91897850b0a1950d8
DIST regex-1.10.2.crate 252839 BLAKE2B 4be7bede72d41634c52eea25566fb13337a84a055aae6fb73d3b18ab9168085ed04ffbfd5b6f87c2f85c9922893b9c9a253a8c874eae9185b2100850443b1517 SHA512 e594f70cc540586e4039e7b905ede9e507757b531f22a94aae185e47732ae0d54bceb2c6aceb815819a9652c01ccf697798d372631f2f864c04ca2eec59759d3
+DIST regex-1.10.5.crate 253805 BLAKE2B 9f5418b577209051640c3614a98b15604a1e71144763a6f00caa7757f0ff67fd833a7d14fe9d6acef96386a2a4eb60cf5d490472e73fd62ca8bb0e78d4f9f125 SHA512 177fddb001e14281510e34070f88f8e5167278a46f1d93d9286d9606b7673346f504e4064d7ad53558e6988a400c728e33b663ab398fee12ae23fba7158da5fb
DIST regex-automata-0.4.3.crate 617011 BLAKE2B e685724eb037411c1a73d6d355c76e9e32c40f1c9029acaf86477796d3f5ad092b0c5619f4df2fc1ce34243f2ad8af147aa31f83a435e5b5adf55b4c9c8a9359 SHA512 4fc82fe3556f829956c3172447589555ef286fd66ee9a445cbdcdbe57970655e35b6eb0895ba02c344d826609257e0c95d3f7f51858aa260103bed7b08d8c1a8
+DIST regex-automata-0.4.7.crate 617582 BLAKE2B 6295d866706b623b2025fdc0c407086fec15053229d708713d0ec165bd526ba25e7468d0009625cbbbc21d20345f0af2eea10addf6de633e8e6a02dddced67b8 SHA512 b19d00d64bb8cd833cfb35fabb162b9481716f4b7f6035c1c8f1de4e0f90e00823d006e057aa3505aeda48c9e1802e61173c4a2878891129a3a918727e43b0d3
DIST regex-syntax-0.8.2.crate 347228 BLAKE2B 211fd1c35ad0f28874d4b4d276e0fb0a27e5a1608f2f16ba2333641b154624e378419daf8d1c955f21ff5f40f6d49c89569b7e11ea5649850846d0fe447a675c SHA512 301dde555f300298f2594490ccd8b92033e4917fe9b8671b8a97db6c827793c73969be85a92999964dcaf3177edda51abeb576811ad6cab9772964dc0a77e728
+DIST regex-syntax-0.8.4.crate 347577 BLAKE2B 400323cdad2a7daa8d4006e4dd7a7b1234704df0f80ca0f4bb19447f8f1d270053bc8aa613e48291ab3a78c7eb02d7afec57bfc8d966a48b372a4c80de9b120c SHA512 10719c138d9aa304106fcbf77da0b01645d1b6fbc621abb639dbd43ed5fc3dbd22aaad8b86df55a60e7b2b4fc347b6f41419131d7b047273e146073250d892ed
DIST retain_mut-0.1.7.crate 3945 BLAKE2B 475a46e0e3df8a55305b0d14d6da595874a3c3bceefc4a4d4feabb5ae245d48190bbc7ec325499d2aafb4ddfcc0906789bee89689fdbac261a92b66bf33cd493 SHA512 c90538becfbac41952a0d5ea1ba0dfda4ef6fc8988ae60080c0ac32e3abfcb0cd674be7e7c221debd916060c6447ac59ef8b3cd93fd9d558228e70d0dacfbcb9
DIST rio-2979a720f671e836302c01546f9cc9f7988610c8.gh.tar.gz 27249 BLAKE2B 5a2206986662979875c6f8ed5c9cd19465bd22bef1ba55bc92d67bc539271a3af29993333951377953de2f4f8c8f5343c2def3350f1e94ead572a7b9b09159e8 SHA512 40d5b942737e099735bcacdaedb101e44c39dc1f8e1488550d3a039562b5b2bd78edaff42b0ba9731f038f0555a0480152ad1c33bf31693892ba5733a39bd946
DIST roaring-0.10.2.crate 91257 BLAKE2B 1c24f76bb038451f8239065ffe278625a4bfc5e46580e91a2c2c02b584d73f34c5aa5905ca3ddaa99b040fb2e679d93c3c21962d814af1a6d76d33920c1d282f SHA512 a13b84d9a2dfd05f0410f247abab816980c8b83504f40ec1e043335445ef7115a0d7bb00e3dfd22fbe8616e71187649bf27123388e6fc812451cd64c1c6cead2
+DIST roaring-0.10.6.crate 93933 BLAKE2B 0dea5947fd525d910a1617607ff2b2917b851859eb6a8b448da3b786bc975fdffcf76e6d59ca04fe84438897f84b0272a6dc09351d76a6458acaed212d4d93e5 SHA512 0e62b9ca7243fb9bb02fd59e728cc8a45c151c94209486dc04113c3306011b8395f0c59141814dd97805b8cf6063ebb322a9f03e53b6fd43249199b2d014774e
DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db
DIST rustix-0.38.30.crate 374744 BLAKE2B 63ad9fe2e131259a008abdf7a19735d2e2401e62cceae7b449ec7cb6025e82f8d275c24caba5c23c19d9c37de9b3b9263e96db3eea6bba569eb6146f5b3dd62f SHA512 6ffcdc274f97e7dad9fb0a23fe948ec4041fff6ce915204fb46adc31b55646a5fd0ff3d8d6483673da2cc55044ba53af4d6e48ebeb8622e7ac027a5d390231de
+DIST rustix-0.38.34.crate 365160 BLAKE2B 02513c2513ac45897b659f0d332a0dc32401d238b8fb64ad4a90ecc4d8952fb042c0bde4bf13d52630cef34e73e96dd32cf772a8601b4f6eb5e2961f0a394add SHA512 717cf26e2ec792b41819ff964888adb265a215d2b6c6e2b7a8ca1f7f793b713b853bba9cf03c2cc88b0f9a5eb1a0478faedbc05526f39bd81583e7b1f764756f
DIST safemem-0.3.3.crate 7778 BLAKE2B 6ebc0e234054919687e8a369bc30ca6b007d0e4f8147157ba1a90c290b7f0b490e5c21a6d4406671e26ac073f9e4e06a2bc9b1f21eb152b05c4022a3a4ef3793 SHA512 2e4852ca91160f9f1e764b75145d794726a5f6c162cc99ecbf9cae20474a06cb3a0dfc245b895c51342240f6875423010b33e36d038b8b419a37e4820a9caf72
DIST semver-1.0.21.crate 30445 BLAKE2B 1c779c25576723ee7e44e7c831eacc5dc6bb33cbf051bd0748f688573e01595d05808cdef4ae48a6423df15e474cea58a0664ad7fa5cad490a61f89473f426d7 SHA512 bc3ceb11f2b729be086120c06ca2cefc34c5141d2d4af64279b0868456894eb9097b234b326249f2aa83d8b99086fcac4c5b7ef4a1e14b1198ae808fde245c35
+DIST semver-1.0.23.crate 30622 BLAKE2B af5f7401daa2004ac1fc419ff907a65feb9b11743ad0feca0929bf2409eb81e03637ec5f92ba9f38ea386c4ee5cde72bd3d2042083e2fb0d6fa0b839b1c5093a SHA512 5ea1fa17c08d1280c3a4bc8d28494e88ee05acd5dc969ef6f0c6f91fd3b5a8fbe999c9e8bbd2da383413038b8d29fabf02b87bd5265bbb8333f3fcbe409103ec
DIST shared_child-1.0.0.crate 8939 BLAKE2B dd7aa5bc4f87cab26cd0cd382fa00f42ae45ab6944e3367e355d19fd1007ded068642a35941e0cecc100120bcb1ea7d07d91bc36227261e8207b87c53de87a17 SHA512 d0e16cc7253271e6468659db0d7344c2d75772dd3428f686c49ce34bfea6ba8fa010b1ba83375241bf019e77c842001c6e1ab5096af54af03586e05c3f8fc476
DIST strsim-0.10.0.crate 11355 BLAKE2B bcb25ad0a7284e24e4f17ebe0ccb621bdc4118e499b50b094d98aa7e8fcc0b96716c9953c3516ce7ea78309d41d424892ded595259696a5bbffdcb07802b5c2f SHA512 78b318532addfcf5c1ccc1e14539e258aab9d3cd893cc45d82342549bde838c177d90f13c560671f8f32929af47d0b467db35e6876bd7697d8b3f9e055aeeac1
+DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c
DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
DIST syn-2.0.48.crate 250566 BLAKE2B e46b0863af76c3116c84d01b654a9820b7edc51f75c9c5301a7967d12284f78da602409f34fc40524728350dc6b998a4d738f08b8868f95236b3e5d24c460580 SHA512 926c0ad55cc743df20f9166b6d71fd44421aeb1f073fd86b6ddb53e13cd508b539c0360ce64b07b65597bb14639c8f33acf7e60951e1e9128624517aa3aee325
+DIST syn-2.0.70.crate 266388 BLAKE2B 3141299d952bef20423d72ef0ffc232492342a975452aebdc69b724c56cf3620cafb14c583b1a49dab59a195d1e5231368b478cf67004daeb82f1421e6e28808 SHA512 41685481a841a1a32a35e8a11ebb804289fefd5481e98bb446e194f9d574f2ca18214471800e1259f08f25cc3c91b927d311ad22d839046600772ff6cdd0dead
+DIST tempfile-3.10.1.crate 33653 BLAKE2B 819b183e7840f70270883ee8b6a91fa09861c3112eaadc65007199885abe099bd593e1cdc4d9ab48c23490a6d484cad9bf0e80cf4e718c369cc2418b72eaf09c SHA512 bac7515b85b0d01ea914b527f0fadd3a4d8e77c9eabe786977d2625d8a3e91decaec502dd15bab4d49a43597fa7cf7660fff4be1b043112d13b542a72443bf39
DIST tempfile-3.9.0.crate 32182 BLAKE2B 4e802990988aff3ab5173bd96dbd906651a8df46b2619e6a500a3b9e7f4a3cd01dc7ee977791343f7875afdc4793a845000bb363d8c1a6599aeb6b1efcce5d56 SHA512 04e06c966bfa7a1567e7185ebd5c2876b96e46e36af14931bf0eba63795cd20d1c3427b6709a4cab2a68b8d289fdabd5537a50e5407a76e3a9fa0dcc7d3ce6d7
DIST termion-1.5.6.crate 22677 BLAKE2B b918dc82bfa370bb9662bace34211bc7afa03a042dbd25f4456a7e3859521d4f32ab755780e58070f29eb7903f3b4f8129eb9447cda953b9190f9df3b7eb3aea SHA512 228b6fa7e2f280d6bfc7cef77e7a1d0d8f597178e66af0bde1b1fb6553857b511ba8a6786165815aac6d8a082fd37191f4ea35a47f1e1182f7f2c6086eb34a8c
DIST termtree-0.4.1.crate 4557 BLAKE2B d4300b0e6e908c519a0a76f5e08167f4467f428b2926e7739614cef5d3e294dfac15ae8576f7011a852745713c16da93346660ff96520a2bb90a4dd4c23d889c SHA512 ddbe0d3ddd79b182732359f47958ca32aa351d10b1e7d5f6456700b851aa2b5314ce005e1fd120a248b676f219fbd68039cefc071d92c5b5477d053bb6e29062
DIST thin-provisioning-tools-0.9.0.tar.gz 500998 BLAKE2B ac269fb6dfd1baf1572da27582ac2cd763b07aaac130a9467d05581e7a0ba1309d7dbf4c6095407111667e57af2e8183318d558ed23853f9c84b9c151c0878d9 SHA512 e1796fb3948847d72ca8247cae58017507c0a847a00201b93668eeb8fbfea4107c4c2affa5c211c149798a89b10474e83d2bd61a5545a668299be97aed591e0f
DIST thin-provisioning-tools-1.0.10.tar.gz 397068 BLAKE2B 2dabfe6d64ed806aec8e253902b0465b11105263971839cb2b95cad0d22ce120894a0db0fdb6a34b884509cd52c2f09012ca400104a30b15a1256758bf554808 SHA512 76ff45c6e7df3e1c0b8d7812f8e879879fbacc36949fd5e073e92200caad0005005e2c28de2b2c29eec046379d26b2fff07d9dec41a543d9b039fb27aaf2e105
+DIST thin-provisioning-tools-1.0.13.tar.gz 409361 BLAKE2B c8ff8417a299556b6ebae570fd22c6819489a4f32a9a0d5349632310cfa95339ee64c5fb21ef1d892e0bf31f3e4c48efe61505e85195ea8c25aef6fd619cdf0a SHA512 2857efacbe1192b767b10e39d3578fe0b201c49e7069cb19c2552508936346260ba3b1f55cd4c101ef2bb3911a546474bc4739a139ef4d9b0b5edf9710fc59c0
DIST thiserror-1.0.56.crate 20592 BLAKE2B e98c8bba8d21342c981646e88b72a7cbc146c695a200aae3e076b55948791cc51a29e8818d64451b17233ed4d095d0ef63ba4fb07502f4ffde5af738b8629c37 SHA512 6b7c856745256d6ef9e7ab2ea0027f9c1ed2c75ed5b075068af57cf706abfd835fd4552d9ec7578bece1f820086828c5dec85a9cbada409569838cdc9d63936c
+DIST thiserror-1.0.61.crate 21264 BLAKE2B 97337830507c009dbb4cad84cdfc02bc097b9d39d0af2fdecfaa63f0c12229e60727244fa4e44c2d54daee67bf8b4e8492d94a5de55d1a90b8eeab8c0d082e80 SHA512 9c08b868eaa47178ee60733aaeeda60dc46d58d2b9c15985ba3dcae4923e8edf02b97556df52f508753b0ff52782f6ca3227e9ef6343066e5d5d3a89e03f3f15
DIST thiserror-impl-1.0.56.crate 15367 BLAKE2B 6fad787eb1e2c0f25fee7bef160be794fb8000a0aa292ec0d2d66d7a4d1fcb226c3e2e690ff6a61ba2d8704208014eea84044dba27523d4b2c26d2f7d4ba64d5 SHA512 da66f4674cf699083f7142f3a60c1c9334767b4de3690b4c7af460ffda787fab2089f5bca231e92b6e71724d46fe7dbdcaa19073f5d8100838536d10971efbde
+DIST thiserror-impl-1.0.61.crate 15786 BLAKE2B d63773424aa047c6eed8a6c9bcc8dfcee9841a2d4fdf6fc2c117695c09359371931722198b2e0b2bae32b0c54b6275f964e679b78b8bef1c365ca33aa41562c9 SHA512 b43bd2ba6b751b777e2fc78aac92a3e662a1876f704625c4e894019fc68a6b7628b9c3b7ddfbd2cb15fe6fdc0ff679ff94b0c47e2660a40919000ad2fe1cfeec
DIST threadpool-1.8.1.crate 14408 BLAKE2B 8bd64ede19184e18460f6b2ad5bc888d6facd5fcaa5b43c35269e35909c9c68a884203f5c4b92619c097ad48c19ec29f73085755ee348cc637233ff3b5b50ccc SHA512 adaa5aecdeec25848af15b160e5b39833978454d834974211bd586d81837f2ce89e5590f08b7e0d4868346cf57056913a5d41bc8bf92b89109ed769cce4a8be0
DIST tui-0.19.0.crate 141279 BLAKE2B 55eb71dc524f45c3154f8af4024ccce33816d0c30aa28b3708a4991602892e5980df7f59b47d6c2cfe39fc90d07d7a0409693c37564b5d0d2f2f3a48e9e17c91 SHA512 b90497d06181ca74ad0a976ed57bfd6e6495e6fc96651ee96fe9e326ebf773b6627d87cae07aec26d17800a4274624ad3e835a86c37258c51077c86e667078a8
DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
DIST unicode-segmentation-1.10.1.crate 98416 BLAKE2B 4c391ad34c5f8a00096ce89793b15212555f2d8a367f3ae78f26a36c5897b69f3efcd280a1bd3eb3f61c87b8a26061804b1cd56e1c1500cbcd62e8bc74520014 SHA512 e96224bba73fe9a167bbf226bb13fe5bea085765a90f7232cb20b42f3c584242b7291aeba1eb8edbe2ae40e5bee2f4714f434324f79316b22e8437c77a50e86b
+DIST unicode-segmentation-1.11.0.crate 102740 BLAKE2B 6ab5de53073ff56da4924e8c6ecbfa4bbd72a66b8d86f2c32b2f0ccfefee8064997a6b5311af5de2b71943089c9f52862e3cb13cf366cd645f57c96f2ac8673a SHA512 4914543cf022680f341c4a235f6d9204b3ac9a9098f34a80ee8c94e3d8ccbb82e78af016978eda910987533044593ac629a35286dc80707d349b33e405e86bef
DIST unicode-width-0.1.11.crate 19187 BLAKE2B 6baf7f3b32eb838925e591792abfe11968206d177facefb89ef51daf44c18f3fef1e41c19a47b88b81be50667af626af2024ccc540b240fb6e1d83fdea57076f SHA512 ee06f4144525424327a17578642565f396802f0eea539b3bebc8d9627376a8bc6c5376d83a6ee577068e99fe75815bd765e6d49fb9ab9b253d00594bb15a5ffe
+DIST unicode-width-0.1.13.crate 457228 BLAKE2B 757c4da5fa090369a26130b08440c2348f1cd1c0dfbb6770dd75b65eba797eaa65f5d683f0c2862cced06124d46a89b4825af0d990f6adc2df8709b8ef291665 SHA512 9781d6dab2c6343e8c28ec66b50cb4293261bb2114e122fa80ad2facdb23020f5b621c38030193b918669e58adf143808e5ab4c507c18beb6dc61e97b2e296f4
DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03
DIST windows-targets-0.52.0.crate 6229 BLAKE2B 4b1efdd32202f112d3782b586ce60667f5d3b6f97ccae0d7da833aee2ae81ceece88b5ef4126db2448c9019de3f77e4fe66ed4286bb6275d9a5e8ab74725b804 SHA512 0ea09552d89b802ec0d419b640fa02d0af7af602704a0e88ba10f81d123dee0c907460f6ec91224177ec9a948970abd7414740eb219148a4d66c269c2362740e
+DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f
DIST windows_aarch64_gnullvm-0.52.0.crate 430182 BLAKE2B f23370c62c4ab3fd885e3ee22e8ec2fb5a3a837a57044c1df3f9986dd4e7e9d0a44ec58be1648a41e1ea4d037afa3077f0f03de0204199a82fb8395731815a4a SHA512 b7c3fe0a2ad5149be0df48fc7a4d15879eb130bd9441c58c25fc71b8a91483f0b553fb1bf29a9302acd348e9083a547430a840b059b0cfe19867ecaffcae986f
+DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5
DIST windows_aarch64_msvc-0.52.0.crate 821663 BLAKE2B e6f772858205f7cd871722136aec4d00daea4793ff9dcae53e6311e74526c46aa11c2b3df7a85e6c577757254cbfa5a713e68c694625ca274b64e7a1c5532c23 SHA512 8446bfe5b9fe538415762c8129ab3bf2fe45482e045bce367475747786602ad4ae1187c6e508dd9d7b6be81bfc8d430e0db9c624e35c7cc52e823023e46f5cf1
+DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b
DIST windows_i686_gnu-0.52.0.crate 870285 BLAKE2B a7688062a128a1b1394b3978210334e4e2aaa10dce131457c4a11ce0cb3f551e7f4962d1ece1846d8e9526983ced0e0a3ee8c933858e9314b62e76381e086ef9 SHA512 fe993f5bb6e039c257be9b35337e0221f718d23866818bfd19c76aaae236aafc2de4bb5014fcdf919563b5901cdaa14a2136cd086eeed3c83e46a5d02f6aa77e
+DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405 SHA512 a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822
+DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e SHA512 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f
DIST windows_i686_msvc-0.52.0.crate 888693 BLAKE2B 7a6e9d03e503c8f543e80a8c7bcf3f50cfa7eed462e487ae7b581746d7cc4d871b33e307110d3a3a75226d88e837f9452ac56bf3baf71b66cfab2626cc15558a SHA512 817ac796fd00bed51d80133ec873cf3d3d582ba41fec8a6f6407fbd7544f198e928aa5d710f70c13bbf74a1dde4c91c54e65eb9d3b7518a7f011ea42725eb671
+DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc SHA512 ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96
DIST windows_x86_64_gnu-0.52.0.crate 826213 BLAKE2B 3ca03285ef289fc844261142154e710e996c29940b1c0a7dc3016906ff6452fa50b24f8668fce0ca44bf169ab1228c217fece9f7bddac9ab8bdc54fddafaf8a8 SHA512 2d81af56ad0bc9536f6e066776642a546ce6c6d99551edc0603ffcafe6db15d5d5a32a642b204bbfadf34231daa3894ad7897a9c0c575c2b6bc1e3e58a9a3eb7
+DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687 SHA512 c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb
DIST windows_x86_64_gnullvm-0.52.0.crate 430165 BLAKE2B af9345a1f6e0ed1392ca1534c68d23f3be0fbb6a42b3c5518cee14373e645038526da15e849d14abe45c53766a30c6c2042a626482ba4a05409f325eb6aa36b1 SHA512 e88af35fd1c694dc189783e5c81aafa61aeffbddce4d7130e1125d0ce3d932fafeb345990ffd98477c41b578b7f5090f4f9c0457b02146309b95549c9f8f44f0
+DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd
DIST windows_x86_64_msvc-0.52.0.crate 821600 BLAKE2B cc448b65f98fc0fc4949ae622b7020d2dae927ae45310649f6ef71809740eda9d3db0fc035676c201fd9ab9639e9e7f21e2e992b4c789542f12b419d2c752179 SHA512 3aaee31533a1a48a6ab5cd15b3cadfbd906a93a153e53919d0aa74e440d11e29830554e4e014c215f5b88a475bb733fa8ba4ce9d773d3e23a40ea9ad37ddd0a7
+DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7
diff --git a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.9.0-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.9.0-r4.ebuild
index ce538347406..a5e15fba77a 100644
--- a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.9.0-r4.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.9.0-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,7 @@ HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools"
if [[ ${PV} != *9999 ]]; then
SRC_URI="https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
else
inherit git-r3
EGIT_REPO_URI='https://github.com/jthornber/thin-provisioning-tools.git'
diff --git a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13.ebuild
similarity index 63%
rename from sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-9999.ebuild
rename to sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13.ebuild
index d617bae9384..a8c7690f506 100644
--- a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13.ebuild
@@ -3,125 +3,117 @@
EAPI=8
-if [[ ${PV} != *9999 ]]; then
CRATES="
adler@1.0.2
- aho-corasick@1.1.2
- anstyle@1.0.4
- anyhow@1.0.79
+ aho-corasick@1.1.3
+ anstyle@1.0.7
+ anyhow@1.0.86
atty@0.2.14
- autocfg@1.1.0
- base64@0.21.7
+ autocfg@1.3.0
+ base64@0.22.1
bitflags@1.3.2
- bitflags@2.4.1
- bytemuck@1.14.0
+ bitflags@2.6.0
+ bytemuck@1.16.1
byteorder@1.5.0
cassowary@0.3.0
cfg-if@1.0.0
- clap@4.4.16
- clap_builder@4.4.16
- clap_lex@0.6.0
+ clap@4.5.9
+ clap_builder@4.5.9
+ clap_lex@0.7.1
console@0.15.8
- crc32c@0.6.4
- crc32fast@1.3.2
- data-encoding@2.5.0
+ crc32c@0.6.8
+ crc32fast@1.4.2
+ data-encoding@2.6.0
downcast@0.11.0
duct@0.13.7
- either@1.9.0
encode_unicode@0.3.6
env_logger@0.8.4
- errno@0.3.8
+ errno@0.3.9
exitcode@1.1.2
- fastrand@2.0.1
+ fastrand@2.1.0
fixedbitset@0.4.2
- flate2@1.0.28
+ flate2@1.0.30
fragile@2.0.0
- getrandom@0.2.12
+ getrandom@0.2.15
hermit-abi@0.1.19
- hermit-abi@0.3.3
- indicatif@0.17.7
- instant@0.1.12
+ hermit-abi@0.3.9
+ indicatif@0.17.8
+ instant@0.1.13
iovec@0.1.4
- itertools@0.11.0
- lazy_static@1.4.0
- libc@0.2.152
- linux-raw-sys@0.4.12
- log@0.4.20
- memchr@2.7.1
+ lazy_static@1.5.0
+ libc@0.2.155
+ linux-raw-sys@0.4.14
+ log@0.4.22
+ memchr@2.7.4
minimal-lexical@0.2.1
- miniz_oxide@0.7.1
+ miniz_oxide@0.7.4
mockall@0.12.1
mockall_derive@0.12.1
nom@7.1.3
- num-derive@0.4.1
- num-traits@0.2.17
+ num-derive@0.4.2
+ num-traits@0.2.19
num_cpus@1.16.0
number_prefix@0.4.0
numtoa@0.1.0
once_cell@1.19.0
- os_pipe@1.1.5
+ os_pipe@1.2.0
portable-atomic@1.6.0
ppv-lite86@0.2.17
predicates-core@1.0.6
predicates-tree@1.0.9
- predicates@3.0.4
- proc-macro2@1.0.76
- quick-xml@0.31.0
+ predicates@3.1.0
+ proc-macro2@1.0.86
+ quick-xml@0.36.0
quickcheck@1.0.3
quickcheck_macros@1.0.0
- quote@1.0.35
+ quote@1.0.36
rand@0.8.5
rand_chacha@0.3.1
rand_core@0.6.4
- rangemap@1.4.0
+ rangemap@1.5.1
redox_syscall@0.2.16
- redox_syscall@0.4.1
redox_termios@0.1.3
- regex-automata@0.4.3
- regex-syntax@0.8.2
- regex@1.10.2
- retain_mut@0.1.7
- roaring@0.10.2
+ regex-automata@0.4.7
+ regex-syntax@0.8.4
+ regex@1.10.5
+ roaring@0.10.6
rustc_version@0.4.0
- rustix@0.38.30
+ rustix@0.38.34
safemem@0.3.3
- semver@1.0.21
+ semver@1.0.23
shared_child@1.0.0
- strsim@0.10.0
+ strsim@0.11.1
syn@1.0.109
- syn@2.0.48
- tempfile@3.9.0
+ syn@2.0.70
+ tempfile@3.10.1
termion@1.5.6
termtree@0.4.1
- thiserror-impl@1.0.56
- thiserror@1.0.56
+ thiserror-impl@1.0.61
+ thiserror@1.0.61
threadpool@1.8.1
tui@0.19.0
unicode-ident@1.0.12
- unicode-segmentation@1.10.1
- unicode-width@0.1.11
+ unicode-segmentation@1.11.0
+ unicode-width@0.1.13
wasi@0.11.0+wasi-snapshot-preview1
winapi-i686-pc-windows-gnu@0.4.0
winapi-x86_64-pc-windows-gnu@0.4.0
winapi@0.3.9
windows-sys@0.52.0
- windows-targets@0.52.0
- windows_aarch64_gnullvm@0.52.0
- windows_aarch64_msvc@0.52.0
- windows_i686_gnu@0.52.0
- windows_i686_msvc@0.52.0
- windows_x86_64_gnu@0.52.0
- windows_x86_64_gnullvm@0.52.0
- windows_x86_64_msvc@0.52.0
+ windows-targets@0.52.6
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_msvc@0.52.6
+ windows_i686_gnu@0.52.6
+ windows_i686_gnullvm@0.52.6
+ windows_i686_msvc@0.52.6
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_msvc@0.52.6
"
declare -A GIT_CRATES=(
[rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%'
)
- declare -A GIT_CRATES=(
- [rio]="https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8"
- )
-fi
inherit cargo
@@ -145,7 +137,6 @@ LICENSE+=" Apache-2.0 BSD GPL-3 MIT Unicode-DFS-2016"
SLOT="0"
IUSE="io-uring"
-PATCHES=( "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" )
DOCS=(
CHANGES
COPYING
@@ -157,6 +148,10 @@ DOCS=(
# Rust
QA_FLAGS_IGNORED="usr/sbin/pdata_tools"
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch"
+)
+
src_unpack() {
if [[ ${PV} == 9999 ]] ; then
git-r3_src_unpack
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.42-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.42-r1.ebuild
index 06777566a77..6035c39f55c 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.42-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.42-r1.ebuild
@@ -32,7 +32,7 @@ else
[[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
SLOT=$(ver_cut 1-2)
- KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
#
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 62df80487c1..e09bf89cb6e 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,2 +1,2 @@
DIST crossdev-20240209.tar.xz 30904 BLAKE2B b23c6c86796ce37968ce23a9399b068ecb78d6beb8e9b02ac11cd9e8b2f1c82f8905e615417525aa94d51f5da763841a8b9fc7cdc9b64d087a52b077adc92635 SHA512 5834cad934707f173529d7258f8230222e8d18903dea723b0051e06a8d974cab92f6aa7bbeef3a64aec0efd2d0b01f80b63503e78e30ddc1ba7e9a6a4ff08977
-DIST crossdev-20240507.tar.xz 30952 BLAKE2B 566cf0a8449b18431e4b90bd0d0687d39bdc6ed40eeb8eaf87e7200e2b2eea2cc8461fded034a8ce2dd9983ee3e6e79a719c6e37e5c1afe9fdb8a3b545be7601 SHA512 c40b9bb33cc0c13475fe651d95db498c16f89baf5bab0e28c44864eea2119eeac28827040dc3476eb0826fe2cce1b43614047b8fdc5fbf1bc3cddbf68c1b0d74
+DIST crossdev-20240702.tar.xz 31072 BLAKE2B a8c847490a89f86016adc0b33551ecdb91776e495c1b8fa03dccf70a35164b44b4a948cd9d7166ea1650207e71462633118b02da80cda403798e96b606faf10e SHA512 c9a836a2ce8e82c383693bc71e3094a2586577dc725f05092272023a6c70b5ded315055dc5961cbe0935ed0f4307e08e8551dda595f27b1ff34aa10a3b8bf3eb
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20240507.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20240702.ebuild
similarity index 91%
rename from sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20240507.ebuild
rename to sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20240702.ebuild
index dce8ce66689..2d56bdb4833 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20240507.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20240702.ebuild
@@ -10,7 +10,7 @@ if [[ ${PV} == "99999999" ]] ; then
https://github.com/gentoo/crossdev
"
else
- SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz"
+ SRC_URI="https://dev.gentoo.org/~chewi/distfiles/${CATEGORY}/${PN}/${P}.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
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 f3c998038ca..758ed046e1e 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
@@ -6,12 +6,16 @@ DIST gcc-11-20240501.tar.xz 76267628 BLAKE2B 31674f1fbaacac3bc8d4f0553b42569128c
DIST gcc-11-20240612.tar.xz 76291200 BLAKE2B 150e7e8fd3f5d9748a68c548985261696b375650117a9dc656c715aca9cb6923bd7621d3e5769118759b9ab58f13729013be48723ae4b3caf7f574d22d5a1805 SHA512 61f760a29e6a0f183eac0ee8443b6f44d2b5e7d256b3c4b5c3a25ef930c2541803f7cca8b48ee34d780616b00f7e8f616cc6355e3ef49d806d686e93d5a4d6f9
DIST gcc-11-20240619.tar.xz 76267052 BLAKE2B 21cdd2a569667f142e55959f1a8d0d46735c3480f7108307e5b2b719379494bca02701c363f9888738d3e7ee06e6dc3202c9657e555823369ab8139130958f09 SHA512 94120a4d9de06ceae239e8ea6c0da6d09e05400d37e5baed529ce715da3e3b49c16ce341ea84c165d85fb417bf236676bc82a637c4ecce4e613b96d979771dd8
DIST gcc-11-20240626.tar.xz 76282132 BLAKE2B ff4934566462df8a4041ac7749d17f1bdba45396cc5f95f4f42043b794ab70c72465e5602b954ebbe787deaa8e4a0bde8344c37793da21ba0707e0d67264568e SHA512 2d1a34e02a87e27d71395aa91e8ed01721fcc22f5039f6da35f981099c6e9adad2c22ab43f6909a71e520b07cf3eee229a3a4860fb586898a77aca97aa4abc32
+DIST gcc-11-20240703.tar.xz 76281780 BLAKE2B 63a1e5ce1dfd572a2dad69cf45b77a9ee361886e8e391f3e5c47ebd4faa9938260c958c27f0503c30c596e5d2f62aebb1dff521dec08a2d487820d450387a484 SHA512 3ab37094a1a626c050caf039189eff1f3d1fb9dd36c9205088bcd6d828e1556219fe41de34053a55c220f76ac3431c44a15b37c5b11e3c59d0123b4c1d5fbc26
DIST gcc-11.4.0-musl-patches-2.tar.xz 4308 BLAKE2B a2335e155fc57816fed822a648e0eaefafcba9d04e1ad0fd7baeea5a694ab6f5e3c1678cb406f2a1bd17bab25cb01699d032713a1ccf337948dfda2093844607 SHA512 17b84f907cb1bd763873655e6f35fd3ed55a40b602b70a626f04f83b4cc89c6261db1661de78d4d969187a8c56e9f6305b742515a3836b962248a21df0df5d0c
DIST gcc-11.4.0-patches-12.tar.xz 13824 BLAKE2B e4df9e0dc9512882022aaf325ebf65c540169454c91dd31f913c6f57f6eb291c79ae919671b53db1549799d4a70c09298bf45ed82ad05eb1f961443cc958369d SHA512 87fed0c3f8e28c9f702443db58350bb615110b27ebe334b5de2ea60678e2548c56cd75cffade210d69634e2ac0a9311f5100ddb45d97645aa76d5688bc421a61
+DIST gcc-11.5.0-RC-20240712.tar.xz 82514756 BLAKE2B 075512da838b9e71961519ee5f99e8fd5dbc119594278859064c9137b7ad91e3a31fa07fd2f04f2117d53b163d195da9e8231adc4faf6887858d057337af8605 SHA512 fcf0dbfa1cd044afc4a5773deb7b4b64700877d6917b5b95b726429e15a1dc489fe9be4ea40e5876b6d84924817ff170c6b306b3392ccb198c92a8c32d3c2571
DIST gcc-12-20240209.tar.xz 79824868 BLAKE2B 1ae5a646da470f06648c4766c77475ceb287c5f6647d5102f1aef6590f973233d5e7f83b5e0241488d49dba59dd605c211938379e68a393a2dccb3834103ae4b SHA512 9f9a04f4477f41bb2a5662aedef2af75b039de50c2dc99310e504e6080cb7aae06a1255337ea2e563975cb108ddc6766adbbaf4e3d5d5712801d7ba9a5209dbd
DIST gcc-12-20240502.tar.xz 79851984 BLAKE2B e3ed4f4fb20ce2ed421fadd40dfd1c6831759228925002146c316683cd0aef47792f433dc9ab120fb79e2afa2aa83cbf68f6b82e97615cac500322d4f0d1cce9 SHA512 c46e6b00f65d96afc65ce6cc9f7591ff81d5789aff9f49fc6fed96047fe27e24a8a103f0b96485e4a717600aeb9b45933ccbb2191eb087275fc1350629c9b842
DIST gcc-12-20240613.tar.xz 79875076 BLAKE2B 48b57f834df842c72e08dc9ae3637fdc5fb381f0f50a045a43ff3003271b7e8fa3c92a420447911a71df1184b25c2aad084d80bef8194a6468ddc21b1730b69e SHA512 1d149f6347f314a414bb279e20ae48bea2c9baa03257e3636515a74b389065a7cb6e5257f62334a307ebf6ef7ff142362e69967acc33b92a7fe21eea2bd52ee5
DIST gcc-12-20240627.tar.xz 79897928 BLAKE2B fa1d1bdc3f309a915fa9ec9bc4f0a04ac8d0ad70f6ca9ebd5fb8907e3c81f84f0045bfb3d2c6650465a21464d21453519b15251153efa281579e0eaff450268b SHA512 4042f36bf265d8302bbdad7046717743e52b505ca0a8d495b5a4d495f6bd558226499587f24680900b7860a3899384cfdf7f966e84773f2a71b14fa07bbf09ff
+DIST gcc-12-20240704.tar.xz 79892516 BLAKE2B 1dc31bdb8d37073a819a0b590cf6517b384d2985f12103ee52a2dc5c877a9a8aadc05814c94f0e420575950d891aa9fca33939fc67585471ae841255018de781 SHA512 caf7094a196c24805526834bd66b2ee240ee3828b94f85a174618082dc591249bfb4a04375a890c6e286b81ffe1c2a14bc0ae1d69dec6c1ee13ad1cd1d0bac36
+DIST gcc-12-20240711.tar.xz 79899144 BLAKE2B e1dad8f14ac0413c31ebb516551ef6891c43ffb2161efc6224a59a758cb5936a8b6a5db3ee0ea84c9a013dc3e7a3cca2abdec138cfb17b430d1ea926811f632a SHA512 e3a9b14edb7cf8f5a1d27652b60a4bd9b6aa553ffc5bfa6dc53113e327a4a1f2cfedd3ea5a3a1c074f47d7008cad89d721844a863d762343fad8b37d3ec55083
DIST gcc-12.3.0-musl-patches-1.tar.xz 3572 BLAKE2B c7bf65f7c9ea8023ddaac821ee2b778622fa310ac72a72b2f7032494a8f304eac86217f9204622e6c21aaef9952bece0d09bc126facd4f42b602927909815ab5 SHA512 babc279fea2c1fd4c018815f2f5630214fd46015ce9f365c28af242681d51818eaca30ce298eddcab1eed5ac5f2759e2b47b2335afab9d722b4469a6d4fec326
DIST gcc-12.3.0-patches-3.tar.xz 14852 BLAKE2B 7a5f1f43063b15f424099afd72096212fbbbc5151ff01f2de15dfb6e7cf274981c8cfaedba9ef61576c9096fb172fc550a7deb5cd7d9366fd249fd5dd3951f76 SHA512 aa89e4c2ae02f4fb42229ad5167f2eaa3a8fae51118645bf07199fe2124b9c83948590662b053d08002ef709fa870ea88315fd4ccbe4441a74e9cb62edcb82fb
DIST gcc-12.4.0.tar.xz 83377372 BLAKE2B 0d5aa9995bf53fa2dc976a846240cfb8fafd125ad6c54f45dc9d770215eae3e9ea0db82a9a4f79c51b4d5f8461a1d730c17db6841bc31bd96dba11d9ed7544ae SHA512 5bd29402cad2deb5d9388d0236c7146414d77e5b8d5f1c6c941c7a1f47691c3389f08656d5f6e8e2d6717bf2c81f018d326f632fb468f42925b40bd217fc4853
@@ -19,16 +23,22 @@ DIST gcc-13-20240210.tar.xz 84354416 BLAKE2B 5807623d3f7dd751b6dfe164cfd50d57b2f
DIST gcc-13-20240503.tar.xz 84417232 BLAKE2B 4024852c3252667054e6086263b2a0e21dfa1e56a7adf4edb2fee4841dc2b41eb3f02dee7b15c5de3a1ac7c438929da4ca584cab07724086f6eb315a331c4a44 SHA512 32b74972ba94d1016e052eb7c7dc976b32d679e40aeafb406bbbc69d34ade3fe0f35d8941ef678eaf0bb33aea1aaba8fbce9122733b12920a470763a18aa6514
DIST gcc-13-20240614.tar.xz 84463660 BLAKE2B a1b551ff633c31d6972fed173f248ba5f6696eb1566801e180b78a7c7e20933b1aaae40839b4f1529d61166de55125395d4f9a812511c088e73f975bf1d2167f SHA512 1a543ddfb56e793367a43895a7ce4f97daeca6ffd5234ce50e8a7ae0f8db1071e01bdd653fda40d00eb7a680faead8f1d8d1295f983086a33a4c75e4affa2ea5
DIST gcc-13-20240628.tar.xz 84470032 BLAKE2B fa8edc817636e9c54bf88f35f22f15e07a2fe951867ac042aa73b1176ee1dab6c3ac5ab050db42dd53fc494193a2aa604b2aa492b8b96f0f957fd636f9a39322 SHA512 fdd6c67aaf45c23d922f4aded5eb8ede91f7d427112db2780d47de7b10dabf15a9e05d17296d286eed567d045ffe4816765254191f5610f08312f85e1ddce68d
+DIST gcc-13-20240705.tar.xz 84476408 BLAKE2B be3d0222e6f555278ae8ae5893a5d4018a19cf5ac6687b2e78e199d73bb7acb55ec277917d0a76eef84c11b489329db913398c4f061810eb4cac8667502a5726 SHA512 9b8310c65edbb35f8e94755aeb5d7be76bc72ce129d1c585cff785283ca3e3a8c787e290fbd07a6cc709eb1639ace3328868316a08cab1259a1f970e050d0f8c
+DIST gcc-13-20240712.tar.xz 84486436 BLAKE2B 4e82fadcec0258471e8a1a055136a67565230d6bfef719ef07a01286bdbb7963878b05622a68627a8f5885c2ee994d879155002f07ad2e53872f082b3dfb5e18 SHA512 1544e71e28a9d93d485a5b74e5910211da68d39af4389f9216f246090d2edb23805648f3528659b02d9db0bc7ee625b8f6a34c3775f41e7aa8a3760b2988b273
DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69
DIST gcc-13.2.0-patches-14.tar.xz 46928 BLAKE2B fce23bc5315f35b04a4976550c4b44578944a1b17e40c7553351eeb8a1ef0f3a2538da5a5e1ae6f37b784ff11bbd8a44b8f6eec542be63e34d984dee69e1cd81 SHA512 d7d52bb2915fd89c06b0134bede8db939cadbb1f2dcddf923bee2c3f9f577ff9e5e986b60420d892539edf82867a0d1bd635807814bc618b06a2b37cdaca893a
DIST gcc-13.2.0-patches-15.tar.xz 47052 BLAKE2B f145341813d6baf9cbcc3e8421c7f427148503d2aeddd6a2eaac1ad3d470a818292392861542a7915d8b0f2f9b3255603f394b2e6833141658fc035bcd2b5366 SHA512 c89a3fccd944f03d25e076a967c3b220803ee9a6fbedec1daf2c20f629dd6162ce6be4f259522bd193169f0e8307daa9895b5d8581cf975ee086e5abfd675e34
DIST gcc-13.2.0-patches-16.tar.xz 44792 BLAKE2B 0b6b584d68e69685638695596b780249ca0119ad362747a82d886fd10f77ceb05d02e033e906a090c67f44b1977f40df6a95206d81a32dd15e2f5413c6c92496 SHA512 324d9e63d16c35d55edde20de049162c01b0d487b4548d06c49f0da04a761ec255bc5e020cc2e7f60d12f5d129768afdcf7c86a59126f71f388ab375c34be6de
DIST gcc-13.2.0-patches-17.tar.xz 45036 BLAKE2B 85fe5e6b0da7a4477f0026aaf397d93421503780ef3c91e0a5e3c6897ab73884d4fbc9d2f5f41ce3f3f172fa7eb98e45c348ce41d852457c472360eb2e48691c SHA512 ebe77a32af38df15bc4034e88fb6e90c84b3c0a172d854cabef789cc29bedba14ec0c27fbeae0959027587e02bc882a944ef68a1bb471432d021d11b4b037562
+DIST gcc-13.2.0-patches-3.tar.xz 30956 BLAKE2B 29ce043b46645640ca1e983397af3e158588ad87575f0bc59451ea4a7dd5e3bb5b190ed031de6a22cd790d423ba111e95d222187dd09985dceb12db9f0a2d907 SHA512 4ffecae7be320124ad0c4e71e39e142b7aa8db0e70b5f486f491d7a33ea31efc6464c6abeea77df02a8bd5cf81f08225d625c8af5c27f9afa32c0d7d989f7a3c
+DIST gcc-13.2.0.tar.xz 87858592 BLAKE2B 0034b29d3d6cc05821f0c4253ce077805943aff7b370729dd203bda57d89c107edd657eeddc2fb1e69ea15c7b0323b961f46516c7f4af89a3ccf7fea84701be2 SHA512 d99e4826a70db04504467e349e9fbaedaa5870766cda7c5cab50cdebedc4be755ebca5b789e1232a34a20be1a0b60097de9280efe47bdb71c73251e30b0862a2
DIST gcc-13.3.0.tar.xz 87909952 BLAKE2B 0f3728b026bd8aab0e469dda54facf157a4b753d3405a74b0be6105a6e3a493d26df4007d90ae4e05d86277d41873312638f9589d1757cee80ca84de7f2099e3 SHA512 ed5f2f4c6ed2c796fcf2c93707159e9dbd3ddb1ba063d549804dd68cdabbb6d550985ae1c8465ae9a336cfe29274a6eb0f42e21924360574ebd8e5d5c7c9a801
DIST gcc-14-20240518.tar.xz 87946040 BLAKE2B 83e567d680b1463cc672fb461aa180cf46555911f0e91a3fb89b11fe8b81d12d64b3a3419953849cf2deb38f1cdf0defc05169c145964f74c1105d942b5519f9 SHA512 73dae806add90e8b3cdfe1c56754ae886f6f6150ef4ef217664b48507ff19d20933648bb6a19ab62756146e83e4df037ced30e4504d562966c40b3750475f28f
DIST gcc-14-20240615.tar.xz 87972240 BLAKE2B 19b8ed044595393c507ed8b9c6a4a4fde0cf6bc1647f16bdd73e9190303a7bd8441602d73ffeeb75e5232113010a30b8ea848691befd21de5a591c9d56a398b7 SHA512 d8d757cfbedb7342443ce8de4439653537c46d25e552d88cea0ba9f7aa43ad14fb2b42a32a1dce5ae4eb2ac3849024f6b4e700f2c39330a00a65caa3f5fe29e7
DIST gcc-14-20240622.tar.xz 87978376 BLAKE2B 8fb56057e6a84f941822c58aaee8c7c562a665295db6a1c708eda9457ac38723ab7e8ccdab9768bed888468f01f9a2b42527f9ab5475bd1a55f9e9ef694c8ee0 SHA512 9dd7747488b69378c96e6296332152035358a3091d904bd99f1aca6371a8f4d7ed50d4eca85e99d539849526165f2a4250a3dcf77be29a796a6e030167e7dde8
DIST gcc-14-20240629.tar.xz 87970788 BLAKE2B 3fd03c67ebcc14ec85df7c1d9c34669ceecb957270179862f12ef2e5aac00e1331d9a33c679d27a400895d4790cc94e151d7de85485f4f48ca61d2573eb86a15 SHA512 da7ae7c8844f56492dcb41b7ab3da071bcd65561561d0d4197cfc3c11090a7b84bd3e3af7d8c5a44da034a37f9b82056b5c8c0bcc7a52bfd39a8399f0d0a70fa
+DIST gcc-14-20240706.tar.xz 87988236 BLAKE2B 032a5174d39e72b59d8fb141f837cade44b1b026fcd8206bf5ca5b3d5fade021de65597a1ddd3fc571265477795cd69660e3ffc68fa01d08be5ef49b2b066400 SHA512 c134535c1514d749bba3a33bf90790c55d1c222cee7661fbed798795523189e877e323d57428fa16b72498643de42ada56976710d4970ba1039dfe92a9fdbd2a
+DIST gcc-14-20240713.tar.xz 88005804 BLAKE2B eca74526c29a1080e6801a7db720752fc48c6dbbc5f904b7be7f74070b34a727ddae38ebfb7cb419d3a1717e93e3b9c425f251668473427548ba4eb31cca72b2 SHA512 6ea6b4a20e69a309cdd112001622cfe582d94986636f2084dbddc77cdb2b7e19ace45da0beb09b52d06ba2e0e09369b4db5a24aae6fd2deaeb6bdceb4d467198
DIST gcc-14.1.0-musl-patches-1.tar.xz 3600 BLAKE2B 4cd920b7ca1f122cae806707564d8e45bfd48e78c88788a12a301f6068b5a5f335d8885e67479ac536c66aeaa81f2ecb7240ae56e9fc821a7246ab66b453711f SHA512 61c48d90a55dfc2129d96aee69d939d6a89f6407f69f7bd12c1a619f28989f471fd219d731958f8e62b0fd650c32300f0ad8dc06d5df23d9fc8c1a77fe210c25
DIST gcc-14.1.0-patches-1.tar.xz 11584 BLAKE2B d483f4e3324acdc26b9837028d5e20ad0cdcf3ef4bcc78a6902d63ceebc7e5ff70c8163f6a8c8e36405df47c59dd2df506147c53ce51a8ec73494e65b5902647 SHA512 3d7aea113b594d1896c93e9e6be85f467488fa75de2800ed76eab2f87cef26829b235d1f361b187e38cf13b0fb9518cd4431c3106ec1e49d0f744e7eb703eaa0
DIST gcc-14.1.0-patches-2.tar.xz 11400 BLAKE2B 8698d9521b193a03df20b68b70bc8d2dc083e246542d95e510b86f152a4d13818162985d4728d87f74be784870595a238d195f617427ec0905919cce0ed23476 SHA512 17e97aec43dea0c131fc6c829d05b7ab56d3164a7d79715f08f54cc2cff81747d1554ca2644edcc1cbd7db3d87dba6a1c2fb71896950bd9b54c4c5c10daa3e7f
@@ -36,10 +46,14 @@ DIST gcc-14.1.0-patches-3.tar.xz 11868 BLAKE2B 06d079766bfbaddd066cd70f2d3f5e9ef
DIST gcc-15-20240609.tar.xz 88288628 BLAKE2B 25ee6b2071fd189d5099160a1b9594cd0cdf6075a733258a61c3586f043d65a3e8ec22f1c2084c50694008d647ffa43895ed58dc655c41f296b98d136951c57a SHA512 058fae65f7cd398cff43282b9697497dead93401a7da47e63561bf029284b4b890f57f2ec74ef7e3ce7d170a2e69dfd5090b6465029360ab872222db037a9127
DIST gcc-15-20240616.tar.xz 88348980 BLAKE2B 3b2cc25b55167e371687b7325de14f088cda4cef72566ffcb243cfd7584234e60fe0fa69a3b70eccd02e30dff3980ab76507fdc9003195ba806ced2aef4feade SHA512 f5ce6785f3dc17493945e48787274ce338b32e7bce95f94b17bc28ce680eb092067d065843202e1449179da09ec3b23246d7a3aa6fc61cce3cce96e1e7ba576f
DIST gcc-15-20240623.tar.xz 88407680 BLAKE2B 4916850739131edff5a144f9c75a95d45819ce236f079096ecf2e81a63dd1760a2c761a5db822f4a643f67e85efd10e63490b88fd099c3663fa5bc05417a0b8c SHA512 e0cd49b0852841c290d8a190d75740047aa87ba2c614adc575433d3d1f2e975f5795d78af8b9c125dd600eab233abbc1e2ec4ef71abd017fa3b1c4b2a72bc601
+DIST gcc-15-20240630.tar.xz 88427396 BLAKE2B 641f8c3622749d80cc9cbe7e2365b3366422cb1561e2fc88a890b933649b76a0326bc8d211e0629c39b12e7c9bf5e005d83f0d674cfefd4e32f8414ffaa04920 SHA512 d7e50f13e4e8045d3ea9169cabb5a15eb1b2b5a99d0a418dbb1231f615b7c4cd55ad2c65945a808b2743f508cad8b2100c40fb750de5ccaefb251328adfb7856
+DIST gcc-15-20240707.tar.xz 88446948 BLAKE2B ef0e1b91a971e71a8128b9c1732aabfa1004a44dd7764f527d8b00e4b71e66fdac5d0ae09aa3b69fc561b8b66b06e7dcf2b8ac49385e49b3de317da046132ece SHA512 44a8cf370c8fa187724ff52f3441110a53712a42eab855c592afea5ca35d31880561535eba5d78e6e50fe311c95886ce622c7d2c7965bbd6c42d05c79178fa99
+DIST gcc-15-20240714.tar.xz 88493908 BLAKE2B d11436fcbdf3c106e3de706514d4a48a33255ab1ac03d1ae25531415dc418007f391d92a502e12ab6ed31f573431cafdbbc97d153d7481b7455e380582f4518b SHA512 e2b9f3765002b670a1cc3be88e0e99ce710fe9cc1fa06d43026bbb2e2795c9955b0283a1a18d32311e82dc28efe6c67a93c1fd7ad5ffeef18f260c6aa69cab6a
DIST gcc-15.0.0-musl-patches-1.tar.xz 3596 BLAKE2B 48fddc723ec8282cc2704c795a50fb37a46738a555151e0430180dda61d039fe96b29a6c3e8a543386d69690302bf46dfc89aad572082b7e47c928c0ccefdeb0 SHA512 e43284d02e25b77b911ce90d57520897751e86c631bdd6beb7d2e4429000156801b8c11bd9a737ec11bc966812f13ae44b88c1893645f8e6c6f8dfddc636ec39
DIST gcc-15.0.0-musl-patches-2.tar.xz 3076 BLAKE2B 0073248fe4f7dd827980559017b5aa1fb5c4c46acc9ad5c410dc152fd1e44966d3066bf7152338573cb45b1c36027de5f0c519abd414d97a37bccef07f6a5281 SHA512 295f1a669020bbe2874e9b03afd46b5d083073b276fca3543f3767a2d74f35df81cf0a67abad50c200cf7a3af36ec98ff9977cb7d5c19f334af7d3bb1926a3de
DIST gcc-15.0.0-patches-3.tar.xz 15668 BLAKE2B 99c332c7302bba0a790192bfcd81b8a273002884a2a89fc03f61d46ef669d9ba49496806400f86131c127b960862b97296148b6a0956946cc98470397c02579e SHA512 f0effdadff0fc553835c13f0dedb903374f021d172a20f01e6e3e0a39495ead96229665ba1a82f0aa1e9b49c6ff367f5c6e2c3e336a84ca02efb96f1a373f18a
DIST gcc-15.0.0-patches-4.tar.xz 11440 BLAKE2B 8b7379f91ac14dd1e496de744d221cb0ba1802c14ce32cb90e6311ca7a60cbaf488a57060673e2e9d407eed6d3c5b092c1ba6da27036d35e0c78a7ac8a5f5ec4 SHA512 92e8895ec1c6054b46581867f3e49bd2d574043ae82ca441e2b48d9ed0e2dd5c58baa53ba605ce59a5c1d59473ac0d79c0287e5b47d06f0a661c655a19a4a5df
+DIST gcc-15.0.0-patches-5.tar.xz 11840 BLAKE2B 9af335f7e1795e600eae742ac32f5ff737f157aaa35902227ba29b28013c95bcf5b2b1345a21c433bc10f4cfbfc267a595b6ca90ec2723f7f24fccac3f7c0355 SHA512 8cc8ec574640470780711bb5f6163f382c23999152c229d86e1143e03275a3147bd1fc0cd9bf3642a2402333ec565d30b90a6e367284b78ccc580c6721aeac23
DIST gcc-8.5.0-patches-4.tar.xz 18616 BLAKE2B 7594cbaea5daecf1a0b3d526c06aeba0a84c6da66aee2e105a51fda6be8d30a37ccc3814281b284a4582d892a1d556bca063551584edfc2525bed8ea5b6888e7 SHA512 1aa5742c361186637e7855f06feb1a4547e7d4d5de6e51f3d049e0ef3c19e2eff179465f52781739f59422035b7f8e4c0efa3844849f920f3c96acfdc37ca6a6
DIST gcc-8.5.0.tar.xz 63841008 BLAKE2B aa81a1a730fd7371360f6abed6ba78b5843fd18c58d5de5687acc320741b9e430e85df3535a1ef7a26051409be8d2f0945f503e5968480d919103123a99d4b12 SHA512 92f599680e6b7fbce88bcdda810f468777d541e5fddfbb287f7977d51093de2a5178bd0e6a08dfe37090ea10a0508a43ccd00220041abbbec33f1179bfc174d8
DIST gcc-9.5.0-patches-2.tar.xz 14324 BLAKE2B 1d3bf3e673108ad2fcdcb86daefb4603d1c9f6aa815e34d1591054d466b76d6f50cce124ab4760528c4951ea16eb00888a3e6485417f81ebf250548732df4a8e SHA512 a6d6f650aaf0bd193a17ac279649f0544a282cea295824384c59341c3000eac4b574b60e00dd427585d928f9768166abf85168b47772132790ad98854acacbbf
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240111.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240111.ebuild
index 48284c74454..957334ac717 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240111.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240111.ebuild
@@ -48,7 +48,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240501.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240501.ebuild
index 2d76258b157..119967765ec 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240501.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240501.ebuild
@@ -48,7 +48,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240612.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240612.ebuild
index 66e7925a44d..5c623032d3a 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240612.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240612.ebuild
@@ -48,7 +48,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240619.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240619.ebuild
index 66e7925a44d..5c623032d3a 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240619.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240619.ebuild
@@ -48,7 +48,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240626.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240626.ebuild
index 66e7925a44d..5c623032d3a 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240626.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240626.ebuild
@@ -48,7 +48,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240703.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240703.ebuild
new file mode 100644
index 00000000000..5c623032d3a
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240703.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_GCC_VER="11.4.0"
+PATCH_VER="12"
+MUSL_VER="2"
+MUSL_GCC_VER="11.4.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ ${PV} == *.9999 ]] ; then
+ MY_PV_2=$(ver_cut 2)
+ MY_PV_3=1
+ if [[ ${MY_PV_2} == 0 ]] ; then
+ MY_PV_2=0
+ MY_PV_3=0
+ else
+ MY_PV_2=$((${MY_PV_2} - 1))
+ fi
+
+ # e.g. 12.2.9999 -> 12.1.1
+ TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
+elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=releases/gcc-$(ver_cut 1)
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply_user
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240712.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240712.ebuild
new file mode 100644
index 00000000000..dfb802cd1b3
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20240712.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_GCC_RC=1
+PATCH_GCC_VER="11.4.0"
+PATCH_VER="12"
+MUSL_VER="2"
+MUSL_GCC_VER="11.4.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ ${PV} == *.9999 ]] ; then
+ MY_PV_2=$(ver_cut 2)
+ MY_PV_3=1
+ if [[ ${MY_PV_2} == 0 ]] ; then
+ MY_PV_2=0
+ MY_PV_3=0
+ else
+ MY_PV_2=$((${MY_PV_2} - 1))
+ fi
+
+ # e.g. 12.2.9999 -> 12.1.1
+ TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
+elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=releases/gcc-$(ver_cut 1)
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply_user
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.5.9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.5.9999.ebuild
index b0f31ae9000..9c787a41437 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.5.9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.5.9999.ebuild
@@ -45,7 +45,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.3.1_p20240209.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.3.1_p20240209.ebuild
index 465d30643d3..8f82e921af1 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.3.1_p20240209.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.3.1_p20240209.ebuild
@@ -48,7 +48,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.3.1_p20240502.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.3.1_p20240502.ebuild
index ba3312fc267..f6a06143f42 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.3.1_p20240502.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.3.1_p20240502.ebuild
@@ -48,7 +48,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.3.1_p20240613.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.3.1_p20240613.ebuild
index 1f38c9fc478..e645c4d53b7 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.3.1_p20240613.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.3.1_p20240613.ebuild
@@ -48,7 +48,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.0.ebuild
index ba3312fc267..f6a06143f42 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.0.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.0.ebuild
@@ -48,7 +48,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240627.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240627.ebuild
index 1f38c9fc478..e645c4d53b7 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240627.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240627.ebuild
@@ -48,7 +48,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240704.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240704.ebuild
new file mode 100644
index 00000000000..e645c4d53b7
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240704.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_GCC_VER="12.3.0"
+PATCH_VER="3"
+MUSL_VER="1"
+MUSL_GCC_VER="12.3.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ ${PV} == *.9999 ]] ; then
+ MY_PV_2=$(ver_cut 2)
+ MY_PV_3=1
+ if [[ ${MY_PV_2} == 0 ]] ; then
+ MY_PV_2=0
+ MY_PV_3=0
+ else
+ MY_PV_2=$((${MY_PV_2} - 1))
+ fi
+
+ # e.g. 12.2.9999 -> 12.1.1
+ TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
+elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=releases/gcc-$(ver_cut 1)
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply_user
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240711.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240711.ebuild
new file mode 100644
index 00000000000..e645c4d53b7
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240711.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_GCC_VER="12.3.0"
+PATCH_VER="3"
+MUSL_VER="1"
+MUSL_GCC_VER="12.3.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ ${PV} == *.9999 ]] ; then
+ MY_PV_2=$(ver_cut 2)
+ MY_PV_3=1
+ if [[ ${MY_PV_2} == 0 ]] ; then
+ MY_PV_2=0
+ MY_PV_3=0
+ else
+ MY_PV_2=$((${MY_PV_2} - 1))
+ fi
+
+ # e.g. 12.2.9999 -> 12.1.1
+ TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
+elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=releases/gcc-$(ver_cut 1)
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply_user
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.5.9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.5.9999.ebuild
index 888f0709312..eb23b89225b 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.5.9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.5.9999.ebuild
@@ -45,7 +45,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.0.ebuild
new file mode 100644
index 00000000000..1fc2deae811
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_GCC_VER="13.2.0"
+PATCH_VER="3"
+MUSL_VER="2"
+MUSL_GCC_VER="13.2.0"
+
+if [[ ${PV} == *.9999 ]] ; then
+ MY_PV_2=$(ver_cut 2)
+ MY_PV_3=1
+ if [[ ${MY_PV_2} == 0 ]] ; then
+ MY_PV_2=0
+ MY_PV_3=0
+ else
+ MY_PV_2=$((${MY_PV_2} - 1))
+ fi
+
+ # e.g. 12.2.9999 -> 12.1.1
+ TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
+elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=releases/gcc-$(ver_cut 1)
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
+ eapply_user
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.1_p20240210.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.1_p20240210.ebuild
index 172da408c5a..e96549475c4 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.1_p20240210.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.1_p20240210.ebuild
@@ -48,7 +48,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.1_p20240503.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.1_p20240503.ebuild
index 236fb7fa971..a63d0eba20b 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.1_p20240503.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.1_p20240503.ebuild
@@ -48,7 +48,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.0.ebuild
index 2ad7ddb2c1d..955cdd49483 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.0.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.0.ebuild
@@ -47,7 +47,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240614.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240614.ebuild
index f8a5b759e56..b45c4b97a07 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240614.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240614.ebuild
@@ -48,7 +48,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240628.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240628.ebuild
index d0662c3779c..cda893d3b38 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240628.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240628.ebuild
@@ -48,7 +48,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240705.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240705.ebuild
new file mode 100644
index 00000000000..cda893d3b38
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240705.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_GCC_VER="13.2.0"
+MUSL_GCC_VER="13.2.0"
+PATCH_VER="17"
+MUSL_VER="2"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ ${PV} == *.9999 ]] ; then
+ MY_PV_2=$(ver_cut 2)
+ MY_PV_3=1
+ if [[ ${MY_PV_2} == 0 ]] ; then
+ MY_PV_2=0
+ MY_PV_3=0
+ else
+ MY_PV_2=$((${MY_PV_2} - 1))
+ fi
+
+ # e.g. 12.2.9999 -> 12.1.1
+ TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
+elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=releases/gcc-$(ver_cut 1)
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
+ eapply_user
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240712.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240712.ebuild
new file mode 100644
index 00000000000..cda893d3b38
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240712.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_GCC_VER="13.2.0"
+MUSL_GCC_VER="13.2.0"
+PATCH_VER="17"
+MUSL_VER="2"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ ${PV} == *.9999 ]] ; then
+ MY_PV_2=$(ver_cut 2)
+ MY_PV_3=1
+ if [[ ${MY_PV_2} == 0 ]] ; then
+ MY_PV_2=0
+ MY_PV_3=0
+ else
+ MY_PV_2=$((${MY_PV_2} - 1))
+ fi
+
+ # e.g. 12.2.9999 -> 12.1.1
+ TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
+elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=releases/gcc-$(ver_cut 1)
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
+ eapply_user
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.9999.ebuild
index 2ad7ddb2c1d..955cdd49483 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.9999.ebuild
@@ -47,7 +47,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240518.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240518.ebuild
index 9cb08899745..241cf662548 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240518.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240518.ebuild
@@ -38,7 +38,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240615.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240615.ebuild
index 30a0c8d6cd9..e2c5108f298 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240615.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240615.ebuild
@@ -38,7 +38,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240622.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240622.ebuild
index cf62a345ac3..b7dd06f5569 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240622.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240622.ebuild
@@ -38,7 +38,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240629.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240629.ebuild
index af8616b9755..30e9b4a563c 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240629.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240629.ebuild
@@ -38,7 +38,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240706.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240706.ebuild
new file mode 100644
index 00000000000..30e9b4a563c
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240706.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_GCC_VER="14.1.0"
+PATCH_VER="3"
+MUSL_VER="1"
+MUSL_GCC_VER="14.1.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=releases/gcc-$(ver_cut 1)
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ # m68k doesnt build (ICE, bug 932733)
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
+ eapply_user
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240713.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240713.ebuild
new file mode 100644
index 00000000000..30e9b4a563c
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.1_p20240713.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_GCC_VER="14.1.0"
+PATCH_VER="3"
+MUSL_VER="1"
+MUSL_GCC_VER="14.1.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=releases/gcc-$(ver_cut 1)
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ # m68k doesnt build (ICE, bug 932733)
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
+ eapply_user
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.9999.ebuild
index b8c53ea9741..b18a507a632 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.1.9999.ebuild
@@ -34,7 +34,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240609-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240609-r1.ebuild
index 13151f81a81..98e43095577 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240609-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240609-r1.ebuild
@@ -36,7 +36,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240616.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240616.ebuild
index b2ef3b0ac50..0e7089de681 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240616.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240616.ebuild
@@ -36,7 +36,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240623-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240623-r1.ebuild
index 0bfd8a8fe85..516e5e3abf0 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240623-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240623-r1.ebuild
@@ -36,7 +36,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240630.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240630.ebuild
new file mode 100644
index 00000000000..0e7089de681
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240630.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_GCC_VER="15.0.0"
+PATCH_VER="4"
+MUSL_VER="2"
+MUSL_GCC_VER="15.0.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=master
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply_user
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240707.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240707.ebuild
new file mode 100644
index 00000000000..0e7089de681
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240707.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_GCC_VER="15.0.0"
+PATCH_VER="4"
+MUSL_VER="2"
+MUSL_GCC_VER="15.0.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=master
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply_user
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240714-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240714-r1.ebuild
new file mode 100644
index 00000000000..c843d5c92e6
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240714-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_GCC_VER="15.0.0"
+PATCH_VER="5"
+MUSL_VER="2"
+MUSL_GCC_VER="15.0.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=master
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply_user
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240714.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240714.ebuild
new file mode 100644
index 00000000000..0e7089de681
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240714.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_GCC_VER="15.0.0"
+PATCH_VER="4"
+MUSL_VER="2"
+MUSL_GCC_VER="15.0.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=master
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply_user
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.9999.ebuild
index 77c134c6d28..bc760aa11a6 100644
--- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.9999.ebuild
@@ -34,7 +34,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
fi
src_prepare() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-firmware/ipxe/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-firmware/ipxe/metadata.xml
index 116526e14db..f78b98126bc 100644
--- a/sdk_container/src/third_party/portage-stable/sys-firmware/ipxe/metadata.xml
+++ b/sdk_container/src/third_party/portage-stable/sys-firmware/ipxe/metadata.xml
@@ -1,10 +1,6 @@
-
- tamiko@gentoo.org
- Matthias Maier
-
virtualization@gentoo.org
Gentoo Virtualization Project
diff --git a/sdk_container/src/third_party/portage-stable/sys-firmware/sgabios/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-firmware/sgabios/metadata.xml
index 59286768ce1..77afbab930d 100644
--- a/sdk_container/src/third_party/portage-stable/sys-firmware/sgabios/metadata.xml
+++ b/sdk_container/src/third_party/portage-stable/sys-firmware/sgabios/metadata.xml
@@ -1,10 +1,6 @@
-
- tamiko@gentoo.org
- Matthias Maier
-
virtualization@gentoo.org
Gentoo Virtualization Project
diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild
index fcdeb9f8509..f65d2425ff9 100644
--- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild
@@ -24,7 +24,7 @@ LICENSE="|| ( GPL-3 LGPL-3 )"
SLOT="0/${PV%_p?}.0"
IUSE="64-bit-bfd cet multitarget nls static-libs test"
-KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
RESTRICT="!test? ( test )"
BDEPEND="
diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/Manifest
index 63bb68e7801..565e603df07 100644
--- a/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/Manifest
+++ b/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/Manifest
@@ -1,2 +1,4 @@
DIST gdbm-1.23.tar.gz 1115854 BLAKE2B a47746577cf2f3c9b62faea496c4d6a50a8f1b0a5af448cb2215e90057c99b5b630ba3f5357c85dfb7fd98ba4e90969e30a779120c29106ed1e8736721f9bec1 SHA512 918080cb0225b221c11eb7339634a95e00c526072395f7a3d46ccf42ef020dea7c4c5bec34aff2c4f16033e1fff6583252b7e978f68b8d7f8736b0e025838e10
DIST gdbm-1.23.tar.gz.sig 181 BLAKE2B 34785e6fe8e02100084d61e989749ee388794b8af82fc59a417140807bf169c45c15935f8cf91d0ba116dfdee295e05b2b014f1539f1f128a57acfe59010d34d SHA512 6653751c04584f10aa3325bd1cb5b9f7970a786dd2a99602ea620c11a86a9ba5c342aa52627bd06c03da822e9e1600dc034d9a8f42856a287fd67f6b9f161c71
+DIST gdbm-1.24.tar.gz 1195931 BLAKE2B 79f49adbb455c2e1b91f3450037b71165fa8de82650d6402e0e22ee1f4d278fdb0bd78100659bf416e2409b432e1f8d32ecbae523980413f7148b80ee06c9f4b SHA512 401ff8c707079f21da1ac1d6f4714a87f224b6f41943078487dc891be49f51fd1ac7a32fd599aae0fad185f2c6ba7432616d328fd6aaab068eb54db9562ff7fa
+DIST gdbm-1.24.tar.gz.sig 95 BLAKE2B 3a66c2a256d9601db57df20feb5d72d1e94d23b7a92e3099f121549c8aa2c57b05a3021d88f97291819378462a68664af958de4c9de65887d2cca6642d172bc3 SHA512 a54595e0fd23724f5e30c2ff1b9656dbb6da3b448f4ab6a2579a523c11bae53e47d3843327a1e4499b312ab947ac73b5a9aa6e78fe5e932c55a1be0cdab4e63d
diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.24.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.24.ebuild
new file mode 100644
index 00000000000..5c738509d6d
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.24.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gdbm.asc
+inherit libtool multilib-minimal verify-sig
+
+DESCRIPTION="Standard GNU database libraries"
+HOMEPAGE="https://www.gnu.org/software/gdbm/"
+SRC_URI="
+ mirror://gnu/gdbm/${P}.tar.gz
+ verify-sig? ( mirror://gnu/gdbm/${P}.tar.gz.sig )
+"
+
+LICENSE="GPL-3"
+SLOT="0/6" # libgdbm.so version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+berkdb nls +readline static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND="readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] )"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? ( dev-util/dejagnu )
+ verify-sig? ( sec-keys/openpgp-keys-gdbm )
+"
+
+src_prepare() {
+ default
+
+ # gdbm ships with very old libtool files, regen to avoid
+ # errors when cross-compiling.
+ elibtoolize
+}
+
+multilib_src_configure() {
+ # gdbm doesn't appear to use either of these libraries
+ export ac_cv_lib_dbm_main=no ac_cv_lib_ndbm_main=no
+
+ local myeconfargs=(
+ --includedir="${EPREFIX}"/usr/include/gdbm
+ $(use_enable berkdb libgdbm-compat)
+ $(use_enable nls)
+ $(use_enable static-libs static)
+ $(use_with readline)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use static-libs ; then
+ find "${ED}" -name '*.la' -delete || die
+ fi
+
+ mv "${ED}"/usr/include/gdbm/gdbm.h "${ED}"/usr/include/ || die
+}
diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.70.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.70.ebuild
index faf3c1167f9..d7218cbc4b0 100644
--- a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.70.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.70.ebuild
@@ -11,7 +11,7 @@ if [[ ${PV} == *9999 ]]; then
else
SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
fi
DESCRIPTION="POSIX 1003.1e capabilities"
diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.9.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.9.ebuild
index 9d112ea1934..9d903afc6c1 100644
--- a/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.9.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.9.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -
LICENSE="LGPL-2.1+"
SLOT="0/1"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86"
IUSE="dbus +json keyutils python ssl test +uuid"
RESTRICT="!test? ( test )"
diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.7.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.7.ebuild
index 29818462940..000aae0c00a 100644
--- a/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.7.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.7.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
USE_RUBY="ruby31 ruby32 ruby33"
# No, I am not calling ruby-ng
diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-9999.ebuild
index 29818462940..000aae0c00a 100644
--- a/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-9999.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
USE_RUBY="ruby31 ruby32 ruby33"
# No, I am not calling ruby-ng
diff --git a/sdk_container/src/third_party/portage-stable/sys-process/audit/Manifest b/sdk_container/src/third_party/portage-stable/sys-process/audit/Manifest
index d7059e70c61..32dd6e54f42 100644
--- a/sdk_container/src/third_party/portage-stable/sys-process/audit/Manifest
+++ b/sdk_container/src/third_party/portage-stable/sys-process/audit/Manifest
@@ -1,3 +1,3 @@
-DIST audit-3.1.1.tar.gz 1218111 BLAKE2B a804684e438efc5f35b387708b3dc91bf857eeb56624261e0f75543556c436bfe638b792f63289f049c11541b10b2dc0e9f17b22f44b913da0168b1cf20684fc SHA512 4917970cc4c7f786c464a6d101bf66d55d55ac4716cf415ff97177f08176a6301e946716d28cf5b16054538469b3140b97db99d55a28686a9a807eea60c070f3
DIST audit-3.1.2.tar.gz 1219860 BLAKE2B dfdec470bf12cce6c570b3d260e65e2b49e8ac0761e6a6fbf7b4f4a57f92e88367cd74bfcb88e6d718619b88fea27ce963a977c9f4346c95d18a5310e217accb SHA512 a97003a294ed3671df01e2952688e7d5eef59a35f6891feb53e67c4c7eab9ae8c2d18de41a5b5b20e0ad7156fac93aec05f32f6bc5eea706b42b6f27f676446a
DIST audit-3.1.3.tar.gz 1225761 BLAKE2B 97ee35fc722083d541e164b27fd318ec7be2a4e4e8774767d14c6a2e800092a37b7042a272db5d208c913fb36d295c5343bd6082237caf0fb561ec3c7a2883db SHA512 7d6399ca97b171d5ea3cf7f7566bdabe9d5677a3a54c75411146dc2971106809a90d1a9cd0b1ba9b8af4cc409e6bee5876c7f2a0c54c42400fdcf9cfade58a8c
+DIST audit-3.1.4.tar.gz 1225648 BLAKE2B c6875f7d031e810469511ac8f86f05b2de7f19c044dbf67bc9d66430167fcf0f031e0279ce170a496b672a6fc99ee18b8cc39943e6faf3c19a24a381d2701439 SHA512 d26c498c91e838d97d3f199630650f509bb1e82b44d364306b20db32d4116fa73d775ef56c0fed2ec8d548b19215052691cbc80c74699bc87f2a0ea08cf664f5
diff --git a/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-3.1.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-3.1.2.ebuild
index f613a1d5fd4..8984d7758dc 100644
--- a/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-3.1.2.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-3.1.2.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://people.redhat.com/sgrubb/audit/${P}.tar.gz"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="gssapi io-uring ldap python static-libs test"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
diff --git a/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-3.1.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-3.1.4-r1.ebuild
similarity index 90%
rename from sdk_container/src/third_party/portage-stable/sys-process/audit/audit-3.1.1.ebuild
rename to sdk_container/src/third_party/portage-stable/sys-process/audit/audit-3.1.4-r1.ebuild
index 97910e182b7..33f5402ee96 100644
--- a/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-3.1.1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-3.1.4-r1.ebuild
@@ -7,7 +7,7 @@ EAPI=8
# check Fedora's packaging (https://src.fedoraproject.org/rpms/audit/tree/rawhide)
# on bumps (or if hitting a bug) to see what they've done there.
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit autotools multilib-minimal toolchain-funcs python-r1 linux-info systemd usr-ldscript
@@ -17,7 +17,7 @@ SRC_URI="https://people.redhat.com/sgrubb/audit/${P}.tar.gz"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="gssapi io-uring ldap python static-libs test"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -34,29 +34,27 @@ DEPEND="
>=sys-kernel/linux-headers-2.6.34
test? ( dev-libs/check )
"
-BDEPEND="python? (
- dev-lang/swig
- $(python_gen_cond_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ' python3_12)
- )
+BDEPEND="
+ python? (
+ dev-lang/swig
+ $(python_gen_cond_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ' python3_12)
+ )
"
CONFIG_CHECK="~AUDIT"
-PATCHES=(
- # See bug #836702 before removing / verify builds fine w/ USE=python
- # with latest kernel headers.
- "${FILESDIR}"/${PN}-3.0.8-linux-headers-5.17.patch
- "${FILESDIR}"/${PN}-3.0.8-musl-malloc.patch
-)
-
QA_CONFIG_IMPL_DECL_SKIP=(
# missing on musl. Uses handrolled AC_LINK_IFELSE but fails at link time
# for older compilers regardless. bug #898828
strndupa
)
+PATCHES=(
+ "${FILESDIR}"/${P}-c99.patch
+)
+
src_prepare() {
# audisp-remote moved in multilib_src_install_all
sed -i \
diff --git a/sdk_container/src/third_party/portage-stable/sys-process/audit/files/audit-3.0.8-linux-headers-5.17.patch b/sdk_container/src/third_party/portage-stable/sys-process/audit/files/audit-3.0.8-linux-headers-5.17.patch
deleted file mode 100644
index 8d41d836382..00000000000
--- a/sdk_container/src/third_party/portage-stable/sys-process/audit/files/audit-3.0.8-linux-headers-5.17.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Upstream rejected a workaround/fix at https://github.com/linux-audit/audit-userspace/pull/253
-/ https://github.com/linux-audit/audit-userspace/issues/252#issuecomment-1078595249.
-
-Instead, in Fedora (same maintainer as upstream), they're patching the headers then unpatching before install.
-
-Apparently the swig bindings are on their way out but I'm not convinced that's going to be a quick migration given the API will.. surely change?
-
-It's not ideal but let's take the patch slyfox ended up using in nixpkgs anyway.
-
-https://bugs.gentoo.org/836702
-
-From beed138222421a2eb4212d83cb889404bd7efc49 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich
-Date: Wed, 23 Mar 2022 07:27:05 +0000
-Subject: [PATCH] auditswig.i: avoid setter generation for audit_rule_data::buf
-
-As it's a flexible array generated code was never safe to use.
-With kernel's https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ed98ea2128b6fd83bce13716edf8f5fe6c47f574
-change it's a build failure now:
-
- audit> audit_wrap.c:5010:15: error: invalid use of flexible array member
- audit> 5010 | arg1->buf = (char [])(char *)memcpy(malloc((size)*sizeof(char)), (const char *)(arg2), sizeof(char)*(size));
- audit> | ^
-
-Let's avoid setter generation entirely.
-
-Closes: https://github.com/linux-audit/audit-userspace/issues/252
---- a/bindings/swig/src/auditswig.i
-+++ b/bindings/swig/src/auditswig.i
-@@ -39,6 +39,10 @@ signed
- #define __attribute(X) /*nothing*/
- typedef unsigned __u32;
- typedef unsigned uid_t;
-+/* Sidestep SWIG's limitation of handling c99 Flexible arrays by not:
-+ * generating setters against them: https://github.com/swig/swig/issues/1699
-+ */
-+%ignore audit_rule_data::buf;
- %include "/usr/include/linux/audit.h"
- #define __extension__ /*nothing*/
- %include
-
diff --git a/sdk_container/src/third_party/portage-stable/sys-process/audit/files/audit-3.1.4-c99.patch b/sdk_container/src/third_party/portage-stable/sys-process/audit/files/audit-3.1.4-c99.patch
new file mode 100644
index 00000000000..e78d2603864
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/sys-process/audit/files/audit-3.1.4-c99.patch
@@ -0,0 +1,599 @@
+https://bugs.gentoo.org/936080
+https://github.com/linux-audit/audit-userspace/commit/ec6763ed29a034b452a6fb568b226c57c7be30e7
+
+From ec6763ed29a034b452a6fb568b226c57c7be30e7 Mon Sep 17 00:00:00 2001
+From: Yanase Yuki <41878038+zpc0@users.noreply.github.com>
+Date: Tue, 14 May 2024 04:51:35 +0900
+Subject: [PATCH] Implicit builtin functions (#372)
+
+Correct a number of places where printf is being used without a prototype.
+All cases are in libraries which should not be using printf. Change them
+to return an error rather than communicate the problem.
+
+This is a backport of 8c7eaa7
+
+Co-authored-by: Steve Grubb
+--- a/audisp/audispd-llist.c
++++ b/audisp/audispd-llist.c
+@@ -69,15 +69,13 @@ unsigned int plist_count_active(const conf_llist *l)
+ return cnt;
+ }
+
+-void plist_append(conf_llist *l, plugin_conf_t *p)
++int plist_append(conf_llist *l, plugin_conf_t *p)
+ {
+ lnode* newnode;
+
+ newnode = malloc(sizeof(lnode));
+- if (newnode == NULL) {
+- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__);
+- return;
+- }
++ if (newnode == NULL)
++ return 1;
+
+ if (p) {
+ void *pp = malloc(sizeof(struct plugin_conf));
+@@ -98,6 +96,8 @@ void plist_append(conf_llist *l, plugin_conf_t *p)
+ // make newnode current
+ l->cur = newnode;
+ l->cnt++;
++
++ return 0;
+ }
+
+ void plist_clear(conf_llist* l)
+--- a/audisp/audispd-llist.h
++++ b/audisp/audispd-llist.h
+@@ -1,6 +1,6 @@
+ /*
+ * audispd-llist.h - Header file for ausearch-conf_llist.c
+-* Copyright (c) 2007,2013 Red Hat Inc., Durham, North Carolina.
++* Copyright (c) 2007,2013 Red Hat Inc.
+ * All Rights Reserved.
+ *
+ * This software may be freely redistributed and/or modified under the
+@@ -51,7 +51,7 @@ unsigned int plist_count_active(const conf_llist *l);
+ void plist_last(conf_llist *l);
+ lnode *plist_next(conf_llist *l);
+ static inline lnode *plist_get_cur(conf_llist *l) { return l->cur; }
+-void plist_append(conf_llist *l, plugin_conf_t *p);
++int plist_append(conf_llist *l, plugin_conf_t *p);
+ void plist_clear(conf_llist* l);
+ void plist_mark_all_unchecked(conf_llist* l);
+ lnode *plist_find_unchecked(conf_llist* l);
+--- a/auparse/normalize-llist.c
++++ b/auparse/normalize-llist.c
+@@ -1,6 +1,6 @@
+ /*
+ * normalize-llist.c - Minimal linked list library
+- * Copyright (c) 2016-17 Red Hat Inc., Durham, North Carolina.
++ * Copyright (c) 2016-17 Red Hat Inc.
+ * All Rights Reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+@@ -61,15 +61,14 @@ data_node *cllist_next(cllist *l)
+ return l->cur;
+ }
+
+-void cllist_append(cllist *l, uint32_t num, void *data)
++// Returns 0 on success and 1 on error
++int cllist_append(cllist *l, uint32_t num, void *data)
+ {
+ data_node *newnode;
+
+ newnode = malloc(sizeof(data_node));
+- if (newnode == NULL) {
+- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__);
+- return;
+- }
++ if (newnode == NULL)
++ return 1;
+
+ newnode->num = num;
+ newnode->data = data;
+@@ -84,5 +83,6 @@ void cllist_append(cllist *l, uint32_t num, void *data)
+ // make newnode current
+ l->cur = newnode;
+ l->cnt++;
++ return 0;
+ }
+
+--- a/auparse/normalize-llist.h
++++ b/auparse/normalize-llist.h
+@@ -1,6 +1,6 @@
+ /*
+ * normalize-llist.h - Header file for normalize-llist.c
+- * Copyright (c) 2016-17 Red Hat Inc., Durham, North Carolina.
++ * Copyright (c) 2016-17 Red Hat Inc.
+ * All Rights Reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+@@ -53,7 +53,7 @@ AUDIT_HIDDEN_START
+ void cllist_create(cllist *l, void (*cleanup)(void *));
+ void cllist_clear(cllist* l);
+ data_node *cllist_next(cllist *l);
+-void cllist_append(cllist *l, uint32_t num, void *data);
++int cllist_append(cllist *l, uint32_t num, void *data);
+
+ AUDIT_HIDDEN_END
+
+--- a/auparse/normalize.c
++++ b/auparse/normalize.c
+@@ -179,7 +179,8 @@ static unsigned int add_subj_attr(auparse_state_t *au, const char *str,
+ if ((auparse_find_field(au, str))) {
+ attr = set_record(0, rnum);
+ attr = set_field(attr, auparse_get_field_num(au));
+- cllist_append(&D.actor.attr, attr, NULL);
++ if (cllist_append(&D.actor.attr, attr, NULL))
++ return 1;
+ return 0;
+ } else
+ auparse_goto_record_num(au, rnum);
+@@ -224,7 +225,8 @@ static unsigned int add_obj_attr(auparse_state_t *au, const char *str,
+ if ((auparse_find_field(au, str))) {
+ attr = set_record(0, rnum);
+ attr = set_field(attr, auparse_get_field_num(au));
+- cllist_append(&D.thing.attr, attr, NULL);
++ if (cllist_append(&D.thing.attr, attr, NULL))
++ return 1;
+ return 0;
+ } else
+ auparse_goto_record_num(au, rnum);
+@@ -360,21 +362,23 @@ static void collect_id_obj2(auparse_state_t *au, const char *syscall)
+ }
+ }
+
+-static void collect_path_attrs(auparse_state_t *au)
++static int collect_path_attrs(auparse_state_t *au)
+ {
+ value_t attr;
+ unsigned int rnum = auparse_get_record_num(au);
+
+ auparse_first_field(au);
+ if (add_obj_attr(au, "mode", rnum))
+- return; // Failed opens don't have anything else
++ return 1; // Failed opens don't have anything else
+
+ // All the rest of the fields matter
+ while ((auparse_next_field(au))) {
+ attr = set_record(0, rnum);
+ attr = set_field(attr, auparse_get_field_num(au));
+- cllist_append(&D.thing.attr, attr, NULL);
++ if (cllist_append(&D.thing.attr, attr, NULL))
++ return 1;
+ }
++ return 0;
+ }
+
+ static void collect_cwd_attrs(auparse_state_t *au)
+--- a/src/auditctl-llist.c
++++ b/src/auditctl-llist.c
+@@ -1,7 +1,7 @@
+ /*
+ * ausearch-llist.c - Minimal linked list library
+-* Copyright (c) 2005 Red Hat Inc., Durham, North Carolina.
+-* All Rights Reserved.
++* Copyright (c) 2005 Red Hat Inc.
++* All Rights Reserved.
+ *
+ * This software may be freely redistributed and/or modified under the
+ * terms of the GNU General Public License as published by the Free
+@@ -15,7 +15,7 @@
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; see the file COPYING. If not, write to the
+-* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor
++* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1335, USA.
+ *
+ * Authors:
+@@ -59,19 +59,17 @@ lnode *list_next(llist *l)
+ return l->cur;
+ }
+
+-void list_append(llist *l, struct audit_rule_data *r, size_t sz)
++int list_append(llist *l, struct audit_rule_data *r, size_t sz)
+ {
+ lnode* newnode;
+
+ newnode = malloc(sizeof(lnode));
+- if (newnode == NULL) {
+- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__);
+- return;
+- }
++ if (newnode == NULL)
++ return 1;
+
+ if (r) {
+ void *rr = malloc(sz);
+- if (rr)
++ if (rr)
+ memcpy(rr, r, sz);
+ newnode->r = rr;
+ } else
+@@ -89,6 +87,8 @@ void list_append(llist *l, struct audit_rule_data *r, size_t sz)
+ // make newnode current
+ l->cur = newnode;
+ l->cnt++;
++
++ return 0;
+ }
+
+ void list_clear(llist* l)
+--- a/src/auditctl-llist.h
++++ b/src/auditctl-llist.h
+@@ -1,6 +1,6 @@
+ /*
+ * auditctl-llist.h - Header file for ausearch-llist.c
+-* Copyright (c) 2005 Red Hat Inc., Durham, North Carolina.
++* Copyright (c) 2005 Red Hat Inc.
+ * All Rights Reserved.
+ *
+ * This software may be freely redistributed and/or modified under the
+@@ -50,7 +50,7 @@ void list_first(llist *l);
+ void list_last(llist *l);
+ lnode *list_next(llist *l);
+ static inline lnode *list_get_cur(llist *l) { return l->cur; }
+-void list_append(llist *l, struct audit_rule_data *r, size_t sz);
++int list_append(llist *l, struct audit_rule_data *r, size_t sz);
+ void list_clear(llist* l);
+
+ #endif
+--- a/src/ausearch-avc.c
++++ b/src/ausearch-avc.c
+@@ -1,7 +1,7 @@
+ /*
+ * ausearch-avc.c - Minimal linked list library for avcs
+-* Copyright (c) 2006,2008,2014 Red Hat Inc., Durham, North Carolina.
+-* All Rights Reserved.
++* Copyright (c) 2006,2008,2014 Red Hat Inc.
++* All Rights Reserved.
+ *
+ * This software may be freely redistributed and/or modified under the
+ * terms of the GNU General Public License as published by the Free
+@@ -15,7 +15,7 @@
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; see the file COPYING. If not, write to the
+-* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor
++* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1335, USA.
+ *
+ * Authors:
+@@ -62,15 +62,13 @@ static void alist_last(alist *l)
+ l->cur = cur;
+ }
+
+-void alist_append(alist *l, anode *node)
++int alist_append(alist *l, anode *node)
+ {
+ anode* newnode;
+
+ newnode = malloc(sizeof(anode));
+- if (newnode == NULL) {
+- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__);
+- return;
+- }
++ if (newnode == NULL)
++ return 1;
+
+ if (node->scontext)
+ newnode->scontext = node->scontext;
+@@ -108,6 +106,8 @@ void alist_append(alist *l, anode *node)
+ // make newnode current
+ l->cur = newnode;
+ l->cnt++;
++
++ return 0;
+ }
+
+ int alist_find_subj(alist *l)
+--- a/src/ausearch-avc.h
++++ b/src/ausearch-avc.h
+@@ -1,6 +1,6 @@
+ /*
+ * ausearch-avc.h - Header file for ausearch-string.c
+-* Copyright (c) 2006,2008 Red Hat Inc., Durham, North Carolina.
++* Copyright (c) 2006,2008 Red Hat Inc.
+ * All Rights Reserved.
+ *
+ * This software may be freely redistributed and/or modified under the
+@@ -54,7 +54,7 @@ void alist_create(alist *l);
+ static inline void alist_first(alist *l) { l->cur = l->head; }
+ anode *alist_next(alist *l);
+ static inline anode *alist_get_cur(alist *l) { return l->cur; }
+-void alist_append(alist *l, anode *node);
++int alist_append(alist *l, anode *node);
+ void anode_init(anode *an);
+ void anode_clear(anode *an);
+ void alist_clear(alist* l);
+--- a/src/ausearch-int.c
++++ b/src/ausearch-int.c
+@@ -1,6 +1,6 @@
+ /*
+ * ausearch-int.c - Minimal linked list library for integers
+-* Copyright (c) 2005,2008 Red Hat Inc., Durham, North Carolina.
++* Copyright (c) 2005,2008 Red Hat Inc.
+ * All Rights Reserved.
+ *
+ * This software may be freely redistributed and/or modified under the
+@@ -41,15 +41,13 @@ int_node *ilist_next(ilist *l)
+ return l->cur;
+ }
+
+-void ilist_append(ilist *l, int num, unsigned int hits, int aux)
++int ilist_append(ilist *l, int num, unsigned int hits, int aux)
+ {
+ int_node* newnode;
+
+ newnode = malloc(sizeof(int_node));
+- if (newnode == NULL) {
+- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__);
+- return;
+- }
++ if (newnode == NULL)
++ return 1;
+
+ newnode->num = num;
+ newnode->hits = hits;
+@@ -65,6 +63,8 @@ void ilist_append(ilist *l, int num, unsigned int hits, int aux)
+ // make newnode current
+ l->cur = newnode;
+ l->cnt++;
++
++ return 0;
+ }
+
+ void ilist_clear(ilist* l)
+--- a/src/ausearch-int.h
++++ b/src/ausearch-int.h
+@@ -1,6 +1,6 @@
+ /*
+ * ausearch-int.h - Header file for ausearch-int.c
+-* Copyright (c) 2005,2008 Red Hat Inc., Durham, North Carolina.
++* Copyright (c) 2005,2008 Red Hat Inc.
+ * All Rights Reserved.
+ *
+ * This software may be freely redistributed and/or modified under the
+@@ -48,7 +48,7 @@ void ilist_create(ilist *l);
+ static inline void ilist_first(ilist *l) { l->cur = l->head; }
+ int_node *ilist_next(ilist *l);
+ static inline int_node *ilist_get_cur(ilist *l) { return l->cur; }
+-void ilist_append(ilist *l, int num, unsigned int hits, int aux);
++int ilist_append(ilist *l, int num, unsigned int hits, int aux);
+ void ilist_clear(ilist* l);
+
+ /* append a number if its not already on the list */
+--- a/src/ausearch-llist.c
++++ b/src/ausearch-llist.c
+@@ -1,6 +1,6 @@
+ /*
+ * ausearch-llist.c - Minimal linked list library
+-* Copyright (c) 2005-2008,2011,2016 Red Hat Inc., Durham, North Carolina.
++* Copyright (c) 2005-2008,2011,2016 Red Hat Inc.
+ * Copyright (c) 2011 IBM Corp.
+ * All Rights Reserved.
+ *
+@@ -102,15 +102,13 @@ lnode *list_prev(llist *l)
+ return l->cur;
+ }
+
+-void list_append(llist *l, lnode *node)
++int list_append(llist *l, lnode *node)
+ {
+ lnode* newnode;
+
+ newnode = malloc(sizeof(lnode));
+- if (newnode == NULL) {
+- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__);
+- return;
+- }
++ if (newnode == NULL)
++ return 1;
+
+ if (node->message)
+ newnode->message = node->message;
+@@ -123,7 +121,7 @@ void list_append(llist *l, lnode *node)
+ newnode->type = node->type;
+ newnode->a0 = node->a0;
+ newnode->a1 = node->a1;
+- newnode->item = l->cnt;
++ newnode->item = l->cnt;
+ newnode->next = NULL;
+
+ // if we are at top, fix this up
+@@ -135,6 +133,8 @@ void list_append(llist *l, lnode *node)
+ // make newnode current
+ l->cur = newnode;
+ l->cnt++;
++
++ return 0;
+ }
+
+ int list_find_item(llist *l, unsigned int i)
+--- a/src/ausearch-llist.h
++++ b/src/ausearch-llist.h
+@@ -107,7 +107,7 @@ void list_last(llist *l);
+ lnode *list_next(llist *l);
+ lnode *list_prev(llist *l);
+ static inline lnode *list_get_cur(llist *l) { return l->cur; }
+-void list_append(llist *l, lnode *node);
++int list_append(llist *l, lnode *node);
+ void list_clear(llist* l);
+ int list_get_event(llist* l, event *e);
+
+--- a/src/ausearch-nvpair.c
++++ b/src/ausearch-nvpair.c
+@@ -1,6 +1,6 @@
+ /*
+ * ausearch-nvpair.c - Minimal linked list library for name-value pairs
+-* Copyright (c) 2006-08 Red Hat Inc., Durham, North Carolina.
++* Copyright (c) 2006-08 Red Hat Inc.
+ * All Rights Reserved.
+ *
+ * This software may be freely redistributed and/or modified under the
+@@ -42,13 +42,11 @@ nvnode *search_list_next(nvlist *l)
+ return l->cur;
+ }
+
+-void search_list_append(nvlist *l, nvnode *node)
++int search_list_append(nvlist *l, nvnode *node)
+ {
+ nvnode* newnode = malloc(sizeof(nvnode));
+- if (newnode == NULL) {
+- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__);
+- return;
+- }
++ if (newnode == NULL)
++ return 1;
+
+ newnode->name = node->name;
+ newnode->val = node->val;
+@@ -66,6 +64,8 @@ void search_list_append(nvlist *l, nvnode *node)
+ // make newnode current
+ l->cur = newnode;
+ l->cnt++;
++
++ return 0;
+ }
+
+ int search_list_find_val(nvlist *l, long val)
+--- a/src/ausearch-nvpair.h
++++ b/src/ausearch-nvpair.h
+@@ -1,6 +1,6 @@
+ /*
+ * ausearch-nvpair.h - Header file for ausearch-nvpair.c
+-* Copyright (c) 2006-08 Red Hat Inc., Durham, North Carolina.
++* Copyright (c) 2006-08 Red Hat Inc.
+ * All Rights Reserved.
+ *
+ * This software may be freely redistributed and/or modified under the
+@@ -48,7 +48,7 @@ void search_list_create(nvlist *l);
+ static inline void search_list_first(nvlist *l) { l->cur = l->head; }
+ nvnode *search_list_next(nvlist *l);
+ static inline nvnode *search_list_get_cur(nvlist *l) { return l->cur; }
+-void search_list_append(nvlist *l, nvnode *node);
++int search_list_append(nvlist *l, nvnode *node);
+ void search_list_clear(nvlist* l);
+
+ /* Given a numeric index, find that record. */
+--- a/src/ausearch-string.c
++++ b/src/ausearch-string.c
+@@ -44,15 +44,13 @@ snode *slist_next(slist *l)
+ return l->cur;
+ }
+
+-void slist_append(slist *l, snode *node)
++int slist_append(slist *l, snode *node)
+ {
+ snode* newnode;
+
+ newnode = malloc(sizeof(snode));
+- if (newnode == NULL) {
+- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__);
+- return;
+- }
++ if (newnode == NULL)
++ return 1;
+
+ if (node->str)
+ newnode->str = node->str;
+@@ -79,6 +77,8 @@ void slist_append(slist *l, snode *node)
+ // make newnode current
+ l->cur = newnode;
+ l->cnt++;
++
++ return 0;
+ }
+
+ void slist_clear(slist* l)
+--- a/src/ausearch-string.h
++++ b/src/ausearch-string.h
+@@ -49,7 +49,7 @@ void slist_create(slist *l);
+ static inline void slist_first(slist *l) { l->cur = l->head; }
+ snode *slist_next(slist *l);
+ static inline snode *slist_get_cur(slist *l) { return l->cur; }
+-void slist_append(slist *l, snode *node);
++int slist_append(slist *l, snode *node);
+ void slist_clear(slist* l);
+
+ /* append a string if its not already on the list */
+--- a/tools/aulastlog/aulastlog-llist.c
++++ b/tools/aulastlog/aulastlog-llist.c
+@@ -1,7 +1,7 @@
+ /*
+ * aulastlog-llist.c - Minimal linked list library
+-* Copyright (c) 2008 Red Hat Inc., Durham, North Carolina.
+-* All Rights Reserved.
++* Copyright (c) 2008 Red Hat Inc..
++* All Rights Reserved.
+ *
+ * This software may be freely redistributed and/or modified under the
+ * terms of the GNU General Public License as published by the Free
+@@ -15,7 +15,7 @@
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; see the file COPYING. If not, write to the
+-* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor
++* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1335, USA.
+ *
+ * Authors:
+@@ -41,15 +41,13 @@ lnode *list_next(llist *l)
+ return l->cur;
+ }
+
+-void list_append(llist *l, lnode *node)
++int list_append(llist *l, lnode *node)
+ {
+ lnode* newnode;
+
+ newnode = malloc(sizeof(lnode));
+- if (newnode == NULL) {
+- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__);
+- return;
+- }
++ if (newnode == NULL)
++ return 1;
+
+ newnode->sec = node->sec;
+ newnode->uid = node->uid;
+@@ -62,7 +60,7 @@ void list_append(llist *l, lnode *node)
+ newnode->term = strdup(node->term);
+ else
+ newnode->term = NULL;
+- newnode->item = l->cnt;
++ newnode->item = l->cnt;
+ newnode->next = NULL;
+
+ // if we are at top, fix this up
+@@ -74,6 +72,8 @@ void list_append(llist *l, lnode *node)
+ // make newnode current
+ l->cur = newnode;
+ l->cnt++;
++
++ return 0;
+ }
+
+ void list_clear(llist* l)
+--- a/tools/aulastlog/aulastlog-llist.h
++++ b/tools/aulastlog/aulastlog-llist.h
+@@ -1,6 +1,6 @@
+ /*
+ * aulastlog-llist.h - Header file for aulastlog-llist.c
+-* Copyright (c) 2008 Red Hat Inc., Durham, North Carolina.
++* Copyright (c) 2008 Red Hat Inc.
+ * All Rights Reserved.
+ *
+ * This software may be freely redistributed and/or modified under the
+@@ -53,7 +53,7 @@ static inline void list_first(llist *l) { l->cur = l->head; }
+ lnode *list_next(llist *l);
+ static inline lnode *list_get_cur(llist *l) { return l->cur; }
+ static inline unsigned int list_get_cnt(llist *l) { return l->cnt; }
+-void list_append(llist *l, lnode *node);
++int list_append(llist *l, lnode *node);
+ void list_clear(llist* l);
+ int list_update_login(llist* l, time_t t);
+ int list_update_host(llist* l, const char *h);
+
diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.4-r1.ebuild
index f1fa09a9c3b..04b848d70c7 100644
--- a/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.4-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.4-r1.ebuild
@@ -15,7 +15,7 @@ S="${WORKDIR}"/${PN}-ng-${PV}
# See bug #913210
LICENSE="GPL-2+ LGPL-2+ LGPL-2.1+"
SLOT="0/0-ng"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="elogind +kill modern-top +ncurses nls selinux static-libs systemd test unicode"
RESTRICT="!test? ( test )"
diff --git a/sdk_container/src/third_party/portage-stable/x11-base/xorg-proto/xorg-proto-2024.1.ebuild b/sdk_container/src/third_party/portage-stable/x11-base/xorg-proto/xorg-proto-2024.1.ebuild
index 9a50fc259d5..42f6666cd14 100644
--- a/sdk_container/src/third_party/portage-stable/x11-base/xorg-proto/xorg-proto-2024.1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/x11-base/xorg-proto/xorg-proto-2024.1.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
MY_PN="${PN/xorg-/xorg}"
MY_P="${MY_PN}-${PV}"
diff --git a/sdk_container/src/third_party/portage-stable/x11-base/xorg-proto/xorg-proto-9999.ebuild b/sdk_container/src/third_party/portage-stable/x11-base/xorg-proto/xorg-proto-9999.ebuild
index 980d24c4438..3ca7fa0c89e 100644
--- a/sdk_container/src/third_party/portage-stable/x11-base/xorg-proto/xorg-proto-9999.ebuild
+++ b/sdk_container/src/third_party/portage-stable/x11-base/xorg-proto/xorg-proto-9999.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
MY_PN="${PN/xorg-/xorg}"
MY_P="${MY_PN}-${PV}"