diff --git a/changelog/updates/2025-05-07-weekly-updates.md b/changelog/updates/2025-05-07-weekly-updates.md new file mode 100644 index 0000000000..01b17692d3 --- /dev/null +++ b/changelog/updates/2025-05-07-weekly-updates.md @@ -0,0 +1,11 @@ +- base, dev: diffutils ([3.12](https://lists.gnu.org/archive/html/info-gnu/2025-04/msg00005.html) (includes [3.11](https://savannah.gnu.org/news/?id=10720))) +- base, dev: ldb ([2.9.2](https://gitlab.com/samba-team/samba/-/commit/42bfbb012f9c1c9054cdfb510ae4a50a3f12b384) (includes [2.9.1](https://gitlab.com/samba-team/samba/-/commit/3dd39600da3c0bedeae9f033c1333eb6b0f4ff33), [2.9.0](https://gitlab.com/samba-team/samba/-/commit/ec91204387bd7f5c5a8d8df8534c6ca59b491ac5))) +- base, dev: libidn2 ([2.3.8](https://gitlab.com/libidn/libidn2/-/blob/v2.3.8/NEWS)) +- base, dev: polkit ([126](https://github.com/polkit-org/polkit/blob/126/NEWS.md)) +- base, dev: rsync ([3.4.1](https://download.samba.org/pub/rsync/NEWS#3.4.1) (includes [3.4.0](https://download.samba.org/pub/rsync/NEWS#3.4.0))) +- base, dev: samba ([4.20.7](https://gitlab.com/samba-team/samba/-/blob/samba-4.20.7/WHATSNEW.txt) (includes [4.20.6](https://gitlab.com/samba-team/samba/-/blob/samba-4.20.6/WHATSNEW.txt), [4.20.5](https://gitlab.com/samba-team/samba/-/blob/samba-4.20.5/WHATSNEW.txt), [4.20.4](https://gitlab.com/samba-team/samba/-/blob/samba-4.20.4/WHATSNEW.txt), [4.20.3](https://gitlab.com/samba-team/samba/-/blob/samba-4.20.3/WHATSNEW.txt), [4.20.2](https://gitlab.com/samba-team/samba/-/blob/samba-4.20.2/WHATSNEW.txt), [4.20.1](https://gitlab.com/samba-team/samba/-/blob/samba-4.20.1/WHATSNEW.txt), [4.20.0](https://gitlab.com/samba-team/samba/-/blob/samba-4.20.0/WHATSNEW.txt))) +- base, dev: strace ([6.14](https://github.com/strace/strace/releases/tag/v6.14)) +- base, dev: tdb ([1.4.12](https://gitlab.com/samba-team/samba/-/commit/6b10cfbaf2c522cceb48c610c18656d2d69cf60b) (includes [1.4.11](https://gitlab.com/samba-team/samba/-/commit/93a6656c13facdb8565f90954428c4cf800bfc36))) +- base, dev: unzip ([6.0_p29](https://metadata.ftp-master.debian.org/changelogs//main/u/unzip/unzip_6.0-29_changelog)) +- dev: patch ([2.8](https://lists.gnu.org/archive/html/info-gnu/2025-03/msg00014.html)) +- sysext-zfs: zfs ([2.3.1](https://github.com/openzfs/zfs/releases/tag/zfs-2.3.1) (includes [2.3.0](https://github.com/openzfs/zfs/releases/tag/zfs-2.3.0))) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-firewall/nftables b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-firewall/nftables index ce07686531..f8e35864ca 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-firewall/nftables +++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-firewall/nftables @@ -1,4 +1,4 @@ -nftables_install_mask=" /usr/libexec/nftables /var/lib/nftables /usr/lib/systemd/system/nftables-restore.service " +nftables_install_mask=" /usr/libexec/nftables /var/lib/nftables /usr/lib/systemd/system/nftables-load.service /usr/lib/systemd/system/nftables-store.service " INSTALL_MASK+=${nftables_install_mask} PKG_INSTALL_MASK+=${nftables_install_mask} 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 23306d2b2c..d322e2ae41 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 @@ -23,14 +23,11 @@ =app-crypt/adcli-0.9.2 ~arm64 # Needed by arm64-native SDK -=app-crypt/ccid-1.5.5 ~arm64 +=app-crypt/ccid-1.6.1 ~arm64 # The only available ebuild (from GURU) has ~amd64 and no keyword for arm64 yet. =app-crypt/clevis-19-r1 ** -# Keep versions on both arches in sync. -=app-crypt/tpm2-tss-4.1.3-r2 ~amd64 - # Needed by arm64-native SDK. =app-emulation/open-vmdk-1.0 * @@ -47,11 +44,6 @@ # The only available ebuild (from GURU) has ~amd64 and no keyword for arm64 yet. =dev-libs/jose-12 ** - -# Keep versions on both arches in sync. -=dev-libs/libxml2-2.13.7 ~arm64 - -# The only available ebuild (from GURU) has ~amd64 and no keyword for arm64 yet. =dev-libs/luksmeta-9-r1 ** # No arm64 keyword in package. @@ -60,9 +52,6 @@ # Catalyst 4 is not stable yet, but earlier versions are masked now. =dev-util/catalyst-4.0.0 ~amd64 ~arm64 -# Keep versions on both arches in sync. -=net-dns/bind-9.18.31-r1 ~arm64 - # Needed to address CVE-2025-31498. =net-dns/c-ares-1.34.5 ~amd64 ~arm64 @@ -77,7 +66,7 @@ =net-libs/libnetfilter_cttimeout-1.0.1 ~arm64 # Needed to address curl-20250205 (https://github.com/curl/curl/issues/16197) -=net-misc/curl-8.13.0 ~amd64 ~arm64 +=net-misc/curl-8.13.0-r1 ~amd64 ~arm64 # Needed to address CVE-2024-53580. =net-misc/iperf-3.18 ~amd64 ~arm64 @@ -97,6 +86,7 @@ sys-apps/azure-vm-utils =sys-apps/semodule-utils-3.7 ~arm64 =sys-apps/util-linux-2.40.4 ~arm64 =sys-apps/zram-generator-1.2.1 ~arm64 +=sys-auth/polkit-126-r1 ~amd64 # Needed to avoid pulling python into production images. =sys-auth/sssd-2.9.6-r3 ~arm64 diff --git a/sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p29.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p29.ebuild index db8c27052c..13f2c61aab 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p29.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p29.ebuild @@ -19,7 +19,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="Info-ZIP" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="bzip2 natspec unicode" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.6.1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.6.1.ebuild index 2f39790674..a131091cc9 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.6.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.6.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://ccid.apdu.fr/files/${P}.tar.xz" LICENSE="LGPL-2.1+ LGPL-2+ GPL-2+" SLOT="0" -KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~ppc ppc64 ~riscv ~sparc x86" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ppc ppc64 ~riscv ~sparc x86" IUSE="twinserial" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.1.3-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.1.3-r2.ebuild index 426fb88fd8..d80710ec51 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.1.3-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.1.3-r2.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/tpm2-software/${PN}/releases/download/${PV}/${P}.tar LICENSE="BSD-2" SLOT="0/4" -KEYWORDS="~amd64 arm arm64 ~loong ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" IUSE="doc +fapi +openssl mbedtls +policy static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.14.0.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.14.0.ebuild deleted file mode 100644 index 8bf37e86e5..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.14.0.ebuild +++ /dev/null @@ -1,178 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -BASHCOMP_P=bashcomp-2.0.3 -PYTHON_COMPAT=( python3_{10..12} ) - -inherit python-any-r1 - -DESCRIPTION="Programmable Completion for bash" -HOMEPAGE="https://github.com/scop/bash-completion" -SRC_URI=" - https://github.com/scop/bash-completion/releases/download/${PV}/${P}.tar.xz - eselect? ( - https://github.com/projg2/bashcomp2/releases/download/v${BASHCOMP_P#*-}/${BASHCOMP_P}.tar.gz - ) -" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" -IUSE="+eselect test" -RESTRICT="!test? ( test )" - -# completion collision with net-fs/mc -RDEPEND=" - >=app-shells/bash-4.3_p30-r1:0 - sys-apps/miscfiles - ! 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 ~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_p32-memory-leaks.patch" + "${FILESDIR}/${PN}-5.2_p32-invalid-continuation-byte-ignored-as-delimiter-1.patch" + "${FILESDIR}/${PN}-5.2_p32-invalid-continuation-byte-ignored-as-delimiter-2.patch" + "${FILESDIR}/${PN}-5.2_p32-erroneous-delimiter-pushback-condition.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 + + # bash 5.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags $(test-flags-CC -std=gnu17) + + 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-r1.bash | newins - 10-gentoo-color.bash + newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r2.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.2_p37-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37-r2.ebuild new file mode 100644 index 0000000000..2e063be865 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37-r2.ebuild @@ -0,0 +1,408 @@ +# Copyright 1999-2025 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 ~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_p32-memory-leaks.patch" + "${FILESDIR}/${PN}-5.2_p32-invalid-continuation-byte-ignored-as-delimiter-1.patch" + "${FILESDIR}/${PN}-5.2_p32-invalid-continuation-byte-ignored-as-delimiter-2.patch" + "${FILESDIR}/${PN}-5.2_p32-erroneous-delimiter-pushback-condition.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 + + # bash 5.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags $(test-flags-CC -std=gnu17) + + 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-r2.bash | newins - 10-gentoo-color.bash + newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r2.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.2_p37.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37.ebuild index 63118c6d01..4bb6c49f60 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -97,7 +97,7 @@ PATCHES=( "${FILESDIR}/${PN}-5.2_p15-configure-clang16.patch" "${FILESDIR}/${PN}-5.2_p21-wpointer-to-int.patch" "${FILESDIR}/${PN}-5.2_p32-memory-leaks.patch" - "${FILESDIR}/${PN}-5.2_p32-read-delimiter-in-invalid-mbchar.patch" + "${FILESDIR}/${PN}-5.2_p32-invalid-continuation-byte-ignored-as-delimiter-1.patch" ) pkg_setup() { diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc1_p20250430.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc1_p20250430.ebuild new file mode 100644 index 0000000000..a71d009bc5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc1_p20250430.ebuild @@ -0,0 +1,410 @@ +# Copyright 1999-2025 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_beta" + +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="15df5993542463ba9798e4ea5e488dfddf83c276" + SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" + 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 ~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 + + 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 + + # builtins/evalstring.c needs y.tab.h but can't (easily) specify the dep on it from above + emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" y.tab.h + 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[*]}" y.tab.h + 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-r1.bash | newins - 10-gentoo-color.bash + newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r2.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 ebd7607905..48dc6faddf 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 @@ -315,8 +315,8 @@ src_install() { 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 + my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color-r1.bash | newins - 10-gentoo-color.bash + newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r2.bash 10-gentoo-title.bash if [[ ! ${EPREFIX} ]]; then doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash fi diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bash-5.2_p32-erroneous-delimiter-pushback-condition.patch b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bash-5.2_p32-erroneous-delimiter-pushback-condition.patch new file mode 100644 index 0000000000..6e80009526 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bash-5.2_p32-erroneous-delimiter-pushback-condition.patch @@ -0,0 +1,76 @@ +From 57fbf1c67f2d89365601f39e72781fba001fe2f3 Mon Sep 17 00:00:00 2001 +From: Kerin Millar +Date: Mon, 28 Apr 2025 08:13:38 +0100 +Subject: [PATCH 3/3] Backport fix for erroneous delimiter pushback condition + in read_mbchar + +This is a partial backport of commit 7731dc5c4d405ab147fc562e3af2a375ca593554 +from the devel branch. Consider the following test case. + +$ LC_ALL=en_US.UTF-8 +$ printf 'FOO\0\315\0\226\0' | while read -rd ''; do echo "${REPLY@Q}"; done + +With any vanilla 5.0, 5.1 or 5.2 release, the third record is disregarded. + + +<$'\315'> + +With 5.3-rc1, the third record is treated as if it were two empty +records. The same is true of Gentoo's 5.2_p37 release. + +'FOO' +$'\315' +'' +'' + +With the upcoming 5.3-rc2, which will incoprorate this patch, all three +records are read correctly. + + +<$'\315'> +<$'\226'> + +The issue is addressed by ensuring that the revised read_mbchar() +routine refrains from pushing back the delimiter - while effectively +truncating the mbchar buffer by writing a NUL byte - in cases where the +delimiter character was not read by the same routine. + +As of the time of writing, the issue has not been addressed by any of +the official patchlevels, nor has 5.3 been released. + +Link: https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/utilities/read.html#tag_20_100_06 +Link: https://mywiki.wooledge.org/BashPitfalls#IFS.3D_read_-r_-d_.27.27_filename +Link: https://lists.gnu.org/archive/html/bug-bash/2025-04/msg00065.html +Signed-off-by: Kerin Millar +--- + builtins/read.def | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git builtins/read.def builtins/read.def +index 9fd9a74c..8000def3 100644 +--- builtins/read.def ++++ builtins/read.def +@@ -1102,14 +1102,14 @@ read_mbchar (fd, string, ind, ch, delim, unbuffered) + } + else if (ret == (size_t)-1) + { +- /* If we read a delimiter character that makes this an invalid +- multibyte character, we can't just add it to the input string +- and treat it as a byte. We need to push it back so a subsequent +- zread will pick it up. */ +- if ((unsigned char)c == delim) ++ /* If we read (i > 1) a delimiter character (c == delimiter) ++ that makes this an invalid multibyte character, we can't just ++ add it to the input string and treat it as a byte. ++ We need to push it back so a subsequent zread will pick it up. */ ++ if (i > 1 && (unsigned char)c == delim) + { + zungetc ((unsigned char)c); +- mbchar[--i] = '\0'; /* unget the delimiter */ ++ i--; + } + break; /* invalid multibyte character */ + } +-- +2.49.0 + diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bash-5.2_p32-read-delimiter-in-invalid-mbchar.patch b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bash-5.2_p32-invalid-continuation-byte-ignored-as-delimiter-1.patch similarity index 69% rename from sdk_container/src/third_party/portage-stable/app-shells/bash/files/bash-5.2_p32-read-delimiter-in-invalid-mbchar.patch rename to sdk_container/src/third_party/portage-stable/app-shells/bash/files/bash-5.2_p32-invalid-continuation-byte-ignored-as-delimiter-1.patch index 832520c6e7..949f5b2f7a 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bash-5.2_p32-read-delimiter-in-invalid-mbchar.patch +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bash-5.2_p32-invalid-continuation-byte-ignored-as-delimiter-1.patch @@ -1,78 +1,67 @@ -From 0432ec33408ac124b620c44416c9c58f0c10b63b Mon Sep 17 00:00:00 2001 +From 2482e34ac12910f7e7436a968caf97ab96f8b582 Mon Sep 17 00:00:00 2001 From: Kerin Millar -Date: Fri, 23 Aug 2024 04:14:36 +0100 -Subject: [PATCH] Backport fix for issue with read delimiter in invalid - mutibyte char +Date: Sat, 26 Apr 2025 08:43:58 +0100 +Subject: [PATCH 1/3] Backport fix for invalid continuation bytes being ignored + as delimiters -This addresses a regression introduced by 5.0. Consider the following +This is a partial backport of commit 772e7e760e8a098e4d8dee21cf11090be4757918 +from the devel branch. It addresses an issue in read_mbchar() whereby +the read builtin can read past the delimiter character, provided that is +invoked with a multibyte character set in effect. Consider the following test case. -for i in {194..245}; do printf -v o %o "$i"; printf "\\$o\\n"; done | -while read -r; do declare -p REPLY; done - -BEFORE - +$ LC_ALL=en_US.UTF-8 +$ for i in {194..245}; do printf -v o %o "$i"; printf "\\$o\\n"; done | + while read -r; do declare -p REPLY; done declare -- REPLY=$'\302\n\303\n\304\n\305\n\306\n\307\n\310\n\311\n\312\ n\313\n\314\n\315\n\316\n\317\n\320\n\321\n\322\n\323\n\324\n\325\n\326\ n\327\n\330\n\331\n\332\n\333\n\334\n\335\n\336\n\337\n\340\n\341\n\342\ n\343\n\344\n\345\n\346\n\347\n\350\n\351\n\352\n\353\n\354\n\355\n\356\ n\357\n\360\n\361\n\362\n\363\n\364\n\365' -AFTER +The producing loop emits a sequence of bytes in the range 0xC2 - 0xF5. +Since each is terminated by a character, one would expect for +exactly 52 iterations of the consuming loop, with REPLY being assigned a +single byte each time. Instead, the input is read in its entirety. Why +is that, one may ask. + +Given a legal UTF-8 byte sequence, any bytes whose values are between +0xC2 - 0xF4 are combinative in nature; they can only be followed by +between one and three bytes that are outside of that range. + +0xC2 - 0xDF : First byte of a 2-byte code unit sequence +0xE0 - 0xEF : First byte of a 3-byte code unit sequence +0xF0 - 0xF4 : First byte of a 4-byte code unit sequence + +As such, bash begins by reading the 0xC2 byte, for which mbrtowc(3) +returns -2, indicating an incomplete multibyte sequence. Next, the 0x0A +byte is read, for which mbrtowc(3) returns -1, indicating an invalid +multibyte sequence. At this point, bash ought to recognise the most +recently read byte as a delimiter. Instead, it continues reading the +input stream up until the delimiter that follows 0xF5, which is neither +a combining character nor legal in UTF-8 in any capacity. + +This patch addresses the issue by introducing the zungetc() function, +which is used by read_mbchar() to push back the delimiter character that +transforms the sequence from an incomplete one to an invalid one. Said +character is then detected by the next invocation of the zread() +function, allowing for the decision to be made to return. + +With this, the output of the test case amounts to 52 lines, as expected. declare -- REPLY=$'\302' declare -- REPLY=$'\303' -declare -- REPLY=$'\304' -declare -- REPLY=$'\305' -declare -- REPLY=$'\306' -declare -- REPLY=$'\307' -declare -- REPLY=$'\310' -declare -- REPLY=$'\311' -declare -- REPLY=$'\312' -declare -- REPLY=$'\313' -declare -- REPLY=$'\314' -declare -- REPLY=$'\315' -declare -- REPLY=$'\316' -declare -- REPLY=$'\317' -declare -- REPLY=$'\320' -declare -- REPLY=$'\321' -declare -- REPLY=$'\322' -declare -- REPLY=$'\323' -declare -- REPLY=$'\324' -declare -- REPLY=$'\325' -declare -- REPLY=$'\326' -declare -- REPLY=$'\327' -declare -- REPLY=$'\330' -declare -- REPLY=$'\331' -declare -- REPLY=$'\332' -declare -- REPLY=$'\333' -declare -- REPLY=$'\334' -declare -- REPLY=$'\335' -declare -- REPLY=$'\336' -declare -- REPLY=$'\337' -declare -- REPLY=$'\340' -declare -- REPLY=$'\341' -declare -- REPLY=$'\342' -declare -- REPLY=$'\343' -declare -- REPLY=$'\344' -declare -- REPLY=$'\345' -declare -- REPLY=$'\346' -declare -- REPLY=$'\347' -declare -- REPLY=$'\350' -declare -- REPLY=$'\351' -declare -- REPLY=$'\352' -declare -- REPLY=$'\353' -declare -- REPLY=$'\354' -declare -- REPLY=$'\355' -declare -- REPLY=$'\356' -declare -- REPLY=$'\357' -declare -- REPLY=$'\360' -declare -- REPLY=$'\361' -declare -- REPLY=$'\362' -declare -- REPLY=$'\363' +... declare -- REPLY=$'\364' declare -- REPLY=$'\365' +The issue affects all bash releases from 5.0 to 5.3-alpha. As of the +time of writing, it has not been addressed by any of the official +patchlevels, nor has 5.3 been released. + +Link: https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/utilities/read.html#tag_20_100_06 +Link: https://mywiki.wooledge.org/BashPitfalls#IFS.3D_read_-r_-d_.27.27_filename +Link: https://lists.gnu.org/archive/html/bug-bash/2025-04/msg00068.html Signed-off-by: Kerin Millar --- builtins/read.def | 25 ++++++++++++---- @@ -293,5 +282,5 @@ index dafb7f60..7cfbb288 100644 zreset () { -- -2.45.2 +2.49.0 diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bash-5.2_p32-invalid-continuation-byte-ignored-as-delimiter-2.patch b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bash-5.2_p32-invalid-continuation-byte-ignored-as-delimiter-2.patch new file mode 100644 index 0000000000..ff6fdf2541 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bash-5.2_p32-invalid-continuation-byte-ignored-as-delimiter-2.patch @@ -0,0 +1,146 @@ +From fb31e1965baa732f9e4cdbe3a7d6691d7beb4e03 Mon Sep 17 00:00:00 2001 +From: Kerin Millar +Date: Mon, 28 Apr 2025 07:59:25 +0100 +Subject: [PATCH 2/3] Backport fix for invalid continuation bytes above 0x7F + being ignored as delimiters + +This is a partial backport of commit e327891b52513bef0b34aac625c44f8fa6811f53 +from the devel branch. It addresses an issue in read_mbchar() whereby an +invalid continuation byte greater than 0x7F isn't recognised as a valid +delimiter on platforms where char is signed. Consider the following test +case. + +$ LC_ALL=en_US.UTF-8; uname -m +x86_64 +$ printf '\317\360_' | { read -rd $'\360'; echo "${REPLY@Q}"; } +$'\317\360_' + +After applying this patch, the value of REPLY will be $'\317'. + +The issue affects all bash releases from 5.0 to 5.3-rc1. As of the time +of writing, it has not been addressed by any of the official +patchlevels, nor has 5.3 been released. + +Link: https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/utilities/read.html#tag_20_100_06 +Link: https://mywiki.wooledge.org/BashPitfalls#IFS.3D_read_-r_-d_.27.27_filename +Link: https://lists.gnu.org/r/bug-bash/2024-08/msg00100.html +Signed-off-by: Kerin Millar +--- + builtins/read.def | 40 +++++++++++++++++++++++----------------- + 1 file changed, 23 insertions(+), 17 deletions(-) + +diff --git builtins/read.def builtins/read.def +index 53b4bd81..9fd9a74c 100644 +--- builtins/read.def ++++ builtins/read.def +@@ -142,7 +142,7 @@ sh_timer *read_timeout; + + static int reading, tty_modified; + static SigHandler *old_alrm; +-static unsigned char delim; ++static int delim; + + static struct ttsave termsave; + +@@ -320,7 +320,6 @@ read_builtin (list) + break; + case 'N': + ignore_delim = 1; +- delim = -1; + case 'n': + nflag = 1; + code = legal_number (list_optarg, &intval); +@@ -348,7 +347,7 @@ read_builtin (list) + } + break; + case 'd': +- delim = *list_optarg; ++ delim = (unsigned char)*list_optarg; + break; + CASE_HELPOPT; + default: +@@ -765,7 +764,7 @@ read_builtin (list) + continue; + } + +- if (ignore_delim == 0 && (unsigned char)c == delim) ++ if ((unsigned char)c == delim) + break; + + if (c == '\0' && delim != '\0') +@@ -1107,9 +1106,9 @@ read_mbchar (fd, string, ind, ch, delim, unbuffered) + multibyte character, we can't just add it to the input string + and treat it as a byte. We need to push it back so a subsequent + zread will pick it up. */ +- if (c == delim) ++ if ((unsigned char)c == delim) + { +- zungetc (c); ++ zungetc ((unsigned char)c); + mbchar[--i] = '\0'; /* unget the delimiter */ + } + break; /* invalid multibyte character */ +@@ -1220,6 +1219,8 @@ edit_line (p, itext) + len = strlen (ret); + ret = (char *)xrealloc (ret, len + 2); + ret[len++] = delim; ++ if (delim > 0) ++ ret[len++] = delim; + ret[len] = '\0'; + return ret; + } +@@ -1240,7 +1241,7 @@ static rl_command_func_t *old_delim_func; + static int old_newline_ctype; + static rl_command_func_t *old_newline_func; + +-static unsigned char delim_char; ++static int delim_char; + + static void + set_eol_delim (c) +@@ -1252,19 +1253,21 @@ set_eol_delim (c) + initialize_readline (); + cmap = rl_get_keymap (); + +- /* Save the old delimiter char binding */ ++ /* Save the old newline binding and change it to self-insert */ + old_newline_ctype = cmap[RETURN].type; + old_newline_func = cmap[RETURN].function; +- old_delim_ctype = cmap[c].type; +- old_delim_func = cmap[c].function; +- +- /* Change newline to self-insert */ + cmap[RETURN].type = ISFUNC; + cmap[RETURN].function = rl_insert; + +- /* Bind the delimiter character to accept-line. */ +- cmap[c].type = ISFUNC; +- cmap[c].function = rl_newline; ++ /* Save any binding to the delimiter and bind the delimiter to accept-line */ ++ if (c >= 0) ++ { ++ old_delim_ctype = cmap[c].type; ++ old_delim_func = cmap[c].function; ++ ++ cmap[c].type = ISFUNC; ++ cmap[c].function = rl_newline; ++ } + + delim_char = c; + } +@@ -1280,7 +1283,10 @@ reset_eol_delim (cp) + cmap[RETURN].type = old_newline_ctype; + cmap[RETURN].function = old_newline_func; + +- cmap[delim_char].type = old_delim_ctype; +- cmap[delim_char].function = old_delim_func; ++ if (delim_char >= 0) ++ { ++ cmap[delim_char].type = old_delim_ctype; ++ cmap[delim_char].function = old_delim_func; ++ } + } + #endif +-- +2.49.0 + diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-color-r1.bash b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-color-r1.bash new file mode 100644 index 0000000000..72693cb33a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-color-r1.bash @@ -0,0 +1,73 @@ +# /etc/bash/bashrc.d/10-gentoo-color.bash + +if [[ ${NO_COLOR} ]]; then + # Respect the user's wish not to use color. See https://no-color.org/. + gentoo_color=0 +elif [[ ${COLORTERM@a} == *x* && ${COLORTERM} == @(24bit|truecolor) ]]; then + # The COLORTERM environment variable can reasonably be trusted here. + # See https://github.com/termstandard/colors for further information. + gentoo_color=1 +elif unset -v COLORTERM; ! gentoo_color=$(tput colors 2>/dev/null); then + # Either ncurses is not installed or no terminfo database could be + # found. Fall back to a whitelist which covers the majority of terminal + # emulators and virtual console implementations known to support color + # and which remain (somewhat) popular. This will rarely happen, so the + # list need not be exhaustive. + case ${TERM} in + *color* |\ + *direct* |\ + *ghostty |\ + [Ekx]term* |\ + alacritty |\ + aterm |\ + contour |\ + dtterm |\ + foot* |\ + jfbterm |\ + linux |\ + mlterm |\ + rxvt* |\ + screen* |\ + tmux* |\ + wsvt25* ) gentoo_color=1 + esac +elif (( gentoo_color == 16777216 )); then + # Truecolor support is available. Advertise it. + export COLORTERM=truecolor +fi + +# For direxpand to be missing indicates that bash is lacking readline support. +if (( gentoo_color <= 0 )) || [[ ! $(shopt -p direxpand 2>/dev/null) ]]; then + # Define a prompt without color. + PS1='\u@\h \w \$ ' +elif (( EUID == 0 )); then + # If root, omit the username and print the hostname in red. + PS1='\[\e[01;31m\]\h\[\e[01;34m\] \w \$\[\e[00m\] ' +else + # Otherwise, print the username and hostname in green. + PS1='\[\e[01;32m\]\u@\h\[\e[01;34m\] \w \$\[\e[00m\] ' +fi + +if (( gentoo_color > 0 )); then + # Colorize the output of diff(1), grep(1) and a few coreutils utilities. + # However, do so only where no alias/function by the given name exists. + for _ in diff dir grep ls vdir; do + if [[ $(type -t "$_") == file ]]; then + alias "$_=$_ --color=auto" + fi + done + + # Enable colors for ls(1) and some other utilities that respect the + # LS_COLORS variable. Prefer ~/.dir_colors, per bug #64489. + if hash dircolors 2>/dev/null; then + if [[ -f ~/.dir_colors ]]; then + eval "$(COLORTERM=1 dircolors -b -- ~/.dir_colors)" + elif [[ -f /etc/DIR_COLORS ]]; then + eval "$(COLORTERM=1 dircolors -b /etc/DIR_COLORS)" + else + eval "$(COLORTERM=1 dircolors -b)" + fi + fi +fi + +unset -v gentoo_color diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-color-r2.bash b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-color-r2.bash new file mode 100644 index 0000000000..847e76f8f1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-color-r2.bash @@ -0,0 +1,70 @@ +# /etc/bash/bashrc.d/10-gentoo-color.bash + +if [[ ${NO_COLOR} ]]; then + # Respect the user's wish not to use color. See https://no-color.org/. + gentoo_color=0 +elif [[ ${COLORTERM@a} == *x* && ${COLORTERM} == @(24bit|truecolor) ]]; then + # The COLORTERM environment variable can reasonably be trusted here. + # See https://github.com/termstandard/colors for further information. + gentoo_color=1 +else + # Check TERM against a whitelist covering a majority of popular + # terminal emulators and virtual console implementations known to + # support color. If no matching entry is found, try to use tput(1) to + # determine whether color is supported. + case ${TERM} in + *color* |\ + *direct* |\ + *ghostty |\ + [Ekx]term* |\ + alacritty |\ + aterm |\ + contour |\ + dtterm |\ + foot* |\ + jfbterm |\ + linux |\ + mlterm |\ + rxvt* |\ + screen* |\ + tmux* |\ + wsvt25* ) gentoo_color=1 ;; + * ) gentoo_color=$(tput colors 2>/dev/null) + esac +fi + +# For direxpand to be missing indicates that bash is lacking readline support. +if (( gentoo_color <= 0 )) || ( ! shopt -u direxpand 2>/dev/null ); then + # Define a prompt without color. + PS1='\u@\h \w \$ ' +elif (( EUID == 0 )); then + # If root, omit the username and print the hostname in red. + PS1='\[\e[01;31m\]\h\[\e[01;34m\] \w \$\[\e[00m\] ' +else + # Otherwise, print the username and hostname in green. + PS1='\[\e[01;32m\]\u@\h\[\e[01;34m\] \w \$\[\e[00m\] ' +fi + +if (( gentoo_color > 0 )); then + # Colorize the output of diff(1), grep(1) and a few coreutils utilities. + # However, do so only where no alias/function by the given name exists. + for _ in diff dir grep ls vdir; do + if [[ $(type -t "$_") == file ]]; then + alias "$_=$_ --color=auto" + fi + done + + # Enable colors for ls(1) and some other utilities that respect the + # LS_COLORS variable. Prefer ~/.dir_colors, per bug #64489. + if hash dircolors 2>/dev/null; then + if [[ -f ~/.dir_colors ]]; then + eval "$(COLORTERM=1 dircolors -b -- ~/.dir_colors)" + elif [[ -f /etc/DIR_COLORS ]]; then + eval "$(COLORTERM=1 dircolors -b /etc/DIR_COLORS)" + else + eval "$(COLORTERM=1 dircolors -b)" + fi + fi +fi + +unset -v gentoo_color diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title-r2.bash b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title-r2.bash new file mode 100644 index 0000000000..c1c560defb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title-r2.bash @@ -0,0 +1,83 @@ +# /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() { + local _cwd + + 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*|contour|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/dev-build/meson/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/meson/Manifest index 1c8ab01588..bbf1c22a06 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 @@ -16,12 +16,12 @@ DIST meson-1.7.1.tar.gz 2295198 BLAKE2B a1eda88cc349f74ab00e367daf5f27452875f483 DIST meson-1.7.1.tar.gz.asc 833 BLAKE2B 1e854c5f026471d1fa1f9f9ca26a8be06518564694b92ba8a751f2c05fa430359c5f6c9b636c0df9a2db338f61a9750e4080d60171a0e3bef49163c416166ef6 SHA512 266de0d34828688491ad3167bb3b88f489b579af1bbbb20a28e3ccfc342fa04659970d4db5e10a0470a5c52d37f4b04f718d7af4c3c3e9e1e67c69c10f3c4662 DIST meson-1.7.2.tar.gz 5009274 BLAKE2B f5a19d7c0dfa35efda5bdef972fa6362a64fee2c74be0c09dee6d52c30a8b0169dbe7fab3199add306c778f6a57196251b44ec27ff6b5e038e12c11b27513a54 SHA512 c3c71ae0e0c31d8d72e200bb5fd5e6584ce41aabe1e85575d50371f82ed02c6e346da3b0b4a2786199b9410daaa1622807a88bfc8ac991cf134bad4a53b3c863 DIST meson-1.7.2.tar.gz.asc 996 BLAKE2B 9a34bb86f15eb92d4eb972835e8e18e175c869a6ba9d88310ca6058654200b227c7a4a945eee220784f584737a3b74ffcd06e2b60a3e502e49af5da69eb1e5bf SHA512 a1e0461a28dfc8ba74ffd919511584148094c2bc809c3d380749856cbdaa33473c1a0c1ec92928020f50e116803fc03deb37b3ee2aca7e56287b155a5ccc36ac -DIST meson-1.8.0rc2.tar.gz 2336408 BLAKE2B 6337d81a7adf8de6e0d172117a258f72d11c7bbeeb2624cf449639400f6bcdac961c9519f290d3c7a95f79783cfc2187819b3442b8f258e0db7a9e671edf2a9a SHA512 51012adc2ff86dd88c80c18f78ee7933ecd24f7e664a29cd972e239a25a6b58ab63e10bba1b4cc76fae3edfa74c2ee285a3e23d7791a947e1131de5634cf88f3 -DIST meson-1.8.0rc2.tar.gz.asc 833 BLAKE2B fc0445987e7edf2abba6d5c627adbf68bc36b69f7334dbeef19e49ad54ec7d42c2e64d1c4c5d9c2a0f3a217e8364c3cd950705e397e069b308b1099ff0d07f18 SHA512 746e41ee39cf0a58f783835dd79a435a16903b7c39756e93eb3f00446a37b82d2f40f7d5bb8a4e5430b33cb43468b4301616bcc8d6b7d2cd85e5b64f61029ed5 +DIST meson-1.8.0.tar.gz 2334911 BLAKE2B a27a6e105bb19ff0fa77f62b7563b66cdeffef8e4d6ec538e1cc5c49fae16097afeae9669ed80b1d0688059c1135ff392c722e39c94f5686fb926ffcd6abf893 SHA512 345ca35b0c9219f42a46eb2dbda793b46277b2220912124a5054973390138ef1310004e1a90fde37c177d3e7103b209ebf539def2ae597f3d472c35c043bc46b +DIST meson-1.8.0.tar.gz.asc 833 BLAKE2B ad1ef6f9fb8b02231b64dac2660cfdf6f2bed801c4696d905b681836132c6da257698cc636c3e449d2b137f4c16b19eb22ad87271298647d33ffa26871e358ff SHA512 cdfb8a6b121f56b02b50b52db0db33fbaec90e6432e047ab168cc529bf79e55a05ad1377c3def8bad130a316c6666d203752bb5173d6e8c84f55d53afb8d5f27 DIST meson-reference-1.4.2.3 339324 BLAKE2B 1a4fbd8c27a8cfba773777eabd2ebaa0f76ec0c61dcfe1c7b4483737b348ff9528d68f26e68d7d40b2e1875611eed5b9a31c1cf55fed8eabb42fc1e31d9ef14b SHA512 8b8ec43e812599203ec44c08805eb6818485805c45b9c69802261eaa35efc97846a96f6472c6b1ef5f6c703e7153fd957df7b805f173ca3400a2030dfbe002ca DIST meson-reference-1.5.2.3 341110 BLAKE2B 0d588b796f7f2da2dcb0e7822acde6a9a461930da4bfead3cf9148fa0fac18cd0ccbc6e891f555c973836f1c16b4eae299908a838a0b6843293de8815d30fc23 SHA512 64715ce2113e362e7d67179fe13566bc8f84ce7f4e6d795b836f42455a871173fee06e3e969e2996022d7e6c9b4b5379587a4c0c3d97b4bca527fb8902d3547f DIST meson-reference-1.6.1.3 343730 BLAKE2B 55df822192781a70e4bc44cfe14fb363e3f820406260ca9705d7fdb5fad1bf0117e3f1325d37e58e23477bc075ab6bd84056409355ec694f72eeaa5bf982ecc7 SHA512 553cdcd86a7a600cda05ac970cc285c4c50017d1e7d2925645d7f19a62b34c2f079673cafecf4111aa102afbe9d8e4d56f166d1d9940b740eeec0bb99d6cbc0d DIST meson-reference-1.7.0.3 344764 BLAKE2B 615c70325b6ca3b964bf2827f20f07845150943b6cd95a0599b0392299e2a9338921b52bbe3613fc03fa931c28fb2121801bdb74880f2bd4fecb051b7f1fcb4b SHA512 9d9a3862602251ca780acdf18cee4ab9cd14404481e216b557eafc88b23561ecf481836898b78cbc4ee3539869b5578c649a5c71f32b3074d8125b867ea4751d DIST meson-reference-1.7.1.3 344764 BLAKE2B f4b6a5eb80f143310e9aae3fe512b5146b39df4e74e589c571d3f58ddfcb3298d1accff417c055e46a4ad61fc0557723eb4d89607a4793d1bcc134f1e83ab3eb SHA512 f36e4adcf7eab70738c71c48c87328bc436168dc605c0931b746d4b48915269dc9245215a4aa968046e4cb0f5167f595da1cf2acd96d87ed47aea9b34b63a652 DIST meson-reference-1.7.2.3 344764 BLAKE2B 82de9a7a01c2f1b45a2b3432deb4713af3cfd3b2dc9af8802488b7d1b86dde9b6ac81f90b144006a79e90b313e1d4d23f9cc90e17255ce9573e5487d3e20c286 SHA512 d482a3b3bed671705d6316e106984ad2c2169fe890349437e512455705ee8dddb31a29d31f44402a4c7c5bd2f78595b75bfc5ad34d8c0337b66f40837b08ee56 -DIST meson-reference-1.8.0rc2.3 345637 BLAKE2B c0435919ce58d0bc48243aadfe1d98c428e8f41bfe73093e1e8373d1e8c126159b9363ee9b272e9fe292287f076cee58dce4b56a9064a6b5032b6db541cbcf99 SHA512 3768d2e493a53627b51865c8be564411c192ee421cf886ade84e3a91d011e32419f0e1417cfec01bf95d28b9610d913a7e0a317335ade2e31c1b8afb7faeaa06 +DIST meson-reference-1.8.0.3 345633 BLAKE2B 1f67780a3cf61ab0c992d68f9a7936d24061a204eef6bf9827f0f8a04985c16a04ef2039d622a5d71783e4c07bbf5ac6ed123247aeb770c9d05a0988bd8073d8 SHA512 009cc42d4d279c9c3a912885d1fe3baf7d097fe8868c725cc853c81270e64b49203363324f39e2a2797eadaa82322f15d1076566c87b9b3a2c6c05c1fdbbfc63 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.8.0_rc2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.8.0.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.8.0_rc2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.8.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.14.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.14.ebuild index 196f558d28..c7ff39d3ba 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.14.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.14.ebuild @@ -16,7 +16,7 @@ else https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz verify-sig? ( https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz.asc ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" fi VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/strace.asc diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.17.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.17-r1.ebuild similarity index 92% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.17.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.17-r1.ebuild index 2e9d941cb3..21a3da3510 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.17.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.17-r1.ebuild @@ -5,7 +5,7 @@ EAPI="8" WANT_LIBTOOL="none" inherit autotools check-reqs flag-o-matic multiprocessing pax-utils -inherit prefix python-utils-r1 toolchain-funcs verify-sig +inherit prefix toolchain-funcs verify-sig MY_PV=${PV/_rc/rc} MY_P="Python-${MY_PV%_p*}" @@ -84,11 +84,6 @@ BDEPEND=" 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 @@ -567,29 +562,4 @@ src_install() { -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/rust-bin/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/metadata.xml index 4fafafaf6d..16aee8fcad 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/metadata.xml @@ -5,10 +5,6 @@ rust@gentoo.org Rust Project - - randy@electronsweatshop.com - Randy Barlow - navi@vlhl.dev Anna Figueiredo Gomes diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-lang/rust/metadata.xml index b2fefe0023..393578b838 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/metadata.xml @@ -5,10 +5,6 @@ rust@gentoo.org Rust Project - - randy@electronsweatshop.com - Randy Barlow - navi@vlhl.dev Anna Figueiredo Gomes 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 e5481fe4d0..e7fad17bc4 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 @@ -1,9 +1,9 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_REQ_USE="xml(+)" -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..13} ) inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.80.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.80.5-r1.ebuild index fb26093bb4..246b5d60c8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.80.5-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.80.5-r1.ebuild @@ -3,7 +3,7 @@ EAPI=8 PYTHON_REQ_USE="xml(+)" -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..13} ) inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg @@ -223,8 +223,25 @@ multilib_src_configure() { #esac #fi + _need_bootstrap_gi() { + if ! multilib_native_use introspection ; then + return 1 + fi + + if ! has_version ">=dev-libs/${INTROSPECTION_P}" ; then + return 0 + fi + + # Is the installed gobject-introspection usable? + if ! g-ir-scanner --version &> /dev/null ; then + return 0 + fi + + return 1 + } + # Build internal copy of gobject-introspection to avoid circular dependency (built for native abi only) - if multilib_native_use introspection && ! has_version ">=dev-libs/${INTROSPECTION_P}" ; then + if _need_bootstrap_gi ; then einfo "Bootstrapping gobject-introspection..." INTROSPECTION_BIN_DIR="${T}/bootstrap-gi-prefix/usr/bin" INTROSPECTION_LIB_DIR="${T}/bootstrap-gi-prefix/usr/$(get_libdir)" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.82.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.82.5.ebuild index b16e62189f..a134d8d356 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.82.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.82.5.ebuild @@ -3,7 +3,7 @@ EAPI=8 PYTHON_REQ_USE="xml(+)" -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..13} ) inherit eapi9-ver gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg @@ -211,8 +211,25 @@ multilib_src_configure() { #esac #fi + _need_bootstrap_gi() { + if ! multilib_native_use introspection ; then + return 1 + fi + + if ! has_version ">=dev-libs/${INTROSPECTION_P}" ; then + return 0 + fi + + # Is the installed gobject-introspection usable? + if ! g-ir-scanner --version &> /dev/null ; then + return 0 + fi + + return 1 + } + # Build internal copy of gobject-introspection to avoid circular dependency (built for native abi only) - if multilib_native_use introspection && ! has_version ">=dev-libs/${INTROSPECTION_P}" ; then + if _need_bootstrap_gi ; then einfo "Bootstrapping gobject-introspection..." INTROSPECTION_BIN_DIR="${T}/bootstrap-gi-prefix/usr/bin" INTROSPECTION_LIB_DIR="${T}/bootstrap-gi-prefix/usr/$(get_libdir)" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.0.ebuild index 8ec0a9d7d4..0ec8e82854 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 PYTHON_REQ_USE="xml(+)" -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..13} ) inherit eapi9-ver gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg @@ -215,8 +215,25 @@ multilib_src_configure() { #esac #fi + _need_bootstrap_gi() { + if ! multilib_native_use introspection ; then + return 1 + fi + + if ! has_version ">=dev-libs/${INTROSPECTION_P}" ; then + return 0 + fi + + # Is the installed gobject-introspection usable? + if ! g-ir-scanner --version &> /dev/null ; then + return 0 + fi + + return 1 + } + # Build internal copy of gobject-introspection to avoid circular dependency (built for native abi only) - if multilib_native_use introspection && ! has_version ">=dev-libs/${INTROSPECTION_P}" ; then + if _need_bootstrap_gi ; then einfo "Bootstrapping gobject-introspection..." INTROSPECTION_BIN_DIR="${T}/bootstrap-gi-prefix/usr/bin" INTROSPECTION_LIB_DIR="${T}/bootstrap-gi-prefix/usr/$(get_libdir)" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.1.ebuild index e5e5ff280c..fb9437f28e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 PYTHON_REQ_USE="xml(+)" -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..13} ) inherit eapi9-ver gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg @@ -216,8 +216,25 @@ multilib_src_configure() { #esac #fi + _need_bootstrap_gi() { + if ! multilib_native_use introspection ; then + return 1 + fi + + if ! has_version ">=dev-libs/${INTROSPECTION_P}" ; then + return 0 + fi + + # Is the installed gobject-introspection usable? + if ! g-ir-scanner --version &> /dev/null ; then + return 0 + fi + + return 1 + } + # Build internal copy of gobject-introspection to avoid circular dependency (built for native abi only) - if multilib_native_use introspection && ! has_version ">=dev-libs/${INTROSPECTION_P}" ; then + if _need_bootstrap_gi ; then einfo "Bootstrapping gobject-introspection..." INTROSPECTION_BIN_DIR="${T}/bootstrap-gi-prefix/usr/bin" INTROSPECTION_LIB_DIR="${T}/bootstrap-gi-prefix/usr/$(get_libdir)" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/inih/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/inih/Manifest index 6d494f135b..743dff8d7d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/inih/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/inih/Manifest @@ -1,3 +1,4 @@ DIST inih-57.tar.gz 18954 BLAKE2B df2e2a14b4186616071f6ad2a64e0423148fb9a4624a74d4b16845a4a12eb72b1965f1314b92a710b80cc68d85dbe4ef09d6db159b76be856a4041f21a8c520c SHA512 9f758df876df54ed7e228fd82044f184eefbe47e806cd1e6d62e1b0ea28e2c08e67fa743042d73b4baef0b882480e6afe2e72878b175822eb2bdbb6d89c0e411 DIST inih-58.tar.gz 19964 BLAKE2B ba71b21b30c039df026adbd29b422b064934046ced21a37479421e866b73969826dc1fea4e3bc0c5ea427248c774d8f80b83056c54769d454bafa2f336d08024 SHA512 d69f488299c1896e87ddd3dd20cd9db5848da7afa4c6159b8a99ba9a5d33f35cadfdb9f65d6f2fe31decdbadb8b43bf610ff2699df475e1f9ff045e343ac26ae DIST inih-59.tar.gz 20513 BLAKE2B 6162749ae4f162972041abad6f18dd85a65a70a6672ab90bb41d13ae049a58548a7b9031960a934cab697edf884aac8bb35131c373aa952efe7647eaccb29f80 SHA512 cd5ee8796c1be1ff7f589069ec90fee6fc4464ae7b2f0b39600ab08cf01cda9e4c006aa1cba0ee3c78df0111de5da23fa314816bfd327e34211a0dfcfa1d993b +DIST inih-60.tar.gz 21121 BLAKE2B 499aee6fa3902e1a12117819f42aab4ae84797640cb37b5a7322656443c76f3441b40ae31bfbbb342529c3340439dc3b81f6b49a9da812f5a1531f3e03fd9589 SHA512 b58ac2395ed8e2b3fa25c3c41260ac5c6ee445d5a6520a79a4392741b417c0ea5ede12d5d89b92f8c4a9c555ff41745ea4f18b78ccbe5117eaa4c723de03b50a diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/inih/inih-60.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/inih/inih-60.ebuild new file mode 100644 index 0000000000..f5614b08d6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/inih/inih-60.ebuild @@ -0,0 +1,27 @@ +# Copyright 2020-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson-multilib + +DESCRIPTION="inih (INI not invented here) simple .INI file parser" +HOMEPAGE="https://github.com/benhoyt/inih" +SRC_URI="https://github.com/benhoyt/inih/archive/r${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}"/inih-r${PV} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +DOCS=( README.md ) + +src_configure() { + local emesonargs=( + -Ddefault_library=shared + -Ddistro_install=true + -Dwith_INIReader=true + ) + + meson-multilib_src_configure +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-9999.ebuild index b828b0d10a..b30c49db70 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -8,7 +8,7 @@ EAPI=8 DISTUTILS_EXT=1 DISTUTILS_OPTIONAL=1 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit autotools distutils-r1 multilib-minimal LIBNL_P=${P/_/-} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/Manifest index 666668a135..9253a78165 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/Manifest @@ -1,3 +1,4 @@ DIST libtracefs-1.7.0.tar.gz 205716 BLAKE2B 7e11ed75e65ddfb6e95fa67db2d3a3000e722108b6cb9d8efe7f057bf96afa608f0452e42090dab077b59044d3cbaebf2e4361812b994943964ea611b0ec6a49 SHA512 8b95c798a9013c0278da1c68ab4625446e1cc9d437eed91a6ce16660e7787f0af04ab65ce0dba536039f2facca39c50df5e45335b1af630e7bcce70b584e2f0c DIST libtracefs-1.8.0.tar.gz 224662 BLAKE2B 06ee6872ec5cd6c671ee2ddd3de19356ffa560b3ae20318e36be6a95bfe37bf61233841e32c530ab0a3463d13dd57ff1b09bba296663b25d76da2a2ea3e89f51 SHA512 2d9728186de63f03a2222d56efe6b373c038519ad1e81dd10d97640c296696df6b0661743dcd9e851edda5225342ea10a8746434439f7ad878e26780b797eb6c DIST libtracefs-1.8.1.tar.gz 225995 BLAKE2B cb4f491464d54f1271591cdc5ed61fa67f49e63b94ff91162e3b4f59387d3f27d866e288b69dacdbea7c145989d50e8c00e3f63b066eef93164a8748c535420d SHA512 1d8775cf511982a99e2dd17afcf48da272ff8ec189710a27420befe8765155ed21fd62db8fb2b75a0965e0a52ef810459c826f9b4989093c6a64d0cb7894cfca +DIST libtracefs-1.8.2.tar.gz 230703 BLAKE2B 6426d0968b94a28e2281e99d7986effffb9cd6527b0779dc5976e7f85c597697448e773d31ccf80df544ecea7f5726941c367833bd80876dd98a149f1a3a9cdb SHA512 a4437f40b97c700a643e4a232876b44415f91043b474787784e513d18eafa071a07c9b6431185914a97b258ea6ef89bab247e2feead0366144502e7c95b8c9fd diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.8.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.8.2.ebuild new file mode 100644 index 0000000000..c54a5d09c9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.8.2.ebuild @@ -0,0 +1,51 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson + +DESCRIPTION="Linux kernel trace file system library" +HOMEPAGE="https://www.trace-cmd.org/" + +if [[ ${PV} =~ [9]{4,} ]]; then + EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/" + inherit git-r3 +else + SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +LICENSE="LGPL-2.1" +SLOT="0" + +# Please double check the minimum libtraceevent version! +RDEPEND=" + >=dev-libs/libtraceevent-1.8.1 +" +DEPEND="${RDEPEND}" +# source-highlight is needed, see bug https://bugs.gentoo.org/865469 +BDEPEND=" + app-text/asciidoc + app-text/xmlto + dev-util/source-highlight + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig +" + +src_configure() { + local emesonargs=( + -Dasciidoctor=false + -Ddoc=false + ) + + # TODO: get docs & tests optional upstream + meson_src_configure +} + +src_install() { + meson_src_install + + find "${ED}" -type f -name '*.a' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest index 5327cca241..46b2c0b506 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest @@ -1,4 +1,4 @@ -DIST libuv-1.49.2.tar.gz 1331024 BLAKE2B a4a3367053ab3d5b87c502ef4a25b569fc829b3580005333adf2d3f02a799e6fefec9b6c2cf354eb0e8fe003eff4d3bd5d0f91980dd44702595bfdc54a9fad66 SHA512 ecb94edb9393d1f3ace1e01e89a3f693fb813c1ed21a3c706409bdfd8821885e7713f8d6b043d97ab202cbea9edc99ad6672d1144858802dc92031800ffba1a1 -DIST libuv-1.49.2.tar.gz.sig 833 BLAKE2B fe7ac42aad297f71e36995c665e445a82f8bb2fe6b2270fc7581dc1cf321c0bfc9c4238ad58b8666aec531c590c4df07268315980cf17406a5d448f2c5dc6d0b SHA512 66a6f345bfc16a5a673b8e7eb696e731b42f2cc9cb10f2a9eff74ca2ea5f47c7809f1ecea6182863531b776fef8bef8cefee3c7295d1976bd47f0f30afc455cf DIST libuv-1.50.0.tar.gz 1340083 BLAKE2B 7acd891822157671eeef4ff3dbf8fdf29412faa65ad7f5a196218eb39f44c228757fe0f0df6f3e522ed50cbff856abd0a556ebcb48af3718307072cac855d82a SHA512 b153d019c630831819913ccd0615c22737df49125da533f86db27f24a519937ed64113ceb6445d731d133e2d97b43b6949877e6078c4459d50ea90d2af4a9da9 DIST libuv-1.50.0.tar.gz.sig 833 BLAKE2B bb9819cb7da07589bf4e1693dbd7f533e6a5ce899fbe0893a448ef74949191ed71fb34d19c80f7eacde94395c62a525f7e9d05320240d5a72b1db2e77cbe1979 SHA512 91d3b876b49fe1205cb1a8448925db1f6256dad19c35e350b80fd08fa2ec9e15f8ef7d003cdea4794f22b34e12fca0b604deb4412227a2d583b77d193ff8e477 +DIST libuv-1.51.0.tar.gz 1343638 BLAKE2B 1624bb63b647eb199477ac3797f2f629f6ca080e71a753a3fe6ba11053ab7e632371075df025e43e2f3f2aac8aac54c12dc1df44c6e8ff043a65b98195cf482d SHA512 99e5c6529fb97019d20d5ce8638be504c35236e7102a7a6b7a2242205928d152d6b535bb6f45961a78506d408eebd0e3300b090969a64fa87dfdf6c8f4291a12 +DIST libuv-1.51.0.tar.gz.sig 833 BLAKE2B b33e7204a04a8b40525780a4ac13ea46e726d4d23190b53a1d06e18bc7f530101887debe87ba4ffe14d760d2b404c876f2ca472c823ac2816866ea8b7481cf51 SHA512 203c95805976e4ca188583f51debe4fe27be1780d4f450d76de4d0ab52580c0ede36bc344950a9e3f99a84b400e8e7b7934a4df45cdfeede7b343cd3db276af5 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.49.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0.ebuild similarity index 86% rename from sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.49.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0.ebuild index 4e6ae3cdc8..a3ae6ee320 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.49.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -17,7 +17,7 @@ else https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz -> ${P}.tar.gz verify-sig? ( https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz.sign -> ${P}.tar.gz.sig ) " - KEYWORDS="~alpha amd64 arm arm64 hppa ~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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" S="${WORKDIR}/${PN}-v${PV}" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.7.ebuild index 1fe2d986a8..c25a2f5681 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.7.ebuild @@ -23,7 +23,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else inherit gnome.org - KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~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 ~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/tree-sitter/tree-sitter-0.25.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.25.3.ebuild index 7121e61d87..20863acffa 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.25.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.25.3.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999* ]]; then EGIT_REPO_URI="https://github.com/${PN}/${PN}" else SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" fi LICENSE="MIT" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/Manifest index ef8fd57e2a..9f68a4a14c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/Manifest @@ -1,2 +1,3 @@ DIST cachecontrol-0.14.1.tar.gz 28928 BLAKE2B 9f01bc35c905f0fb489e796f96ccc0063a475bacc24b980ee67f8053412a52d9167b4b96495a8a7f7c561e2485a1b6fcb4ec94b1408ea5111f8661fea59394fd SHA512 f99463ee08199058d0f84a173d6a85276cfe6caec0bec6692e5af74f4c8e684a68ab6910c6c85cbd1f4515c7044ee2fbf149cfd85e4ce9d9ac97e9850698c07f DIST cachecontrol-0.14.2.tar.gz 28832 BLAKE2B fc572206871a39a2d4c50d0970b9aa2c58f9c99b28ab9bf98e76fad8c3f6e89962e84d368287d7d4beab1fcf16666e42a46a11e194c26f3c487359b767d8d77f SHA512 694dc7dfc976a4087471119a8d5f4b76aa08d62f814293d183331164a4225e8d6f9cbf58551ad806ea9e4bb4adac0d98bb54d7aa09ef4a64feff93a8899c4a58 +DIST cachecontrol-0.14.3.tar.gz 28985 BLAKE2B 130b372dc5b17eadc1f16ca6ee361bbc5fc83306a333059f538972b2e9cf29b2e0f608faa904c3d2793c7289e5ad176193534a3d1997aca97c490b9784a10bc0 SHA512 12205946ac78263148da4751a55d8c19356bdf055953a014cedfb3084869bb73034860592b5785d4e3e0bd3317c7dc80061105146460a1059eeef458ed5e8dfb diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/cachecontrol-0.14.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/cachecontrol-0.14.3.ebuild new file mode 100644 index 0000000000..4a29add382 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/cachecontrol-0.14.3.ebuild @@ -0,0 +1,46 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 ) + +inherit distutils-r1 pypi + +DESCRIPTION="httplib2 caching for requests" +HOMEPAGE=" + https://pypi.org/project/CacheControl/ + https://github.com/psf/cachecontrol/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + =dev-python/msgpack-0.5.2[${PYTHON_USEDEP}] + >=dev-python/requests-2.16.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/cherrypy[${PYTHON_USEDEP}] + >=dev-python/filelock-3.8.0[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=() + + if [[ ${EPYTHON} == pypy3* ]]; then + EPYTEST_DESELECT+=( + tests/test_adapter.py::TestSessionActions::test_do_not_leak_response + ) + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/Manifest index 2bfccaa943..11a72561fd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/Manifest @@ -1 +1,2 @@ DIST charset_normalizer-3.4.1.tar.gz 123188 BLAKE2B 04a2a47967d3992eb6320f173689693efb0614d67986fe1417f2f096435d2cdfaf10c57b6ecd2659f19ee907902c16fcd30f050cd14460973a059fc62ea999e3 SHA512 2891c0bd3097ad38d296a8378ded36110a06113c0f79e49cdfd7f3bca4f42487d10895db34cbb020cb70e93d9094ae72555ceef5535f8984de1cac4082232f4f +DIST charset_normalizer-3.4.2.tar.gz 126367 BLAKE2B a83f719394753e7612657caee102c2a662980ef78e2be25a7f109913eb2650ec94b6a01a885a4f7a66b6ca8d47c680c163fdaf6bd043226b340a7aec6f15ab78 SHA512 702d9c23fe68d3538e4f45d5d9451beb02853ecf1ec6b36a7068ed8ade707bd0fd2a1764137381294590d0e5ffc2e296866f402dff33f65ec0458cf1102970fe diff --git a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.2.ebuild new file mode 100644 index 0000000000..baaaf1950c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.2.ebuild @@ -0,0 +1,27 @@ +# Copyright 2022-2025 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=setuptools +PYTHON_COMPAT=( python3_{11..13} pypy3_11 ) + +inherit distutils-r1 pypi + +DESCRIPTION="The Real First Universal Charset Detector" +HOMEPAGE=" + https://pypi.org/project/charset-normalizer/ + https://github.com/jawah/charset_normalizer/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" + +distutils_enable_tests pytest + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -o addopts= +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/Manifest index 1af5b7b2ad..8575a2f56b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/Manifest @@ -6,7 +6,9 @@ DIST bitflags-2.6.0.crate 45357 BLAKE2B 3a368bd2eb58c095b7b4a46680cc2d90a28e24b2 DIST cc-1.2.1.crate 92731 BLAKE2B c9cb100964834692781ecc3f47972f83adaf27e019ca212f896b19a853521cf2084da213f2c2fc5c8a1bc794cc83fe9f81faf7751e1b065a3a2a08137cda0b61 SHA512 54bc5d85d48d678d33dc795aa6cc823a59ae6d17b4ec5708a1dd515e3495eabccdd949e9467e9bb3a29e44847a2d3ccd75055dfda241d8abbb16bfad650f2819 DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff DIST cryptography-44.0.2.tar.gz 710807 BLAKE2B 3bdfe1f6d4f44a77f8d5c2299e10e672eba2a68888fd5ee8ffae8a452d6c586c39bf5527feee60b62121dd7b18e13b1c91705df87ba0b52885e8538c56fec139 SHA512 12594fcd349b02a077d52b870af99850e275f13a561bbe9c993475f4ebfd35eccb63400c93a9629caf68195b759e2dbfddc3c60dc3066d063bb447acd7b17c03 +DIST cryptography-44.0.3.tar.gz 711096 BLAKE2B 42b1fd4cd22c50d377c9942740561612dcc5958a7c9e2bf2d54fc88faac43b3ebbd4ff4085fee923c39510f591e7e93f811541389733b190af3e69504b13643b SHA512 505c3a4275dbaae827ebc7c478d3196c9a2bef71e460a391d56ee53b7ff8a054f7ac81c1a8a4a59829d04dd9a434c123df948627ab8f07ec39259ea0498a8c69 DIST cryptography_vectors-44.0.2.tar.gz 35318019 BLAKE2B 67ed8f4af54c4469f1da21993e7220c649b1098f6e2b82fff10f8339cfd89506d6b6f64083999998408bc60fd66172e1b33844f39d41387c7ff8cc1efc52a35d SHA512 7a75078eae4a1a46d5aa87961aa2e4f28725a2feac99ea0ce00d48aa509ce00fb43176d48eab8eabaa3f7204ba8c4b2ef78b4b65187cfd5056b3c3e3116b4239 +DIST cryptography_vectors-44.0.3.tar.gz 35317973 BLAKE2B 1c76a7ddfb188db3cdd72c1458be6b249bbf9ea403767f002bb4044bdcc835d28aa3c5ff9ad15dd7721d0f54d76db499e44d9dda7cd4a35817b7a6cac6e206f8 SHA512 1287901703699053099bb8843928d0621884864d727de65d4a19d4f841271af8b2a773e8a0cbd7e850258db202bfb345439a72f57d8e5f69c6e1366618c1fa64 DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232 DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 @@ -18,6 +20,7 @@ DIST once_cell-1.20.2.crate 33394 BLAKE2B 79dd394fcf1637adfef28b4159ec653c8b71d2 DIST openssl-0.10.68.crate 276578 BLAKE2B da7c42f8a87150c76cde12316fe1c170593e76a4bd55176ca5ab7a43c57d5457246bfa91bf7bbf73ca47c87a066789226529fb7ad57c5e93c551baa67f6a9eba SHA512 2b0c7f5a888b0e398ebee9c0fffb6fdb8408c36f96eb99182ebb9e162106c012334554304ddaaa6689d3ae41cdf638ba08187a40088efb95a5e9f6aca032a22f DIST openssl-macros-0.1.1.crate 5601 BLAKE2B 69dc1c1f3b7bc4f934cae0dce64c3efa501162e5279efd6af3b74f7a7716c04b6996b306b310f1c045cfa2eff2895314a47ecbb020a817e461c6d77d0bc11e92 SHA512 57e75c84f78fb83f884eeaedb0dd135ecb40192dad2facd908e6a575c9b65b38a2c93bca4630e09ea5a82c77d8bc8364cb2f5778cbfe9d8f484cafe3346b883c DIST openssl-sys-0.9.104.crate 72287 BLAKE2B d9af8f2ae8a8dfd53b3bb68433a4dd2a4b30038858ac58aa98d7a23b2d23e0b7c7d8fc36c1733d0330bcb9f51284667b2c32fc5a5bd4d9e1a5df7b98d610a997 SHA512 e812d5323bc0ec7376f176a980dd9856dad6d36513e854d333b93ce8a14c20a9ca61be88db82ba2a8ae4e086df5c3fe6965ed10ac155eb7b502e0225c0124278 +DIST openssl-sys-0.9.108.crate 78190 BLAKE2B 202b0a380bb8d462842c7c2190d8d61e3d959b10aba462a75a3f1722a2a975f6f5eaaa30078dde7b56a7c2bb3a93d776b30cf3f718a8e723c2ef14d9ca400294 SHA512 f1d2cbf26b6bf7faf840e9afa6e86e7a38a303c169f54c098433c106cfb3aa264a692419ef2ca31f734551b5f7b97cffb1a3e28984eec0324cfb60e9cf3f1865 DIST pem-3.0.4.crate 13040 BLAKE2B 33126cd0feeeeb8b57691c50f6535c43e853b9835308d69a5afb426c7a738d260a67d5c46f091ad73e934f0347d976c6f65f88b2f7b1058eca542296191bcb9a SHA512 be743157e11ed76e5a9a60f5e58f50277910ecbf12df492b114b4211f1f1d69555702d955337ec41d368566ae1697f550e3705a195105068c617b9392c43f56d DIST pkg-config-0.3.31.crate 20880 BLAKE2B ab7676e810751f89639b60ae70bdebe1d57edc76319f83077c3680049a701a26e72e8cc485fe77cdc4346fe3571d32c59e7384c8c86fef17e00d7d81df5daf43 SHA512 ac3e8062ee8831a4e4fc717b5247dc7f113da7bf6d64ec95cbca7875959a2afa1497bf81d9dfc27206b5fb10027a2509d51dd9ca1c10139d7b4c78128864fdf4 DIST portable-atomic-1.10.0.crate 174760 BLAKE2B 9a05d6162c95f5140709cbd005c1997449fb6373700e8ed3966e3379898e95f3cbdb90b387f1c7deb3f1eb33125378852a7168d0d22b433813f6c082112b0365 SHA512 fb47ab53fe240d5b0824dd068c6dda473d3e71ae6f5dfccaa17262a8b6de0e1dde05d83975e53bbfcf43f10ef5c634fc024f94613937927ae93f1adad1dadb19 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-44.0.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-44.0.3.ebuild new file mode 100644 index 0000000000..9227d5174b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-44.0.3.ebuild @@ -0,0 +1,133 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CARGO_OPTIONAL=yes +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{11..13} pypy3_11 ) +PYTHON_REQ_USE="threads(+)" + +CRATES=" + asn1@0.20.0 + asn1_derive@0.20.0 + autocfg@1.4.0 + base64@0.22.1 + bitflags@2.6.0 + cc@1.2.1 + cfg-if@1.0.0 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + heck@0.5.0 + indoc@2.0.5 + itoa@1.0.14 + libc@0.2.166 + memoffset@0.9.1 + once_cell@1.20.2 + openssl-macros@0.1.1 + openssl-sys@0.9.108 + openssl@0.10.68 + pem@3.0.4 + pkg-config@0.3.31 + portable-atomic@1.10.0 + proc-macro2@1.0.92 + pyo3-build-config@0.23.5 + pyo3-ffi@0.23.5 + pyo3-macros-backend@0.23.5 + pyo3-macros@0.23.5 + pyo3@0.23.5 + quote@1.0.37 + self_cell@1.0.4 + shlex@1.3.0 + syn@2.0.89 + target-lexicon@0.12.16 + unicode-ident@1.0.14 + unindent@0.2.3 + vcpkg@0.2.15 +" + +inherit cargo distutils-r1 flag-o-matic multiprocessing pypi + +VEC_P=cryptography_vectors-$(ver_cut 1-3) +DESCRIPTION="Library providing cryptographic recipes and primitives" +HOMEPAGE=" + https://github.com/pyca/cryptography/ + https://pypi.org/project/cryptography/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} + test? ( + $(pypi_sdist_url cryptography_vectors "$(ver_cut 1-3)") + ) +" + +LICENSE="|| ( Apache-2.0 BSD ) PSF-2" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0 +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-libs/openssl-1.0.2o-r6:0= + $(python_gen_cond_dep ' + >=dev-python/cffi-1.8:=[${PYTHON_USEDEP}] + ' 'python*') +" +DEPEND=" + ${RDEPEND} +" + +BDEPEND=" + ${RUST_DEPEND} + dev-python/setuptools[${PYTHON_USEDEP}] + test? ( + dev-python/certifi[${PYTHON_USEDEP}] + >=dev-python/hypothesis-1.11.4[${PYTHON_USEDEP}] + dev-python/iso8601[${PYTHON_USEDEP}] + dev-python/pretend[${PYTHON_USEDEP}] + dev-python/pyasn1-modules[${PYTHON_USEDEP}] + dev-python/pytest-subtests[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + ) +" + +# Files built without CFLAGS/LDFLAGS, acceptable for rust +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cryptography/hazmat/bindings/_rust.*.so" + +distutils_enable_tests pytest + +src_unpack() { + cargo_src_unpack +} + +src_prepare() { + distutils-r1_src_prepare + + sed -i -e 's:--benchmark-disable::' pyproject.toml || die + + # work around availability macros not supported in GCC (yet) + if [[ ${CHOST} == *-darwin* ]] ; then + local darwinok=0 + if [[ ${CHOST##*-darwin} -ge 16 ]] ; then + darwinok=1 + fi + sed -i -e 's/__builtin_available(macOS 10\.12, \*)/'"${darwinok}"'/' \ + src/_cffi_src/openssl/src/osrandom_engine.c || die + fi +} + +python_configure_all() { + filter-lto # bug #903908 +} + +python_test() { + local -x PYTHONPATH="${PYTHONPATH}:${WORKDIR}/cryptography_vectors-${PV}" + local EPYTEST_IGNORE=( + tests/bench + ) + epytest -n "$(makeopts_jobs)" +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest index 78e39a3ba5..780b68fddd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest @@ -1,2 +1,2 @@ DIST cython-3.0.12.tar.gz 2757617 BLAKE2B 064549e36e03424065eab081b60e2761d198490cfd4d7836ea236b833ada3962e6ed42ba1710b33418f8a31ac282cdc156ceb544ee21be80ee34b7a3d3f6c7fb SHA512 c4e85596eeea444fae983d32ce8731cc5d0d612d1f96b998db3aa7946e8be151a7ea62c6df163d875111e306c870656b82a8468dd873cacf84c7bd5671a39bc3 -DIST cython-3.1.0b1.tar.gz 3192916 BLAKE2B 13a8fa48319d9c4c8cc634d3cf5af599b867466d5de4cf3a24dd342b7812a392e854d9a6152309c6ef84a2925ebfa2257792d0f4e0c8fa36580d7138a663105a SHA512 ced9d57536d3bacd274b5edc4137d400a6182b4b7a89a28cf358f843dcbb0e0e7171fb0842441a81e1d2ac12acb6fd6a3df7018fe2a8708cb188a96cb184d799 +DIST cython-3.1.0rc1.tar.gz 3158411 BLAKE2B 44540e95b8b060956654a0d92fc4b8417088816a1e3f8fc17c8575a1cbd4b71a76cc69209d58c731281a310a9f6a7e2e711f88dc6855bc487d08056203cb04d8 SHA512 b0cefe1d4e248e6044af373088902475839ae06b5855b5b3bffdce5159a0f6e54802c24715a6f6e3242a250841c2ff1e56435b7ed3e304964af01a162f8a851a diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.0_rc1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.0_rc1-r1.ebuild new file mode 100644 index 0000000000..561a1b8a07 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.0_rc1-r1.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_TESTED=( python3_{10..12} ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 pypy3_11 python3_13{,t} ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 multiprocessing pypi toolchain-funcs + +DESCRIPTION="A Python to C compiler" +HOMEPAGE=" + https://cython.org/ + https://github.com/cython/cython/ + https://pypi.org/project/Cython/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND=" + ${RDEPEND} + test? ( + $(python_gen_cond_dep ' + -Date: Sun, 6 Apr 2025 08:43:34 +0100 -Subject: [PATCH] Fix __Pyx_Owned_Py_None usage as actual function (GH-6782) - -In the tracing code, we are using it like a function (i.e. casting to void to mark it unused) so it has to be a function, not just a macro. - -Fixes https://github.com/cython/cython/issues/6781 ---- - Cython/Utility/TypeConversion.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/Cython/Utility/TypeConversion.c b/Cython/Utility/TypeConversion.c -index b86125699c7..e085fae8eb3 100644 ---- a/Cython/Utility/TypeConversion.c -+++ b/Cython/Utility/TypeConversion.c -@@ -103,7 +103,7 @@ static CYTHON_INLINE PyObject *__Pyx_XNewRef(PyObject *obj) { - #endif - } - --#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) -+static CYTHON_INLINE PyObject *__Pyx_Owned_Py_None(int b); - static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); - static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); - static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); -@@ -420,6 +420,10 @@ static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { - } - } - -+static CYTHON_INLINE PyObject *__Pyx_Owned_Py_None(int b) { -+ CYTHON_UNUSED_VAR(b); -+ return __Pyx_NewRef(Py_None); -+} - - static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { - return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/files/cython-3.1.0_rc1-rdma-core-hang.patch b/sdk_container/src/third_party/portage-stable/dev-python/cython/files/cython-3.1.0_rc1-rdma-core-hang.patch new file mode 100644 index 0000000000..3561870b04 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/files/cython-3.1.0_rc1-rdma-core-hang.patch @@ -0,0 +1,54 @@ +From a0794ffb47c9f44be94b3cd8fe6c639766cbda26 Mon Sep 17 00:00:00 2001 +From: Stefan Behnel +Date: Sun, 4 May 2025 21:48:27 +0200 +Subject: [PATCH] Prevent infinite loop in type inference when a variable is + named like the type of its value (e.g. list += []). + +Closes https://github.com/cython/cython/issues/6835 +--- + Cython/Compiler/ExprNodes.py | 2 +- + tests/run/type_inference.pyx | 24 ++++++++++++++++++++++++ + 2 files changed, 25 insertions(+), 1 deletion(-) + +diff --git a/Cython/Compiler/ExprNodes.py b/Cython/Compiler/ExprNodes.py +index a0413ab8d62..b02154a0b30 100644 +--- a/Cython/Compiler/ExprNodes.py ++++ b/Cython/Compiler/ExprNodes.py +@@ -2042,7 +2042,7 @@ def infer_type(self, env): + return self.inferred_type + return py_object_type + elif (self.entry.type.is_extension_type or self.entry.type.is_builtin_type) and \ +- self.name == self.entry.type.name: ++ not self.is_target and self.name == self.entry.type.name: + # Unfortunately the type attribute of type objects + # is used for the pointer to the type they represent. + return type_type +diff --git a/tests/run/type_inference.pyx b/tests/run/type_inference.pyx +index b746d05d9f3..226455dae0d 100644 +--- a/tests/run/type_inference.pyx ++++ b/tests/run/type_inference.pyx +@@ -883,3 +886,24 @@ def test_builtin_max(): + a = max(self.a, self.a) + assert typeof(a) == "Python object", typeof(a) + C().get_max() ++ ++ ++def variable_with_name_of_type(): ++ """ ++ >>> variable_with_name_of_type() ++ ([], 'abc') ++ """ ++ # Names like 'list.append' refer to the type and must be inferred as such, ++ # but a simple variable called 'list' is not the same and used to break type inference. ++ # See https://github.com/cython/cython/issues/6835 ++ rest_list = [] ++ list = [] # note: same name as type of value ++ list += rest_list ++ assert typeof(list) == 'list object', typeof(list) ++ ++ rest_str = "abc" ++ str = "" ++ str += rest_str ++ assert typeof(str) == 'str object', typeof(str) ++ ++ return list, str 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 b011faf641..ae7c8833f6 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,2 +1,3 @@ DIST pip-25.0.1-py3-none-any.whl 1841526 BLAKE2B 928210cf0586b2e17cf96c341babbbf612eb08775af716588fad8840d04153d264b64098f97c8d2d7b219389d571cee8e4190195f8c5cc9f602749aad92df437 SHA512 48315489f2c0a76b49386228f9a2f675e71f20ff2f4aaaf65b2634ba5cac7c98facfbdebeb4651c65efdd2ade053a140d7a2a6b44587549d6663bc8bb5ef2220 DIST pip-25.1-py3-none-any.whl 1824948 BLAKE2B a237c46c680afca0b72da704db8f390f9723e1a9d262b31d3d1dc7c89adff2dd6908768cdbeff5dc621ade7d68ce056ec1c6373b1b500da3a098d9f9798ad925 SHA512 1f669dce82d5e9238dc4cb776097f96179be9dbacf18a825a0845437cc4c234ab5242009e8d7d5b0d383bc339d0759ea408668b8d7076861d35da275c0d0fbfe +DIST pip-25.1.1-py3-none-any.whl 1825227 BLAKE2B 13170fa08dd26edced5e5fe8d89b38f5b3b63882489d2a951a7238f950a332ce0df11109482840595984bca187960d8fe2b7aeabfcbdaf94e5586631cc1de4e3 SHA512 e0c56f04a306cba9e13ed87f7460ad5a3bda7d6c37e05098082c58acb1f7493c8061e48df279f2c476e75d12df12d0f1a74d82e00e6fc2badffe484d281c56fc diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-25.1.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-25.1.1.ebuild new file mode 100644 index 0000000000..dcf21d3e39 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-25.1.1.ebuild @@ -0,0 +1,20 @@ +# Copyright 2022-2025 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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +src_install() { + insinto /usr/lib/python/ensurepip + doins "${A}" +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/Manifest index c3d2b447f1..ff4ed01cf9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/Manifest @@ -1,6 +1,6 @@ DIST setuptools-75.8.2-py3-none-any.whl 1229385 BLAKE2B e2890604e9acbf23aefc94ee99927bafdc189e45c84b0e4e0b48737d120ba60590438603195e180988b26e3e8fb378812507e2a0b513bf886c3b1eb673853da5 SHA512 083447a6bd375ca99e017ec4c5e3083ee4eee32b65d911b4d5ccadfa587ec213d43562d21d0f238753cc5c54354027b8425880d7248fbbd170b0c006613f4327 DIST setuptools-78.1.0-py3-none-any.whl 1256108 BLAKE2B 3bc6328e3ca2f98df327054c308560c48849ea3374017e72111471f4d7394bb6200d181e9ce7bc5cc2732ca365ade8e7ac79a8b1bfae1a18d0364c5dea4aa151 SHA512 89b1ba752d6b1cf7820ad0ef37ad42a6614e9b88438c63264eee09f94439608e53a51bf5ff8ce9f898300d6d628a7ed582004e6a483d774f4ec285f95e23752e -DIST setuptools-78.1.1-py3-none-any.whl 1256462 BLAKE2B 1bde151681e2e20f7c1d06de5798f0891a602cb095914ba65b8a1aa24ac913ed46e571d72d9109abdeb493c50e56a642d33a67d1cd9a23e614708d72c721b29d SHA512 b599dec0591a7a5eb65c7d6fc0d96d56b0b004cb7e592837fbd80b5949e6a71009c1a376f32393634974974199fb8243e183061b9e0b9c8ee00af7c8d2a09b75 -DIST setuptools-79.0.0-py3-none-any.whl 1256065 BLAKE2B b2168b63a07307ad61a3ac26f96f1af5179498323ac84deccd2e97eb391485a60ddcd96d930b42d578db10a0772e0e3348e182790fc16cdbbd02f6dad1198461 SHA512 ec6e00e3b05db9eb7794cb4b8a12b2dd5290dd5824ed33cecce69f4815da4a30a54af4626671fb107ae6b6d3fe4c00fda3b0bcd8587c9cc265bf9757c2787107 DIST setuptools-79.0.1-py3-none-any.whl 1256281 BLAKE2B 8ae51bdd1c0ccada116757c2bd765225fcf4bedc7ada18567ae12f09b6978cdbcddd4f635a39a5568b6d3ed4388e4f73af5c33a7060f2ac0d0907fc82d8fd74f SHA512 fef6cfc6f95a5bb7320f1680e1c665cb8d9a4e4227cde4d8aab8a50bed4bcf04320085b9d7d5343359f887008db5c5a861e57f3d08b7b0b2311a28adaeee6b4a -DIST setuptools-80.0.0-py3-none-any.whl 1240907 BLAKE2B 6feac214d465b395bddca823cd52855d726138285aabf60324a5073991180c5d2ec38973f75d7b018b11a42f650274d0fae1726ea13793d9eed05d86a832dc66 SHA512 d4c6f1a13754bf7b86af470fb9a39fdb3b7ad21cb926ffd88afbe2b728ac3bdc12811100f0c173e7645f80cfbc7634ba0278a1feca93e8e5be6cba57e3e63056 +DIST setuptools-80.2.0-py3-none-any.whl 1240763 BLAKE2B afb1a983aa8534ab20de1889fd8460bcddad7ffb956b95a830879f03982d38da5f76f71d8c45d8134d9c0223dd3771c639f95ad9e4447e4c201dfbabaca16a3d SHA512 d3b4f97ea45a7f98b9dd711ed3bef6e5faf562a2bd114aec458b196170f8ccf53e2ae12642aeed17af65a2647c258679148c1dfe136cb2b59fa7f4fdd3768ad1 +DIST setuptools-80.3.0-py3-none-any.whl 1200273 BLAKE2B 6f17d3e7ef602d31698f450714af9ee86dd3234450dfcca23d0d27d2e58c3242e77bc156d377192660cab0a3986e85615a74f611bd3b8f6951dd0cb5a3b074f4 SHA512 c6ab8430aae000d986d4edb5027f3a6f5062ff869a8ed85768ce488cb494289ab8ec85a0377928a080111b70a7959e05f9e17487eded93c84637db8a9dda6153 +DIST setuptools-80.3.1-py3-none-any.whl 1201172 BLAKE2B 4daf6a4a65a4e7c0547750addbf30f92e3a386fd7fcc2a98761ec1bee5caf6ccf506f1e201a9518c34bc278ae504f8b277d6199e23df0457a603b1c05a7bb50d SHA512 85b62d19a3762c9cb5d5b79a2f5319d4d387e334711963730e4b6a72dc73be3291bf5fb6eb40a6284a8486cbe615e8af44bc299210642f70f52d3fbfd41be26c diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-78.1.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.2.0.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-78.1.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.2.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-79.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.3.0.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-79.0.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.3.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.3.1.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.0.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.3.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/flit-core/flit-core-3.12.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/flit-core/flit-core-3.12.0.ebuild index 1a99d14666..063c798a09 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/flit-core/flit-core-3.12.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/flit-core/flit-core-3.12.0.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=standalone -PYTHON_COMPAT=( python3_{10..13} python3_13t pypy3 pypy3_11 ) +PYTHON_COMPAT=( python3_{11..13} python3_13t pypy3_11 ) inherit distutils-r1 pypi @@ -19,11 +19,6 @@ LICENSE="BSD" SLOT="0" KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -RDEPEND=" - $(python_gen_cond_dep ' - dev-python/tomli[${PYTHON_USEDEP}] - ' 3.{9..10}) -" BDEPEND=" test? ( dev-python/testpath[${PYTHON_USEDEP}] ) " diff --git a/sdk_container/src/third_party/portage-stable/dev-python/gpep517/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/gpep517/Manifest index 56e0885170..b71377ac0b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/gpep517/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/gpep517/Manifest @@ -1 +1,3 @@ DIST gpep517-17.gh.tar.gz 24403 BLAKE2B 51273a2e5ea0154d3e7d974f31b31a96dfa087d8bb3a49d89960568b02632fe104e62a4217a2295ef3dcc69f86f875c4e9de1220f3ef15fbff59a44bebcaac33 SHA512 cadf5b2fbd8c00eba928c3d8c893711516f66acc9bf74fc4ad9f0261021f8f6b7c4853035e6b916deba215ecf2f1e567d82161a74b69313b7e0f296e83e75c84 +DIST gpep517-18.gh.tar.gz 28211 BLAKE2B ae5409733a96248b763e33982844866e9ba3b556b9fe0b2f4503cc052015ea7b712a3041e449ba26f8ddcfb8973f963d3c240b1e4a2e5229b3c64702ad5a19bf SHA512 7fb8feda99ac023b006ddfe77f5b71d7837e013088da0da5afeaeecd139f365487ec6c2d17603a34d4694220be12eebda54391bdc6e987b6eae633449acce97a +DIST gpep517-19.gh.tar.gz 29279 BLAKE2B 1f3002e970de1e56004a0c6486c678ee9baa51d76c263d7356b3a63086615bf81c326b0a0ee313389ae046c7c451c17a1eed1b1cada8c61f0875ee007d5caa23 SHA512 463c3812f388ea7ef83aaf6b3b90de4036b0a8200038a654621822c02d46627f7adf2ed4c7accf016293f89b8c3a2080d9ac80d2f82caaa3fdd370aa98c4335b diff --git a/sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-18.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-18.ebuild new file mode 100644 index 0000000000..e225bae086 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-18.ebuild @@ -0,0 +1,48 @@ +# Copyright 2022-2025 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=no +PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} python3_13t ) + +inherit distutils-r1 + +DESCRIPTION="A backend script to aid installing Python packages in Gentoo" +HOMEPAGE=" + https://pypi.org/project/gpep517/ + https://github.com/projg2/gpep517/ +" +SRC_URI=" + https://github.com/projg2/gpep517/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +RDEPEND=" + >=dev-python/installer-0.5.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/tomli-1.2.3[${PYTHON_USEDEP}] + ' 3.10) +" + +distutils_enable_tests pytest + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -o tmp_path_retention_policy=all +} + +python_install() { + python_domodule gpep517 + python_newscript - gpep517 <<-EOF + #!${EPREFIX}/usr/bin/python + import sys + from gpep517.__main__ import main + sys.exit(main()) + EOF +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-19.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-19.ebuild new file mode 100644 index 0000000000..bc3123e8bc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-19.ebuild @@ -0,0 +1,48 @@ +# Copyright 2022-2025 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=no +PYTHON_COMPAT=( pypy3_11 python3_{11..13} python3_13t ) + +inherit distutils-r1 + +DESCRIPTION="A backend script to aid installing Python packages in Gentoo" +HOMEPAGE=" + https://pypi.org/project/gpep517/ + https://github.com/projg2/gpep517/ +" +SRC_URI=" + https://github.com/projg2/gpep517/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +RDEPEND=" + >=dev-python/installer-0.5.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/tomli-1.2.3[${PYTHON_USEDEP}] + ' 3.10) +" + +distutils_enable_tests pytest + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -o tmp_path_retention_policy=all +} + +python_install() { + python_domodule gpep517 + python_newscript - gpep517 <<-EOF + #!${EPREFIX}/usr/bin/python + import sys + from gpep517.__main__ import main + sys.exit(main()) + EOF +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-6.0.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-6.0.1-r1.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-6.0.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-6.0.1-r1.ebuild index 5eee1faa70..1f03c21b8d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-6.0.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-6.0.1-r1.ebuild @@ -6,7 +6,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit PYPI_PN=${PN/-/.} -PYTHON_COMPAT=( python3_{10..13} python3_13t pypy3 pypy3_11 ) +PYTHON_COMPAT=( python3_{11..13} python3_13t pypy3_11 ) inherit distutils-r1 pypi @@ -23,7 +23,7 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 RDEPEND=" $(python_gen_cond_dep ' dev-python/backports-tarfile[${PYTHON_USEDEP}] - ' 3.10 3.11) + ' 3.11) " BDEPEND=" test? ( diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild index ac0b89ae5b..9246939e91 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" IUSE="+native-extensions" BDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/files/lxml-5.4.0-cython-3.1.patch b/sdk_container/src/third_party/portage-stable/dev-python/lxml/files/lxml-5.4.0-cython-3.1.patch new file mode 100644 index 0000000000..4e7fbac5b4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/lxml/files/lxml-5.4.0-cython-3.1.patch @@ -0,0 +1,91 @@ +From 6d5d6aed2e38e1abc625f29c0b3e97fc8c60ae3b Mon Sep 17 00:00:00 2001 +From: Stefan Behnel +Date: Wed, 28 Aug 2024 11:16:55 +0200 +Subject: [PATCH] Avoid custom "tp_new()" call and add a safe-guard that + element lookups actually return a type. + +--- + src/lxml/etree.pyx | 12 +++++------- + src/lxml/includes/etree_defs.h | 8 ++------ + src/lxml/python.pxd | 1 - + 3 files changed, 7 insertions(+), 14 deletions(-) + +diff --git a/src/lxml/etree.pyx b/src/lxml/etree.pyx +index c21d1343..90579af9 100644 +--- a/src/lxml/etree.pyx ++++ b/src/lxml/etree.pyx +@@ -1636,11 +1636,6 @@ cdef public class _Element [ type LxmlElementType, object LxmlElement ]: + return CSSSelector(expr, translator=translator)(self) + + +-cdef extern from "includes/etree_defs.h": +- # macro call to 't->tp_new()' for fast instantiation +- cdef object NEW_ELEMENT "PY_NEW" (object t) +- +- + @cython.linetrace(False) + cdef _Element _elementFactory(_Document doc, xmlNode* c_node): + cdef _Element result +@@ -1650,12 +1645,15 @@ cdef _Element _elementFactory(_Document doc, xmlNode* c_node): + if c_node is NULL: + return None + +- element_class = LOOKUP_ELEMENT_CLASS( ++ element_class = LOOKUP_ELEMENT_CLASS( + ELEMENT_CLASS_LOOKUP_STATE, doc, c_node) ++ if type(element_class) is not type: ++ if not isinstance(element_class, type): ++ raise TypeError(f"Element class is not a type, got {type(element_class)}") + if hasProxy(c_node): + # prevent re-entry race condition - we just called into Python + return getProxy(c_node) +- result = NEW_ELEMENT(element_class) ++ result = element_class.__new__(element_class) + if hasProxy(c_node): + # prevent re-entry race condition - we just called into Python + result._c_node = NULL +diff --git a/src/lxml/includes/etree_defs.h b/src/lxml/includes/etree_defs.h +index 17d470d0..8645869f 100644 +--- a/src/lxml/includes/etree_defs.h ++++ b/src/lxml/includes/etree_defs.h +@@ -177,7 +177,7 @@ long _ftol2( double dblSource ) { return _ftol( dblSource ); } + + #ifdef __GNUC__ + /* Test for GCC > 2.95 */ +-#if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) ++#if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) + #define unlikely_condition(x) __builtin_expect((x), 0) + #else /* __GNUC__ > 2 ... */ + #define unlikely_condition(x) (x) +@@ -190,10 +190,6 @@ long _ftol2( double dblSource ) { return _ftol( dblSource ); } + #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) + #endif + +-#define PY_NEW(T) \ +- (((PyTypeObject*)(T))->tp_new( \ +- (PyTypeObject*)(T), __pyx_empty_tuple, NULL)) +- + #define _fqtypename(o) ((Py_TYPE(o))->tp_name) + + #define lxml_malloc(count, item_size) \ +@@ -268,7 +264,7 @@ static void* lxml_unpack_xmldoc_capsule(PyObject* capsule, int* is_owned) { + * 'inclusive' is 1). The _ELEMENT_ variants will only stop on nodes + * that match _isElement(), the normal variant will stop on every node + * except text nodes. +- * ++ * + * To traverse the node and all of its children and siblings in Pyrex, call + * cdef xmlNode* some_node + * BEGIN_FOR_EACH_ELEMENT_FROM(some_node.parent, some_node, 1) +diff --git a/src/lxml/python.pxd b/src/lxml/python.pxd +index d0877355..e0ec762e 100644 +--- a/src/lxml/python.pxd ++++ b/src/lxml/python.pxd +@@ -131,7 +131,6 @@ cdef extern from "includes/etree_defs.h": # redefines some functions as macros + cdef void* lxml_unpack_xmldoc_capsule(object capsule, bint* is_owned) except? NULL + cdef bint _isString(object obj) + cdef const_char* _fqtypename(object t) +- cdef object PY_NEW(object t) + cdef bint IS_PYPY + cdef object PyOS_FSPath(object obj) + diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.3.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.3.1-r1.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.3.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.3.1-r1.ebuild index e5ff274131..619633e15a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.3.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.3.1-r1.ebuild @@ -29,7 +29,7 @@ RESTRICT="!test? ( test )" # Note: lib{xml2,xslt} are used as C libraries, not Python modules. DEPEND=" - >=dev-libs/libxml2-2.10.3 + >=dev-libs/libxml2-2.10.3:= >=dev-libs/libxslt-1.1.38 " RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.3.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.3.2-r1.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.3.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.3.2-r1.ebuild index ccefce9b2f..f1a631944c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.3.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.3.2-r1.ebuild @@ -29,7 +29,7 @@ RESTRICT="!test? ( test )" # Note: lib{xml2,xslt} are used as C libraries, not Python modules. DEPEND=" - >=dev-libs/libxml2-2.10.3 + >=dev-libs/libxml2-2.10.3:= >=dev-libs/libxslt-1.1.38 " RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.4.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.4.0-r2.ebuild similarity index 92% rename from sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.4.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.4.0-r2.ebuild index 6a33fc0b24..26d81a16ea 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.4.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.4.0-r2.ebuild @@ -29,16 +29,14 @@ RESTRICT="!test? ( test )" # Note: lib{xml2,xslt} are used as C libraries, not Python modules. DEPEND=" - >=dev-libs/libxml2-2.10.3 + >=dev-libs/libxml2-2.10.3:= >=dev-libs/libxslt-1.1.38 " RDEPEND=" ${DEPEND} " -# cython: they are using __pyx_empty_tuple directly BDEPEND=" virtual/pkgconfig - =dev-python/cython-3.0.10[${PYTHON_USEDEP}] doc? ( $(python_gen_any_dep ' @@ -55,6 +53,8 @@ BDEPEND=" PATCHES=( "${FILESDIR}/${PN}-5.3.0-pypy.patch" + # https://github.com/lxml/lxml/commit/6d5d6aed2e38e1abc625f29c0b3e97fc8c60ae3b + "${FILESDIR}/${PN}-5.4.0-cython-3.1.patch" ) python_check_deps() { @@ -83,7 +83,8 @@ python_compile() { } python_compile_all() { - use doc && emake html + # disable automagic dep on coverage + use doc && emake CYTHON_WITH_COVERAGE= html } python_test() { diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pillow/pillow-11.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pillow/pillow-11.2.1.ebuild index 7133b8b848..fc131fa8d8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pillow/pillow-11.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pillow/pillow-11.2.1.ebuild @@ -35,7 +35,7 @@ S=${WORKDIR}/${MY_P} LICENSE="HPND" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" IUSE="avif examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib" REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/pip/Manifest index 5b892dfc3c..91bf1f520d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pip/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/Manifest @@ -1,3 +1,4 @@ DIST pip-24.1.gh.tar.gz 9188658 BLAKE2B 4a43ff0199d811dd30461e376f655a447f3f706a48dd97fe1d0ccf630f558e72209ccd06d98949a1541cd6b2942a816db23ce8aaa7fbbf9aef429502fb91ab92 SHA512 c60ab329fe91202ff64b5f0f90209085fbf8db0f0a05f0703f952ad69e39e2e3edb5dadc006a3f317cdd4ba4fb5abe56dfbd22792249a2d139702eec272186d1 DIST pip-25.0.1.gh.tar.gz 9224526 BLAKE2B db729b8c75d8e15c6fed1dbc9e08adc4e82114f2bbd953859ec03c7948e521629afd8cea6adb08110b987d6adf48fd600a59a3bcc27774db61ea92675ad90d42 SHA512 a6850c8567082bbf98483a45e523c4de12132136d2b0aa388ac619c02ffd0c8f6aea7d727f7d84167dadec5f1e56dd478b2233b0caa5d9b3e5cadc9e1f3dc12c +DIST pip-25.1.1.gh.tar.gz 9219969 BLAKE2B eb443451deeb71888c2fc56ac5c8cb2d0515ec0efff975fab98cfa65d1fc5e66948243b3acebf1f4b0446e46082abb9fd350816579a4f5af1292c160490ce930 SHA512 ce61c9861265139b3c5ea9be9dc246097cd75c21687cf8301f80a377d02420c4524f0d6307d2ca0232ff8715b1105343bcfdb9cac6b69503780ab2c4645558dc DIST pip-25.1.gh.tar.gz 9220205 BLAKE2B 3e719b180dd4f039a1bf15cdd2686fdc270e842e4b9ab416306bf9ea40c037541df05af78239fe067dfa3edc27b7370ea04c1d9cec43cc6cfd2f9e8f347f41ee SHA512 d6b93aeabe6a4e046caf85c028fca380936ab65cb3c5028a7fa7dbc61cef2cf7d0c46c499fe548dc0af8f7bc30f7ecace8f257b20a60c0cc905b531f193b5a9d diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-25.1-tomli-dep.patch b/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-25.1-tomli-dep.patch new file mode 100644 index 0000000000..780d9a84ad --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-25.1-tomli-dep.patch @@ -0,0 +1,76 @@ +From 23d20ea18ab4e43a4a4cb2b721d818a8dcd62542 Mon Sep 17 00:00:00 2001 +From: Eli Schwartz +Date: Mon, 28 Apr 2025 11:42:02 -0400 +Subject: [PATCH] Fix new dependency-groups feature to use the stdlib tomllib + where possible + +Previously, commit 88c9f31ad8a5ffe0bb31ab500b8ddd1b9ff6a5dd modified pip +to use the stdlib on versions of python where this module is in the +stdlib. As justified there: + +Although a tomli copy is vendored, doing this conditional import allows: +- automatically upgrading the code, when the time comes to drop py3.10 + support + +- slightly simplifying debundling support, as it's no longer necessary + to depend on a tomli(-wheel)? package on sufficiently newer versions + of python. + +https://github.com/pypa/pip/pull/13065 added a new feature, including a +vendored "dependency_groups" library that likewise supports using the +stdlib tomllib via `dependency_groups/_toml_compat.py`. But the code in +pip itself to use dependency_groups manually loads pyproject.toml and +passes it to dependency_groups, and fails to use the same compatibility +dispatch as both the pre-existing pip code and dependency_groups itself. + +Add back the conditional logic. +--- + news/13356.vendor.rst | 1 + + src/pip/_internal/req/req_dependency_group.py | 11 ++++++++--- + tests/unit/test_req_dependency_group.py | 2 +- + 3 files changed, 10 insertions(+), 4 deletions(-) + create mode 100644 news/13356.vendor.rst + +diff --git a/src/pip/_internal/req/req_dependency_group.py b/src/pip/_internal/req/req_dependency_group.py +index 8f124de5b81..e81dd45522a 100644 +--- a/src/pip/_internal/req/req_dependency_group.py ++++ b/src/pip/_internal/req/req_dependency_group.py +@@ -1,6 +1,11 @@ ++import sys + from typing import Any, Dict, Iterable, Iterator, List, Tuple + +-from pip._vendor import tomli ++if sys.version_info >= (3, 11): ++ import tomllib ++else: ++ from pip._vendor import tomli as tomllib ++ + from pip._vendor.dependency_groups import DependencyGroupResolver + + from pip._internal.exceptions import InstallationError +@@ -65,10 +70,10 @@ def _load_pyproject(path: str) -> Dict[str, Any]: + """ + try: + with open(path, "rb") as fp: +- return tomli.load(fp) ++ return tomllib.load(fp) + except FileNotFoundError: + raise InstallationError(f"{path} not found. Cannot resolve '--group' option.") +- except tomli.TOMLDecodeError as e: ++ except tomllib.TOMLDecodeError as e: + raise InstallationError(f"Error parsing {path}: {e}") from e + except OSError as e: + raise InstallationError(f"Error reading {path}: {e}") from e +diff --git a/tests/unit/test_req_dependency_group.py b/tests/unit/test_req_dependency_group.py +index b596f6fc5d7..1b180f8d7f8 100644 +--- a/tests/unit/test_req_dependency_group.py ++++ b/tests/unit/test_req_dependency_group.py +@@ -120,7 +120,7 @@ def epipe_toml_load(*args: Any, **kwargs: Any) -> None: + raise OSError(errno.EPIPE, "Broken pipe") + + monkeypatch.setattr( +- "pip._internal.req.req_dependency_group.tomli.load", epipe_toml_load ++ "pip._internal.req.req_dependency_group.tomllib.load", epipe_toml_load + ) + + with pytest.raises(InstallationError, match=r"Error reading pyproject\.toml"): diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-25.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-25.1-r1.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/dev-python/pip/pip-25.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/pip/pip-25.1-r1.ebuild index 0ae9fd71e7..f85c41d9f5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-25.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-25.1-r1.ebuild @@ -53,7 +53,7 @@ BDEPEND=" test? ( $(python_gen_cond_dep ' dev-python/ensurepip-setuptools - completion.bash || die + "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping tests on ${EPYTHON}" + return 0 + fi + + local EPYTEST_DESELECT=( + tests/functional/test_inspect.py::test_inspect_basic + # Internet + tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist + tests/functional/test_install.py::test_double_install_fail + tests/functional/test_install.py::test_install_sdist_links + tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed + tests/functional/test_lock.py::test_lock_archive + tests/functional/test_lock.py::test_lock_vcs + # broken by system site-packages use + tests/functional/test_freeze.py::test_freeze_with_setuptools + tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip + tests/functional/test_uninstall.py::test_basic_uninstall_distutils + tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup + tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup + tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers + # broken by unbundling + "tests/functional/test_debug.py::test_debug[vendored library versions:]" + tests/functional/test_debug.py::test_debug__library_versions + tests/functional/test_python_option.py::test_python_interpreter + tests/functional/test_uninstall.py::test_uninstall_non_local_distutils + ) + local EPYTEST_IGNORE=( + # requires proxy.py + tests/functional/test_proxy.py + ) + + case ${EPYTHON} in + pypy3*) + EPYTEST_DESELECT+=( + # unexpected tempfiles? + tests/functional/test_install_config.py::test_do_not_prompt_for_authentication + tests/functional/test_install_config.py::test_prompt_for_authentication + ) + ;; + esac + + if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + tests/functional/test_install.py::test_install_sends_client_cert + tests/functional/test_install_config.py::test_do_not_prompt_for_authentication + tests/functional/test_install_config.py::test_prompt_for_authentication + tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed + ) + fi + + local -x PIP_DISABLE_PIP_VERSION_CHECK=1 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local EPYTEST_XDIST=1 + # rerunfailures because test suite breaks if packages are installed + # in parallel + epytest -m "not network" -o tmp_path_retention_policy=all \ + -p rerunfailures --reruns=5 --use-venv +} + +python_install_all() { + local DOCS=( AUTHORS.txt docs/html/**/*.rst ) + distutils-r1_python_install_all + + newbashcomp completion.bash pip + newzshcomp completion.zsh _pip +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ply/ply-3.11-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ply/ply-3.11-r2.ebuild index 8fbc7fc8c6..fb6f8f3c42 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/ply/ply-3.11-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/ply/ply-3.11-r2.ebuild @@ -1,11 +1,10 @@ # Copyright 1999-2025 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 +EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 ) +PYTHON_COMPAT=( python3_{11..13} pypy3_11 ) inherit distutils-r1 pypi diff --git a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/Manifest index 205ce8474c..8b06c52bbd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/Manifest @@ -1 +1,2 @@ DIST poetry_core-2.1.2.tar.gz 364452 BLAKE2B 0ba281c8a30c43ed9c93b5ae8bfad85664eede117e5a9ecb2f98686201a2a77f88bbe8870b72d9998afba8a70e3f9147d002614c411196c5e183ef43b2d9dbc8 SHA512 4cd6f91acf108539b478bded2d930947a177b36eaf10bbb25092c6617a2391fc9f4286ef25186642fcd25750967df375c183434446275c91a5b456e972b1c9c8 +DIST poetry_core-2.1.3.tar.gz 365027 BLAKE2B d3cd1536a8466f784b2cd6a835997c480cdc11d24afe4e0b757879b2acc4795e33485fc9bf6adccf5afbf475d4b1748959fb146a6c01cf8508d6c27a7abe52e0 SHA512 eb82164aef3ce00fc14d55db8065b95feca15a78e1c69ca58c8c0b1018404b173a80c61d448513f938535a03e73df99978b51b3494065bd1c99bc8a14e224ba8 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-2.1.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-2.1.3.ebuild new file mode 100644 index 0000000000..bb27669c07 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-2.1.3.ebuild @@ -0,0 +1,66 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYTHON_TESTED=( pypy3 pypy3_11 python3_{10..13} ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) + +inherit distutils-r1 pypi + +DESCRIPTION="Poetry PEP 517 Build Backend" +HOMEPAGE=" + https://github.com/python-poetry/poetry-core/ + https://pypi.org/project/poetry-core/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" + +# check inside vendors/pyproject.toml +# (note that some are indirect deps) +RDEPEND=" + >=dev-python/fastjsonschema-2.21.1[${PYTHON_USEDEP}] + >=dev-python/lark-1.2.2[${PYTHON_USEDEP}] + >=dev-python/packaging-24.2[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( + $(python_gen_cond_dep ' + dev-python/build[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/tomli-w[${PYTHON_USEDEP}] + >=dev-python/trove-classifiers-2022.5.19[${PYTHON_USEDEP}] + >=dev-python/virtualenv-20.21[${PYTHON_USEDEP}] + dev-vcs/git + ' "${PYTHON_TESTED[@]}") + ) +" + +distutils_enable_tests pytest + +src_prepare() { + # remove vendoring of dependencies + rm -r src/poetry/core/_vendor || die + sed -e '/__vendor_site__/d' -i src/poetry/core/__init__.py || die + + distutils-r1_src_prepare +} + +python_test() { + if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then + einfo "Skipping tests on ${EPYTHON} (unported deps)" + return + fi + + # Poetry expects test to be run inside a git repository, otherwise + # VCS-related logic doesn't get triggered. An empty repository + # suffices, though. + git init || die + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p pytest_mock +} 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 e426dbbcf7..8544804e3a 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,6 +1,6 @@ DIST setuptools-75.8.2.tar.gz 1344083 BLAKE2B 7d4dff2c0948bb411ef5f70e5f5f91bc0e230b155a97419d263f88e54a94390fd7dcadad14105f4d886a25024bf4c95e776ae7b25e4b1d6f17e45e6060b99da2 SHA512 adf7f5d2eab7621b03c86e3f96857b176631108dc8a0eba2b16b87e394bff0b607998bc24cc074cd3f7b0ed6dbe0bd753cce5af2f108fce2473fb50b22f32913 DIST setuptools-78.1.0.tar.gz 1367827 BLAKE2B d82320d11829e43e6841cd6b5a9bd4e16cfc9e7e2f97f64ac2ab1956ed68587ca6c74a07781f6afeefd3a949c23dee374460bdd327b7a5d908f33b2882f3d87d SHA512 e0b9562a8b3bb7a6b664da84ef37e4f4f71df5dd3129b636ece798878e62bf4be60ff6b6643a98b7047e540e14c931eeb54b4e08c583ac1a86ffb5dc5e921c68 -DIST setuptools-78.1.1.tar.gz 1368163 BLAKE2B 45dd7ea3a4e237c65323f5a4645b70a483a41ef1c4d0f30f977bb5cfd48c41f283c24b756d8494eb87a78e239d0ebc727e0611ac0b8aef6ca1178c04db92b54d SHA512 0a44bb3f9e5c9b247ada0854552042e7733d6908a8b2ce82d750a7bebbd94a15c9f453343dc131e34cfa641bec300611d57ea8e52ee8ad4971a026ad6cc8b938 -DIST setuptools-79.0.0.tar.gz 1367685 BLAKE2B b85eae52bd372c97248ad9e9d8544f151b7c95fe5037f1c7dd86205dbceca207925d009e9ef9ea3b9342627812adb1d9f25387a4056bd704c41ee17881c1cd40 SHA512 ba701e80ec7e85ea8c54f617c5ee84f5ba9de0feeb8c33018a2eaeee4d059a38bf9380f93afff7dcd39068da872d38d8cbea6732eb44c3f87c8a02e6dc26758f DIST setuptools-79.0.1.tar.gz 1367909 BLAKE2B d495a22753400b3b0ef71423e2c9b5adaad1a065d1f9638b5da8161b29c453495701c3efaa3abd2482777e186ba992bd7b57090dfc711d9cdfdaa8254616a8ff SHA512 5b68d7cc775f4318e178f7d7f69c60a01b1abc607411e88c88e3507a08bd85eed241b915d4be5f3ada90df4b68718056c2ba032943c1f53fe68d171c7d728179 -DIST setuptools-80.0.0.tar.gz 1354221 BLAKE2B e9cabaccc8563f95fef103177e7c4f7a71e9ca01294d0912a1cf060e195a68fcf971d0966386823a504ef231f8724bf9ed1ba01f7587de581102e5df66ed71f3 SHA512 b0ba9269b9fb029d39e454c4278a82b92203dc638a3b102e0bed322d022db5fbd2bb7f82c707c9d1cfbba9a6718a25e3870f0e7fb5e821889517a127073c64b7 +DIST setuptools-80.2.0.tar.gz 1354232 BLAKE2B 2eb5f9b51632c865533bb018e268da7e9b52f1cecdb9da0eb0da713ee4e44d0827c6340b5c1f663d3b8b4df08849c32972498980de287fab6101593d5aeb47ca SHA512 a684eb3ef4049c6d05aca9cd77a015e63047cdc84460af798ac1dc1d87a970370176ac7fd87e250be155e61dddd77e89ad84adb5557f04d1a1059cd449c08c53 +DIST setuptools-80.3.0.tar.gz 1314475 BLAKE2B 26fb2b0408221a51f4664a983927be79936b89e3daffb71f1d6ad76a2b752ee10f3958ac9be9fb7d8c78906b6cff33b19c16d248649600d6921083bdfc841d04 SHA512 f492360d8eec2a33a70328cf6e7e017290dea510ffa14fe12ef0161bd72a46d6078ff099a885f256ced0862c3551b6ef3af449a4638b309f6b55070dcd482c51 +DIST setuptools-80.3.1.tar.gz 1315082 BLAKE2B 65207edf080d80599b2fe82caed638221bbe1155f745fd8cd02bd9da5934b1880782eb285f5be44088e189684385e7fbbd2bd0750fcd27aaf556f0a44214573d SHA512 be5157aa1f1a7f1e3e11b971ffedac509303d4919d590c1f741dd1c4966c5dc83168b458d3aad66dd9874c7f8f4c8c5bbded6b4dbf6ed91f0d05b1c65229a789 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-80.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-80.2.0.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-80.0.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-80.2.0.ebuild index a1e1bba8d8..56dbefde5b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-80.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-80.2.0.ebuild @@ -7,7 +7,7 @@ EAPI=8 # please bump dev-python/ensurepip-setuptools along with this package! DISTUTILS_USE_PEP517=standalone -PYTHON_TESTED=( python3_{10..13} pypy3 pypy3_11 ) +PYTHON_TESTED=( python3_{11..13} pypy3_11 ) PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13t ) PYTHON_REQ_USE="xml(+)" @@ -34,9 +34,6 @@ RDEPEND=" >=dev-python/packaging-24.2[${PYTHON_USEDEP}] >=dev-python/platformdirs-4.2.2[${PYTHON_USEDEP}] >=dev-python/wheel-0.44.0[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}] - ' 3.10) !<=dev-libs/gobject-introspection-1.76.1-r0 !=dev-libs/gobject-introspection-1.78.1-r0 !=dev-libs/gobject-introspection-1.80.1-r1 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-79.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-80.3.0.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-79.0.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-80.3.0.ebuild index f57414ffa0..56dbefde5b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-79.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-80.3.0.ebuild @@ -7,7 +7,7 @@ EAPI=8 # please bump dev-python/ensurepip-setuptools along with this package! DISTUTILS_USE_PEP517=standalone -PYTHON_TESTED=( python3_{10..13} pypy3 pypy3_11 ) +PYTHON_TESTED=( python3_{11..13} pypy3_11 ) PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13t ) PYTHON_REQ_USE="xml(+)" @@ -34,9 +34,6 @@ RDEPEND=" >=dev-python/packaging-24.2[${PYTHON_USEDEP}] >=dev-python/platformdirs-4.2.2[${PYTHON_USEDEP}] >=dev-python/wheel-0.44.0[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}] - ' 3.10) !<=dev-libs/gobject-introspection-1.76.1-r0 !=dev-libs/gobject-introspection-1.78.1-r0 !=dev-libs/gobject-introspection-1.80.1-r1 @@ -100,6 +97,7 @@ python_test() { local EPYTEST_DESELECT=( # network setuptools/tests/test_build_meta.py::test_legacy_editable_install + setuptools/tests/test_develop.py::TestNamespaces::test_namespace_package_importable setuptools/tests/test_distutils_adoption.py setuptools/tests/test_editable_install.py setuptools/tests/test_virtualenv.py::test_no_missing_dependencies diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-78.1.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-80.3.1.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-78.1.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-80.3.1.ebuild index f57414ffa0..558dbf0129 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-78.1.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-80.3.1.ebuild @@ -7,7 +7,7 @@ EAPI=8 # please bump dev-python/ensurepip-setuptools along with this package! DISTUTILS_USE_PEP517=standalone -PYTHON_TESTED=( python3_{10..13} pypy3 pypy3_11 ) +PYTHON_TESTED=( python3_{11..13} pypy3_11 ) PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13t ) PYTHON_REQ_USE="xml(+)" @@ -26,7 +26,6 @@ IUSE="test" RESTRICT="!test? ( test )" RDEPEND=" - !=dev-python/jaraco-functools-4[${PYTHON_USEDEP}] >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}] @@ -34,12 +33,6 @@ RDEPEND=" >=dev-python/packaging-24.2[${PYTHON_USEDEP}] >=dev-python/platformdirs-4.2.2[${PYTHON_USEDEP}] >=dev-python/wheel-0.44.0[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}] - ' 3.10) - !<=dev-libs/gobject-introspection-1.76.1-r0 - !=dev-libs/gobject-introspection-1.78.1-r0 - !=dev-libs/gobject-introspection-1.80.1-r1 " BDEPEND=" ${RDEPEND} @@ -99,7 +92,9 @@ python_test() { local EPYTEST_DESELECT=( # network + setuptools/tests/integration/test_pbr.py::test_pbr_integration setuptools/tests/test_build_meta.py::test_legacy_editable_install + setuptools/tests/test_develop.py::TestNamespaces::test_namespace_package_importable setuptools/tests/test_distutils_adoption.py setuptools/tests/test_editable_install.py setuptools/tests/test_virtualenv.py::test_no_missing_dependencies diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.24.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.24.0.ebuild index c1ed1ea679..551d58f257 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.24.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.24.0.ebuild @@ -22,7 +22,7 @@ S=${WORKDIR}/py-${P} LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" # setuptools is needed for distutils import DEPEND=">=dev-libs/tree-sitter-0.25.0:=" 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 6ed5c446ab..a0ef531182 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,3 @@ DIST trove_classifiers-2025.4.11.15.tar.gz 16321 BLAKE2B b011b524d267506aef4d91ac6d365e08e419fb57b424259b080de8cb7205cd8c4c6df52e29532b9dc19ca36f41b0793ac25a8824e9d2328735357efa369b2157 SHA512 5eb5d892a751105319c003e4a370d2f69b614a1f2bea8904865b7da9f4d2648ffe57fba1cebc1ec21dab74d02b3223eb72af478ddd69635e45b0424621cefa9a +DIST trove_classifiers-2025.4.28.22.tar.gz 16883 BLAKE2B 9598b19874f7deaeb15333a7f97cb91a7d82fe34d26d6d4e526bf857ed777539cad89949628196f2bbff187511fc5bca2327aeaacec4052611c5f2d82c4bb8a8 SHA512 4863ff031d9c83177099b5c1e04e2a22396055209b88e60dd44e22a8357889f27572444e0a1fbef65b7b37919cb9d7f8cb548b7007fd878d8fe92c9cd39b864e +DIST trove_classifiers-2025.5.1.12.tar.gz 16876 BLAKE2B 27ae91479d2a811978b3f1447568f5849341a7fda5c825ebf0dd0502d85f206d63f4687463708031637da4313d0182abc05b6b710a6f32fd714167ac766a587d SHA512 af3c0ee51e7ce3e7ec0eb1fd901ac3d0c02f6c0ba1c77d3ba66e0770bf5300144f636dcbf608f046a21789cfc780f651be222b7d23f359a672fde0210af966b5 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2025.4.28.22.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2025.4.28.22.ebuild new file mode 100644 index 0000000000..5f05a4286c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2025.4.28.22.ebuild @@ -0,0 +1,45 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} python3_13t ) + +inherit distutils-r1 pypi + +DESCRIPTION="Canonical source for classifiers on PyPI (pypi.org)" +HOMEPAGE=" + https://github.com/pypa/trove-classifiers/ + https://pypi.org/project/trove-classifiers/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 hatchling bootstrap + cat > pyproject.toml <<-EOF || die + [build-system] + requires = ["flit_core >=3.2,<4"] + build-backend = "flit_core.buildapi" + + [project] + name = "trove-classifiers" + version = "${PV}" + description = "Canonical source for classifiers on PyPI (pypi.org)." + + [project.scripts] + trove-classifiers = "trove_classifiers.__main__:cli" + EOF +} + +python_test() { + epytest + "${EPYTHON}" -m tests.lib || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2025.5.1.12.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2025.5.1.12.ebuild new file mode 100644 index 0000000000..2e0e947a06 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2025.5.1.12.ebuild @@ -0,0 +1,45 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( pypy3_11 python3_{11..13} python3_13t ) + +inherit distutils-r1 pypi + +DESCRIPTION="Canonical source for classifiers on PyPI (pypi.org)" +HOMEPAGE=" + https://github.com/pypa/trove-classifiers/ + https://pypi.org/project/trove-classifiers/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 hatchling bootstrap + cat > pyproject.toml <<-EOF || die + [build-system] + requires = ["flit_core >=3.2,<4"] + build-backend = "flit_core.buildapi" + + [project] + name = "trove-classifiers" + version = "${PV}" + description = "Canonical source for classifiers on PyPI (pypi.org)." + + [project.scripts] + trove-classifiers = "trove_classifiers.__main__:cli" + EOF +} + +python_test() { + epytest + "${EPYTHON}" -m tests.lib || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/wheel/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/wheel/Manifest index 85f66c957d..c6f56f57d7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/wheel/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/wheel/Manifest @@ -1,2 +1 @@ DIST wheel-0.45.1.tar.gz 107545 BLAKE2B 13c8d60a2e39ded3d911c9e03915b01bda201f7e8cd6de456484ce6eeb2a990861a01f26e5d9f2ac4ca0ab2b6d0fea9db437d6f82cb39db9b1059c3c53202ec0 SHA512 df45f00e9eaeae2f27f813f31591590c961da2f6bff15bba6fb2a14d529c221f39b29894b8da408fe49cd4b760840a0e05c4baef377ccfacd9983c0bba83d6d8 -DIST wheel-0.46.1.tar.gz 54400 BLAKE2B 078ffb044d3c156e61081d0708d1f559f715a47d071f678af73cfdafe9e80a66121cd8f489783383de87a9963e377f05e60df6da27825d6e3ed0285fdeaa3030 SHA512 69219fb100d47da42999e0d0e4a023ac43489eb7f1755cb08f6d72a26bda1d435b3a9738340379b1a7f0054330711c7ca9865736cb0463a3f49004c25b61ebfe diff --git a/sdk_container/src/third_party/portage-stable/dev-python/wheel/wheel-0.46.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/wheel/wheel-0.46.1.ebuild deleted file mode 100644 index 11ad8a82d1..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/wheel/wheel-0.46.1.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 1999-2025 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 -PYTHON_COMPAT=( python3_{10..13} python3_13t pypy3 pypy3_11 ) - -inherit distutils-r1 pypi - -DESCRIPTION="A built-package format for Python" -HOMEPAGE=" - https://github.com/pypa/wheel/ - https://pypi.org/project/wheel/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" - -RDEPEND=" - >=dev-python/packaging-24.0[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/setuptools[${PYTHON_USEDEP}] - ) -" - -EPYTEST_DESELECT=( - # fails if any setuptools plugin imported the module first - tests/test_bdist_wheel.py::test_deprecated_import -) - -distutils_enable_tests pytest - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/Manifest index 5f33909e6d..2f0798f394 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/Manifest @@ -1,7 +1 @@ -DIST bpftool-7.4.0.tar.gz 472915 BLAKE2B ae7b6bc6cb742712981ba8972bcecccc63d440b2a77c5a14f91ba5106c013774313d65fd3f42b843ba4027ab17cf9d44d256270f7f8ad11907714f16f3149078 SHA512 08a3095b37a9b897400f2be7dbb9de10d129ae4eef193d03955fdf84017cd3a5d7419e856aa68a425e609419868e8b1dd5409b4f218cc24feeb059c1898cdff4 DIST bpftool-libbpf-v7.5.0-sources.tar.gz 1510032 BLAKE2B cc9beac4034317f89ae3c1088d1b1a1948778bcdb51d7ed7f566e4e5ab720c1128ca467d51d0bc3ffe7b1f69800249362baef5dfaf858275050f96b744fdbca6 SHA512 db12c305b77fea3689dbc1ce94527f0f21fa9de21fcdb36385e3fe492137335bb393f90e456c06601495ccc984230a531c432709db6514b545e0aeeda7ca3c99 -DIST libbpf-1.4.7.tar.gz 1016441 BLAKE2B 10be52c7e97b2f08edd33cb263c4737bb52edfd2226f0c5b86d4f95b584b81f8f6b1ede469e9ad6c231e55b6d6b9a038160662606c3f30dc79b1336aaaa90e74 SHA512 f09ff28ac75b0d0c1bfe7d233aee6a00e5c21f185646b2afe11b7bd048d74962f893237437dd81a762768f9235b9f2a2a33cb297201b2aa3e98f7c6f58e5b365 -DIST linux-6.8.tar.xz 142502100 BLAKE2B c6f17f816cea16e629f63e9379b98888713f57b2c5173306926471f139a9d612a0c74e119341f8075390e55e203d787d9edeb4ad5a064b18870f6f0f7ffaafb2 SHA512 5c4eb4aa1d3f7d1ea01c0f7ddeadacdece6e144fd4bdfc16b2b925d3e10dc04de3a6db69320b79a96c3560052616f001d2c09e7a1bb4f7b731e2380a7ecce068 -DIST linux-6.9.tar.xz 144034416 BLAKE2B 4cf86c3cfe6e6534745d42dfaeca59b17ea1168c4e8b615c80e6d8aac735f11283cd85fa992b440b5d4452917e94b9f08397a64af0be5894e3df23c68892377e SHA512 fed3b4cd1fbfb4d94618587c1934273d2ecc8b6e42a3d586ff8a5f24980be930f2ef803aa2923ca3bfa5e4e619f967f3af315368f24fa76f610b10443624a579 -DIST patch-6.8.2.xz 247244 BLAKE2B a85078230548543c38550a5546689d0b44a54208cdad591ab34e10dec9348ce2f74e45bf85f373b14977d40556067e2e2c17ac4b6791fbb8aaba98feccd3cdac SHA512 a8e32b89f7680670c69c62f356846bb65b57614f979114627a9a2f945d7dc97c921d30197dffa993e5b18e499ba8c7196046ffdf0e721528a5378d1ee65a9ba5 -DIST patch-6.9.2.xz 16184 BLAKE2B 8a37e96c253b55b57c86f1654f2ea8bf65af96b1b38213e90032cb918bb8eea992d6ddbfa6a6774a229ab2e2288ab57bdb6cbad6e7e393c123f24850e06847c9 SHA512 a27af24f0caaa5de3811b6db5acc2d72b96df9ebb5c44bad99a949d871fb06c6ffd2be10cfc35b246d430c7be2291701f802aed47eaa8818ad12b8818a60f3ec diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-6.8.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-6.8.2.ebuild deleted file mode 100644 index ddd4369edf..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-6.8.2.ebuild +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) -inherit estack linux-info optfeature python-any-r1 bash-completion-r1 toolchain-funcs - -MY_PV="${PV/_/-}" -MY_PV="${MY_PV/-pre/-git}" - -DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps" -HOMEPAGE="https://kernel.org/" - -LINUX_V="${PV:0:1}.x" -LINUX_VER=$(ver_cut 1-2) -LINUX_PATCH=patch-${PV}.xz -SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" - -LINUX_SOURCES="linux-${LINUX_VER}.tar.xz" -SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" - -S_K="${WORKDIR}/linux-${LINUX_VER}" -S="${S_K}/tools/bpf/bpftool" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" -IUSE="caps +llvm" - -RDEPEND=" - sys-libs/binutils-libs:= - sys-libs/zlib:= - virtual/libelf:= - caps? ( sys-libs/libcap:= ) - llvm? ( llvm-core/llvm:= ) -" -DEPEND=" - ${RDEPEND} - >=sys-kernel/linux-headers-5.8 -" -BDEPEND=" - ${LINUX_PATCH+dev-util/patchutils} - ${PYTHON_DEPS} - app-arch/tar - dev-python/docutils -" - -CONFIG_CHECK="~DEBUG_INFO_BTF" - -# src_unpack and src_prepare are copied from dev-util/perf since -# it's building from the same tarball, please keep it in sync with perf -src_unpack() { - local paths=( - tools/bpf kernel/bpf - tools/{arch,build,include,lib,perf,scripts} {scripts,include,lib} "arch/*/lib" - ) - - # We expect the tar implementation to support the -j and --wildcards option - echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}" - gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \ - "${paths[@]/#/linux-${LINUX_VER}/}" || die - - if [[ -n ${LINUX_PATCH} ]] ; then - eshopts_push -o noglob - ebegin "Filtering partial source patch" - filterdiff -p1 ${paths[@]/#/-i } -z "${DISTDIR}"/${LINUX_PATCH} \ - > ${P}.patch - eend $? || die "filterdiff failed" - eshopts_pop - fi - - local a - for a in ${A}; do - [[ ${a} == ${LINUX_SOURCES} ]] && continue - [[ ${a} == ${LINUX_PATCH} ]] && continue - unpack ${a} - done -} - -src_prepare() { - default - - if [[ -n ${LINUX_PATCH} ]] ; then - pushd "${S_K}" >/dev/null || die - eapply "${WORKDIR}"/${P}.patch - popd || die - fi - - # Use rst2man or rst2man.py depending on which one exists (#930076) - type -P rst2man >/dev/null || sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die - - # remove -Werror (bug 887981) - sed -i -e 's/\-Werror//g' ../../lib/bpf/Makefile || die -} - -bpftool_make() { - local arch=$(tc-arch-kernel) - tc-export AR CC LD - - emake V=1 VF=1 \ - HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \ - EXTRA_CFLAGS="${CFLAGS}" ARCH="${arch}" BPFTOOL_VERSION="${MY_PV}" \ - prefix="${EPREFIX}"/usr \ - bash_compdir="$(get_bashcompdir)" \ - feature-libcap="$(usex caps 1 0)" \ - feature-llvm="$(usex llvm 1 0)" \ - "$@" -} - -src_compile() { - bpftool_make - bpftool_make -C Documentation -} - -src_install() { - bpftool_make DESTDIR="${D}" install - bpftool_make mandir="${ED}"/usr/share/man -C Documentation install -} - -pkg_postinst() { - optfeature "clang-bpf-co-re support" llvm-core/clang[llvm_targets_BPF] -} 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 deleted file mode 100644 index 7903cf92f3..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-6.9.2.ebuild +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) -inherit estack linux-info optfeature python-any-r1 bash-completion-r1 toolchain-funcs - -MY_PV="${PV/_/-}" -MY_PV="${MY_PV/-pre/-git}" - -DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps" -HOMEPAGE="https://kernel.org/" - -LINUX_V="${PV:0:1}.x" -LINUX_VER=$(ver_cut 1-2) -LINUX_PATCH=patch-${PV}.xz -SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" - -LINUX_SOURCES="linux-${LINUX_VER}.tar.xz" -SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" - -S_K="${WORKDIR}/linux-${LINUX_VER}" -S="${S_K}/tools/bpf/bpftool" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" -IUSE="caps +llvm" - -RDEPEND=" - sys-libs/binutils-libs:= - sys-libs/zlib:= - virtual/libelf:= - caps? ( sys-libs/libcap:= ) - llvm? ( llvm-core/llvm:= ) -" -DEPEND=" - ${RDEPEND} - >=sys-kernel/linux-headers-5.8 -" -BDEPEND=" - ${LINUX_PATCH+dev-util/patchutils} - ${PYTHON_DEPS} - app-arch/tar - dev-python/docutils -" - -CONFIG_CHECK="~DEBUG_INFO_BTF" - -# src_unpack and src_prepare are copied from dev-util/perf since -# it's building from the same tarball, please keep it in sync with perf -src_unpack() { - local paths=( - kernel/bpf tools/{arch,bpf,build,include,lib,perf,scripts} - scripts include lib "arch/*/include" "arch/*/lib" "arch/*/tools" - ) - - # We expect the tar implementation to support the -j and --wildcards option - echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}" - gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \ - "${paths[@]/#/linux-${LINUX_VER}/}" || die - - if [[ -n ${LINUX_PATCH} ]] ; then - eshopts_push -o noglob - ebegin "Filtering partial source patch" - filterdiff -p1 ${paths[@]/#/-i } -z "${DISTDIR}"/${LINUX_PATCH} \ - > ${P}.patch - eend $? || die "filterdiff failed" - eshopts_pop - fi - - local a - for a in ${A}; do - [[ ${a} == ${LINUX_SOURCES} ]] && continue - [[ ${a} == ${LINUX_PATCH} ]] && continue - unpack ${a} - done -} - -src_prepare() { - default - - if [[ -n ${LINUX_PATCH} ]] ; then - pushd "${S_K}" >/dev/null || die - eapply "${WORKDIR}"/${P}.patch - popd || die - fi - - # Use rst2man or rst2man.py depending on which one exists (#930076) - type -P rst2man >/dev/null || sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die - - # remove -Werror (bug 887981) - sed -i -e 's/\-Werror//g' ../../lib/bpf/Makefile || die -} - -bpftool_make() { - local arch=$(tc-arch-kernel) - tc-export AR CC LD - - emake V=1 VF=1 \ - HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \ - EXTRA_CFLAGS="${CFLAGS}" ARCH="${arch}" BPFTOOL_VERSION="${MY_PV}" \ - prefix="${EPREFIX}"/usr \ - bash_compdir="$(get_bashcompdir)" \ - feature-libcap="$(usex caps 1 0)" \ - feature-llvm="$(usex llvm 1 0)" \ - "$@" -} - -src_compile() { - bpftool_make - bpftool_make -C Documentation -} - -src_install() { - bpftool_make DESTDIR="${D}" install - bpftool_make mandir="${ED}"/usr/share/man -C Documentation install -} - -pkg_postinst() { - optfeature "clang-bpf-co-re support" llvm-core/clang[llvm_targets_BPF] -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.4.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.4.0.ebuild deleted file mode 100644 index 743e919f4b..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.4.0.ebuild +++ /dev/null @@ -1,130 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {15..19} ) -LLVM_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..13} ) - -inherit bash-completion-r1 linux-info llvm-r1 python-any-r1 toolchain-funcs - -DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps" -HOMEPAGE="https://github.com/libbpf/bpftool" - -if [[ ${PV} == *9999* ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/libbpf/bpftool.git" - EGIT_SUBMODULES=(libbpf) -else - # bpftool typically vendors whatever libbpf is current at the time - # of a release, while libbpf publishes minor updates more frequently. - # Uncomment the following to bundle an updated libbpf e.g. in case of - # security or crasher bugs in libbpf and to keep the two synchronized. - # This allows us to quickly update the vendored lib with a revbump. - # Currently bpftool-x.y vendors libbpf-1.y; DO NOT mix different y versions. - # See the libbpf repo (https://github.com/libbpf/libbpf) for possible updates. - LIBBPF_VERSION=1.4.7 - - if [[ ! -z ${LIBBPF_VERSION} ]] ; then - SRC_URI="https://github.com/libbpf/bpftool/archive/refs/tags/v${PV}.tar.gz -> bpftool-${PV}.tar.gz - https://github.com/libbpf/libbpf/archive/refs/tags/v${LIBBPF_VERSION}.tar.gz - -> libbpf-${LIBBPF_VERSION}.tar.gz" - else - # use tarball with bundled libbpf - SRC_URI="https://github.com/libbpf/bpftool/releases/download/v${PV}/bpftool-libbpf-v${PV}-sources.tar.gz" - S="${WORKDIR}/bpftool-libbpf-v${PV}-sources" - fi - - KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" -fi - -LICENSE="|| ( GPL-2 BSD-2 )" -SLOT="0" -IUSE="caps llvm" -REQUIRED_USE="llvm? ( ${LLVM_REQUIRED_USE} )" - -RDEPEND=" - caps? ( sys-libs/libcap:= ) - llvm? ( $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}') ) - !llvm? ( sys-libs/binutils-libs:= ) - sys-libs/zlib:= - virtual/libelf:= -" -DEPEND=" - ${RDEPEND} - >=sys-kernel/linux-headers-5.8 -" -BDEPEND=" - ${PYTHON_DEPS} - app-arch/tar - dev-python/docutils - $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}[llvm_targets_BPF]') -" - -CONFIG_CHECK="~DEBUG_INFO_BTF" - -PATCHES=( - "${FILESDIR}"/7.4-001-mount-bpffs-on-provided-dir-instead-of-parent-dir.patch - "${FILESDIR}"/7.4-002-set-DESTDIR-to-empty-when-building-libbpf.patch - "${FILESDIR}"/7.4-003-fix-typo-in-usage-help.patch - "${FILESDIR}"/7.4-004-fix-the-wrong-format-specifier.patch - "${FILESDIR}"/7.4-005-fix-undefined-behavior-caused-by-shifting-into-the-sign-bit.patch - "${FILESDIR}"/7.4-006-fix-undefined-behavior-in-qsort.patch - "${FILESDIR}"/7.4-007-define-PACKAGE-at-build-time-when-trying-to-detect-libbfd.patch - "${FILESDIR}"/7.4-008-always-disable-unused-CLI-arguments-warning-for-feature-probe.patch -) - -pkg_setup() { - python-any-r1_pkg_setup - use llvm && llvm-r1_pkg_setup -} - -src_prepare() { - default - - # prepare libbpf if necessary - if [[ ! -z ${LIBBPF_VERSION} ]] ; then - rm -rf libbpf || die - ln -s "${WORKDIR}/libbpf-${LIBBPF_VERSION}" libbpf || die - fi - - # remove -Werror from libbpf (bug 887981) - sed -i -e 's/\-Werror//g' libbpf/src/Makefile || die - - # remove -Werror from bpftool feature detection - sed -i -e 's/-Werror//g' src/Makefile.feature || die - - # remove hardcoded/unhelpful flags from bpftool - sed -i -e '/CFLAGS += -O2/d' -e 's/-W //g' -e 's/-Wextra //g' src/Makefile || die - - # Use rst2man or rst2man.py depending on which one exists (#930076) - type -P rst2man >/dev/null || sed -i -e 's/rst2man/rst2man.py/g' docs/Makefile || die -} - -bpftool_make() { - tc-export AR CC LD - - emake \ - ARCH="$(tc-arch-kernel)" \ - CLANG="$(get_llvm_prefix -b)/bin/clang" \ - HOSTAR="$(tc-getBUILD_AR)" \ - HOSTCC="$(tc-getBUILD_CC)" \ - HOSTLD="$(tc-getBUILD_LD)" \ - bash_compdir="$(get_bashcompdir)" \ - feature-libcap="$(usex caps 1 0)" \ - feature-llvm="$(usex llvm 1 0)" \ - prefix="${EPREFIX}"/usr \ - V=1 \ - "$@" -} - -src_compile() { - bpftool_make -C src - bpftool_make -C docs -} - -src_install() { - bpftool_make DESTDIR="${D}" -C src install - bpftool_make mandir="${ED}"/usr/share/man -C docs install -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.5.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.5.0-r1.ebuild similarity index 82% rename from sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.5.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.5.0-r1.ebuild index 7b4453ce86..2d8c0adfad 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.5.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.5.0-r1.ebuild @@ -5,7 +5,7 @@ EAPI=8 LLVM_COMPAT=( {15..20} ) LLVM_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..13} ) inherit bash-completion-r1 linux-info llvm-r1 python-any-r1 toolchain-funcs @@ -65,6 +65,8 @@ BDEPEND=" CONFIG_CHECK="~DEBUG_INFO_BTF" +PATCHES=( "${FILESDIR}/7.5.0-setting-error-code-in-do_loader.patch" ) + pkg_setup() { python-any-r1_pkg_setup use llvm && llvm-r1_pkg_setup @@ -88,7 +90,20 @@ src_prepare() { # remove hardcoded/unhelpful flags from bpftool sed -i -e '/CFLAGS += -O2/d' -e 's/-W //g' -e 's/-Wextra //g' src/Makefile || die + # always build bpf bits with std=gnu11 for kernel compatibility (bug 955156) + sed -i 's/-fno-stack-protector/& -std=gnu11/g' src/Makefile || die + if ! use clang; then + # make people aware of what they are doing + ewarn "Using bpf-toolchain instead of clang due to USE=-clang." + ewarn "Please report any odd behaviours you observe, since using gcc for BPF" + ewarn "is still under development in both the Linux kernel and gcc itself." + + # prevent attribute warning about preserve_access_index + # since gcc does not support '#pragma clang attribute push': + # https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=675b4e2 + sed -i 's/std=gnu11/& -DBPF_NO_PRESERVE_ACCESS_INDEX/g' src/Makefile || die + # remove bpf target & add assembly annotations to fix CO-RE feature detection sed -i -e 's/-target bpf/-dA/' src/Makefile.feature || die diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild index fd1c3aebd4..0139c6ee78 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild @@ -1,11 +1,11 @@ -# Copyright 2021-2024 Gentoo Authors +# Copyright 2021-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 LLVM_COMPAT=( {15..20} ) LLVM_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..13} ) inherit bash-completion-r1 linux-info llvm-r1 python-any-r1 toolchain-funcs @@ -88,7 +88,20 @@ src_prepare() { # remove hardcoded/unhelpful flags from bpftool sed -i -e '/CFLAGS += -O2/d' -e 's/-W //g' -e 's/-Wextra //g' src/Makefile || die + # always build bpf bits with std=gnu11 for kernel compatibility (bug 955156) + sed -i 's/-fno-stack-protector/& -std=gnu11/g' src/Makefile || die + if ! use clang; then + # make people aware of what they are doing + ewarn "Using bpf-toolchain instead of clang due to USE=-clang." + ewarn "Please report any odd behaviours you observe, since using gcc for BPF" + ewarn "is still under development in both the Linux kernel and gcc itself." + + # prevent attribute warning about preserve_access_index + # since gcc does not support '#pragma clang attribute push': + # https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=675b4e2 + sed -i 's/std=gnu11/& -DBPF_NO_PRESERVE_ACCESS_INDEX/g' src/Makefile || die + # remove bpf target & add assembly annotations to fix CO-RE feature detection sed -i -e 's/-target bpf/-dA/' src/Makefile.feature || die diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-001-mount-bpffs-on-provided-dir-instead-of-parent-dir.patch b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-001-mount-bpffs-on-provided-dir-instead-of-parent-dir.patch deleted file mode 100644 index c874555d37..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-001-mount-bpffs-on-provided-dir-instead-of-parent-dir.patch +++ /dev/null @@ -1,255 +0,0 @@ -From 54bcb7c7fecb33d40266223d4bba49ad38e59ee3 Mon Sep 17 00:00:00 2001 -From: Sahil Siddiq -Date: Fri, 5 Apr 2024 00:52:19 +0530 -Subject: [PATCH] bpftool: Mount bpffs on provided dir instead of parent dir - -When pinning programs/objects under PATH (eg: during "bpftool prog -loadall") the bpffs is mounted on the parent dir of PATH in the -following situations: -- the given dir exists but it is not bpffs. -- the given dir doesn't exist and the parent dir is not bpffs. - -Mounting on the parent dir can also have the unintentional side- -effect of hiding other files located under the parent dir. - -If the given dir exists but is not bpffs, then the bpffs should -be mounted on the given dir and not its parent dir. - -Similarly, if the given dir doesn't exist and its parent dir is not -bpffs, then the given dir should be created and the bpffs should be -mounted on this new dir. - -Fixes: 2a36c26fe3b8 ("bpftool: Support bpffs mountpoint as pin path for prog loadall") -Signed-off-by: Sahil Siddiq -Signed-off-by: Andrii Nakryiko -Link: https://lore.kernel.org/bpf/2da44d24-74ae-a564-1764-afccf395eeec@isovalent.com/T/#t -Link: https://lore.kernel.org/bpf/20240404192219.52373-1-icegambit91@gmail.com - -Closes: https://github.com/libbpf/bpftool/issues/100 - -Changes since v1: - - Split "mount_bpffs_for_pin" into two functions. - This is done to improve maintainability and readability. - -Changes since v2: -- mount_bpffs_for_pin: rename to "create_and_mount_bpffs_dir". -- mount_bpffs_given_file: rename to "mount_bpffs_given_file". -- create_and_mount_bpffs_dir: - - introduce "dir_exists" boolean. - - remove new dir if "mnt_fs" fails. -- improve error handling and error messages. - -Changes since v3: -- Rectify function name. -- Improve error messages and formatting. -- mount_bpffs_for_file: - - Check if dir exists before block_mount check. - -Changes since v4: -- Use strdup instead of strcpy. -- create_and_mount_bpffs_dir: - - Use S_IRWXU instead of 0700. -- Improve error handling and formatting. ---- - src/common.c | 96 ++++++++++++++++++++++++++++++++++++++++++------ - src/iter.c | 2 +- - src/main.h | 3 +- - src/prog.c | 5 ++- - src/struct_ops.c | 2 +- - 5 files changed, 92 insertions(+), 16 deletions(-) - -diff --git a/src/common.c b/src/common.c -index cc6e6aae..958e92ac 100644 ---- a/src/common.c -+++ b/src/common.c -@@ -244,29 +244,101 @@ int open_obj_pinned_any(const char *path, enum bpf_obj_type exp_type) - return fd; - } - --int mount_bpffs_for_pin(const char *name, bool is_dir) -+int create_and_mount_bpffs_dir(const char *dir_name) - { - char err_str[ERR_MAX_LEN]; -- char *file; -- char *dir; -+ bool dir_exists; - int err = 0; - -- if (is_dir && is_bpffs(name)) -+ if (is_bpffs(dir_name)) - return err; - -- file = malloc(strlen(name) + 1); -- if (!file) { -+ dir_exists = access(dir_name, F_OK) == 0; -+ -+ if (!dir_exists) { -+ char *temp_name; -+ char *parent_name; -+ -+ temp_name = strdup(dir_name); -+ if (!temp_name) { -+ p_err("mem alloc failed"); -+ return -1; -+ } -+ -+ parent_name = dirname(temp_name); -+ -+ if (is_bpffs(parent_name)) { -+ /* nothing to do if already mounted */ -+ free(temp_name); -+ return err; -+ } -+ -+ if (access(parent_name, F_OK) == -1) { -+ p_err("can't create dir '%s' to pin BPF object: parent dir '%s' doesn't exist", -+ dir_name, parent_name); -+ free(temp_name); -+ return -1; -+ } -+ -+ free(temp_name); -+ } -+ -+ if (block_mount) { -+ p_err("no BPF file system found, not mounting it due to --nomount option"); -+ return -1; -+ } -+ -+ if (!dir_exists) { -+ err = mkdir(dir_name, S_IRWXU); -+ if (err) { -+ p_err("failed to create dir '%s': %s", dir_name, strerror(errno)); -+ return err; -+ } -+ } -+ -+ err = mnt_fs(dir_name, "bpf", err_str, ERR_MAX_LEN); -+ if (err) { -+ err_str[ERR_MAX_LEN - 1] = '\0'; -+ p_err("can't mount BPF file system on given dir '%s': %s", -+ dir_name, err_str); -+ -+ if (!dir_exists) -+ rmdir(dir_name); -+ } -+ -+ return err; -+} -+ -+int mount_bpffs_for_file(const char *file_name) -+{ -+ char err_str[ERR_MAX_LEN]; -+ char *temp_name; -+ char *dir; -+ int err = 0; -+ -+ if (access(file_name, F_OK) != -1) { -+ p_err("can't pin BPF object: path '%s' already exists", file_name); -+ return -1; -+ } -+ -+ temp_name = strdup(file_name); -+ if (!temp_name) { - p_err("mem alloc failed"); - return -1; - } - -- strcpy(file, name); -- dir = dirname(file); -+ dir = dirname(temp_name); - - if (is_bpffs(dir)) - /* nothing to do if already mounted */ - goto out_free; - -+ if (access(dir, F_OK) == -1) { -+ p_err("can't pin BPF object: dir '%s' doesn't exist", dir); -+ err = -1; -+ goto out_free; -+ } -+ - if (block_mount) { - p_err("no BPF file system found, not mounting it due to --nomount option"); - err = -1; -@@ -276,12 +348,12 @@ int mount_bpffs_for_pin(const char *name, bool is_dir) - err = mnt_fs(dir, "bpf", err_str, ERR_MAX_LEN); - if (err) { - err_str[ERR_MAX_LEN - 1] = '\0'; -- p_err("can't mount BPF file system to pin the object (%s): %s", -- name, err_str); -+ p_err("can't mount BPF file system to pin the object '%s': %s", -+ file_name, err_str); - } - - out_free: -- free(file); -+ free(temp_name); - return err; - } - -@@ -289,7 +361,7 @@ int do_pin_fd(int fd, const char *name) - { - int err; - -- err = mount_bpffs_for_pin(name, false); -+ err = mount_bpffs_for_file(name); - if (err) - return err; - -diff --git a/src/iter.c b/src/iter.c -index 6b0e5202..5c39c2ed 100644 ---- a/src/iter.c -+++ b/src/iter.c -@@ -76,7 +76,7 @@ static int do_pin(int argc, char **argv) - goto close_obj; - } - -- err = mount_bpffs_for_pin(path, false); -+ err = mount_bpffs_for_file(path); - if (err) - goto close_link; - -diff --git a/src/main.h b/src/main.h -index b8bb08d1..9eb764fe 100644 ---- a/src/main.h -+++ b/src/main.h -@@ -142,7 +142,8 @@ const char *get_fd_type_name(enum bpf_obj_type type); - char *get_fdinfo(int fd, const char *key); - int open_obj_pinned(const char *path, bool quiet); - int open_obj_pinned_any(const char *path, enum bpf_obj_type exp_type); --int mount_bpffs_for_pin(const char *name, bool is_dir); -+int mount_bpffs_for_file(const char *file_name); -+int create_and_mount_bpffs_dir(const char *dir_name); - int do_pin_any(int argc, char **argv, int (*get_fd_by_id)(int *, char ***)); - int do_pin_fd(int fd, const char *name); - -diff --git a/src/prog.c b/src/prog.c -index 9cb42a33..4c4cf16a 100644 ---- a/src/prog.c -+++ b/src/prog.c -@@ -1778,7 +1778,10 @@ static int load_with_options(int argc, char **argv, bool first_prog_only) - goto err_close_obj; - } - -- err = mount_bpffs_for_pin(pinfile, !first_prog_only); -+ if (first_prog_only) -+ err = mount_bpffs_for_file(pinfile); -+ else -+ err = create_and_mount_bpffs_dir(pinfile); - if (err) - goto err_close_obj; - -diff --git a/src/struct_ops.c b/src/struct_ops.c -index d573f264..aa43dead 100644 ---- a/src/struct_ops.c -+++ b/src/struct_ops.c -@@ -515,7 +515,7 @@ static int do_register(int argc, char **argv) - if (argc == 1) - linkdir = GET_ARG(); - -- if (linkdir && mount_bpffs_for_pin(linkdir, true)) { -+ if (linkdir && create_and_mount_bpffs_dir(linkdir)) { - p_err("can't mount bpffs for pinning"); - return -1; - } diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-002-set-DESTDIR-to-empty-when-building-libbpf.patch b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-002-set-DESTDIR-to-empty-when-building-libbpf.patch deleted file mode 100644 index 2eb6e72d02..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-002-set-DESTDIR-to-empty-when-building-libbpf.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 06c61eccd3b8a6ff3df3e451a2a93058913124fc Mon Sep 17 00:00:00 2001 -From: jinzhiguang -Date: Sun, 7 Apr 2024 16:54:33 +0800 -Subject: [PATCH] mirror: Set DESTDIR to empty when building libbpf - -If a value is assigned to the variable DESTDIR when compiling bpftool, -this variable will be passed to libbpf's Makefile. - -In this case, libbpf's header files will be installed in an unexpected -directory, causing bpftool to be unable to find the header files. - -Signed-off-by: jinzhiguang ---- - src/Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/Makefile b/src/Makefile -index a3bc6a0..d48d22f 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -42,7 +42,7 @@ $(LIBBPF_OUTPUT) $(BOOTSTRAP_OUTPUT) $(LIBBPF_BOOTSTRAP_OUTPUT) $(LIBBPF_HDRS_DI - - $(LIBBPF): $(wildcard $(BPF_DIR)/*.[ch] $(BPF_DIR)/Makefile) | $(LIBBPF_OUTPUT) - $(Q)$(MAKE) -C $(BPF_DIR) OBJDIR=$(patsubst %/,%,$(LIBBPF_OUTPUT)) \ -- PREFIX=$(LIBBPF_DESTDIR:/=) $(LIBBPF) install_headers -+ DESTDIR="" PREFIX=$(LIBBPF_DESTDIR:/=) $(LIBBPF) install_headers - - $(LIBBPF_INTERNAL_HDRS): $(LIBBPF_HDRS_DIR)/%.h: $(BPF_DIR)/%.h | $(LIBBPF_HDRS_DIR) - $(call QUIET_INSTALL, $@) -@@ -50,7 +50,7 @@ $(LIBBPF_INTERNAL_HDRS): $(LIBBPF_HDRS_DIR)/%.h: $(BPF_DIR)/%.h | $(LIBBPF_HDRS_ - - $(LIBBPF_BOOTSTRAP): $(wildcard $(BPF_DIR)/*.[ch] $(BPF_DIR)/Makefile) | $(LIBBPF_BOOTSTRAP_OUTPUT) - $(Q)$(MAKE) -C $(BPF_DIR) OBJDIR=$(patsubst %/,%,$(LIBBPF_BOOTSTRAP_OUTPUT)) \ -- PREFIX=$(LIBBPF_BOOTSTRAP_DESTDIR:/=) \ -+ DESTDIR="" PREFIX=$(LIBBPF_BOOTSTRAP_DESTDIR:/=) \ - ARCH= CROSS_COMPILE= CC="$(HOSTCC)" LD="$(HOSTLD)" AR="$(HOSTAR)" $@ install_headers - - $(LIBBPF_BOOTSTRAP_INTERNAL_HDRS): $(LIBBPF_BOOTSTRAP_HDRS_DIR)/%.h: $(BPF_DIR)/%.h | $(LIBBPF_BOOTSTRAP_HDRS_DIR) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-003-fix-typo-in-usage-help.patch b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-003-fix-typo-in-usage-help.patch deleted file mode 100644 index fc488aca5b..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-003-fix-typo-in-usage-help.patch +++ /dev/null @@ -1,30 +0,0 @@ -From a44a93bb7ed0d8e62220b534df92ea2a678fb4b7 Mon Sep 17 00:00:00 2001 -From: Donald Hunter -Date: Wed, 17 Jul 2024 14:45:08 +0100 -Subject: [PATCH] bpftool: Fix typo in usage help - -The usage help for "bpftool prog help" contains a ° instead of the _ -symbol for cgroup/sendmsg_unix. Fix the typo. - -Fixes: 8b3cba987e6d ("bpftool: Add support for cgroup unix socket address hooks") -Signed-off-by: Donald Hunter -Signed-off-by: Daniel Borkmann -Acked-by: Quentin Monnet -Link: https://lore.kernel.org/bpf/20240717134508.77488-1-donald.hunter@gmail.com ---- - src/prog.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/prog.c b/src/prog.c -index 40ea743..2ff949e 100644 ---- a/src/prog.c -+++ b/src/prog.c -@@ -2489,7 +2489,7 @@ static int do_help(int argc, char **argv) - " cgroup/connect_unix | cgroup/getpeername4 | cgroup/getpeername6 |\n" - " cgroup/getpeername_unix | cgroup/getsockname4 | cgroup/getsockname6 |\n" - " cgroup/getsockname_unix | cgroup/sendmsg4 | cgroup/sendmsg6 |\n" -- " cgroup/sendmsg°unix | cgroup/recvmsg4 | cgroup/recvmsg6 | cgroup/recvmsg_unix |\n" -+ " cgroup/sendmsg_unix | cgroup/recvmsg4 | cgroup/recvmsg6 | cgroup/recvmsg_unix |\n" - " cgroup/getsockopt | cgroup/setsockopt | cgroup/sock_release |\n" - " struct_ops | fentry | fexit | freplace | sk_lookup }\n" - " ATTACH_TYPE := { sk_msg_verdict | sk_skb_verdict | sk_skb_stream_verdict |\n" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-004-fix-the-wrong-format-specifier.patch b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-004-fix-the-wrong-format-specifier.patch deleted file mode 100644 index 19dfa0c007..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-004-fix-the-wrong-format-specifier.patch +++ /dev/null @@ -1,38 +0,0 @@ -From cb035aad23cf92254d8d3c7631e5b642e6805bd1 Mon Sep 17 00:00:00 2001 -From: Zhu Jun -Date: Wed, 24 Jul 2024 04:11:20 -0700 -Subject: [PATCH] tools/bpf: Fix the wrong format specifier - -The format specifier of "unsigned int" in printf() should be "%u", not -"%d". - -Signed-off-by: Zhu Jun -Signed-off-by: Andrii Nakryiko -Acked-by: Quentin Monnet -Link: https://lore.kernel.org/bpf/20240724111120.11625-1-zhujun2@cmss.chinamobile.com ---- - src/xlated_dumper.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/xlated_dumper.c b/src/xlated_dumper.c -index 567f56d..d009434 100644 ---- a/src/xlated_dumper.c -+++ b/src/xlated_dumper.c -@@ -349,7 +349,7 @@ void dump_xlated_plain(struct dump_data *dd, void *buf, unsigned int len, - - double_insn = insn[i].code == (BPF_LD | BPF_IMM | BPF_DW); - -- printf("% 4d: ", i); -+ printf("%4u: ", i); - print_bpf_insn(&cbs, insn + i, true); - - if (opcodes) { -@@ -415,7 +415,7 @@ void dump_xlated_for_graph(struct dump_data *dd, void *buf_start, void *buf_end, - } - } - -- printf("%d: ", insn_off); -+ printf("%u: ", insn_off); - print_bpf_insn(&cbs, cur, true); - - if (opcodes) { diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-005-fix-undefined-behavior-caused-by-shifting-into-the-sign-bit.patch b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-005-fix-undefined-behavior-caused-by-shifting-into-the-sign-bit.patch deleted file mode 100644 index 90c3499ec0..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-005-fix-undefined-behavior-caused-by-shifting-into-the-sign-bit.patch +++ /dev/null @@ -1,47 +0,0 @@ -From a0f887bbdc525006f7662f4a83e240f2c46d3418 Mon Sep 17 00:00:00 2001 -From: Kuan-Wei Chiu -Date: Sun, 8 Sep 2024 22:00:09 +0800 -Subject: [PATCH] bpftool: Fix undefined behavior caused by shifting into the sign bit - -Replace shifts of '1' with '1U' in bitwise operations within -__show_dev_tc_bpf() to prevent undefined behavior caused by shifting -into the sign bit of a signed integer. By using '1U', the operations -are explicitly performed on unsigned integers, avoiding potential -integer overflow or sign-related issues. - -Signed-off-by: Kuan-Wei Chiu -Signed-off-by: Andrii Nakryiko -Acked-by: Quentin Monnet -Link: https://lore.kernel.org/bpf/20240908140009.3149781-1-visitorckw@gmail.com ---- - src/net.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/net.c b/src/net.c -index 2a51f1c..3c50fc6 100644 ---- a/src/net.c -+++ b/src/net.c -@@ -486,9 +486,9 @@ static void __show_dev_tc_bpf(const struct ip_devname_ifindex *dev, - if (prog_flags[i] || json_output) { - NET_START_ARRAY("prog_flags", "%s "); - for (j = 0; prog_flags[i] && j < 32; j++) { -- if (!(prog_flags[i] & (1 << j))) -+ if (!(prog_flags[i] & (1U << j))) - continue; -- NET_DUMP_UINT_ONLY(1 << j); -+ NET_DUMP_UINT_ONLY(1U << j); - } - NET_END_ARRAY(""); - } -@@ -497,9 +497,9 @@ static void __show_dev_tc_bpf(const struct ip_devname_ifindex *dev, - if (link_flags[i] || json_output) { - NET_START_ARRAY("link_flags", "%s "); - for (j = 0; link_flags[i] && j < 32; j++) { -- if (!(link_flags[i] & (1 << j))) -+ if (!(link_flags[i] & (1U << j))) - continue; -- NET_DUMP_UINT_ONLY(1 << j); -+ NET_DUMP_UINT_ONLY(1U << j); - } - NET_END_ARRAY(""); - } diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-006-fix-undefined-behavior-in-qsort.patch b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-006-fix-undefined-behavior-in-qsort.patch deleted file mode 100644 index 466258112b..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-006-fix-undefined-behavior-in-qsort.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 37e304df400c69347189449b38864705cc88b987 Mon Sep 17 00:00:00 2001 -From: Kuan-Wei Chiu -Date: Tue, 10 Sep 2024 23:02:07 +0800 -Subject: [PATCH] bpftool: Fix undefined behavior in qsort(NULL, 0, ...) - -When netfilter has no entry to display, qsort is called with -qsort(NULL, 0, ...). This results in undefined behavior, as UBSan -reports: - -net.c:827:2: runtime error: null pointer passed as argument 1, which is declared to never be null - -Although the C standard does not explicitly state whether calling qsort -with a NULL pointer when the size is 0 constitutes undefined behavior, -Section 7.1.4 of the C standard (Use of library functions) mentions: - -"Each of the following statements applies unless explicitly stated -otherwise in the detailed descriptions that follow: If an argument to a -function has an invalid value (such as a value outside the domain of -the function, or a pointer outside the address space of the program, or -a null pointer, or a pointer to non-modifiable storage when the -corresponding parameter is not const-qualified) or a type (after -promotion) not expected by a function with variable number of -arguments, the behavior is undefined." - -To avoid this, add an early return when nf_link_info is NULL to prevent -calling qsort with a NULL pointer. - -Signed-off-by: Kuan-Wei Chiu -Signed-off-by: Andrii Nakryiko -Reviewed-by: Quentin Monnet -Link: https://lore.kernel.org/bpf/20240910150207.3179306-1-visitorckw@gmail.com ---- - src/net.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/net.c b/src/net.c -index 3c50fc6..d2242d9 100644 ---- a/src/net.c -+++ b/src/net.c -@@ -880,6 +880,9 @@ static void show_link_netfilter(void) - nf_link_count++; - } - -+ if (!nf_link_info) -+ return; -+ - qsort(nf_link_info, nf_link_count, sizeof(*nf_link_info), netfilter_link_compar); - - for (id = 0; id < nf_link_count; id++) { diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-007-define-PACKAGE-at-build-time-when-trying-to-detect-libbfd.patch b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-007-define-PACKAGE-at-build-time-when-trying-to-detect-libbfd.patch deleted file mode 100644 index c88cbdf367..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-007-define-PACKAGE-at-build-time-when-trying-to-detect-libbfd.patch +++ /dev/null @@ -1,48 +0,0 @@ -From bf9e0609acb97d73a7ebf3e8910b0119cd943dfb Mon Sep 17 00:00:00 2001 -From: Quentin Monnet -Date: Mon, 14 Oct 2024 17:43:25 +0100 -Subject: [PATCH] mirror: Define PACKAGE at build time when trying to detect libbfd - -Feature detection from the Makefile.feature for libbfd (with the -different variants of the probe) may fail on some systems where the -bfd.h and dis-asm.h headers expect the PACKAGE or PACKAGE_VERSION macros -to be defined [0]. In the kernel tree, feature detection addresses it by -defining the PACKAGE macro when invoking the compiler [1]. Add a similar -definition for the mirror repository. - -Note that this issue has remained undetected for a while. This is -because the bfd.h included in some distributions (Debian/Ubuntu, for -example) does not contain the inclusion guard [2]. - -[0] https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=bfd/bfd-in.h;h=04e65aad5f0c235a5013513c545e57a01e96541f;hb=binutils-2_43_1#l27 -[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/build/feature/Makefile?h=v6.11#n114 -[2] https://git.launchpad.net/ubuntu/+source/binutils/tree/debian/rules?h=applied/2.43.1-5#n1031 - -Reported-by: Holger Hoffstätte -Signed-off-by: Quentin Monnet ---- - src/Makefile.feature | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/Makefile.feature b/src/Makefile.feature -index 131c67e..90f9e7c 100644 ---- a/src/Makefile.feature -+++ b/src/Makefile.feature -@@ -45,7 +45,7 @@ LIBBFD_PROBE += ' bfd_demangle(0, 0, 0);' - LIBBFD_PROBE += ' return 0;' - LIBBFD_PROBE += '}' - LIBBFD_PROBE_CMD = printf '%b\n' $(LIBBFD_PROBE) | \ -- $(CC) $(CFLAGS) -Wall -Werror -x c - $(1) -o /dev/null >/dev/null -+ $(CC) $(CFLAGS) -Wall -Werror -x c -DPACKAGE='"bpftool"' - $(1) -o /dev/null >/dev/null - - define libbfd_build - $(call detect,$(LIBBFD_PROBE_CMD)) -@@ -78,7 +78,7 @@ DISASSEMBLER_PROBE += ' return 0;' - DISASSEMBLER_PROBE += '}' - - DISASSEMBLER_PROBE_CMD = printf '%b\n' $(1) | \ -- $(CC) $(CFLAGS) -Wall -Werror -x c - -lbfd -lopcodes -S -o - >/dev/null -+ $(CC) $(CFLAGS) -Wall -Werror -x c -DPACKAGE='"bpftool"' - -lbfd -lopcodes -S -o - >/dev/null - define disassembler_build - $(call detect,$(DISASSEMBLER_PROBE_CMD)) - endef diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-008-always-disable-unused-CLI-arguments-warning-for-feature-probe.patch b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-008-always-disable-unused-CLI-arguments-warning-for-feature-probe.patch deleted file mode 100644 index 399b824ce0..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-008-always-disable-unused-CLI-arguments-warning-for-feature-probe.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 3be8ac358900c5f57028b2b6501407a14167a9bb Mon Sep 17 00:00:00 2001 -From: Quentin Monnet -Date: Thu, 17 Oct 2024 11:22:14 +0100 -Subject: [PATCH] mirror: Always disable unused CLI arguments warning for feature probe - -In commit 8a2d7d510ccd ("mirror: Fix features detection for building -with clang") we prevented clang to error out when encountering unused -command-line arguments in the feature probes, because we do add unused -arguments for some of the probes when retrieving arguments from -llvm-config, and we don't want probes to fail because of that. - -At the time, the issue was apparent for the LLVM-based disassembler, so -we added -Wno-unused-command-line-argument when $(LLVM) was enabled, -only. We missed the case when we're building bpftool with clang instead -of gcc, without building the LLVM disassembler. Let's disable the -warning unconditionally instead to fix this case. - -Reported-by: Holger Hoffstätte -Signed-off-by: Quentin Monnet ---- - src/Makefile.feature | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/src/Makefile.feature b/src/Makefile.feature -index 90f9e7c..b08e7b9 100644 ---- a/src/Makefile.feature -+++ b/src/Makefile.feature -@@ -4,9 +4,7 @@ pound := \# - - CFLAGS_BACKUP := $(CFLAGS) - CFLAGS := $(EXTRA_CFLAGS) --ifneq ($(LLVM),) -- CFLAGS += -Wno-unused-command-line-argument --endif -+CFLAGS += -Wno-unused-command-line-argument - - ifeq ($(V),1) - LOG=$(warning $(1)) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.5.0-setting-error-code-in-do_loader.patch b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.5.0-setting-error-code-in-do_loader.patch new file mode 100644 index 0000000000..8b77603e13 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.5.0-setting-error-code-in-do_loader.patch @@ -0,0 +1,45 @@ +Patch from: https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=02a4694107b4c830d4bd6d194e98b3ac0bc86f29 +Adapted patch prefix to match the GH mirror sources. + +From 91588da58ed38e4ec870d479ab2d9467288893d2 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 11 Mar 2025 12:12:37 +0900 +Subject: bpf: bpftool: Setting error code in do_loader() + +From: Sewon Nam + +[ Upstream commit 02a4694107b4c830d4bd6d194e98b3ac0bc86f29 ] + +We are missing setting error code in do_loader() when +bpf_object__open_file() fails. This means the command's exit status code +will be successful, even though the operation failed. So make sure to +return the correct error code. To maintain consistency with other +locations where bpf_object__open_file() is called, return -1. + + [0] Closes: https://github.com/libbpf/bpftool/issues/156 + +Reported-by: Dan Carpenter +Signed-off-by: Sewon Nam +Signed-off-by: Andrii Nakryiko +Tested-by: Quentin Monnet +Reviewed-by: Quentin Monnet +Link: https://lore.kernel.org/bpf/d3b5b4b4-19bb-4619-b4dd-86c958c4a367@stanley.mountain/t/#u +Link: https://lore.kernel.org/bpf/20250311031238.14865-1-swnam0729@gmail.com +Signed-off-by: Alexei Starovoitov +Signed-off-by: Sasha Levin +--- + tools/bpf/bpftool/prog.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tools/bpf/bpftool/prog.c b/tools/bpf/bpftool/prog.c +index e71be67f1d865..52ffb74ae4e89 100644 +--- a/src/prog.c ++++ b/src/prog.c +@@ -1928,6 +1928,7 @@ static int do_loader(int argc, char **argv) + + obj = bpf_object__open_file(file, &open_opts); + if (!obj) { ++ err = -1; + p_err("failed to open object file"); + goto err_close_obj; + } diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.3.ebuild index 0eb955fb06..ea3a44b9af 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.3.ebuild @@ -9,7 +9,7 @@ SRC_URI="mirror://gnu/gperf/${P}.tar.gz" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" src_prepare() { default diff --git a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.8.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.8.3.ebuild index 340429ab71..217958cd89 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.8.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.8.3.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} ) +PYTHON_COMPAT=( pypy3_11 python3_{11..13} ) RUST_MIN_VER=1.75.0 inherit cargo distutils-r1 flag-o-matic shell-completion toolchain-funcs @@ -28,20 +28,15 @@ KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE="doc +ssl test" RESTRICT="!test? ( test )" -TOMLI_DEPEND="$(python_gen_cond_dep 'dev-python/tomli[${PYTHON_USEDEP}]' 3.10)" DEPEND=" app-arch/xz-utils ssl? ( dev-libs/openssl:= ) " -RDEPEND=" - ${DEPEND} - ${TOMLI_DEPEND} -" +RDEPEND="${DEPEND}" BDEPEND=" virtual/pkgconfig doc? ( app-text/mdbook ) test? ( - ${TOMLI_DEPEND} $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*') dev-python/boltons[${PYTHON_USEDEP}] dev-python/virtualenv[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.14.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.14.ebuild index 99e4b1b918..58aa1617e7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.14.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.14.ebuild @@ -34,7 +34,7 @@ S="${S_K}/tools/perf" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 ~arm arm64 ~loong ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux" IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 babeltrace capstone big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl +python +slang systemtap tcmalloc unwind" REQUIRED_USE=" @@ -49,6 +49,7 @@ BDEPEND=" dev-python/setuptools[${PYTHON_USEDEP}] app-alternatives/yacc app-alternatives/lex + sys-apps/which virtual/pkgconfig doc? ( app-text/asciidoc diff --git a/sdk_container/src/third_party/portage-stable/eclass/distutils-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/distutils-r1.eclass index 02fe41aa38..880e33cd74 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/distutils-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/distutils-r1.eclass @@ -1717,7 +1717,6 @@ distutils-r1_python_install() { # python likes to compile any module it sees, which triggers sandbox # failures if some packages haven't compiled their modules yet. addpredict "${EPREFIX}/usr/lib/${EPYTHON}" - addpredict "${EPREFIX}/usr/lib/pypy3.10" addpredict "${EPREFIX}/usr/local" # bug 498232 if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then diff --git a/sdk_container/src/third_party/portage-stable/eclass/python-utils-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/python-utils-r1.eclass index 458c0b0b23..ef05a58e1b 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/python-utils-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/python-utils-r1.eclass @@ -39,9 +39,9 @@ inherit multiprocessing toolchain-funcs # @DESCRIPTION: # All supported Python implementations, most preferred last. _PYTHON_ALL_IMPLS=( - pypy3 pypy3_11 + pypy3_11 python3_13t - python3_{10..13} + python3_{11..13} ) readonly _PYTHON_ALL_IMPLS @@ -51,9 +51,9 @@ readonly _PYTHON_ALL_IMPLS # All historical Python implementations that are no longer supported. _PYTHON_HISTORICAL_IMPLS=( jython2_7 - pypy pypy1_{8,9} pypy2_0 + pypy pypy1_{8,9} pypy2_0 pypy3 python2_{5..7} - python3_{1..9} + python3_{1..10} ) readonly _PYTHON_HISTORICAL_IMPLS @@ -137,9 +137,9 @@ _python_set_impls() { # please keep them in sync with _PYTHON_ALL_IMPLS # and _PYTHON_HISTORICAL_IMPLS case ${i} in - pypy3|pypy3_11|python3_9|python3_1[0-3]|python3_13t) + pypy3_11|python3_9|python3_1[1-3]|python3_13t) ;; - jython2_7|pypy|pypy1_[89]|pypy2_0|python2_[5-7]|python3_[1-9]) + jython2_7|pypy|pypy1_[89]|pypy2_0|pypy3|python2_[5-7]|python3_[1-9]|python3_10) obsolete+=( "${i}" ) ;; *) @@ -208,6 +208,8 @@ _python_impl_matches() { local impl=${1/./_} pattern shift + # note: do not add "return 1" below, the function is supposed + # to iterate until it matches something for pattern; do case ${pattern} in -2|python2*|pypy) @@ -229,8 +231,6 @@ _python_impl_matches() { return 0 ;; 3.10) - [[ ${impl} == python${pattern/./_} || ${impl} == pypy3 ]] && - return 0 ;; 3.8|3.9|3.1[1-3]) [[ ${impl%t} == python${pattern/./_} || ${impl} == pypy${pattern/./_} ]] && @@ -449,9 +449,6 @@ _python_export() { python*) PYTHON_PKG_DEP="dev-lang/python:${impl#python}${PYTHON_REQ_USE:+[${PYTHON_REQ_USE}]}" ;; - pypy3) - PYTHON_PKG_DEP="dev-lang/pypy:3.10=[symlink${PYTHON_REQ_USE:+,${PYTHON_REQ_USE}}]" - ;; pypy3.*) PYTHON_PKG_DEP="dev-lang/pypy:${impl#pypy}=${PYTHON_REQ_USE:+[${PYTHON_REQ_USE}]}" ;; diff --git a/sdk_container/src/third_party/portage-stable/licenses/Unicode-DFS-2016 b/sdk_container/src/third_party/portage-stable/licenses/Unicode-DFS-2016 index eca277f05e..d41e7a7d6f 100644 --- a/sdk_container/src/third_party/portage-stable/licenses/Unicode-DFS-2016 +++ b/sdk_container/src/third_party/portage-stable/licenses/Unicode-DFS-2016 @@ -1,56 +1,60 @@ UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE -See Terms of Use for definitions of Unicode Inc.'s Data Files and Software. - Unicode Data Files include all data files under the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/, -http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, -http://www.unicode.org/ivd/data/, and -http://www.unicode.org/utility/trac/browser/. - -Unicode Data Files do not include PDF online code charts under the directory -http://www.unicode.org/Public/. - -Software includes any source code published in the Unicode Standard or under -the directories http://www.unicode.org/Public/, -http://www.unicode.org/reports/, http://www.unicode.org/cldr/data/, +http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and http://www.unicode.org/utility/trac/browser/. -NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING, -INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA -FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO -BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT -AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR -SOFTWARE. +Unicode Data Files do not include PDF online code charts under the +directory http://www.unicode.org/Public/. + +Software includes any source code published in the Unicode Standard +or under the directories +http://www.unicode.org/Public/, http://www.unicode.org/reports/, +http://www.unicode.org/cldr/data/, +http://source.icu-project.org/repos/icu/, and +http://www.unicode.org/utility/trac/browser/. + +NOTICE TO USER: Carefully read the following legal agreement. +BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S +DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), +YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE +TERMS AND CONDITIONS OF THIS AGREEMENT. +IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE +THE DATA FILES OR SOFTWARE. COPYRIGHT AND PERMISSION NOTICE -Copyright © 1991-2016 Unicode, Inc. All rights reserved. Distributed under the -Terms of Use in http://www.unicode.org/copyright.html. +Copyright © 1991-2016 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in +http://www.unicode.org/copyright.html. -Permission is hereby granted, free of charge, to any person obtaining a copy -of the Unicode data files and any associated documentation (the "Data Files") -or Unicode software and any associated documentation (the "Software") to deal -in the Data Files or Software without restriction, including without -limitation the rights to use, copy, modify, merge, publish, distribute, and/or -sell copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. - * (a) this copyright and permission notice appear with all copies of the Data Files or Software, or - * (b) this copyright and permission notice appear in associated Documentation. +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD -PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN -THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR -PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS -ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE -DATA FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall not -be used in advertising or otherwise to promote the sale, use or other dealings -in these Data Files or Software without prior written authorization of the -copyright holder. +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. diff --git a/sdk_container/src/third_party/portage-stable/media-libs/libpng/Manifest b/sdk_container/src/third_party/portage-stable/media-libs/libpng/Manifest index 4a29aea5ae..8079a83940 100644 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/Manifest +++ b/sdk_container/src/third_party/portage-stable/media-libs/libpng/Manifest @@ -4,3 +4,4 @@ DIST libpng-1.6.46-apng-apng.patch.gz 10266 BLAKE2B 51d04187fa631fcc388fafa86683 DIST libpng-1.6.46.tar.xz 1054296 BLAKE2B 0cc4e4ca0a9394e1ee2778065ef03859854062103609c9356709a9540b8953a6198b5c44a5a05ae97d8f0e6035a171ab1797627f6523805cedf3f985960752c3 SHA512 80c4cb644e11d39533344e017faf61700fdfbf758531b1a9ffbeb0a2f8540d9ed373f4adab590ae994f5a17f7fd6eff8dac16ebfcc2a0c31e899fd63ae1e4c1e DIST libpng-1.6.47-libpng-apng-apng.patch.gz 10697 BLAKE2B eadf410ea5ef073e444dd1158dfdb80900a594fb1cc41edfd1c63524bdd92195d10a9e0d0fbe1bf729a5df2970994d5617e56d85c861d0b845a815fdec3c4200 SHA512 5ea0e661f83a1966791eef3479ad7496787d3bc9eb6911475384da1c027444b1158bdb0f169d400ee9e1444c93e2bf435a4d8eb411901dd8e839b059baf9f38d DIST libpng-1.6.47.tar.xz 1054664 BLAKE2B 3dafe005931cd5b7709278f8d1961250c1d80ade4e73b568a211b409e7cac44f42692c6501851620ccd549d5c466b697dc6bbecf56e969e00b54c22a7cde0d72 SHA512 932578dedd7916e2c502d8d11eef845e15733e84062510ba246b027d5467efe786725ff3dd22b9a33ff6a052c8dab3da3b45cb737a00caed43b6598c2bd8122b +DIST libpng-1.6.48.tar.xz 1054968 BLAKE2B 2aec3b237d8cf2109186518a1604d9d10e0ef6739730988e01b91f20d48dcd736a293d3c96bed719807778a68273d1bf5cc2467fc19852dbfffd39295fcbf515 SHA512 aae6cdd7d55d78aea820165493e31ea7c0de8b2272b709d334dfe7bac96e24099330f0e9049062fde34b6ea926af50987c390dab1b91bdfe3586b2ee4aed8b33 diff --git a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.48.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.48.ebuild new file mode 100644 index 0000000000..fd9fc70c28 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.48.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit libtool multilib-minimal + +APNG_REPO=libpng-apng # sometimes libpng-apng is more up to date +APNG_VERSION="1.6.47" +DESCRIPTION="Portable Network Graphics library" +HOMEPAGE="http://www.libpng.org/" +SRC_URI=" + https://downloads.sourceforge.net/${PN}/${P}.tar.xz + apng? ( + https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PV}/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz + https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz + ) +" + +LICENSE="libpng2" +SLOT="0/16" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="apng cpu_flags_x86_sse static-libs test" +RESTRICT="!test? ( test )" + +RDEPEND=">=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" + +DOCS=( ANNOUNCE CHANGES libpng-manual.txt README TODO ) + +src_prepare() { + default + + if use apng; then + case ${APNG_REPO} in + apng) + eapply -p0 "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch + ;; + libpng-apng) + eapply "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch + ;; + *) + die "Unknown APNG_REPO!" + ;; + esac + + # Don't execute symbols check with apng patch, bug #378111 + sed -i -e '/^check/s:scripts/symbols.chk::' Makefile.in || die + fi + + elibtoolize +} + +multilib_src_configure() { + local myeconfargs=( + $(multilib_native_enable tools) + $(use_enable test tests) + $(use_enable cpu_flags_x86_sse intel-sse) + $(use_enable static-libs static) + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install_all() { + default + + find "${ED}" \( -type f -o -type l \) -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.31-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.31-r1.ebuild index 8d0a0b08e6..d4b6c103bb 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.31-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.31-r1.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}/${PN}-${MY_PV}" LICENSE="MPL-2.0" SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" IUSE="+caps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs test xml" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/net-dns/libidn2/libidn2-2.3.8.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/libidn2/libidn2-2.3.8.ebuild index 13a009baf9..8acc1641e9 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/libidn2/libidn2-2.3.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dns/libidn2/libidn2-2.3.8.ebuild @@ -18,7 +18,7 @@ S="${WORKDIR}"/${P/a/} LICENSE="|| ( GPL-2+ LGPL-3+ ) GPL-3+ unicode" SLOT="0/2" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="nls static-libs" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-firewall/nftables/nftables-1.1.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-firewall/nftables/nftables-1.1.1-r1.ebuild index 14a775b021..339c354ab8 100644 --- a/sdk_container/src/third_party/portage-stable/net-firewall/nftables/nftables-1.1.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-firewall/nftables/nftables-1.1.1-r1.ebuild @@ -21,7 +21,7 @@ else https://netfilter.org/projects/nftables/files/${P}.tar.xz verify-sig? ( https://netfilter.org/projects/nftables/files/${P}.tar.xz.sig ) " - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-netfilter )" fi diff --git a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.20.7.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.20.7.ebuild index ba5c0cd3c8..6e10e7221e 100644 --- a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.20.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.20.7.ebuild @@ -16,7 +16,7 @@ if [[ ${PV} == *_rc* ]]; then SRC_URI="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz" else SRC_URI="https://download.samba.org/pub/samba/stable/${MY_P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86" fi S="${WORKDIR}/${MY_P}" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/curl/Manifest index 057cbaa94d..6f6b67b13a 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/Manifest @@ -2,3 +2,5 @@ DIST curl-8.12.1.tar.xz 2768160 BLAKE2B 2b3e3d91041881c0951ad470736266105d3b9720 DIST curl-8.12.1.tar.xz.asc 488 BLAKE2B 2a6563609c9f7ada84ca2c7048ad9406809eef4cc958760d2ab3d1b7be58d26247e579bd025870609e80ebb00295026aae30614b84e3a81bdf3ed3dbd0f5ed70 SHA512 41fc5582935090d13940d86974fdea3ea901dd5dab156c16029a87f811d2535172c59dc8dc366f2ffc37bcf85accbecb5aa765bc7b83c2991a3ef402bf25af69 DIST curl-8.13.0.tar.xz 2773628 BLAKE2B 6869634ad50f015d5c7526699034d5a3f27d9588bc32eacc8080dbd6c690f63b1f25cee40d3fdf8fd9dd8535c305ea9c5edf1d5a02bc6d9ce60fd8c88230aca0 SHA512 d266e460f162ee455b56726e5b7247b2d1aa5265ae12081513fc0c5c79e785a594097bc71d505dc9bcd2c2f6f1ff6f4bab9dbd9d120bb76d06c5be8521a8ca7d DIST curl-8.13.0.tar.xz.asc 488 BLAKE2B bd568ec32a44ef7c14c38e4830bcc7711dac726e950325292f1e5de76e619839685300c5afac32330127324327e71ce0d6e574f6e95bcc4a48957345152bc86a SHA512 07f79c7fd7c305c96e10a5f52797254aed7d2a1f3577c8626b8d617855ceb82634ac6787bfa0b7130a4ed72c3a9945d3c9ba5b7be54df8bafa07ded1c62ef2be +DIST curl-8.14.0-rc1.tar.xz 2807988 BLAKE2B 026f0706c23cf865cbcbb36159a1b5a65759534591675f87be06378c652e9c0b6a8c91d4fa78f7889152293a50621521af8431c7f3aecfedac26743368485f29 SHA512 e9bd9e5c95580ee04171de937ff852c30b4606ef28a0250c1fdd231d7155089d3591e0dbed1f10280c9868b66329c1c9badf9a0e15e3e2721ab103627e92caa3 +DIST curl-8.14.0-rc1.tar.xz.asc 488 BLAKE2B b44bbb1a9e769d64f17a7bca00e54468e3d2e915566431358fd3b764767afb29f64510c718fccbed7ea15b94c7575c3efb161d16fe17fe113851a0e4bbf16b1f SHA512 f02e0fd84bffcbe31fa6ccdba41729be86404241c177087500d4d992278d217ea55d73a9bc260b601ddeef70738e45b799a2bd49c68db05adfe8c127434f5708 diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.13.0.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.14.0_rc1.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.13.0.ebuild rename to sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.14.0_rc1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1.ebuild index 0267e4ccbf..ea4f6fc4ee 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1.ebuild @@ -27,7 +27,7 @@ else SRC_DIR="src-previews" else SRC_DIR="src" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~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 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 36d46e5762..d05c128269 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,14 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Andreas Sturmlechner (2025-05-03) +# dev-qt/qtbase:6 is not keyworded here +media-libs/openal gui + +# NRK (2025-04-07) +# media-libs/libyuv is not keyworded +media-libs/imlib2 y4m + # Cristian Othón Martínez Vera (2025-04-09) # dev-db/tinycdb is not keyworded here mail-mta/sendmail tinycdb @@ -315,10 +323,6 @@ dev-util/ragel doc # Dependency not keyworded on this arch. app-text/enchant voikko -# Michał Górny (2020-11-30) -# Qt5 is not keyworded here. -x11-misc/synergy gui - # Andreas Sturmlechner (2020-11-12) # media-sound/lash not keyworded, bug #736725 media-sound/fluidsynth lash 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 b820d06224..35c81ed907 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 @@ -148,5 +148,4 @@ gnustep-base/gnustep-make libobjc2 # Michał Górny (2014-03-30) # Don't apply stable masks to python-exec since we're forcing every # impl there anyway. Please keep this in sync with use.stable.mask. -dev-lang/python-exec -python_targets_pypy3 dev-lang/python-exec -python_targets_pypy3_11 diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/use.mask index d4ed8ec4f0..6fa65aba43 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/use.mask @@ -79,8 +79,6 @@ # Michał Górny (2014-03-30) # PyPy is keyworded on this arch. --python_targets_pypy3 --python_single_target_pypy3 -python_targets_pypy3_11 -python_single_target_pypy3_11 @@ -148,6 +146,9 @@ -video_cards_vmware -video_cards_qxl +# unmask video_cards with virtgpu DRM native-context support +-video_cards_asahi + # Simon Stelling (2007-02-16) # Since this profile forces >=portage-2.1.2, we can unmask all # SIMD assembler flags diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/use.stable.mask index 71ed679097..ab8fa42f22 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/use.stable.mask @@ -18,7 +18,5 @@ cuda # Michał Górny (2014-03-30) # PyPy is unstable on this arch. -python_targets_pypy3 -python_single_target_pypy3 python_targets_pypy3_11 python_single_target_pypy3_11 diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/use.mask index 190bbb1cdd..a7f97c8840 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/use.mask @@ -7,7 +7,6 @@ # Sam James (2024-06-13) # Needs as-yet-unkeyworded KF6 (bug #934215) kde -kf6compat # Andreas Sturmlechner (2023-02-06) # Successful build of dev-qt/qtwebengine depends on 64-bit host 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 bb0f0109e0..04df736913 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,6 +1,14 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfredo Tupone (2025-05-03) +# dependencies not arm64 ready +sci-ml/caffe2 distributed gloo fbgemm nnpack onednn qnnpack rocm xnnpack + +# Sam James (2025-04-30) +# 32-bit only (bug #951981). +dev-cpp/highway cpu_flags_arm_neon + # Ionen Wolkens (2025-04-21) # These are not currently supported on arm64. Porting wine-gecko and # wine-mono is on Wine's TODO[1], mingw64-toolchain lacks ebuild 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 20224a43b8..f3a5ec6f6a 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 @@ -56,7 +56,6 @@ sys-cluster/openmpi openmpi_rm_pbs # Michał Górny (2021-12-31) # Don't apply stable masks to python-exec since we're forcing every # impl there anyway. Please keep this in sync with use.stable.mask. -dev-lang/python-exec -python_targets_pypy3 dev-lang/python-exec -python_targets_pypy3_11 # Sam James (2021-10-25) 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 61cb06d619..eb3669e0a1 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 @@ -53,8 +53,6 @@ # Sam James (2020-10-08) # PyPy3 works on arm64 --python_targets_pypy3 --python_single_target_pypy3 -python_targets_pypy3_11 -python_single_target_pypy3_11 @@ -123,6 +121,7 @@ snapcast # Unmask ARM-only video-cards -video_cards_amdgpu +-video_cards_asahi -video_cards_d3d12 -video_cards_exynos -video_cards_freedreno diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/use.stable.mask index b763434dcb..56c4ef7681 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/use.stable.mask @@ -20,8 +20,6 @@ nvenc # Sam James (2020-10-08) # Not enough packages stable w/ PyPy3 support -python_targets_pypy3 -python_single_target_pypy3 python_targets_pypy3_11 python_single_target_pypy3_11 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 0d2adf2fed..ddacbeecd8 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 @@ -279,6 +279,10 @@ dev-util/diffoscope haskell # gui-libs/egl-wayland with nvidia-drivers is only usable on some arches. x11-wm/mutter video_cards_nvidia +# dev-util/mesa_clc with video_cards_{asahi,panfrost} is required to +# cross-compile dev-libs/mesa with video_cards_{asahi,panfrost} +dev-util/mesa_clc -video_cards_asahi -video_cards_panfrost + # Michael Orlitzky (2021-03-27) # The clozurecl and clozurecl64 flags are now arch-specific in maxima, # so we mask them both by default beginning with v5.44.0-r5 where diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/base/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/base/use.mask index 864930eb31..4dd8214f5b 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/base/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/base/use.mask @@ -207,6 +207,11 @@ video_cards_vivante # linux-only drivers video_cards_qxl +# drivers with virtgpu DRM native-context support +# these could be unmasked on all architectures with qemu system target but +# unmasking only tested and actually used ones is a sane default. +video_cards_asahi + # not needed on non-x86, non-amd64, non-ppc systems input_devices_synaptics input_devices_wacom @@ -232,8 +237,6 @@ orc # Mike Gilbert (2013-01-02) # PyPy is unkeyworded on most arches. If you are running amd64 or x86, # please switch to one of the testing 13.0 profiles to get it. -python_targets_pypy3 -python_single_target_pypy3 python_targets_pypy3_11 python_single_target_pypy3_11 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 9503e6ceae..4dfdb4b3e5 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,10 @@ # Copyright 2022-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# NRK (2025-04-07) +# media-libs/libyuv is not keyworded +media-libs/imlib2 y4m + # Sam James (2025-03-19) # media-libs/libebur128 not keyworded here media-video/pipewire loudness 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 352fd1a128..6548bfae8d 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,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# NRK (2025-04-07) +# media-libs/libyuv is not keyworded +media-libs/imlib2 y4m + # Z. Liu (2025-02-28) # requires sys-libs/db:5.3 dev-lisp/clisp berkdb @@ -324,9 +328,10 @@ dev-libs/libgudev test dev-python/diskcache test # Sam James (2021-02-06) +# dev-qt/qtbase:6 is not keyworded here # media-sound/sndio is not yet keyworded here # bug #769098, bug #769122 -media-libs/openal sndio +media-libs/openal gui sndio # Sam James (2021-01-19) # Joonas Niilola (2021-01-10) diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.mask index b308ba8610..ee32364f99 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.mask @@ -12,7 +12,6 @@ sci-mathematics/gmp-ecm custom-tune # Michał Górny (2021-12-31) # Don't apply stable masks to python-exec since we're forcing every # impl there anyway. Please keep this in sync with use.stable.mask. -dev-lang/python-exec -python_targets_pypy3 dev-lang/python-exec -python_targets_pypy3_11 # Georgy Yakovlev (2021-11-13) diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/use.mask index a47bbf97aa..2b94493dde 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/use.mask @@ -10,8 +10,6 @@ # Michał Górny (2021-12-31) # PyPy3 is keyworded here. --python_targets_pypy3 --python_single_target_pypy3 -python_targets_pypy3_11 -python_single_target_pypy3_11 diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/use.stable.mask index caf3db2d4d..80c74af562 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/use.stable.mask @@ -3,8 +3,6 @@ # Michał Górny (2021-12-31) # PyPy3 target is not ready for stable. -python_targets_pypy3 -python_single_target_pypy3 python_targets_pypy3_11 python_single_target_pypy3_11 diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/package.use.mask index 03cb0f4e0d..d922089bad 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/package.use.mask @@ -13,7 +13,6 @@ app-portage/nattka -depgraph-order # Michał Górny (2021-12-31) # Don't apply stable masks to python-exec since we're forcing every # impl there anyway. Please keep this in sync with use.stable.mask. -dev-lang/python-exec -python_targets_pypy3 dev-lang/python-exec -python_targets_pypy3_11 # Georgy Yakovlev (2021-07-27) diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/use.mask index 4f8e09aeb7..b405a2be3b 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/use.mask @@ -3,8 +3,6 @@ # Michał Górny (2021-12-31) # PyPy3 is keyworded here. --python_targets_pypy3 --python_single_target_pypy3 -python_targets_pypy3_11 -python_single_target_pypy3_11 diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/use.stable.mask index 22283f4ce6..eb000ce9a1 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/use.stable.mask @@ -3,8 +3,6 @@ # Michał Górny (2021-12-31) # PyPy3 target is not ready for stable. -python_targets_pypy3 -python_single_target_pypy3 python_targets_pypy3_11 python_single_target_pypy3_11 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 2511204a0b..479b422cd4 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,14 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfredo Tupone (2025-05-03) +# dependencies not yet keyworded +sci-ml/caffe2 distributed gloo fbgemm nnpack onednn qnnpack rocm xnnpack + +# NRK (2025-04-07) +# media-libs/libyuv is not keyworded +media-libs/imlib2 y4m + # Cristian Othón Martínez Vera (2025-04-09) # dev-db/tinycdb is not keyworded here mail-mta/sendmail tinycdb @@ -77,7 +85,6 @@ lxqt-base/lxqt-meta desktop-portal # Michał Górny (2021-12-31) # Don't apply stable masks to python-exec since we're forcing every # impl there anyway. Please keep this in sync with use.stable.mask. -dev-lang/python-exec -python_targets_pypy3 dev-lang/python-exec -python_targets_pypy3_11 # Sam James (2021-10-17) diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/use.mask index b0cda24f6e..ec7dc62380 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/use.mask @@ -12,8 +12,6 @@ osl # Michał Górny (2021-12-31) # PyPy3 is keyworded here. --python_targets_pypy3 --python_single_target_pypy3 -python_targets_pypy3_11 -python_single_target_pypy3_11 diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/use.stable.mask index df498820ad..1e7699edcd 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/use.stable.mask @@ -10,8 +10,6 @@ php_targets_php8-2 # Michał Górny (2021-12-31) # PyPy3 target is not ready for stable. -python_targets_pypy3 -python_single_target_pypy3 python_targets_pypy3_11 python_single_target_pypy3_11 diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask index 09825f47f4..7261f06357 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask @@ -1,6 +1,10 @@ # Copyright 2023-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# NRK (2025-04-07) +# media-libs/libyuv is not keyworded +media-libs/imlib2 y4m + # NRK (2025-03-17) # media-libs/libavif is not keyworded media-libs/imlib2 avif 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 389d46a44b..d90c82d39c 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-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# NRK (2025-04-07) +# media-libs/libyuv is not keyworded +media-libs/imlib2 y4m + # Cristian Othón Martínez Vera (2025-04-09) # dev-db/tinycdb is not keyworded here mail-mta/sendmail tinycdb diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use index 5b7f49cabf..1dcb210c88 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use @@ -1,6 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Andreas Sturmlechner (2025-04-28) +# Sensical or not, both alternatives (qt5, qt6) are masked here. +x11-themes/qtcurve gtk X + # Michał Górny (2016-09-24) # Enable the GPU targets matching the default VIDEO_CARDS dev-ml/llvm llvm_targets_AMDGPU 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 0d70fa8419..c15c38aff3 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,14 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Andreas Sturmlechner (2025-05-03) +# dev-qt/qtbase:6 is not keyworded here +media-libs/openal gui + +# NRK (2025-04-07) +# media-libs/libyuv is not keyworded +media-libs/imlib2 y4m + # Sam James (2025-04-13) # Fails to build app-editors/emacs[jit] and has many test failures in the # libgccjit testsuite: bug #953775 (https://gcc.gnu.org/PR119767). diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.force b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.force index 7e0f7b0c35..2f9d4dcdcc 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.force +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.force @@ -1,6 +1,14 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Ionen Wolkens (2025-05-04) +# Fails to build with .incbin errors only on x86, believed to be +# a clang bug (only used by ebuilds using wine.eclass). Please +# report if it works again (bug #955405). +>=app-emulation/wine-proton-9 mingw +>=app-emulation/wine-staging-9 mingw +>=app-emulation/wine-vanilla-9 mingw + # Joonas Niilola (2023-03-16) # Fails with -jit, #901463. >=dev-lang/spidermonkey-102.6.0 jit 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 7b1bf505d5..300698c17a 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 @@ -158,5 +158,4 @@ dev-cpp/eigen test # Michał Górny (2014-03-30) # Don't apply stable masks to python-exec since we're forcing every # impl there anyway. Please keep this in sync with use.stable.mask. -dev-lang/python-exec -python_targets_pypy3 dev-lang/python-exec -python_targets_pypy3_11 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 0da67bc700..370f048645 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 @@ -66,8 +66,6 @@ webengine # Michał Górny (2014-03-30) # PyPy is keyworded on this arch. --python_targets_pypy3 --python_single_target_pypy3 -python_targets_pypy3_11 -python_single_target_pypy3_11 diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/use.stable.mask index f791b36944..1fd0fa672f 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/use.stable.mask @@ -29,7 +29,5 @@ mkl # Michał Górny (2014-03-30) # PyPy is unstable on this arch. -python_targets_pypy3 -python_single_target_pypy3 python_targets_pypy3_11 python_single_target_pypy3_11 diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/base/make.defaults index c66fee8f68..ec64a3897a 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/make.defaults +++ b/sdk_container/src/third_party/portage-stable/profiles/base/make.defaults @@ -123,12 +123,12 @@ PYTHONDONTWRITEBYTECODE="1" # This MUST be kept in sync with the PYTHON_TARGETS below # Mike Gilbert (2018-05-23) # sys-apps/baselayout-2.5 needs split-usr enabled. -BOOTSTRAP_USE="unicode pkg-config split-usr xml python_targets_python3_12 python_single_target_python3_12" +BOOTSTRAP_USE="unicode pkg-config split-usr xml python_targets_python3_13 python_single_target_python3_13" # Mike Gilbert (2012-05-15) # Default target(s) for python-r1.eclass -PYTHON_TARGETS="python3_12" -PYTHON_SINGLE_TARGET="python3_12" +PYTHON_TARGETS="python3_13" +PYTHON_SINGLE_TARGET="python3_13" # Michał Górny (2013-08-10) # Moved from portage's make.globals. diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.use b/sdk_container/src/third_party/portage-stable/profiles/base/package.use index 7caa80146e..331bf42b95 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.use @@ -8,7 +8,6 @@ # Michał Górny (2024-09-15) # Each flag is used by exactly one version, so let's default-enable # them all to make tattoo not fail on almost everything. -dev-python/python-tests:3.10 python_targets_python3_10 dev-python/python-tests:3.11 python_targets_python3_11 dev-python/python-tests:3.12 python_targets_python3_12 dev-python/python-tests:3.13 python_targets_python3_13 diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force index a699483ad3..8748fa6a26 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force +++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force @@ -326,12 +326,10 @@ app-shells/bash:0 readline # Michał Górny (2012-10-14) # Force-enable all PYTHON_TARGETS for python-exec to avoid using private # API. Please remember to keep it in sync with python_targets.desc. -dev-lang/python-exec python_targets_python3_10 dev-lang/python-exec python_targets_python3_11 dev-lang/python-exec python_targets_python3_12 dev-lang/python-exec python_targets_python3_13 dev-lang/python-exec python_targets_python3_13t -dev-lang/python-exec python_targets_pypy3 dev-lang/python-exec python_targets_pypy3_11 # Zac Medico (2010-10-20) 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 34b7fc6d2e..4763715735 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,12 @@ # New entries go on top. +# Ionen Wolkens (2025-04-30) +# Valve has modified Wine's ffmpeg code with a new pcm_byte_order_reverse_bsf.c +# that seems riddled with issues (missing identifiers, incompatible pointer +# types), does not build so mask for now. +app-emulation/wine-proton ffmpeg + # sin-ack (2025-04-24) # Folly's support for io_uring depends on as-of-yet unreleased liburing # features. All Facebook packages that depend on this support are masked. @@ -688,10 +694,6 @@ app-i18n/enca doc # This use flag enables code which appears to be broken net-wireless/gr-osmosdr xtrx -# Michał Górny (2020-12-18) -# app-text/ots is masked for removal. Bug #648964. -app-office/abiword ots - # Michał Górny (2020-12-04) # Mask the experimental targets in release ebuilds. # Note to self: remember to move still-applicable masks to the newer diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/base/use.stable.mask index a20d2f136b..7fdb45177a 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/base/use.stable.mask @@ -4,6 +4,10 @@ # New entries go on top. # Please use the same syntax as in use.mask. +# Alfredo Tupone (1025-05-01) +# gcc:15 is not stable yet +ada_target_gcc_15 + # Michał Górny (2024-12-31) # LLVM slots with no stable releases yet. llvm_slot_21 @@ -18,11 +22,10 @@ ruby_targets_ruby33 # Python implementations without stable keywords. python_targets_python3_13t python_single_target_python3_13t -python_targets_pypy3 -python_single_target_pypy3 python_targets_pypy3_11 python_single_target_pypy3_11 # Michael Orlitzky (2023-12-05) -# New unstable PHP slot. +# New unstable PHP slots. php_targets_php8-3 +php_targets_php8-4 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/default/linux/package.use.mask index 07ba3445a2..aeac847450 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/default/linux/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/package.use.mask @@ -6,7 +6,6 @@ app-emulation/aranym osmesa app-emulation/crossover-bin osmesa media-gfx/asymptote offscreen -sci-visualization/paraview offscreen # Sam James (2023-06-06) # Needs linux-only dev-libs/libaio. diff --git a/sdk_container/src/third_party/portage-stable/profiles/desc/python_single_target.desc b/sdk_container/src/third_party/portage-stable/profiles/desc/python_single_target.desc index 0464f2554d..8e38ae89b7 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/desc/python_single_target.desc +++ b/sdk_container/src/third_party/portage-stable/profiles/desc/python_single_target.desc @@ -3,10 +3,8 @@ # This file contains descriptions of PYTHON_SINGLE_TARGET USE_EXPAND flags. -python3_10 - Build for Python 3.10 only python3_11 - Build for Python 3.11 only python3_12 - Build for Python 3.12 only python3_13 - Build for Python 3.13 only python3_13t - Build for Python 3.13 freethreading only -pypy3 - Build for PyPy3 only pypy3_11 - Build for PyPy3.11 only diff --git a/sdk_container/src/third_party/portage-stable/profiles/desc/python_targets.desc b/sdk_container/src/third_party/portage-stable/profiles/desc/python_targets.desc index aae9d0ff1a..7b3fedd524 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/desc/python_targets.desc +++ b/sdk_container/src/third_party/portage-stable/profiles/desc/python_targets.desc @@ -3,10 +3,8 @@ # This file contains descriptions of PYTHON_TARGETS USE_EXPAND flags. -python3_10 - Build with Python 3.10 python3_11 - Build with Python 3.11 python3_12 - Build with Python 3.12 python3_13 - Build with Python 3.13 python3_13t - Build with Python 3.13 freethreading -pypy3 - Build with PyPy3 pypy3_11 - Build with PyPy3.11 diff --git a/sdk_container/src/third_party/portage-stable/profiles/desc/video_cards.desc b/sdk_container/src/third_party/portage-stable/profiles/desc/video_cards.desc index b5688c8783..da5843660c 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/desc/video_cards.desc +++ b/sdk_container/src/third_party/portage-stable/profiles/desc/video_cards.desc @@ -6,6 +6,7 @@ # Keep it sorted. amdgpu - VIDEO_CARDS setting to build driver for AMDGPU video cards +asahi - VIDEO_CARDS setting to build support for Apple AGX GPUs ast - VIDEO_CARDS setting to build driver for ASpeedTech video cards d3d12 - VIDEO_CARDS seeting to build driver for Microsoft WSL video cards dummy - VIDEO_CARDS setting to build driver for dummy video cards diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.use.mask index 18f580974c..cdb1f2f138 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.use.mask @@ -30,6 +30,7 @@ net-p2p/ktorrent rss webengine kde-apps/kalarm pim gnome-base/gnome extras games-engines/scummvm vpx +net-libs/pjproject vpx # matoro (2023-11-16) # media-libs/libaom casualties diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/selinux/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/selinux/package.use.mask index e4ca8cc41d..aa49b38fbb 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/selinux/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/selinux/package.use.mask @@ -1,11 +1,11 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Brian Dolbec (2014-09-17) # mask pypy for several utilities due to incompatibility with libselinux -sys-apps/portage python_targets_pypy3 python_targets_pypy3_11 -app-portage/elicense python_targets_pypy3 python_targets_pypy3_11 -app-portage/elogv python_targets_pypy3 python_targets_pypy3_11 -app-portage/gentoolkit python_targets_pypy3 python_targets_pypy3_11 -app-portage/smart-live-rebuild python_targets_pypy3 python_targets_pypy3_11 -app-portage/gentoopm python_targets_pypy3 python_targets_pypy3_11 +sys-apps/portage python_targets_pypy3_11 +app-portage/elicense python_targets_pypy3_11 +app-portage/elogv python_targets_pypy3_11 +app-portage/gentoolkit python_targets_pypy3_11 +app-portage/smart-live-rebuild python_targets_pypy3_11 +app-portage/gentoopm python_targets_pypy3_11 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 4279eceddc..826d806386 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/package.mask @@ -36,6 +36,104 @@ #--- END OF EXAMPLES --- +# Andreas Sturmlechner (2025-05-04) +# Several open bugs, pending bump since 2020, fails to fetch since 2022. +# If anyone is here to fix these things, then please make upstream port +# the gui to Qt6 or drop it. Removal on 2025-05-31. +# Bugs #715918, #717528, #734242, #854750, #882655 +app-misc/flirc + +# Michał Górny (2025-05-04) +# New wave of breakage from random removals. +# Bugs #955398, #955396, #955411. +=dev-python/ensurepip-setuptools-80.3.0 +=dev-python/setuptools-80.3.0 + +# Michał Górny (2025-05-03) +# Not actively maintained in ::gentoo. Last bumped a year ago. +# Still on EAPI 7, no Python 3.13 support, does not work with new +# dev-lang/swig. Lots of bugs open. +# Removal on 2025-06-02. Bug #950475, #952653. +sci-chemistry/modeller + +# Andreas Sturmlechner (2025-05-03) +# Dead upstream since 2014, depends on Qt5. Bug #949079 +# Removal on 2025-05-31 +media-video/ffdiaporama + +# Andreas Sturmlechner (2025-05-03) +# Dead upstream since 2011, relies on downstream patching even for Qt5. +# No one else packages this. Bugs #644482, #953769; removal on 2025-05-31 +sci-electronics/osqoop + +# Matt Turner (2024-05-02) +# Masked for testing +=dev-util/mesa_clc-25.1* +=media-libs/mesa-25.1* + +# Marc Schiffbauer (2025-05-02) +# Ancient version in tree, upstream discontinued to develop +# a server for taskwarrior a long time ago +# Bugs: #953857, #716762; removal on 2025-06-01 +acct-group/taskd +acct-user/taskd +app-misc/taskd + +# Andreas Sturmlechner (2025-05-01) +# Unmaintained in Gentoo for almost 3 years, no commit upstream in 5 years +# and depends on Qt5. Whoever wants to keep this in ::gentoo must sort out +# the upstream/new-upstream situation and become a permanent maintainer. +# Bugs #951484, #954360, #752198; removal on 2025-05-31 +x11-apps/radeon-profile +x11-apps/radeon-profile-daemon + +# Andreas Sturmlechner (2025-05-01) +# Dead upstream for many years, depends on Qt5 and FTB w/ boost-1.87 among +# other bugs. Bugs #946991, #949076, #943002; removal on 2025-05-31 +games-board/pokerth + +# Andreas Sturmlechner (2025-05-01) +# Dead upstream for many years, depends on Qt5 and app-text/poppler[qt5]. +# Bug #949025; removal on 2025-05-31 +x11-misc/qcomicbook + +# Andreas Sturmlechner (2025-05-01) +# Package destabilisation mask. 1.0_p20241107 is in ~arch but as snapshot +# with long-term pending Qt6 patches on top it will not be stabilised. +# 1.0 release was almost 8 years old already. +~media-gfx/fotowall-1.0 + +# Andreas Sturmlechner (2025-05-01) +# No maintainer in Gentoo since 2016, current package is still Qt5 based; +# upstream does not even bother making tags let alone releases; anyone who +# wants to deal with that shall step up as permanent maintainer and cut +# some kind of Qt6 based package. +# See also: https://github.com/fritzing/fritzing-app/issues/4086 +# Bug #947619; removal on 2025-05-31 +sci-electronics/fritzing + +# Matt Jolly (2025-04-28) +# Unmaintained in Gentoo, depends on masked x11-wm/fvwm, +# SRC_URI uses mirror://gentoo and the files don't exist on mirrors. +# Bug #949035; Removal on 2025-05-28 (with x11-wm/fvwm) +x11-themes/fvwm_icons +x11-themes/fvwm_sounds + +# Matt Jolly (2025-04-28) +# Unmaintained in Gentoo, is not supported upstream, +# and has a modern successor that does not bring in additional dependencies. +# Migrate to x11-wm/fvwm3: https://github.com/fvwmorg/fvwm3/discussions/878 +# Bug #949035; removal on 2025-05-28. +x11-wm/fvwm +x11-themes/fvwm-themes +x11-themes/fvwm-themes-extra +=x11-themes/fvwm-crystal-3.7.5 + +# Andreas Sturmlechner (2025-04-28) +# Package destabilisation mask for potential runtime errors and lack of +# Qt6-compatible plugins. Bug #955031 +~sci-geosciences/qgis-3.38.3 + # Andreas Sturmlechner (2025-04-26) # Dead upstream, stuck on Qt5, blocking x11-libs/qscintilla[qt5] cleanup # Bug #947297; removal on 2025-05-26 @@ -48,10 +146,6 @@ sci-visualization/scidavis x11-libs/qwtplot3d x11-libs/qwt:5 -# Andreas Sturmlechner (2025-04-24) -# A pain to maintain. No more revdeps. Bug #925718 -dev-qt/qtwebengine:5 - # Andreas Sturmlechner (2025-04-24) # Requires Qt5WebEngine; bug #925722 # Removal on 2025-05-24 - with a good chance to be kept if ported by then. @@ -73,6 +167,11 @@ dev-python/python-poppler-qt5 # Removal on 2025-05-22. sci-visualization/zhu3d +# Michał Górny (2025-04-22) +# Metapackage used for pypy3 target in the past. +# Removal on 2025-05-22. +dev-python/pypy3 + # Michał Górny (2025-04-22) # This package was only really necessary for packages without # Python 3.12+ support, and the eclass no longer uses it. @@ -84,10 +183,6 @@ dev-python/unittest-or-fail # Masked for removal on 2025-05-21. dev-ruby/highline:2 -# Sam James (2025-04-21) -# Several packages need porting. Tracker bug #954128. -=dev-python/cython-3.1* - # Hans de Graaff (2025-04-20) # ruby32-only slot. Use the newer slot instead. # Masked for removal on 2025-05-20. @@ -136,18 +231,6 @@ x11-misc/xtoolwait # Removal on 2025-05-04. Bug #953119. media-gfx/xloadimage -# Andreas Sturmlechner (2025-04-02) -# Depends on Qt5WebEngine, and upstream seem to be having a hard time -# porting to Qt6 with an unknown ETA likely well beyond the time we want -# to keep dev-qt/qtwebengine:5 in ::gentoo. -# Removal on 2025-04-30. Bug #926666 -media-video/jellyfin-media-player - -# Andreas Sturmlechner (2025-04-02) -# No release since 2021, no commit in 3 years, depends on Qt5WebEngine. -# Use app-text/uchmviewer instead. Removal on 2025-04-30. Bug #823008 -app-text/kchmviewer - # Ionen Wolkens (2025-04-02) # Masked for testing the new .0 version and leave time for packages # to catch up on support if needed. May or may keep masked until 6.9.1 @@ -189,41 +272,12 @@ app-text/kchmviewer =dev-qt/qtwebsockets-6.9.0* =dev-qt/qtwebview-6.9.0* -# Matt Turner (2025-04-01) -# Very dead. Last release in 2007. Many open bugs (#712894, #882169, #894620, -# #907400, #920478, #932284, #943891). -# Removal on 2025-05-01. Bug #949960. -x11-terms/aterm - # Norbert Norbiros (2025-04-01) # Screen v5.0.0 has a lot of regressions # https://lists.gnu.org/archive/html/screen-devel/2024-10/msg00007.html # Unmask it after it is properly tested & fixed =app-misc/screen-5* -# Volkmar W. Pogatzki (2025-03-31) -# Depends on broken dev-java/rxtx, bugs #761103, #867409, #874444, #898170 -# #927898. -# Depends on dev-java/jgoodies-{common,looks} which are no longer available -# "at no charge". https://www.jgoodies.com/downloads/libraries/#post-63 -# Removal on 2025-04-30. -sci-geosciences/bt747 -dev-java/rxtx -dev-java/swingx -dev-java/swingx-beaninfo -dev-java/swingx-ws -dev-java/jchart2d -dev-java/jcalendar -dev-java/jgoodies-looks -dev-java/jgoodies-common - -# Andreas Sturmlechner (2025-03-30) -# Depends on dev-python/python-poppler-qt5, stuck on py3.12, new 0.7.0 -# release available w/ PyQt6 support would require packaging new pymupdf -# dependency (bug #949686). Use media-gfx/inkscape or app-text/pdfarranger -# alternatively. Removal on 2025-04-29. Bugs #947726, #952250 -app-text/krop - # Conrad Kostecki (2025-03-28) # Upstream is dead and broken. All 'whatsapp' deps # will be last-rited on 2025-04-28. diff --git a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/make.defaults index 3e4f9fd399..080cdbda9b 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/make.defaults +++ b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/make.defaults @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -USE="a52 aac acpi alsa bluetooth branding cairo cdda cdr cups dbus dri dts dvd dvdr elogind encode exif flac gif gpm gtk gui icu jpeg kf6compat lcms libnotify mad mng mp3 mp4 mpeg ogg opengl pango pdf png policykit ppds qml qt6 qt5 sdl sound spell startup-notification svg tiff truetype vorbis udev udisks unicode upower usb vulkan wayland wxwidgets X xcb xft x264 xml xv xvid" +USE="a52 aac acpi alsa bluetooth branding cairo cdda cdr cups dbus dri dts dvd dvdr elogind encode exif flac gif gpm gtk gui icu jpeg lcms libnotify mad mng mp3 mp4 mpeg ogg opengl pango pdf png policykit ppds qml qt6 qt5 sdl sound spell startup-notification svg tiff truetype vorbis udev udisks unicode upower usb vulkan wayland wxwidgets X xcb xft x264 xml xv xvid" diff --git a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use index 8b46f9cc8e..1821cd69d5 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use @@ -23,9 +23,9 @@ dev-qt/qtbase libproxy app-text/poppler nss boost # Andreas Sturmlechner (2023-11-11) -# egl, libinput required by kde-plasma/kwayland:5 -# accessibility required by kde-plasma/kwin:5 -dev-qt/qtgui:5 accessibility egl libinput +# egl+libinput required by dev-qt/qtwayland:5 +# libinput required by kde-plasma/kwayland-integration:5 +dev-qt/qtgui:5 egl libinput # Mart Raudsepp (2023-10-01) # kde-plasma/kwin and x11-wm/mutter[wayland] require xwayland[libei] for diff --git a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use.force b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use.force index 12321d0e4c..f8f1d21796 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use.force +++ b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use.force @@ -1,13 +1,6 @@ -# Copyright 1999-2024 Gentoo Foundation +# Copyright 1999-2025 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# Andreas Sturmlechner (2024-03-10) -# Ensure that KF5- and Qt5-based applications, of which there are still -# many (even as part of KDE Gear 24.08), will not exhibit bugs and look -# out of place in Plasma 6 sessions. Do *not* file upstream bugs for Qt5- -# based packages if unsetting this. - (2014-06-03) # Ensure shared-mime-info is pulled in by glib, otherwise GNOME, XFCE, and # numerous gtk-based applications will break, see bug #511894 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/diffutils/diffutils-3.12.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/diffutils/diffutils-3.12.ebuild index c589db9156..54d4be116e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/diffutils/diffutils-3.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/diffutils/diffutils-3.12.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == *_p* ]] ; then else SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-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/sys-apps/man-db/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/man-db/Manifest index e931cd39b1..8f63442b48 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/man-db/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/man-db/Manifest @@ -1 +1,2 @@ DIST man-db-2.13.0.tar.xz 2071032 BLAKE2B 7ce91a7abc6d3bbd92d4707f13caacd8ab5caee0502a2b115f8aa53f4d38df05b0e03346f70584618cce6f5457113e826828a02b847bff57abd6ba6ec1b2d407 SHA512 612ce39bb1e11aa7797e8e3a26f06a7154c48a13b2d74217c2c6701e0d33fa8f77ae2b8c9ee84353e364d16918f884115f2dfbf3cd743edd4ed32b763b87f723 +DIST man-db-2.13.1.tar.xz 2110328 BLAKE2B f0f61bbd91992e2be8343459addca4bb9892ad4887756a1e58e8dccf71d30fd4bfd105739f1c730d7e73088825508566c9c29e74a59d78453055db25c7a929c6 SHA512 9b39f512fe940e648ca7f47803f42e473064253b67eb96995d28da30fd322de31a4466bf821e9391e6041af2318a6d2c2d74102b73f4b42a63966b41d2df0578 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-2.13.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-2.13.1.ebuild new file mode 100644 index 0000000000..c59cd5f04b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-2.13.1.ebuild @@ -0,0 +1,216 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd prefix tmpfiles + +DESCRIPTION="A man replacement that utilizes dbm instead of flat files" +HOMEPAGE="https://gitlab.com/man-db/man-db https://www.nongnu.org/man-db/" +if [[ ${PV} == *9999 ]] ; then + inherit autotools git-r3 + EGIT_REPO_URI="https://gitlab.com/man-db/man-db" +else + inherit libtool + # TODO: Change tarballs to gitlab too...? + SRC_URI="mirror://nongnu/${PN}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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" +SLOT="0" +IUSE="+manpager nls +seccomp selinux static-libs zlib" + +CDEPEND=" + >=dev-libs/libpipeline-1.5.0 + >=sys-apps/groff-1.20.0 + sys-libs/gdbm:= + seccomp? ( sys-libs/libseccomp ) + zlib? ( sys-libs/zlib ) +" +DEPEND="${CDEPEND}" +BDEPEND=" + app-arch/xz-utils + virtual/pkgconfig + nls? ( + >=app-text/po4a-0.45 + sys-devel/gettext + virtual/libiconv + virtual/libintl + ) +" +RDEPEND=" + ${CDEPEND} + acct-group/man + acct-user/man + selinux? ( sec-policy/selinux-mandb ) +" +PDEPEND="manpager? ( app-text/manpager )" + +PATCHES=( + "${FILESDIR}"/man-db-2.9.3-sandbox-env-tests.patch +) + +QA_CONFIG_IMPL_DECL_SKIP=( + # gnulib FPs + unreachable MIN alignof static_assert +) + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_src_unpack + + # We need to mess with gnulib + EGIT_REPO_URI="https://git.savannah.gnu.org/r/gnulib.git" \ + EGIT_CHECKOUT_DIR="${WORKDIR}/gnulib" \ + git-r3_src_unpack + else + default + fi +} + +src_prepare() { + default + + if [[ ${PV} == *9999 ]] ; then + local bootstrap_opts=( + --gnulib-srcdir=../gnulib + --no-bootstrap-sync + --copy + --no-git + ) + AUTORECONF="/bin/true" \ + LIBTOOLIZE="/bin/true" \ + sh ./bootstrap "${bootstrap_opts[@]}" || die + + eautoreconf + else + elibtoolize + fi + + hprefixify src/man_db.conf.in + if use prefix ; then + { + echo "#" + echo "# Added settings for Gentoo Prefix" + [[ ${CHOST} == *-darwin* ]] && \ + echo "MANDATORY_MANPATH ${EPREFIX}/MacOSX.sdk/usr/share/man" + echo "MANDATORY_MANPATH /usr/share/man" + } >> src/man_db.conf.in + fi +} + +src_configure() { + # Set sections we want to search by default + local sections="1 1p 8 2 3 3p 4 5 6 7 9 0p tcl n l p o" + sections+=" 1x 2x 3x 4x 5x 6x 7x 8x" + case ${CHOST} in + *-solaris*) + # Solaris tends to use sections named after the pkgs that + # owns them, in particular for libc functions we want those + # sections + local s + for s in $(cd /usr/share/man/ && echo man*) ; do + s=${s#man} + [[ " ${sections} " != *" ${s} "* ]] && sections+=" ${s}" + done + ;; + esac + + export ac_cv_lib_z_gzopen=$(usex zlib) + local myeconfargs=( + --with-systemdtmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + --disable-setuid # bug #662438 + $(use_enable !prefix cache-owner man) # bug #917024 + --with-sections="${sections}" + + $(use_enable nls) + $(use_enable static-libs static) + $(use_with seccomp libseccomp) + + --with-db=gdbm + ) + + case ${CHOST} in + *-solaris*|*-darwin*) + myeconfargs+=( + $(use_with nls libiconv-prefix "${EPREFIX}"/usr) + $(use_with nls libintl-prefix "${EPREFIX}"/usr) + ) + ;; + esac + + econf "${myeconfargs[@]}" + + # Disable color output from groff so that the manpager can add it. bug #184604 + if use manpager; then + sed -i \ + -e '/^#DEFINE.*\<[nt]roff\>/{s:^#::;s:$: -c:}' \ + src/man_db.conf || die + fi + + cat > 15man-db <<-EOF || die + SANDBOX_PREDICT="/var/cache/man" + EOF +} + +src_install() { + default + dodoc docs/{HACKING.md,TODO} + find "${ED}" -type f -name "*.la" -delete || die + + exeinto /etc/cron.daily + newexe "${FILESDIR}"/man-db.cron-r1 man-db # bug #289884 + + insinto /etc/sandbox.d + doins 15man-db +} + +pkg_preinst() { + local cachedir="${EROOT}/var/cache/man" + # If the system was already exploited, and the attacker is hiding in the + # cachedir of the old man-db, let's wipe them out. + # see bug #602588 comment 18 + local _replacing_version= + local _setgid_vuln=0 + for _replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test '2.7.6.1-r2' -le "${_replacing_version}" ; then + debug-print "Skipping security bug #602588 ... existing installation (${_replacing_version}) should not be affected!" + else + _setgid_vuln=1 + debug-print "Applying cleanup for security bug #602588" + fi + done + [[ ${_setgid_vuln} -eq 1 ]] && rm -rf "${cachedir}" + + # Fall back to recreating the cachedir + if [[ ! -d ${cachedir} ]] ; then + mkdir -p "${cachedir}" || die + chown man:man "${cachedir}" || die + fi + + # Update the whatis cache + if [[ -f ${cachedir}/whatis ]] ; then + einfo "Cleaning ${cachedir} from sys-apps/man" + find "${cachedir}" -type f '!' '(' -name index.bt -o -name index.db ')' -delete + fi +} + +pkg_postinst() { + tmpfiles_process man-db.conf + + if [[ -n "${REPLACING_VERSIONS}" ]] ; then + local _replacing_version= + + for _replacing_version in ${REPLACING_VERSIONS} ; do + if [[ $(ver_cut 2 ${_replacing_version}) -lt 7 ]] ; then + einfo "Rebuilding man-db from scratch with new database format!" + su man -s /bin/sh -c 'mandb --quiet --create' 2>/dev/null + + # No need to run it again if we hit one + break + fi + done + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-9999.ebuild index 928f1df77b..c59cd5f04b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -23,23 +23,28 @@ IUSE="+manpager nls +seccomp selinux static-libs zlib" CDEPEND=" >=dev-libs/libpipeline-1.5.0 - sys-apps/groff + >=sys-apps/groff-1.20.0 sys-libs/gdbm:= seccomp? ( sys-libs/libseccomp ) - zlib? ( sys-libs/zlib )" + zlib? ( sys-libs/zlib ) +" DEPEND="${CDEPEND}" -BDEPEND="app-arch/xz-utils +BDEPEND=" + app-arch/xz-utils virtual/pkgconfig nls? ( >=app-text/po4a-0.45 sys-devel/gettext virtual/libiconv virtual/libintl - )" -RDEPEND="${CDEPEND} + ) +" +RDEPEND=" + ${CDEPEND} acct-group/man acct-user/man - selinux? ( sec-policy/selinux-mandb )" + selinux? ( sec-policy/selinux-mandb ) +" PDEPEND="manpager? ( app-text/manpager )" PATCHES=( diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/Manifest index dc9c1d191f..166ec0a278 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/Manifest @@ -1 +1,2 @@ DIST pcsc-lite-2.3.1.tar.xz 209724 BLAKE2B aafcecf34a284145eecd5e3e1c9cb6bf1d4a3f9e7dad82983cee72ecbb8682480c06bb1fe025e176ca8d34f8a50ed325d41f14217ee7cd8a96b5848398c89624 SHA512 ec70ab3cf338299b3a493344c176b73450631da208714f3ac0fb4d6aa942fdc7487467b971246407fc4f1815fe5e48a0f29dcc109fb5fef838fbce7a2207d87b +DIST pcsc-lite-2.3.3.tar.xz 210592 BLAKE2B 939689bde24e53d8ed1b3146c4d379192eb7c7ceb1758b66e05c1264a983e3839cacb59b69f8a852e5fc05912c3da3cc911df9ebd360fbde3f0eb88e5a52341a SHA512 96a62364eb0221828a5e3f65d500f8b83acc27cdc0c40fad2b0f807b399c1a465524421175bd7c05fa4ece152f9afe7f8b60c57ee20fa948af7d8899543a2d12 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.3.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.3.3.ebuild new file mode 100644 index 0000000000..dd302252b7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.3.3.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) + +inherit meson-multilib python-single-r1 tmpfiles udev + +DESCRIPTION="PC/SC Architecture smartcard middleware library" +HOMEPAGE="https://pcsclite.apdu.fr https://github.com/LudovicRousseau/PCSC" +SRC_URI="https://pcsclite.apdu.fr/files/${P}.tar.xz" + +# GPL-2 is there for the init script; everything else comes from +# upstream. +LICENSE="BSD GPL-3+ BSD-2 ISC GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +# This is called libusb so that it doesn't fool people in thinking that +# it is _required_ for USB support. Otherwise they'll disable udev and +# that's going to be worse. +IUSE="embedded libusb policykit selinux systemd +udev" +REQUIRED_USE="^^ ( udev libusb ) ${PYTHON_REQUIRED_USE}" + +# No dependencies need the MULTILIB_DEPS because the libraries are actually +# standalone, the deps are only needed for the daemon itself. +DEPEND=" + libusb? ( virtual/libusb:1 ) + udev? ( virtual/libudev:= ) + policykit? ( >=sys-auth/polkit-0.111 ) + acct-group/openct + acct-group/pcscd + acct-user/pcscd + ${PYTHON_DEPS}" +RDEPEND="${DEPEND} + selinux? ( sec-policy/selinux-pcscd )" +BDEPEND=" + app-alternatives/lex + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-1.8.11-polkit-pcscd.patch + "${FILESDIR}"/${PN}-1.9.8-systemd-user.patch + "${FILESDIR}"/${PN}-2.2.3-change-setup-spy-script-location.patch +) + +multilib_src_configure() { + local emesonargs=( + -Dusbdropdir="${EPREFIX}"/usr/$(get_libdir)/readers/usb + -Dipcdir=/run/pcscd + -Dsystemdunit=system + $(meson_native_use_bool embedded) + $(meson_native_use_bool systemd libsystemd) + $(meson_native_use_bool udev libudev) + $(meson_native_use_bool libusb) + $(meson_native_use_bool policykit polkit) + ) + + meson_src_configure +} + +multilib_src_install_all() { + einstalldocs + dodoc HELP SECURITY + + newinitd "${FILESDIR}"/pcscd-init.7 pcscd + dotmpfiles "${FILESDIR}"/pcscd.conf + + if use udev; then + exeinto "$(get_udevdir)" + newexe "${FILESDIR}"/pcscd-udev pcscd.sh + + insinto "$(get_udevdir)"/rules.d + newins "${FILESDIR}"/99-pcscd-hotplug-r2.rules 99-pcscd-hotplug.rules + fi + + python_fix_shebang "${ED}"/usr/bin/pcsc-spy + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + elog "Starting from version 1.6.5, pcsc-lite will start as user nobody in" + elog "the pcscd group, to avoid running as root." + elog + elog "This also means you need the newest drivers available so that the" + elog "devices get the proper owner." + elog + elog "Furthermore, a conf.d file is no longer installed by default, as" + elog "the default configuration does not require one. If you need to" + elog "pass further options to pcscd, create a file and set the" + elog "EXTRA_OPTS variable." + elog + + if use udev; then + elog "Hotplug support is provided by udev rules." + elog "When using OpenRC you additionally need to tell it to hotplug" + elog "pcscd by setting this variable in /etc/rc.conf:" + elog + elog " rc_hotplug=\"pcscd\"" + fi + + tmpfiles_process pcscd.conf + + use udev && udev_reload +} + +pkg_postrm() { + use udev && udev_reload +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/Manifest index 729a30cb14..f43b6986d0 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/Manifest @@ -1,2 +1,2 @@ -DIST smartmontools-7.3.tar.gz 1043932 BLAKE2B 119fd4aded487796ffd38050ddf8c7dd69cc6f3950650cb0315846292fd4a6594d949d87c51ed46717d6aaadb332c68f655514d1fde89600d51f3fe36f8df1ca SHA512 08afe8b0a6a39e742160cd4e4c03fc7aff7b1ae8681b906360f0932277dc99e361b7606b2373bdf42425cf9453480a5f4344bc040ebc2fa26a03bd52f02a6ac0 DIST smartmontools-7.4.tar.gz 1094955 BLAKE2B fbf7888b92b6be4892a206e1c0fae1cb7c45fe0d62270c5fe713a540616e3599c67dd3297ad8c1cd344987e1fe95ae7c5e92db8e13ef622b3316b3780fbb4052 SHA512 439fbf8d0e77fbe1d5a9fb100e655a7e47a82382ce8e1a4e942541a4dfbdff3391caa635e8d354d0e87c10ae79cb97aa6d24915f9f193620d763b384baf2e753 +DIST smartmontools-7.5.tar.gz 1122317 BLAKE2B c6dfbdec8c25490925d8afdfd6eb3ce631f7a70447c8a3b54a4a16faafbf69da7bf4638eba7398265b952ed0dc2ef71dfe2c5188026a5c0542b4f7fd6d116cf7 SHA512 2e4a6d712f33f3efff34184686b893f0205728d4a267fb88a833de7159170a6072b94744c1ae8c6694c99940d9ecaec164e3bd713e49476930dc2144c04b3f8c diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-7.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-7.4.ebuild deleted file mode 100644 index c446b3e95e..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-7.4.ebuild +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit flag-o-matic systemd -if [[ ${PV} == 9999 ]] ; then - ESVN_REPO_URI="https://svn.code.sf.net/p/smartmontools/code/trunk/smartmontools" - ESVN_PROJECT="smartmontools" - inherit autotools subversion -else - SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos" -fi - -DESCRIPTION="Tools to monitor storage systems to provide advanced warning of disk degradation" -HOMEPAGE="https://www.smartmontools.org" - -LICENSE="GPL-2" -SLOT="0" -IUSE="caps +daemon selinux static systemd +update-drivedb" - -DEPEND=" - caps? ( - static? ( sys-libs/libcap-ng:=[static-libs] ) - !static? ( sys-libs/libcap-ng:= ) - ) - selinux? ( - sys-libs/libselinux:= - ) -" -RDEPEND=" - ${DEPEND} - daemon? ( virtual/mailx ) - selinux? ( sec-policy/selinux-smartmon ) - systemd? ( sys-apps/systemd ) - update-drivedb? ( - app-crypt/gnupg - || ( - net-misc/curl - net-misc/wget - www-client/lynx - dev-vcs/subversion - ) - ) -" - -REQUIRED_USE="( - caps? ( daemon ) - static? ( !systemd ) -)" - -src_prepare() { - default - - if [[ ${PV} == 9999 ]] ; then - eautoreconf - fi -} - -src_configure() { - use static && append-ldflags -static - # The build installs /etc/init.d/smartd, but we clobber it - # in our src_install, so no need to manually delete it. - myeconfargs=( - --with-drivedbdir="${EPREFIX}/var/db/${PN}" #575292 - --with-initscriptdir="${EPREFIX}/etc/init.d" - #--with-smartdscriptdir="${EPREFIX}/usr/share/${PN}" - $(use_with caps libcap-ng) - $(use_with selinux) - $(use_with systemd libsystemd) - $(use_with update-drivedb gnupg) - $(use_with update-drivedb update-smart-drivedb) - $(usex systemd "--with-systemdsystemunitdir=$(systemd_get_systemunitdir)" '') - ) - econf "${myeconfargs[@]}" -} - -src_install() { - local db_path="/var/db/${PN}" - insopts -m0644 -p # preserve timestamps - - if use daemon; then - default - - newinitd "${FILESDIR}"/smartd-r1.rc smartd - newconfd "${FILESDIR}"/smartd.confd smartd - else - dosbin smartctl - doman smartctl.8 - - local DOCS=( AUTHORS ChangeL* COPYING INSTALL NEWS README TODO ) - einstalldocs - fi - - if use update-drivedb ; then - if ! use daemon; then - dosbin "${S}"/update-smart-drivedb - fi - - exeinto /etc/cron.monthly - doexe "${FILESDIR}/${PN}-update-drivedb" - fi - - if use daemon || use update-drivedb; then - keepdir "${db_path}" - - # Install a copy of the initial drivedb.h to /usr/share/${PN} - # so that we can access that file later in pkg_postinst - # even when dealing with binary packages (bug #575292) - insinto /usr/share/${PN} - doins "${S}"/drivedb.h - fi - - # Make sure we never install drivedb.h into the db location - # of the acutal image so we don't record hashes because user - # can modify that file - rm -f "${ED}${db_path}/drivedb.h" || die - - # Bug #622072 - find "${ED}"/usr/share/doc -type f -exec chmod a-x '{}' \; || die -} - -pkg_postinst() { - if use daemon || use update-drivedb; then - local initial_db_file="${EROOT}/usr/share/${PN}/drivedb.h" - local db_path="${EROOT}/var/db/${PN}" - - if [[ ! -f "${db_path}/drivedb.h" ]] ; then - # No initial database found - cp "${initial_db_file}" "${db_path}" || die - einfo "Default drive database which was shipped with this release of ${PN}" - einfo "has been installed to '${db_path}'." - else - ewarn "WARNING: There's already a drive database in '${db_path}'!" - ewarn "Because we cannot determine if this database is untouched" - ewarn "or was modified by the user you have to manually update the" - ewarn "drive database:" - ewarn "" - ewarn "a) Replace '${db_path}/drivedb.h' by the database shipped with this" - ewarn " release which can be found in '${initial_db_file}', i.e." - ewarn "" - ewarn " cp \"${initial_db_file}\" \"${db_path}\"" - ewarn "" - ewarn "b) Run the following command as root:" - ewarn "" - ewarn " /usr/sbin/update-smart-drivedb" - - if ! use update-drivedb ; then - ewarn "" - ewarn "However, 'update-smart-drivedb' requires that you re-emerge ${PN}" - ewarn "with USE='update-drivedb'." - fi - fi - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-7.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-7.5.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-7.3.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-7.5.ebuild index c446b3e95e..97147f10cb 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-7.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-7.5.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit flag-o-matic systemd if [[ ${PV} == 9999 ]] ; then @@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then inherit autotools subversion else SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" fi DESCRIPTION="Tools to monitor storage systems to provide advanced warning of disk degradation" @@ -66,6 +66,7 @@ src_configure() { --with-drivedbdir="${EPREFIX}/var/db/${PN}" #575292 --with-initscriptdir="${EPREFIX}/etc/init.d" #--with-smartdscriptdir="${EPREFIX}/usr/share/${PN}" + --with-systemdenvfile=no $(use_with caps libcap-ng) $(use_with selinux) $(use_with systemd libsystemd) @@ -113,7 +114,7 @@ src_install() { fi # Make sure we never install drivedb.h into the db location - # of the acutal image so we don't record hashes because user + # of the actual image so we don't record hashes because user # can modify that file rm -f "${ED}${db_path}/drivedb.h" || die diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-018-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-018-r1.ebuild index 89ef40d39c..2f00ea1e98 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-018-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-018-r1.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://www.kernel.org/pub/linux/utils/usb/${PN}/${P}.tar.xz" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" IUSE="python usbreset" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-126-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-126-r1.ebuild index 47853e1f40..1fb175cbf5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-126-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-126-r1.ebuild @@ -26,7 +26,7 @@ fi LICENSE="LGPL-2" SLOT="0" if [[ ${PV} != 9999 ]] ; then - KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi IUSE="examples gtk +introspection kde pam nls selinux systemd test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/efibootmgr/efibootmgr-18-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-boot/efibootmgr/efibootmgr-18-r2.ebuild similarity index 87% rename from sdk_container/src/third_party/portage-stable/sys-boot/efibootmgr/efibootmgr-18-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-boot/efibootmgr/efibootmgr-18-r2.ebuild index 7ff93176d0..c2d815de8d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-boot/efibootmgr/efibootmgr-18-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-boot/efibootmgr/efibootmgr-18-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -21,6 +21,10 @@ RDEPEND=" DEPEND="${RDEPEND}" BDEPEND="virtual/pkgconfig" +PATCHES=( + "${FILESDIR}"/efibootmgr-18-backports.patch +) + src_prepare() { default sed -i 's/-Werror //' Make.defaults || die diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/efibootmgr/files/efibootmgr-18-backports.patch b/sdk_container/src/third_party/portage-stable/sys-boot/efibootmgr/files/efibootmgr-18-backports.patch new file mode 100644 index 0000000000..70422efd11 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-boot/efibootmgr/files/efibootmgr-18-backports.patch @@ -0,0 +1,76 @@ +From dcd232d0458b962627f727dc8a1cef3c000a5bf4 Mon Sep 17 00:00:00 2001 +From: kmicki <1463619+kmicki@users.noreply.github.com> +Date: Tue, 15 Nov 2022 14:37:25 +0100 +Subject: [PATCH] Update efibootmgr.c + +get_entry: return entry if it was found before reaching the end of the list + +Signed-off-by: kmicki <1463619+kmicki@users.noreply.github.com> +--- + src/efibootmgr.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/efibootmgr.c b/src/efibootmgr.c +index b980bcd..4b15d6d 100644 +--- a/src/efibootmgr.c ++++ b/src/efibootmgr.c +@@ -1192,6 +1192,7 @@ get_entry(list_t *entries, uint16_t num) + entry = NULL; + continue; + } ++ return entry; + } + + return entry; +From c2ef7876f4cc0ad5a52f40577e7636a841100bec Mon Sep 17 00:00:00 2001 +From: kamillo +Date: Fri, 17 Feb 2023 21:55:17 +0100 +Subject: [PATCH 1/2] Add missing short option handling for --index (-I) + +Signed-off-by: kamillo +--- + src/efibootmgr.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/efibootmgr.c b/src/efibootmgr.c +index 4b15d6d..255f61f 100644 +--- a/src/efibootmgr.c ++++ b/src/efibootmgr.c +@@ -1509,7 +1509,7 @@ parse_opts(int argc, char **argv) + }; + + c = getopt_long(argc, argv, +- "aAb:BcCd:De:E:fFgi:kl:L:m:M:n:No:Op:qrt:Tuv::Vwy@:h", ++ "aAb:BcCd:De:E:fFgi:I:kl:L:m:M:n:No:Op:qrt:Tuv::Vwy@:h", + long_options, &option_index); + if (c == -1) + break; + +From fe0a2c9569bd22e51000081226998419cb07c6ce Mon Sep 17 00:00:00 2001 +From: kamillo +Date: Fri, 17 Feb 2023 22:02:22 +0100 +Subject: [PATCH 2/2] Fix segfault when passed --index is greater than current + boot order size + +Size of the order entry size (uint16_t) hasn't been taken into account for all calculations and caused memory corruption. + +Signed-off-by: kamillo +--- + src/efibootmgr.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/efibootmgr.c b/src/efibootmgr.c +index 255f61f..ded21a1 100644 +--- a/src/efibootmgr.c ++++ b/src/efibootmgr.c +@@ -420,8 +420,8 @@ add_to_order(const char *name, uint16_t num, uint16_t insert_at) + return -1; + + if (insert_at != 0) { +- if (insert_at > order->data_size) +- insert_at = order->data_size; ++ if (insert_at * sizeof(uint16_t) > order->data_size) ++ insert_at = order->data_size / sizeof(uint16_t); + memcpy(new_data, old_data, insert_at * sizeof(uint16_t)); + } + new_data[insert_at] = num; diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250410.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250410.ebuild index 7c9eb35f4b..6ba1801e84 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250410.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250410.ebuild @@ -11,7 +11,7 @@ if [[ ${PV} == "99999999" ]] ; then " else SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi DESCRIPTION="Gentoo Cross-toolchain generator" 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 0779e43c3b..e7b1029041 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 @@ -7,6 +7,7 @@ DIST gcc-11.5.0.tar.xz 82399864 BLAKE2B f4a61faad32aac9e9cb553c1a1a011df0a057f6e DIST gcc-12-20241219.tar.xz 79920016 BLAKE2B 71044352515f33eaf0bcc64cc6eacdecb8b7b1dbca6d8836b629f76e60320f5090178ff37b6804fbda0913c0f55afca37588647974fd72e9961edd338ccf6ffb SHA512 e0c08366f392083feb1ae242242e9bd335681234808ed44d4e75afe157be2814bef321d2327186d217f38bbb6176706e1258228904d31fdb3bb37c8e245dacb0 DIST gcc-12-20250227.tar.xz 79915940 BLAKE2B 0adb19847cb3f317316549f657434654b9923806366a4b95e496effea9c07995b7d3de65c40cc2f62ba1e87cfb0f8cd8a1a833284042fdc5e6fce2bd7e7e9543 SHA512 d01cad1771762f5b56c783d6a3b39415be1c7619229b5ff056fe40ef0bf821c67a2d1a2272c2227a44f92825582579625352d19e2342d11f76a079556dae0ae8 DIST gcc-12-20250417.tar.xz 79924416 BLAKE2B 4f6542d016693e2392a433c1931a33112fc959e194cdfbe01f76c9f4103d0ba3b899bd4d1993031340d90d5512a2075f8aaf0a73013eaad0afe9708fcefd47dc SHA512 82ee092685d988eb184926f4bd306540d43c7da94a0f76a5b1aaaf134235ee882b07f34e4c9a55cddba11988aafafa8ff0be1fe12330a61c2ee927d63597e7a6 +DIST gcc-12-20250430.tar.xz 79927628 BLAKE2B c57d83bfa68765807c7fb0f6b8834232a3296f8c3cb944c5338c6334d69017b0132e82fe579ac8ac3efc5deaa039c6ae180c9d1515659b13d70a2109a48a7949 SHA512 61f35a337ff034c5872103fed5645c954bb833f4155e0ce78d3478c62448f0648b947217b4ed6e801367a649749f332eeb09ba44a4dc2c941e1e1c921cca4242 DIST gcc-12.4.0-musl-patches-1.tar.xz 3068 BLAKE2B e5e39c24934072ea89e4467d0dc5196f3dadfb5ffba0c856d051648a2fbf57d434a57e95227cdf2b8cea45f0f5555aec2bc372d2f6cb0b69efd87831d248d364 SHA512 b9db204845a25be043d76cae826d42eebeeb4f9be7c3049af6fe7601a552bedfd24731156a6a36b4b5e2e2af656a589a5c556d2b0b3ded33ba290a773ee87c62 DIST gcc-12.4.0-patches-1.tar.xz 15576 BLAKE2B 98c29888de7701b365be7ac9062f0cee3340d58c85485e26f0d02f1483ec64cc9c10651488a4fd937551afe30f4e19777e6766871a724ae3ba6c290c16f4fdf1 SHA512 3f7c5d36e56e07ea9dd143a5d13342a6c1ccbf0643abd1c0bcbfb46bb7c7b1308aef6e3e882031c9c191610f01af906b19be5aa2b139cf617614f46e97463aec DIST gcc-12.4.0-patches-2.tar.xz 14876 BLAKE2B 6bf5abbb2abba4b9fe9fa153ac4112fe5f563e97cd4e1b885ccd0d88abf1124fa91f20d6be972e2242410447be73bca60014785f8551b8087ed0d4cc3e868225 SHA512 dfd5f02d4c1076fad4ee998b2f620171dd3eb65a1160312def9dae89b18327a06db853f569e0e3c049e5ab06c61488bb6faecec52bafe737fddeb43628c54a1f @@ -16,6 +17,7 @@ DIST gcc-13-20241220.tar.xz 84504500 BLAKE2B 60d6dcdcafa36399a0c0de7fef3a4eb4ca8 DIST gcc-13-20250301.tar.xz 84525780 BLAKE2B c366f4de63b7956abb1bf2d1039acdf90c7a801adbb2793e4c199b0f743d143327aac9c2b078991f802da758ed4326dd913d9f60aec4fc471eff9af72f781a8e SHA512 075bfb3c5aeaf1c9bf7ab69ef117fcc1fd3ce1042edc9442d95df717e622c2ea9cfabbabf8be5eda32b3cf115d7d3e73907fd577a69f0beb6895f7ec2c5fc813 DIST gcc-13-20250418.tar.xz 84528940 BLAKE2B 566cc9570d9a2e41e67416cd3bb3609fad38a37cc648422988182652010ba2f2eb459c29fce32f8f97ea33c23eac3b43098af6fb333ce250a7e9eac4ca0abeb7 SHA512 185179a591d6ecc3a6477379fd877241a18b25bec0eacd0819e6e0ee38abbbebe7fee9027d36a60087f487c65a8afd17228e8dc0b803f4cf5ae6b8ce9cdadcbc DIST gcc-13-20250424.tar.xz 84551016 BLAKE2B 0c70b70bb741567e8b9689a484852d7b689193b0752b062f7d6639f59c6d404a3a91e91a674b64aa3d189bd8f28cc8f678d89027e659d0213b1e9e735af45e14 SHA512 7558b829c1e51ccb203ce182620528f5dd599f86f039074e575fcd50cf7ec38c23f4dee0bff0fa9dea77af416d934a1b2fabdd82e47a053ac93d486bc7af9823 +DIST gcc-13-20250501.tar.xz 84577616 BLAKE2B bb389c8bed1055febed51dd85a332ab903db758aca5403a5cee1bd3c5af0a821ffbc82ad97b020734e5dbe5693bdfb0789b1749ab7d75a2e79d4dad74e371ed1 SHA512 4ddc9306b86b72982847ea6915c92ba6e4956b835cdc0b55426e7120018b2bb85c7c2a69d727c79e48a1114e8321277ca16a6f441131c67e3d9f50ebd1409c48 DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69 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 @@ -26,14 +28,17 @@ DIST gcc-14-20241221.tar.xz 88198252 BLAKE2B 7491c2e1c8885e201859143bdf5cae95af4 DIST gcc-14-20250301.tar.xz 88230928 BLAKE2B 2b65e7cccbf431a74df73adac53995873e78240d7abd97e9c9c576806c389b3c1abb6d47710a25a26f2ee399de750a07c3fb7916a580875d08a3a83354d89c1c SHA512 6b2afe19ce95a595307ae10b89054927116d33b499f1ef8233936d719271c04cb8f66890068ef2252c59ab0276dd0e6210990cb88abdfb4965818c25949f431e DIST gcc-14-20250419.tar.xz 88251960 BLAKE2B b9d8312ac8dd9dd82128ff872e379f3426b4464e940ebd7748e53d6cd41e5a0f936f01ffdd3beb308a693ce98d3c323206ec67006de0735a430534b21899ae6d SHA512 44cd816dc61d4cf9925be47b75c5ddfc791dbfb43cc56a82e3a46673e8a2753d69f8b9230d68399c4b232c2daab85622168998f2dab767bb78c2292613dd6643 DIST gcc-14-20250425.tar.xz 88293272 BLAKE2B 13e27faa2db627a97dcd34b866a036ecf4593468c88b061a24e5c7fc09c0d525019f714842cbb2a6081ac16cccd823ea104915f41d0840c6e3eef7db51650414 SHA512 6afdb41289f37c00bec0629a068c2907af87bf6e78d44b6f41c5de23dae31294c6d06e30ed6c48460f1efe0b314df3afd1be2022d66f3b7826b5c8491554be69 +DIST gcc-14-20250502.tar.xz 88287888 BLAKE2B c7d8daa57bdd68fada6f51d4db66c69b094e72feef12e866163f96e2b2d8a4bc699cfe6885aed31e507c08e660167fdd2edc18b92d0b7f53560d4107e2f04989 SHA512 7fe989f8bb0b0b0bbc48f6ec237e8802b2d1a7f184e4179917d93fe40c2774927d4579943571c6f70bbc8f1c8475c633dcc77f847bee6bb8810909cb3afc9ee6 DIST gcc-14.1.0-musl-patches-1.tar.xz 3600 BLAKE2B 4cd920b7ca1f122cae806707564d8e45bfd48e78c88788a12a301f6068b5a5f335d8885e67479ac536c66aeaa81f2ecb7240ae56e9fc821a7246ab66b453711f SHA512 61c48d90a55dfc2129d96aee69d939d6a89f6407f69f7bd12c1a619f28989f471fd219d731958f8e62b0fd650c32300f0ad8dc06d5df23d9fc8c1a77fe210c25 DIST gcc-14.2.0-patches-7.tar.xz 14244 BLAKE2B 11236e91e1fe83fec8ffaa40ec0cdd4b52a00a951e9aa9a7a0a932b234b8f1a9603333a7ccf55859f4ef53dd4d8ad1fd5c1d2514b6e45fce5b86bb58622a0ecc SHA512 5a4d86d943e31fa068b5a784c0132bd83c23243dcb3cf972557a42e004469a415e1b3185f31b1bb36f916594d475f266a2fda031a414e4a15e0bbfe471269eee DIST gcc-14.2.0-patches-8.tar.xz 14540 BLAKE2B 09f66035343d4cab694b8ab382170f8e2d546ddffedf3477f26edbd6a798ddf94294f569c2661729d40088d590bc17a4eb651710d8d9f66f33703734a1a82b67 SHA512 7a9a2724ef8db3c57b033d90751192969c16e5eaa8f4777b7f16470222ff3a18771b461bd89feaad701e7f0d573b883b487981588129933c732fb76117728b86 DIST gcc-15-20250426.tar.xz 92081764 BLAKE2B 1aded22dbac3458140744c85409da569c3fb8db0b0798a1a7bdea2d9d77b0375f68a240721bda5c8e97e363c3e06e63489ced6987dd6a517b7c4f185e0468f86 SHA512 2278176ed9b7a19e81dc7a174d587523ae01d5a2e49710ac36381b30463c84ed3184c1f1e9c96116e9387b9ff58bc7d389b8dfda7b755c4a0d8470c14f1872c5 +DIST gcc-15-20250503.tar.xz 92076804 BLAKE2B 9c32f2c354df41ae0d340d15aacfe0724f1e75666b3c31a98b2bfc68e0446cb4b38f38b08580fd6dd3ac109544710649d735846c742ebc950c6843e1805907c2 SHA512 30d10cde478800d44fae444ed1cd45b566f449143bc50df95a1a8c8cd80bab0d0cb09255e50fd134bb128c4b49f60a37a21c34924cd1b1143f8f7a4a4709bf31 DIST gcc-15.0.0-musl-patches-2.tar.xz 3076 BLAKE2B 0073248fe4f7dd827980559017b5aa1fb5c4c46acc9ad5c410dc152fd1e44966d3066bf7152338573cb45b1c36027de5f0c519abd414d97a37bccef07f6a5281 SHA512 295f1a669020bbe2874e9b03afd46b5d083073b276fca3543f3767a2d74f35df81cf0a67abad50c200cf7a3af36ec98ff9977cb7d5c19f334af7d3bb1926a3de DIST gcc-15.0.0-patches-55.tar.xz 19028 BLAKE2B f01935ebcf814b34c0319e6b92cb3fc83a562990743d906fe171583ae583e4e6a8c31abba893b0a9b2e1665c3af62271e5ffdad0626a8585dd92e085c886c82e SHA512 1c46d0fb96dadf51a3aa48db97210eb4d9b92f6b9f4ac08af41009a385ef9ed064432a92b5e3163d9ca8bd9065cd5934b2792359ec8c09203e950e21d29119b4 DIST gcc-15.1.0.tar.xz 98268344 BLAKE2B a902ce99db4e93615879e435bcd0b96d5a16ea0af42598ca0e6d12913b2ce3651a98574c3264b2717b848e6b5a823b403ccca0adde463938d5b41aa3f1da0d34 SHA512 ddd35ca6c653dffa88f7c7ef9ee4cd806e156e0f3b30f4d63e75a8363361285cd566ee73127734cde6a934611de815bee3e32e24bfd2e0ab9f7ff35c929821c1 DIST gcc-16-20250427.tar.xz 92158556 BLAKE2B a993e398989cd1548e4bcd399faccf381a82e5648e4638b1a8144637794d4f188232fecc658b3f2a5be58e085931c3abbb9033984c3cab54adac144abb9817f6 SHA512 a64224705eae17147cd2944cf2b24c6542ef77ab6c3d4dfe598b6abcee5c178a3e2cfdbde729b23c22ed4803ddab49d636652f452f382d8cfee0d2be43a227b1 +DIST gcc-16-20250504.tar.xz 92144212 BLAKE2B 6b9390e5cbc44332926f79fdcbb46678b46cded8502a493ba950ced72b74ba47f5ad40de30c2e86e06d3e41b6e51b15ed16802b05b3ad4ed9a93e6987848a299 SHA512 b47468969129288408b09cf5dee79cac0243e6a83321b2622d6681f1cd67e93b9211d6033f307404cf7ecf72b8f2c2e67537ceab9fbc9a13e34d800a42ba677c 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-12.4.1_p20250430.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250430.ebuild new file mode 100644 index 0000000000..fb61817994 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250430.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="12.4.0" +PATCH_VER="3" +MUSL_VER="1" +MUSL_GCC_VER="12.4.0" +PYTHON_COMPAT=( python3_{10..13} ) + +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 ~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-13.3.1_p20250501.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250501.ebuild new file mode 100644 index 0000000000..a439cd30a1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250501.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="13.3.0" +MUSL_GCC_VER="13.2.0" +PATCH_VER="4" +MUSL_VER="2" +PYTHON_COMPAT=( python3_{10..13} ) + +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 ~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-14.2.1_p20250502.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250502.ebuild new file mode 100644 index 0000000000..d405a1386b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250502.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="14.2.0" +PATCH_VER="8" +MUSL_VER="1" +MUSL_GCC_VER="14.1.0" +PYTHON_COMPAT=( python3_{10..13} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # m68k doesnt build (ICE, bug 932733) + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.1.1_p20250503.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.1.1_p20250503.ebuild new file mode 100644 index 0000000000..3c85892514 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.1.1_p20250503.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="15.0.0" +PATCH_VER="55" +MUSL_VER="2" +MUSL_GCC_VER="15.0.0" +PYTHON_COMPAT=( python3_{10..13} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250504.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250504.ebuild new file mode 100644 index 0000000000..2338e2a393 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250504.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="16.0.0" +MUSL_GCC_VER="16.0.0" +PYTHON_COMPAT=( python3_{10..13} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.8.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.8.ebuild index c410f22ffd..8f8d1b87aa 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.8.ebuild @@ -22,7 +22,7 @@ else SRC_URI="mirror://gnu/patch/${P}.tar.xz" SRC_URI+=" verify-sig? ( mirror://gnu/patch/${P}.tar.xz.sig )" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~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-fs/quota/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/quota/Manifest index de8eeb05f7..d1698eff54 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/quota/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/quota/Manifest @@ -1 +1,2 @@ DIST quota-4.09.tar.gz 523191 BLAKE2B 30b3828a45dcd7d99ff053f362917c138b1f0bcbde5f6fd3dfc1b48cb12615e5673d852f9276f2b370f9c799a2103e220d91ddf6a770aaaf8944cfb5c1131a74 SHA512 003d45f33543d4c87446e6547079cdae293b8dade01c58cf3626623721a1400ee07681395ad656c23a9ea2a62ab27c6ad24ad55600890e6e25334aba27ab1ad5 +DIST quota-4.10.tar.gz 551775 BLAKE2B 8c274e66e618f48c092c6885daf3d86223561d138e55f3abd24a24b73d6dd9da9458ac927ada9e68a61b06f7967d4fe2e80ed0c6ca1afb7f1038e62e9b358cd3 SHA512 071b7847b6b806b1c821059f11332c7a060787e041cc050789818be41d334d8bacaa7792fe3b8b0d422d7a505c0d7a0df8c363364c5f7cd9fa38cd74f0f6542f diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/quota/quota-4.10.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/quota/quota-4.10.ebuild new file mode 100644 index 0000000000..326b49b0d0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/quota/quota-4.10.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Linux quota tools" +HOMEPAGE="https://sourceforge.net/projects/linuxquota/" +SRC_URI="https://downloads.sourceforge.net/linuxquota/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="ldap netlink nls rpc selinux tcpd" + +RDEPEND=" + sys-fs/e2fsprogs + ldap? ( >=net-nds/openldap-2.3.35:= ) + netlink? ( + sys-apps/dbus + dev-libs/libnl:3 + ) + rpc? ( + elibc_glibc? ( sys-libs/glibc[-rpc(-)] ) + net-libs/libtirpc:= + net-libs/rpcsvc-proto + ) + tcpd? ( sys-apps/tcp-wrappers ) +" +DEPEND="${RDEPEND}" +BDEPEND="nls? ( sys-devel/gettext )" +PDEPEND="rpc? ( net-nds/rpcbind )" +RDEPEND+=" selinux? ( sec-policy/selinux-quota )" + +src_configure() { + local myeconfargs=( + --enable-ext2direct + $(use_enable nls) + $(use_enable ldap ldapmail) + $(use_enable netlink) + $(use_enable rpc) + $(use_enable rpc rpcsetquota) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + emake DESTDIR="${D}" install + dodoc doc/* README.* Changelog + + insinto /etc + insopts -m0644 + doins warnquota.conf quotatab + + newinitd "${FILESDIR}"/quota.rc7 quota + newconfd "${FILESDIR}"/quota.confd quota + + if use rpc ; then + newinitd "${FILESDIR}"/rpc.rquotad.initd rpc.rquotad + fi + + if use ldap ; then + insinto /etc/openldap/schema + insopts -m0644 + doins "${FILESDIR}"/ldap-scripts/quota.schema + + exeinto /usr/share/quota/ldap-scripts + doexe "${FILESDIR}"/ldap-scripts/*.pl + doexe "${FILESDIR}"/ldap-scripts/edquota_editor + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/Manifest index a5d94a00f5..98d0722212 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/Manifest @@ -6,3 +6,5 @@ DIST zfs-2.3.0.tar.gz 34029599 BLAKE2B b9fb7913f95dd0c8aec703961ecc0413aa51df889 DIST zfs-2.3.0.tar.gz.asc 836 BLAKE2B 9d1bd03dc6e5699236bca4c2b20a0a8b46e88d90ea58f7171d087c555da85d6af88acc5990f828ba455f9fbe24c90800c1edf74cd3f865b528730ffef8a931b8 SHA512 ba9a8e8b248de7383c8d33b84b0d70de026b8f3e6a1c82557b74ac274b28e559435541fbdfe816f6b80ce5098b3cac34af69cd53877f1f50fa6a846fa92a5dd0 DIST zfs-2.3.1.tar.gz 34048716 BLAKE2B 7f22826c3359a015a87aafd119d882d8196dca59dadd85674a48c42ed502937f2880e98a387e9986be2c14fc48f46a288aed5fd8635f13db2585e3fc95e57726 SHA512 235023dbe97b3f7c5273e2a6fa34957cc37967256845d4ed9faa2e2a6da29ea6fdcba4167658cf03129afbb0aa11311a760d3d0b5ea5aecc64a4c7ee22ad2d31 DIST zfs-2.3.1.tar.gz.asc 836 BLAKE2B 5d1f84f5803f1b0553ad75b12020a57537f6a6e3c3781ab8a21f0d7de9ad6be0be7618bb42e51bbddd5fc48cabb05f6d79ea2f5eebc63d67383b29c44d69f7f6 SHA512 619aac22d80b8100f28ca3e4a984b2e0387b272131d2a8c104a278955a811e2280ecf3bfa3b7d54ed73572ed7cd45121cd724b52afd3503c30c1e41400d27674 +DIST zfs-2.3.2.tar.gz 34344259 BLAKE2B 8a89c62cbbeaf410db4011821cdd9959abef1782be7427b81ac47565407384fa3a381bef041dae73e97c2b2cefca62933180851901b3b1b86974ed33ad178a61 SHA512 94311f2eca1488be83aa0cb802b4a4541bbbd061a3e8e5cbda62cabbb0c8f9a705372ad192cb77703b3d7642c43be7f604f3c363b243cf03a6aceae2d7e5db81 +DIST zfs-2.3.2.tar.gz.asc 836 BLAKE2B e9f7f6e5966f395f3cf48cbb63c76872edf50970f053aaaf0f254035e9aa7728be036a5a4dc24cff32d37cdb61ffa4bc1af7e03c8bc1ac9abc9abcfea7f98b95 SHA512 50f1ce4d07febd08a5098bb42516d52ff3227b2b36463a07eca558bfc630628244cd910ea385aa44fb126cd0542d9048a501af8b391a56cafd7307b9db3083c4 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.3.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.3.1.ebuild index d8c897facd..18703b2b70 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.3.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.3.1.ebuild @@ -31,7 +31,7 @@ else ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))" if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc" + KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv ~sparc" fi fi diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.3.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.3.2.ebuild new file mode 100644 index 0000000000..2b1d047a34 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.3.2.ebuild @@ -0,0 +1,207 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODULES_INITRAMFS_IUSE=+initramfs +inherit autotools flag-o-matic linux-mod-r1 multiprocessing + +DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs" +HOMEPAGE="https://github.com/openzfs/zfs" + +MODULES_KERNEL_MAX=6.14 +MODULES_KERNEL_MIN=4.18 + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/openzfs/zfs.git" + inherit git-r3 + unset MODULES_KERNEL_MAX +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openzfs.asc + inherit verify-sig + + MY_PV=${PV/_rc/-rc} + SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz" + SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )" + S="${WORKDIR}/zfs-${MY_PV}" + + ZFS_KERNEL_COMPAT="${MODULES_KERNEL_MAX}" + # Increments minor eg 5.14 -> 5.15, and still supports override. + ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}" + ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))" + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc" + fi +fi + +LICENSE="CDDL MIT debug? ( GPL-2+ )" +SLOT="0/${PVR}" +IUSE="custom-cflags debug +rootfs" +RESTRICT="test" + +BDEPEND=" + app-alternatives/awk + dev-lang/perl +" + +if [[ ${PV} != 9999 ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )" + + IUSE+=" +dist-kernel-cap" + RDEPEND=" + dist-kernel-cap? ( dist-kernel? ( + " + eerror " Block devices --->" + eerror " [X] Loopback device support" + fi + fi + fi + fi +} + +libsoversion_check() { + local bugurl libzfs_sover + bugurl="https://bugs.gentoo.org/enter_bug.cgi?form_name=enter_bug&product=Gentoo+Linux&component=Current+packages" + + libzfs_sover="$(grep 'libzfs_la_LDFLAGS += -version-info' lib/libzfs/Makefile.am \ + | grep -Eo '[0-9]+:[0-9]+:[0-9]+')" + libzfs_sover="${libzfs_sover%%:*}" + + if [[ ${libzfs_sover} -ne $(ver_cut 2 ${SLOT}) ]]; then + echo + eerror "BUG BUG BUG BUG BUG BUG BUG BUG" + eerror "ebuild subslot does not match libzfs soversion!" + eerror "libzfs soversion: ${libzfs_sover}" + eerror "ebuild value: $(ver_cut 2 ${SLOT})" + eerror "This is a bug in the ebuild, please use the following URL to report it" + eerror "${bugurl}&short_desc=${CATEGORY}%2F${P}+update+subslot" + echo + # we want to abort for releases, but just print a warning for live ebuild + # to keep package installable + [[ ${PV} == "9999" ]] || die + fi +} + +src_prepare() { + default + libsoversion_check + + # Run unconditionally (bug #792627) + eautoreconf + + if [[ ${PV} != "9999" ]]; then + # Set revision number + sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release" + fi + + if use python; then + pushd contrib/pyzfs >/dev/null || die + distutils-r1_src_prepare + popd >/dev/null || die + fi + + # Tries to use /etc/conf.d which we reserve for OpenRC + sed -i -e '/EnvironmentFile/d' etc/systemd/system/zfs*.in || die + + # prevent errors showing up on zfs-mount stop, #647688 + # openrc will unmount all filesystems anyway. + sed -i "/^ZFS_UNMOUNT=/ s/yes/no/" "etc/default/zfs.in" || die +} + +src_configure() { + use custom-cflags || strip-flags + use minimal || python_setup + + local myconf=( + --bindir="${EPREFIX}/bin" + --enable-shared + --enable-sysvinit + --localstatedir="${EPREFIX}/var" + --sbindir="${EPREFIX}/sbin" + --with-config=user + --with-dracutdir="${EPREFIX}/usr/lib/dracut" + --with-linux="${KV_DIR}" + --with-linux-obj="${KV_OUT_DIR}" + --with-udevdir="$(get_udevdir)" + --with-pamconfigsdir="${EPREFIX}/unwanted_files" + --with-pammoduledir="$(getpam_mod_dir)" + --with-systemdunitdir="$(systemd_get_systemunitdir)" + --with-systemdpresetdir="$(systemd_get_systempresetdir)" + --with-vendor=gentoo + # Building zfs-mount-generator.c on musl breaks as strndupa + # isn't available. But systemd doesn't support musl anyway, so + # just disable building it. + # UPDATE: it has been fixed since, + # https://github.com/openzfs/zfs/commit/1f19826c9ac85835cbde61a7439d9d1fefe43a4a + # but we still leave it as this for now. + $(use_enable !elibc_musl systemd) + $(use_enable debug) + $(use_enable nls) + $(use_enable pam) + $(use_enable python pyzfs) + $(use_with unwind libunwind) + --disable-static + $(usex minimal --without-python --with-python="${EPYTHON}") + ) + + econf "${myconf[@]}" +} + +src_compile() { + default + if use python; then + pushd contrib/pyzfs >/dev/null || die + distutils-r1_src_compile + popd >/dev/null || die + fi +} + +src_install() { + default + + gen_usr_ldscript -a nvpair uutil zfsbootenv zfs zfs_core zpool + + use pam && { rm -rv "${ED}/unwanted_files" || die ; } + + use test-suite || { rm -r "${ED}"/usr/share/zfs/{test-runner,zfs-tests,runfiles,*sh} || die ; } + + find "${ED}" -name '*.la' -delete || die + + dobashcomp contrib/bash_completion.d/zfs + bashcomp_alias zfs zpool + + # strip executable bit from conf.d file + fperms 0644 /etc/conf.d/zfs + + if use python; then + pushd contrib/pyzfs >/dev/null || die + distutils-r1_src_install + popd >/dev/null || die + fi + + # enforce best available python implementation + use minimal || python_fix_shebang "${ED}/bin" +} + +pkg_postinst() { + udev_reload + + # we always need userspace utils in sync with zfs-kmod + # so force initrd update for userspace as well, to avoid + # situation when zfs-kmod trigger initrd rebuild before + # userspace component is rebuilt + # KV_* variables are provided by linux-info.eclass + if [[ -z ${ROOT} ]] && use dist-kernel; then + dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}" + fi + + if use rootfs; then + if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then + elog "Root on zfs requires an initramfs to boot" + elog "The following packages provide one and are tested on a regular basis:" + elog " sys-kernel/dracut ( preferred, module maintained by zfs developers )" + elog " sys-kernel/genkernel" + fi + fi + + if systemd_is_booted || has_version sys-apps/systemd; then + einfo "Please refer to $(systemd_get_systempresetdir)/50-zfs.preset" + einfo "for default zfs systemd service configuration" + else + [[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \ + einfo "You should add zfs-import to the boot runlevel." + [[ -e "${EROOT}/etc/runlevels/boot/zfs-load-key" ]] || \ + einfo "You should add zfs-load-key to the boot runlevel." + [[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \ + einfo "You should add zfs-mount to the boot runlevel." + [[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \ + einfo "You should add zfs-share to the default runlevel." + [[ -e "${EROOT}/etc/runlevels/default/zfs-zed" ]] || \ + einfo "You should add zfs-zed to the default runlevel." + fi +} + +pkg_postrm() { + udev_reload +} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-9999.ebuild index 1f1fcfb8f8..ed54eda9d8 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-9999.ebuild @@ -287,7 +287,7 @@ pkg_postinst() { fi if systemd_is_booted || has_version sys-apps/systemd; then - einfo "Please refer to ${EROOT}/$(systemd_get_systempresetdir)/50-zfs.preset" + einfo "Please refer to $(systemd_get_systempresetdir)/50-zfs.preset" einfo "for default zfs systemd service configuration" else [[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \ diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-105-ensure-abs-args-for-objcopy.patch b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-105-ensure-abs-args-for-objcopy.patch deleted file mode 100644 index aefd8be67e..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-105-ensure-abs-args-for-objcopy.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 1579bb0c77d9e1e4599623a165c54a0dccdaf875 Mon Sep 17 00:00:00 2001 -From: Andrew Ammerlaan -Date: Thu, 31 Oct 2024 11:28:37 +0100 -Subject: [PATCH] fix(dracut.sh): ensure abs path for objcopy args - -Closes: https://github.com/dracut-ng/dracut-ng/issues/833 -Signed-off-by: Andrew Ammerlaan ---- - dracut.sh | 19 ++++++++++++++++--- - 1 file changed, 16 insertions(+), 3 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index 90927136e..8b666a1ac 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -35,6 +35,19 @@ readonly dracut_cmd=$(readlink -f "$0") - - set -o pipefail - -+# below we sometimes cd, which causes problems if we're building an UKI -+# and relative paths are passed on to us. Store the pwd before we do anything. -+pwd=$(pwd) -+path_rel_to_abs() { -+ for var in "$@"; do -+ if [[ $var == /* ]]; then -+ echo "$var" -+ else -+ echo "$pwd/$var" -+ fi -+ done -+} -+ - usage() { - [[ $sysroot_l ]] && dracutsysrootdir="$sysroot_l" - [[ $dracutbasedir ]] || dracutbasedir="$dracutsysrootdir"/usr/lib/dracut -@@ -1095,9 +1108,9 @@ drivers_dir="${drivers_dir%"${drivers_dir##*[!/]}"}" - [[ $reproducible_l ]] && reproducible="$reproducible_l" - [[ $loginstall_l ]] && loginstall="$loginstall_l" - [[ $uefi_l ]] && uefi=$uefi_l --[[ $uefi_stub_l ]] && uefi_stub="$uefi_stub_l" --[[ $uefi_splash_image_l ]] && uefi_splash_image="$uefi_splash_image_l" --[[ $kernel_image_l ]] && kernel_image="$kernel_image_l" -+[[ $uefi_stub_l ]] && uefi_stub=$(path_rel_to_abs "$uefi_stub_l") -+[[ $uefi_splash_image_l ]] && uefi_splash_image=$(path_rel_to_abs "$uefi_splash_image_l") -+[[ $kernel_image_l ]] && kernel_image=$(path_rel_to_abs "$kernel_image_l") - [[ $sbat_l ]] && sbat="$sbat_l" - [[ $machine_id_l ]] && machine_id="$machine_id_l" - diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-105-fix-check_kernel_module.patch b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-105-fix-check_kernel_module.patch deleted file mode 100644 index 558bd388b9..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-105-fix-check_kernel_module.patch +++ /dev/null @@ -1,28 +0,0 @@ -From b90eda4b431af23d1101f1ea68b656929c6a82b2 Mon Sep 17 00:00:00 2001 -From: Nowa Ammerlaan -Date: Fri, 8 Nov 2024 20:01:54 +0100 -Subject: [PATCH] fix(dracut-functions.sh): check for modules in --kmoddir, not - in --sysroot - -Modules are installed from the directory specified by --kmoddir, but currently -the check_kernel_module() function is checking for the module in ---sysroot/lib/modules. This is notably not the same when kernels packages are -being built inside some docker container. We should check for the modules -existence in the directory we are actually going to install it from. ---- - dracut-functions.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dracut-functions.sh b/dracut-functions.sh -index 865c31290..245c69cb6 100755 ---- a/dracut-functions.sh -+++ b/dracut-functions.sh -@@ -761,7 +761,7 @@ check_kernel_config() { - # 0 if the kernel module is either built-in or available - # 1 if the kernel module is not enabled - check_kernel_module() { -- modprobe -d "$dracutsysrootdir" -S "$kernel" --dry-run "$1" &> /dev/null || return 1 -+ modprobe -d "$drivers_dir/../../../" -S "$kernel" --dry-run "$1" &> /dev/null || return 1 - } - - # get_cpu_vendor diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-105-systemd-cryptsetup.patch b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-105-systemd-cryptsetup.patch deleted file mode 100644 index 154bd21ca1..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-105-systemd-cryptsetup.patch +++ /dev/null @@ -1,29 +0,0 @@ -https://github.com/dracut-ng/dracut-ng/pull/921 -https://bugs.gentoo.org/943035 - -From 2d4b550c71cc79ac7a3f18afc09d8263963d5de2 Mon Sep 17 00:00:00 2001 -From: Jo Zzsi -Date: Sat, 9 Nov 2024 14:06:57 -0500 -Subject: [PATCH] fix(dracut-systemd): check systemd-cryptsetup before - including - ---- - modules.d/98dracut-systemd/module-setup.sh | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/modules.d/98dracut-systemd/module-setup.sh b/modules.d/98dracut-systemd/module-setup.sh -index 0438e40f0..f2502cd78 100755 ---- a/modules.d/98dracut-systemd/module-setup.sh -+++ b/modules.d/98dracut-systemd/module-setup.sh -@@ -19,7 +19,10 @@ depends() { - # systemd-cryptsetup is mandatory dependency - # see https://github.com/dracut-ng/dracut-ng/issues/563 - if dracut_module_included "crypt"; then -- deps+=" systemd-cryptsetup" -+ module_check systemd-cryptsetup > /dev/null 2>&1 -+ if [[ $? == 255 ]]; then -+ deps+=" systemd-cryptsetup" -+ fi - fi - - echo "$deps" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/ldb/ldb-2.9.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/ldb/ldb-2.9.2.ebuild index 999046da9a..6d3e584582 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/ldb/ldb-2.9.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/ldb/ldb-2.9.2.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://download.samba.org/pub/${PN}/${P}.tar.gz" LICENSE="LGPL-3" SLOT="0/${PV}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="doc ldap +lmdb python test" REQUIRED_USE="${PYTHON_REQUIRED_USE} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.12.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.12.ebuild index 5f85cdd900..d179aa7975 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.12.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ SRC_URI="https://samba.org/ftp/tdb/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" IUSE="python test" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sdk_container/src/third_party/portage-stable/virtual/ldb/ldb-2.9.2.ebuild b/sdk_container/src/third_party/portage-stable/virtual/ldb/ldb-2.9.2.ebuild new file mode 100644 index 0000000000..ae106115a4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/virtual/ldb/ldb-2.9.2.ebuild @@ -0,0 +1,11 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Virtual for samba project's ldb" + +SLOT="0/2.9.2" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + +RDEPEND="sys-libs/ldb:${SLOT}" diff --git a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/Manifest b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/Manifest index f073526aac..526f900abb 100644 --- a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/Manifest +++ b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/Manifest @@ -1 +1,2 @@ DIST pixman-0.44.2.tar.xz 650012 BLAKE2B 856aa35ae705de522d70250beee8acc872b54d2b5caa9cee6bc12ffde7c293b3db76f56c75858cc5ab1bc592fb1d4078485c2def2ae4bcd5a50b6dfc2eb477eb SHA512 b24907f9a0bf6a9aa3278d31986c562c5f2d68f8c178021497c8648aca9f91e4c6f1ecfacf93eb01ba4f03ce4cfc5970fc40bb0fe6724bac9210fc57da09cba4 +DIST pixman-0.46.0.tar.xz 660268 BLAKE2B 5fc9d0df2f685afc1931ac12757d7ec0369c1f90b51f79b696479a2edd0c13e0684938871166318ca5c78b4955195ba5517e98e4666803b9062f4ed2b6593afa SHA512 c7ef987b7db89c58278c537f862bc9eb17c19f8288a3b7e88f8501a0486662f1e2cb6a2c0b81d4bf0464310475192428d6e29d05a6ae3cfc1d2c0941fbb0b9a3 diff --git a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-0.46.0.ebuild b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-0.46.0.ebuild new file mode 100644 index 0000000000..fa5ecac0c2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-0.46.0.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +EGIT_REPO_URI="https://gitlab.freedesktop.org/pixman/pixman.git" + +if [[ ${PV} = 9999* ]]; then + GIT_ECLASS="git-r3" +fi + +inherit ${GIT_ECLASS} meson-multilib multiprocessing toolchain-funcs + +DESCRIPTION="Low-level pixel manipulation routines" +HOMEPAGE="http://www.pixman.org/ https://gitlab.freedesktop.org/pixman/pixman/" +if [[ ${PV} != 9999* ]]; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + SRC_URI="https://www.x.org/releases/individual/lib/${P}.tar.xz" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="cpu_flags_ppc_altivec cpu_flags_arm_neon loongson2f cpu_flags_x86_mmxext cpu_flags_x86_sse2 cpu_flags_x86_ssse3 static-libs test" +RESTRICT="!test? ( test )" + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use test && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use test && tc-check-openmp +} + +multilib_src_configure() { + local emesonargs=( + $(meson_feature cpu_flags_x86_mmxext mmx) + $(meson_feature cpu_flags_x86_sse2 sse2) + $(meson_feature cpu_flags_x86_ssse3 ssse3) + $(meson_feature cpu_flags_ppc_altivec vmx) + $(meson_feature loongson2f loongson-mmi) + $(meson_feature test openmp) # only used in unit tests + $(meson_feature test tests) + -Ddefault_library=$(usex static-libs both shared) + -Ddemos=disabled + -Dgtk=disabled + -Dlibpng=disabled + ) + + if [[ ${ABI} == arm64 ]]; then + emesonargs+=($(meson_feature cpu_flags_arm_neon a64-neon)) + elif [[ ${ABI} == arm ]]; then + emesonargs+=($(meson_feature cpu_flags_arm_neon neon)) + fi + + meson_src_configure +} + +multilib_src_test() { + export OMP_NUM_THREADS=$(makeopts_jobs) + meson_src_test -t 100 +} diff --git a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-9999.ebuild b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-9999.ebuild index 456ea42b85..fa5ecac0c2 100644 --- a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8