From bc063957c446d6816273da27f6076352ff872308 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:06:12 +0000 Subject: [PATCH 001/131] app-admin/logrotate: Sync with Gentoo It's from Gentoo commit db15d48223204aa7ef27420940db13afdf7ec681. --- .../app-admin/logrotate/Manifest | 2 - .../logrotate/logrotate-3.21.0.ebuild | 99 ------------------- .../logrotate/logrotate-3.22.0.ebuild | 6 +- .../app-admin/logrotate/metadata.xml | 6 +- 4 files changed, 6 insertions(+), 107 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.21.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-admin/logrotate/Manifest b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/Manifest index 889283fbcb..29b542c8f2 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/logrotate/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/Manifest @@ -1,4 +1,2 @@ -DIST logrotate-3.21.0.tar.xz 168532 BLAKE2B f7fa0050bde51e2517eac8456ecf87648bc8423621830894ceb2a3ff6b9dfe32c5b53df6a4ee59aa91bd563ed94376a635159535f4fdc170fbc673354bcef508 SHA512 c576df7d2bc1a1db2f99befdd0ea627aef2d97bdcd4a7cdea76870623ba92fb1f04f1af6d15b75e4a9085f4aef2ae5e9843c4094cdd01e24d89872ccaf9c0d4a -DIST logrotate-3.21.0.tar.xz.asc 833 BLAKE2B b2099a0b8c15d1ea7f7325884027dff08dcc8305113411448797b8089d17026242a3f10bd6d7f3d865e3e339ec6fb5faf4ff48f8fd65bca3af4da8b335c3b5f1 SHA512 8f4c1853cd84f85c796b72b43048f4cf04e3409703e7669ee91e1d1aa5e9e5c04261fac1cdf85ec303508d5b6dbf126a44eb9ec819bcc772c664830d39e1068c DIST logrotate-3.22.0.tar.xz 172108 BLAKE2B c1c9f1ff792905d2917e9ba3cee360c50259e1520e04073cb69abe475499adcf01aeb3cb4c6933af61255fbb5978577c4fdf9d6ab6ebf9568358d2446791c7f3 SHA512 16fd95b4daef779212008c4a968c7a7130be8d550f58531d24fc04599cb9adff6323a745725b3b14d7312ad36cb6646fe33a3defdb5b70cda2cec9646aab066a DIST logrotate-3.22.0.tar.xz.asc 833 BLAKE2B 379d4fd71c6161211234903560770cf14a7ddf769b83e76ef27ad96d1204e2f4dc73d1e44aa69401db87c252c4471d5bdbace0555dfbb66c8751c20131a7751f SHA512 93664c45bfe9ea20aedc54fe216825db38eaf81d43b238cd7bf8ea3e03f7d282f53743fb6d914766a9ed0cb5b33376435d253db5b9ec7039facd66e25d349dd4 diff --git a/sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.21.0.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.21.0.ebuild deleted file mode 100644 index 5c8f335a35..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.21.0.ebuild +++ /dev/null @@ -1,99 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kamildudka.asc -inherit systemd tmpfiles verify-sig - -DESCRIPTION="Rotates, compresses, and mails system logs" -HOMEPAGE="https://github.com/logrotate/logrotate" -SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz" -SRC_URI+=" verify-sig? ( https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz.asc )" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="acl +cron selinux" - -DEPEND=" - >=dev-libs/popt-1.5 - selinux? ( sys-libs/libselinux ) - acl? ( virtual/acl ) -" -RDEPEND=" - ${DEPEND} - selinux? ( sec-policy/selinux-logrotate ) - cron? ( virtual/cron ) -" -BDEPEND="verify-sig? ( sec-keys/openpgp-keys-kamildudka )" - -STATEFILE="${EPREFIX}/var/lib/misc/logrotate.status" -OLDSTATEFILE="${EPREFIX}/var/lib/logrotate.status" - -PATCHES=( - "${FILESDIR}"/${PN}-3.15.0-ignore-hidden.patch -) - -move_old_state_file() { - elog "logrotate state file is now located at ${STATEFILE}" - elog "See bug #357275" - if [[ -e "${OLDSTATEFILE}" ]] ; then - elog "Moving your current state file to new location: ${STATEFILE}" - mv -n "${OLDSTATEFILE}" "${STATEFILE}" || die - fi -} - -install_cron_file() { - exeinto /etc/cron.daily - newexe "${S}"/examples/logrotate.cron "${PN}" -} - -src_prepare() { - default - - sed -i -e 's#/usr/sbin/logrotate#/usr/bin/logrotate#' examples/logrotate.{cron,service} || die -} - -src_configure() { - econf \ - $(use_with acl) \ - $(use_with selinux) \ - --with-state-file-path="${STATEFILE}" -} - -src_install() { - dobin logrotate - doman logrotate.8 - dodoc ChangeLog.md - - insinto /etc - doins "${FILESDIR}"/logrotate.conf - - use cron && install_cron_file - - systemd_dounit examples/logrotate.{service,timer} - newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}.conf - - keepdir /etc/logrotate.d -} - -pkg_postinst() { - elog - elog "The ${PN} binary is now installed under /usr/bin. Please" - elog "update your links" - elog - - move_old_state_file - - tmpfiles_process ${PN}.conf - - if [[ -z ${REPLACING_VERSIONS} ]] ; then - elog "If you wish to have logrotate e-mail you updates, please" - elog "emerge virtual/mailx and configure logrotate in" - elog "/etc/logrotate.conf appropriately" - elog - elog "Additionally, /etc/logrotate.conf may need to be modified" - elog "for your particular needs. See man logrotate for details." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.22.0.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.22.0.ebuild index 169818f942..d3519bf4b5 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.22.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.22.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 @@ -18,13 +18,13 @@ IUSE="acl +cron selinux" DEPEND=" >=dev-libs/popt-1.5 - selinux? ( sys-libs/libselinux ) acl? ( virtual/acl ) + selinux? ( sys-libs/libselinux ) " RDEPEND=" ${DEPEND} - selinux? ( sec-policy/selinux-logrotate ) cron? ( virtual/cron ) + selinux? ( sec-policy/selinux-logrotate ) " BDEPEND="verify-sig? ( sec-keys/openpgp-keys-cgzones )" diff --git a/sdk_container/src/third_party/portage-stable/app-admin/logrotate/metadata.xml b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/metadata.xml index 5fc3fca470..4f07f36161 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/logrotate/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/metadata.xml @@ -5,7 +5,7 @@ base-system@gentoo.org Gentoo Base System - + Logrotate allows for the automatic rotation compression, removal and mailing of log files. Logrotate can be set to handle a log file daily, weekly, monthly or when the log file gets to a certain @@ -19,11 +19,11 @@ su tamaƱo alcanza cierto valor. - Installs acl support Installs cron file - Installs Security Enhanced Linux support + https://github.com/logrotate/logrotate/issues + https://github.com/logrotate/logrotate/releases logrotate/logrotate cpe:/a:logrotate_project:logrotate From cac4ba828705cb292e54edb5ee4366184d389040 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:06:13 +0000 Subject: [PATCH 002/131] app-admin/sudo: Sync with Gentoo It's from Gentoo commit f05a9f09658ed6754a63f44702778a0a84a765d5. --- .../portage-stable/app-admin/sudo/Manifest | 2 + .../app-admin/sudo/sudo-1.9.17.ebuild | 289 ++++++++++++++++++ 2 files changed, 291 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-1.9.17.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-admin/sudo/Manifest b/sdk_container/src/third_party/portage-stable/app-admin/sudo/Manifest index 9997003e13..99c69c59b6 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/sudo/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-admin/sudo/Manifest @@ -1,2 +1,4 @@ DIST sudo-1.9.16p2.tar.gz 5398419 BLAKE2B ef9f1c2cd4044454a808d1dff5f865355e1bd061d1b5c93a005207e28e9b9df7c267cf01358ce60dd2c98f6844b51dab00eac4e7a08bade1d621235c3a4774bf SHA512 1e2ea762671890a03b0ea4b95b3849f2d3a4c301432db8767433e9d80c517efd8b7a68e0bbce1b178aff5857907600f1f5e0d889779cb27e38c2f602395f6f06 DIST sudo-1.9.16p2.tar.gz.sig 566 BLAKE2B 90f90658a7d6ec3b32f6a726a2cd28e156826a65749a88a2a29d970e97804d2d75de856bc85c9a459233b59e35564c5fbf93aff53ffe42d17d0e94dd23724acd SHA512 7f0e3269c9befada535590b2cfc36f96cd70831b5c030df5b3bf8c7cb3eff296d22193429f940db4a0df849b4d8080e4006086c49869b4bbae663836b2632b49 +DIST sudo-1.9.17.tar.gz 5447899 BLAKE2B d9f2e0d8bca5d5dba5f78a9c064454032038fa60dae022ce72dd0d262bc4bd756fcc5a8e5b0ab4e179c3786fc86a401f7f1ba6d45ca4fe02e43d5cacb1e7f022 SHA512 e94df174ca63a828d953d8400d7e68f8cb86119ca1cd845567b7b452d09bef806a6bd0a6cfc232acfdf7c85aa915f2897b29990c7df89b36c92c62aa469cd7a7 +DIST sudo-1.9.17.tar.gz.sig 566 BLAKE2B c7543ab8f3a20a27eb2df6b4b6f0aa69d657cbc5d88ea4377ec28b5ef77ec137b7a88a9f28d7051a0ce95493e4c860a01a1cb7e081563183850f4d704805336e SHA512 c03534cf696f300c4434ad2053267b586d3a01459269206632c3c8f348469d3b40d7b4ace30373203c539e2f69b94402d6d2b96da1427d7e872509e4e8029812 diff --git a/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-1.9.17.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-1.9.17.ebuild new file mode 100644 index 0000000000..8fff95b78b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-1.9.17.ebuild @@ -0,0 +1,289 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit pam tmpfiles toolchain-funcs + +MY_P="${P/_/}" +MY_P="${MY_P/beta/b}" + +DESCRIPTION="Allows users or groups to run commands as other users" +HOMEPAGE="https://www.sudo.ws/" + +if [[ ${PV} == 9999 ]] ; then + inherit autotools mercurial + EHG_REPO_URI="https://www.sudo.ws/repos/sudo" +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/sudo.ws.asc + inherit libtool verify-sig + + uri_prefix= + case ${P} in + *_beta*|*_rc*) uri_prefix=beta/ ;; + esac + + SRC_URI=" + https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz + verify-sig? ( + https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz.sig + ) + " + + if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + fi + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-sudo )" +fi + +S="${WORKDIR}/${MY_P}" + +# Basic license is ISC-style as-is, some files are released under +# 3-clause BSD license +LICENSE="ISC BSD" +SLOT="0" +IUSE="gcrypt ldap nls offensive pam sasl +secure-path selinux +sendmail skey ssl sssd" + +DEPEND=" + sys-libs/zlib:= + virtual/libcrypt:= + gcrypt? ( dev-libs/libgcrypt:= ) + ldap? ( + >=net-nds/openldap-2.1.30-r1:= + sasl? ( + dev-libs/cyrus-sasl + net-nds/openldap:=[sasl] + ) + ) + pam? ( sys-libs/pam ) + sasl? ( dev-libs/cyrus-sasl ) + selinux? ( sys-libs/libselinux ) + skey? ( >=sys-auth/skey-1.1.5-r1 ) + ssl? ( dev-libs/openssl:= ) + sssd? ( sys-auth/sssd[sudo(+)] ) +" +RDEPEND=" + ${DEPEND} + >=app-misc/editor-wrapper-3 + virtual/editor + ldap? ( dev-lang/perl ) + pam? ( sys-auth/pambase ) + selinux? ( sec-policy/selinux-sudo ) + sendmail? ( virtual/mta ) +" +BDEPEND+=" + app-alternatives/yacc + virtual/pkgconfig +" + +REQUIRED_USE=" + ?? ( pam skey ) + ?? ( gcrypt ssl ) +" + +MAKEOPTS+=" SAMPLES=" + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + else + elibtoolize + fi +} + +set_secure_path() { + # First extract the default ROOTPATH from build env + SECURE_PATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env; echo "${ROOTPATH}") + + case "${SECURE_PATH}" in + */usr/sbin*) + ;; + *) + SECURE_PATH=$(unset PATH; . "${EPREFIX}"/etc/profile.env; echo "${PATH}") + ;; + esac + + if [[ -z ${SECURE_PATH} ]] ; then + ewarn " Failed to detect SECURE_PATH, please report this" + fi + + # Then remove duplicate path entries + cleanpath() { + local newpath thisp IFS=: + for thisp in $1 ; do + if [[ :${newpath}: != *:${thisp}:* ]] ; then + newpath+=:${thisp} + else + einfo " Duplicate entry ${thisp} removed..." + fi + done + SECURE_PATH=${newpath#:} + } + cleanpath /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin${SECURE_PATH:+:${SECURE_PATH}} + + # Finally, strip gcc paths, bug #136027 + rmpath() { + local e newpath thisp IFS=: + for thisp in ${SECURE_PATH} ; do + for e ; do + [[ ${thisp} == ${e} ]] && continue 2 ; + done + newpath+=:${thisp} + done + SECURE_PATH=${newpath#:} + } + rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*' +} + +src_configure() { + local SECURE_PATH + + set_secure_path + + # bug #767712 + tc-export PKG_CONFIG + + # - audit: somebody got to explain me how I can test this before I + # enable it.. - Diego + # - plugindir: autoconf code is crappy and does not delay evaluation + # until `make` time, so we have to use a full path here rather than + # basing off other values. + local myeconfargs=( + # We set all of the relevant options by ourselves (patched + # into the toolchain) and setting these in the build system + # actually causes a downgrade when using e.g. -D_FORTIFY_SOURCE=3 + # (it'll downgrade to =2). So, this has no functional effect on + # the hardening for users. It's safe. + --disable-hardening + + # requires some python eclass + --disable-python + --enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d + --enable-zlib=system + --with-editor="${EPREFIX}"/usr/libexec/editor + --with-env-editor + --with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo + --with-rundir="${EPREFIX}"/run/sudo + --with-vardir="${EPREFIX}"/var/db/sudo + --without-linux-audit + --without-opie + $(use_enable gcrypt) + $(use_enable nls) + $(use_enable sasl) + $(use_enable ssl openssl) + $(use_with ldap) + $(use_with ldap ldap_conf_file /etc/ldap.conf.sudo) + $(use_with offensive insults) + $(use_with offensive all-insults) + $(use_with pam) + $(use_with pam pam-login) + $(use_with secure-path) + "$(use_with secure-path secure-path-value "${SECURE_PATH}")" + $(use_with selinux) + $(use_with sendmail) + $(use_with skey) + $(use_with sssd) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + if use ldap ; then + dodoc README.LDAP.md + + cat <<-EOF > "${T}"/ldap.conf.sudo + # See ldap.conf(5) and README.LDAP.md for details + # This file should only be readable by root + + # supported directives: host, port, ssl, ldap_version + # uri, binddn, bindpw, sudoers_base, sudoers_debug + # tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key} + EOF + + if use sasl ; then + cat <<-EOF >> "${T}"/ldap.conf.sudo + + # SASL directives: use_sasl, sasl_mech, sasl_auth_id + # sasl_secprops, rootuse_sasl, rootsasl_auth_id, krb5_ccname + EOF + fi + + insinto /etc + doins "${T}"/ldap.conf.sudo + fperms 0440 /etc/ldap.conf.sudo + + insinto /etc/openldap/schema + newins docs/schema.OpenLDAP sudo.schema + fi + + if use pam ; then + pamd_mimic system-auth sudo auth account session + pamd_mimic system-auth sudo-i auth account session + fi + + keepdir /var/db/sudo/lectured + fperms 0700 /var/db/sudo/lectured + # bug #652958 + fperms 0711 /var/db/sudo + + # Don't install into /run as that is a tmpfs most of the time + # (bug #504854) + rm -rf "${ED}"/run || die + + # bug #697812 + find "${ED}" -type f -name "*.la" -delete || die +} + +pkg_postinst() { + tmpfiles_process sudo.conf + + # bug #652958 + local sudo_db="${EROOT}/var/db/sudo" + if [[ "$(stat -c %a "${sudo_db}")" -ne 711 ]] ; then + chmod 711 "${sudo_db}" || die + fi + + if use ldap ; then + ewarn + ewarn "sudo uses the ${ROOT}/etc/ldap.conf.sudo file for ldap configuration." + ewarn + if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then + ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly" + ewarn "configured in ${ROOT}/etc/nsswitch.conf." + ewarn + ewarn "To make use of LDAP, add this line to your ${ROOT}/etc/nsswitch.conf:" + ewarn " sudoers: ldap files" + ewarn + fi + fi + if use prefix ; then + ewarn + ewarn "To use sudo on Prefix, you need to change file ownership and permissions" + ewarn "with root privileges, as follows:" + ewarn + ewarn " # chown root:root ${EPREFIX}/usr/bin/sudo" + ewarn " # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so" + ewarn " # chown root:root ${EPREFIX}/etc/sudoers" + ewarn " # chown root:root ${EPREFIX}/etc/sudoers.d" + ewarn " # chown root:root ${EPREFIX}/var/db/sudo" + ewarn " # chmod 4111 ${EPREFIX}/usr/bin/sudo" + ewarn + fi + + elog "To use the -A (askpass) option, you need to install a compatible" + elog "password program from the following list. Starred packages will" + elog "automatically register for the use with sudo (but will not force" + elog "the -A option):" + elog "" + elog " [*] net-misc/ssh-askpass-fullscreen" + elog " net-misc/x11-ssh-askpass" + elog "" + elog "You can override the choice by setting the SUDO_ASKPASS environmnent" + elog "variable to the program you want to use." +} From daf508ace8bc14728ecae07ce72f953101bc7255 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:06:29 +0000 Subject: [PATCH 003/131] app-arch/libarchive: Sync with Gentoo It's from Gentoo commit 8ad3fd6749ba3a789c749d17f2960f40d4f53327. --- .../portage-stable/app-arch/libarchive/libarchive-3.8.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.8.1.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.8.1.ebuild index b957cea4b4..c8371de4ea 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.8.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.8.1.ebuild @@ -16,7 +16,7 @@ SRC_URI=" LICENSE="BSD BSD-2 BSD-4 public-domain" SLOT="0/13" -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=" acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle static-libs test xattr +zstd From a0b2963e24f3cf34f9dd6f5a14693afde201bc6d Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:06:31 +0000 Subject: [PATCH 004/131] app-arch/ncompress: Sync with Gentoo It's from Gentoo commit d4938c6219b81cf68cbe9f6d2ef4c0ef6b5afec5. --- .../ncompress/ncompress-5.0-r1.ebuild | 37 ------------------- 1 file changed, 37 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-arch/ncompress/ncompress-5.0-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-arch/ncompress/ncompress-5.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/ncompress/ncompress-5.0-r1.ebuild deleted file mode 100644 index 59b2c81662..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/ncompress/ncompress-5.0-r1.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit toolchain-funcs - -DESCRIPTION="Classic compress & uncompress programs for .Z (LZW) files" -HOMEPAGE="https://vapier.github.io/ncompress/" -SRC_URI="https://github.com/vapier/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="public-domain" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" -IUSE="" - -src_prepare() { - default - # First sed expression replaces hardlinking with - # symlinking. Second sed expression fixes the symlink target - # to use relative path to a file in the same directory as the - # symlink (so point to compress instead of - # $(DESTDIR)$(BINDIR)/compress). - sed -i \ - -e 's:\bln :ln -s :' \ - -e 's:\(\bln [^$]*\)\$(DESTDIR)\$(BINDIR)/:\1:' \ - Makefile.def || die -} - -src_configure() { - tc-export CC -} - -src_install() { - emake install_core DESTDIR="${ED}" PREFIX="/usr" - dodoc Acknowleds Changes LZW.INFO README.md -} From 84b7148d9ff356d039ed847c1dbd460bfedea84c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:06:43 +0000 Subject: [PATCH 005/131] app-containers/containerd: Sync with Gentoo It's from Gentoo commit 5548e775084b63a65e6eb1c8200489c35f6511ec. --- .../app-containers/containerd/containerd-2.0.5.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.5.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.5.ebuild index a17d4116c1..4ccc0a66c9 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.5.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}. LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm ~arm64 ppc64 ~riscv ~x86" IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test" COMMON_DEPEND=" From 907150d41f58ae451bb149cd5517d1490989d37c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:06:43 +0000 Subject: [PATCH 006/131] app-containers/containers-common: Sync with Gentoo It's from Gentoo commit 145a325080727f7ec5ac470a570ea340b41a3790. --- .../containers-common/containers-common-0.63.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-common/containers-common-0.63.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-common/containers-common-0.63.0.ebuild index d4f8c24462..53718051c4 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-common/containers-common-0.63.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-common/containers-common-0.63.0.ebuild @@ -14,7 +14,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="https://github.com/containers/common/archive/v${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P#containers-}" - KEYWORDS="~amd64 ~arm64 ~loong ~riscv" + KEYWORDS="amd64 ~arm64 ~loong ~riscv" fi LICENSE="Apache-2.0" From d77e9180d7c46db721042e96430d9dd4c80212c5 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:06:45 +0000 Subject: [PATCH 007/131] app-containers/crun: Sync with Gentoo It's from Gentoo commit 08db196e20b63ecb312935a74a2cbaeacbd55074. --- .../app-containers/crun/Manifest | 4 +- .../app-containers/crun/crun-1.14.3.ebuild | 71 ---------------- .../app-containers/crun/crun-1.17.ebuild | 81 ------------------- .../app-containers/crun/crun-1.20.ebuild | 2 +- .../{crun-1.16.ebuild => crun-1.21.ebuild} | 48 +++++------ 5 files changed, 27 insertions(+), 179 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.14.3.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.17.ebuild rename sdk_container/src/third_party/portage-stable/app-containers/crun/{crun-1.16.ebuild => crun-1.21.ebuild} (71%) diff --git a/sdk_container/src/third_party/portage-stable/app-containers/crun/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/crun/Manifest index dbc943f3d1..25d0a382ab 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/crun/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/crun/Manifest @@ -1,5 +1,3 @@ -DIST crun-1.14.3.tar.xz 750456 BLAKE2B 5a63b5da2f85ff1a83d4589be224c5b7a1123b6d7714b90a63c1907b78d42392aff25ffe5d9a4127173ac47026d57e9c93a39f5ba4b07de7f9f3722c14e6d203 SHA512 d6645c519ff00dda5def6d58240600d15e76969489918d51c0def2fee7dbad6374f83e5afc14a998d176aa2944765df5cd84c3031b265a1931ab23f2fc965fc1 -DIST crun-1.16.tar.gz 1759549 BLAKE2B 1dfdf9177ae52e627c92e70e48a558bb355c87f629e95f1debaf6b7d8c38802110bd796545d5b2dbe3cac7f8de1f9c94e9b5f046cc618e73afd4c434188d585c SHA512 718e17abdb8c2a9e1fdd39f09e7e3e435d88c5785cc13c1e67f492847d7d938cf399aecc055ecf88720fa8f73b8539f057e3b0e53f10f4e382f5664a2243b959 -DIST crun-1.17.tar.gz 1773153 BLAKE2B 9f75cb6879e0b8cd47bb8939c1cf6f88d5e13e6d8932c652ea20c64501bc69fbda84dd061866a9c08e353848f39d1022bf67fbc0d160d5ef7fdc08c1edec03f9 SHA512 7556467c5e0e93bb7321e2e88de8a2f537340e3e0acaa5501eab8deb0f4bb93c4561f8d063156789d3ee98fdd49069fc52c0ed0c773bd44db476eeeccc16aa1a DIST crun-1.19.1.tar.gz 1786019 BLAKE2B 555f7c917c9e9ed80919b708cd711890d47c395b5b6fa1c2b542d311176941c5ece23bd7ff0cb4c3dcf81be4f46fec21fa8127da57092657157707537771dfe1 SHA512 6cb6148a3b6e18b4dbb0178ea23eaaa57c040781a34b5c5c5dac71be513941717011fe996a7400b9dee0a73f7f0dd2fc36544fe72382a3f2543e4de90589fe6a DIST crun-1.20.tar.gz 1787750 BLAKE2B 4f31c21056c6c764c76021d3121dfaa4dd9b91f17def977238df831af02f27aff267cf22c3f1ade4f332d757ffc50cc98a480aea7cd67b3552f19ba5c810c3f8 SHA512 759326768a9a141ecaec5824e3c30cade0a0c7d848935d434cada4fdc5a59a992f1916515141a84387cdb95ee1307f5bec471679d7ff9b403b0cb2b10c7dfd74 +DIST crun-1.21.tar.gz 1788933 BLAKE2B bc854f8eb24566d608e90b44cb7dd2509b59cf6594eef244839f15beef2d241eab7149aabcf2156694043ab00367e312f58599deb324b85493555958eedaf849 SHA512 dbec4b55645587046a83903822a00b93092b26fdf36d6df9b086674815b53a9a60f907c1611eb9535f3186a03d6e8a98ae6e40e9f4e287855ea17745c3578d4f diff --git a/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.14.3.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.14.3.ebuild deleted file mode 100644 index 14528443dc..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.14.3.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 2019-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) - -inherit libtool python-any-r1 - -DESCRIPTION="A fast and low-memory footprint OCI Container Runtime fully written in C" -HOMEPAGE="https://github.com/containers/crun" - -if [[ "$PV" == *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/${PN}.git" -else - SRC_URI="https://github.com/containers/${PN}/releases/download/${PV}/${P}.tar.xz" - KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv" -fi - -LICENSE="GPL-2+ LGPL-2.1+" -SLOT="0" -IUSE="+bpf +caps criu +seccomp selinux systemd static-libs" - -DEPEND=" - dev-libs/yajl:= - sys-kernel/linux-headers - caps? ( sys-libs/libcap ) - criu? ( >=sys-process/criu-3.15 ) - elibc_musl? ( sys-libs/argp-standalone[static-libs] ) - seccomp? ( sys-libs/libseccomp ) - systemd? ( sys-apps/systemd:= ) -" -RDEPEND="${DEPEND} - selinux? ( sec-policy/selinux-container )" -BDEPEND=" - ${PYTHON_DEPS} - virtual/pkgconfig -" - -# the crun test suite is comprehensive to the extent that tests will fail -# within a sandbox environment, due to the nature of the privileges -# required to create linux "containers". -RESTRICT="test" - -src_prepare() { - default - elibtoolize -} - -src_configure() { - local myeconfargs=( - $(use_enable bpf) - $(use_enable caps) - $(use_enable criu) - $(use_enable seccomp) - $(use_enable systemd) - $(usex static-libs '--enable-shared --enable-static' '--enable-shared --disable-static' '' '') - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - emake "DESTDIR=${D}" install-exec - doman crun.1 - einstalldocs - - einfo "Cleaning up .la files" - find "${ED}" -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.17.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.17.ebuild deleted file mode 100644 index af92ab475f..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.17.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 2019-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..13} ) - -inherit libtool python-any-r1 - -DESCRIPTION="A fast and low-memory footprint OCI Container Runtime fully written in C" -HOMEPAGE="https://github.com/containers/crun" - -if [[ "$PV" == *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/${PN}.git" -else - SRC_URI="https://github.com/containers/${PN}/releases/download/${PV}/${P}.tar.gz" - KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv" -fi - -LICENSE="GPL-2+ LGPL-2.1+" -SLOT="0" -IUSE="+bpf +caps criu +seccomp selinux systemd static-libs" - -DEPEND=" - dev-libs/yajl:= - sys-kernel/linux-headers - caps? ( sys-libs/libcap ) - criu? ( >=sys-process/criu-3.15 ) - seccomp? ( sys-libs/libseccomp ) - systemd? ( sys-apps/systemd:= ) -" -RDEPEND="${DEPEND} - selinux? ( sec-policy/selinux-container )" -BDEPEND=" - ${PYTHON_DEPS} - virtual/pkgconfig -" - -src_prepare() { - default - elibtoolize -} - -src_configure() { - local myeconfargs=( - --cache-file="${S}"/config.cache - $(use_enable bpf) - $(use_enable caps) - $(use_enable criu) - $(use_enable seccomp) - $(use_enable systemd) - $(usex static-libs '--enable-shared --enable-static' '--enable-shared --disable-static' '' '') - ) - - econf "${myeconfargs[@]}" -} - -src_test() { - emake check-TESTS -C ./libocispec - - # the crun test suite is comprehensive to the extent that tests will fail - # within a sandbox environment, due to the nature of the privileges - # required to create linux "containers". - local supported_tests=( - "tests/tests_libcrun_utils" - "tests/tests_libcrun_errors" - "tests/tests_libcrun_intelrdt" - "tests/test_oci_features" - ) - emake check-TESTS TESTS="${supported_tests[*]}" -} - -src_install() { - emake "DESTDIR=${D}" install-exec - doman crun.1 - einstalldocs - - einfo "Cleaning up .la files" - find "${ED}" -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.20.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.20.ebuild index a54adfa350..29f34ed3c5 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.20.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.20.ebuild @@ -15,7 +15,7 @@ if [[ "$PV" == *9999* ]]; then EGIT_REPO_URI="https://github.com/containers/${PN}.git" else SRC_URI="https://github.com/containers/${PN}/releases/download/${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv" + KEYWORDS="amd64 ~arm ~arm64 ~loong ppc64 ~riscv" fi LICENSE="GPL-2+ LGPL-2.1+" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.16.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.21.ebuild similarity index 71% rename from sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.16.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.21.ebuild index 209c824bb7..5960de0a26 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.16.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.21.ebuild @@ -3,14 +3,14 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit libtool python-any-r1 -DESCRIPTION="A fast and low-memory footprint OCI Container Runtime fully written in C" +DESCRIPTION="Fast and low-memory footprint OCI Container Runtime fully written in C" HOMEPAGE="https://github.com/containers/crun" -if [[ "$PV" == *9999* ]]; then +if [[ "${PV}" == *9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/containers/${PN}.git" else @@ -30,8 +30,10 @@ DEPEND=" seccomp? ( sys-libs/libseccomp ) systemd? ( sys-apps/systemd:= ) " -RDEPEND="${DEPEND} - selinux? ( sec-policy/selinux-container )" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-container ) +" BDEPEND=" ${PYTHON_DEPS} virtual/pkgconfig @@ -44,37 +46,37 @@ src_prepare() { src_configure() { local myeconfargs=( + --cache-file="${S}"/config.cache $(use_enable bpf) $(use_enable caps) $(use_enable criu) $(use_enable seccomp) $(use_enable systemd) - $(usex static-libs '--enable-shared --enable-static' '--enable-shared --disable-static' '' '') + --enable-shared + $(use_enable static-libs static) ) econf "${myeconfargs[@]}" } +src_test() { + emake check-TESTS -C ./libocispec + + # The crun test suite is comprehensive to the extent that tests will fail + # within a sandbox environment, due to the nature of the privileges + # required to create linux "containers". + local supported_tests=( + "tests/tests_libcrun_utils" + "tests/tests_libcrun_errors" + "tests/tests_libcrun_intelrdt" + ) + emake check-TESTS TESTS="${supported_tests[*]}" CFLAGS="${CFLAGS} -std=gnu17" +} + src_install() { emake "DESTDIR=${D}" install-exec doman crun.1 einstalldocs - einfo "Cleaning up .la files" - find "${ED}" -name '*.la' -delete || die -} - -src_test() { - emake check-TESTS -C ./libocispec - - # the crun test suite is comprehensive to the extent that tests will fail - # within a sandbox environment, due to the nature of the privileges - # required to create linux "containers". - local supported_tests=( - "tests/tests_libcrun_utils" - "tests/tests_libcrun_errors" - "tests/tests_libcrun_intelrdt" - "tests/test_oci_features" - ) - emake check-TESTS TESTS="${supported_tests[*]}" + find "${ED}" -name '*.la' -type f -delete || die } From 157bdfa7f2266a81bbd078dd1a3ab7cefe7611bc Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:06:45 +0000 Subject: [PATCH 008/131] app-containers/docker: Sync with Gentoo It's from Gentoo commit 8cb73c4beaccacbc5eee4115232124240c57716f. --- .../portage-stable/app-containers/docker/docker-28.0.4.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-28.0.4.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-28.0.4.ebuild index b28b8e31e1..0bb74bbb78 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-28.0.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-28.0.4.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}/moby-${PV}" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm ~arm64 ppc64 ~riscv ~x86" IUSE="apparmor btrfs +container-init cuda +overlay2 seccomp selinux systemd" DEPEND=" From 81ac440af658d37f1fe83073f50d5585e3a01663 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:06:46 +0000 Subject: [PATCH 009/131] app-containers/docker-cli: Sync with Gentoo It's from Gentoo commit feaa22ee0e2d3075cb3dfe2b000ebc1b5a06db75. --- .../app-containers/docker-cli/docker-cli-28.0.4.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-28.0.4.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-28.0.4.ebuild index ec5fe43c9a..9ead91b31e 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-28.0.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-28.0.4.ebuild @@ -23,7 +23,7 @@ S="${WORKDIR}/cli-${PV}" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~loong ppc64 ~riscv ~x86" IUSE="hardened selinux" RDEPEND="selinux? ( sec-policy/selinux-docker )" From 3d7c05b4f994f2abe2d35ba63db6489fa34ecb99 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:06:46 +0000 Subject: [PATCH 010/131] app-containers/incus: Sync with Gentoo It's from Gentoo commit ca4e327ff462bd8d645499eab8db503aa71ef301. --- .../app-containers/incus/Manifest | 2 - .../incus/incus-6.0.4-r1.ebuild | 2 +- .../app-containers/incus/incus-6.12-r1.ebuild | 228 ------------------ 3 files changed, 1 insertion(+), 231 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.12-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-containers/incus/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/incus/Manifest index ad1e3c5fa3..7e1509f5a9 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/incus/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/incus/Manifest @@ -2,7 +2,5 @@ DIST incus-6.0.3.tar.xz 11916020 BLAKE2B d3d998bd50124604c52ff007eefed586c216ce1 DIST incus-6.0.3.tar.xz.asc 833 BLAKE2B 38835ab036709161150992cb40df4ff1ae1887d4f3e0b037d0415f75d2bb711cb3c5945bffe1b91d289acfb7e19e726964278e5c2ab31731ba9f7534f139dec7 SHA512 7d5360ab91aafe1d047a60e38a07e24c3c7b158e753087a943ec5e59d6a27c19a872080c9007b6cf592040d3408845bc188d76f6e732408d0680a3782cebce47 DIST incus-6.0.4.tar.xz 12000208 BLAKE2B 99a4ba40d2eea48515b88f4534c282adc925fe1b5487dc98901f000894b3781aec89f617d2246314cf9a95a7d65531e486c4092f8939722e1b3c2bf7d33063c8 SHA512 14a5cdad3f9365d58e526c8f451d9e7a57729010073caff31256e0b94d28206adc82ead4820278e7eac17b74d22a76d9f3b9f5f8424ddbfa6b74a5cea13e019f DIST incus-6.0.4.tar.xz.asc 833 BLAKE2B 96c94cde55cd2e9f7f28db7adb098adf4895437d300dfd42aeac540cdab6677fb604831c28f40f8581e60b89b228557d81696cd64950a1c2147b445a5ec58b30 SHA512 1ef2063eab424467c805f8c86b5b0caca848f46d2ef7ebf602049fe32ee15a7e1006d5a2710b355604aef73802b4333cd0428c772e1c5fc4da588c2cd7ee1694 -DIST incus-6.12.tar.xz 12041616 BLAKE2B 25bb157839a6d86f45614f71cb8f61ec2d92ca96322e90dc9d4f47603aee8b246621b941cd223a3c9007bbb4dbb65ffe432a72d2e7af5fefae40bc398406424b SHA512 1234f54965f2b50fa04c286405dd3b7dcbf86f88f91dd38476695a57961dd13fbc8da3c698ce1c254da71239b4af64fda25b9de7c6db017e7728b5bc4db52bf4 -DIST incus-6.12.tar.xz.asc 833 BLAKE2B e74dbefea68db25458da3956e6b5fc99b2cc861d9a20c5d10a9fa2d1803068b2b36a350d35960bfb289e9e1e747baa8bc5d2fdb0a93fcfb8ee7b0ffcd65befe7 SHA512 11f63160366a17d7d2679eb52f318d3c0e2a6d91a76c968d6483db9fb45892006d831f85e30bedfa9237a55d9b517458b01c3d1311e7e5f9ea1c3b3bbc18975a DIST incus-6.13.tar.xz 12416404 BLAKE2B 0eca3b80762e9473be21f29157eb42d655a09db97084f6cccd1317595f96593c866110c19a4a42592ae556e8f2f3e40153a7430730373cdb777261bc4a8f0d5e SHA512 80411e23aa95f021f349463b15146444bba7f5cad42e094ff099ec70df8083d7b54d8374ef659d3f4d01afbcbf4287b7238e973d53fecd9a7af046df85b1b05f DIST incus-6.13.tar.xz.asc 833 BLAKE2B fbdb41110452716aa333f444801152456ec1196cbdb151c5dfdb940d3e82e39cbbc70990ec999b723938ec3986deafff0c1e77376cdd19fb862aa8c59083d363 SHA512 a29978fd9d9f89f7ae6585f150cf78ec7819360e189ce6bbb5559049cecd2b667a46857a852a77d22edba60fce083c2bfccbf89535dad7d415e82c0eec995700 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.0.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.0.4-r1.ebuild index b128d31029..44fa897837 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.0.4-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.0.4-r1.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://linuxcontainers.org/downloads/incus/${P}.tar.xz LICENSE="Apache-2.0 BSD LGPL-3 MIT" SLOT="0/lts" -KEYWORDS="~amd64 ~arm64" +KEYWORDS="amd64 ~arm64" IUSE="apparmor fuidshift nls qemu" DEPEND="acct-group/incus diff --git a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.12-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.12-r1.ebuild deleted file mode 100644 index f0e16b062e..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.12-r1.ebuild +++ /dev/null @@ -1,228 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit go-env go-module linux-info optfeature systemd toolchain-funcs verify-sig - -DESCRIPTION="Modern, secure and powerful system container and virtual machine manager" -HOMEPAGE="https://linuxcontainers.org/incus/introduction/ https://github.com/lxc/incus" -SRC_URI="https://linuxcontainers.org/downloads/incus/${P}.tar.xz - verify-sig? ( https://linuxcontainers.org/downloads/incus/${P}.tar.xz.asc )" - -LICENSE="Apache-2.0 BSD LGPL-3 MIT" -SLOT="0/stable" -KEYWORDS="~amd64 ~arm64" -IUSE="apparmor fuidshift nls qemu" - -DEPEND="acct-group/incus - acct-group/incus-admin - app-arch/xz-utils - >=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)] - dev-db/sqlite:3 - >=dev-libs/cowsql-1.15.7 - dev-libs/lzo - >=dev-libs/raft-0.22.1:=[lz4] - >=dev-util/xdelta-3.0[lzma(+)] - net-dns/dnsmasq[dhcp] - sys-libs/libcap - virtual/udev" -RDEPEND="${DEPEND} - || ( - net-firewall/iptables - net-firewall/nftables[json] - ) - fuidshift? ( !app-containers/lxd ) - net-firewall/ebtables - sys-apps/iproute2 - sys-fs/fuse:* - >=sys-fs/lxcfs-5.0.0 - sys-fs/squashfs-tools[lzma] - virtual/acl - apparmor? ( sec-policy/apparmor-profiles ) - qemu? ( - app-cdr/cdrtools - app-emulation/qemu[spice,usbredir,virtfs] - sys-apps/gptfdisk - )" -BDEPEND=">=dev-lang/go-1.21 - nls? ( sys-devel/gettext ) - verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" - -CONFIG_CHECK=" - ~AIO - ~CGROUPS - ~IPC_NS - ~NET_NS - ~PID_NS - - ~SECCOMP - ~USER_NS - ~UTS_NS - - ~KVM - ~MACVTAP - ~VHOST_VSOCK -" - -ERROR_AIO="CONFIG_AIO is required." -ERROR_IPC_NS="CONFIG_IPC_NS is required." -ERROR_NET_NS="CONFIG_NET_NS is required." -ERROR_PID_NS="CONFIG_PID_NS is required." -ERROR_SECCOMP="CONFIG_SECCOMP is required." -ERROR_UTS_NS="CONFIG_UTS_NS is required." - -WARNING_KVM="CONFIG_KVM and CONFIG_KVM_AMD/-INTEL is required for virtual machines." -WARNING_MACVTAP="CONFIG_MACVTAP is required for virtual machines." -WARNING_VHOST_VSOCK="CONFIG_VHOST_VSOCK is required for virtual machines." - -# Go magic. -QA_PREBUILT="/usr/bin/incus - /usr/bin/incus-agent - /usr/bin/incus-benchmark - /usr/bin/incus-migrate - /usr/bin/lxc-to-incus - /usr/sbin/fuidshift - /usr/sbin/incusd - /usr/sbin/lxd-to-incus" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc - -# The testsuite must be run as root. -# make: *** [Makefile:156: check] Error 1 -RESTRICT="test" - -GOPATH="${S}/_dist" - -src_unpack() { - verify-sig_src_unpack - go-module_src_unpack -} - -src_prepare() { - export GOPATH="${S}/_dist" - - default - - sed -i \ - -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/incus:g" \ - -e "s:make:make ${MAKEOPTS}:g" \ - Makefile || die - - sed -i \ - -e "s:/usr/share/OVMF:/usr/share/edk2/OvmfX64:g" \ - -e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \ - internal/server/instance/drivers/edk2/driver_edk2.go || die "Failed to fix hardcoded ovmf paths." - - cp "${FILESDIR}"/incus-0.4.service "${T}"/incus.service || die - if use apparmor; then - sed -i \ - '/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \ - "${T}"/incus.service || die - fi - - # Disable -Werror's from go modules. - find "${S}" -name "cgo.go" -exec sed -i "s/ -Werror / /g" {} + || die -} - -src_configure() { :; } - -src_compile() { - export GOPATH="${S}/_dist" - export CGO_LDFLAGS_ALLOW="-Wl,-z,now" - - for k in incus-benchmark incus-simplestreams incus-user incus lxc-to-incus lxd-to-incus ; do - ego install -v -x "${S}/cmd/${k}" - done - - if use fuidshift ; then - ego install -v -x "${S}/cmd/fuidshift" - fi - - ego install -v -x -tags libsqlite3 "${S}"/cmd/incusd - - # Needs to be built statically - CGO_ENABLED=0 go install -v -tags netgo "${S}"/cmd/incus-migrate - CGO_ENABLED=0 go install -v -tags agent,netgo "${S}"/cmd/incus-agent - - use nls && emake build-mo -} - -src_test() { - emake check -} - -src_install() { - export GOPATH="${S}/_dist" - - export GOHOSTARCH=$(go-env_goarch "${CBUILD}") - if [[ "${GOARCH}" != "${GOHOSTARCH}" ]]; then - local bindir="_dist/bin/linux_${GOARCH}" - else - local bindir="_dist/bin" - fi - - newsbin "${FILESDIR}"/incus-startup-0.4.sh incus-startup - - # Admin tools - for l in incusd incus-user lxd-to-incus ; do - dosbin ${bindir}/${l} - done - - # User tools - for m in incus-agent incus-benchmark incus-migrate incus-simplestreams incus lxc-to-incus ; do - dobin ${bindir}/${m} - done - - # fuidshift, should be moved under admin tools at some point - if use fuidshift ; then - dosbin ${bindir}/fuidshift - fi - - newconfd "${FILESDIR}"/incus-6.0.confd incus - newinitd "${FILESDIR}"/incus-6.0.initd incus - newinitd "${FILESDIR}"/incus-user-0.4.initd incus-user - - systemd_dounit "${T}"/incus.service - systemd_newunit "${FILESDIR}"/incus-0.4.socket incus.socket - systemd_newunit "${FILESDIR}"/incus-startup-0.4.service incus-startup.service - systemd_newunit "${FILESDIR}"/incus-user-0.4.service incus-user.service - systemd_newunit "${FILESDIR}"/incus-user-0.4.socket incus-user.socket - - if ! tc-is-cross-compiler; then - # Generate and install shell completion files. - mkdir -p "${D}"/usr/share/{bash-completion/completions/,fish/vendor_completions.d/,zsh/site-functions/} || die - "${bindir}"/incus completion bash > "${D}"/usr/share/bash-completion/completions/incus || die - "${bindir}"/incus completion fish > "${D}"/usr/share/fish/vendor_completions.d/incus.fish || die - "${bindir}"/incus completion zsh > "${D}"/usr/share/zsh/site-functions/_incus || die - else - ewarn "Shell completion files not installed! Install them manually with incus completion --help" - fi - - dodoc AUTHORS - dodoc -r doc/* - use nls && domo po/*.mo - - # Incus needs INCUS_EDK2_PATH in env to find OVMF files for virtual machines, #946184 - newenvd - 90incus <<- _EOF_ - INCUS_EDK2_PATH=${EPREFIX}/usr/share/edk2-ovmf - _EOF_ -} - -pkg_postinst() { - elog - elog "Please see" - elog " https://wiki.gentoo.org/wiki/Incus" - elog " https://wiki.gentoo.org/wiki/Incus#Migrating_from_LXD" - elog - optfeature "OCI container images support" app-containers/skopeo app-containers/umoci - optfeature "support for ACME certificate issuance" app-crypt/lego - optfeature "btrfs storage backend" sys-fs/btrfs-progs - optfeature "ipv6 support" net-dns/dnsmasq[ipv6] - optfeature "full incus-migrate support" net-misc/rsync - optfeature "lvm2 storage backend" sys-fs/lvm2 - optfeature "zfs storage backend" sys-fs/zfs - elog - elog "Be sure to add your local user to the incus group." - elog -} From 0effbca8117b55c5896f56a5bd821ffcc87fccea Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:06:46 +0000 Subject: [PATCH 011/131] app-containers/lxc: Sync with Gentoo It's from Gentoo commit 1fb3c995798907c067dcb45aceb48de8a5a607b6. --- .../portage-stable/app-containers/lxc/lxc-6.0.4-r1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-6.0.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-6.0.4-r1.ebuild index 995c516081..531c8fff35 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-6.0.4-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-6.0.4-r1.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz LICENSE="GPL-2 LGPL-2.1 LGPL-3" SLOT="0/1.8" # SONAME liblxc.so.1 + ${PV//./} _if_ breaking ABI change while bumping. -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86" IUSE="apparmor +caps examples io-uring man pam seccomp selinux ssl systemd test +tools" RDEPEND="acct-group/lxc From f30c7024233de0436b66b1cdd00315f3dcb3a981 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:06:47 +0000 Subject: [PATCH 012/131] app-containers/runc: Sync with Gentoo It's from Gentoo commit 009ccc332d9109ac20699eab7dadcae0d505a078. --- .../portage-stable/app-containers/runc/runc-1.2.6.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.2.6.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.2.6.ebuild index 70f1124cb3..c8abf75348 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.2.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.2.6.ebuild @@ -19,7 +19,7 @@ S="${WORKDIR}/${PN}-${MY_PV}" LICENSE="Apache-2.0 BSD-2 BSD MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm ~arm64 ppc64 ~riscv ~x86" IUSE="apparmor hardened +kmem +seccomp selinux test" COMMON_DEPEND=" From d30dbec59c6619b0c9e5e0e9722c36fae722961d Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:06:51 +0000 Subject: [PATCH 013/131] app-crypt/gnupg: Sync with Gentoo It's from Gentoo commit 3821513c6cdab45cd1175d28a832f82ee9a62a34. --- .../portage-stable/app-crypt/gnupg/gnupg-2.4.8.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.8.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.8.ebuild index e010ff811b..bc45391f14 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.8.ebuild @@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}" 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" IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl test +tofu tpm tools usb user-socket wks-server" RESTRICT="!test? ( test )" REQUIRED_USE="test? ( tofu )" From 478d0a2bf63de9bc37bb6198ffa1167fd2a38488 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:01 +0000 Subject: [PATCH 014/131] app-editors/vim: Sync with Gentoo It's from Gentoo commit 464630b66751fade775dd4226c8a7a90583bdc1c. --- .../app-editors/vim/vim-9.1.1436-r1.ebuild | 370 ++++++++++++++++++ .../app-editors/vim/vim-9999.ebuild | 10 - 2 files changed, 370 insertions(+), 10 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1436-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1436-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1436-r1.ebuild new file mode 100644 index 0000000000..0327597dac --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1436-r1.ebuild @@ -0,0 +1,370 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim-core and app-editors/gvim + +VIM_VERSION="9.1" +VIM_PATCHES_VERSION="9.1.1432" + +LUA_COMPAT=( lua5-{1..4} luajit ) +PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_REQ_USE="threads(+)" +USE_RUBY="ruby31 ruby32" + +inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single toolchain-funcs desktop xdg-utils + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/vim/vim.git" +else + SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2" + # https://github.com/douglarek/gentoo-vim-patches/releases/download/vim-${VIM_PATCHES_VERSION}-patches/vim-${VIM_PATCHES_VERSION}-patches.tar.gz" + 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 + +DESCRIPTION="Vim, an improved vi-style text editor" +HOMEPAGE="https://www.vim.org https://github.com/vim/vim" + +LICENSE="vim" +SLOT="0" +IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager" +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + vim-pager? ( !minimal ) +" + +RDEPEND=" + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2:0= + nls? ( virtual/libintl ) + acl? ( kernel_linux? ( sys-apps/acl ) ) + crypt? ( dev-libs/libsodium:= ) + cscope? ( dev-util/cscope ) + gpm? ( >=sys-libs/gpm-1.19.3 ) + lua? ( ${LUA_DEPS} + $(lua_gen_impl_dep 'deprecated' lua5-1) + ) + ~app-editors/vim-core-${PV} + vim-pager? ( app-editors/vim-core[-minimal] ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( ${RUBY_DEPS} ) + selinux? ( sys-libs/libselinux ) + sound? ( media-libs/libcanberra ) + tcl? ( dev-lang/tcl:0= ) + X? ( x11-libs/libXt ) +" +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) +" +# configure runs the Lua interpreter +BDEPEND=" + dev-build/autoconf + lua? ( ${LUA_DEPS} ) + nls? ( sys-devel/gettext ) +" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +if [[ ${PV} != 9999* ]]; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + PATCHES=( + "${WORKDIR}/vim-patches-vim-${VIM_PATCHES_VERSION}-patches" + ) +fi + +# platform-specific checks (bug #898452): +# - acl() -- Solaris +# - statacl() -- AIX +QA_CONFIG_IMPL_DECL_SKIP=( + 'acl' + 'statacl' +) + +pkg_setup() { + # people with broken alphabets run into trouble. bug #82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + use lua && lua-single_pkg_setup + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + # Fixup a script to use awk instead of nawk + sed -i -e \ + '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \ + "${S}"/runtime/tools/mve.awk || die "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug #29398 (27 Sep 2003 agriffis) + sed -i -e \ + 's/\> "$c" || die "echo failed" + done + + # conditionally make the manpager.sh script + if use vim-pager; then + cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed" + #!/bin/sh + sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ + vim \\ + -c 'let no_plugin_maps = 1' \\ + -c 'set nolist nomod ft=man ts=8' \\ + -c 'let g:showmarks_enable=0' \\ + -c 'runtime! macros/less.vim' - + _EOF_ + fi + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]]; then + sed -i -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile || die "sed failed" + fi + + cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" + + # Fix bug 18245: Prevent "make" from the following chain: + # (1) Notice configure.ac is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm src/auto/configure || die "rm failed" + + # bug 908961 + if use elibc_musl ; then + sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die + fi +} + +src_configure() { + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug #24447). The hvc + # things are for ppc64, see bug #86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e "${file}" ]]; then + addwrite ${file} + fi + done + + local myconf=() + if use minimal; then + myconf=( + --with-features=tiny + --disable-nls + --disable-canberra + --disable-acl + --enable-gui=no + --without-x + --disable-darwin + --disable-luainterp + --disable-perlinterp + --disable-pythoninterp + --disable-mzschemeinterp + --disable-rubyinterp + --disable-selinux + --disable-tclinterp + --disable-gpm + ) + else + use debug && append-flags "-DDEBUG" + + myconf=( + --with-features=huge + $(use_enable sound canberra) + $(use_enable acl) + $(use_enable crypt libsodium) + $(use_enable cscope) + $(use_enable gpm) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable python python3interp) + $(use_with python python3-command "${PYTHON}") + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable tcl tclinterp) + $(use_enable terminal) + ) + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope; then + sed -i -e \ + '/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed" + fi + + if use lua; then + # -DLUA_COMPAT_OPENLIB=1 is required to enable the + # deprecated (in 5.1) luaL_openlib API (#874690) + use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1 + + myconf+=( + --enable-luainterp + $(use_with lua_single_target_luajit luajit) + --with-lua-prefix="${EPREFIX}/usr" + ) + fi + + # don't test USE=X here ... see bug #19115 + # but need to provide a way to link against X ... see bug #20093 + myconf+=( + --enable-gui=no + --disable-darwin + $(use_with X x) + ) + fi + + # let package manager strip binaries + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # keep prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if tc-is-cross-compiler ; then + export vim_cv_getcwd_broken=no \ + vim_cv_memmove_handles_overlap=yes \ + vim_cv_stat_ignores_slash=yes \ + vim_cv_terminfo=yes \ + vim_cv_toupper_broken=no + fi + + econf \ + --with-modified-by="Gentoo-${PVR} (RIP Bram)" \ + "${myconf[@]}" +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + einfo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + einfo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + einfo + + # Don't let vim talk to X + unset DISPLAY + + # Arch and opensuse seem to do this and at this point, I'm willing + # to try anything to avoid random test hangs! + export TERM=xterm + + # See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5 + # for more information on test variables we can use. + # Note that certain variables need vim-compatible regex (not PCRE), see e.g. + # http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml. + # + # Skipped tests: + # - Test_expand_star_star + # Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680) + # - Test_exrc + # Looks in wrong location? (bug #742710) + # - Test_job_tty_in_out + # Fragile and depends on TERM(?) + # - Test_spelldump_bang + # Hangs. + # - Test_fuzzy_completion_env + # Too sensitive to leaked environment variables. + # - Test_term_mouse_multiple_clicks_to_select_mode + # Hangs. + # - Test_spelldump + # Hangs. + # - Test_glvs_* + # Depends on local network. + export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\|Test_glvs_\)' + + emake -j1 -C src/testdir nongui +} + +# Call eselect vi update with --if-unset +# to respect user's choice (bug #187449) +eselect_vi_update() { + ebegin "Calling eselect vi update" + eselect vi update --if-unset + eend $? +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are + # managed by eselect-vi + dobin src/vim + if ! use minimal ; then + dosym vim /usr/bin/vimdiff + fi + dosym vim /usr/bin/rvim + dosym vim /usr/bin/rview + if use vim-pager ; then + dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager + dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager + insinto ${vimfiles}/macros + doins runtime/macros/manpager.sh + fperms a+x ${vimfiles}/macros/manpager.sh + fi + + domenu runtime/vim.desktop + + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + + # keep in sync with 'complete ... -F' list + bashcomp_alias vim ex vi view rvim rview vimdiff +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Call eselect vi update + eselect_vi_update + + # update desktop file mime cache + xdg_desktop_database_update +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Call eselect vi update + eselect_vi_update + + # update desktop file mime cache + xdg_desktop_database_update +} diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9999.ebuild index 9823492d47..37bae70a1c 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9999.ebuild @@ -172,16 +172,6 @@ src_prepare() { } src_configure() { - - # Fix bug #37354: Disallow -funroll-all-loops on amd64 - # Bug #57859 suggests that we want to do this for all archs - filter-flags -funroll-all-loops - - # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for - # everyone since previous flag filtering bugs have turned out to affect - # multiple archs... - replace-flags -O3 -O2 - emake -j1 -C src autoconf # This should fix a sandbox violation (see bug #24447). The hvc From dc9782616592d31336fb03c46127ac40646e6be5 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:01 +0000 Subject: [PATCH 015/131] app-editors/vim-core: Sync with Gentoo It's from Gentoo commit dc0d830c133f2f2e8729bb9b192b8712f37ac182. --- .../app-editors/vim-core/files/vimrc-r6 | 217 ---------------- .../vim-core/vim-core-9.1.1436-r1.ebuild | 233 ++++++++++++++++++ .../app-editors/vim-core/vim-core-9999.ebuild | 4 - 3 files changed, 233 insertions(+), 221 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-editors/vim-core/files/vimrc-r6 create mode 100644 sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1436-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/files/vimrc-r6 b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/files/vimrc-r6 deleted file mode 100644 index 0197f057d2..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/files/vimrc-r6 +++ /dev/null @@ -1,217 +0,0 @@ -scriptencoding utf-8 -" ^^ Please leave the above line at the start of the file. - -" Default configuration file for Vim - -" Written by Aron Griffis -" Modified by Ryan Phillips -" Modified some more by Ciaran McCreesh -" Added Redhat's vimrc info by Seemant Kulleen - -" You can override any of these settings on a global basis via the -" "/etc/vim/vimrc.local" file, and on a per-user basis via "~/.vimrc". You may -" need to create these. - -" {{{ General settings -" The following are some sensible defaults for Vim for most users. -" We attempt to change as little as possible from Vim's defaults, -" deviating only where it makes sense -set nocompatible " Use Vim defaults (much better!) -set bs=2 " Allow backspacing over everything in insert mode -set ai " Always set auto-indenting on -set history=50 " keep 50 lines of command history -set ruler " Show the cursor position all the time - -set viminfo='20,\"500 " Keep a .viminfo file. - -" Don't use Ex mode, use Q for formatting -map Q gq - -" When doing tab completion, give the following files lower priority. You may -" wish to set 'wildignore' to completely ignore files, and 'wildmenu' to enable -" enhanced tab completion. These can be done in the user vimrc file. -set suffixes+=.info,.aux,.log,.dvi,.bbl,.out,.o,.lo - -" When displaying line numbers, don't use an annoyingly wide number column. This -" doesn't enable line numbers -- :set number will do that. The value given is a -" minimum width to use for the number column, not a fixed size. -if v:version >= 700 - set numberwidth=3 -endif -" }}} - -" {{{ Modeline settings -" We don't allow modelines by default. See bug #14088 and bug #73715. -" If you're not concerned about these, you can enable them on a per-user -" basis by adding "set modeline" to your ~/.vimrc file. -set nomodeline -" }}} - -" {{{ Locale settings -" Try to come up with some nice sane GUI fonts. Also try to set a sensible -" value for fileencodings based upon locale. These can all be overridden in -" the user vimrc file. -if v:lang =~? "^ko" - set fileencodings=euc-kr - set guifontset=-*-*-medium-r-normal--16-*-*-*-*-*-*-* -elseif v:lang =~? "^ja_JP" - set fileencodings=euc-jp - set guifontset=-misc-fixed-medium-r-normal--14-*-*-*-*-*-*-* -elseif v:lang =~? "^zh_TW" - set fileencodings=big5 - set guifontset=-sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-1,-taipei-fixed-medium-r-normal--16-150-75-75-c-160-big5-0 -elseif v:lang =~? "^zh_CN" - set fileencodings=gb2312 - set guifontset=*-r-* -endif - -" If we have a BOM, always honour that rather than trying to guess. -if &fileencodings !~? "ucs-bom" - set fileencodings^=ucs-bom -endif - -" Always check for UTF-8 when trying to determine encodings. -if &fileencodings !~? "utf-8" - " If we have to add this, the default encoding is not Unicode. - " We use this fact later to revert to the default encoding in plaintext/empty - " files. - let g:added_fenc_utf8 = 1 - set fileencodings+=utf-8 -endif - -" Make sure we have a sane fallback for encoding detection -if &fileencodings !~? "default" - set fileencodings+=default -endif -" }}} - -" {{{ Syntax highlighting settings -" Switch syntax highlighting on, when the terminal has colors -" Also switch on highlighting the last used search pattern. -if &t_Co > 2 || has("gui_running") - syntax on - set hlsearch -endif -" }}} - -" {{{ Terminal fixes -if &term ==? "xterm" - set t_Sb=^[4%dm - set t_Sf=^[3%dm - set ttymouse=xterm2 -endif - -if &term ==? "gnome" && has("eval") - " Set useful keys that vim doesn't discover via termcap but are in the - " builtin xterm termcap. See bug #122562. We use exec to avoid having to - " include raw escapes in the file. - exec "set =\eO5D" - exec "set =\eO5C" -endif -" }}} - -" {{{ Filetype plugin settings -" Enable plugin-provided filetype settings, but only if the ftplugin -" directory exists (which it won't on livecds, for example). -if isdirectory(expand("$VIMRUNTIME/ftplugin")) - filetype plugin on - - " Uncomment the next line (or copy to your ~/.vimrc) for plugin-provided - " indent settings. Some people don't like these, so we won't turn them on by - " default. - " filetype indent on -endif -" }}} - -" {{{ Fix &shell, see bug #101665. -if "" == &shell - if executable("@GENTOO_PORTAGE_EPREFIX@/bin/bash") - set shell=@GENTOO_PORTAGE_EPREFIX@/bin/bash - elseif executable("@GENTOO_PORTAGE_EPREFIX@/bin/sh") - set shell=@GENTOO_PORTAGE_EPREFIX@/bin/sh - endif -endif -"}}} - -" {{{ Our default /bin/sh is bash, not ksh, so syntax highlighting for .sh -" files should default to bash. See :help sh-syntax and bug #101819. -if has("eval") - let is_bash=1 -endif -" }}} - -" {{{ Autocommands -if has("autocmd") - -augroup gentoo - au! - - " Gentoo-specific settings for ebuilds. These are the federally-mandated - " required tab settings. See the following for more information: - " http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml - " Note that the rules below are very minimal and don't cover everything. - " Better to emerge app-vim/gentoo-syntax, which provides full syntax, - " filetype and indent settings for all things Gentoo. - au BufRead,BufNewFile *.e{build,class} let is_bash=1|setfiletype sh - au BufRead,BufNewFile *.e{build,class} set ts=4 sw=4 noexpandtab - - " In text files, limit the width of text to 78 characters, but be careful - " that we don't override the user's setting. - autocmd BufNewFile,BufRead *.txt - \ if &tw == 0 && ! exists("g:leave_my_textwidth_alone") | - \ setlocal textwidth=78 | - \ endif - - " When editing a file, always jump to the last cursor position - autocmd BufReadPost * - \ if ! exists("g:leave_my_cursor_position_alone") | - \ if line("'\"") > 0 && line ("'\"") <= line("$") | - \ exe "normal! g'\"" | - \ endif | - \ endif - - " When editing a crontab file, set backupcopy to yes rather than auto. See - " :help crontab and bug #53437. - autocmd FileType crontab set backupcopy=yes - - " If we previously detected that the default encoding is not UTF-8 - " (g:added_fenc_utf8), assume that a file with only ASCII characters (or no - " characters at all) isn't a Unicode file, but is in the default encoding. - " Except of course if a byte-order mark is in effect. - autocmd BufReadPost * - \ if exists("g:added_fenc_utf8") && &fileencoding == "utf-8" && - \ ! &bomb && search('[\x80-\xFF]','nw') == 0 && &modifiable | - \ set fileencoding= | - \ endif - -augroup END - -endif " has("autocmd") -" }}} - -" We don't want VIM to load their own built-in defaults, preferring ours here -" instead. This option cannot apply to minimal builds, so it is guarded by a -" test that's guaranteed to fail for those, owing to the lack of +eval. -if 1 - let g:skip_defaults_vim = 1 -endif - -" Enable Omni completion when opening a file only if a specific plugin does -" not already exist for that filetype. This allows Omni completion -" (Ctrl-x/Ctrl-o) to work with any programming language if and only if a syntax -" file exists for the said language. -if exists("+omnifunc") - autocmd Filetype * - \ if &omnifunc == "" | - \ setlocal omnifunc=syntaxcomplete#Complete | - \ endif -endif - -" {{{ vimrc.local -if filereadable("@GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local") - source @GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local -endif -" }}} - -" vim: set fenc=utf-8 tw=80 sw=2 sts=2 et foldmethod=marker : - diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1436-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1436-r1.ebuild new file mode 100644 index 0000000000..d2e0274761 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1436-r1.ebuild @@ -0,0 +1,233 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim and app-editors/gvim + +VIM_VERSION="9.1" +VIM_PATCHES_VERSION="9.1.1432" +inherit bash-completion-r1 desktop flag-o-matic prefix toolchain-funcs vim-doc xdg-utils + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/vim/vim.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV} +else + SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz + https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2" + # https://github.com/douglarek/gentoo-vim-patches/releases/download/vim-${VIM_PATCHES_VERSION}-patches/vim-${VIM_PATCHES_VERSION}-patches.tar.gz" + 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 + +DESCRIPTION="vim and gvim shared files" +HOMEPAGE="https://www.vim.org https://github.com/vim/vim" +S="${WORKDIR}/vim-${PV}" + +LICENSE="vim" +SLOT="0" +IUSE="nls acl minimal" + +# ncurses is only needed by ./configure, so no subslot operator required +DEPEND=">=sys-libs/ncurses-5.2-r2:0" +BDEPEND="dev-build/autoconf" + +if [[ ${PV} != 9999* ]]; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + PATCHES=( + "${WORKDIR}/vim-patches-vim-${VIM_PATCHES_VERSION}-patches" + ) +fi + +# platform-specific checks (bug #898406): +# - acl() -- Solaris +# - statacl() -- AIX +QA_CONFIG_IMPL_DECL_SKIP=( + 'acl' + 'statacl' +) + +pkg_setup() { + # people with broken alphabets run into trouble. bug #82186. + unset LANG LC_ALL + export LC_COLLATE="C" +} + +src_prepare() { + default + + # Fixup a script to use awk instead of nawk + sed -i \ + -e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \ + "${S}"/runtime/tools/mve.awk || die "sed failed" + + # See bug #77841. We remove this file after the tarball extraction. + rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h || die + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h || die + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug #29398 (27 Sep 2003 agriffis) + sed -i 's/\> "$c" || die "echo failed" + done + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]]; then + sed -i -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile || die "sed failed" + fi + + cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" + + # Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for + # everyone since previous flag filtering bugs have turned out to affect + # multiple archs... + replace-flags -O3 -O2 + + # Fix bug #18245: Prevent "make" from the following chain: + # (1) Notice configure.ac is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + + # Remove src/auto/configure file. + rm -v src/auto/configure || die "rm configure failed" + + # bug 908961 + if use elibc_musl ; then + sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die + fi +} + +src_configure() { + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e "${file}" ]]; then + addwrite ${file} + fi + done + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + local myconf=( + --with-modified-by="Gentoo-${PVR} (RIP Bram)" + --enable-gui=no + --without-x + --disable-darwin + --disable-perlinterp + --disable-pythoninterp + --disable-rubyinterp + --disable-gpm + --disable-selinux + $(use_enable nls) + $(use_enable acl) + ) + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if tc-is-cross-compiler ; then + export vim_cv_getcwd_broken=no \ + vim_cv_memmove_handles_overlap=yes \ + vim_cv_stat_ignores_slash=yes \ + vim_cv_terminfo=yes \ + vim_cv_toupper_broken=no + fi + + econf "${myconf[@]}" +} + +src_compile() { + emake -j1 -C src auto/osdef.h objects + emake tools +} + +src_test() { :; } + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dodir /usr/{bin,share/{man/man1,vim}} + emake -C src \ + installruntime \ + installmanlinks \ + installmacros \ + installtutor \ + installtutorbin \ + installtools \ + install-languages \ + DESTDIR="${D}" \ + BINDIR="${EPREFIX}"/usr/bin \ + MANDIR="${EPREFIX}"/usr/share/man \ + DATADIR="${EPREFIX}"/usr/share + + keepdir ${vimfiles}/keymap + + # default vimrc is installed by vim-core since it applies to + # both vim and gvim + insinto /etc/vim/ + newins "${FILESDIR}"/vimrc-r7 vimrc + eprefixify "${ED}"/etc/vim/vimrc + + if use minimal; then + # To save space, install only a subset of the files. + # Helps minimalize the livecd, bug 65144. + rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die + rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die + rm -v "${ED}"/usr/bin/vimtutor || die + + for f in "${ED}${vimfiles}"/colors/*.vim; do + if [[ ${f} != */@(default).vim ]] ; then + printf '%s\0' "${f}" + fi + done | xargs -0 rm -f || die + + for f in "${ED}${vimfiles}"/syntax/*.vim; do + if [[ ${f} != */@(conf|crontab|fstab|inittab|resolv|sshdconfig|syntax|nosyntax|synload).vim ]] ; then + printf '%s\0' "${f}" + fi + done | xargs -0 rm -f || die + fi + + newbashcomp "${FILESDIR}"/xxd-completion xxd + + # install gvim icon since both vim/gvim desktop files reference it + doicon -s scalable "${FILESDIR}"/gvim.svg +} + +pkg_postinst() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update icon cache + xdg_icon_cache_update +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update icon cache + xdg_icon_cache_update +} diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9999.ebuild index 6884c8d3de..d9ac9cfb55 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9999.ebuild @@ -116,10 +116,6 @@ src_prepare() { } src_configure() { - # Fix bug #37354: Disallow -funroll-all-loops on amd64 - # Bug 57859 suggests that we want to do this for all archs - filter-flags -funroll-all-loops - emake -j1 -C src autoconf # This should fix a sandbox violation (see bug 24447). The hvc From 25449939df3714c36e7cfaa72d6a3988dcbd77f6 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:17 +0000 Subject: [PATCH 016/131] app-shells/bash: Sync with Gentoo It's from Gentoo commit 7c6e56f8a75776a22fb2dcb366b99c320de2679e. --- .../portage-stable/app-shells/bash/Manifest | 2 + .../app-shells/bash/bash-5.2_p37-r3.ebuild | 2 +- .../bash/bash-5.3_rc2_p20250616.ebuild | 412 ++++++++++++++++++ .../bash/bash-5.3_rc2_p20250627.ebuild | 412 ++++++++++++++++++ 4 files changed, 827 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250616.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250627.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest b/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest index ed49fe1e2c..f9396b0c1e 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest @@ -25,6 +25,8 @@ DIST bash-5.2.tar.gz.sig 95 BLAKE2B 2991b7c46ef1cdca08062f419be47fca7551f4c5d9aa DIST bash-5.3-rc2.tar.gz 11032468 BLAKE2B 42f3b6b3b675a618c965fbde8e3052ac4e171b0f50848589ab4996f6a8de22aca8bdaa5819eb21d3e3dbd67cddaad17d8c48d5a977ae77373fedfdec67cb4155 SHA512 8dfd16723ea14a5901f3a056d30a0fa7b633e41495bbf071897f6a7794293dec59e4eb8618345aeb9e06a924e87c8b823e3ab1e3888a963421b1e8398cc0c12e DIST bash-5.3-rc2.tar.gz.sig 95 BLAKE2B 2068f4b5e5045f00a389256c8e753253a1f9b7d06970c51516555e463ef3d5e682e28a9052a2fbae0f9ce7bb0f9e31116a0a780ae3dc7d083a71591feee6501d SHA512 2a4cad6d8f5212319045b6139fb8e3c56664efa5ffcf1ef522219f5a100d5385ab627f6c122f9b49178b48e9c2a85da43f72fd70425547c3a71c0ec1ae812e33 DIST bash-5.3_rc2_p20250606-727b8d366390fea446f7a566c4be1be6c0e2a765.tar.gz 16083935 BLAKE2B 05821cd7598a6915651ca5f0f9c601ea4e118406d3db652c0989cebe32d15a03e1c95b517740834564e27be1d1e312aa2433f4456a4a8307249d2cfd9fd471fd SHA512 f9f8b17efd119fb0d82251a5be7ead3af8502461116036ffb22b4318f924d97927f1ec010982a21fb0f6fe39ad78e0ccbedfd66a469bb20ed4006bb39595ae4e +DIST bash-5.3_rc2_p20250616-0f0cea342e32f1f82aa9cc9026038bfc3bb03e92.tar.gz 16112367 BLAKE2B 5b3644b8a931b7c81c2bca36f880f403f758bf4076d8268c0c607ebabd0239d6e453a748726763b39902fa198748d20cc31994b59e54ef770f38549d295bcb81 SHA512 f53108830f660b58c784559a43a6f9fb988f7a5eb53695ca315ba4b6c3b4af139b35f12de041d3bb014ee8b0b730c709ca46873f6a38c5d1af5d2922d7a52cdd +DIST bash-5.3_rc2_p20250627-b35866a2891a9b069e37ca5684d4309c0391e261.tar.gz 16113487 BLAKE2B 3e6af98b369afa1b61bb3f63dd1cf800d3fc109e0af946cf0ddedf0ed15bf602d1bcfef6b31d3ae0441cead3391894e8b3f0ea503ac72e02ecd546ee310ae8ec SHA512 91c7c02aa4077df6fd1151ff949a7063de98b742eae2e1305071e84453ba436a07c62adfc8dceaac7c64ae583c23ae07fa9039277740deaa8981816312e7344f DIST bash205b-001 1132 BLAKE2B 0c5eef29777d54ef05957ea3d63b1556fb380bd20c238dc28993d822b37bc4e78ff4048ad069f6b8cd25da77ccdeb7aecd86c4349cb9d81e5e94c7001eeae5e6 SHA512 5ce4357468821b05e747201f3aa57225ad8f540c9e2c87051720490e039c30b478b9b662a68f14a0800fefe40184e4495e2645665200f9d75e9a115b2ac08071 DIST bash205b-002 755 BLAKE2B 6a6ed5679d451f02f8104b345c1722d11718ce3b4043b581c17786d40d8da69a34786fb56d0c363dba277b8e9dd33f12f70c9cc73a9fc39ba4a8319406f0458d SHA512 46947b0229478d5c2cfeff68b8ebc00e4ef0c8b94e336ca12f72b4490ba3622c0240c01c17c1641c3b07adc2c64ec94d6d780365e8990768ec8888f3a9526883 DIST bash205b-003 2356 BLAKE2B b7887d00d92fd298cd07a15e1c73b516dabd22ecd74c97091636dd97a0cd55024ed698e5cc924c4311d994dd326b1ad074bea35e7650cf9cf4e25c60d2713fa7 SHA512 74528ca5d165b812d299f1c69b47757bd677c0b22ce4217e155cd641708b02364a93c6709fb57b546b376b36da74429a61493921c7c199563da40ddcf1c1f399 diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37-r3.ebuild index f844573464..65cd38ce6a 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37-r3.ebuild @@ -65,7 +65,7 @@ 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" + 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" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250616.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250616.ebuild new file mode 100644 index 0000000000..022b71dce2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250616.ebuild @@ -0,0 +1,412 @@ +# 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 + 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_rc1" + +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="0f0cea342e32f1f82aa9cc9026038bfc3bb03e92" + 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/${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/${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 + + if tc-is-cross-compiler; then + export CFLAGS_FOR_BUILD="${BUILD_CFLAGS} -std=gnu17" + fi + + 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.3_rc2_p20250627.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250627.ebuild new file mode 100644 index 0000000000..1fa3e6be53 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250627.ebuild @@ -0,0 +1,412 @@ +# 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 + 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_rc1" + +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="b35866a2891a9b069e37ca5684d4309c0391e261" + 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/${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/${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 + + if tc-is-cross-compiler; then + export CFLAGS_FOR_BUILD="${BUILD_CFLAGS} -std=gnu17" + fi + + 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 +} From e970326f4685ad21c5d4f0a44934551343fe03ad Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:17 +0000 Subject: [PATCH 017/131] app-shells/bash-completion: Sync with Gentoo It's from Gentoo commit c8821358459e6d7214963ee4f3e931ba6a0085ae. --- .../app-shells/bash-completion/bash-completion-2.16.0-r1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.16.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.16.0-r1.ebuild index 71dabfc917..13a70bdaa3 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.16.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.16.0-r1.ebuild @@ -19,7 +19,7 @@ SRC_URI=" 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" +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 )" From 776072f5a8d6bede011cdd14b5ab397c1d60f7c3 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:17 +0000 Subject: [PATCH 018/131] app-shells/gentoo-bashcomp: Sync with Gentoo It's from Gentoo commit 6f59c9d7c2124060d60fe50ad5843ed9dec46f66. --- .../app-shells/gentoo-bashcomp/Manifest | 1 + .../gentoo-bashcomp-20250620.ebuild | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20250620.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/Manifest b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/Manifest index d54174a0b0..0abdd1b472 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/Manifest @@ -1 +1,2 @@ DIST gentoo-bashcomp-20240625.tar.bz2 23794 BLAKE2B 567131238e24744a5083ad8ec484d4342b6891e95b999d11d809da769d8f2ad3536f7da769f0d291663b9c3be46fe67d261cbdcf59a0f846e4f08a66b4106571 SHA512 1b5476ba7cb1b7c2f1d51c03d592245718fb4c2c07ff5171aee1bfa0def2a2f0bbff7a38950d18e3646285e7432cedee0ee75eed1c6348946793f011de4ddcbf +DIST gentoo-bashcomp-20250620.tar.bz2 23780 BLAKE2B dc4d6dd7d0063056a234cfe4aff3d39b4519848f6f3d68d76f63cdcb5d333da159a88984b8607ae2f9b99ab6bd9ed264b0e4c7f4a7edafe002dbec18cb6c2e19 SHA512 222995b060f762d86c486e34d3e8f740b15a947b4392575bb1af29f11e3cec9c2a0fbdd1a8d397f5356db771adc19df39c2e70ac2dd22b2ce4ee188747ef5b6b diff --git a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20250620.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20250620.ebuild new file mode 100644 index 0000000000..f39e47a253 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20250620.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 + +DESCRIPTION="Gentoo-specific bash command-line completions (emerge, ebuild, equery, etc)" +HOMEPAGE="https://gitweb.gentoo.org/proj/gentoo-bashcomp.git/" +SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" + +src_install() { + emake DESTDIR="${D}" install \ + completionsdir="$(get_bashcompdir)" \ + helpersdir="$(get_bashhelpersdir)" \ + compatdir="${EPREFIX}/etc/bash_completion.d" +} From 8b89c8a89bfd45ae5bf16958c78aa851c84ffdce Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:28 +0000 Subject: [PATCH 019/131] app-vim/gentoo-syntax: Sync with Gentoo It's from Gentoo commit d0fd4ca962a9dc174ebb1e5a9312c1565e08655a. --- .../app-vim/gentoo-syntax/Manifest | 1 + .../gentoo-syntax/gentoo-syntax-16.ebuild | 42 +++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-vim/gentoo-syntax/gentoo-syntax-16.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-vim/gentoo-syntax/Manifest b/sdk_container/src/third_party/portage-stable/app-vim/gentoo-syntax/Manifest index 9bf899a4d0..e69e859014 100644 --- a/sdk_container/src/third_party/portage-stable/app-vim/gentoo-syntax/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-vim/gentoo-syntax/Manifest @@ -1 +1,2 @@ DIST gentoo-syntax-15.tar.bz2 21018 BLAKE2B 2b0ead6d5701f14f321ad02b1cd3fe426b8e98e4d80e66331387f0543d88a2ac6b5d78a1f8c9125dadf24f3508c34d915fa896dc2fb85a8664984d771b48a29e SHA512 69cdcd58933b4f83da81ecc943e205689591748c283005b2e6cd342e623d8e0643979d913ec6a9464ca2b49431ea2317dfb0e6454143d6757f6ba287286d24f1 +DIST gentoo-syntax-16.tar.bz2 21034 BLAKE2B 71f42dcd81e99e688f73e1df8913bc90e97acbcfdb1649348a7550a2c0888cced976f450406c305e4c8326fe4d405e460ea5d545bcd951ef64ba194b1f504820 SHA512 07baa98902b02dc920cb18a2a12877b59a3ae83558987cad956f9910c0b674f9bbe3f0087e512baac08f407e07e75c51f336562f7574b2600812594fa921bb22 diff --git a/sdk_container/src/third_party/portage-stable/app-vim/gentoo-syntax/gentoo-syntax-16.ebuild b/sdk_container/src/third_party/portage-stable/app-vim/gentoo-syntax/gentoo-syntax-16.ebuild new file mode 100644 index 0000000000..2258150d4b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-vim/gentoo-syntax/gentoo-syntax-16.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit vim-plugin + +DESCRIPTION="vim plugin: Gentoo and Portage syntax highlighting" +HOMEPAGE="https://github.com/gentoo/gentoo-syntax" +SRC_URI="https://gitweb.gentoo.org/proj/gentoo-syntax.git/snapshot/${P}.tar.bz2" + +LICENSE="vim" +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="ignore-glep31" + +VIM_PLUGIN_HELPFILES="gentoo-syntax" +VIM_PLUGIN_MESSAGES="filetype" + +src_prepare() { + default + if use ignore-glep31 ; then + for f in ftplugin/*.vim ; do + ebegin "Removing UTF-8 rules from ${f} ..." + sed -i -e 's~\(setlocal fileencoding=utf-8\)~" \1~' ${f} \ + || die "waah! bad sed voodoo. need more goats." + eend $? + done + fi +} + +pkg_postinst() { + vim-plugin_pkg_postinst + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + if use ignore-glep31 1>/dev/null ; then + ewarn "You have chosen to disable the rules which ensure GLEP 31" + ewarn "compliance. When editing ebuilds, please make sure you get" + ewarn "the character set correct." + fi + fi +} From e87f9ebeaccaa814598dfd78d74c84f8ceccdb09 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:29 +0000 Subject: [PATCH 020/131] dev-build/automake: Sync with Gentoo It's from Gentoo commit c5e7c362309ca4384648c86a143834d12aded8f1. --- .../dev-build/automake/Manifest | 2 + .../dev-build/automake/automake-1.18.1.ebuild | 148 ++++++++++++++++++ 2 files changed, 150 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.18.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/automake/Manifest index 9b545d8211..057ffb5a55 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/automake/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/automake/Manifest @@ -1,5 +1,7 @@ DIST automake-1.11.6.tar.xz 1092908 BLAKE2B 17254d81d6920c32aa877b6c892025de8e4060b8bcbe50fff841ada513dd462ddde8fc6838b4976098a812f8fda047e7186cb62cea8175df615dde75a9959144 SHA512 6e4cdf69f07734954f770fd4a7211a8c9dc69fe25a7746bd3c1e01d3139c94cab2900399e87371548833e99687e0d2b59c5e746ab2fdfbc7d47f2c1d439137ba DIST automake-1.17.tar.xz 1652632 BLAKE2B 53c24c138faf3d2be4e30ababcccd4d157c03e815fc4b7f3e3063b6648cf254dfa63afe6e3285b21309dbf260335c3e67991db3825e7532b158b25ccaead83f5 SHA512 46aba1c9d64a6368b326020803a2999831c1deaf31eaa1c1dfdcfa5138a7f755643294e82a08b6daab3983b31eee725bdb7b9edc4e9a558374c7d1f1b8e854a7 DIST automake-1.17.tar.xz.sig 833 BLAKE2B 4564c7189360c61bde7e16a7c3a52b86084fb16b7f4625969fc588a6aa0da687c7b27acf7247822ec0e09e59336acf0ef69784032f255190a070081f6d9da5cc SHA512 180dde452ec097a9267c334044a9ec16bb65cc6ccbc000b7eca0af81ed7ece6f4ce6f6c2be8a2cabca9d48fd46085c81f0ee5d020967104bc25f37f52927829a +DIST automake-1.18.1.tar.xz 1652392 BLAKE2B 4461062a4d596dd87caec7d388449f5f8fe7a4faede8fd0d77d1fb3bb5d23caabb3b715fbb9f29f33326bec527f3d8da6251d9282d4007cef9af146d28fe96cf SHA512 8baa16831416a953a743f4e3c0f55cea5ebefe0f5a7a0e390581981d4461d02dc9038415124e974b2ec390c40daaa241802cd7d42c6fafb793f87cf355db2a61 +DIST automake-1.18.1.tar.xz.sig 488 BLAKE2B c8efc6847f83d3c1565783ce9d1c22924ca5e409894f7d9f28b2b492b3c2cb6e937fa85f6c36a67fd484fffd0b89cdae0a09239ab71e6da8d01015528a78c9ed SHA512 5a1f0e89a8f3826c766aa98617765f4a576dc278abb7a0a4c0fa04d27d15bf670b79853642914db58731eb4dc737f0b9ad65ba9a07b7bb227e763e90e2e54349 DIST automake-1.18.tar.xz 1652364 BLAKE2B 45456d6d0fdcd1222c79980ede1df16dfbf18fa4d4698289dbef7c9e24ae8877881678974c5defcce0a9f46b72882b4603e457e8142722174ccf0e495f941550 SHA512 3488d9188a9e11a3e7f911f429ef49d2d92c5ea42262e3e288e1d4de39217facd5a7b7c7ccac06e6fd78a661985af1fe5638353575ebadffb36fc22553e5f782 DIST automake-1.18.tar.xz.sig 488 BLAKE2B 5a0e9784f536262ab1015e444a67f827e123da7122730e3c4d8c474de544473b731f876a5e743df15b97571990be7509d9007ea8a1ddf00af9cf1747b528016e SHA512 0c01e85ce08a88809d0205de1250836b2a81bb1c16abb395937f737a1bd37fe8d5612c19dbed7d1afd02ed8a8a321356601e4ae8d32b0859dc50fc3617c33f0c diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.18.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.18.1.ebuild new file mode 100644 index 0000000000..a126027842 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.18.1.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Bumping notes: +# * Remember to modify LAST_KNOWN_AUTOMAKE_VER 'upstream' in dev-build/automake-wrapper +# on new automake (major) releases, as well as the dependency in RDEPEND below too. +# * Update _WANT_AUTOMAKE and _automake_atom case statement in autotools.eclass. + +PYTHON_COMPAT=( python3_{11..14} ) + +inherit python-any-r1 verify-sig + +MANGLED_SLOT=${PV:0:4} + +if [[ ${PV} == 9999 ]] ; then + EGIT_MIN_CLONE_TYPE=single + EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git" + inherit git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/karlberry.asc + if [[ $(ver_cut 3) -ge 90 ]] ; then + MANGLED_SLOT=$(ver_cut 1).$(($(ver_cut 2) + 1)) + SRC_URI=" + https://alpha.gnu.org/pub/gnu/${PN}/${P}.tar.xz + verify-sig? ( + https://alpha.gnu.org/pub/gnu/${PN}/${P}.tar.xz.sig + ) + " + else + SRC_URI=" + mirror://gnu/${PN}/${P}.tar.xz + verify-sig? ( + mirror://gnu/${PN}/${P}.tar.xz.sig + ) + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + fi +fi + +DESCRIPTION="Used to generate Makefile.in from Makefile.am" +HOMEPAGE="https://www.gnu.org/software/automake/" + +LICENSE="GPL-2+ FSFAP" +# Use Gentoo versioning for slotting. +SLOT="${MANGLED_SLOT}" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-lang/perl-5.6 + >=dev-build/automake-wrapper-20250528 + >=dev-build/autoconf-2.69:* + sys-devel/gnuconfig +" +BDEPEND=" + app-alternatives/gzip + sys-apps/help2man + dev-build/autoconf-wrapper + dev-build/autoconf + test? ( + ${PYTHON_DEPS} + dev-util/dejagnu + sys-devel/bison + sys-devel/flex + ) + verify-sig? ( sec-keys/openpgp-keys-karlberry ) +" + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + default + + export WANT_AUTOCONF=2.5 + # Don't try wrapping the autotools - this thing runs as it tends + # to be a bit esoteric, and the script does `set -e` itself. + ./bootstrap || die + sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die + + # bug #628912 + if ! has_version -b sys-apps/texinfo ; then + touch doc/{stamp-vti,version.texi,automake.info} || die + fi +} + +src_configure() { + # Also used in install. + infopath="${EPREFIX}/usr/share/automake-${PV}/info" + econf --infodir="${infopath}" +} + +src_test() { + # Fails with byacc/flex + emake YACC="bison -y" LEX="flex" check +} + +src_install() { + default + + rm "${ED}"/usr/share/aclocal/README || die + rmdir "${ED}"/usr/share/aclocal || die + rm \ + "${ED}"/usr/bin/{aclocal,automake} \ + "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die + + # remove all config.guess and config.sub files replacing them + # w/a symlink to a specific gnuconfig version + local x + for x in guess sub ; do + dosym ../gnuconfig/config.${x} \ + /usr/share/${PN}-${SLOT}/config.${x} + done + + # Avoid QA message about pre-compressed file in docs + local tarfile="${ED}/usr/share/doc/${PF}/amhello-1.0.tar.gz" + if [[ -f "${tarfile}" ]] ; then + gunzip "${tarfile}" || die + fi + + pushd "${D}/${infopath}" >/dev/null || die + for f in *.info*; do + # Install convenience aliases for versioned Automake pages. + ln -s "$f" "${f/./-${PV}.}" || die + done + popd >/dev/null || die + + if [[ ${PV} == 9999 ]]; then + local major="89" + local minor="999" + else + local major="$(ver_cut 1)" + if [[ $(ver_cut 3) -ge 90 ]] ; then + local minor=$(($(ver_cut 2) + 1)) + else + local minor="$(ver_cut 2)" + fi + fi + local idx="$((99999-(major*1000+minor)))" + newenvd - "06automake${idx}" <<-EOF + INFOPATH="${infopath}" + EOF + + docompress "${infopath}" +} From b5615b84ad522459fb6e44d38b7f346712306ac1 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:30 +0000 Subject: [PATCH 021/131] dev-build/gtk-doc-am: Sync with Gentoo It's from Gentoo commit 36d5b8cc699d48a09c0a8b744af438a8728f2982. --- .../dev-build/gtk-doc-am/gtk-doc-am-1.34.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/gtk-doc-am-1.34.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/gtk-doc-am-1.34.0.ebuild index 71fcc52440..b0df65f92c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/gtk-doc-am-1.34.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/gtk-doc-am-1.34.0.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/gtk-doc" LICENSE="GPL-2+ FDL-1.1" 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" RDEPEND="! Date: Mon, 30 Jun 2025 07:07:32 +0000 Subject: [PATCH 022/131] dev-build/ninja: Sync with Gentoo It's from Gentoo commit 39e50c16874dfc9993ed2886b7dbebb01b8921f1. --- .../portage-stable/dev-build/ninja/Manifest | 1 + .../dev-build/ninja/ninja-1.13.0.ebuild | 132 ++++++++++++++++++ 2 files changed, 133 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.13.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/ninja/Manifest index 621e98b627..71ab2ed855 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/ninja/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/ninja/Manifest @@ -1,3 +1,4 @@ DIST gtest-1.14.0.tar.gz 867764 BLAKE2B c457f55ac572b9fb1553eee3df7eeeaf1e7dd2c3d747dd5e90dd279038fa5c71bb7b7d9ba1cf7e6143898b2a1d24d100584bd2a48ded41a426870c4825eec1b2 SHA512 765c326ccc1b87a01027385e69238266e356361cd4ee3e18e3c9d137a5d11fa5d657c164d02dd1be8fe693c8e10f2b580588dbfa57d27f070e2750f50d3e662c DIST ninja-1.11.1.tar.gz 229479 BLAKE2B c96cf7c319b7abd65f644465688d256f8b3a576c4616d0c63852e25dd0dc5f63c66708d429d8dddb6228502eb147211a86a5dd369b80ec2228902b370d2343e5 SHA512 1bca38877c70ee6613f347ffccef5adc02ba0a3947c62ae004ea97f918442b5a3de92378e4f820ae2a7676bc7609d25fbc7d41f6cfb3a61e5e4b26ec3639e403 DIST ninja-1.12.1.tar.gz 240483 BLAKE2B 915545888cbd7d9e6e7e4fb0bad42f6c36ecef2de93356966541de0f8f4315e59e47cf20f189de5de11ba2a038488c7964ec709bad8868488cc03524a88483f4 SHA512 d6e6f0e89a4844a69069ff0c7cefc07704a41c7b0c062a57534de87decdde63e27928147b321111b806aa7efa1061f031a1319b074391db61b0cbdccf096954c +DIST ninja-1.13.0.tar.gz 291328 BLAKE2B 263da5b3991a7569012a46f2311b50fafc32838aebca79772fdebade4c87d1b01286ba24b4055d19b372cd3829a22f04892518227ce976e24a55777d9b9c762f SHA512 e03f721a34c19e47160eae2daa56299f4d030df646f63a277b8089b37ed8922e0cc944c421d257a33ee05b177a61ed15d8eb0e8584c3196da3137677b7b41db6 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.13.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.13.0.ebuild new file mode 100644 index 0000000000..8185b7a0c8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.13.0.ebuild @@ -0,0 +1,132 @@ +# Copyright 2012-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) + +inherit bash-completion-r1 edo python-any-r1 toolchain-funcs + +DESCRIPTION="A small build system similar to make" +HOMEPAGE="https://ninja-build.org/" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/ninja-build/ninja.git" + inherit git-r3 +else + SRC_URI="https://github.com/ninja-build/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + 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 + +GTEST_VER=1.14.0 +SRC_URI+=" test? ( https://github.com/google/googletest/archive/refs/tags/v${GTEST_VER}.tar.gz -> gtest-${GTEST_VER}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="doc test" +RESTRICT="!test? ( test )" + +BDEPEND=" + ${PYTHON_DEPS} + dev-util/re2c + doc? ( + app-text/asciidoc + app-text/doxygen + dev-libs/libxslt + media-gfx/graphviz + ) +" +PDEPEND=" + app-alternatives/ninja +" + +PATCHES=( + "${FILESDIR}"/ninja-cflags.patch +) + +pkg_setup() { + : +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + fi + + default +} + +bootstrap() { + if tc-is-cross-compiler; then + local -x AR=$(tc-getBUILD_AR) + local -x CXX=$(tc-getBUILD_CXX) + local -x CFLAGS= + local -x CXXFLAGS="${BUILD_CXXFLAGS} -D_FILE_OFFSET_BITS=64" + local -x LDFLAGS=${BUILD_LDFLAGS} + fi + + local bootstrap_args=( + --with-python=python + --bootstrap + --verbose + $(usev test --gtest-source-dir="${WORKDIR}"/googletest-${GTEST_VER}) + ) + + edo ${EPYTHON} configure.py "${bootstrap_args[@]}" +} + +src_compile() { + python_setup + + tc-export AR CXX + unset CFLAGS + export CXXFLAGS="${CXXFLAGS} -D_FILE_OFFSET_BITS=64" + + bootstrap + + if use doc; then + edo ./ninja -v doxygen manual + fi + + if tc-is-cross-compiler; then + edo ${EPYTHON} configure.py --with-python=python + edo ./ninja -v ninja + fi +} + +src_test() { + if ! tc-is-cross-compiler; then + # Bug 485772 + ulimit -n 2048 + edo ./ninja -v ninja_test + edo ./ninja_test + fi +} + +src_install() { + newbin ninja{,-reference} + + if use doc; then + docinto html + dodoc -r doc/doxygen/html/. + dodoc doc/manual.html + fi + + newbashcomp misc/bash-completion ${PN} + + insinto /usr/share/vim/vimfiles/syntax/ + doins misc/ninja.vim + + echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}"/ninja.vim || die + insinto /usr/share/vim/vimfiles/ftdetect + doins "${T}"/ninja.vim + + insinto /usr/share/zsh/site-functions + newins misc/zsh-completion _ninja +} + +pkg_postinst() { + if ! [[ -e "${EROOT}/usr/bin/ninja" ]]; then + ln -s ninja-reference "${EROOT}/usr/bin/ninja" || die + fi +} From c39bad37f6b82d7d47a4d32e7571ae44ee91e01f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:38 +0000 Subject: [PATCH 023/131] dev-debug/gdb: Sync with Gentoo It's from Gentoo commit 0d38eaca61438f163f99787bb3c7490841af9a9d. --- .../dev-debug/gdb/gdb-15.2-r101.ebuild | 349 ------------------ 1 file changed, 349 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r101.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r101.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r101.ebuild deleted file mode 100644 index 15965abbbc..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r101.ebuild +++ /dev/null @@ -1,349 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# See https://sourceware.org/gdb/wiki/DistroAdvice for general packaging -# tips & notes. - -GUILE_COMPAT=( 2-2 3-0 ) -PYTHON_COMPAT=( python3_{10..13} ) -inherit flag-o-matic guile-single linux-info python-single-r1 strip-linguas toolchain-funcs - -export CTARGET=${CTARGET:-${CHOST}} - -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } - -case ${PV} in - 9999*) - # live git tree - EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" - inherit git-r3 - SRC_URI="" - ;; - *.*.50_p2???????|*.*.90_p2???????) - # Weekly snapshots - MY_PV="${PV/_p/.}" - SRC_URI=" - https://sourceware.org/pub/gdb/snapshots/branch/gdb-weekly-${MY_PV}.tar.xz - https://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${MY_PV}.tar.xz - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-weekly-${MY_PV}.tar.xz - " - S="${WORKDIR}/${PN}-${MY_PV}" - - # e.g. 13.1.90_p20230325 is a snapshot on the stable branch, so it's fine - if [[ ${PV} == *.[123456789].9?_p2??????? ]] ; then - REGULAR_RELEASE=1 - fi - ;; - *.*.9?) - # Prereleases - MY_PV="${PV/_p/.}" - SRC_URI=" - https://sourceware.org/pub/gdb/snapshots/branch/gdb-${MY_PV}.tar.xz - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-${MY_PV}.tar.xz - " - S="${WORKDIR}/${PN}-${MY_PV}" - ;; - *) - # Normal upstream release - SRC_URI=" - mirror://gnu/gdb/${P}.tar.xz - https://sourceware.org/pub/gdb/releases/${P}.tar.xz - " - - REGULAR_RELEASE=1 -esac - -PATCH_DEV="" -PATCH_VER="" -DESCRIPTION="GNU debugger" -HOMEPAGE="https://sourceware.org/gdb/" -SRC_URI=" - ${SRC_URI} - ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${P}-patches-${PATCH_VER}.tar.xz} - ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz} -" - -LICENSE="GPL-3+ LGPL-2.1+" -SLOT="0" -IUSE="cet debuginfod guile lzma multitarget nls +python rocm +server sim source-highlight test vanilla xml xxhash zstd" -if [[ -n ${REGULAR_RELEASE} ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" -fi -REQUIRED_USE=" - guile? ( ${GUILE_REQUIRED_USE} ) - python? ( ${PYTHON_REQUIRED_USE} ) - rocm? ( multitarget ) -" -RESTRICT="!test? ( test )" - -RDEPEND=" - dev-libs/mpfr:= - dev-libs/gmp:= - >=sys-libs/ncurses-5.2-r2:= - >=sys-libs/readline-7:= - sys-libs/zlib - debuginfod? ( - dev-libs/elfutils[debuginfod(-)] - ) - lzma? ( app-arch/xz-utils ) - python? ( ${PYTHON_DEPS} ) - guile? ( ${GUILE_DEPS} ) - xml? ( dev-libs/expat ) - rocm? ( Date: Mon, 30 Jun 2025 07:07:41 +0000 Subject: [PATCH 024/131] dev-lang/go: Sync with Gentoo It's from Gentoo commit 3d4a1a2fcd573b87b80abec4b2ae98468cbb2acd. --- .../third_party/portage-stable/dev-lang/go/go-1.23.10.ebuild | 2 +- .../src/third_party/portage-stable/dev-lang/go/go-1.24.4.ebuild | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.23.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.23.10.ebuild index 42d59f6d8f..804fca4ff0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.23.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.23.10.ebuild @@ -23,7 +23,7 @@ case ${PV} in case ${PV} in *_beta*|*_rc*) ;; *) - KEYWORDS="-* amd64 ~arm ~arm64 ~loong ~mips ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" + KEYWORDS="-* amd64 arm ~arm64 ~loong ~mips ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" ;; esac esac diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.4.ebuild index ac363e2cc1..2a3d3932da 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.4.ebuild @@ -20,7 +20,7 @@ case ${PV} in *) SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " S="${WORKDIR}"/go - KEYWORDS="-* amd64 ~arm ~arm64 ~loong ~mips ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" + KEYWORDS="-* amd64 arm ~arm64 ~loong ~mips ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" ;; esac From c2d0bafcf0f466266776458ca5f8a418845cf62d Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:43 +0000 Subject: [PATCH 025/131] dev-lang/perl: Sync with Gentoo It's from Gentoo commit 9300aac38467fd5c3f95409e0a75b37aca183c99. --- .../portage-stable/dev-lang/perl/Manifest | 3 + .../dev-lang/perl/perl-5.42.0_rc1.ebuild | 870 ++++++++++++++++++ .../dev-lang/perl/perl-5.42.0_rc2.ebuild | 870 ++++++++++++++++++ 3 files changed, 1743 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0_rc1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0_rc2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/perl/Manifest index 3d8c1f04f1..4991a2dab6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/perl/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/Manifest @@ -2,6 +2,9 @@ DIST perl-5.40.0-patches-2.tar.xz 17072 BLAKE2B 7cc1085a0a701f72cf1fce2b7f18ac94 DIST perl-5.40.0.tar.xz 13804184 BLAKE2B cf191c3ccaf6f395c0c7d08c2ad3456c1dd622d4fe78e7fb3a74c741e9a84f1d39a55f5bc6adbea54c9520b1b387e72e957f9a7544ab8f24968d233cd5b959ae SHA512 a2fb1a24c6367b4043f4e929b2d74fc3bad1415e53b791ed1f219f1701064ae21b2bd3164ba95fcf24eaf458bd54433024ccae43725c0bb82a1ec6a98dc7052d DIST perl-5.40.1.tar.xz 13930924 BLAKE2B 2f421a9eb6c68e2f12b95e6ac70ede3819c0d31c6f25ec5e45337faa053eaf21911413573624e3e84d82e4d863ed21799dbf471865c7e04519dcb81eac9c5c36 SHA512 3ff16b3462ce43ff38dab21b3dfc20f81772b8c9eac19ab96ba2d5e6cbb390e2302fa76c4879f915249357cd11c7ec0d548bcbf3ab2c156df1b9fca95da3f545 DIST perl-5.40.2.tar.xz 13923524 BLAKE2B e37d0a71fcf91c065f7d6a75077be257c679eb1b8f167a569e4cfd532baa7af621ff887691293a3ec39cd35b960aa3de59f826f3351938994d77d00b44501bca SHA512 1324b119e4370bbeb47a343d152f46c637addb0373ff07f0e214aa9d5912c03cd2bd23987a6e86d43453166412d3a03a52e780201941f679ef4186df16590e41 +DIST perl-5.42.0-RC1.tar.xz 14380792 BLAKE2B f7f26bfe302313df9d69bf952b94ee70b470ce4493e2cf88014dc6fe5a980b69e55d57eca4253c6c9e3a172f01aa123a4de116200e42fa6581c7ae983697a0b9 SHA512 05bf18c86b3e8372ed8a18f23404e4f3343c74ce821e4484709c13087473161b786fa543a7e602d1c7463a161d3db6389ead240c2d1a56280dd5b14ea71fd996 +DIST perl-5.42.0-RC2.tar.xz 14395024 BLAKE2B b01e041f00ce45219aaf7dda5221356ccfe594eac3013c2b001be0f261faceb82622403bee03c47e0780d9b142cf7e0cd6ed7f2afb7c3cdc351efdf3a85d9efc SHA512 8642e16adb8065637d07aaa2fc34612c4f749b45a0398a7e8a4518930b14c91117669952f520306e60c20dfb47ea3e411b11efa558c11c917074649d1aa73441 +DIST perl-5.42.0-patches-1.tar.xz 17108 BLAKE2B 0ac95f8c2665a087215dc896c3e00ccfe4103a781c05eff2f4f80bda4ffc36b5745e190dd85056934d340726a6c25885fda458e560581175531f17fe1e27ae22 SHA512 7e1efa62911229f48250a97f7479d15155e94f577bf257020a7a280b38b7547a3b4a397c212dbfcf5a2d187caa29c6006e76f95c66fe5dd59d3c333680c55986 DIST perl-cross-1.6.1.tar.gz 124122 BLAKE2B b1b78b30f2cf8c5ba12e3df6177b7d102033c8eaceeea9f12a1aeb2bfdf97edda83842e32de797b7ffa3ef6bc66dfba6ccbbacc25367b6f7bc2d137ce58aca93 SHA512 35a4f7966f1f94ef0b6bfe7a82e8a50e0daf6e5e0c1ed99c7c4767aa4f0708db05e8cc01a883257f970703991f617a189609cd57eec63767e2e73de3d6155bdf DIST perl-cross-1.6.2.tar.gz 123761 BLAKE2B c3c51d5a86940914c3a037d1cace49c6def531cdc380771f968461a3552c0200c8a802f4ff74ddb5fcd494ab1e1b582a4c1c5214be4faae8712fc506b19ca04f SHA512 51b45bf972304634d706d09e27d457636e43f9f27f739004eca529b21245ba78612dcb08b54225fc7ca19511983642c37915939ea8aa1c1a4560093474d9e76b DIST perl-cross-1.6.tar.gz 121973 BLAKE2B b3a17d92dd7621a3bc253a6c4e56eccd3adec2c2b52e606c956a08f48d786a16a3ac5beb056a732ba3df92227f210193b0f516fd9d73cac362a04ec52efab029 SHA512 980af804513ec126e40eb9d8200ca54ba805bbb13b38d20a45daaf8d98d6b257e2eebc1ecad56cd47f60e235fa1141f6df9518d748db4f18d5219180750ca615 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0_rc1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0_rc1.ebuild new file mode 100644 index 0000000000..ca10f3d35d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0_rc1.ebuild @@ -0,0 +1,870 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing + +PATCH_VER=1 +CROSS_VER=1.6.2 +PATCH_BASE="perl-5.42.0-patches-${PATCH_VER}" +PATCH_DEV=dilfridge + +DIST_AUTHOR=SHAY + +# Greatest first, don't include yourself +# Devel point-releases are not ABI-intercompatible, but stable point releases are +# BIN_OLDVERSEN contains only C-ABI-intercompatible versions +PERL_BIN_OLDVERSEN="" + +if [[ "${PV##*.}" == "9999" ]]; then + DIST_VERSION=5.42.0 +else + DIST_VERSION="${PV/_rc/-RC}" +fi +SHORT_PV="${DIST_VERSION%.*}" + +# Even numbered major versions are ABI intercompatible +# Odd numbered major versions are not +if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then + SUBSLOT="${DIST_VERSION%-RC*}" +else + SUBSLOT="${DIST_VERSION%.*}" +fi + +# Used only in tar paths +MY_P="perl-${DIST_VERSION}" +# Used in library paths +MY_PV="${DIST_VERSION%-RC*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +HOMEPAGE="https://www.perl.org/" + +SRC_URI=" + https://drop.perl.fish/${MY_P}.tar.xz + mirror://cpan/src/5.0/${MY_P}.tar.xz + mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz + https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz +" + +S="${WORKDIR}/${MY_P}" + +LICENSE="|| ( Artistic GPL-1+ )" + +SLOT="0/${SUBSLOT}" + +if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; 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="berkdb perl_features_debug doc gdbm perl_features_ithreads minimal perl_features_quadmath" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( >=sys-libs/gdbm-1.8.3:= ) + app-arch/bzip2 + >=sys-libs/zlib-1.2.12 + virtual/libcrypt:= +" +DEPEND="${RDEPEND}" +BDEPEND="${RDEPEND}" +PDEPEND=" + !minimal? ( + >=app-admin/perl-cleaner-2.31 + >=virtual/perl-CPAN-2.290.0 + >=virtual/perl-Encode-3.120.0 + >=virtual/perl-File-Temp-0.230.400-r2 + >=virtual/perl-Data-Dumper-2.154.0 + >=virtual/perl-Math-BigInt-1.999.842 + virtual/perl-Test-Harness + ) +" + +# bug 390719, bug 523624 +# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker + +dual_scripts() { + src_remove_dual perl-core/Archive-Tar 3.40.0 ptar ptardiff ptargrep + src_remove_dual perl-core/CPAN 2.380.0 cpan + src_remove_dual perl-core/Digest-SHA 6.40.0 shasum + src_remove_dual perl-core/Encode 3.210.0 enc2xs piconv + src_remove_dual perl-core/ExtUtils-MakeMaker 7.760.0 instmodsh + src_remove_dual perl-core/ExtUtils-ParseXS 3.570.0 xsubpp + src_remove_dual perl-core/IO-Compress 2.213.0 zipdetails + src_remove_dual perl-core/JSON-PP 4.160.0 json_pp + src_remove_dual perl-core/Module-CoreList 5.202.506.240 corelist + src_remove_dual perl-core/Pod-Checker 1.770.0 podchecker + src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc + src_remove_dual perl-core/Pod-Usage 2.50.0 pod2usage + src_remove_dual perl-core/Test-Harness 3.500.0 prove + src_remove_dual perl-core/podlators 6.0.2 pod2man pod2text + src_remove_dual_man perl-core/podlators 6.0.2 /usr/share/man/man1/perlpodstyle.1 +} + +check_rebuild() { + # Fresh install + if [[ -z ${REPLACING_VERSIONS} ]]; then + return 0 + fi + + # Major Upgrade + local v + for v in ${REPLACING_VERSIONS}; do + [[ ${v%.*} == "${SHORT_PV}" ]] && continue + echo "" + ewarn "UPDATE THE PERL MODULES:" + ewarn "After updating dev-lang/perl the installed Perl modules" + ewarn "have to be re-installed. In most cases, this is done automatically" + ewarn "by the package manager, but subsequent steps are still recommended" + ewarn "to ensure system consistency." + ewarn + ewarn "You should start with a depclean to remove any unused perl dependencies" + ewarn "that may confuse portage in future. Regular depcleans are also encouraged" + ewarn "as part of your regular update cycle, as that will keep perl upgrades working." + ewarn "Recommended: emerge --depclean -va" + ewarn + ewarn "You should then call perl-cleaner to clean up any old files and trigger any" + ewarn "remaining rebuilds portage may have missed." + ewarn "Use: perl-cleaner --all" + return 0 + done + + # Reinstall w/ USE Change + if + ( use perl_features_ithreads && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_ithreads]' ) ) || \ + ( ! use perl_features_ithreads && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_ithreads]' ) ) || \ + ( use perl_features_quadmath && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_quadmath]' ) ) || \ + ( ! use perl_features_quadmath && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_quadmath]' ) ) || \ + ( use perl_features_debug && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_debug]' ) ) || \ + ( ! use perl_features_debug && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_debug]' ) ) ; then + echo "" + ewarn "TOGGLED PERL FEATURES WARNING:" + ewarn "You changed one of the PERL_FEATURES flags ithreads, quadmath, or debug." + ewarn "You must rebuild all perl-modules installed. Mostly this should be done automatically" + ewarn "via the flag changes of the packages. If the rebuild fails, use perl-cleaner." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + ewarn + ewarn "NOTE: Previous to perl-5.38.2-r3, these flags were useflags for dev-lang/perl." + ewarn "If you just upgraded and do not intend to change anything, carry the same settings over" + ewarn "into a global PERL_FEATURES variable set in make.conf. E.g., " + ewarn "dev-lang/perl[ithreads,quadmath] becomes PERL_FEATURES=\"ithreads quadmath\"" + fi +} + +pkg_pretend() { + if \ + ( use perl_features_ithreads && has_version ' "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc" + fi + if [[ $# -gt 0 ]]; then + # Note: when $@ is more than one element, this emits a + # line for each element + printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs" + fi +} + +# Remove a patch using a glob expr +# eg: +# rm_patch *-darwin-Use-CC* +# +rm_patch() { + local patchdir="${WORKDIR}/patches" + local expr="$1" + local patch="$( cd "${patchdir}"; echo $expr )" + einfo "Removing $patch ($expr) from patch bundle" + if [[ -e "${patchdir}/${patch}" ]]; then + rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )" + else + ewarn "No ${expr} found in ${patchdir} to remove" + fi +} + +# Yes, this is a reasonable amount of code for something seemingly simple +# but this is far easier to debug when things go wrong, and things went wrong +# multiple times while I was getting the exact number of slashes right, which +# requires circumnavigating both bash and sed escape mechanisms. +c_escape_string() { + local slash dquote + slash='\' + dquote='"' + re_slash="${slash}${slash}" + re_dquote="${slash}${dquote}" + + # Convert \ to \\, + # " to \" + echo "$1" |\ + sed "s|${re_slash}|${re_slash}${re_slash}|g" |\ + sed "s|${re_dquote}|${re_slash}${re_dquote}|g" +} +c_escape_file() { + c_escape_string "$(cat "$1")" +} + +apply_patchdir() { + local patchdir="${WORKDIR}/patches" + local infodir="${WORKDIR}/patch-info" + local patchoutput="patchlevel-gentoo.h" + + # Inject Patch-Level info into description for patchlevel.h patch + # to show in -V + local patch_expr="*List-packaged-patches*" + local patch="$( cd "${patchdir}"; echo $patch_expr )"; + einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )" + + if [[ -e "${patchdir}/${patch}" ]]; then + printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\ + >"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc" + else + eerror "No $patch_expr found in ${patchdir}" + fi + + # Compute patch list to apply + # different name other than PATCHES to stop default + # reapplying it + # Single depth is currently only supported, as artifacts can reside + # from the old layout being multiple-directories, as well as it grossly + # simplifying the patchlevel_gentoo.h generation. + local PERL_PATCHES=($( + find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\ + grep -E '[.](diff|patch)$' |\ + sort -n + )) + + for patch in "${PERL_PATCHES[@]}"; do + eapply "${WORKDIR}"/patches/${patch} + done + + einfo "Generating $patchoutput" + + # This code creates a header file, each iteration + # creates one-or-more-lines for each entry found in PERL_PATCHES + # and STDOUT is redirected to the .h file + for patch in "${PERL_PATCHES[@]}"; do + local desc_f="${infodir}/${patch}.desc" + local bugs_f="${infodir}/${patch}.bugs" + + printf ',"%s"\n' "${patch}" + if [[ ! -e "${desc_f}" ]]; then + ewarn "No description provided for ${patch} (expected: ${desc_f} )" + else + local desc="$(c_escape_file "${desc_f}")" + printf ',"- %s"\n' "${desc}" + fi + if [[ -e "${bugs_f}" ]]; then + while read -d $'\n' -r line; do + local esc_line="$(c_escape_string "${line}")" + printf ',"- Bug: %s"\n' "${esc_line}" + done <"${bugs_f}" + fi + done > "${S}/${patchoutput}" + printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST" + +} + +src_prepare() { + + local patchdir="${WORKDIR}/patches" + + # mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patches" "${WORKDIR}/patches" || die + # mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patch-info" "${WORKDIR}/patch-info" || die + + # Prepare Patch dir with additional patches / remove unwanted patches + # Inject bug/desc entries for perl -V + # Old example: + # add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\ + # "Fix broken miniperl on hppa"\ + # "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162" + + if [[ ${CHOST} == *-solaris* ]] ; then + # do NOT mess with nsl, on Solaris this is always necessary, + # when -lsocket is used e.g. to get h_errno + rm_patch "*-nsl-and-cl*" + fi + + apply_patchdir + + tc-is-cross-compiler && src_prepare_perlcross + + tc-is-static-only || src_prepare_dynamic + + if use gdbm; then + sed -i "s:INC => .*:INC => \"-I${ESYSROOT}/usr/include/gdbm\":g" \ + ext/NDBM_File/Makefile.PL || die + fi + + # Use errno.h from prefix rather than from host system, bug #645804 + if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then + sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + # set a soname, fix linking against just built libperl + sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die + fi + + if [[ ${CHOST} == *-darwin* ]] ; then + # fix install_name (soname) not to reference $D + sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die + + # fix environ linkage absence (only a real issue on Darwin9) + if [[ ${CHOST##*-darwin} -le 9 ]] ; then + sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \ + Makefile.SH || die + fi + fi + + default +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +# Outputs a list of versions which have been seen in any of the +# primary perl @INC prefix paths, such as: +# /usr/lib64/perl5/ +# /usr/local/lib64/perl5/ +# /usr/lib64/perl5/vendor_perl/ +# +# All values of NUMBER must be like "5.x.y" or like "5.x" +# +find_candidate_inc_versions() { + local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$' + local dirs=( + "${EROOT}${PRIV_BASE}" + "${EROOT}${SITE_BASE}" + "${EROOT}${VENDOR_BASE}" + ) + for dir in "${dirs[@]}"; do + if [[ ! -e "${dir}" ]]; then + continue + fi + # Without access to readdir() on these dirs, find will not be able + # to reveal any @INC directories inside them, and will subsequently prune + # them from the built perl's @INC support, breaking our compatiblity options + # entirely. + if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then + eerror "Bad permissions on ${dir}, this will probably break things" + eerror "Ensure ${dir} is +rx for at least uid=$EUID" + eerror "Recommended permission is +rx for all" + eerror "> chmod o+rx ${dir}" + fi + done + einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}" + find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null +} + +# Sort versions passed versiony-ly, remove self-version if present +# dedup. Takes each version as an argument +sanitize_inc_versions() { + local vexclude="${SUBSLOT}" + einfo "Normalizing/Sorting candidate list: $*" + einfo " to remove '${vexclude}'" + # Note, general numeric sort has to be used + # for the last component, or unique will convert + # 5.30.0 + 5.30 into just 5.30 + printf "%s\n" "$@" |\ + grep -vxF "${vexclude}" |\ + sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg +} + +versions_to_inclist() { + local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" + + for v; do + has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ "; + echo -n "${v}/ "; + done +} + +versions_to_gentoolibdirs() { + local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" + local root + local v + for v; do + for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do + local fullpath="${EROOT}${root}/${v}" + if [[ -e "${fullpath}" ]]; then + has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}"; + printf "%s:" "${fullpath}" + fi + done + done +} + +src_configure() { + declare -a myconf + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + # Perl has problems compiling with -Os in your flags with glibc + replace-flags "-Os" "-O2" + + # xlocale.h is going away in glibc-2.26, so it's counterproductive + # if we use it and include it in CORE/perl.h ... Perl builds just + # fine with glibc and locale.h only. + # However, the darwin prefix people have no locale.h ... + use elibc_glibc && myconf -Ui_xlocale + + # Perl relies on -fwrapv semantics + filter-flags -ftrapv + + # This flag makes compiling crash in interesting ways + filter-flags "-malign-double" + + # On musl we dont want to use largefile *64 types, since 1) normal + # types are 64bit / largefile anyway and 2) the *64 types are going + # away in 1.2.4... bug #911233 + use elibc_musl && myconf -Ud_off64_t + + use sparc && myconf -Ud_longdbl + + # This urgently needs debugging - on m68k, miniperl crashes during + # build otherwise.. + use m68k && append-ldflags -Wl,-z,norelro + + export BUILD_BZIP2=0 + export BZIP2_INCLUDE=${ESYSROOT}/usr/include + export BZIP2_LIB=${ESYSROOT}/usr/$(get_libdir) + + export BUILD_ZLIB=False + export ZLIB_INCLUDE=${ESYSROOT}/usr/include + export ZLIB_LIB=${ESYSROOT}/usr/$(get_libdir) + + # allow either gdbm to provide ndbm (in ) or db1 + myndbm='U' + mygdbm='U' + mydb='U' + if use gdbm ; then + mygdbm='D' + if use berkdb ; then + myndbm='D' + fi + fi + if use berkdb ; then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then + ewarn "Perl will not be built with berkdb support, use gcc if you need it..." + myconf -Ui_db -Ui_ndbm + fi + + use perl_features_ithreads && myconf -Dusethreads + + use perl_features_quadmath && myconf -Dusequadmath + + if use perl_features_debug ; then + append-cflags "-g" + myconf -DDEBUGGING + elif [[ ${CFLAGS} == *-g* ]] ; then + myconf -DDEBUGGING=-g + else + myconf -DDEBUGGING=none + fi + + # modifying 'optimize' prevents cross configure script from appending required flags + if tc-is-cross-compiler; then + append-cflags "-fwrapv" + tc-export_build_env + + # Needed for the CHOST build too (bug #932385) + export CFLAGS="${CFLAGS} -D_GNU_SOURCE" + + # bug #913171 + export \ + HOSTCC=$(tc-getBUILD_CC) \ + HOSTCFLAGS="${CFLAGS_FOR_BUILD} -D_GNU_SOURCE" \ + HOSTLDFLAGS="${LDFLAGS_FOR_BUILD}" + fi + + # bug #877659, bug #821577 + append-cflags -fno-strict-aliasing + + # Autodiscover all old version directories, some of them will even be newer + # if you downgrade + if [[ -z ${PERL_OLDVERSEN} ]]; then + PERL_OLDVERSEN="$( find_candidate_inc_versions )" + fi + + # Fixup versions, removing self match, fixing order and dupes + PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )" + + # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string + if [[ -n "${PERL_OLDVERSEN// }" ]]; then + local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )" + einfo "This version of perl may partially support modules previously" + einfo "installed in any of the following paths:" + for incpath in ${inclist}; do + [[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}" + [[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}" + [[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}" + done + einfo "This is a temporary measure and you should aim to cleanup these paths" + einfo "via world updates and perl-cleaner" + # myconf -Dinc_version_list="${inclist}" + myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )" + fi + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + # Make sure we can do the final link #523730, need to set deployment + # target to override hardcoded 10.3 which breaks on modern OSX + [[ ${CHOST} == *-darwin* ]] && \ + myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)" + + # Older macOS with non-Apple GCC chokes on inline in system headers + # using c89 mode as injected by cflags.SH, in addition, we override + # cflags, so we loose PERL_DARWIN which enables compat code that + # apparently on more recent macOS releases is no longer necessary + [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \ + append-cflags -Dinline=__inline__ -DPERL_DARWIN + + # Prefix: the host system needs not to follow Gentoo multilib stuff, and in + # Prefix itself we don't do multilib either, so make sure perl can find + # something compatible. + if use prefix ; then + # Set a hook to check for each detected library whether it actually works. + export libscheck=" + ( echo 'int main(){}' > '${T}'/conftest.c && + $(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null + ) || xxx=/dev/null" + + # Use all host paths that might contain useful stuff, the hook above will filter out bad choices. + local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib" + myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}" + elif [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + # don't try building ODBM, bug #354453 + disabled_extensions="ODBM_File" + + if ! use gdbm ; then + # workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm" + disabled_extensions="${disabled_extensions} GDBM_File NDBM_File" + fi + + myconf -Dnoextensions="${disabled_extensions}" + + [[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly + + [[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF} + # allow fiddling via EXTRA_ECONF, bug 558070 + eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})" + + myconf \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dar="$(tc-getAR)" \ + -Dcc="$(tc-getCC)" \ + -Dcpp="$(tc-getCPP)" \ + -Dld="$(tc-getCC)" \ + -Dnm="$(tc-getNM)" \ + -Dranlib="$(tc-getRANLIB)" \ + -Accflags="${CFLAGS} -DNO_PERL_RAND_SEED" \ + -Doptimize="${CFLAGS}" \ + -Dldflags="${LDFLAGS}" \ + -Dprefix="${EPREFIX}"'/usr' \ + -Dsiteprefix="${EPREFIX}"'/usr/local' \ + -Dvendorprefix="${EPREFIX}"'/usr' \ + -Dscriptdir="${EPREFIX}"'/usr/bin' \ + -Dprivlib="${EPREFIX}${PRIV_LIB}" \ + -Darchlib="${EPREFIX}${ARCH_LIB}" \ + -Dsitelib="${EPREFIX}${SITE_LIB}" \ + -Dsitearch="${EPREFIX}${SITE_ARCH}" \ + -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \ + -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \ + -Dman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \ + -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \ + -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dlibperl="${LIBPERL}" \ + -Dlocincpth="${EPREFIX}"'/usr/include ' \ + -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \ + -Duselargefiles \ + -Duse64bitint \ + -Dd_semctl_semun \ + -Dcf_by='Gentoo' \ + -Dmyhostname='localhost' \ + -Dperladmin='root@localhost' \ + -Ud_csh \ + -Dsh="${BROOT}"/bin/sh \ + -Dtargetsh="${EPREFIX}"/bin/sh \ + -Uusenm \ + "${EXTRA_ECONF[@]}" + + if tc-is-cross-compiler; then + ./configure \ + --target="${CHOST}" \ + --build="${CBUILD}" \ + -Dinstallprefix='' \ + -Dinstallusrbinperl='undef' \ + -Dusevendorprefix='define' \ + "${myconf[@]}" \ + || die "Unable to configure" + else + sh Configure \ + -des \ + -Dinstallprefix="${EPREFIX}"'/usr' \ + -Dinstallusrbinperl='n' \ + "${myconf[@]}" \ + || die "Unable to configure" + fi +} + +src_test() { + export NO_GENTOO_NETWORK_TESTS=1; + export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}" + export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}" + if [[ ${EUID} == 0 ]] ; then + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." + return 0 + fi + TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed" +} + +src_install() { + local i + local coredir="${ARCH_LIB}/CORE" + + emake DESTDIR="${D}" install + + rm -f "${ED}/usr/bin/perl${MY_PV}" + ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die + + if ! tc-is-static-only ; then + dolib.so "${ED}"${coredir}/${LIBPERL} + rm -f "${ED}"${coredir}/${LIBPERL} + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die + + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die + fi + + rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages" + + # This removes ${D} from Config.pm + for i in $(find "${D}" -iname "Config.pm" ) ; do + einfo "Removing ${D} from ${i}..." + sed -i -e "s:${D}::" "${i}" || die "Sed failed" + done + + dodoc Changes* README AUTHORS + + if use doc ; then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + LD_LIBRARY_PATH=. ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${ED}/usr/share/doc/${PF}/html" + fi + + [[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local + + dual_scripts +} + +pkg_preinst() { + check_rebuild +} + +pkg_postinst() { + dual_scripts + + if [[ -z "${ROOT}" ]] ; then + local INC DIR file + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }') + einfo "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do + rm -f "${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done + + fi +} + +pkg_postrm() { + dual_scripts +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0_rc2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0_rc2.ebuild new file mode 100644 index 0000000000..92c207e7bb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0_rc2.ebuild @@ -0,0 +1,870 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing + +PATCH_VER=1 +CROSS_VER=1.6.2 +PATCH_BASE="perl-5.42.0-patches-${PATCH_VER}" +PATCH_DEV=dilfridge + +DIST_AUTHOR=SHAY + +# Greatest first, don't include yourself +# Devel point-releases are not ABI-intercompatible, but stable point releases are +# BIN_OLDVERSEN contains only C-ABI-intercompatible versions +PERL_BIN_OLDVERSEN="" + +if [[ "${PV##*.}" == "9999" ]]; then + DIST_VERSION=5.42.0 +else + DIST_VERSION="${PV/_rc/-RC}" +fi +SHORT_PV="${DIST_VERSION%.*}" + +# Even numbered major versions are ABI intercompatible +# Odd numbered major versions are not +if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then + SUBSLOT="${DIST_VERSION%-RC*}" +else + SUBSLOT="${DIST_VERSION%.*}" +fi + +# Used only in tar paths +MY_P="perl-${DIST_VERSION}" +# Used in library paths +MY_PV="${DIST_VERSION%-RC*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +HOMEPAGE="https://www.perl.org/" + +SRC_URI=" + https://drop.perl.fish/${MY_P}.tar.xz + mirror://cpan/src/5.0/${MY_P}.tar.xz + mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz + https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz +" + +S="${WORKDIR}/${MY_P}" + +LICENSE="|| ( Artistic GPL-1+ )" + +SLOT="0/${SUBSLOT}" + +if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; 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="berkdb perl_features_debug doc gdbm perl_features_ithreads minimal perl_features_quadmath" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( >=sys-libs/gdbm-1.8.3:= ) + app-arch/bzip2 + >=sys-libs/zlib-1.2.12 + virtual/libcrypt:= +" +DEPEND="${RDEPEND}" +BDEPEND="${RDEPEND}" +PDEPEND=" + !minimal? ( + >=app-admin/perl-cleaner-2.31 + >=virtual/perl-CPAN-2.290.0 + >=virtual/perl-Encode-3.120.0 + >=virtual/perl-File-Temp-0.230.400-r2 + >=virtual/perl-Data-Dumper-2.154.0 + >=virtual/perl-Math-BigInt-1.999.842 + virtual/perl-Test-Harness + ) +" + +# bug 390719, bug 523624 +# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker + +dual_scripts() { + src_remove_dual perl-core/Archive-Tar 3.40.0 ptar ptardiff ptargrep + src_remove_dual perl-core/CPAN 2.380.0 cpan + src_remove_dual perl-core/Digest-SHA 6.40.0 shasum + src_remove_dual perl-core/Encode 3.210.0 enc2xs piconv + src_remove_dual perl-core/ExtUtils-MakeMaker 7.760.0 instmodsh + src_remove_dual perl-core/ExtUtils-ParseXS 3.570.0 xsubpp + src_remove_dual perl-core/IO-Compress 2.213.0 zipdetails + src_remove_dual perl-core/JSON-PP 4.160.0 json_pp + src_remove_dual perl-core/Module-CoreList 5.202.506.270 corelist + src_remove_dual perl-core/Pod-Checker 1.770.0 podchecker + src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc + src_remove_dual perl-core/Pod-Usage 2.50.0 pod2usage + src_remove_dual perl-core/Test-Harness 3.500.0 prove + src_remove_dual perl-core/podlators 6.0.2 pod2man pod2text + src_remove_dual_man perl-core/podlators 6.0.2 /usr/share/man/man1/perlpodstyle.1 +} + +check_rebuild() { + # Fresh install + if [[ -z ${REPLACING_VERSIONS} ]]; then + return 0 + fi + + # Major Upgrade + local v + for v in ${REPLACING_VERSIONS}; do + [[ ${v%.*} == "${SHORT_PV}" ]] && continue + echo "" + ewarn "UPDATE THE PERL MODULES:" + ewarn "After updating dev-lang/perl the installed Perl modules" + ewarn "have to be re-installed. In most cases, this is done automatically" + ewarn "by the package manager, but subsequent steps are still recommended" + ewarn "to ensure system consistency." + ewarn + ewarn "You should start with a depclean to remove any unused perl dependencies" + ewarn "that may confuse portage in future. Regular depcleans are also encouraged" + ewarn "as part of your regular update cycle, as that will keep perl upgrades working." + ewarn "Recommended: emerge --depclean -va" + ewarn + ewarn "You should then call perl-cleaner to clean up any old files and trigger any" + ewarn "remaining rebuilds portage may have missed." + ewarn "Use: perl-cleaner --all" + return 0 + done + + # Reinstall w/ USE Change + if + ( use perl_features_ithreads && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_ithreads]' ) ) || \ + ( ! use perl_features_ithreads && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_ithreads]' ) ) || \ + ( use perl_features_quadmath && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_quadmath]' ) ) || \ + ( ! use perl_features_quadmath && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_quadmath]' ) ) || \ + ( use perl_features_debug && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_debug]' ) ) || \ + ( ! use perl_features_debug && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_debug]' ) ) ; then + echo "" + ewarn "TOGGLED PERL FEATURES WARNING:" + ewarn "You changed one of the PERL_FEATURES flags ithreads, quadmath, or debug." + ewarn "You must rebuild all perl-modules installed. Mostly this should be done automatically" + ewarn "via the flag changes of the packages. If the rebuild fails, use perl-cleaner." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + ewarn + ewarn "NOTE: Previous to perl-5.38.2-r3, these flags were useflags for dev-lang/perl." + ewarn "If you just upgraded and do not intend to change anything, carry the same settings over" + ewarn "into a global PERL_FEATURES variable set in make.conf. E.g., " + ewarn "dev-lang/perl[ithreads,quadmath] becomes PERL_FEATURES=\"ithreads quadmath\"" + fi +} + +pkg_pretend() { + if \ + ( use perl_features_ithreads && has_version ' "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc" + fi + if [[ $# -gt 0 ]]; then + # Note: when $@ is more than one element, this emits a + # line for each element + printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs" + fi +} + +# Remove a patch using a glob expr +# eg: +# rm_patch *-darwin-Use-CC* +# +rm_patch() { + local patchdir="${WORKDIR}/patches" + local expr="$1" + local patch="$( cd "${patchdir}"; echo $expr )" + einfo "Removing $patch ($expr) from patch bundle" + if [[ -e "${patchdir}/${patch}" ]]; then + rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )" + else + ewarn "No ${expr} found in ${patchdir} to remove" + fi +} + +# Yes, this is a reasonable amount of code for something seemingly simple +# but this is far easier to debug when things go wrong, and things went wrong +# multiple times while I was getting the exact number of slashes right, which +# requires circumnavigating both bash and sed escape mechanisms. +c_escape_string() { + local slash dquote + slash='\' + dquote='"' + re_slash="${slash}${slash}" + re_dquote="${slash}${dquote}" + + # Convert \ to \\, + # " to \" + echo "$1" |\ + sed "s|${re_slash}|${re_slash}${re_slash}|g" |\ + sed "s|${re_dquote}|${re_slash}${re_dquote}|g" +} +c_escape_file() { + c_escape_string "$(cat "$1")" +} + +apply_patchdir() { + local patchdir="${WORKDIR}/patches" + local infodir="${WORKDIR}/patch-info" + local patchoutput="patchlevel-gentoo.h" + + # Inject Patch-Level info into description for patchlevel.h patch + # to show in -V + local patch_expr="*List-packaged-patches*" + local patch="$( cd "${patchdir}"; echo $patch_expr )"; + einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )" + + if [[ -e "${patchdir}/${patch}" ]]; then + printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\ + >"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc" + else + eerror "No $patch_expr found in ${patchdir}" + fi + + # Compute patch list to apply + # different name other than PATCHES to stop default + # reapplying it + # Single depth is currently only supported, as artifacts can reside + # from the old layout being multiple-directories, as well as it grossly + # simplifying the patchlevel_gentoo.h generation. + local PERL_PATCHES=($( + find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\ + grep -E '[.](diff|patch)$' |\ + sort -n + )) + + for patch in "${PERL_PATCHES[@]}"; do + eapply "${WORKDIR}"/patches/${patch} + done + + einfo "Generating $patchoutput" + + # This code creates a header file, each iteration + # creates one-or-more-lines for each entry found in PERL_PATCHES + # and STDOUT is redirected to the .h file + for patch in "${PERL_PATCHES[@]}"; do + local desc_f="${infodir}/${patch}.desc" + local bugs_f="${infodir}/${patch}.bugs" + + printf ',"%s"\n' "${patch}" + if [[ ! -e "${desc_f}" ]]; then + ewarn "No description provided for ${patch} (expected: ${desc_f} )" + else + local desc="$(c_escape_file "${desc_f}")" + printf ',"- %s"\n' "${desc}" + fi + if [[ -e "${bugs_f}" ]]; then + while read -d $'\n' -r line; do + local esc_line="$(c_escape_string "${line}")" + printf ',"- Bug: %s"\n' "${esc_line}" + done <"${bugs_f}" + fi + done > "${S}/${patchoutput}" + printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST" + +} + +src_prepare() { + + local patchdir="${WORKDIR}/patches" + + # mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patches" "${WORKDIR}/patches" || die + # mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patch-info" "${WORKDIR}/patch-info" || die + + # Prepare Patch dir with additional patches / remove unwanted patches + # Inject bug/desc entries for perl -V + # Old example: + # add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\ + # "Fix broken miniperl on hppa"\ + # "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162" + + if [[ ${CHOST} == *-solaris* ]] ; then + # do NOT mess with nsl, on Solaris this is always necessary, + # when -lsocket is used e.g. to get h_errno + rm_patch "*-nsl-and-cl*" + fi + + apply_patchdir + + tc-is-cross-compiler && src_prepare_perlcross + + tc-is-static-only || src_prepare_dynamic + + if use gdbm; then + sed -i "s:INC => .*:INC => \"-I${ESYSROOT}/usr/include/gdbm\":g" \ + ext/NDBM_File/Makefile.PL || die + fi + + # Use errno.h from prefix rather than from host system, bug #645804 + if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then + sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + # set a soname, fix linking against just built libperl + sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die + fi + + if [[ ${CHOST} == *-darwin* ]] ; then + # fix install_name (soname) not to reference $D + sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die + + # fix environ linkage absence (only a real issue on Darwin9) + if [[ ${CHOST##*-darwin} -le 9 ]] ; then + sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \ + Makefile.SH || die + fi + fi + + default +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +# Outputs a list of versions which have been seen in any of the +# primary perl @INC prefix paths, such as: +# /usr/lib64/perl5/ +# /usr/local/lib64/perl5/ +# /usr/lib64/perl5/vendor_perl/ +# +# All values of NUMBER must be like "5.x.y" or like "5.x" +# +find_candidate_inc_versions() { + local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$' + local dirs=( + "${EROOT}${PRIV_BASE}" + "${EROOT}${SITE_BASE}" + "${EROOT}${VENDOR_BASE}" + ) + for dir in "${dirs[@]}"; do + if [[ ! -e "${dir}" ]]; then + continue + fi + # Without access to readdir() on these dirs, find will not be able + # to reveal any @INC directories inside them, and will subsequently prune + # them from the built perl's @INC support, breaking our compatiblity options + # entirely. + if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then + eerror "Bad permissions on ${dir}, this will probably break things" + eerror "Ensure ${dir} is +rx for at least uid=$EUID" + eerror "Recommended permission is +rx for all" + eerror "> chmod o+rx ${dir}" + fi + done + einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}" + find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null +} + +# Sort versions passed versiony-ly, remove self-version if present +# dedup. Takes each version as an argument +sanitize_inc_versions() { + local vexclude="${SUBSLOT}" + einfo "Normalizing/Sorting candidate list: $*" + einfo " to remove '${vexclude}'" + # Note, general numeric sort has to be used + # for the last component, or unique will convert + # 5.30.0 + 5.30 into just 5.30 + printf "%s\n" "$@" |\ + grep -vxF "${vexclude}" |\ + sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg +} + +versions_to_inclist() { + local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" + + for v; do + has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ "; + echo -n "${v}/ "; + done +} + +versions_to_gentoolibdirs() { + local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" + local root + local v + for v; do + for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do + local fullpath="${EROOT}${root}/${v}" + if [[ -e "${fullpath}" ]]; then + has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}"; + printf "%s:" "${fullpath}" + fi + done + done +} + +src_configure() { + declare -a myconf + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + # Perl has problems compiling with -Os in your flags with glibc + replace-flags "-Os" "-O2" + + # xlocale.h is going away in glibc-2.26, so it's counterproductive + # if we use it and include it in CORE/perl.h ... Perl builds just + # fine with glibc and locale.h only. + # However, the darwin prefix people have no locale.h ... + use elibc_glibc && myconf -Ui_xlocale + + # Perl relies on -fwrapv semantics + filter-flags -ftrapv + + # This flag makes compiling crash in interesting ways + filter-flags "-malign-double" + + # On musl we dont want to use largefile *64 types, since 1) normal + # types are 64bit / largefile anyway and 2) the *64 types are going + # away in 1.2.4... bug #911233 + use elibc_musl && myconf -Ud_off64_t + + use sparc && myconf -Ud_longdbl + + # This urgently needs debugging - on m68k, miniperl crashes during + # build otherwise.. + use m68k && append-ldflags -Wl,-z,norelro + + export BUILD_BZIP2=0 + export BZIP2_INCLUDE=${ESYSROOT}/usr/include + export BZIP2_LIB=${ESYSROOT}/usr/$(get_libdir) + + export BUILD_ZLIB=False + export ZLIB_INCLUDE=${ESYSROOT}/usr/include + export ZLIB_LIB=${ESYSROOT}/usr/$(get_libdir) + + # allow either gdbm to provide ndbm (in ) or db1 + myndbm='U' + mygdbm='U' + mydb='U' + if use gdbm ; then + mygdbm='D' + if use berkdb ; then + myndbm='D' + fi + fi + if use berkdb ; then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then + ewarn "Perl will not be built with berkdb support, use gcc if you need it..." + myconf -Ui_db -Ui_ndbm + fi + + use perl_features_ithreads && myconf -Dusethreads + + use perl_features_quadmath && myconf -Dusequadmath + + if use perl_features_debug ; then + append-cflags "-g" + myconf -DDEBUGGING + elif [[ ${CFLAGS} == *-g* ]] ; then + myconf -DDEBUGGING=-g + else + myconf -DDEBUGGING=none + fi + + # modifying 'optimize' prevents cross configure script from appending required flags + if tc-is-cross-compiler; then + append-cflags "-fwrapv" + tc-export_build_env + + # Needed for the CHOST build too (bug #932385) + export CFLAGS="${CFLAGS} -D_GNU_SOURCE" + + # bug #913171 + export \ + HOSTCC=$(tc-getBUILD_CC) \ + HOSTCFLAGS="${CFLAGS_FOR_BUILD} -D_GNU_SOURCE" \ + HOSTLDFLAGS="${LDFLAGS_FOR_BUILD}" + fi + + # bug #877659, bug #821577 + append-cflags -fno-strict-aliasing + + # Autodiscover all old version directories, some of them will even be newer + # if you downgrade + if [[ -z ${PERL_OLDVERSEN} ]]; then + PERL_OLDVERSEN="$( find_candidate_inc_versions )" + fi + + # Fixup versions, removing self match, fixing order and dupes + PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )" + + # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string + if [[ -n "${PERL_OLDVERSEN// }" ]]; then + local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )" + einfo "This version of perl may partially support modules previously" + einfo "installed in any of the following paths:" + for incpath in ${inclist}; do + [[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}" + [[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}" + [[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}" + done + einfo "This is a temporary measure and you should aim to cleanup these paths" + einfo "via world updates and perl-cleaner" + # myconf -Dinc_version_list="${inclist}" + myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )" + fi + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + # Make sure we can do the final link #523730, need to set deployment + # target to override hardcoded 10.3 which breaks on modern OSX + [[ ${CHOST} == *-darwin* ]] && \ + myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)" + + # Older macOS with non-Apple GCC chokes on inline in system headers + # using c89 mode as injected by cflags.SH, in addition, we override + # cflags, so we loose PERL_DARWIN which enables compat code that + # apparently on more recent macOS releases is no longer necessary + [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \ + append-cflags -Dinline=__inline__ -DPERL_DARWIN + + # Prefix: the host system needs not to follow Gentoo multilib stuff, and in + # Prefix itself we don't do multilib either, so make sure perl can find + # something compatible. + if use prefix ; then + # Set a hook to check for each detected library whether it actually works. + export libscheck=" + ( echo 'int main(){}' > '${T}'/conftest.c && + $(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null + ) || xxx=/dev/null" + + # Use all host paths that might contain useful stuff, the hook above will filter out bad choices. + local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib" + myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}" + elif [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + # don't try building ODBM, bug #354453 + disabled_extensions="ODBM_File" + + if ! use gdbm ; then + # workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm" + disabled_extensions="${disabled_extensions} GDBM_File NDBM_File" + fi + + myconf -Dnoextensions="${disabled_extensions}" + + [[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly + + [[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF} + # allow fiddling via EXTRA_ECONF, bug 558070 + eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})" + + myconf \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dar="$(tc-getAR)" \ + -Dcc="$(tc-getCC)" \ + -Dcpp="$(tc-getCPP)" \ + -Dld="$(tc-getCC)" \ + -Dnm="$(tc-getNM)" \ + -Dranlib="$(tc-getRANLIB)" \ + -Accflags="${CFLAGS} -DNO_PERL_RAND_SEED" \ + -Doptimize="${CFLAGS}" \ + -Dldflags="${LDFLAGS}" \ + -Dprefix="${EPREFIX}"'/usr' \ + -Dsiteprefix="${EPREFIX}"'/usr/local' \ + -Dvendorprefix="${EPREFIX}"'/usr' \ + -Dscriptdir="${EPREFIX}"'/usr/bin' \ + -Dprivlib="${EPREFIX}${PRIV_LIB}" \ + -Darchlib="${EPREFIX}${ARCH_LIB}" \ + -Dsitelib="${EPREFIX}${SITE_LIB}" \ + -Dsitearch="${EPREFIX}${SITE_ARCH}" \ + -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \ + -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \ + -Dman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \ + -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \ + -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dlibperl="${LIBPERL}" \ + -Dlocincpth="${EPREFIX}"'/usr/include ' \ + -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \ + -Duselargefiles \ + -Duse64bitint \ + -Dd_semctl_semun \ + -Dcf_by='Gentoo' \ + -Dmyhostname='localhost' \ + -Dperladmin='root@localhost' \ + -Ud_csh \ + -Dsh="${BROOT}"/bin/sh \ + -Dtargetsh="${EPREFIX}"/bin/sh \ + -Uusenm \ + "${EXTRA_ECONF[@]}" + + if tc-is-cross-compiler; then + ./configure \ + --target="${CHOST}" \ + --build="${CBUILD}" \ + -Dinstallprefix='' \ + -Dinstallusrbinperl='undef' \ + -Dusevendorprefix='define' \ + "${myconf[@]}" \ + || die "Unable to configure" + else + sh Configure \ + -des \ + -Dinstallprefix="${EPREFIX}"'/usr' \ + -Dinstallusrbinperl='n' \ + "${myconf[@]}" \ + || die "Unable to configure" + fi +} + +src_test() { + export NO_GENTOO_NETWORK_TESTS=1; + export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}" + export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}" + if [[ ${EUID} == 0 ]] ; then + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." + return 0 + fi + TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed" +} + +src_install() { + local i + local coredir="${ARCH_LIB}/CORE" + + emake DESTDIR="${D}" install + + rm -f "${ED}/usr/bin/perl${MY_PV}" + ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die + + if ! tc-is-static-only ; then + dolib.so "${ED}"${coredir}/${LIBPERL} + rm -f "${ED}"${coredir}/${LIBPERL} + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die + + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die + fi + + rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages" + + # This removes ${D} from Config.pm + for i in $(find "${D}" -iname "Config.pm" ) ; do + einfo "Removing ${D} from ${i}..." + sed -i -e "s:${D}::" "${i}" || die "Sed failed" + done + + dodoc Changes* README AUTHORS + + if use doc ; then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + LD_LIBRARY_PATH=. ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${ED}/usr/share/doc/${PF}/html" + fi + + [[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local + + dual_scripts +} + +pkg_preinst() { + check_rebuild +} + +pkg_postinst() { + dual_scripts + + if [[ -z "${ROOT}" ]] ; then + local INC DIR file + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }') + einfo "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do + rm -f "${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done + + fi +} + +pkg_postrm() { + dual_scripts +} From c6d5d6699d9ab7527732fe08621b3cddf7890bac Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:44 +0000 Subject: [PATCH 026/131] dev-lang/python: Sync with Gentoo It's from Gentoo commit 039177426347c1cfe2e445817d7b073b041ab7a3. --- .../portage-stable/dev-lang/python/Manifest | 3 + .../dev-lang/python/python-0.3.13.3_p2.ebuild | 1 - .../dev-lang/python/python-0.3.13.4.ebuild | 1 - .../dev-lang/python/python-0.3.13.9999.ebuild | 1 - .../python/python-0.3.14.0_beta2_p1.ebuild | 1 - .../python/python-0.3.14.0_beta3.ebuild | 635 +++++++++++++++++ .../dev-lang/python/python-0.3.14.9999.ebuild | 1 - .../dev-lang/python/python-0.3.15.9999.ebuild | 1 - .../python/python-2.7.18_p16-r2.ebuild | 1 - .../dev-lang/python/python-3.10.17_p2.ebuild | 1 - .../dev-lang/python/python-3.10.18.ebuild | 3 +- .../dev-lang/python/python-3.10.9999.ebuild | 1 - .../dev-lang/python/python-3.11.12_p2.ebuild | 1 - .../dev-lang/python/python-3.11.13.ebuild | 3 +- .../dev-lang/python/python-3.11.9999.ebuild | 1 - .../dev-lang/python/python-3.12.10_p2.ebuild | 1 - .../dev-lang/python/python-3.12.11.ebuild | 3 +- .../dev-lang/python/python-3.12.9999.ebuild | 1 - .../dev-lang/python/python-3.13.3_p2.ebuild | 1 - .../dev-lang/python/python-3.13.4.ebuild | 1 - .../dev-lang/python/python-3.13.5.ebuild | 3 +- .../dev-lang/python/python-3.13.9999.ebuild | 1 - .../python/python-3.14.0_beta2_p1.ebuild | 1 - .../python/python-3.14.0_beta3.ebuild | 646 ++++++++++++++++++ .../dev-lang/python/python-3.14.9999.ebuild | 1 - .../dev-lang/python/python-3.15.9999.ebuild | 1 - .../dev-lang/python/python-3.8.20_p7.ebuild | 1 - .../dev-lang/python/python-3.9.22_p2.ebuild | 1 - .../dev-lang/python/python-3.9.23.ebuild | 3 +- .../dev-lang/python/python-3.9.9999.ebuild | 1 - 30 files changed, 1289 insertions(+), 32 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_beta3.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_beta3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest index d78923f320..02511f4110 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest @@ -20,6 +20,8 @@ DIST Python-3.13.5.tar.xz 22856016 BLAKE2B 9caacad8745dcd238b208022cb140a6655ae5 DIST Python-3.13.5.tar.xz.asc 963 BLAKE2B 2db0162d18129ec42b48393108a72c28e7f8f8c3fa40b2e231c87fe0bdc3c166fb6ca4a1c1dfb3fffe1aa0c2618c7ccb245513beb7a0919b4aaca5ec7eb23b36 SHA512 07c1a2ec2d6ba2805680b7f1dc262fdc5dc3eec4503780ecdc08cd570ccbb5f1efa736ee03c83d36bdb33ce87db06be5892cf5a6eaf4018d5fe78fff99e615ae DIST Python-3.14.0b2.tar.xz 23579860 BLAKE2B bf5ebac54531a7c837e7650754264b4be28e28613d488d1c7546db77e2ef3b501ff646d7fb505c6ac0fa1381c3230d1c1899bc82144f369339c89687b5dc7f5c SHA512 cdd37f8a982e6194d5afa80a2eb94c899080809749d59a50a2ce3eed37f720a1fd9a7977f0dd3992650d173a7070b15610077d97cb499bd16a7500c56ef1f8dd DIST Python-3.14.0b2.tar.xz.sigstore 5131 BLAKE2B 04cab57a4da63f5abf28db94e5fd952206124ce37ef5a5d981839a0790881c9c4ea6d186f233eaaf6e82350bdfdbb0048d761b816d81eaba71c707bd9714a9d9 SHA512 a356037824fbde5950f197cf04f0d71ddaf4b68006b2ab9951f9b4c2df508e84bd0bec7d72051e75d22c17eee767e46e5d2c167e853fb941b0831cb26d518fdc +DIST Python-3.14.0b3.tar.xz 23626928 BLAKE2B 354a07abfe838688ca2e02a989864bfd3dfc903b62968125bd0e74c76caa57b1488aace8cf96942f07a29decb89d72c7ca52cb21cdef5948ca79b8f2fdd710e6 SHA512 621bcaf2ae4b6f0ba6c95ef74b5ffb78d8a2a0bb10415fb4c5eab1cad26c63098237944713a7f0812ec3e014ff62cd0f9bd5663e87799fcf1856aa4b937be914 +DIST Python-3.14.0b3.tar.xz.sigstore 5326 BLAKE2B 61bb9e80c2c2149aa43e7f97f472e14b71af1bbbef0641e891bc440e9ddae7b968d525b0d44e152c911a05e5f04ca0a710483dfbf4675d0894f619f0e7190595 SHA512 80feff3997ff99f053ad3d8b8e488e5b952c6e0cdb1fedfcb31a7a72ca67eff60b99d875767df068c8833ec7d40cec53fdc838ce5bb85d330a86283d3057c567 DIST Python-3.8.20.tar.xz 18962788 BLAKE2B 715c75e0c0a3d3b77af7f07478311bb0554b80aac72915be703aa2d0dd6459a972e5669808e64da14a0b91bb183e00655055c1726f302dc3ccd8721e3b4ae3e6 SHA512 3c9341ee1fd33cb687958dcf2b7c0c7700489726c4d530c3e9d9537d46a6ab534541a4b312232d8505bea395a07e4518c42d75fb7571103e6b266f8f44115c61 DIST Python-3.8.20.tar.xz.asc 833 BLAKE2B 5c86c15a1090b42e42bb7512565b1a7ad9d2137d59e9fd1ab0f83fdfc37dfcf184389418d6703db809e9c8c04a169af292665a2b58bf5dc61b7724ecbb4132d9 SHA512 a751ae0407a593d97acac4d5f8a0456580c753efa12a7d960125c219b4897fdb26fc1ffd43d8ea33ad1449162dd3b2904c16b6c51c57561ba73de3ffa62e0eed DIST Python-3.9.22.tar.xz 19652572 BLAKE2B 59f2d2cecde8179064115b52205c2195b26cd0f37aec3e88b0fe2a1a7893a7df8ae38a024814d42064d5e4916e4054a76dddeec0a0dcf29af576d52dbcf65f4c SHA512 c5a76c579455626bf40bb41ee99cab6e444aa5d5085dab7cf622c70ded750e31710c2c30f032917f0d4069350c01a889ed9831d77fcc2d52fcec54055dd07496 @@ -38,6 +40,7 @@ DIST python-gentoo-patches-3.13.4.tar.xz 8912 BLAKE2B e3d9f2a12f801dc75e09c53017 DIST python-gentoo-patches-3.13.5.tar.xz 8916 BLAKE2B 9d985b12af62b8a917cac1dab9576aac099bc81ad954a5de254a14a3c7d2254edcdcfaadc46314b69a1bb76bd30ca8bed7c866c0de3fc3f89aac0f76af344f32 SHA512 5ac92aa3eef82eae5d707ffcb5085ac98bd9bf64f72fc7ac4aa1b12a0c3aa86c57d0f671ca07f46e2250779f4cf4885916e4d175357ad626eca6e41257a027e7 DIST python-gentoo-patches-3.14.0b1.tar.xz 5680 BLAKE2B 514b3edc3025e5bf675d371b5ada17dea426856edf1fb6095c2ee400eae95bd4265ef81fe593ae9338e801e7d0a25b1d5ba2d05ca563fd9dd020114b13575746 SHA512 74289e42cf532b54bb1b66a283ec19156f8a36ba38764209c133842314c9efb2ce2ebcba5aa9213bcf7fc0c8a5ca9b6e7adbd5dbfa4397233136d7cd55f53ee7 DIST python-gentoo-patches-3.14.0b2_p1.tar.xz 23992 BLAKE2B 65346fe06b2f03251882542b90821c28bd16d9f1c81d1e594bf78403689b444688a9cffa1d52faf63dd9c4db301a9b2a1e6729026e73525fe2f0622f896b6a46 SHA512 c98600da507541c0ba3a03dcaa6d344596fd8f5ef8169eff276318ed33a38ba4794ea346b25b9d11f9a277334bdcc1105e6332bb212602c3c993866340aa8482 +DIST python-gentoo-patches-3.14.0b3.tar.xz 5708 BLAKE2B 14706315eeed5b2e3d13d0479443e7b9153bc4be8510620e54453ac1b81d2baf0156d1ac67fd2927a2b389c7dfe18cc67ce14e7e7d6e01f2cb0ebe255baf462a SHA512 45d1d194efcc08f7e4b4b593604f52abb34b5f6a6b81370540d489d362a61894ddf86ab59c2d5aa67a5293613f081bc50586257060929702914851170f1b37a6 DIST python-gentoo-patches-3.8.20_p7.tar.xz 54544 BLAKE2B e31fc9fb5e98b62b0f70165670ec58ed4fa932cfc95d5287c249015a3a372fdbf0d1ba08cb98f63c2dc500700edfd6ffea6db670385d2c86a4fdb92ffb991192 SHA512 a9e7e4976be226931a503af2c986da207d060d4ce436af61f5e8427da513639adbed32bb0061963b83fef275a5de91707ab13b7a9abf3a7472ee0e2c5310eda1 DIST python-gentoo-patches-3.9.22_p2.tar.xz 59416 BLAKE2B 7904d5272c3dfab6eb9ec188802367faf843303b8af18d75aa03f6ad814ca8aefbf495696a5fb4279fa6f3620a00d0c84989bc007b80546041fedcef8555283a SHA512 acd78c422c360bea4c4be84e718072eb8182b1662d1bf94aa72785319a9f35d1f11a05343d4770d50673cd5c2876a5a99c127559badde7cf335070dfa7d81cf6 DIST python-gentoo-patches-3.9.23.tar.xz 37148 BLAKE2B a7c0514037169b9938b2180ec2dd22063621d532367f6febfa47da43f47534559baab992d9c5257271121af755b8445346d4d92582e7e11b6468a1c359f28bf2 SHA512 73ef00a7aa671016de396c9e1c4bb5f5c1a97dc735739f806d809f987e802ec440370bf4c85468097547284a5d2b476cbffcec3cf219b7cb6fc890d5029eb5bd diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.3_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.3_p2.ebuild index a600e6a8b9..f8274cb351 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.3_p2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.3_p2.ebuild @@ -391,7 +391,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.4.ebuild index a600e6a8b9..f8274cb351 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.4.ebuild @@ -391,7 +391,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9999.ebuild index a1df03efb4..6dbe301dac 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9999.ebuild @@ -378,7 +378,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_beta2_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_beta2_p1.ebuild index c5ef5b138b..4722ef1c39 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_beta2_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_beta2_p1.ebuild @@ -393,7 +393,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_beta3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_beta3.ebuild new file mode 100644 index 0000000000..3a63db6a18 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_beta3.ebuild @@ -0,0 +1,635 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +VERIFY_SIG_METHOD=sigstore +WANT_LIBTOOL="none" + +inherit autotools check-reqs eapi9-ver flag-o-matic linux-info +inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit verify-sig + +REAL_PV=${PV#0.} +MY_PV=${REAL_PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER="$(ver_cut 2-3)t" +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="Freethreading (no-GIL) version of Python programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm + libedit +ncurses pgo +readline +sqlite +ssl tail-call-interp test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +# https://www.python.org/downloads/metadata/sigstore/ +VERIFY_SIG_CERT_IDENTITY=hugo@python.org +VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER%t} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +declare -rgA PYTHON_KERNEL_CHECKS=( + ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 + ["DNOTIFY"]="test_fcntl" # bug 938662 +) + +pkg_pretend() { + if use pgo || use test; then + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + if use test || use pgo; then + check-reqs_pkg_setup + + local CONFIG_CHECK + for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do + CONFIG_CHECK+="~${f} " + done + linux-info_pkg_setup + fi + fi +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # this is actually test_gdb.test_pretty_print + -x test_pretty_print + # https://bugs.gentoo.org/933840 + -x test_perf_profiler + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + arm*) + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + hppa*) + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_gdb + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # Kernel-config specific skips + for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do + if ! linux_config_exists || ! linux_chkconfig_present "${option}" + then + COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) + fi + done + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + # PGO sometimes fails randomly + local -x PROFILE_TASK="${profile_task_flags[*]} || true" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + --disable-gil + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with tail-call-interp) + $(use_with valgrind) + ) + + if tc-is-lto; then + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + # Fix collision with GIL-enabled build. + rm "${ED}/usr/bin/python${PYVER%t}" || die + mv "${ED}"/usr/bin/pydoc{${PYVER%t},${PYVER}} || die + mv "${ED}"/usr/share/man/man1/python{${PYVER%t},${PYVER}}.1 || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if use tk; then + # rename to avoid collision with dev-lang/python + mv "${ED}"/usr/bin/idle{${PYVER%t},${PYVER}} || die + else + rm -r "${ED}/usr/bin/idle${PYVER%t}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} + +pkg_postinst() { + if ver_replacing -lt 3.14.0_beta3; then + ewarn "Python 3.14.0b3 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.14 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.14t/site-packages" + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.9999.ebuild index 2989e4a2f7..d3ee27dfca 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.9999.ebuild @@ -378,7 +378,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.9999.ebuild index bdac07b360..45b9689783 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.9999.ebuild @@ -372,7 +372,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-2.7.18_p16-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-2.7.18_p16-r2.ebuild index c0e5d15a2c..c92aee69a0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-2.7.18_p16-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-2.7.18_p16-r2.ebuild @@ -197,7 +197,6 @@ src_configure() { --enable-unicode=ucs4 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.17_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.17_p2.ebuild index dd5e1696bc..4fde84190d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.17_p2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.17_p2.ebuild @@ -375,7 +375,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.18.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.18.ebuild index f998bd3689..c3a4673640 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.18.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.18.ebuild @@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -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" IUSE=" bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind @@ -375,7 +375,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.9999.ebuild index 5a75aaee19..34bb287093 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.9999.ebuild @@ -364,7 +364,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.12_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.12_p2.ebuild index 385cd9d6f3..d1a54799b0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.12_p2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.12_p2.ebuild @@ -378,7 +378,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.13.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.13.ebuild index 90e7983ca9..1a6e332542 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.13.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.13.ebuild @@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -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" IUSE=" bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind @@ -378,7 +378,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9999.ebuild index 909b71bcab..224e9c5699 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9999.ebuild @@ -367,7 +367,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.10_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.10_p2.ebuild index c1c5804b33..d73d44638f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.10_p2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.10_p2.ebuild @@ -379,7 +379,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.11.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.11.ebuild index 3f4440a32d..4824c12138 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.11.ebuild @@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -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" IUSE=" bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind @@ -379,7 +379,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.9999.ebuild index 99a9a1b381..09aa0d642d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.9999.ebuild @@ -368,7 +368,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.3_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.3_p2.ebuild index 2a02ff9b8e..0852164592 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.3_p2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.3_p2.ebuild @@ -402,7 +402,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.4.ebuild index d7ba090d38..a31a7b2e3f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.4.ebuild @@ -402,7 +402,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.5.ebuild index d7ba090d38..4746b4ca83 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.5.ebuild @@ -32,7 +32,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -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" IUSE=" bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind @@ -402,7 +402,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9999.ebuild index e845eadc36..37ac8dcf64 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9999.ebuild @@ -390,7 +390,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_beta2_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_beta2_p1.ebuild index 16596b3967..fc54f8a402 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_beta2_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_beta2_p1.ebuild @@ -404,7 +404,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_beta3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_beta3.ebuild new file mode 100644 index 0000000000..4337b2f22e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_beta3.ebuild @@ -0,0 +1,646 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 19 ) +LLVM_OPTIONAL=1 +VERIFY_SIG_METHOD=sigstore +WANT_LIBTOOL="none" + +inherit autotools check-reqs eapi9-ver flag-o-matic linux-info llvm-r1 +inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit verify-sig + +MY_PV=${PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm jit + libedit +ncurses pgo +readline +sqlite +ssl tail-call-interp test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + jit? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') + ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +# https://www.python.org/downloads/metadata/sigstore/ +VERIFY_SIG_CERT_IDENTITY=hugo@python.org +VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER%t} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +declare -rgA PYTHON_KERNEL_CHECKS=( + ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 + ["DNOTIFY"]="test_fcntl" # bug 938662 +) + +pkg_pretend() { + if use pgo || use test; then + check-reqs_pkg_pretend + fi + + if use jit; then + ewarn "USE=jit is considered experimental upstream. Using it" + ewarn "could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead," + ewarn "please consider reporting JIT problems upstream." + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + use jit && llvm-r1_pkg_setup + if use test || use pgo; then + check-reqs_pkg_setup + + local CONFIG_CHECK + for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do + CONFIG_CHECK+="~${f} " + done + linux-info_pkg_setup + fi + fi +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # this is actually test_gdb.test_pretty_print + -x test_pretty_print + # https://bugs.gentoo.org/933840 + -x test_perf_profiler + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + arm*) + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + hppa*) + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_gdb + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # Kernel-config specific skips + for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do + if ! linux_config_exists || ! linux_chkconfig_present "${option}" + then + COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) + fi + done + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + # PGO sometimes fails randomly + local -x PROFILE_TASK="${profile_task_flags[*]} || true" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + --enable-gil + + $(use_with debug assertions) + $(use_enable jit experimental-jit) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with tail-call-interp) + $(use_with valgrind) + ) + + if tc-is-lto; then + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} + +pkg_postinst() { + if ver_replacing -lt 3.14.0_beta3; then + ewarn "Python 3.14.0b3 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.14 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.14/site-packages" + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.9999.ebuild index 65194aeb14..14832e2506 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.9999.ebuild @@ -390,7 +390,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.9999.ebuild index e6af67d55a..456a4bcd55 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.9999.ebuild @@ -384,7 +384,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p7.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p7.ebuild index 868acf645b..fdb933080a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p7.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p7.ebuild @@ -231,7 +231,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.22_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.22_p2.ebuild index 573aa3fc38..951e622dbb 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.22_p2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.22_p2.ebuild @@ -308,7 +308,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.23.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.23.ebuild index d621dcdcef..f6d6810606 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.23.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.23.ebuild @@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -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" IUSE=" bluetooth build debug +ensurepip examples gdbm +ncurses pgo +readline +sqlite +ssl test tk valgrind @@ -308,7 +308,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.9999.ebuild index 76faae42f0..4a4effea93 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.9999.ebuild @@ -297,7 +297,6 @@ src_configure() { --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' - --with-computed-gotos --with-dbmliborder="${dbmliborder}" --with-libc= --enable-loadable-sqlite-extensions From 8078fe78d6a72db11f4c5ab5d6b26d52d773d713 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:46 +0000 Subject: [PATCH 027/131] dev-lang/rust: Sync with Gentoo It's from Gentoo commit 8034519193a41fc059be1dd105aa2c9ce2cce36f. --- .../portage-stable/dev-lang/rust/Manifest | 9 +- ...beta20250526.ebuild => rust-1.88.0.ebuild} | 0 .../rust/rust-1.88.0_beta20250603.ebuild | 835 ------------------ 3 files changed, 3 insertions(+), 841 deletions(-) rename sdk_container/src/third_party/portage-stable/dev-lang/rust/{rust-1.88.0_beta20250526.ebuild => rust-1.88.0.ebuild} (100%) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.88.0_beta20250603.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest index 6201675108..0e8f57d686 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest @@ -14,8 +14,7 @@ DIST rust-patches-1.85.0-r2.tar.bz2 4462 BLAKE2B 61cfde8688fecab1a5c3c80f29b37b6 DIST rust-patches-1.85.1-r1.tar.bz2 4473 BLAKE2B fad2fe3222e2625b5cbc60ea1fb805080ce70f751c930c0e3bde9cf043059e1fc3ba4d8e618166fe99a7fcf12d5cccb684c05d4c2542a89c9794869204cbcb09 SHA512 edf680a1d3a29ae5d8140031dc8b232b747d08494db2f3393ccc286d9197139583bcaf536d5125b8c896a610c075115b9a16a6e6f3f6b5da60e58433f000dba6 DIST rust-patches-1.86.0-r2.tar.bz2 5980 BLAKE2B 179d6acc8c7006eac4d00e073ec1f5496756ef51d465bc098daf1cfe650f469f4341893c72a65e21d84ecb3ccaeb46f5204ef517ae942482d835f89c0a934391 SHA512 31e902661d5ee2da82858910551393890583d9702303fed5652122c852e9384fb88a42eddd0b968558865e16b5bd4ac2a13a35bd01ec3f8c3adbb673bc465596 DIST rust-patches-1.87.0-r1.tar.bz2 4635 BLAKE2B d813ec4a602d3bb879927a44a0b9f752aac255e31dfd13c56ab71b3fae7ce46a742c1d2e7494a7e17728f1edb2327ddd6ad6ebabc0c47d66326b766bbd323fbd SHA512 596ffe744a5849b443f077bbd4edbcbb240b9ac51c9d53e0e436e46d7c93a6734477d22eba4a066a0cf474503a6357a72dfa124e594f645be6f50d9bd25bdb10 -DIST rust-patches-1.88.0_beta20250526.tar.bz2 4073 BLAKE2B 4ae2fd9d87116ee6f779e60ffcbed16ef778fd4e87d4f6f8e2588348b7d0aa28de3627f8c2d43cef540b2422278d4018618c6f0da6936be03de68aba3420f5a4 SHA512 8f775901aff2c0da66c01e20c983ca965eddf38cd106d055b6e480e9ca73418abc416fe28215d4f700eb8cce52a90808c0513d23d495977ac19a3b5d82e109ff -DIST rust-patches-1.88.0_beta20250603.tar.bz2 4080 BLAKE2B 13e7ae1de79d91a2b7a6ee1368141ec0c9676a507c2a88b7dd1070e785482fe444f0e885055b9900d68ecab41f18ed1fd99c24a690e95219d387ac141c958e23 SHA512 a9929d66e583fcc21423008f5b6c0b7953715685f526c632433d4b25539810a422f8ca6f9a334664f9ad80f09a674a38e818d96cd079f86fb38948f7ae7ba56b +DIST rust-patches-1.88.0.tar.bz2 4062 BLAKE2B 64168ffa608f2edf2e0b3d079152c3b5dd59d0cea29078894f286bf91488e2e7769c55ede2d43769368d2147b46699d1bf981190d6800dc3d41c736289122eaf SHA512 b565acfb4d1146e52b1fb66b4a242927407cc34f1b38c2a100135cbbde24c8374af1997bc22069cca25f33cc8d747e56391f3d98a2d4e13dc0abcec0d6f88b0b DIST rustc-1.74.1-src.tar.xz 155968724 BLAKE2B e05f2379ac94b286f85791a138e1928e5b5b5a7749f0981d82c40c2a12860f55bf96bb2f0e924e35a0f8b2447b13052d38adea909aaa3199105787bb5a4861b3 SHA512 14c7e7ed2f38ab60299d8c7d41d78f042b6b57ef822d577b5138e60bdde31cf141eccd4332a25bc5da3d58eb5313d63c1448b5dfe9e11b8055bb8ea133a9038d DIST rustc-1.74.1-src.tar.xz.asc 801 BLAKE2B ddf73175b164233babf31ca3a381b03e20c0f36d017c1d5f85d6ab11f0986d861ab23b11c061e6b2444ced70c3d6a494cc3de4ec86f0deb221a805491bd75420 SHA512 9a96ff9ba9a4e2af4e267b2ec126fc0675c78d0eb767703daa2f28491c3d85c2ab00fbd8584390bf658812ec6c4ab6c57e43b386db59fd505bd3134a8873a09e DIST rustc-1.75.0-src.tar.xz 159624388 BLAKE2B 8937b80585eddaa3e1f1ef948899d14a170308518c6fef9fe569560cdd870053776956743f796055f2119399b9ca6c0df12fedd789ae46324d071e5126c4e495 SHA512 7b0f25d91b1b5c317980fc88e059200bd43b56a70b445fbc72fb9b96e09775bfd3a98e9bd9d662af80f0ce3aef527c777ee82777e96ca876f47a972d63da8606 @@ -48,7 +47,5 @@ DIST rustc-1.86.0-src.tar.xz 275696736 BLAKE2B 9f33a710a3e567d92f56091920643f5ef DIST rustc-1.86.0-src.tar.xz.asc 801 BLAKE2B 3e10a3894c7eee68d37bc5707d797548119f830667e27e652a199d13633199713bd01bd0f41a5f2af3c682561903e36abe27b36ef78d9a1d65bdf485527d2c15 SHA512 0b74dab9ee56d0a08e26e9cd40f722e4d99de63ac678f969f0c54d50737074fb28e170db5a36ce2627ec332e5ce3bb8a92167aefbccff7c70e4cb057bc0a94ac DIST rustc-1.87.0-src.tar.xz 283604208 BLAKE2B 7ede723121ff8df3908674631ceaec75797d91ccd6f1df4afd7187878adbb8d99c9e8a3b11c6027703b2e8d06785299d93d8649f3eda7f356dd2a6734d99d05b SHA512 2ef08c9be45434401f916d54b3739f52d255f8a3a4ce05a717499250c2333eeaf601f1d18085b878c027c609f44da74d0151f5bfc2c9ae1e01166919a91a1d2b DIST rustc-1.87.0-src.tar.xz.asc 801 BLAKE2B c9740c03baedcd70defba3fd37831692adaf0e984ef6b11d259244330d044fcacf935e6dd76caf126848da0c40f38e5368c60e8aabed5d3c2655a61fdbdc7564 SHA512 ebc13374381839a997c63455b733fd2a7960b4fd497f19c29be948cce8bb59a31ddda5da54ca154c16f7de43dd1bacd6c6bd76f3b6b36c5b43f4cfaf1746b952 -DIST rustc-1.88.0_beta20250526-src.tar.xz 283223628 BLAKE2B 1c21853c0b7edcafd87713823888e04d336fb9c6cd373aa05218ae5d1ddc9c68b18c06dc27d059542ddfe91c0eb04cf523e4b3621b9bbbfad5d2f82e8d1cad1e SHA512 28f64ae8b1e907f7c4044d8a0148286f6e202677417ac3b4f2ce24ee9dba34369ba18d39e443cb982ee5f3b8afd94530580a62b8f5d5473954e976708f002357 -DIST rustc-1.88.0_beta20250526-src.tar.xz.asc 801 BLAKE2B a412d72e4e0f273f03f3fee41abe1aeda03f77339891469e994f3a6bde0cd3836a1da087d908e732e90cd3285743a4a3c728c718ad1dda5daf7cca9de3be2c52 SHA512 45f208555f8b2fd3b21ac4cdc8fd7a110dc53fedbbe8d11542f105c5c8657a628309c8ff4520eb2c740cf3e784bfea0f21832b71b19a356b1b99fc7d0f04f607 -DIST rustc-1.88.0_beta20250603-src.tar.xz 283255312 BLAKE2B 5b46509c46c4fbb10c4b3cee3edf9a1428c4b0f54d8f4d6a042e9776e05242988c933a90654538cf9806c4d1ee1c01ff3ecdcb1711fd7240cacbf5cbeff9a96b SHA512 ebc5f2175fc7ac8b89ee68d3089272ea444cfa9375a13c989c64a267b050c1065eaa124263b440ba6513a4b6ba4c8efbf58f3a78b4d94bd0e658dfab5ca0a8e5 -DIST rustc-1.88.0_beta20250603-src.tar.xz.asc 801 BLAKE2B 426fe3cf64ecbc5564feeb1c2c784b98d4aa71184006b1430c86d1b98f91592e850feefa0f6e91142f1b5c227556041cd32628aed7bacd43dddd252dc111b73f SHA512 ba4336934071fff1d9abe44d50fced7bd2fd1f6a5c116b8d17312d6ec5d143664fb570fba90f6cf417c5220cd9f42b2bb1695d73e915451b1dd2f726a451c7ec +DIST rustc-1.88.0-src.tar.xz 283294344 BLAKE2B fc17efbc8b2e54f2da61384097dcb3b8f595f27f7853f56cef034913f6b46a718113af0fe66f0e3b0afd184ec506b35f3b74172926cf727ddc061f567d54fa4c SHA512 e6c62af2953f49462b2369e9551b12f2bec114577f90e3e76049636da4279b1e7f4d53bc6896f5d0d4715d90ef6d29dacff529a45690ffac6af62ad64600db40 +DIST rustc-1.88.0-src.tar.xz.asc 801 BLAKE2B 858e987ad1fc49c1e1cbc5ea709f835c60fce907e89205e431c843bfad97dc0ccbcf399fc7d87319b8455561cbc24020bd88cb572cbe932cb8b80a8adec39687 SHA512 64ab398dc602fed3ad7bf232249e80cc0a9831aa90c7eb37658f7dc5b2af04ee391f9633aae7a1d90f743d019cec531318384f71384ecbe4f6169e6e88b7ba0e diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.88.0_beta20250526.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.88.0.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.88.0_beta20250526.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.88.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.88.0_beta20250603.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.88.0_beta20250603.ebuild deleted file mode 100644 index acd1b3fdb8..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.88.0_beta20250603.ebuild +++ /dev/null @@ -1,835 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( 20 ) -PYTHON_COMPAT=( python3_{11..14} ) - -RUST_PATCH_VER=${PVR} - -RUST_MAX_VER=${PV%%_*} -if [[ ${PV} == *9999* ]]; then - RUST_MIN_VER="1.88.0" # Update this as new `beta` releases come out. -elif [[ ${PV} == *beta* ]]; then - RUST_MAX_VER="$(ver_cut 1).$(ver_cut 2).0" - RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" -else - RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" -fi - -inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ - multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 -elif [[ ${PV} == *beta* ]]; then - # Identify the snapshot date of the beta release: - # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz - betaver=${PV//*beta} - BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" - MY_P="rustc-beta" - SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz - https://gitweb.gentoo.org/proj/rust-patches.git/snapshot/rust-patches-${RUST_PATCH_VER}.tar.bz2 - verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc - -> rustc-${PV}-src.tar.xz.asc ) - " - S="${WORKDIR}/${MY_P}-src" -else - MY_P="rustc-${PV}" - SRC_URI="https://static.rust-lang.org/dist/${MY_P}-src.tar.xz - https://gitweb.gentoo.org/proj/rust-patches.git/snapshot/rust-patches-${RUST_PATCH_VER}.tar.bz2 - verify-sig? ( https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc ) - " - S="${WORKDIR}/${MY_P}-src" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -DESCRIPTION="Systems programming language originally developed by Mozilla" -HOMEPAGE="https://www.rust-lang.org/" - -# keep in sync with llvm ebuild of the same version as bundled one. -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai - LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE - WebAssembly X86 XCore Xtensa ) -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} - -# https://github.com/rust-lang/llvm-project/blob/rustc-1.84.0/llvm/CMakeLists.txt -_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) -declare -A ALL_RUST_EXPERIMENTAL_TARGETS -for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do - ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 -done - -LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" -SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable - -IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto rustfmt rust-analyzer rust-src +system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" - -if [[ ${PV} = *9999* ]]; then - # These USE flags require nightly rust - IUSE+=" miri" -fi - -LLVM_DEPEND=() -# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation -for _x in "${ALL_LLVM_TARGETS[@]}"; do - LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) - if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then - ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 - fi -done -LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) -LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) - -# dev-libs/oniguruma is used for documentation -BDEPEND="${PYTHON_DEPS} - app-eselect/eselect-rust - dev-libs/oniguruma - || ( - >=sys-devel/gcc-4.7[cxx] - >=llvm-core/clang-3.5 - ) - lto? ( system-llvm? ( - || ( - $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') - sys-devel/mold - ) - ) ) - !system-llvm? ( - >=dev-build/cmake-3.13.4 - app-alternatives/ninja - ) - test? ( dev-debug/gdb ) - verify-sig? ( sec-keys/openpgp-keys-rust ) -" - -DEPEND=" - >=app-arch/xz-utils-5.2 - net-misc/curl:=[http2,ssl] - sys-libs/zlib:= - dev-libs/openssl:0= - system-llvm? ( - ${LLVM_DEPEND[*]} - llvm-libunwind? ( llvm-runtimes/libunwind:= ) - ) - !system-llvm? ( - !llvm-libunwind? ( - elibc_musl? ( sys-libs/libunwind:= ) - ) - ) -" - -RDEPEND="${DEPEND} - app-eselect/eselect-rust - dev-lang/rust-common - sys-apps/lsb-release - !dev-lang/rust:stable - !dev-lang/rust-bin:stable -" - -REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) - rust-analyzer? ( rust-src ) - test? ( ${ALL_LLVM_TARGETS[*]} ) - wasm? ( llvm_targets_WebAssembly ) - x86? ( cpu_flags_x86_sse2 ) -" - -# we don't use cmake.eclass, but can get a warning -CMAKE_WARN_UNUSED_CLI=no - -QA_FLAGS_IGNORED=" - usr/lib/${PN}/${SLOT}/bin/.* - usr/lib/${PN}/${SLOT}/libexec/.* - usr/lib/${PN}/${SLOT}/lib/lib.*.so - usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.* - usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so -" - -QA_SONAME=" - usr/lib/${PN}/${SLOT}/lib/lib.*.so.* - usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so -" - -QA_PRESTRIPPED=" - usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp - usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/self-contained/crtn.o -" - -# An rmeta file is custom binary format that contains the metadata for the crate. -# rmeta files do not support linking, since they do not contain compiled object files. -# so we can safely silence the warning for this QA check. -QA_EXECSTACK="usr/lib/${PN}/${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta" - -# causes double bootstrap -RESTRICT="test" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc - -clear_vendor_checksums() { - sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die -} - -toml_usex() { - usex "${1}" true false -} - -pre_build_checks() { - local M=9216 - # multiply requirements by 1.3 if we are doing x86-multilib - if use amd64; then - M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) - fi - M=$(( $(usex clippy 128 0) + ${M} )) - if [[ ${PV} == *9999* ]]; then - M=$(( $(usex miri 128 0) + ${M} )) - fi - M=$(( $(usex rustfmt 256 0) + ${M} )) - # add 2G if we compile llvm and 256M per llvm_target - if ! use system-llvm; then - M=$(( 2048 + ${M} )) - local ltarget - for ltarget in ${ALL_LLVM_TARGETS[@]}; do - M=$(( $(usex ${ltarget} 256 0) + ${M} )) - done - fi - M=$(( $(usex wasm 256 0) + ${M} )) - M=$(( $(usex debug 2 1) * ${M} )) - eshopts_push -s extglob - if is-flagq '-g?(gdb)?([1-9])'; then - M=$(( 15 * ${M} / 10 )) - fi - eshopts_pop - M=$(( $(usex doc 256 0) + ${M} )) - CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} -} - -llvm_check_deps() { - has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" -} - -# Is LLVM being linked against libc++? -is_libcxx_linked() { - local code='#include -#if defined(_LIBCPP_VERSION) - HAVE_LIBCXX -#endif -' - local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 - [[ ${out} == *HAVE_LIBCXX* ]] -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - python-any-r1_pkg_setup - - export LIBGIT2_NO_PKG_CONFIG=1 #749381 - if tc-is-cross-compiler; then - use system-llvm && die "USE=system-llvm not allowed when cross-compiling" - local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" - use "llvm_targets_${cross_llvm_target}" || \ - die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" - fi - - rust_pkg_setup - - if use system-llvm; then - llvm-r1_pkg_setup - - local llvm_config="$(get_llvm_prefix)/bin/llvm-config" - export LLVM_LINK_SHARED=1 - export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" - fi -} - -rust_live_get_sources() { - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/rust-patches.git - " - EGIT_CHECKOUT_DIR="${WORKDIR}/rust-patches-${RUST_PATCH_VER}" - git-r3_src_unpack - - EGIT_REPO_URI=" - https://github.com/rust-lang/rust.git - " - EGIT_SUBMODULES=( - "*" - "-src/gcc" - ) - S="${WORKDIR}/rust" - EGIT_CHECKOUT_DIR="${S}" - git-r3_src_unpack -} - -src_unpack() { - if [[ ${PV} == *9999* ]] ; then - rust_live_get_sources - - # Vendor dependencies - mkdir "${S}/.cargo" || die # The vendor script has a check for .cargo/config{,.toml} - touch "${S}/.cargo/bootstrap.toml" || die - local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" - # Configure vendor to use the portage-provided toolchain. This prevents it from - # attempting to fetch a `beta` toolchain from the internet. - cat <<- _EOF_ > "${T}/vendor-bootstrap.toml" - # Suppresses a warning about tracking changes which we don't care about. - change-id = "ignore" - [build] - build = "$(rust_abi "${CBUILD}")" - host = ["$(rust_abi "${CHOST}")"] - target = ["$(rust_abi "${CHOST}")"] - cargo = "${rust_stage0_root}/bin/cargo" - rustc = "${rust_stage0_root}/bin/rustc" - rustfmt = "${rust_stage0_root}/bin/rustfmt" - _EOF_ - # We're using git sources so we need to run the Vendor script - # to ensure that all dependencies are present and up-to-date - mkdir "${S}/vendor" || die - # This also compiles the 'build helper', there's no way to avoid this. - ${EPYTHON} "${S}"/x.py vendor -v --config="${T}"/vendor-bootstrap.toml -j$(makeopts_jobs) || - die "Failed to vendor dependencies" - # TODO: This has to be generated somehow, this is from a 1.84.x tarball I had lying around. - cat <<- _EOF_ > "${S}/.cargo/config.toml" - [source.crates-io] - replace-with = "vendored-sources" - - [source."git+https://github.com/rust-lang/team"] - git = "https://github.com/rust-lang/team" - replace-with = "vendored-sources" - - [source.vendored-sources] - directory = "vendor" - _EOF_ - elif use verify-sig ; then - # Patch tarballs are not signed (but we trust Gentoo infra) - verify-sig_verify_detached "${DISTDIR}"/rustc-${PV}-src.tar.xz{,.asc} - default - else - default - fi -} - -src_prepare() { - if [[ ${PV} = *9999* ]]; then - # We need to update / generate lockfiles for the workspace - ${CARGO} generate-lockfile --offline || die "Failed to generate lockfiles" - fi - - PATCHES=( - "${WORKDIR}/rust-patches-${RUST_PATCH_VER}/" - ) - - if use lto && tc-is-clang && ! tc-ld-is-lld && ! tc-ld-is-mold; then - export RUSTFLAGS+=" -C link-arg=-fuse-ld=lld" - fi - - default -} - -src_configure() { - if tc-is-cross-compiler; then - export PKG_CONFIG_ALLOW_CROSS=1 - export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" - export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" - export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" - fi - - # Avoid bundled copies of libraries - export RUSTONIG_SYSTEM_LIBONIG=1 - # Need to check if these can be optional - #export LIBSQLITE3_SYS_USE_PKG_CONFIG=1 - #export LIBSSH2_SYS_USE_PKG_CONFIG=1 - - filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 - - local rust_target="" rust_targets="" arch_cflags - - # Collect rust target names to compile standard libs for all ABIs. - for v in $(multilib_get_enabled_abi_pairs); do - rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" - done - if use wasm; then - rust_targets+=",\"wasm32-unknown-unknown\"" - if use system-llvm; then - # un-hardcode rust-lld linker for this target - # https://bugs.gentoo.org/715348 - sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die - fi - fi - rust_targets="${rust_targets#,}" - - # cargo and rustdoc are mandatory and should always be included - local tools='"cargo","rustdoc"' - use clippy && tools+=',"clippy"' - use rustfmt && tools+=',"rustfmt"' - use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' - use rust-src && tools+=',"src"' - - if [[ ${PV} == *9999* ]]; then - use miri && tools+=',"miri"' - fi - - local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" - # in case of prefix it will be already prefixed, as --print sysroot returns full path - [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" - - rust_target="$(rust_abi)" - rust_build="$(rust_abi "${CBUILD}")" - rust_host="$(rust_abi "${CHOST}")" - - RUST_EXPERIMENTAL_TARGETS=() - for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do - if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then - RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) - fi - done - RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} - - local cm_btype="$(usex debug DEBUG RELEASE)" - local build_channel - local build_miri="false" - case "${PV}" in - *9999*) - build_channel="nightly" - ;; - *beta*) - build_channel="beta" - ;; - *) - build_channel="stable" - ;; - esac - cat <<- _EOF_ > "${S}"/bootstrap.toml - # Suppresses a warning about tracking changes which we don't care about. - change-id = "ignore" - # https://github.com/rust-lang/rust/issues/135358 (bug #947897) - profile = "dist" - [llvm] - download-ci-llvm = false - optimize = $(toml_usex !debug) - release-debuginfo = $(toml_usex debug) - assertions = $(toml_usex debug) - ninja = true - targets = "${LLVM_TARGETS// /;}" - experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" - link-shared = $(toml_usex system-llvm) - $(if is_libcxx_linked; then - # https://bugs.gentoo.org/732632 - echo "use-libcxx = true" - echo "static-libstdcpp = false" - fi) - $(case "${rust_target}" in - i586-*-linux-*) - # https://github.com/rust-lang/rust/issues/93059 - echo 'cflags = "-fcf-protection=none"' - echo 'cxxflags = "-fcf-protection=none"' - echo 'ldflags = "-fcf-protection=none"' - ;; - *) - ;; - esac) - enable-warnings = false - [llvm.build-config] - CMAKE_VERBOSE_MAKEFILE = "ON" - $(if ! tc-is-cross-compiler; then - # When cross-compiling, LLVM is compiled twice, once for host and - # once for target. Unfortunately, this build configuration applies - # to both, which means any flags applicable to one target but not - # the other will break. Conditionally disable respecting user - # flags when cross-compiling. - echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" - echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" - echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" - echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" - echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" - echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" - fi) - [build] - build-stage = 2 - test-stage = 2 - build = "${rust_build}" - host = ["${rust_host}"] - target = [${rust_targets}] - cargo = "${rust_stage0_root}/bin/cargo" - rustc = "${rust_stage0_root}/bin/rustc" - rustfmt = "${rust_stage0_root}/bin/rustfmt" - docs = $(toml_usex doc) - compiler-docs = false - submodules = false - python = "${EPYTHON}" - locked-deps = true - vendor = true - extended = true - tools = [${tools}] - verbose = 2 - sanitizers = false - profiler = true - cargo-native-static = false - [install] - prefix = "${EPREFIX}/usr/lib/${PN}/${SLOT}" - sysconfdir = "etc" - docdir = "share/doc/rust" - bindir = "bin" - libdir = "lib" - mandir = "share/man" - [rust] - # https://github.com/rust-lang/rust/issues/54872 - codegen-units-std = 1 - optimize = true - debug = $(toml_usex debug) - debug-assertions = $(toml_usex debug) - debug-assertions-std = $(toml_usex debug) - debuginfo-level = $(usex debug 2 0) - debuginfo-level-rustc = $(usex debug 2 0) - debuginfo-level-std = $(usex debug 2 0) - debuginfo-level-tools = $(usex debug 2 0) - debuginfo-level-tests = 0 - backtrace = true - incremental = false - $(if ! tc-is-cross-compiler; then - echo "default-linker = \"${CHOST}-cc\"" - fi) - channel = "${build_channel}" - description = "gentoo" - rpath = true - verbose-tests = true - optimize-tests = $(toml_usex !debug) - codegen-tests = true - omit-git-hash = false - dist-src = false - remap-debuginfo = true - lld = $(usex system-llvm false $(toml_usex wasm)) - $(if use lto && tc-is-clang && ! tc-ld-is-mold; then - echo "use-lld = true" - fi) - # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it - # https://github.com/rust-lang/rust/issues/74976 - # https://github.com/rust-lang/rust/issues/76526 - deny-warnings = $(usex wasm $(usex doc false true) true) - backtrace-on-ice = true - jemalloc = false - # See https://github.com/rust-lang/rust/issues/121124 - lto = "$(usex lto thin off)" - [dist] - src-tarball = false - compression-formats = ["xz"] - compression-profile = "balanced" - _EOF_ - - for v in $(multilib_get_enabled_abi_pairs); do - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) - arch_cflags="$(get_abi_CFLAGS ${v##*.})" - - export CFLAGS_${rust_target//-/_}="${arch_cflags}" - - cat <<- _EOF_ >> "${S}"/bootstrap.toml - [target.${rust_target}] - ar = "$(tc-getAR)" - cc = "$(tc-getCC)" - cxx = "$(tc-getCXX)" - linker = "$(tc-getCC)" - ranlib = "$(tc-getRANLIB)" - llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" - _EOF_ - if use system-llvm; then - cat <<- _EOF_ >> "${S}"/bootstrap.toml - llvm-config = "$(get_llvm_prefix)/bin/llvm-config" - _EOF_ - fi - # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; - # but we patch it and set to false here as well - if use elibc_musl; then - cat <<- _EOF_ >> "${S}"/bootstrap.toml - crt-static = false - musl-root = "$($(tc-getCC) -print-sysroot)/usr" - _EOF_ - fi - done - if use wasm; then - wasm_target="wasm32-unknown-unknown" - export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" - cat <<- _EOF_ >> "${S}"/bootstrap.toml - [target.wasm32-unknown-unknown] - linker = "$(usex system-llvm lld rust-lld)" - # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 - profiler = false - _EOF_ - fi - - if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below - # experimental cross support - # discussion: https://bugs.gentoo.org/679878 - # TODO: c*flags, clang, system-llvm, cargo.eclass target support - # it would be much better if we could split out stdlib - # complilation to separate ebuild and abuse CATEGORY to - # just install to /usr/lib/rustlib/ - - # extra targets defined as a bash array - # spec format: :: - # best place would be /etc/portage/env/dev-lang/rust - # Example: - # RUST_CROSS_TARGETS=( - # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" - # ) - # no extra hand holding is done, no target transformations, all - # values are passed as-is with just basic checks, so it's up to user to supply correct values - # valid rust targets can be obtained with - # rustc --print target-list - # matching cross toolchain has to be installed - # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) - # only gcc toolchains installed with crossdev are checked for now. - - # BUG: we can't pass host flags to cross compiler, so just filter for now - # BUG: this should be more fine-grained. - filter-flags '-mcpu=*' '-march=*' '-mtune=*' - - local cross_target_spec - for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do - # extracts first element form :: - local cross_llvm_target="${cross_target_spec%%:*}" - # extracts toolchain triples, : - local cross_triples="${cross_target_spec#*:}" - # extracts first element after before : separator - local cross_rust_target="${cross_triples%%:*}" - # extracts last element after : separator - local cross_toolchain="${cross_triples##*:}" - use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" - command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" - - cat <<- _EOF_ >> "${S}"/bootstrap.toml - [target.${cross_rust_target}] - ar = "${cross_toolchain}-ar" - cc = "${cross_toolchain}-gcc" - cxx = "${cross_toolchain}-g++" - linker = "${cross_toolchain}-gcc" - ranlib = "${cross_toolchain}-ranlib" - _EOF_ - if use system-llvm; then - cat <<- _EOF_ >> "${S}"/bootstrap.toml - llvm-config = "$(get_llvm_prefix)/bin/llvm-config" - _EOF_ - fi - if [[ "${cross_toolchain}" == *-musl* ]]; then - cat <<- _EOF_ >> "${S}"/bootstrap.toml - musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" - _EOF_ - fi - - # append cross target to "normal" target list - # example 'target = ["powerpc64le-unknown-linux-gnu"]' - # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' - - rust_targets="${rust_targets},\"${cross_rust_target}\"" - sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" bootstrap.toml || die - - ewarn - ewarn "Enabled ${cross_rust_target} rust target" - ewarn "Using ${cross_toolchain} cross toolchain" - ewarn - if ! has_version -b 'sys-devel/binutils[multitarget]' ; then - ewarn "'sys-devel/binutils[multitarget]' is not installed" - ewarn "'strip' will be unable to strip cross libraries" - ewarn "cross targets will be installed with full debug information" - ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" - ewarn - ewarn "Alternatively llvm-strip can be used, it supports stripping any target" - ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" - ewarn - fi - done - fi # I_KNOW_WHAT_I_AM_DOING_CROSS - - einfo "Rust configured with the following flags:" - echo - echo RUSTFLAGS="\"${RUSTFLAGS}\"" - echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" - echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" - echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" - env | grep "CARGO_TARGET_.*_RUSTFLAGS=" - env | grep "CFLAGS_.*" - echo - einfo "bootstrap.toml contents:" - cat "${S}"/bootstrap.toml || die - echo -} - -src_compile() { - # -v will show invocations, -vv "very verbose" is overkill, -vvv "very very verbose" is insane - RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -v --config="${S}"/bootstrap.toml -j$(makeopts_jobs) || die -} - -src_test() { - # https://rustc-dev-guide.rust-lang.org/tests/intro.html - - # those are basic and codegen tests. - local tests=( - codegen - codegen-units - compile-fail - incremental - mir-opt - pretty - run-make - ) - - # fails if llvm is not built with ALL targets. - # and known to fail with system llvm sometimes. - use system-llvm || tests+=( assembly ) - - # fragile/expensive/less important tests - # or tests that require extra builds - # TODO: instead of skipping, just make some nonfatal. - if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then - tests+=( - rustdoc - rustdoc-js - rustdoc-js-std - rustdoc-ui - run-make-fulldeps - ui - ui-fulldeps - ) - fi - - local i failed=() - einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" - for i in "${tests[@]}"; do - local t="src/test/${i}" - einfo "rust_src_test: running ${t}" - if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/bootstrap.toml \ - -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" - then - failed+=( "${t}" ) - eerror "rust_src_test: ${t} failed" - fi - done - - if [[ ${#failed[@]} -ne 0 ]]; then - eerror "rust_src_test: failure summary: ${failed[@]}" - die "aborting due to test failures" - fi -} - -src_install() { - DESTDIR="${D}" "${EPYTHON}" ./x.py install -v --config="${S}"/bootstrap.toml -j$(makeopts_jobs) || die - - docompress /usr/lib/${PN}/${SLOT}/share/man/ - - # bug #689562, #689160 - rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die - rmdir -v "${ED}/usr/lib/${PN}/${SLOT}"/etc{/bash_completion.d,} || die - - local symlinks=( - cargo - rustc - rustdoc - rust-gdb - rust-gdbgui - rust-lldb - ) - - use clippy && symlinks+=( clippy-driver cargo-clippy ) - if [[ ${PV} = *9999* ]]; then - use miri && symlinks+=( miri cargo-miri ) - fi - use rustfmt && symlinks+=( rustfmt cargo-fmt ) - use rust-analyzer && symlinks+=( rust-analyzer ) - - einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" - local i - for i in "${symlinks[@]}"; do - # we need realpath on /usr/bin/* symlink return version-appended binary path. - # so /usr/bin/rustc should point to /usr/lib/rust//bin/rustc- - # need to fix eselect-rust to remove this hack. - local ver_i="${i}-${PV%%_*}" - if [[ -f "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" ]]; then - einfo "Installing ${i} symlink" - ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" "${ED}/usr/lib/${PN}/${SLOT}/bin/${ver_i}" || die - else - ewarn "${i} symlink requested, but source file not found" - ewarn "please report this" - fi - dosym "../lib/${PN}/${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" - done - - # symlinks to switch components to active rust in eselect - dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}" - use rust-analyzer && dosym "${SLOT}/libexec" "/usr/lib/${PN}/libexec-${SLOT}" - dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}" - dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}" - dosym "../../lib/${PN}/${SLOT}/share/doc/rust" "/usr/share/doc/${P}" - - newenvd - "50${P}" <<-_EOF_ - MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}" - _EOF_ - - rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die - rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die - rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die - - # note: eselect-rust adds EROOT to all paths below - cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" - /usr/bin/cargo - /usr/bin/rustdoc - /usr/bin/rust-gdb - /usr/bin/rust-gdbgui - /usr/bin/rust-lldb - /usr/lib/rustlib - /usr/lib/rust/lib - /usr/lib/rust/man - /usr/share/doc/rust - _EOF_ - - if use clippy; then - echo /usr/bin/clippy-driver >> "${T}/provider-${P}" - echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" - fi - if [[ ${SLOT} == *9999* ]] && use miri; then - echo /usr/bin/miri >> "${T}/provider-${P}" - echo /usr/bin/cargo-miri >> "${T}/provider-${P}" - fi - if use rustfmt; then - echo /usr/bin/rustfmt >> "${T}/provider-${P}" - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" - fi - if use rust-analyzer; then - echo /usr/lib/rust/libexec >> "${T}/provider-${P}" - echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" - fi - - insinto /etc/env.d/rust - doins "${T}/provider-${PN}-${SLOT}" - - if use dist; then - "${EPYTHON}" ./x.py dist -v --config="${S}"/bootstrap.toml -j$(makeopts_jobs) || die - insinto "/usr/lib/${PN}/${SLOT}/dist" - doins -r "${S}/build/dist/." - fi -} - -pkg_postinst() { - - eselect rust update - - if has_version dev-debug/gdb || has_version llvm-core/lldb; then - elog "Rust installs helper scripts for calling GDB and LLDB," - elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." - fi - - if has_version app-editors/emacs; then - optfeature "emacs support for rust" app-emacs/rust-mode - fi - - if has_version app-editors/gvim || has_version app-editors/vim; then - optfeature "vim support for rust" app-vim/rust-vim - fi -} - -pkg_postrm() { - eselect rust cleanup -} From fe88fc5a0d4f40893fb083b38b27a19470288fc4 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:46 +0000 Subject: [PATCH 028/131] dev-lang/rust-bin: Sync with Gentoo It's from Gentoo commit 129c5c7680f23cc76ccecf337d6c2b026116405a. --- .../portage-stable/dev-lang/rust-bin/Manifest | 87 ++--- ...20250526.ebuild => rust-bin-1.88.0.ebuild} | 8 +- .../rust-bin-1.88.0_beta20250603.ebuild | 314 ------------------ 3 files changed, 33 insertions(+), 376 deletions(-) rename sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/{rust-bin-1.88.0_beta20250526.ebuild => rust-bin-1.88.0.ebuild} (97%) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.88.0_beta20250603.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/Manifest index 5547424f99..0168870676 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/Manifest @@ -551,62 +551,34 @@ DIST rust-1.87.0-x86_64-unknown-linux-gnu.tar.xz 198639092 BLAKE2B 908c974cc044e DIST rust-1.87.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B edac3e21d9414e774c507a352664f6d73beb78ca3b4f19c95097e073b461d10aeef8d0b2bcf0457b8944c40327f04907c05edcc92070cc10958a9deb1d843bc7 SHA512 1946680287698a07a922c18b74d27c1de374eed86624aeb76167aafcd0acc8ad4bca57fea5a8f8420deadcaf819be6ea0c47b8ca97033cd94578037fbbc86168 DIST rust-1.87.0-x86_64-unknown-linux-musl.tar.xz 292508024 BLAKE2B 2fdf8a2be388bbfeb52211c372b95f42563ef762883d4634f857545a3bdcf9fa6c41c9099df1a26b936f3a3e9e8679d891d3ed80e593e405663f02421fadad6c SHA512 9629d62407eb517e09b21cca83ae1528b60b589df29ee12d99e7f334c234cdd9e24c497c175b4e83b8a993f6117e17a8004b350a28868d7e5247c26dd165d253 DIST rust-1.87.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 9ee89dcd5bca680c4b6c13b85166d4d7d6bf1c685931a6466e8701868840136376ae8980931e5cf91f82da1cec7f9bfc0ec74576d5e57eb14991d7d398524cd7 SHA512 5985a66b9c898f71864c5f18104a92930bfd20acd827efd0d7222c28da25fc96ca72f72c880be0b75ed25ea381f9d7e07e2e1243c4b465eb4903073bb74691bf -DIST rust-1.88.0_beta20250526-aarch64-unknown-linux-gnu.tar.xz 165315676 BLAKE2B 5011d0b4507462cc230696942496342fbc576dc398198b7897aed08985c60d009a96c741ad33bd0ff41eff78b45b05eac737f037f707dc008b4f08930294db6d SHA512 a7edd10983f7de4b6cabafccacb215999391d3c33fa2eee2a425ae0116372e207514254cdba1c798dbdc4faa1b0b4cfa6fe158c4b924d1d95dd49034dd593b22 -DIST rust-1.88.0_beta20250526-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 99e83ee876ecc402d26e0c86f22289038841e4a7cb3554536e1d805fadc6a81a59fb403ab63ccaf885ad815871ab9c6aecbe41afd2059a6cb952c323d60d5bd3 SHA512 38eaa3c4afc5426e1a3a9c6a2cae45f1bb8d20806e66b9fbf678d046cd6636fff8d544db2a5d2aa852deac6fc1ce5bf0a06eacb829748a9c42f491da83751389 -DIST rust-1.88.0_beta20250526-aarch64-unknown-linux-musl.tar.xz 243946068 BLAKE2B a37ff77ffa2964e412dd2eaa2426b65d6e51c610cad38378c1e95fb9c51ace8dc9028cfe96e84eeddd7b450ac30c1684f3febd2d438cb3b92be86a92d6262a0b SHA512 377b2d6c44ea7aeb16a56698105423868d6d81df1fa7412a94b26b3edb1a39af9280e0fcf8baee2e680806f0f0b4d81a2debc8f3ce6e6864ae2602e01391a737 -DIST rust-1.88.0_beta20250526-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B ba903c4d3d2ab4304bfc95632ebec42b76e5f38a176ec1928910751c0b8f05544849d191c8ef660696a4d76ae65d0b5dcb8ed1059b11615227d74fb0f0ddadb8 SHA512 0d72b6d4c4dcee6a0ef6e705b731e90e03f60bed72c7d92ac281e70dc0f87a58344a5c97057117c80a7656f378a6c9a1f3961357fd49128192f0ceaf9827f2ca -DIST rust-1.88.0_beta20250526-arm-unknown-linux-gnueabi.tar.xz 229389328 BLAKE2B 9aa0753d731abcdc493a817247adbad1421c5d61246209805ab5025409b2287c573d1cf8a0c1a91fcc68280524991a578dec6502234ea4a545c8f1176c22dbc0 SHA512 c6189f9939389f3bb3e7fbbcfe56beb3abce395ac42323fa97fce479a3f20431b03d702978f005c9a0df234bdd0654048d5254e9f484f33ac74cc60adad9bea8 -DIST rust-1.88.0_beta20250526-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 07eee2c415503600b5d4299e5f05e884e47e3c353c11dd060100c3108f880a1250506aeaca296675cd33ba2c9741fb2a24000f151ba18e104cd71e1c55316cd4 SHA512 394ec48a653a8b93d0532f2f6df27dc273bbd948d2690f193004b4dbc416717d710cd2c5f3b6da970bba09367176b93a45d6466b552276935572e7f88de9827d -DIST rust-1.88.0_beta20250526-arm-unknown-linux-gnueabihf.tar.xz 229713968 BLAKE2B 6e2b361247abec64200820bf36fa74d5ef43e616ac3eabc5b948f7483f683526683b0c89b5c452f446a958aee989ed8d5fa1f64951389439230910ed13d1f488 SHA512 036ebff25321f4f62189b744857b445a79a34962032c92d35755c0cdac4095c0cdb2ed73d1b136a6f344458a6bd0a51857c122539d5fb5106a7972aa7338ce2a -DIST rust-1.88.0_beta20250526-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 8113dafc49ee2d04975bc510123486ab4b5d3d809ac843557c8404584ffc44b8467d0c915e1c207f2ab1a0e1a02e754f707577b87c4ef241d5f235f60747c732 SHA512 0425892113097b457a06cb260511a67b0107468fc685ff4034d11449f97ac0e2ed9b5ca0dae36f6ce0cbea872c592988c865b1991f22c4c4d68411c7dba8768a -DIST rust-1.88.0_beta20250526-armv7-unknown-linux-gnueabihf.tar.xz 235456424 BLAKE2B 54bec2fe1a8967d541f162fda8530b1a2d847a223b2edc9a37f285ee32bd99fa40cfd36df38055be76e4a1c894cdf54314b28d822228191e533a6550f6590217 SHA512 670975a615c81e0c45d40824aa2bd3a15c745d6e4e896d94882c8036bf98fc392d59f877061fbf8b0885e2ebee0187e98f5533ffaca8d070602800b9026d4076 -DIST rust-1.88.0_beta20250526-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 06e50a4e5c3006c1f85eca5ea35638affee6a6f854ecc40b6ba36a913f634ee9d3649da1fe4bfb64e3d093983eb14568fdbb5b458059837d9fde0103e2fd1222 SHA512 5ee5ecdce8b30354e6094c7cbabfdf942288e53b5aef6e8d36944d30ffef526d4b7c2d7d17c05caf48d6f5a597799fa167f54e216122dcd741fd4af3c7de8172 -DIST rust-1.88.0_beta20250526-i686-unknown-linux-gnu.tar.xz 261911348 BLAKE2B c1d48ad71cb2b8b12cc6c2d3a1a0d620cc74a260416e037d804d3142e055ae8e8a1e7fb40ce89f8935037d5d97357d1255c9f22377028b1a4e4bba3b1a819e80 SHA512 a16188f8459d658301e6d3a85f5ef7f811cc2ceb7181e83d5394c3c26c75fadf2198ec6fa63fe496e94ad0734bd888021eb1a554f612bed01d1aebb87f820eda -DIST rust-1.88.0_beta20250526-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B fe93010560fc2e5b888246c1410d8375d1c9eb488caba10ceac4a4f9c12a7e169fd6213e7949392036705e4b8a654dc394e7d3f8252735da9c80892a969d3d20 SHA512 93c5e9f2790a6b4b7d324ab7f4b5385225e049cee423092cf1997a41dffd84327ec32be4decd9a8b790e1c3efdcda4bd0952214ee31ad7ce5e91206ecf9097bf -DIST rust-1.88.0_beta20250526-loongarch64-unknown-linux-gnu.tar.xz 261384104 BLAKE2B 661882ea84aec6dde3cf938ba61229bb38d8a745832dae4025965241f61d8a4879a8e727ba35d0a000694bd4ca560f6b2491a3a4213569004f5bdb310be4de10 SHA512 a5b78599ba01a822b1f59f2ce98f5294d968522ac2263cd6a71b08b6dd74fcfe443ac530332b9d67a9555ba7bb0ffef5375c98b1f8f7e6ba0a95e41145aad899 -DIST rust-1.88.0_beta20250526-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d4807f009edf0b41134ba6a7a1fb78c0b0a4b38c7281c8808fd2bd0c3856820353414ea70eabdbe25064c4f0800b291e89247b64d83477702ace2feac0e8a9ec SHA512 b04d928325c3c70912db1a434c6df49101b8bcc379f60e2f8d85de032f1caba10abe2f073d513c4bdd4878bf6ee46022599f65a3c2a134a8cba2f84cf29fd0e8 -DIST rust-1.88.0_beta20250526-powerpc-unknown-linux-gnu.tar.xz 255492828 BLAKE2B 47c1acdf66909a547e3db24ce75ece26745cf40237c6695276683bddc33192508cba12f9dce100f762979e92648c58531de5293c0f73ff43b4141d5ad0e7ce49 SHA512 7901e970db1780bb10b92610738a22ddb6e0dd89403391ecaa395038971d3b290dcd3b77f1c727eb0ac9f011b4f153ceacc24bb8a5afb78ecd73ab1686c0ee14 -DIST rust-1.88.0_beta20250526-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 00680f8b37b644078d4d4e97ce4075648fef1e1758418623d489032d6f41a194a453328e46d8ca3fa1e451a17bb8687e347b5ae73595c71487adc97c3d1618f3 SHA512 813ca054248bebc85b1f1daa637e1623604f7facf86ed493f12f97dee6f979d738245ddb58b6feb6ac10f24ae06810f3fa460439202f6551ccd303bc94e1f554 -DIST rust-1.88.0_beta20250526-powerpc64-unknown-linux-gnu.tar.xz 255634308 BLAKE2B 8344bc5d3879d8ea1332ae8e3a6740dad295d8f7e5ed37c38f7bf4cc980ce79ca71e9f0ac980594b0664b4d15feaf79f9193b81fba1fc9baa71cab36c6eaa650 SHA512 e41070dab0420c4a86db50df549e8d09417fd224db0f8873ea39d3ced970f4312ca074cf4d5adb6ebd70eae76ac70f8103621da86fc22bb4e64d8fb70bc2f56b -DIST rust-1.88.0_beta20250526-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B fff2551661e8ff90a0fdc394c59bd6cd1c56eeb0062b5059b1555febc8ff82c964802a9273ca1f50b189bfd9aecb356fb6d6978421a75cb32de0ee070ad63000 SHA512 282420dd4e850a5bc2659ab1f34e7cbf50e0f3c16967019bba8d679af83d4b66d920ead46223d1f2cd2f0ed31c7db8beeb10d75d1e33bce844aec7d0f35d7e8a -DIST rust-1.88.0_beta20250526-powerpc64le-unknown-linux-gnu.tar.xz 270308004 BLAKE2B 521d954e0a8ddec0be99d17a1dee9918dd093ec87c9b4069f84d56d810916464296e8dc03df8604628c82afe418b26d61b8907c36cad89eff88262fa6156fa0b SHA512 df8926047e649e4a3d7f98fcb609facfec3ed4aad820b401dd028eca84ddaa3cf968b79185dadc37cb16e0a88e4caff09123fd5be7200cd0a019d4cbe95813b9 -DIST rust-1.88.0_beta20250526-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1ec1fa77a2ea0a0917c4ae45d32f656b56d0f287d7aeb8d433987b940f55516707d9b473a7d95f4ef2bb19afe5bbd836ab96594a48500554198877d55ea5c762 SHA512 f3021119ce42f1edde18bcd7be8b177a6f0b288b3bbe6fa497863f29e62ca0407cace6f58760bb1e2ada49e5846404f12a7351da54724f9d86924999ef7e7cf7 -DIST rust-1.88.0_beta20250526-riscv64gc-unknown-linux-gnu.tar.xz 250149844 BLAKE2B 5a560e6c36cdaaf4598d1333e5c24f356df29d412edc3a0158184fef11dc0862f1c86aa3bb13eaea12db701092d2d5c49e598ced045679228a0e9df8ec0000e5 SHA512 c1ee83f099fdb3e548e1bf6237571509930f43e0dc02d889ae79f938a8c577eff939a2952f9c37ac10e14e3aa8067c23f229290c09c87c7af572c670fcbbcc53 -DIST rust-1.88.0_beta20250526-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f68833da766ea88adf9f8a10ccbf7e0fdbe8c5c7e1b8d5e8fe5c43b01b261d92e6dabe086764564c6171b24d54ea7e0259412f9975ba5abb732d525af0ee6071 SHA512 a76cbe0d25f7b1bc7aeb7f4f853399cf3f6fc974aa5aaa8f4d8a2168314ba289df26f045a143d7ff8c8021d69924e6983e174cb142ec5a9ade4c551b0320aee3 -DIST rust-1.88.0_beta20250526-s390x-unknown-linux-gnu.tar.xz 239803292 BLAKE2B fb85011c9d2229c12d684b0efe4427fd88a10adc41558091d1a5d78354f07af22b4e4fffba2ba9213fafe2229a08251e68c8439704c6e5705edead7d158f14c9 SHA512 39f8ee027b5fbf786597f160ff82f8c67ac0fa1992d81fb8176c4c1a3ab38d707b877b679d2ed03bfd577d4f8c60c40c737ff4856f75bf7fb2b8dcda2f78d765 -DIST rust-1.88.0_beta20250526-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ef2d5870840cf3f68b0ff774ecd53e52155ee7d716fa92482b7c1bcddfc986fdc8056ce49f5af03f51a24ce239ba6812d5e87e5b0712f28f8adb18d70d54282d SHA512 8c0c7470170ef0b5111b1acd5044b9ea13f8828f0aaaa3483d808f6853d38d3d9e101dd22740c1ebf658727b409bf0f6c6db967456833a5f2365e4bbf21f971c -DIST rust-1.88.0_beta20250526-x86_64-unknown-linux-gnu.tar.xz 197118828 BLAKE2B 7d7ded5b1db239cffe9b9c2f12e81ad33a9b577782512f4141c4444095f47bfd87e86a971aa3daeb0fe69b28cfb5d9f664e16a87b3c797fcc90700dbe9af533b SHA512 700329288c0295fa3b37c12c1160e46aeb042a5bb9764660f52dcee7012c14ab0454e4941ca9891873e8b918a9b47c969226b1bba058d24f599dcd4f0e397b45 -DIST rust-1.88.0_beta20250526-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B dc34f5079fbcc11b615c8f054b634930145648ce4c0659f1d51bcb8565dfc23dc887ddb5ed40c156f05bbcf32b78c11a212813541eb61b20c20e9aeee0dfebda SHA512 037173417bf760225c6397108f3d139badd8e00145c9b5a7e65177457abe2552001b9cf8bab79fd58a8b40aedf2d224de66c9dfaa9a119bb913713c06ffbea55 -DIST rust-1.88.0_beta20250526-x86_64-unknown-linux-musl.tar.xz 290943744 BLAKE2B 03068177cc6f5252360cbef4616966cbf2042e4e342175c7a8342524729c3f6c5da650b7ba9ea5544a5fe6433bc8ce87e45a814b838eefa8e1149e4306a82f7d SHA512 d579488256b24aec5a487296f1929ca24e1e6f0da6dc5fc8298c0372b9f25dc988525bb9e3f66d79297e80ba792825d4d39f163f310b3f94540dd299c680be3d -DIST rust-1.88.0_beta20250526-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 9b54bb5932d09b34abedf1448cf90cac011d2e7efa73f9f17df7815bd503ec3f992946dffc9309edc53e1b5b17d8a1c10759cc60ca41334734ae17c75e6a5f50 SHA512 22f38ac6bbf6fda213928c09f89ec2683743ad73b89b24cfc903bdc7243ac954a45fa735c125a1915c5d8f19c0761ca9dc41221791688ac343282034af0cdd90 -DIST rust-1.88.0_beta20250603-aarch64-unknown-linux-gnu.tar.xz 165343516 BLAKE2B 9126824f30fe65c1271e5fa254fbed08295f726a347dae6522ee2b5f4b295f0ede2ceb868dbf9745ea933a2d259dfdaffc4569be503d80d4139fc0f58058056e SHA512 80e0dc617f5503440ca6b5094572e0701d8e63f13fd1aa6563d1906f7dde260cf1f769e7f8fdd90ebc3a362bf08943bbaa47bf00805ab2b21be4280557d04de9 -DIST rust-1.88.0_beta20250603-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B db209a446536597c2a491cafa4a4f2375d12b50cb8f72cf13dffcc63a91709ae348a5d38a663b490ea36bb13e014a27ea7864452365c2193a5e93fdcf47002a0 SHA512 1b1c8d5087a7f4b76328a4811060fd1f8b2ea345f198a9989eabbb5b674ff77b359fd2195b57c807cf7b4ce302743ef4ed8f1c9d9964fe95c17259dd57500480 -DIST rust-1.88.0_beta20250603-aarch64-unknown-linux-musl.tar.xz 243929824 BLAKE2B 84dbe26d95c7cc06a65d426415d94d8c3c48a7cc6fd5c89dafdf3fdb2f5973ac6f196c84194a7d6c1731e94c76ec9c2d6888ec0d1c87aa9595f8d7def230e45e SHA512 e77429a4d79924e93d442c7cc11617cdcff11d4dda0a2a67a4bfcb53f40083ac4d7b2695cc75e695ade0ac67ce4342d751e629ebd7bbe746e9e15e741a4af272 -DIST rust-1.88.0_beta20250603-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 3da884a422171d1f49cf1624f53b9b0c6dee72b5ff8b43c85fd0a6242952d8267a43bf02e7b592f70f5f615cb2fb2cb4459ba5be6bf730f8abac57118e5424f6 SHA512 2505e85e633635843fcf755dba91b0a6cb10dc6f53156aef0ea26b7f5b6282abf7cc4bb484a546cbbcd1b4f190d1e4abfbec05740417bbd1c8dd9c0580f44770 -DIST rust-1.88.0_beta20250603-arm-unknown-linux-gnueabi.tar.xz 229380368 BLAKE2B 1925fd5b0d9d89077f1e800319a98534311f21a6204c69d69050e73edb3f3b16c4535c0942dfca4aa707302e42b422a852ea2ba909d3a504345fb6b0c3abe03d SHA512 363df8ec391cc8201ccf13348916e1d82bf915a06615536837ad2dd6c430e2e8520f601c08b2c5bbd5a9b515039a737f119031f15e8eb2ef626c3cfb330389f6 -DIST rust-1.88.0_beta20250603-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B cf474276e83fa87c478efefebfb731a8726b536f6828d6339064f68dd626061af6342292d1a3cacf4e6cf12131929898c055741dc306f21fc10ef80af13ad5e7 SHA512 4a253234cb693e8cda3a87b21fd5c1a6e27a4667f6ddac42a5dc9617448977bd9303d52fcd6fec199118cd84be9901e840e0d35ddec42b5fda6bac01919ee699 -DIST rust-1.88.0_beta20250603-arm-unknown-linux-gnueabihf.tar.xz 229722020 BLAKE2B 41734aa5784cd3929a6f78d6f2cbca717a79e34d4f98679d319f9c94455ac35ef8410b53bae1336849f0577c21f0bf3ac5137111a6268154042beb8f243d308e SHA512 0ed5a3b8c75fc077de643bc7a1fbd273e2e2530dbe3bf94cd88be754a44d45d14befe549aee0422d8981a1bf91748278a1bac2fba20a6cb82c495951bf9b8303 -DIST rust-1.88.0_beta20250603-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 24388e2d3ba6c26711843cd8da326f0a712af5ab40548b2b7c432d8dec4465c5f3c3f578278f4e27dc39585dec5e354d0b0ce5dff4fd0b56343707a525ca1d08 SHA512 57d2671bff55988a61267a2692323176c170db25eb15741e650676d52a9635b14bea466abbc055bf232ef509905cc1acda10746e02845ff865e56917d73cbc1d -DIST rust-1.88.0_beta20250603-armv7-unknown-linux-gnueabihf.tar.xz 235551172 BLAKE2B 4261b529713f4363c081c323a2cf94fad679aabe44af2a91581f9923d40dbc6d9dffe2cb0b565dfb982faa4bd7804e243807fb3c4284da4bcf677c9f97542e96 SHA512 2aba1861bbf859b665151994cdba14b672188d21b34a95b3cd131d71a3e72c5205ee68502e2b8f53ff3bdd5cfcc2fff170b9c40e2feb6a5d569797ce8d7f36ba -DIST rust-1.88.0_beta20250603-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B a2e3439e2f741e56d039f4cf80371590d0f4cd4d64880e4021582ecc98e4bdab874c8e897e06ef66b3a1fba60994b76e35e9bb5e650f21f62629fb7f964bd5c4 SHA512 b99b53c67115b1c6d4a9bb6adb406ca6c0522cab5bbbc2f5df312d1654a3ec1cca739d1e5060d45babfd2e281e9e67e3586132fdaa59adc574fc81b6c7a6c642 -DIST rust-1.88.0_beta20250603-i686-unknown-linux-gnu.tar.xz 261865076 BLAKE2B 287d1d376d42fb715b7a06ed89c002e0dd2d66fc8b942775ef2cdb115ba09780cfd509d20530c346be5b89e5f6ac67d679400784d95f9e0690afcb6653ca2479 SHA512 25339aef2d7658643d3d55f7ad14eb0913c3cdd170365d53d77390ba2061d3f0f62fe7940727c58ee624ba9214357c8b892b993ff53673cbdc79a2993a80fd49 -DIST rust-1.88.0_beta20250603-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5303dca25dcb54d6532a6eebc4e10392048519eeafd3fbc3a6e73fbdf9aba8dfa6bd43b3e5698980320fc72adcba78edddf6b4b53312bc0a2d4c9b6ed5c887ce SHA512 30fced8fa7a1db6cd66db849a20f318a85f3517938a057afcd67e85320d815749ee6112d1f5988bdb605d03139c2d6172396bee2c6e471a37f48983efa10c088 -DIST rust-1.88.0_beta20250603-loongarch64-unknown-linux-gnu.tar.xz 261370924 BLAKE2B 32e9ec0f14c16aec6d8b7aefa61160eed3f68fdc3f138beae48fffc943c6bdb711dfe4e68073df08cd95d4c47943fb0cf0206409b9ee26975e7f32fe8e23d005 SHA512 293cec7705899e0c2de6dcd2aa3978e5ed5f904596ede83476c105fdd39c2dbfc50f8718754f2c09cf3846a3b5daeb65750e05ebf578666be375ce3f427dfa16 -DIST rust-1.88.0_beta20250603-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9eb1bb752993d31f52d8a428b9bd6d3b0466b3e39d53f14cf58022538047f811ae482b9b940e340d8f669ab851303575efcb247fc2435446a6d20391cfa7a9a9 SHA512 dab99b8118d910a71cd21535a04c3e9cc6d0cf5693d7f0def5d873a6158d0396ce20793e51006391fda11bbddcae0a2c8165cd09fec0d2d76e9dd5928374afa4 -DIST rust-1.88.0_beta20250603-powerpc-unknown-linux-gnu.tar.xz 255451956 BLAKE2B 3266dda7d0b58b023dff1acde1c41db071c5884f08383d07a35cc08e998af426ca621e46c1ca9440429665ffa7c548593047dbda09fec05d8531352880b0aaa0 SHA512 85f7183443c2343f6adddd7abca35cf03cfab6c607c74b126f6a2a84bc3686e63cbad90015c693420d8c15a372e31d01a98494e49367a687d10a7dccedaa96b5 -DIST rust-1.88.0_beta20250603-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b5189c0a2877c3bd8e55a250c873958836ac874fadb79dca1710567b57a1d51dc7964f4bcd6feceffed41b3825137abf37aae4789d34f14bd7099f502a5a2886 SHA512 4357462eabb72f2a4c53918cade956241879c2c60e8e6e0209231b74a2fbef50c5a90eebd23e3bbc8a1cb5a0f5f62bd96c0c08eeb79fa9d89bdd113f812c06bd -DIST rust-1.88.0_beta20250603-powerpc64-unknown-linux-gnu.tar.xz 255345868 BLAKE2B 172b1a0022c41be0614de4f9800884cb8c2ef9268cacdbe6837692430a16718fbc6906826d57ce5b6edbda4024d8e9ab78d5ec8c5e95fb0e1aa86ec189e95506 SHA512 b1f7e2760e62eebb6bdffc627f986c8ac4d131a6317ae459fed56eda1495dfc314fe542fd13d52106dc211c79c269a3cac6bf47ee2fd7ba0fb626ad305cc9e9f -DIST rust-1.88.0_beta20250603-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4167f3eb56755954fcbef7f9021253dd62c32a4c5d4227b7f1aa2a32dd376a74b1ccf455c50040e8dfec28fe3bd16bcb2b725e3ee51d7478e35ec69fe08d0248 SHA512 2f5f74113a10ac7c66db4691d00fd37d8104b66d821a8662a31a5595e4b7506de9bc31ef7fb1d196ab3851fe3782ac266f0072e6fcc579f1459ea9765685f198 -DIST rust-1.88.0_beta20250603-powerpc64le-unknown-linux-gnu.tar.xz 270326636 BLAKE2B c01f9247c88d6e932cc65bdfb9a3493f375732e6e4bd704b4dadd5d0bedce2342244b4ed9dcb85a070fce17b4cbaa6dc84cec4192e9c25b9e0a6387ab84af7f1 SHA512 5f86a5be80f5b1d6e37d37898405feaf653a7e6b66bf6a806daf6f34075bed921e195fb28f94cf8cd61511d63a0ff3c3608ca1ca63d45dc0536660c1e9461f39 -DIST rust-1.88.0_beta20250603-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B fd940fd445d12bdd5d4fd798657fb577b8f97d5b53ae5528a907a70d8167719716456260f326ad0391b33f3ba8bdd9ef233e55a381c474239841597100225442 SHA512 9f31ce8e5e420cd1b187b7d06fb5642d3a378b38f860adf5977e636cd1ed2eea707ede170ea04cc886758a22c2ee952e9458b7af79057d366d2cca7d528f3072 -DIST rust-1.88.0_beta20250603-riscv64gc-unknown-linux-gnu.tar.xz 250233700 BLAKE2B 94b9c69560cfe1b4701fbead77a4f4097d746a5cf5450d9d4d778ad20aea68356d35bd009e173e242c1ce128ab6b3088803b979d00ffdbaddd7af9974ab78255 SHA512 17e4841d5c422aeee0e781f915f53fdb662b80c1d5bac8f09dddfb3326014ba40c197cf2bb1fe78e6240971b77c1616eff8ff938139e5a5f666eafe8a2f6ce39 -DIST rust-1.88.0_beta20250603-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b05207a44c2e63a5cd2c2b66838d66f4dfc4c4de01a941e57545c97338f2c398b376b250fcec9f5fe61deee9bceace0799bad9aa23afa45f642d9e108a9eade9 SHA512 4eb7e2f03f49d1402d3374a46a27ca5970a317b7d2852f21db1a6fd2eb61669dbc78afb9a7eaf94334ad7e04c84c2d652295d83a76c0f45c29462815109cf9be -DIST rust-1.88.0_beta20250603-s390x-unknown-linux-gnu.tar.xz 239877008 BLAKE2B 88fe16423db102377051a5ff53a2dba758182f5c4e2376512b3006ee1cca22143f00e6454de006fd6fd59a1228b4cc6d4deb40846dbbfd733982549d50b96c2a SHA512 68fb9c5ada1247f047c2cd2ae42ccff8c66a512fd98fb5c509685a3bf58c5a728945154ecd1f21274515481413df229bfdea5279054e7180f1209f956227ae1c -DIST rust-1.88.0_beta20250603-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 267620d6a8819b9304018800699f06469b56a2f0ac7ff2eb5681c6b1b69342bf7c8f82352c40d5521f105e48322365d1c893537909fa31ea4aa7835d18d549ae SHA512 4e8859af0cb1382c8ee972e0aa5984192c9b11aa300771babc2154b790c2485de0d86623d77384426ac8503859e10d183c30dc2436b98610de0c3e25e5807fc5 -DIST rust-1.88.0_beta20250603-x86_64-unknown-linux-gnu.tar.xz 197138936 BLAKE2B 091052d9d50a8fa10ca8c97d02b52c2dbced7f3e983f57077c833991ebc9a13f001581bc75bb255ef3ee5cac8d7a49369739b05725acfb1b1ef69a0480c3579c SHA512 b01d0abb8cb9f8cc89588383d5b987141e0a4067ead1d373cf6c844f3dfaf043bd7e60ff44eea5f0b28be43a9f84b4348c514268e2e04ee3ae3890d265d0b23c -DIST rust-1.88.0_beta20250603-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 146997de22c3cc525a98474a8d362c7d834428285640cf1297362ebecb6289b2bcb48cf9e7f9bf1f67e690ff4155042047f583e692cc482897bb3ded12db96ee SHA512 5807a50f84d8b14e94b2e03b7b14a63ae12116359495523a8939be907bfcd1d106910a94f34a259edca62e7a1e0eab5454e9fabd617d651e70c109648ef1d7cc -DIST rust-1.88.0_beta20250603-x86_64-unknown-linux-musl.tar.xz 290897768 BLAKE2B 03ec29cfbc09cd4e7932b22818fd63c36b718513d8fa5f235cc2817d70ec1eec7489c6565c4cfe27f6c9758f83330b794094a033fe84850b2a537b0780bfdd31 SHA512 8d56a657f9b9093dedf01768f658d9179521aec9169b302df978795938d3757574237dfb963aa0a92b4cfa95b4406724bd845212199b42810239468eaf1e4daf -DIST rust-1.88.0_beta20250603-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B d73633555a7f696387c975143718c502be47753a617d4a1a9163899dacf804cc965e7e0bafd10f22c7da3bd34f4c704100e3ec1533118cd4bbd52c9ddb6599f4 SHA512 35537f1b005c453357dab4326767bd00cbd38e82d905f5b7dca53355f07f38b408efe8418401587695e36a5ee12e68846b90ba6f06157bb2d8b4297b504a7128 +DIST rust-1.88.0-aarch64-unknown-linux-gnu.tar.xz 165627944 BLAKE2B dc867d2f48c8642ccd5b19e36febbf624cd5c5ce7b64f04a76b1b0a105ea4a2fb8f34ef264295f2536506cb4a69a3499a7faa7f7df74e0eed340aba5abef7bf0 SHA512 c3e4b290c7faee847c9d0ca8c8bc039e0fa534bda4edcf6b285ce3162473171c2f4a39ff2b2180bddca4aac50d6a0e6af2d9ededc407ba38a17d17919dcefbd2 +DIST rust-1.88.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d8bb0addf2f137f2f5bec43aab2a664524eb463317ab4dfc2bbc5b557ca7f3904edd0d84b2c2693629f79a5de1456870d2e9331f0b4a4ef14800b085d0e62f29 SHA512 5c66ba1192bd3368eb0f263761f9e531743e48a4a3e841e6291af8d268e98f5cb525e1401554593f55c95ee5433a7790275e5c68f2d39ece8dce6d74ad60b18d +DIST rust-1.88.0-aarch64-unknown-linux-musl.tar.xz 243952520 BLAKE2B 08e42e767bf87dd1cac6143b6b7657983481155404bc4baad8213d367bc91dd136b463b2d2ac1aeef64a63493e34e13cd486a87200f7485bf1e8209892172feb SHA512 5822300291961965e7b65b0776b2ce04443ebe45363e32bbac840e154b2ba6f0726ccdff819f01fca42c338a4b42d75cea385a2ac402d10396ac92e9864b5fe3 +DIST rust-1.88.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 6677a02a17d831a1376e10ce96a0882645ea99201947b44f8205859d465ac5399eef45c5d1352381c553dddebb15e27466b22a1ae0bc31b5caf9c2482479c94e SHA512 10374492deef414c8f1a83a40114f62706e7cba3a042e83f98f16477fd80c15b2d4a986eb87dc820c6e314a9e775b853cf0d2b0254ac9ce9ef93ed666eaa887b +DIST rust-1.88.0-arm-unknown-linux-gnueabi.tar.xz 228820932 BLAKE2B b1baddba49ecdfb8407f2bd01a67bba1b3daebfd2d81d63eb130a0b28f21bd0800121a2ad2ef0ee55a06193d8f7271127b3026e957f3c9dda955854732631b9a SHA512 219c96cde3b11b24e9f6ab3da7268f512c6fcabae110764c81f8524605a3df164d4c2827dabd16488be861dc44a5870a98109f49bc2360fbc72a7f0d7ee865a1 +DIST rust-1.88.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 864dcd450c9d82f4c49183528cd87cafc8fb1c043736e8a1190cbcab563f8d7c04b9596ad2fff6040e0ba9a3d5eac2f180d3bca517af81ede929164f735ca3fe SHA512 2aaf761ea547f9da71583ca7be8ff17759c81dbabcfd1b24b32dd2962ab37883e881ac3057d7762321e5b25e756e64274e238e6a282b14bafeec7a9a7e25f188 +DIST rust-1.88.0-arm-unknown-linux-gnueabihf.tar.xz 229177148 BLAKE2B f3cf21d0ee57401e4cb1df2e70a6d0427ff4464fa3a686cea0f645247f7e9f9c3472d64dc64603b55056396dd9e208eecb286d6ee8e21fbea9f630c526b27191 SHA512 eca0dd5d36808f439445b0885407108dbc8281447c53343e9ce4aab87c4f9990acc398b22f3c615384417a3b7b6d7dc67cf8659e6c21cc88cf9f4fbf82c88027 +DIST rust-1.88.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 5e1fb7f89afff9efaa6b76311c7dd5faf9d5cfb50bf27825b7a60661d11440eee4330925a6c575a178476b5b7d3b554ca2b21cb6aacdaf2b61b219053cfd1794 SHA512 3c00bdb76f30b6b1341012ce4804c78a95f35d89bb9b4daf095a636639034420504b35ca642d7849647634d9dc36e7bdb6c47c943afb0cc2b065f4538d91c478 +DIST rust-1.88.0-armv7-unknown-linux-gnueabihf.tar.xz 234574328 BLAKE2B a26d5b3014ad6737da6f8541fdf52af08ab2fb8b2274d3d4251b5fb466ee0ca2a5e106a35484e36ea4b5390fae2f00bb9943e64be22f685318e08e9dbd4b5e65 SHA512 68567b6188cedcd05c775624c3ccae5e1ec6db36192dc9adb7d51ea7613b7c3ac9e2a26eff220aaf1aedcd5f6fc06c73d68715add20cd6eda7ce3b772b9e8a47 +DIST rust-1.88.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 45dcc99b29546f7e87b4c87800b467441b34777aa37f2d581ef56c841b5cff2076c164a3a3fe355a32638855efffb0ad2273c5b8fd6ccf7055190611c2c2c4a3 SHA512 0c411f0dee30aed1b99c5c33fcf2f43bfe11dfc0c52968802cd5b3e50127166b85cfc602483ab39456d77bafa35f6de1da88d254f997fc494756f83e0013cacc +DIST rust-1.88.0-i686-unknown-linux-gnu.tar.xz 261235476 BLAKE2B 5ff3f9167158844bc7d16324a282a84b9c2212ab87c794b9432457236cf32133c4c23418e38496d0d69edf6dd87673856690c23e7848ca33cd7e2913630fe4bd SHA512 ccf445c168da1a2fc9b2689632974714b0b609e66e55a8cb412549f08c04ae8d6ae0f2173f8a80cca6a45b76d5ae789dfca5eb2c83066e908442b7ff41a9ecf3 +DIST rust-1.88.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B dbcfa2e32906b07d4d9eb8d62af464f38c626d16b831e5d25fd9517f8f4e22ab60a2d6521f61ac3d36c0d9d6707a702ed3248fa0343462f62e1404574f83af9b SHA512 09f707dbed6f8d46872e4445e49c793a9f9cfedb71f3cc3b115b9447c7c4b86811081400bbf342c5a26b2f929738ffd9fb25f75ed1b13e333683ca6eedde430d +DIST rust-1.88.0-loongarch64-unknown-linux-gnu.tar.xz 261520268 BLAKE2B 23d53eecaa14898537cb3647cbff114870223173f4e50cbdc19a7514f34995196792b0390337ad53387a7bb515ec34330502acdc361826429b8f3985a9341c8a SHA512 6f4a040e22de950e975c29f16563f19030fab9fbe9476f55a4542c3ad9eaa9c34500cdd4344819b5cc27831b32811d25d296845fef01475224a2bfbae7ef9ce7 +DIST rust-1.88.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ad7b0c85d6ec2085e6005f0789b6eaa30af0fefbf6e621b58f470b916320141e78ec6e112a4bb69867417b69ef740bc033db65a2fd3f54e5cfacfae56b58b57f SHA512 0fb6caa3fa06a28fa1f3a3657df6c2c1d4d87db9a94a74b9ccab14418af7057f3be75ff33556507f48bcec2e648324bc1629ef94c8c57e5ca62b8a9fbc49c9c3 +DIST rust-1.88.0-powerpc-unknown-linux-gnu.tar.xz 255291852 BLAKE2B 4ef3d89f38bbbf12ef2ee190457f4ce96b5e60e02cc72a1e312a897c73fc28677277008f322381f7f084ae7d93671a9b3a46dc5e266a1b8c9987c780b26e61ac SHA512 f7100076968cbc4bf529ec2214f2ead865e87fc5e55f0a683ffa3034d3e31db0c9619fbcd9e854a7fba8d2e06732456edc59280bbd8de75e33df9897e65520d4 +DIST rust-1.88.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7bf2a3229c6ae8a718812edd41dd0ffdd61dc792801d365dbeb46d7ae32cf12ecc7210ae67ba19be35349a27d656fa76a887a5d91d8e2dcd12b93600635d67df SHA512 2940a66102c6dc33dab8d410884f7bad88589c8df45f361c4f10a9be8a15d896c91a45c95f4c9b5f23a9d696af343b64d056274816b2454acba3adf1eccc0780 +DIST rust-1.88.0-powerpc64-unknown-linux-gnu.tar.xz 255371956 BLAKE2B 45607ff673bab803e794a3ddb070de237e94eeda43ca5fe52c49d006db2789433dfe324f706bd57d82d14f18bea0bb02372e71593c0251420628f5edba9c0fde SHA512 55889385893cfd957d85376ff68a677dd70886476392bf8f4f8ff671777d0ea168491e4d778c88f40a9a06f68717887b8b0ff3dbb0a65b956a98aa00e6b81dba +DIST rust-1.88.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0625be465cbfdd2b73e73c8adf5ada2d7c0eaa4541f3735eec32d464cae44b475fa860cf126e433aa69a6f2de02d94af31bceae4ac23364ce394f34cf8f65586 SHA512 b25598551b7c0946adbd11ffdeb1761640f6bb255a9925cc734b4c12d82f666fc4344fdba9ab83fa63bdc82129dbc68df7ba125b8851238ca8558ca5de5c7dc5 +DIST rust-1.88.0-powerpc64le-unknown-linux-gnu.tar.xz 270351680 BLAKE2B 0b47e4e756d571232ec07d73fb99a2dd8e5542fa8d7046d565ed0277111ce07e5801815f2391fc0c19681f63b45e781c18d43a3fc818cc0352aee4c0a8da71fe SHA512 0e0d800f02bfebcc10792f71a48a7c70fe197bf965b5a055df07e54408e49a9cdee4dc744f4e06a2e400174265c833fbb4075f5a477508e72deacf48e955fdce +DIST rust-1.88.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B fdbf7a59a1a37c8ad09d0568e30487d01513734ae9bed276e3e3ba45cc0d39b14f958a377def77d9505e158d256780a7c1c936eaef40d7541279effa88f8c5e7 SHA512 1ccfe4f582783a80dc8bb0e50f5b782da661940930870c713ffd4a8ffed6df7e760829ee224e368bca583f611bdaad33eb46f3728fbe2b3062107510194671c9 +DIST rust-1.88.0-riscv64gc-unknown-linux-gnu.tar.xz 250151976 BLAKE2B 04b732c4d251af2d8279620a3a7da81a31161ec8f143396fc3cf39a5b6fa8dec5ff569253126b709a0ec147dfe7902a1748b313324173f0ef76ee89f54d1292c SHA512 389d92297915cce0155a8a96c0052df655768987fa1846e1e7f71a2f3da3e29e6b256f85f0d77f816b53cc33ddb7394f472f7ce92b81d40baad4c7fa0d2b2883 +DIST rust-1.88.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f3602574232fe5e0af2e21e2a3178a227070aca5163230ba2a229d7ca63a798f0fa8564d2b16fb912493ef1d8d925cee5a21448c69843411c0df65f4454ad716 SHA512 b3036020032c51e6b739475c4c2c21aaaa742018ee6cad2a0b7f7a6eff193977eb93450cba01a5ef6c436d6b4ba491c79787c980a465306f42c85ed0dcc034ff +DIST rust-1.88.0-s390x-unknown-linux-gnu.tar.xz 239909412 BLAKE2B e92e9f51f2af3c638b82fa8e7ed1c553b7f7537f32a67bd875ade77a04ba646e3b22a7ff88c28bdb3f02b6ddd753efa400962b4dbe36bda58ac5ae8326b9b35b SHA512 01d914bfcbfbe061ee2269445376112ca61fb87fff8acda07c3183aa051a50f270425d2a9761bf036a3d14c7b9cdabf392d3d532bce8a7e0d2ac9b5c22cc212e +DIST rust-1.88.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7a85b49f5e311bd3261ac0f6d967fe5505f73589c1d218481270adf00e72ee6bf57158d0da86f8289da7f4bce1452b3ba7447e1cf116175573eea8c07e58b0bd SHA512 349d119bbc4c12cc005e3ea9780b259413d93e4b052f5f7fc677a2e2bf71e7cbafa5db9770ed8378ec4a3053a2d590562c354c1db924247a74e20d1dcd4abdbe +DIST rust-1.88.0-x86_64-unknown-linux-gnu.tar.xz 197237052 BLAKE2B 5ce55a2b5faa41ccdb365764e1a3a10d46b385b678460de6dbaf3ef816e4f36164040070ef8c56183bdfe90389c1f81017bd7c411906d0a7b39899432f710e8d SHA512 ce97eb4697415bdb1fc33438ad62d9c410b00bfdb7c78c8c80e5887e6a23d3299302694918cbe259851c85b971f0ae3198ab6a89e26c94836a82bbf9e77cd80d +DIST rust-1.88.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d3bd096b1d1c7fce42f60cbd5f3b3a459c0063430366adc78c026a0159f379d2537d74d4f1fd768ea5b666a33cc28aa185a867aeed04ef1ae735a3eb794baa47 SHA512 62a5a9ffac0e95fbb547c504336b3aa160698e20b8ba322769c2233972c6ace48b2afdc42e84559b244099f9d8115cb96ba3c8f0923806559c53f80d3e248d04 +DIST rust-1.88.0-x86_64-unknown-linux-musl.tar.xz 291407088 BLAKE2B 17c8144b9acf12f190ed8bd3367a9602535ecea365a402e1248b26457f263103680b3d55d4b670aa381de816db76d263fa1c3d9715f60a3100c96765dac4d61d SHA512 d4da2f9cfeb50377616a48437ddab836717de94fc0362e6b8f4afcd7b4ca939be1c902db54b7204fb35863189e1f8b8d9b7bd4713e4e4729e42db9db2d249711 +DIST rust-1.88.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 31f344b4f8cb6beb58e2cbd62d7891abe764bb6a8a473b805ad55a7ef2b0952677e32481c22a2ec81146b61f74dafcbd384f629bdb7f7799ee642ce926f80953 SHA512 64824b1f927080e8272d29e4fee56e2237621a48b3178c2b4a5ae580519d1c954a85ce383232d0fcd98468a6530579353ae65f84b4205f90c4fc144188f3adb0 DIST rust-src-1.74.1.tar.xz 2544036 BLAKE2B d95431b69f102782f51878ff73ce8802cac6dab7909497c3231d1c479b95dc2a618cc6efd8bac9c6bd59a2b10dc6be05199f1e1bd74e45cc640ee52352c29268 SHA512 11467d0936193c5a5be8c2eba1aefe2b7028af48494698863de2c4057d68ce33dcee1fc66dc2d68b1d32f0202ce49e9b906727849de8f8d904dd07930e76d5a4 DIST rust-src-1.75.0.tar.xz 2570256 BLAKE2B 9db7ccff07ffe6991233e9f530321fd6ba48c561dcf1226537afa70c7d045421d8e83c5300b0866ec6fccfaae96dd67b9f204e9e0e12108c0c766d467cd78909 SHA512 e7565cea2f1658a05237a698e38880df2544319b41b6d8b0805db5f1f94fd3bb4f986967d0440fcdfe3a135e33246f3c747665b964f57ff5942f56133af78cdd DIST rust-src-1.76.0.tar.xz 2590884 BLAKE2B d1a6215dab34d7b10c3177d2b248f997d3a846388f3442567572880aa5c5bc51b56398f5d4dc32727cee7c9dbef494430d6534a76b66c4ae5ac4fed07266644d SHA512 39d2fe58fae8c8c5a6cb3fb1ef2a1c7548c018fef6ccea531659fdfecd68a4aa77125299d2cbe5b58e500337b4d074928318fa9ebce358af500d0ef27260e3ca @@ -623,5 +595,4 @@ DIST rust-src-1.85.0.tar.xz 3036988 BLAKE2B b7281b23eef60cf052e1641a29915c02c590 DIST rust-src-1.85.1.tar.xz 3036412 BLAKE2B f137ffcebd2d231d8b3dc5c9072f6afe39a071bc9608ac468bca364fafaa9c277b91e40da870a083c802cc13b9b876a548d7fa8ae67ad9552321a7412b7d8cd8 SHA512 d230cbb1daae3e2f5168abef94c5b99fb118c34a980f018d5df3e43f6ead4e0a17d6ea29bcfbcd0fb745e215f7a4d0282a99a714dba77b98a16254bb27c2d2ad DIST rust-src-1.86.0.tar.xz 3053544 BLAKE2B 2d1d8a4be4f9dc9355ce9a2d1599e0a57c5d1cb32f7b2eb413f6009dbce7d63db2533dc038cf50f5277a2d7bf4434f2076632c12a6fd33335ccf3a9f2ab685d1 SHA512 2818d94412bb0766ce53383932cd8ce96275a8e923f916c4bf7116fbcb7c2053cfb9714667add1a9d50b18366c973ba3ab4fe55d49c8abc8cc57656635c59f63 DIST rust-src-1.87.0.tar.xz 3119800 BLAKE2B 6429eb419f17109537a2a5463b0c68f504b3cb0f55766e18f73cf053883b06eedc934ab4598756790cec147ff41c4eb30a807d2ce0b7e6af33310710fdc5a8c1 SHA512 9747c60268d772b7c6e7694260c0808d2b8a42028f5606499c81595d76f5bc32c9acf6b4b9aad168235f8fd77d980c56bc4afc3d40f5d0374b23d3e66e3de390 -DIST rust-src-1.88.0_beta20250526.tar.xz 3154796 BLAKE2B 9c4cfd252edce814ce8621d189f3a4aa16ba7a350ae9d28644bf56daba8422e7e9bde63394d89870b94a021e55eeb1986d16d1b57afb8a8990e67ea7e175502e SHA512 c0e7185791433bf79db118d01476e28201970505adfebb425c86d1fac766c61ef57ae69aed34d538aee235e62cd5b00de882f04b36f1f227d64beb276915d053 -DIST rust-src-1.88.0_beta20250603.tar.xz 3154768 BLAKE2B 11dbb689364a67762299a5dbfd77d69f3d92166d19a3e14b1d411368bd52632da5244856aabc8b09380d9f569e9b0b42dbe140093b982663e70147e642b4f696 SHA512 ee5a73570fce94dd67c32dbed964c0358b26420dd213898cabf9d24e675d50f2cbb325f23c00f2aa0e53e587512f73d48561bfd3c0be8ff9f6cd941533db63ce +DIST rust-src-1.88.0.tar.xz 3155272 BLAKE2B bca923d2264337366b8013c45f3a40cbdfc1e1b746775161eaa66a1db653aa4ccb2a55980368ecf9808d6f4885194e2dfbf1f678d0500a43f7b2fcc0f79d27c8 SHA512 6dfe1fc3565927a9ac2ff9821ef3222cca170ff538833e1969ebe662af2cad5257c1ab3d82f5ca10aeaab40f54916a25dd96fd16449cd59e4d104b631911931b diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.88.0_beta20250526.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.88.0.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.88.0_beta20250526.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.88.0.ebuild index ef8fe8615c..5132ee797a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.88.0_beta20250526.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.88.0.ebuild @@ -21,10 +21,10 @@ elif [[ ${PV} == *beta* ]]; then " else # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src" - SRC_URI="$(rust_all_arch_uris "${PV}") - rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2025-01-30/rust-src-${PV}.tar.xz ) + SRC_URI="$(rust_all_arch_uris "rust-${PV}") + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2025-06-26/rust-src-${PV}.tar.xz ) " - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" fi GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash @@ -32,7 +32,7 @@ GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/$ DESCRIPTION="Systems programming language from Mozilla" HOMEPAGE="https://www.rust-lang.org/" -if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then +if [[ ${PV} != *9999* && ${PV} != *beta* ]] && false ; then # Keep this separate to allow easy commenting out if not yet built SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-sparc64-unknown-linux-gnu.tar.xz ) " SRC_URI+=" mips? ( diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.88.0_beta20250603.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.88.0_beta20250603.ebuild deleted file mode 100644 index ef8fe8615c..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.88.0_beta20250603.ebuild +++ /dev/null @@ -1,314 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( 20 ) -LLVM_OPTIONAL="yes" - -inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature - -if [[ ${PV} == *9999* ]]; then - # We need to fetch a tarball in src_unpack - PROPERTIES+=" live" -elif [[ ${PV} == *beta* ]]; then - # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep "xz_url.*rust-src" - betaver=${PV//*beta} - BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" - RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/ - SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV}) - rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz -> rust-src-${PV}.tar.xz ) - " -else - # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src" - SRC_URI="$(rust_all_arch_uris "${PV}") - rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2025-01-30/rust-src-${PV}.tar.xz ) - " - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi - -GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash - -DESCRIPTION="Systems programming language from Mozilla" -HOMEPAGE="https://www.rust-lang.org/" - -if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then - # Keep this separate to allow easy commenting out if not yet built - SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-sparc64-unknown-linux-gnu.tar.xz ) " - SRC_URI+=" mips? ( - abi_mips_o32? ( - big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips-unknown-linux-gnu.tar.xz ) - !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mipsel-unknown-linux-gnu.tar.xz ) - ) - abi_mips_n64? ( - big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64-unknown-linux-gnuabi64.tar.xz ) - !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64el-unknown-linux-gnuabi64.tar.xz ) - ) - )" - SRC_URI+=" riscv? ( - elibc_musl? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-riscv64gc-unknown-linux-musl.tar.xz ) - )" - SRC_URI+=" ppc64? ( elibc_musl? ( - big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64-unknown-linux-musl.tar.xz ) - !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64le-unknown-linux-musl.tar.xz ) - ) )" -fi - -LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" -SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable -IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" - -RDEPEND=" - >=app-eselect/eselect-rust-20190311 - dev-libs/openssl - sys-apps/lsb-release - || ( - llvm-runtimes/libgcc - sys-devel/gcc:* - ) - !dev-lang/rust:stable - !dev-lang/rust-bin:stable -" -BDEPEND=" - prefix? ( dev-util/patchelf ) - verify-sig? ( sec-keys/openpgp-keys-rust ) -" -[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl" - -REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" - -# stripping rust may break it (at least on x86_64) -# https://github.com/rust-lang/rust/issues/112286 -RESTRICT="strip" - -QA_PREBUILT=" - opt/rust-bin-${SLOT}/bin/.* - opt/rust-bin-${SLOT}/lib/.*.so* - opt/rust-bin-${SLOT}/libexec/.* - opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.* - opt/rust-bin-${SLOT}/lib/rustlib/.*/lib/.* -" - -# An rmeta file is custom binary format that contains the metadata for the crate. -# rmeta files do not support linking, since they do not contain compiled object files. -# so we can safely silence the warning for this QA check. -QA_EXECSTACK="opt/${PN}-${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta" - -VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" - -src_unpack() { - if [[ ${PV} == *9999* ]]; then - # We need to fetch the latest nightly listing and get the apprapriate src_uri for our arch - local rust_bin_url rustc_src_url - # Cut down on webrequests by fetching the nightly toml once - curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml > "${WORKDIR}/channel-rust-nightly.toml" || - die "Failed to fetch nightly revision info" - rustc_src_url=$(grep 'xz_url.*rust-src' "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) - rust_bin_url=$(grep "xz_url.*rust-nightly-$(rust_abi)" "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) - einfo "Using nightly Rust from: ${rust_bin_url}" - - if use rust-src; then - einfo "Using nightly Rust-src from: ${rustc_src_url}" - # We need to fetch the rust-src tarball - einfo "Fetching nightly rust-src tarball ..." - curl --progress-bar -L "${rustc_src_url}" -o "${WORKDIR}/rust-src-${PV}.tar.xz" || - die "Failed to fetch nightly rust-src tarball." - # no verify-sig here, just unpack it - tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die "Failed to unpack nightly rust-src tarball" - fi - - einfo "Fetching nightly Rust tarball ..." - curl --progress-bar -L "${rust_bin_url}" -O || die "Failed to fetch nightly tarball" - if use verify-sig; then - einfo "Fetching nightly signature ..." - curl --progress-bar -L "${rust_bin_url}.asc" -O || die "Failed to fetch nightly signature" - verify-sig_verify_detached "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" \ - "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz.asc" - fi - tar -xf "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" || die "Failed to unpack nightly tarball" - else - # sadly rust-src tarball does not have corresponding .asc file - # so do partial verification - if use verify-sig; then - for f in ${A}; do - if [[ -f ${DISTDIR}/${f}.asc ]]; then - verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" - fi - done - fi - - default_src_unpack - - fi - case ${PV} in - *9999*) - mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die - ;; - *beta*) - mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die - ;; - *) - mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die - ;; - esac -} - -patchelf_for_bin() { - local filetype=$(file -b ${1}) - if [[ ${filetype} == *ELF*interpreter* ]]; then - einfo "${1}'s interpreter changed" - patchelf ${1} --set-interpreter ${2} || die - elif [[ ${filetype} == *script* ]]; then - hprefixify ${1} - fi -} - -rust_native_abi_install() { - pushd "${S}" >/dev/null || die - local analysis="$(grep 'analysis' ./components || die "analysis not found in components")" - local std="$(grep 'std' ./components || die "std not found in components")" - local components=( "rustc" "cargo" "${std}" ) - use doc && components+=( "rust-docs" ) - use clippy && components+=( "clippy-preview" ) - use rustfmt && components+=( "rustfmt-preview" ) - use rust-analyzer && components+=( "rust-analyzer-preview" "${analysis}" ) - # Rust component 'rust-src' is extracted from separate archive - if use rust-src; then - einfo "Combining rust and rust-src installers" - case ${PV} in - *9999*) - mv -v "${WORKDIR}/rust-src-nightly/rust-src" "${S}" || die - ;; - *beta*) - mv -v "${WORKDIR}/rust-src-beta/rust-src" "${S}" || die - ;; - *) - mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die - ;; - esac - echo rust-src >> ./components || die - components+=( "rust-src" ) - fi - edo ./install.sh \ - --components="$(IFS=,; echo "${components[*]}")" \ - --disable-verify \ - --prefix="${ED}/opt/rust-bin-${SLOT}" \ - --mandir="${ED}/opt/rust-bin-${SLOT}/man" \ - --disable-ldconfig - - docompress /opt/${P}/man/ - - if use prefix; then - local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) - ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${SLOT}/bin" - find "${ED}/opt/${SLOT}/bin" -type f -print0 | \ - while IFS= read -r -d '' filename; do - patchelf_for_bin ${filename} ${interpreter} \; || die - done - eend $? - fi - - local symlinks=( - cargo - rustc - rustdoc - rust-gdb - rust-gdbgui - rust-lldb - ) - - use clippy && symlinks+=( clippy-driver cargo-clippy ) - use rustfmt && symlinks+=( rustfmt cargo-fmt ) - use rust-analyzer && symlinks+=( rust-analyzer ) - - einfo "installing eselect-rust symlinks and paths" - local i - for i in "${symlinks[@]}"; do - # we need realpath on /usr/bin/* symlink return version-appended binary path. - # so /usr/bin/rustc should point to /opt/rust-bin-/bin/rustc- - local ver_i="${i}-bin-${SLOT}" - ln -v "${ED}/opt/rust-bin-${SLOT}/bin/${i}" "${ED}/opt/rust-bin-${SLOT}/bin/${ver_i}" || die - dosym -r "/opt/rust-bin-${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" - done - - # symlinks to switch components to active rust in eselect - dosym -r "/opt/rust-bin-${SLOT}/lib" "/usr/lib/rust/lib-bin-${SLOT}" - dosym -r "/opt/rust-bin-${SLOT}/man" "/usr/lib/rust/man-bin-${SLOT}" - dosym -r "/opt/rust-bin-${SLOT}/lib/rustlib" "/usr/lib/rustlib-bin-${SLOT}" - dosym -r "/opt/rust-bin-${SLOT}/share/doc/rust" "/usr/share/doc/rust-bin-${SLOT}" - - # make all capital underscored variable - local CARGO_TRIPLET="$(rust_abi)" - CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" - CARGO_TRIPLET="${CARGO_TRIPLET^^}" - cat <<-_EOF_ > "${T}/50${P}" - MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${SLOT}" - $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") - _EOF_ - doenvd "${T}/50${P}" - - # note: eselect-rust adds EROOT to all paths below - cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" - /usr/bin/cargo - /usr/bin/rustdoc - /usr/bin/rust-gdb - /usr/bin/rust-gdbgui - /usr/bin/rust-lldb - /usr/lib/rustlib - /usr/lib/rust/lib - /usr/lib/rust/man - /usr/share/doc/rust - _EOF_ - - if use clippy; then - echo /usr/bin/clippy-driver >> "${T}/provider-${PN}-${SLOT}" - echo /usr/bin/cargo-clippy >> "${T}/provider-${PN}-${SLOT}" - fi - if use rustfmt; then - echo /usr/bin/rustfmt >> "${T}/provider-${PN}-${SLOT}" - echo /usr/bin/cargo-fmt >> "${T}/provider-${PN}-${SLOT}" - fi - if use rust-analyzer; then - echo /usr/bin/rust-analyzer >> "${T}/provider-${PN}-${SLOT}" - fi - - insinto /etc/env.d/rust - doins "${T}/provider-${PN}-${SLOT}" - popd >/dev/null || die -} - -multilib_src_install() { - if multilib_is_native_abi; then - rust_native_abi_install - else - local rust_target - rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" - dodir "/opt/${P}/lib/rustlib" - cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ - "${ED}/opt/${P}/lib/rustlib" || die - fi - - # BUG: installs x86_64 binary on other arches - rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die -} - -pkg_postinst() { - eselect rust update - - if has_version dev-debug/gdb || has_version llvm-core/lldb; then - elog "Rust installs helper scripts for calling GDB and LLDB," - elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." - fi - - if has_version app-editors/emacs; then - optfeature "emacs support for rust" app-emacs/rust-mode - fi - - if has_version app-editors/gvim || has_version app-editors/vim; then - optfeature "vim support for rust" app-vim/rust-vim - fi -} - -pkg_postrm() { - eselect rust cleanup -} From 59648c2ecc8403d8f424dc116460f80f6eb4d75b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:46 +0000 Subject: [PATCH 029/131] dev-lang/rust-common: Sync with Gentoo It's from Gentoo commit 19b38cbcae05ad27257c878dc5aa9631f93abe3d. --- .../dev-lang/rust-common/Manifest | 6 +- ...50526.ebuild => rust-common-1.88.0.ebuild} | 0 .../rust-common-1.88.0_beta20250603.ebuild | 73 ------------------- 3 files changed, 2 insertions(+), 77 deletions(-) rename sdk_container/src/third_party/portage-stable/dev-lang/rust-common/{rust-common-1.88.0_beta20250526.ebuild => rust-common-1.88.0.ebuild} (100%) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.88.0_beta20250603.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/Manifest index d3114e8f0b..c474e60ada 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/Manifest @@ -12,7 +12,5 @@ DIST rustc-1.86.0-src.tar.xz 275696736 BLAKE2B 9f33a710a3e567d92f56091920643f5ef DIST rustc-1.86.0-src.tar.xz.asc 801 BLAKE2B 3e10a3894c7eee68d37bc5707d797548119f830667e27e652a199d13633199713bd01bd0f41a5f2af3c682561903e36abe27b36ef78d9a1d65bdf485527d2c15 SHA512 0b74dab9ee56d0a08e26e9cd40f722e4d99de63ac678f969f0c54d50737074fb28e170db5a36ce2627ec332e5ce3bb8a92167aefbccff7c70e4cb057bc0a94ac DIST rustc-1.87.0-src.tar.xz 283604208 BLAKE2B 7ede723121ff8df3908674631ceaec75797d91ccd6f1df4afd7187878adbb8d99c9e8a3b11c6027703b2e8d06785299d93d8649f3eda7f356dd2a6734d99d05b SHA512 2ef08c9be45434401f916d54b3739f52d255f8a3a4ce05a717499250c2333eeaf601f1d18085b878c027c609f44da74d0151f5bfc2c9ae1e01166919a91a1d2b DIST rustc-1.87.0-src.tar.xz.asc 801 BLAKE2B c9740c03baedcd70defba3fd37831692adaf0e984ef6b11d259244330d044fcacf935e6dd76caf126848da0c40f38e5368c60e8aabed5d3c2655a61fdbdc7564 SHA512 ebc13374381839a997c63455b733fd2a7960b4fd497f19c29be948cce8bb59a31ddda5da54ca154c16f7de43dd1bacd6c6bd76f3b6b36c5b43f4cfaf1746b952 -DIST rustc-1.88.0_beta20250526-src.tar.xz 283223628 BLAKE2B 1c21853c0b7edcafd87713823888e04d336fb9c6cd373aa05218ae5d1ddc9c68b18c06dc27d059542ddfe91c0eb04cf523e4b3621b9bbbfad5d2f82e8d1cad1e SHA512 28f64ae8b1e907f7c4044d8a0148286f6e202677417ac3b4f2ce24ee9dba34369ba18d39e443cb982ee5f3b8afd94530580a62b8f5d5473954e976708f002357 -DIST rustc-1.88.0_beta20250526-src.tar.xz.asc 801 BLAKE2B a412d72e4e0f273f03f3fee41abe1aeda03f77339891469e994f3a6bde0cd3836a1da087d908e732e90cd3285743a4a3c728c718ad1dda5daf7cca9de3be2c52 SHA512 45f208555f8b2fd3b21ac4cdc8fd7a110dc53fedbbe8d11542f105c5c8657a628309c8ff4520eb2c740cf3e784bfea0f21832b71b19a356b1b99fc7d0f04f607 -DIST rustc-1.88.0_beta20250603-src.tar.xz 283255312 BLAKE2B 5b46509c46c4fbb10c4b3cee3edf9a1428c4b0f54d8f4d6a042e9776e05242988c933a90654538cf9806c4d1ee1c01ff3ecdcb1711fd7240cacbf5cbeff9a96b SHA512 ebc5f2175fc7ac8b89ee68d3089272ea444cfa9375a13c989c64a267b050c1065eaa124263b440ba6513a4b6ba4c8efbf58f3a78b4d94bd0e658dfab5ca0a8e5 -DIST rustc-1.88.0_beta20250603-src.tar.xz.asc 801 BLAKE2B 426fe3cf64ecbc5564feeb1c2c784b98d4aa71184006b1430c86d1b98f91592e850feefa0f6e91142f1b5c227556041cd32628aed7bacd43dddd252dc111b73f SHA512 ba4336934071fff1d9abe44d50fced7bd2fd1f6a5c116b8d17312d6ec5d143664fb570fba90f6cf417c5220cd9f42b2bb1695d73e915451b1dd2f726a451c7ec +DIST rustc-1.88.0-src.tar.xz 283294344 BLAKE2B fc17efbc8b2e54f2da61384097dcb3b8f595f27f7853f56cef034913f6b46a718113af0fe66f0e3b0afd184ec506b35f3b74172926cf727ddc061f567d54fa4c SHA512 e6c62af2953f49462b2369e9551b12f2bec114577f90e3e76049636da4279b1e7f4d53bc6896f5d0d4715d90ef6d29dacff529a45690ffac6af62ad64600db40 +DIST rustc-1.88.0-src.tar.xz.asc 801 BLAKE2B 858e987ad1fc49c1e1cbc5ea709f835c60fce907e89205e431c843bfad97dc0ccbcf399fc7d87319b8455561cbc24020bd88cb572cbe932cb8b80a8adec39687 SHA512 64ab398dc602fed3ad7bf232249e80cc0a9831aa90c7eb37658f7dc5b2af04ee391f9633aae7a1d90f743d019cec531318384f71384ecbe4f6169e6e88b7ba0e diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.88.0_beta20250526.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.88.0.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.88.0_beta20250526.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.88.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.88.0_beta20250603.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.88.0_beta20250603.ebuild deleted file mode 100644 index 26c4792d0f..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.88.0_beta20250603.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# 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/rust.asc -inherit shell-completion verify-sig - -DESCRIPTION="Common files shared between multiple slots of Rust" -HOMEPAGE="https://www.rust-lang.org/" - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - # In case cargo is not in sync we'll fetch it as a submodule - # Nightly users will probably already have the repo cloned and up-to-date anyway. - EGIT_REPO_URI="https://github.com/rust-lang/rust.git" - EGIT_SUBMODULES=( "-*" "src/tools/cargo" ) -elif [[ ${PV} == *beta* ]]; then - # Identify the snapshot date of the beta release: - # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz - MY_PV=beta - betaver=${PV//*beta} - BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" - SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz - verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc - -> rustc-${PV}-src.tar.xz.asc ) - " - S="${WORKDIR}/rustc-${MY_PV}-src" -else - MY_PV=${PV} - SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz - verify-sig? ( https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz.asc ) - " - S="${WORKDIR}/rustc-${MY_PV}-src" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" -SLOT="0" - -# Legacy non-slotted versions bash completions will collide. -RDEPEND=" - !dev-lang/rust:stable - !dev-lang/rust-bin:stable -" -BDEPEND="verify-sig? ( sec-keys/openpgp-keys-rust )" - -src_unpack() { - if [[ ${PV} == *9999* ]]; then - git-r3_src_unpack - else - if use verify-sig ; then - verify-sig_verify_detached "${DISTDIR}"/rustc-${PV}-src.tar.xz "${DISTDIR}"/rustc-${PV}-src.tar.xz.asc - fi - - # Avoid unpacking the whole tarball which would need check-reqs - tar -xf "${DISTDIR}"/rustc-${PV}-src.tar.xz \ - "rustc-${MY_PV}-src/src/tools/cargo/src/etc/"{_cargo,cargo.bashcomp.sh} || die - fi -} - -src_configure() { - : -} - -src_compile() { - : -} - -src_install() { - newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo - dozshcomp src/tools/cargo/src/etc/_cargo -} From f7f0a4b68cb4198ceb0a224327de2235627e7e33 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:49 +0000 Subject: [PATCH 030/131] dev-libs/cowsql: Sync with Gentoo It's from Gentoo commit 938edbd0f61d2d0d9444528bb9d75029d4661ab3. --- .../portage-stable/dev-libs/cowsql/Manifest | 1 - .../dev-libs/cowsql/cowsql-1.15.7-r1.ebuild | 53 ------------------ .../dev-libs/cowsql/cowsql-1.15.7-r2.ebuild | 56 ------------------- 3 files changed, 110 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/cowsql/cowsql-1.15.7-r1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/cowsql/cowsql-1.15.7-r2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/Manifest index 47eaa5c54f..4f7fbaeb9d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/Manifest @@ -1,2 +1 @@ -DIST cowsql-1.15.7.tar.gz 364592 BLAKE2B d3cd4e399d029c63743cee081cd32c19fe364f4dd093c40f62162a2387a9a0da956b19f2f75dc9e556e18c8d957edcbee5c9fe449e3ba9961eb556cdc981a6e5 SHA512 d01fe084d911f13be4d21997f3ec4ba1b11d15198dbad404d55962abd4924dcc95d48eb7d8d94d3f65c512194d25acf761954994c5ffece78a27eff438441fda DIST cowsql-1.15.8.tar.gz 364600 BLAKE2B 14fcc1a77351e433962aa4ccde671ee11839f2a69606d5b130f5fe168012ee39dba254f23fb338e246f5215bb15c1e14958818d71008bb03afac7fea8733efec SHA512 3946433897efb190edec4d6900d7bdc40d3b25c07d732526b7d83fe2c38269a5525c6e9d352f017709ecf2a9e6ea908462b1b31fe31b4d02699a89834f3f3ce3 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/cowsql-1.15.7-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/cowsql-1.15.7-r1.ebuild deleted file mode 100644 index 60060425c8..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/cowsql-1.15.7-r1.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 2020-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools - -DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine (fork of dqlite)" -HOMEPAGE="https://cowsql.dev/ https://github.com/cowsql/cowsql" -SRC_URI="https://github.com/cowsql/cowsql/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="LGPL-3-with-linking-exception" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~x86" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND="dev-db/sqlite:3 - =dev-libs/libuv-1.50*:= - >=dev-libs/raft-0.18.1:=" -DEPEND="${RDEPEND} - test? ( dev-libs/raft[lz4,test] )" -BDEPEND="virtual/pkgconfig" - -PATCHES=( "${FILESDIR}"/dqlite-1.12.0-disable-werror.patch ) - -src_prepare() { - default - eautoreconf -} - -src_configure() { - local myeconfargs=( - --disable-backtrace - --disable-debug - --disable-sanitize - --disable-static - - # Will build a bundled libsqlite3.so. - --enable-build-sqlite=no - ) - - econf "${myeconfargs[@]}" -} - -src_test() { - default -} - -src_install() { - default - find "${ED}" -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/cowsql-1.15.7-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/cowsql-1.15.7-r2.ebuild deleted file mode 100644 index 577cc7b107..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/cowsql-1.15.7-r2.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 2020-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools - -DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine (fork of dqlite)" -HOMEPAGE="https://cowsql.dev/ https://github.com/cowsql/cowsql" -SRC_URI="https://github.com/cowsql/cowsql/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="LGPL-3-with-linking-exception" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND="dev-db/sqlite:3 - dev-libs/libuv:= - >=dev-libs/raft-0.18.1:=" -DEPEND="${RDEPEND} - test? ( dev-libs/raft[lz4,test] )" -BDEPEND="virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/dqlite-1.12.0-disable-werror.patch - "${FILESDIR}"/0001-src-lib-serialize.h-don-t-define-double-as-float_t.patch -) - -src_prepare() { - default - eautoreconf -} - -src_configure() { - local myeconfargs=( - --disable-backtrace - --disable-debug - --disable-sanitize - --disable-static - - # Will build a bundled libsqlite3.so. - --enable-build-sqlite=no - ) - - econf "${myeconfargs[@]}" -} - -src_test() { - default -} - -src_install() { - default - find "${ED}" -name '*.la' -delete || die -} From 25004a300e5ffbd32424d4377a74cc156cc52dd8 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:51 +0000 Subject: [PATCH 031/131] dev-libs/elfutils: Sync with Gentoo It's from Gentoo commit 27b0aa3636b03ae359b4fc1c68e80530e896f290. --- .../portage-stable/dev-libs/elfutils/elfutils-0.193.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193.ebuild index 1ad8bec40d..bc0984e338 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193.ebuild @@ -21,7 +21,7 @@ else SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2" SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.sig )" - 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" BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-elfutils-20240301 )" fi From d010ff365b997ffa53a116ead07fb9059fd55dc7 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:52 +0000 Subject: [PATCH 032/131] dev-libs/glib: Sync with Gentoo It's from Gentoo commit 18861f783b8ffe1a55f3aba11d4fb6f5f2033f21. --- .../third_party/portage-stable/dev-libs/glib/glib-2.84.3.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.3.ebuild index 0d8b582cdb..99992e2b37 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.3.ebuild @@ -22,7 +22,7 @@ INTROSPECTION_BUILD_DIR="${WORKDIR}/${INTROSPECTION_P}-build" LICENSE="LGPL-2.1+" SLOT="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="dbus debug +elf doc +introspection +mime selinux static-libs sysprof systemtap test utils xattr" RESTRICT="!test? ( test )" From 6538d8c86ef0a58358d9f976446657503d9cd0c4 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:53 +0000 Subject: [PATCH 033/131] dev-libs/gobject-introspection-common: Sync with Gentoo It's from Gentoo commit ab8d951692fa7321246294a45bbbbff2cbaf4cee. --- .../gobject-introspection-common-1.84.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/gobject-introspection-common-1.84.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/gobject-introspection-common-1.84.0.ebuild index ac499b93ce..5257f8070c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/gobject-introspection-common-1.84.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/gobject-introspection-common-1.84.0.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="https://gi.readthedocs.io/" 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 ~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" RDEPEND="!<${CATEGORY}/${GNOME_ORG_MODULE}-${PV}" # Use !<${PV} because mixing gobject-introspection with different version of -common can cause issues like: From 4801e4bcd4f93021a795726f21b6b75e8b5df573 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:54 +0000 Subject: [PATCH 034/131] dev-libs/jansson: Sync with Gentoo It's from Gentoo commit 18f5ec5c90995bd640a24d9975ce223d56aea711. --- .../portage-stable/dev-libs/jansson/jansson-2.14.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/jansson/jansson-2.14.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/jansson/jansson-2.14.1.ebuild index bba913be16..3ffd0049bf 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/jansson/jansson-2.14.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/jansson/jansson-2.14.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/akheron/jansson/releases/download/v${PV}/${P}.tar.bz LICENSE="MIT" SLOT="0/4" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" IUSE="doc static-libs" BDEPEND=" From 79091f797441ab166d65f9d06fc1cb3a41a67830 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:07:54 +0000 Subject: [PATCH 035/131] dev-libs/json-c: Sync with Gentoo It's from Gentoo commit cf7e79a152bf94c77fb5bd517564686ecef4b7c0. --- .../dev-libs/json-c/files/0.18.0-cmake4.patch | 25 +++++++++++++++++++ .../dev-libs/json-c/json-c-0.18.ebuild | 2 ++ .../dev-libs/json-c/json-c-9999.ebuild | 2 ++ 3 files changed, 29 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/0.18.0-cmake4.patch diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/0.18.0-cmake4.patch b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/0.18.0-cmake4.patch new file mode 100644 index 0000000000..28aa10cf72 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/0.18.0-cmake4.patch @@ -0,0 +1,25 @@ + +From: https://github.com/json-c/json-c/pull/888 +Bug: https://bugs.gentoo.org/958972 + +From 42864e12b0d7af01b1cf989d6da9e9a4477775a1 Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Fri, 28 Mar 2025 23:14:48 +1100 +Subject: [PATCH] Allow build with cmake 4.0.0 + +Update the min version to match parent CMakeLists.txt 3.9...3.12 +--- + apps/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt +index f7c9dec633..ef2271d131 100644 +--- a/apps/CMakeLists.txt ++++ b/apps/CMakeLists.txt +@@ -1,5 +1,5 @@ + +-cmake_minimum_required(VERSION 2.8) # see ../CMakeLists.txt for why 2.8 ++cmake_minimum_required(VERSION 3.9...3.12) + + if(POLICY CMP0075) + cmake_policy(SET CMP0075 NEW) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.18.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.18.ebuild index 997463b972..2d6a867e1b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.18.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.18.ebuild @@ -30,6 +30,8 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/json-c/config.h ) +PATCHES=( "${FILESDIR}/0.18.0-cmake4.patch" ) + multilib_src_configure() { # Tests use Valgrind automagically otherwise (bug #927027) export USE_VALGRIND=0 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-9999.ebuild index 95c54f504c..10b5af025f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-9999.ebuild @@ -30,6 +30,8 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/json-c/config.h ) +PATCHES=( "${FILESDIR}/0.18.0-cmake4.patch" ) + multilib_src_configure() { # Tests use Valgrind automagically otherwise (bug #927027) export USE_VALGRIND=0 From 921301f2a668d544547b83dd9d31b615858d01ff Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:00 +0000 Subject: [PATCH 036/131] dev-libs/libffi: Sync with Gentoo It's from Gentoo commit ebada0b019fa7cfe4e550af2c2c128b8f2bdde85. --- .../files/libffi-3.4.8-powerpc-closures.patch | 38 +++++++ .../dev-libs/libffi/libffi-3.4.8-r3.ebuild | 100 ++++++++++++++++++ 2 files changed, 138 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libffi/files/libffi-3.4.8-powerpc-closures.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.4.8-r3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/files/libffi-3.4.8-powerpc-closures.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/files/libffi-3.4.8-powerpc-closures.patch new file mode 100644 index 0000000000..00d0e553f8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/files/libffi-3.4.8-powerpc-closures.patch @@ -0,0 +1,38 @@ +https://github.com/libffi/libffi/issues/900 + +https://github.com/php/php-src/issues/18881 + +From aea22de28ec92a69cab9198de479263fe8b1a637 Mon Sep 17 00:00:00 2001 +From: Peter Bergner +Date: Fri, 18 Apr 2025 10:09:45 -0500 +Subject: [PATCH] powerpc: Fix closures on powerpc64-linux when statically + linking (#900) (#902) + +Closures on powerpc64-linux using static trampolines do not work when +statically linking libffi. The problem is the usage of tramp_globals.text +in libffi assumes it contains the entry point address of the first trampoline. +Powerpc's ffi_tramp_arch code returns &trampoline_code_table which for ABIs +that use function descriptors, ends up returning trampoline_code_table's +function descriptor address instead of its entry point address. Update +the code to always return the entry point address for all ABIs. +--- + src/powerpc/ffi.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/powerpc/ffi.c b/src/powerpc/ffi.c +index 0a9774165..3601cc4ab 100644 +--- a/src/powerpc/ffi.c ++++ b/src/powerpc/ffi.c +@@ -183,6 +183,12 @@ ffi_tramp_arch (size_t *tramp_size, size_t *map_size) + extern void *trampoline_code_table; + *tramp_size = PPC_TRAMP_SIZE; + *map_size = PPC_TRAMP_MAP_SIZE; ++#if defined (_CALL_AIX) || _CALL_ELF == 1 ++ /* The caller wants the entry point address of the trampoline code, ++ not the address of the function descriptor. */ ++ return *(void **)trampoline_code_table; ++#else + return &trampoline_code_table; ++#endif + } + #endif diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.4.8-r3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.4.8-r3.ebuild new file mode 100644 index 0000000000..0384626a0c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.4.8-r3.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dot-a multilib-minimal preserve-libs + +MY_PV=${PV/_rc/-rc} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="Portable, high level programming interface to various calling conventions" +HOMEPAGE="https://sourceware.org/libffi/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/libffi/libffi" + inherit autotools git-r3 +else + inherit libtool + SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz" + + 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 + +S="${WORKDIR}"/${MY_P} + +LICENSE="MIT" +# This is a core package which is depended on by e.g. Python. +# Please use preserve-libs.eclass in pkg_{pre,post}inst to cover users +# with FEATURES="-preserved-libs" or another package manager if SONAME changes. +SLOT="0/8" # SONAME=libffi.so.8 +IUSE="debug +exec-static-trampoline pax-kernel static-libs test" + +RESTRICT="!test? ( test )" +BDEPEND="test? ( dev-util/dejagnu )" + +PATCHES=( + "${FILESDIR}"/${PN}-3.4.8-pa-add-.note.GNU-stack-marker-to-linux.S.patch + "${FILESDIR}"/${PN}-3.4.8-powerpc-closures.patch +) + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + else + elibtoolize + fi + + if [[ ${CHOST} == arm64-*-darwin* ]] ; then + # ensure we use aarch64 asm, not x86 on arm64 + sed -i -e 's/aarch64\*-\*-\*/arm64*-*-*|&/' \ + configure configure.host || die + fi +} + +src_configure() { + use static-libs && lto-guarantee-fat + multilib-minimal_src_configure +} + +multilib_src_configure() { + # --includedir= path maintains a few properties: + # 1. have stable name across libffi versions: some packages like + # dev-lang/ghc or kde-frameworks/networkmanager-qt embed + # ${includedir} at build-time. Don't require those to be + # rebuilt unless SONAME changes. bug #695788 + # + # We use /usr/.../${PN} (instead of former /usr/.../${P}). + # + # 2. have ${ABI}-specific location as ffi.h is target-dependent. + # + # We use /usr/$(get_libdir)/... to have ABI identifier. + ECONF_SOURCE="${S}" econf \ + --includedir="${EPREFIX}"/usr/$(get_libdir)/${PN}/include \ + --disable-multi-os-directory \ + --with-pic \ + $(use_enable static-libs static) \ + $(use_enable exec-static-trampoline exec-static-tramp) \ + $(use_enable pax-kernel pax_emutramp) \ + $(use_enable debug) +} + +multilib_src_test() { + emake -Onone check +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -name "*.la" -delete || die + strip-lto-bytecode +} + +pkg_preinst() { + preserve_old_lib /usr/$(get_libdir)/libffi.so.7 +} + +pkg_postinst() { + preserve_old_lib_notify /usr/$(get_libdir)/libffi.so.7 +} From 99ca804723cd6103919e51c61f7cb45d31b38140 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:00 +0000 Subject: [PATCH 037/131] dev-libs/libgcrypt: Sync with Gentoo It's from Gentoo commit 4029c1fa0a02ffeb9a4bf71601a85707d6538469. --- .../portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.1.ebuild index 5b9e38f6da..b199ba6b54 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.1.ebuild @@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="LGPL-2.1+ GPL-2+ MIT" SLOT="0/20" # subslot = soname major version -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="+asm doc +getentropy static-libs" IUSE+=" cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_arm_sve" IUSE+=" cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3" From 81378ac5dea4b6e3d24c8e9bdeeee42a73f314da Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:04 +0000 Subject: [PATCH 038/131] dev-libs/libp11: Sync with Gentoo It's from Gentoo commit dcee2c46d8624397530cac61791abe883864deee. --- .../src/third_party/portage-stable/dev-libs/libp11/Manifest | 2 +- .../libp11/{libp11-0.4.14.ebuild => libp11-0.4.16.ebuild} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename sdk_container/src/third_party/portage-stable/dev-libs/libp11/{libp11-0.4.14.ebuild => libp11-0.4.16.ebuild} (100%) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libp11/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libp11/Manifest index 36c2ea83f9..df7fe707e7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libp11/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libp11/Manifest @@ -1,3 +1,3 @@ DIST libp11-0.4.12.tar.gz 516414 BLAKE2B a816749984753a1916dd58860c51b49d316946b59eb3bc839f6a21dcff14de48d7a4937f55fc7ad96a26b914591854d5cf11a1fbac2d5f2f5e04c833973c0e42 SHA512 674cfca2c9eaf162262204c94f9d59d3095dabbc348c1842e758b897e1a5bd4ba08b2d589ec3b2a2d1343a8760eab253e7008dc09ef5b499e2f16385efe5c8cc DIST libp11-0.4.13.tar.gz 531147 BLAKE2B ea31e56966cc22e6a6dad2d4923bd89ad110f537172af1dca912d8449df8a6a118ceca45912e7c3d38979dd3e591a9fb110091fd5474b41d6159d489b7c9ba37 SHA512 7936e5e3e37b424caff2ce95b416e67d6bf082676c5a3efb23651d414eacdbdbc1f5e11b05097b500a9d0ca5a97e628f54dd7d1e5ba2a7b5e3a36b3b7b75b5ed -DIST libp11-0.4.14.tar.gz 572770 BLAKE2B faa1d3ace7c820d8cbc0bc0451a6c2578bc5cffd64d9f60b29cce2a58a2bcf7b26060abca257eafce9397a2504f5779767713426f397882e906928d4762f9e57 SHA512 747400fcc07d5ebd336247e4d0b2e496aa6f3ffb0077a87513dca016494c64af275aa5e6c37bfa0b39d820700e861a2eea440b0fb983f2fb2b19ef47e2653e28 +DIST libp11-0.4.16.tar.gz 561088 BLAKE2B a6fd869ac18aba2dfce5d4c0d135b2e90b337f53300ee0b4042d669c15e4849788a0e2a7b6aa7f463bbeb7ade7a45d79a9dc4ba52e4b2ff7a02fe2ad5f7a0866 SHA512 91248a39b30fc032079441506b49cfe1a8784b2cc4dd795a7633694d9e292dbf1075244366227d3924692d58129eecabae3e62ec006838bb1ac8942a4aed236b diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libp11/libp11-0.4.14.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libp11/libp11-0.4.16.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-libs/libp11/libp11-0.4.14.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/libp11/libp11-0.4.16.ebuild From 2f1ff30c91a42d057d2ee155de6e9e9bc2e39d18 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:08 +0000 Subject: [PATCH 039/131] dev-libs/libtracefs: Sync with Gentoo It's from Gentoo commit de50f663421b2fa6c2f76a12ce086b2cb612e9cf. --- .../portage-stable/dev-libs/libtracefs/libtracefs-1.8.2.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index c54a5d09c9..2a5f2f4476 100644 --- 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 @@ -13,7 +13,7 @@ if [[ ${PV} =~ [9]{4,} ]]; then 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" + KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv x86" fi LICENSE="LGPL-2.1" From 0c141686cf175e0833ad8e3b8da02297e022ffa5 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:08 +0000 Subject: [PATCH 040/131] dev-libs/libunistring: Sync with Gentoo It's from Gentoo commit fe42d8d659c9fdf0089be2ed5110ac02e3620bea. --- .../dev-libs/libunistring/libunistring-1.2.ebuild | 4 ++-- .../dev-libs/libunistring/libunistring-1.3.ebuild | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.2.ebuild index 5a7bef5f88..6abe3b5cff 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.2.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 @@ -12,7 +12,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" LICENSE="|| ( LGPL-3+ GPL-2+ ) || ( FDL-1.2 GPL-3+ )" # Check regularly even on "minor" bumps SLOT="0/5" -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="doc static-libs" QA_CONFIG_IMPL_DECL_SKIP=( diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.3.ebuild index 4274250915..923121637c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.3.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 @@ -12,7 +12,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" LICENSE="|| ( LGPL-3+ GPL-2+ ) || ( FDL-1.2 GPL-3+ )" # Check regularly even on "minor" bumps SLOT="0/5" -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="doc static-libs" QA_CONFIG_IMPL_DECL_SKIP=( From 1dd158cecb87315135d8ca120cb73a0698bff0ed Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:09 +0000 Subject: [PATCH 041/131] dev-libs/libuv: Sync with Gentoo It's from Gentoo commit 0ee6730338df1a80fc86594980d8d1923cde4ed1. --- .../portage-stable/dev-libs/libuv/libuv-1.51.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0.ebuild index 77403add9d..119f34e05a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0.ebuild @@ -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 From 299769f033f474606f3dca07ea2043721130a9ff Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:11 +0000 Subject: [PATCH 042/131] dev-libs/libxml2: Sync with Gentoo It's from Gentoo commit 3aa722d388017616ac06d54065a3d11acf42c32c. --- .../portage-stable/dev-libs/libxml2/Manifest | 2 +- .../files/libxml2-2.13.8-CVE-2025-6021.patch | 57 ++++++ .../libxml2/files/libxml2-2.14.4-cmake.patch | 66 ++++++ .../dev-libs/libxml2/libxml2-2.13.8-r1.ebuild | 191 ++++++++++++++++++ .../dev-libs/libxml2/libxml2-2.13.8.ebuild | 2 +- .../dev-libs/libxml2/libxml2-2.14.4-r1.ebuild | 184 +++++++++++++++++ ...l2-2.14.3.ebuild => libxml2-2.14.4.ebuild} | 0 7 files changed, 500 insertions(+), 2 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.13.8-CVE-2025-6021.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.14.4-cmake.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.8-r1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.14.4-r1.ebuild rename sdk_container/src/third_party/portage-stable/dev-libs/libxml2/{libxml2-2.14.3.ebuild => libxml2-2.14.4.ebuild} (100%) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest index 5db23366b7..5df8ded35f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest @@ -1,6 +1,6 @@ DIST libxml2-2.13.7.tar.xz 2424236 BLAKE2B 464097c4b579f964a42909e26b3c2702d7b40c3029628c8980a1ea7a43867dda3c4bdf38b63557f971b20b125a5fc0ac7031bad5df10b1bc25380e995f7707b4 SHA512 6e69ed38cdf2aaa5df7e26b654a7aadd2d80131619184380bafc6a22811acb6b7286c819175c3b37edb194019a93ba6085852a0281934d6bb36d0b52ce138541 DIST libxml2-2.13.8.tar.xz 2423128 BLAKE2B 9abe12acb2b619f8649dc4472c39d4c59074a83538bf1a534163737bf9e99e6387fec53404392c325102da1e77f53606f2679c47b7136d7f7541a8fcc6bcd995 SHA512 668e556404693f17e074bc31e2caa5e50bf003ee3cd81b61a51ea25e76efd7eff7ec70ff603eed87b9d9e9b2299673e6e8871798264113e660e703b74b58458f -DIST libxml2-2.14.3.tar.xz 2325052 BLAKE2B 25ad281925dee3aa032f9ce5c71bebfdfeb3469351eebdcede01c81978ddc411376f2a13b82d207614857b385ca7d589708c3437ad3effd5bc425d7e6b515cf2 SHA512 0efdd42c5fe0160a91945fdbe3193937ee799965e0ac19bd091e1a56e63a36dfc585bd9afee83af330b7d93914e5bd28cf4914246802565dd758a6edd80b1bf7 +DIST libxml2-2.14.4.tar.xz 2325848 BLAKE2B 6ee7e4f35e6f15124fe1ceb55758236229f87e05344c55e82c419f8e8dba763adbd25746c038d13189dfadc3bb023fd8891251e78e9c9046d42961829d93b885 SHA512 5991223bdd6c84886bba8fb81c4e48bf92c8bc3571262ffa8c7673a10efeebceafc1dee362624417dca146982d030ee8d0ccda41f4c82d3074845f74ef6da5d4 DIST xmlts20130923.tar.gz 641522 BLAKE2B 63a47bc69278ef510cd0b3779aed729e1b309e30efa0015d28ed051cc03f9dfddb447ab57b07b3393e8f47393d15473b0e199c34cb1f5f746b15ddfaa55670be SHA512 d5c4d26b324ed21f4e0641cd7f8b76dbf9de80df8b519982e44d41c960df29fd03618e02e9693b2d11ad06d19c4a965274c95a048ec3b9653eacb919a7f8b733 DIST xsts-2002-01-16.tar.gz 6894439 BLAKE2B 1e9ec63d2c104655e64249e07440a04d862fcbcd4d4e19745d81b34994319b510a531c9d6df1491fae1e90b5d0764f0f1a827251ca8df5d613178b0eab01ef25 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288 DIST xsts-2004-01-14.tar.gz 2761085 BLAKE2B 41545995fb3a65d053257c376c07d45ffd1041a433bfbdb46d4dd87a5afb60c18c8629a3d988323f9e7a1d709775b5a7e5930276a7121c0725a22705c0976e36 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.13.8-CVE-2025-6021.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.13.8-CVE-2025-6021.patch new file mode 100644 index 0000000000..8c5e83e680 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.13.8-CVE-2025-6021.patch @@ -0,0 +1,57 @@ +From ebe46ba82340cea8f030e0c0b3bb89aabad83674 Mon Sep 17 00:00:00 2001 +Message-ID: +From: Nick Wellnhofer +Date: Tue, 27 May 2025 12:53:17 +0200 +Subject: [PATCH] tree: Fix integer overflow in xmlBuildQName + +This issue affects memory safety and might receive a CVE ID later. + +Fixes #926. + +(cherry picked from commit acbbeef9f5dcdcc901c5f3fa14d583ef8cfd22f0) +--- + tree.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/tree.c b/tree.c +index f097cf87..76112e22 100644 +--- a/tree.c ++++ b/tree.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + #include + + #ifdef LIBXML_ZLIB_ENABLED +@@ -167,10 +168,10 @@ xmlGetParameterEntityFromDtd(const xmlDtd *dtd, const xmlChar *name) { + xmlChar * + xmlBuildQName(const xmlChar *ncname, const xmlChar *prefix, + xmlChar *memory, int len) { +- int lenn, lenp; ++ size_t lenn, lenp; + xmlChar *ret; + +- if (ncname == NULL) return(NULL); ++ if ((ncname == NULL) || (len < 0)) return(NULL); + if (prefix == NULL) return((xmlChar *) ncname); + + #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION +@@ -181,8 +182,10 @@ xmlBuildQName(const xmlChar *ncname, const xmlChar *prefix, + + lenn = strlen((char *) ncname); + lenp = strlen((char *) prefix); ++ if (lenn >= SIZE_MAX - lenp - 1) ++ return(NULL); + +- if ((memory == NULL) || (len < lenn + lenp + 2)) { ++ if ((memory == NULL) || ((size_t) len < lenn + lenp + 2)) { + ret = (xmlChar *) xmlMallocAtomic(lenn + lenp + 2); + if (ret == NULL) + return(NULL); + +base-commit: 3a1c25f5e7bbf8180690cf5c4c5a9fc1caf55c62 +-- +2.50.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.14.4-cmake.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.14.4-cmake.patch new file mode 100644 index 0000000000..b047fba3d5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.14.4-cmake.patch @@ -0,0 +1,66 @@ +https://gitlab.gnome.org/GNOME/libxml2/-/commit/5700d989cc18889e1601c651ad69a41af8b32073 +https://gitlab.gnome.org/GNOME/libxml2/-/commit/d3e33dc214276498e73b61188be02b2863c9670a + +From 5700d989cc18889e1601c651ad69a41af8b32073 Mon Sep 17 00:00:00 2001 +From: Markus Rickert +Date: Wed, 18 Jun 2025 13:48:55 +0200 +Subject: [PATCH] Fix CMake iconv handling after change to private dependency + +--- + CMakeLists.txt | 2 +- + libxml2-config.cmake.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e136f2167..b952d7bfa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -354,7 +354,7 @@ if(WIN32) + endif() + + if(LIBXML2_WITH_ICONV) +- target_link_libraries(LibXml2 PUBLIC Iconv::Iconv) ++ target_link_libraries(LibXml2 PRIVATE Iconv::Iconv) + if(NOT Iconv_IS_BUILT_IN) + set(ICONV_LIBS "-liconv") + endif() +diff --git a/libxml2-config.cmake.in b/libxml2-config.cmake.in +index e040a759b..3ce7ef43f 100644 +--- a/libxml2-config.cmake.in ++++ b/libxml2-config.cmake.in +@@ -56,7 +56,7 @@ if(NOT LIBXML2_SHARED) + if(LIBXML2_WITH_ICONV) + find_dependency(Iconv) + list(APPEND LIBXML2_LIBRARIES ${Iconv_LIBRARIES}) +- list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "Iconv::Iconv") ++ list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$") + if(NOT Iconv_FOUND) + set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Iconv dependency was not found") +-- +GitLab + +From d3e33dc214276498e73b61188be02b2863c9670a Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer +Date: Fri, 20 Jun 2025 11:20:34 +0200 +Subject: [PATCH] cmake: Add missing endif() in libxml2-config.cmake.in + +Regressed with 28ccdaf9. +--- + libxml2-config.cmake.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libxml2-config.cmake.in b/libxml2-config.cmake.in +index 3ce7ef43f..bd971e081 100644 +--- a/libxml2-config.cmake.in ++++ b/libxml2-config.cmake.in +@@ -119,6 +119,7 @@ if(NOT LIBXML2_SHARED) + if(LIBXML2_WITH_HTTP) + list(APPEND LIBXML2_LIBRARIES ws2_32) + list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$") ++ endif() + endif() + endif() + +-- +GitLab diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.8-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.8-r1.ebuild new file mode 100644 index 0000000000..bf99e8749a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.8-r1.ebuild @@ -0,0 +1,191 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Note: Please bump in sync with dev-libs/libxslt + +PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_REQ_USE="xml(+)" +inherit autotools python-r1 multilib-minimal + +XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite" +XSTS_NAME_1="xmlschema2002-01-16" +XSTS_NAME_2="xmlschema2004-01-14" +XSTS_TARBALL_1="xsts-2002-01-16.tar.gz" +XSTS_TARBALL_2="xsts-2004-01-14.tar.gz" +XMLCONF_TARBALL="xmlts20130923.tar.gz" + +DESCRIPTION="XML C parser and toolkit" +HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2" + inherit 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" +fi + +SRC_URI+=" + test? ( + ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1} + ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2} + https://www.w3.org/XML/Test/${XMLCONF_TARBALL} + ) +" +S="${WORKDIR}/${PN}-${PV%_rc*}" + +LICENSE="MIT" +SLOT="2" +IUSE="examples icu lzma +python readline static-libs test" +RESTRICT="!test? ( test )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + virtual/libiconv + >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}] + icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] ) + python? ( ${PYTHON_DEPS} ) + readline? ( sys-libs/readline:= ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +if [[ ${PV} == 9999 ]] ; then + BDEPEND+=" dev-build/gtk-doc-am" +fi + +MULTILIB_CHOST_TOOLS=( + /usr/bin/xml2-config +) + +PATCHES=( + "${FILESDIR}"/${PN}-2.12.9-icu-pkgconfig.patch + "${FILESDIR}"/${PN}-2.13.8-CVE-2025-6021.patch +) + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + else + local tarname=${P/_rc/-rc}.tar.xz + + # ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR}, + # as they are needed as tarballs in ${S}/xstc instead and not unpacked + unpack ${tarname} + + if [[ -n ${PATCHSET_VERSION} ]] ; then + unpack ${PN}-${PATCHSET_VERSION}.tar.xz + fi + fi + + cd "${S}" || die + + if use test ; then + cp "${DISTDIR}/${XSTS_TARBALL_1}" \ + "${DISTDIR}/${XSTS_TARBALL_2}" \ + "${S}"/xstc/ \ + || die "Failed to install test tarballs" + unpack ${XMLCONF_TARBALL} + fi +} + +src_prepare() { + default + + # Please do not remove, as else we get references to PORTAGE_TMPDIR + # in /usr/lib/python?.?/site-packages/libxml2mod.la among things. + #elibtoolize + + eautoreconf +} + +multilib_src_configure() { + libxml2_configure() { + ECONF_SOURCE="${S}" econf \ + $(use_with icu) \ + $(use_with lzma) \ + $(use_enable static-libs static) \ + $(multilib_native_use_with readline) \ + $(multilib_native_use_with readline history) \ + --with-legacy \ + "$@" + } + + # Build python bindings separately + libxml2_configure --without-python + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_configure --with-python +} + +libxml2_py_emake() { + pushd "${BUILD_DIR}"/python >/dev/null || die + + emake top_builddir="${NATIVE_BUILD_DIR}" "$@" + + popd >/dev/null || die +} + +multilib_src_compile() { + default + + if multilib_is_native_abi && use python ; then + NATIVE_BUILD_DIR="${BUILD_DIR}" + python_foreach_impl run_in_build_dir libxml2_py_emake all + fi +} + +multilib_src_test() { + ln -s "${S}"/xmlconf || die + + emake check + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_py_emake check +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install + + # Hack until automake release is made for the optimise fix + # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097 + multilib_is_native_abi && use python && python_foreach_impl python_optimize +} + +multilib_src_install_all() { + einstalldocs + + if ! use examples ; then + rm -rf "${ED}"/usr/share/doc/${PF}/examples || die + rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die + fi + + rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not + # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887. + if [[ -n "${ROOT}" ]]; then + elog "Skipping XML catalog creation for stage building (bug #208887)." + else + # Need an XML catalog, so no-one writes to a non-existent one + CATALOG="${EROOT}/etc/xml/catalog" + + # We don't want to clobber an existing catalog though, + # only ensure that one is there + # + if [[ ! -e "${CATALOG}" ]]; then + [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml" + "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}" + einfo "Created XML catalog in ${CATALOG}" + fi + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.8.ebuild index 677cbccf38..0b52015688 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.8.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/libxml2/libxml2-2.14.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.14.4-r1.ebuild new file mode 100644 index 0000000000..f8c49ee9c2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.14.4-r1.ebuild @@ -0,0 +1,184 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Note: Please bump in sync with dev-libs/libxslt + +PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_REQ_USE="xml(+)" +inherit python-r1 meson-multilib + +XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite" +XSTS_NAME_1="xmlschema2002-01-16" +XSTS_NAME_2="xmlschema2004-01-14" +XSTS_TARBALL_1="xsts-2002-01-16.tar.gz" +XSTS_TARBALL_2="xsts-2004-01-14.tar.gz" +XMLCONF_TARBALL="xmlts20130923.tar.gz" + +DESCRIPTION="XML C parser and toolkit" +HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2" + inherit 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" +fi + +SRC_URI+=" + test? ( + ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1} + ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2} + https://www.w3.org/XML/Test/${XMLCONF_TARBALL} + ) +" +S="${WORKDIR}/${PN}-${PV%_rc*}" + +LICENSE="MIT" +# see so_version = v_maj + v_min_compat for subslot +SLOT="2/16" +IUSE="icu +python readline static-libs test" +RESTRICT="!test? ( test )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + virtual/libiconv + >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}] + icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] ) + python? ( ${PYTHON_DEPS} ) + readline? ( sys-libs/readline:= ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/xml2-config +) + +PATCHES=( + "${FILESDIR}"/libxml2-2.14.2-no-git.patch + "${FILESDIR}"/libxml2-2.14.4-cmake.patch +) + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + else + local tarname=${P/_rc/-rc}.tar.xz + + # ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR}, + # as they are needed as tarballs in ${S}/xstc instead and not unpacked + unpack ${tarname} + + if [[ -n ${PATCHSET_VERSION} ]] ; then + unpack ${PN}-${PATCHSET_VERSION}.tar.xz + fi + fi + + cd "${S}" || die + + if use test ; then + cp "${DISTDIR}/${XSTS_TARBALL_1}" \ + "${DISTDIR}/${XSTS_TARBALL_2}" \ + "${S}"/xstc/ \ + || die "Failed to install test tarballs" + unpack ${XMLCONF_TARBALL} + fi +} + +src_prepare() { + default + + sed -e "/^dir_doc/ s/meson.project_name()$/\'${PF}\'/" -i meson.build || die +} + +python_configure() { + local emesonargs=( + $(meson_feature icu) + $(meson_native_use_feature readline) + $(meson_native_use_feature readline history) + -Dpython=enabled + ) + mkdir "${BUILD_DIR}" || die + pushd "${BUILD_DIR}" >/dev/null || die + meson_src_configure + popd >/dev/null || die +} + +multilib_src_configure() { + local emesonargs=( + -Ddefault_library=$(multilib_native_usex static-libs both shared) + $(meson_feature icu) + $(meson_native_use_feature readline) + $(meson_native_use_feature readline history) + -Dpython=disabled + + # There has been a clean break with a soname bump. + # It's time to deal with the breakage. + # bug #935452 + -Dlegacy=disabled + ) + meson_src_configure + + if multilib_is_native_abi && use python ; then + python_foreach_impl python_configure + fi +} + +python_compile() { + pushd "${BUILD_DIR}" >/dev/null || die + meson_src_compile + popd >/dev/null || die +} + +multilib_src_compile() { + meson_src_compile + + if multilib_is_native_abi && use python ; then + python_foreach_impl python_compile + fi +} + +multilib_src_test() { + meson_src_test + + if multilib_is_native_abi && use python ; then + python_foreach_impl meson_src_test + fi +} + +python_install() { + pushd "${BUILD_DIR}" >/dev/null || die + meson_src_install + python_optimize + popd >/dev/null || die +} + +multilib_src_install() { + if multilib_is_native_abi && use python ; then + python_foreach_impl python_install + fi + + meson_src_install +} + +pkg_postinst() { + # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not + # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887. + if [[ -n "${ROOT}" ]]; then + elog "Skipping XML catalog creation for stage building (bug #208887)." + else + # Need an XML catalog, so no-one writes to a non-existent one + CATALOG="${EROOT}/etc/xml/catalog" + + # We don't want to clobber an existing catalog though, + # only ensure that one is there + # + if [[ ! -e "${CATALOG}" ]]; then + [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml" + "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}" + einfo "Created XML catalog in ${CATALOG}" + fi + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.14.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.14.4.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.14.3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.14.4.ebuild From b46e7179c6e5b4519d2da37d35591e2a213745eb Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:16 +0000 Subject: [PATCH 043/131] dev-libs/nettle: Sync with Gentoo It's from Gentoo commit 8699b7cb457359c12fd881b161d7dd9583b57145. --- .../portage-stable/dev-libs/nettle/Manifest | 2 + .../dev-libs/nettle/nettle-3.10.1.ebuild | 2 +- .../dev-libs/nettle/nettle-3.10.2.ebuild | 94 +++++++++++++++++++ 3 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nettle/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/Manifest index 4a30b452cd..d41c8f14f5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/nettle/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/Manifest @@ -1,2 +1,4 @@ DIST nettle-3.10.1.tar.gz 2643267 BLAKE2B da2e82e647904e855a0e0bd1efee3b610b33de1a722f5d652deeca083d1983c5ee66754233a0917d3bb91bb5a527a3e80cd5fe18f7c25986076b2388910995b5 SHA512 e8673bbcde9cde859ccae75ed6c9c30591e68a995a7c6d724106cfd67a5a5bd45b3468d742443b6565628849d0fd29505a28ca5ee4e89dd13197cdb51429f96c DIST nettle-3.10.1.tar.gz.sig 374 BLAKE2B 1264636002893e80e3001035ce2f17a3e0077405b74050752f1901abc44c882d2be643823d3476282a8dc78bfe3f19cda75d86e00f58dbb546e4347c59cc0963 SHA512 d074a921df31070a6e6562a9f7e213e67b8e6ce331e2683e8180f387aca92058a5fe8610800817a0aa5098b47176dfcb42b52d617648c84cc6262a09ef557eb8 +DIST nettle-3.10.2.tar.gz 2644644 BLAKE2B 2bcd54c97d793238a9c6527f0ba4851dd9e5b53c80abc1ed012ef53e9dbed1fc47c474ca7c29a2c0a989830e45f85eb61db4752dd8b8487cffc8559f43788c89 SHA512 bf37ddd7dca8e78488da2a5286dcf16761d527d620572b42f2ad27bb8ee8c12999d92b0272e06f53766e7155a3f4a1ab7ad9c4b1c3caec47c031878b6b1772fb +DIST nettle-3.10.2.tar.gz.sig 374 BLAKE2B 4060a6c7910c69be185191443c400135882171cc6679f2f9fcc9efd8e8d5ab8bca967085352f14096416479d190d1d27a1343d72e0436344574a88158d825d7d SHA512 82d82ba83b65b191d0ad9af24603df8dbc1b4172118618be66c267e51bad470d902e7194de1948e3570f144e0021afb7ddfb81badbe71fd57999d3d3227f0d39 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.1.ebuild index aacb9dc63a..14c8f41fc2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.1.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="https://www.lysator.liu.se/~nisse/nettle/ https://git.lysator.liu.se/n SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.gz.sig )" -LICENSE="|| ( LGPL-3 LGPL-2.1 )" +LICENSE="|| ( GPL-2+ LGPL-3+ )" # Subslot = libnettle - libhogweed soname version SLOT="0/8-6" 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" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.2.ebuild new file mode 100644 index 0000000000..9cc1bab040 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.2.ebuild @@ -0,0 +1,94 @@ +# 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/nettle.asc +inherit multilib-build multilib-minimal toolchain-funcs verify-sig flag-o-matic + +DESCRIPTION="Low-level cryptographic library" +HOMEPAGE="https://www.lysator.liu.se/~nisse/nettle/ https://git.lysator.liu.se/nettle/nettle" +SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" +SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.gz.sig )" + +LICENSE="|| ( GPL-2+ LGPL-3+ )" +# Subslot = libnettle - libhogweed soname version +SLOT="0/8-6" +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="+asm doc +gmp static-libs cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_sha cpu_flags_x86_pclmul" +# The arm64 crypto option controls AES, SHA1, and SHA2 usage. +REQUIRED_USE=" + cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 ) + cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 ) + cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 ) +" + +DEPEND="gmp? ( >=dev-libs/gmp-6.1:=[static-libs?,${MULTILIB_USEDEP}] )" +RDEPEND="${DEPEND}" +BDEPEND=" + sys-devel/m4 + doc? ( sys-apps/texinfo ) + verify-sig? ( >=sec-keys/openpgp-keys-nettle-20250628 ) +" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/nettle/version.h +) + +DOCS=() +HTML_DOCS=() + +src_prepare() { + default + + # I do not see in config.sub reference to sunldsolaris. + # if someone complains readd + # -e 's/solaris\*)/sunldsolaris*)/' \ + sed -e '/CFLAGS=/s: -ggdb3::' \ + -i configure.ac configure || die + + if use doc ; then + DOCS+=( nettle.pdf ) + HTML_DOCS+=( nettle.html ) + fi +} + +multilib_src_configure() { + # We don't want to run Valgrind within ebuilds, it often gets + # confused by sandbox, etc. + export nettle_cv_prog_valgrind=no + + use elibc_musl && append-cppflags -D__GNU_LIBRARY__ #945970 + + # TODO: USE=debug w/ --enable-extra-asserts? + local myeconfargs=( + CC_FOR_BUILD="$(tc-getBUILD_CC)" + + $(tc-is-static-only && echo --disable-shared) + + # Intrinsics + $(use_enable cpu_flags_arm_neon arm-neon) + $(use_enable cpu_flags_arm_aes arm64-crypto) + $(use_enable cpu_flags_ppc_altivec power-altivec) + $(use_enable cpu_flags_ppc_vsx2 power-crypto-ext) + $(use_enable cpu_flags_ppc_vsx3 power9) + $(use_enable cpu_flags_x86_aes x86-aesni) + $(use_enable cpu_flags_x86_sha x86-sha-ni) + $(use_enable cpu_flags_x86_pclmul x86-pclmul) + $([[ ${CHOST} == *-solaris* ]] && echo '--disable-symbol-versions') + # TODO: cpu_flags_s390? + --disable-s390x-vf + --disable-s390x-msa + + $(use_enable asm assembler) + $(multilib_native_use_enable doc documentation) + $(use_enable gmp public-key) + $(use_enable static-libs static) + --disable-fat + + # openssl is just used for benchmarks (bug #427526) + --disable-openssl + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} From 87040dccc124cd9790a658d0b25127eefe826994 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:18 +0000 Subject: [PATCH 044/131] dev-libs/opensc: Sync with Gentoo It's from Gentoo commit 044be4606188db0a7b8c0c61adcb6e7bfd4af04c. --- .../portage-stable/dev-libs/opensc/opensc-0.26.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.26.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.26.1.ebuild index 737d99a6e8..cc5a5067f3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.26.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.26.1.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]]; then EGIT_REPO_URI="https://github.com/OpenSC/OpenSC.git" else SRC_URI="https://github.com/OpenSC/OpenSC/releases/download/${PV}/${P}.tar.gz" - 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 LICENSE="LGPL-2.1+ BSD" From aabb71b5ac14a6e878ef0fca613012447b1c7c2b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:18 +0000 Subject: [PATCH 045/131] dev-libs/openssl: Sync with Gentoo It's from Gentoo commit 8bf8390ac8f2f58fdb4bcb9a44b29dc866165b98. --- .../portage-stable/dev-libs/openssl/openssl-3.4.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.1.ebuild index 41de3131f2..8326ed6c8c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.1.ebuild @@ -27,7 +27,7 @@ else " if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )" From ed04f17a051240308f2210850a4c3abd8bd7129e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:20 +0000 Subject: [PATCH 046/131] dev-libs/protobuf: Sync with Gentoo It's from Gentoo commit 675ee675f9ac182486d6ae145cd88d6d375720dc. --- .../portage-stable/dev-libs/protobuf/protobuf-25.6.ebuild | 2 +- .../portage-stable/dev-libs/protobuf/protobuf-27.5.ebuild | 7 ++++++- .../portage-stable/dev-libs/protobuf/protobuf-28.0.ebuild | 7 ++++++- .../portage-stable/dev-libs/protobuf/protobuf-29.4.ebuild | 7 ++++++- .../portage-stable/dev-libs/protobuf/protobuf-30.2.ebuild | 7 ++++++- .../portage-stable/dev-libs/protobuf/protobuf-31.1.ebuild | 7 ++++++- 6 files changed, 31 insertions(+), 6 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.6.ebuild index fcac9b8ecb..1024552e92 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.6.ebuild @@ -19,7 +19,7 @@ if [[ "${PV}" == *9999 ]]; then inherit git-r3 else SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" SLOT="0/$(ver_cut 1-2).0" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.5.ebuild index 3c5e730191..16f078b651 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.5.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit cmake-multilib elisp-common multilib +inherit cmake-multilib dot-a elisp-common multilib # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules ABSEIL_BRANCH="lts_2023_08_02" @@ -76,6 +76,10 @@ src_prepare() { } multilib_src_configure() { + # Currently, the only static library is libupb (and there is no + # USE=static-libs), so optimize away the fat-lto build time penalty. + use libupb && lto-guarantee-fat + local mycmakeargs=( -Dprotobuf_ABSL_PROVIDER="package" -Dprotobuf_JSONCPP_PROVIDER="package" @@ -135,6 +139,7 @@ src_test() { } multilib_src_install_all() { + use libupb && strip-lto-bytecode find "${ED}" -name "*.la" -delete || die if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${SLOT#*/})" ]]; then diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-28.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-28.0.ebuild index 2621d4f7ba..432576d639 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-28.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-28.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit cmake-multilib elisp-common multilib +inherit cmake-multilib dot-a elisp-common multilib # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules ABSEIL_BRANCH="lts_2023_08_02" @@ -78,6 +78,10 @@ src_prepare() { } multilib_src_configure() { + # Currently, the only static library is libupb (and there is no + # USE=static-libs), so optimize away the fat-lto build time penalty. + use libupb && lto-guarantee-fat + local mycmakeargs=( -Dprotobuf_ABSL_PROVIDER="package" -Dprotobuf_JSONCPP_PROVIDER="package" @@ -138,6 +142,7 @@ src_test() { } multilib_src_install_all() { + use libupb && strip-lto-bytecode find "${ED}" -name "*.la" -delete || die if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${SLOT#*/})" ]]; then diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-29.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-29.4.ebuild index 1d23dc9b0c..ea46bda564 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-29.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-29.4.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit cmake-multilib elisp-common multilib +inherit cmake-multilib dot-a elisp-common multilib # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules ABSEIL_BRANCH="lts_2023_08_02" @@ -80,6 +80,10 @@ src_prepare() { } multilib_src_configure() { + # Currently, the only static library is libupb (and there is no + # USE=static-libs), so optimize away the fat-lto build time penalty. + use libupb && lto-guarantee-fat + local mycmakeargs=( -Dprotobuf_ABSL_PROVIDER="package" -Dprotobuf_JSONCPP_PROVIDER="package" @@ -147,6 +151,7 @@ src_test() { } multilib_src_install_all() { + use libupb && strip-lto-bytecode find "${ED}" -name "*.la" -delete || die if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${SLOT#*/})" ]]; then diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-30.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-30.2.ebuild index 4b1ed75bf6..7f6d90ae59 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-30.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-30.2.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit cmake-multilib elisp-common multilib +inherit cmake-multilib dot-a elisp-common multilib # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/cmake/dependencies.cmake ABSEIL_MIN_VER="20250127.0" @@ -77,6 +77,10 @@ src_prepare() { } multilib_src_configure() { + # Currently, the only static library is libupb (and there is no + # USE=static-libs), so optimize away the fat-lto build time penalty. + use libupb && lto-guarantee-fat + local mycmakeargs=( -Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")" -Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)" @@ -143,6 +147,7 @@ src_test() { } multilib_src_install_all() { + use libupb && strip-lto-bytecode find "${ED}" -name "*.la" -delete || die if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname "${SLOT#*/}")" ]]; then diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-31.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-31.1.ebuild index 71bf1e316d..dbfa1f7872 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-31.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-31.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit cmake-multilib elisp-common multilib +inherit cmake-multilib dot-a elisp-common multilib # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/cmake/dependencies.cmake ABSEIL_MIN_VER="20250127.0" @@ -77,6 +77,10 @@ src_prepare() { } multilib_src_configure() { + # Currently, the only static library is libupb (and there is no + # USE=static-libs), so optimize away the fat-lto build time penalty. + use libupb && lto-guarantee-fat + local mycmakeargs=( -Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")" -Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)" @@ -143,6 +147,7 @@ src_test() { } multilib_src_install_all() { + use libupb && strip-lto-bytecode find "${ED}" -name "*.la" -delete || die if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname "${SLOT#*/}")" ]]; then From 274a88ca51b0e456995757b59d4779ea66d28e33 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:23 +0000 Subject: [PATCH 047/131] dev-libs/tree-sitter-bash: Sync with Gentoo It's from Gentoo commit 63718b808c7fbb7c9bf6236df52984d35f09f197. --- .../dev-libs/tree-sitter-bash/Manifest | 2 -- .../tree-sitter-bash-0.23.1.ebuild | 15 --------------- .../tree-sitter-bash-0.23.2.ebuild | 15 --------------- 3 files changed, 32 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/Manifest index 0da2ce39c3..85b81b75ee 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/Manifest @@ -1,5 +1,3 @@ DIST tree-sitter-bash-0.21.0.tar.gz 557096 BLAKE2B bfbdb4db0f75c292567043a47d32e26c6ec119ed70fa9b77675eb57e686c072315fc114befecc430730c8eec20238544d13836402f2264a1b6657e0387d4987c SHA512 9585ea80f85bc7010444a91142bc943486ade68982c7ca367a6cbe65619af2bdaa1acd8b6ee698cdf74b84d62a7f44acc4676ddb4b6007035eb9eea4768f122d -DIST tree-sitter-bash-0.23.1.tar.gz 542859 BLAKE2B fbcc788a241b740e128d1ac7dac6292411121c67239c2656a74514f016b89882e4bd6371fc287b9d94b4b78f2b8e968ba3029de67e1c307e99ecce95bfe83dc5 SHA512 1ab59105a5f0a74a17b415420fb8da072cdd2765f776a4f1b0297ca4a4637055d625753c502b96928e9cdf56fd9f175589da4acdeb338daa9113df94c4aa6581 -DIST tree-sitter-bash-0.23.2.tar.gz 544189 BLAKE2B 71e5baa9f51ddb41324be09355fbcc62d559e7eee7c473d190842ddb72d18915f05e4b87d7443119e10edb365a01992d4622710190c33e9ebf2ce47ec4d95502 SHA512 522ca01f823103283a3edcba6d400e118e7ddd452e1b94378feb7c5b3a708b90d55f98c65a4c0af9c89d70878ad595c7f1bbf41197a5367423f894b4fd37bff0 DIST tree-sitter-bash-0.23.3.tar.gz 544232 BLAKE2B a7f2b8e73fcf99f29771e2952b10cd5679ee35cd1b98a2f59acf6e6110d4aafc900b4b5d53d43f1cc78dbdfc3ca376b1ff34bec79cffd81efbb1b8950efc96c0 SHA512 4882f12aed6dc73f15c0452af38ad400ab0fe386eb33aa61b3c7133fc86d48fff4f0a29302cb5c3ced55eddb2fd65d39414585833cad59a02e98417ef5aac1ba DIST tree-sitter-bash-0.25.0.tar.gz 550233 BLAKE2B 813b89d9c16a06bf392159b29267383682bc0af053ea24695574b6ca60621725c7b1bed056b50c9b75662807721889ea2d9bd11b1a0c89e9dba323ee351b4677 SHA512 612e505a564d07691806faaca19d1f552e2786ca8c4ed9716af62a630b91089f4e58f2139ce18373478a23a5c4807ff6bea51a2cab451c59c84d02498f31db61 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.1.ebuild deleted file mode 100644 index 5a720cc0b9..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.1.ebuild +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TS_BINDINGS=( python ) - -inherit tree-sitter-grammar - -DESCRIPTION="Bash grammar for Tree-sitter" -HOMEPAGE="https://github.com/tree-sitter/tree-sitter-bash" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.2.ebuild deleted file mode 100644 index e0e9314f6e..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.2.ebuild +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TS_BINDINGS=( python ) - -inherit tree-sitter-grammar - -DESCRIPTION="Bash grammar for Tree-sitter" -HOMEPAGE="https://github.com/tree-sitter/tree-sitter-bash" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" From aa2f4de28325c43a9fda599cade88e44d67ca5a0 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:31 +0000 Subject: [PATCH 048/131] dev-python/cryptography: Sync with Gentoo It's from Gentoo commit 996bb13d79a0d73026be75c3bbba9c28ac7b716a. --- .../dev-python/cryptography/cryptography-45.0.3.ebuild | 2 +- .../dev-python/cryptography/cryptography-45.0.4.ebuild | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-45.0.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-45.0.3.ebuild index 59a9c13697..1cd67a1327 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-45.0.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-45.0.3.ebuild @@ -68,7 +68,7 @@ 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" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" RDEPEND=" >=dev-libs/openssl-1.0.2o-r6:0= diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-45.0.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-45.0.4.ebuild index b6b58631d6..743f67faf9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-45.0.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-45.0.4.ebuild @@ -68,7 +68,7 @@ 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" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86" RDEPEND=" >=dev-libs/openssl-1.0.2o-r6:0= From 3f424b704b8777fb4bd83a3c6087df7cb5561b4b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:31 +0000 Subject: [PATCH 049/131] dev-python/cython: Sync with Gentoo It's from Gentoo commit c34e527c4d42fc7a63e82bdc3849eadb85be0516. --- .../portage-stable/dev-python/cython/cython-3.1.1.ebuild | 2 +- .../portage-stable/dev-python/cython/cython-3.1.2.ebuild | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.1.ebuild index 5e50990b73..0d005e35cf 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.1.ebuild @@ -21,7 +21,7 @@ HOMEPAGE=" 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" +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 test-full" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.2.ebuild index 204789b255..2ac21dd68b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.2.ebuild @@ -21,7 +21,7 @@ HOMEPAGE=" 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" +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 test-full" RESTRICT="!test? ( test )" From 425850d2305f8ea2301c3f6bdf04b808593ed791 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:32 +0000 Subject: [PATCH 050/131] dev-python/docutils: Sync with Gentoo It's from Gentoo commit 2c0a4f9856e717060815f13bfc2e89380f640374. --- .../dev-python/docutils/Manifest | 1 + .../docutils/docutils-0.22_rc5.ebuild | 61 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.22_rc5.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/docutils/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/docutils/Manifest index 0bc139545c..7449657682 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/docutils/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/docutils/Manifest @@ -1,3 +1,4 @@ DIST docutils-0.21.2.tar.gz 2204444 BLAKE2B 727c2f97fc5835a0ffa62e38ea85af366cd89ad1eaec0b8af8b1f3b12e6cddfddb65161ba34f9109952d37ba2cf8985f3c3b6905ebb2ac1c9a984cce3fb4d170 SHA512 7fafa331f5687448e80d299c20cdccc4b49819fa471b5f586bf0ab18c694ba43a70f58e7c76b0a70a16267585548389214e11a4998ad7fdc19a27f0f7644539c DIST docutils-0.22rc2.tar.gz 2275875 BLAKE2B 62140304e9715e31d8be69c9b65fa382832805368cbf3c184b6319405f22d6c05a16b3b28b5444b4e498c21f4bb7baee8520ef80b445123341aaab7a6a6965d6 SHA512 fcb347d29315a5c2e9f070057962094457bdaf08693c1393a649ae24bab572be027c253deb98561c5cd5a27f2d1f994cf7dea63d0cb74c3a3993c4cea45e0a48 DIST docutils-0.22rc3.tar.gz 2278230 BLAKE2B 650373b87230bc376c785becfbe2d61e2d67e561facd364f877bd580113223e39b42053b1b5fcab09990f0fc0be9f7aebaff0fc5fdb4fd524e6f45bc4de34a89 SHA512 7fa2cdceb818a69bc1b52ee16680ce23f9d15dc51b684097b479204611e2b320d778e32d5494f88543d77bc1424ee04628680610ed2dc1f5c0798a18b8da5cbd +DIST docutils-0.22rc5.tar.gz 2279312 BLAKE2B b0473cddb656c0ebcba2177ac46b8c4d246902d646e8baa486df7e33556d88c8f659df6443adfe83efe5a00a7a642fc6ec01843b04f416c85b08b465fd1bc8f3 SHA512 60e98478f331959c55cc6c7bcc7ecb33c0f1a4d6760500ec6186a0d7f5b5c0140ebd690f86221418dcf7d4976ff9386a0f2a83d00d823f6d5dcb97d7b9917c2e diff --git a/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.22_rc5.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.22_rc5.ebuild new file mode 100644 index 0000000000..d5ea86951e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.22_rc5.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{11..14} pypy3_11 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python Documentation Utilities (reference reStructuredText impl.)" +HOMEPAGE=" + https://docutils.sourceforge.io/ + https://pypi.org/project/docutils/ +" + +# GPL-3+ only for emacs/rst.el +LICENSE="BSD BSD-2 GPL-3+ PSF-2.4 public-domain" +SLOT="0" + +RDEPEND=" + dev-python/pillow[${PYTHON_USEDEP}] + dev-python/pygments[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} +" + +python_compile_all() { + # Generate html docs from reStructured text sources. + + # Place html4css1.css in base directory to ensure that the generated reference to it is correct. + cp docutils/writers/html4css1/html4css1.css . || die + + cd tools || die + "${EPYTHON}" buildhtml.py --input-encoding=utf-8 --no-datestamp \ + --stylesheet-path=../html4css1.css, --traceback ../docs || die +} + +src_test() { + cd test || die + distutils-r1_src_test +} + +python_test() { + "${EPYTHON}" alltests.py -v || die "Testing failed with ${EPYTHON}" +} + +python_install() { + distutils-r1_python_install + + # Install tools. + python_doscript tools/buildhtml.py +} + +python_install_all() { + local DOCS=( *.rst ) + local HTML_DOCS=( docs tools docutils/writers/html4css1/html4css1.css ) + + distutils-r1_python_install_all +} From f171ef119649745faa21078d8a2cbf7824450e7f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:44 +0000 Subject: [PATCH 051/131] dev-python/jaraco-collections: Sync with Gentoo It's from Gentoo commit 4fe58288f52f74160738b3a415a81a2850284438. --- .../dev-python/jaraco-collections/Manifest | 1 + .../jaraco-collections-5.2.1.ebuild | 42 +++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/jaraco-collections/jaraco-collections-5.2.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-collections/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-collections/Manifest index 42943f3a45..2984c5a052 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-collections/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-collections/Manifest @@ -1 +1,2 @@ DIST jaraco_collections-5.1.0.tar.gz 19026 BLAKE2B b0ecae5ddfabe22aca0fb0cb4ef6c07dd0c6b56cfd6920787779eb47631c3b4001f35a97f040a71495975fce40d5ec509799d19e23b81ccbf4afbae461cf0624 SHA512 b03b247657ad25df0b86ad125728e37c8123fdd1834adfc16c7e41fb9c31b9d4c1b168ed40614b965caafc7dd55fd14bba8c355648c8b5cca13b50736bc32883 +DIST jaraco_collections-5.2.1.tar.gz 19729 BLAKE2B 16f1b73c22cdc45705d4196d4de04fbe8e16f2b7f2bf9d6e8faccdc1c6dfab6c01182959554f973c1376ee0ea225aa95f7f6b6b2fcb3ab466e220ea3f787caa6 SHA512 fb759a1ff684c2c1d4c23114125f9f83508f2b49701f1e7192ff0cff7db88ec933fc4d7f82bda3e311c23153056244b7d9a7b676a7e8b8831b0ee172642ff51d diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-collections/jaraco-collections-5.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-collections/jaraco-collections-5.2.1.ebuild new file mode 100644 index 0000000000..d0539a2c74 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-collections/jaraco-collections-5.2.1.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYPI_PN=${PN/-/.} +PYTHON_COMPAT=( python3_{11..14} python3_{13,14}t pypy3_11 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Models and classes to supplement the stdlib collections module" +HOMEPAGE=" + https://github.com/jaraco/jaraco.collections/ + https://pypi.org/project/jaraco.collections/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +RDEPEND=" + dev-python/jaraco-text[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest + +src_configure() { + grep -q 'build-backend = "setuptools' pyproject.toml || + die "Upstream changed build-backend, recheck" + # write a custom pyproject.toml to ease setuptools bootstrap + sed -i -e \ + 's/build-backend = .*/build-backend = "flit_core.buildapi"/' \ + -e '/^name = /a\' -e "version = \"${PV}\"" \ + -e '/^dynamic =/d' \ + pyproject.toml || die +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} From f6d56330ed4c9ee0d6360948482f1448f6ad06eb Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:45 +0000 Subject: [PATCH 052/131] dev-python/jaraco-functools: Sync with Gentoo It's from Gentoo commit 48c1eeeb2f355a02cf86654b20a72ea499dfda08. --- .../dev-python/jaraco-functools/Manifest | 1 + .../jaraco-functools-4.2.1.ebuild | 55 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.2.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/Manifest index 95d642d18c..68540fe07a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/Manifest @@ -1 +1,2 @@ DIST jaraco_functools-4.1.0.tar.gz 19159 BLAKE2B 07c240152845cb8ec7c69bc1105b652499da1e62a1b6d7a246910cf22b543784946965e4cc4608c2de8f4c082904242e90bfc5c5c60ee252382308a02f35be19 SHA512 e893533830e176a7ac0a2da3c1b3fa3c53103e7aa163f9ab7c49635040ea845e19348dbf2628252de3c2952330682f5649a8113a6242db72e05995cca6919dfd +DIST jaraco_functools-4.2.1.tar.gz 19661 BLAKE2B 0052dd97f7d6a341d59aacfd089b8973292707cb65653c2f3b3777aee415bce5bd58e0883d903c028d5899cbf62e519e5bad3731dce76d1d1bd68c7072d691f2 SHA512 f32a0a3410cffb9467a2713d2867b95e4b7491f4df28e5191cceb4e748104617ff3df79f4a86916388fca8cbe379cd8f314ed5276826057aa07b35fb7e046568 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.2.1.ebuild new file mode 100644 index 0000000000..8151987750 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.2.1.ebuild @@ -0,0 +1,55 @@ +# 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 +PYPI_PN=${PN/-/.} +PYTHON_COMPAT=( pypy3_11 python3_{11..14} python3_{13,14}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="Additional functions used by other projects by developer jaraco" +HOMEPAGE=" + https://github.com/jaraco/jaraco.functools/ + https://pypi.org/project/jaraco.functools/ +" + +LICENSE="MIT" +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/more-itertools-0.12.0-r1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jaraco-classes[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_configure() { + grep -q 'build-backend = "setuptools' pyproject.toml || + die "Upstream changed build-backend, recheck" + # write a custom pyproject.toml to ease setuptools bootstrap + cat > pyproject.toml <<-EOF || die + [build-system] + requires = ["flit_core >=3.2,<4"] + build-backend = "flit_core.buildapi" + + [project] + name = "jaraco.functools" + version = "${PV}" + description = "Functools like those found in stdlib" + EOF +} + +python_install() { + distutils-r1_python_install + # rename to workaround a bug in pkg_resources + # https://bugs.gentoo.org/834522 + mv "${D}$(python_get_sitedir)"/jaraco{_,.}functools-${PV}.dist-info || die +} From 6ade9931d0c864a456c21ac08ce5823692f3a13f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:48 +0000 Subject: [PATCH 053/131] dev-python/lxml: Sync with Gentoo It's from Gentoo commit 25fd987a6cd110abcfbaa20d8cb587931f285cb3. --- .../portage-stable/dev-python/lxml/Manifest | 1 + .../lxml/files/lxml-6.0.0-pypy.patch | 52 ++++++++ .../dev-python/lxml/lxml-6.0.0.ebuild | 120 ++++++++++++++++++ 3 files changed, 173 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/lxml/files/lxml-6.0.0-pypy.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.0.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/lxml/Manifest index 5715059ddf..f071ba9b15 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/lxml/Manifest @@ -1,3 +1,4 @@ DIST lxml-5.3.1.gh.tar.gz 951340 BLAKE2B e73cc8513cfe42d163b8475788472f00f2f3492deb7536b6556ed4f14924ffe57497947e660a161ec5a0821135b3d103799c0da0b9c647ccdcbfa9b0c5d6a1d9 SHA512 e89ada765791b67e4e83a9151c500f2e8d924c05d421a46bece1183666fc566d545d2e6b62987075e82cbafb8cd4b1f48f6f94e9ebcc0bbd7227d687b2282794 DIST lxml-5.3.2.gh.tar.gz 951502 BLAKE2B d9a9bc49ecbc2d9dba2539c0fa884afc62fbb7a8d6b02571c1ee387386f473472e7cea66e776d758ab1f9307c77f938761ef1be58b029edb2c3b9546aa5f8561 SHA512 d128f7d6dd2a08286f8478508cb2693c7749c5f3822acfcd10877b92bec24e82c3da624b3a1872f95f72d310247083c84f76a42eadfc910b8180749d85b32d8b DIST lxml-5.4.0.gh.tar.gz 950906 BLAKE2B 00c47f34178df5f1b3555f5980a0c7ca9ecc5f0b54cc2756125fd6b2684e369563220c42d380f43af4e53ed2756ebfd71e9f6e1113aa192f14c76defb56c944a SHA512 a7f297b94fd88f20de9371bef207f8e95243a060b24e4006ec310c4a94f6147c8bb38fc3cff0f874f0b76282e745bb62e65a5cba2ce6e34ee54be0e3fde66724 +DIST lxml-6.0.0.gh.tar.gz 987497 BLAKE2B 9d3d61c4f478014942b276d8e5bb8137d67edf05294a821461bd4304a857481cff694a2d97a8c9cbffe0fef7d755aff7c6a6f67eae832f637ff2e5bdc105a7f3 SHA512 05519e03067de5d85be76994070c0a25f35eb52c2df5fc540aa6d2661af09636021c9b6b60d102c687cd9b8f800ecffdb9f2407d7d0f5bbbc43c4c0b38a3b18e diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/files/lxml-6.0.0-pypy.patch b/sdk_container/src/third_party/portage-stable/dev-python/lxml/files/lxml-6.0.0-pypy.patch new file mode 100644 index 0000000000..4e2584abde --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/lxml/files/lxml-6.0.0-pypy.patch @@ -0,0 +1,52 @@ +From 405dd576104cf0e92fbd40d5b294abd93ecb9d41 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Fri, 29 Mar 2024 16:22:00 +0100 +Subject: [PATCH] skip tests that are broken on pypy + +--- + src/lxml/tests/test_http_io.py | 3 ++- + src/lxml/tests/test_nsclasses.py | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/lxml/tests/test_http_io.py b/src/lxml/tests/test_http_io.py +index 12c9d606..d95e3e06 100644 +--- a/src/lxml/tests/test_http_io.py ++++ b/src/lxml/tests/test_http_io.py +@@ -8,7 +8,7 @@ import textwrap + import sys + import gzip + +-from .common_imports import etree, HelperTestCase, BytesIO, _bytes ++from .common_imports import etree, HelperTestCase, BytesIO, _bytes, IS_PYPY + from .dummy_http_server import webserver, HTTPRequestCollector + + +@@ -18,6 +18,7 @@ def needs_http(test_method, _skip_when_called=unittest.skip("needs HTTP support + return _skip_when_called(test_method) + + ++@unittest.skipIf(IS_PYPY, "broken on pypy") + class HttpIOTestCase(HelperTestCase): + etree = etree + +diff --git a/src/lxml/tests/test_nsclasses.py b/src/lxml/tests/test_nsclasses.py +index 0c33f20c..08540001 100644 +--- a/src/lxml/tests/test_nsclasses.py ++++ b/src/lxml/tests/test_nsclasses.py +@@ -6,7 +6,7 @@ namespace registry mechanism + + import unittest + +-from .common_imports import etree, HelperTestCase, _bytes, make_doctest ++from .common_imports import etree, HelperTestCase, _bytes, make_doctest, IS_PYPY + + class ETreeNamespaceClassesTestCase(HelperTestCase): + +@@ -43,6 +43,7 @@ class ETreeNamespaceClassesTestCase(HelperTestCase): + self.Namespace('ns02').clear() + self.Namespace('ns03').clear() + ++ @unittest.skipIf(IS_PYPY, "broken on pypy") + def test_ns_classes(self): + bluff_dict = {'bluff' : self.bluff_class} + maeh_dict = {'maeh' : self.maeh_class} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.0.0.ebuild new file mode 100644 index 0000000000..68dbd90096 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.0.0.ebuild @@ -0,0 +1,120 @@ +# 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_COMPAT=( python3_{11..14} pypy3_11 ) + +inherit distutils-r1 optfeature toolchain-funcs + +DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries" +HOMEPAGE=" + https://lxml.de/ + https://pypi.org/project/lxml/ + https://github.com/lxml/lxml/ +" +SRC_URI=" + https://github.com/lxml/lxml/archive/${P}.tar.gz + -> ${P}.gh.tar.gz +" +S=${WORKDIR}/lxml-${P} + +LICENSE="BSD ElementTree GPL-2 PSF-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="doc examples +threads test" +RESTRICT="!test? ( test )" + +# Note: lib{xml2,xslt} are used as C libraries, not Python modules. +DEPEND=" + >=dev-libs/libxml2-2.10.3:= + >=dev-libs/libxslt-1.1.38 +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + virtual/pkgconfig + >=dev-python/cython-3.1.2[${PYTHON_USEDEP}] + doc? ( + $(python_gen_any_dep ' + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/pygments[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] + ') + ) + test? ( + dev-python/cssselect[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-6.0.0-pypy.patch" +) + +python_check_deps() { + use doc || return 0 + python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" +} + +python_prepare_all() { + # don't use some random SDK on Darwin + sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \ + setupinfo.py || die + + distutils-r1_python_prepare_all +} + +python_compile() { + local DISTUTILS_ARGS=( + # by default it adds -w to CFLAGS + --warnings + ) + tc-export PKG_CONFIG + distutils-r1_python_compile +} + +python_compile_all() { + # disable automagic dep on coverage + use doc && emake CYTHON_WITH_COVERAGE= html +} + +python_test() { + local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml + local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH} + + cp -al "${BUILD_DIR}"/{install,test} || die + cp -al src/lxml/tests "${dir}/" || die + cp -al src/lxml/html/tests "${dir}/html/" || die + mkdir "${dir}"/../../doc || die + # this one needs to be copied, because upstream uses doc/../../../doc + cp -r "${S}"/doc "${dir}"/../../ || die + ln -s "${S}"/doc "${dir}"/../../../../ || die + + "${EPYTHON}" test.py --no-src -vv --all-levels -p || + die "Tests fail on ${EPYTHON}" +} + +python_install_all() { + if use doc; then + local DOCS=( README.rst *.txt doc/*.txt ) + local HTML_DOCS=( doc/html/. ) + fi + if use examples; then + dodoc -r samples + fi + + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4 + optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect + optfeature "Support for lxml.html.clean sanitizer" dev-python/lxml-html-clean +} From 64feb40c1dcf2cf5791ff060d45c2274afcbccb1 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:08:50 +0000 Subject: [PATCH 054/131] dev-python/msgpack: Sync with Gentoo It's from Gentoo commit b383688e4a4239752dc3ce961bdbaad59e41e9fc. --- .../portage-stable/dev-python/msgpack/msgpack-1.1.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/msgpack/msgpack-1.1.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/msgpack/msgpack-1.1.1.ebuild index 2bb9a9de8b..cb46b90a79 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/msgpack/msgpack-1.1.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/msgpack/msgpack-1.1.1.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" IUSE="+native-extensions" # extension code is relying on CPython implementation details From bcc5c7bd9e75f81c0a8197396fab844eb77c62b0 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:09:01 +0000 Subject: [PATCH 055/131] dev-python/pygments: Sync with Gentoo It's from Gentoo commit cedc34be6967e7309167b6803d7cf3b28d536775. --- .../dev-python/pygments/Manifest | 1 + .../pygments/pygments-2.19.2.ebuild | 61 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/pygments/pygments-2.19.2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pygments/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/pygments/Manifest index e3285e99b3..0aa5e48c24 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pygments/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/pygments/Manifest @@ -1 +1,2 @@ DIST pygments-2.19.1.tar.gz 4968581 BLAKE2B 24bc120c4709af2f313010ed953a446bc29ee32269d47c3325067fea60c2a945376426a7c8d37e8916cc09e0534c2b6e63f69226768d6afd6e88dac875cc4419 SHA512 f8547b1eb032fb4c0ad15f1bb61bc6d8c25b309e61850a7ebe4e879fefe1ebb0acba53192d1294e8ef243613ba546e1e7ac7474ab1b49b1a1c1551c6733d9ec7 +DIST pygments-2.19.2.tar.gz 4968631 BLAKE2B fad9d5c28194761a77f68f5428a6655c78c498917fa7b91d677e0da18a2fe5521a37440ac52bd7eb7578fac50bf4b55e95dd1ac7334644b775b9ca5b3d0f153e SHA512 3ead3a1fa4c7d86b415287949099cb0e5667ea71f7f69aa3de359bbb5c2f234d90fa5a41ec9c74cb041593e465b934d54bbb7dc87669683f04b94dd3aa6ca03c diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pygments/pygments-2.19.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pygments/pygments-2.19.2.ebuild new file mode 100644 index 0000000000..3a5817ef4e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/pygments/pygments-2.19.2.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_PN=${PN^} +PYTHON_FULLY_TESTED=( python3_{11..14} pypy3_11 ) +PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" python3_{13,14}t ) + +inherit distutils-r1 bash-completion-r1 pypi + +DESCRIPTION="Pygments is a syntax highlighting package written in Python" +HOMEPAGE=" + https://pygments.org/ + https://github.com/pygments/pygments/ + https://pypi.org/project/Pygments/ +" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" + +BDEPEND=" + test? ( + $(python_gen_cond_dep ' + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP}] + ' "${PYTHON_FULLY_TESTED[@]}") + dev-python/wcag-contrast-ratio[${PYTHON_USEDEP}] + virtual/ttf-fonts + ) +" + +EPYTEST_DESELECT=( + # fuzzing tests, very slow + tests/test_basic_api.py::test_random_input + # incompatibility with python-ctags3, apparently + # https://github.com/pygments/pygments/issues/2486 + tests/test_html_formatter.py::test_ctags +) + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + if [[ ${EPYTHON} == python3.14* ]] ; then + EPYTEST_IGNORE+=( + # https://github.com/python/cpython/issues/133653 + # https://github.com/python/cpython/pull/133813 + tests/test_cmdline.py + ) + fi + + epytest +} + +src_install() { + distutils-r1_src_install + newbashcomp external/pygments.bashcomp pygmentize +} From 448ea379b52700f5a18e363df526bce53ac4219f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:09:03 +0000 Subject: [PATCH 056/131] dev-python/resolvelib: Sync with Gentoo It's from Gentoo commit 4eda182543530c5e05a6854723c426cebcd5ada8. --- .../dev-python/resolvelib/Manifest | 1 + .../resolvelib/resolvelib-1.2.0.ebuild | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.2.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/Manifest index d2f01646d1..4485d5fda3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/Manifest @@ -1,2 +1,3 @@ DIST resolvelib-1.0.1.gh.tar.gz 769608 BLAKE2B 7715f61d262cb79ce08f0431650e6213def4582a0774cf36dab722d88013f7bc9c72a31a957d3782e35b315158982c3311fe3e06e26bbf9040fa96b239934661 SHA512 a35f7fdbc3aba5b44fdf6b9c55b082156ca641dfe5825611be6364622bcaaf45faafa2c45bdd13d1b5723a55732759a806905ab4b6f366fba0474d1f808d91bc DIST resolvelib-1.1.0.gh.tar.gz 772503 BLAKE2B 6dfda2dc8bc8fc6c5bd53de6f4cd0a44fc39cd53a3a8b01c8a9f135f64ef2ec022248a87d8c8302af4a3c1ea171751de4cba26139a7231bdf143b115f048bfe9 SHA512 d3b2a49c4cd6e6a27bb1eb5a8672a2b4f6daa315b82f0f008a915094a59bd2f38ad64fd83fba4387a50686a3ededb13c24839afd4d45d9766467d7e70f7b863a +DIST resolvelib-1.2.0.gh.tar.gz 773960 BLAKE2B dd325d305db82fb065286175c822ffd447e8ebe414497b831409789e2e0233384c6a4ea8a027e58e8c7a7ed4e48f512e61708cbeb6906bfc9113104fcb5e38fb SHA512 b4b2af8fa575c03417f8cdc020538c8614c4ef189b498120266ea88ae98e0a0df9cc2ade28b5c4dbdb9f21633652949f51813f252ee3b48866bbc950416678dc diff --git a/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.2.0.ebuild new file mode 100644 index 0000000000..0b744e5799 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.2.0.ebuild @@ -0,0 +1,33 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{11..14} pypy3_11 ) + +inherit distutils-r1 + +DESCRIPTION="Resolve abstract dependencies into concrete ones" +HOMEPAGE=" + https://github.com/sarugaku/resolvelib/ + https://pypi.org/project/resolvelib/ + +" +SRC_URI=" + https://github.com/sarugaku/resolvelib/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +BDEPEND=" + test? ( + dev-python/packaging[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest From fe7b60cd17c0a6709214d2e8f31295b28256cb5e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:09:05 +0000 Subject: [PATCH 057/131] dev-python/snakeoil: Sync with Gentoo It's from Gentoo commit 03c1eb22e5dcbb73e215a534cf8b97d4b28985ef. --- .../portage-stable/dev-python/snakeoil/snakeoil-0.10.11.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.10.11.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.10.11.ebuild index 20516defe0..ea26d0d51d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.10.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.10.11.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]] ; then https://github.com/pkgcore/snakeoil.git" inherit git-r3 else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos" inherit pypi fi From 8670ecdf07edb984c9ffc1a3b1261fe70daf7b31 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:09:09 +0000 Subject: [PATCH 058/131] dev-python/typing-extensions: Sync with Gentoo It's from Gentoo commit 289418ed00e045b0db0b4a689beb194a6975c217. --- .../dev-python/typing-extensions/Manifest | 2 - .../typing-extensions-4.13.2-py314.patch | 422 ------------------ .../typing-extensions-4.13.2-r2.ebuild | 41 -- .../typing-extensions-4.14.0.ebuild | 2 +- .../typing-extensions-4.14.0_rc1.ebuild | 34 -- 5 files changed, 1 insertion(+), 500 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/files/typing-extensions-4.13.2-py314.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.13.2-r2.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.14.0_rc1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/Manifest index efb5a12e1e..39350d146c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/Manifest @@ -1,3 +1 @@ -DIST typing_extensions-4.13.2.tar.gz 106967 BLAKE2B 6a0dfd0cb94f8411342f547f2b209a3c8afd32c818ec837c9ce63191392ba5f89c31279f35d7ca8c0a2f2cda99ea23084c3fad4bc3787f20e31741665e174645 SHA512 2cd798939362ee0d7ddbffe69b1d0fdd72b9574c1bd7300caee73d36c457ea64ea635c87ecc6188db9ffaaca272b1c8dd978a42c591ae0dfdca5632317ddb18c DIST typing_extensions-4.14.0.tar.gz 107423 BLAKE2B dc5035fd1e7029b50ca92f286ca01839e722279e7a0d4325f1217b2546ebb4b01dcba36cb364d50c71f176b9a8ab42b55f29fef87f5856b5d215b39006e35bae SHA512 69cc6588c22744758461bc752ad983111a55e256fbe29250f36077b349b8266b12920897fe70d48d7994db644737dc1e6f74626e22d972aef7a1c3f4204779eb -DIST typing_extensions-4.14.0rc1.tar.gz 107459 BLAKE2B 5be5ca9f8e29f26f0cf61d7125caaab830d70e13199f1b0407d04eef18587e144737553cf6ed750f31188723821743d80b16b91c93cd4a4714402e1e1ac3df57 SHA512 0c37102ca65695dd71431aac63457f76c09bb974e32fb8e22cc54e386c6307701a3e58fc21cd2883409a2c6ea6eae337c5184030eda7c5f3580c721ac681ad32 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/files/typing-extensions-4.13.2-py314.patch b/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/files/typing-extensions-4.13.2-py314.patch deleted file mode 100644 index d1086c2c35..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/files/typing-extensions-4.13.2-py314.patch +++ /dev/null @@ -1,422 +0,0 @@ -From 2354c1a8d21cf8f6d6f6a9d54bb3a69b5908e035 Mon Sep 17 00:00:00 2001 -From: Jelle Zijlstra -Date: Fri, 2 May 2025 19:45:27 -0700 -Subject: [PATCH 1/2] Fix test failures on Python 3.14 (#566) - ---- - src/test_typing_extensions.py | 40 ++++++++++++++++++++++++----------- - src/typing_extensions.py | 9 ++++++-- - 2 files changed, 35 insertions(+), 14 deletions(-) - -diff --git a/src/test_typing_extensions.py b/src/test_typing_extensions.py -index 584b0fa..7b08f72 100644 ---- a/src/test_typing_extensions.py -+++ b/src/test_typing_extensions.py -@@ -901,10 +901,12 @@ class Cls: - - class DeprecatedCoroTests(BaseTestCase): - def test_asyncio_iscoroutinefunction(self): -- self.assertFalse(asyncio.coroutines.iscoroutinefunction(func)) -- self.assertFalse(asyncio.coroutines.iscoroutinefunction(Cls.func)) -- self.assertTrue(asyncio.coroutines.iscoroutinefunction(coro)) -- self.assertTrue(asyncio.coroutines.iscoroutinefunction(Cls.coro)) -+ with warnings.catch_warnings(): -+ warnings.simplefilter("ignore", DeprecationWarning) -+ self.assertFalse(asyncio.coroutines.iscoroutinefunction(func)) -+ self.assertFalse(asyncio.coroutines.iscoroutinefunction(Cls.func)) -+ self.assertTrue(asyncio.coroutines.iscoroutinefunction(coro)) -+ self.assertTrue(asyncio.coroutines.iscoroutinefunction(Cls.coro)) - - @skipUnless(TYPING_3_12_ONLY or TYPING_3_13_0_RC, "inspect.iscoroutinefunction works differently on Python < 3.12") - def test_inspect_iscoroutinefunction(self): -@@ -7228,7 +7230,7 @@ class TypeVarTests(BaseTestCase): - - def test_bound_errors(self): - with self.assertRaises(TypeError): -- TypeVar('X', bound=Union) -+ TypeVar('X', bound=Optional) - with self.assertRaises(TypeError): - TypeVar('X', str, float, bound=Employee) - with self.assertRaisesRegex(TypeError, -@@ -8213,19 +8215,26 @@ class TestGetAnnotations(BaseTestCase): - get_annotations(f2, format=Format.FORWARDREF), - {"a": "undefined"}, - ) -- self.assertEqual(get_annotations(f2, format=2), {"a": "undefined"}) -+ # Test that the raw int also works -+ self.assertEqual( -+ get_annotations(f2, format=Format.FORWARDREF.value), -+ {"a": "undefined"}, -+ ) - - self.assertEqual( - get_annotations(f1, format=Format.STRING), - {"a": "int"}, - ) -- self.assertEqual(get_annotations(f1, format=3), {"a": "int"}) -+ self.assertEqual( -+ get_annotations(f1, format=Format.STRING.value), -+ {"a": "int"}, -+ ) - - with self.assertRaises(ValueError): - get_annotations(f1, format=0) - - with self.assertRaises(ValueError): -- get_annotations(f1, format=4) -+ get_annotations(f1, format=42) - - def test_custom_object_with_annotations(self): - class C: -@@ -8264,10 +8273,17 @@ class TestGetAnnotations(BaseTestCase): - foo.__annotations__ = {"a": "foo", "b": "str"} - for format in Format: - with self.subTest(format=format): -- self.assertEqual( -- get_annotations(foo, format=format), -- {"a": "foo", "b": "str"}, -- ) -+ if format is Format.VALUE_WITH_FAKE_GLOBALS: -+ with self.assertRaisesRegex( -+ ValueError, -+ "The VALUE_WITH_FAKE_GLOBALS format is for internal use only" -+ ): -+ get_annotations(foo, format=format) -+ else: -+ self.assertEqual( -+ get_annotations(foo, format=format), -+ {"a": "foo", "b": "str"}, -+ ) - - self.assertEqual( - get_annotations(foo, eval_str=True, locals=locals()), -diff --git a/src/typing_extensions.py b/src/typing_extensions.py -index fa89c83..d089d5e 100644 ---- a/src/typing_extensions.py -+++ b/src/typing_extensions.py -@@ -4153,8 +4153,9 @@ _PEP_649_OR_749_IMPLEMENTED = ( - - class Format(enum.IntEnum): - VALUE = 1 -- FORWARDREF = 2 -- STRING = 3 -+ VALUE_WITH_FAKE_GLOBALS = 2 -+ FORWARDREF = 3 -+ STRING = 4 - - - if _PEP_649_OR_749_IMPLEMENTED: -@@ -4198,6 +4199,10 @@ else: - - """ - format = Format(format) -+ if format is Format.VALUE_WITH_FAKE_GLOBALS: -+ raise ValueError( -+ "The VALUE_WITH_FAKE_GLOBALS format is for internal use only" -+ ) - - if eval_str and format is not Format.VALUE: - raise ValueError("eval_str=True is only supported with format=Format.VALUE") -From 62740a52eca38414efc9ce01b361ab45eae7c38e Mon Sep 17 00:00:00 2001 -From: Jelle Zijlstra -Date: Mon, 5 May 2025 09:50:14 -0700 -Subject: [PATCH 2/2] Fix tests on Python 3.14 (#592) - ---- - src/test_typing_extensions.py | 117 ++++++++++++++++++++++++++++++---- - src/typing_extensions.py | 67 +++++++++++++++---- - 2 files changed, 161 insertions(+), 23 deletions(-) - -diff --git a/src/test_typing_extensions.py b/src/test_typing_extensions.py -index 7b08f72..9742b98 100644 ---- a/src/test_typing_extensions.py -+++ b/src/test_typing_extensions.py -@@ -440,6 +440,48 @@ class BaseTestCase(TestCase): - raise self.failureException(message) - - -+class EqualToForwardRef: -+ """Helper to ease use of annotationlib.ForwardRef in tests. -+ -+ This checks only attributes that can be set using the constructor. -+ -+ """ -+ -+ def __init__( -+ self, -+ arg, -+ *, -+ module=None, -+ owner=None, -+ is_class=False, -+ ): -+ self.__forward_arg__ = arg -+ self.__forward_is_class__ = is_class -+ self.__forward_module__ = module -+ self.__owner__ = owner -+ -+ def __eq__(self, other): -+ if not isinstance(other, (EqualToForwardRef, typing.ForwardRef)): -+ return NotImplemented -+ if sys.version_info >= (3, 14) and self.__owner__ != other.__owner__: -+ return False -+ return ( -+ self.__forward_arg__ == other.__forward_arg__ -+ and self.__forward_module__ == other.__forward_module__ -+ and self.__forward_is_class__ == other.__forward_is_class__ -+ ) -+ -+ def __repr__(self): -+ extra = [] -+ if self.__forward_module__ is not None: -+ extra.append(f", module={self.__forward_module__!r}") -+ if self.__forward_is_class__: -+ extra.append(", is_class=True") -+ if sys.version_info >= (3, 14) and self.__owner__ is not None: -+ extra.append(f", owner={self.__owner__!r}") -+ return f"EqualToForwardRef({self.__forward_arg__!r}{''.join(extra)})" -+ -+ - class Employee: - pass - -@@ -5075,6 +5117,64 @@ class TypedDictTests(BaseTestCase): - x: str - - -+ def test_annotations(self): -+ # _type_check is applied -+ with self.assertRaisesRegex(TypeError, "Plain typing.Optional is not valid as type argument"): -+ class X(TypedDict): -+ a: Optional -+ -+ # _type_convert is applied -+ class Y(TypedDict): -+ a: None -+ b: "int" -+ if sys.version_info >= (3, 14): -+ import annotationlib -+ -+ fwdref = EqualToForwardRef('int', module=__name__) -+ self.assertEqual(Y.__annotations__, {'a': type(None), 'b': fwdref}) -+ self.assertEqual(Y.__annotate__(annotationlib.Format.FORWARDREF), {'a': type(None), 'b': fwdref}) -+ else: -+ self.assertEqual(Y.__annotations__, {'a': type(None), 'b': typing.ForwardRef('int', module=__name__)}) -+ -+ @skipUnless(TYPING_3_14_0, "Only supported on 3.14") -+ def test_delayed_type_check(self): -+ # _type_check is also applied later -+ class Z(TypedDict): -+ a: undefined # noqa: F821 -+ -+ with self.assertRaises(NameError): -+ Z.__annotations__ -+ -+ undefined = Final -+ with self.assertRaisesRegex(TypeError, "Plain typing.Final is not valid as type argument"): -+ Z.__annotations__ -+ -+ undefined = None # noqa: F841 -+ self.assertEqual(Z.__annotations__, {'a': type(None)}) -+ -+ @skipUnless(TYPING_3_14_0, "Only supported on 3.14") -+ def test_deferred_evaluation(self): -+ class A(TypedDict): -+ x: NotRequired[undefined] # noqa: F821 -+ y: ReadOnly[undefined] # noqa: F821 -+ z: Required[undefined] # noqa: F821 -+ -+ self.assertEqual(A.__required_keys__, frozenset({'y', 'z'})) -+ self.assertEqual(A.__optional_keys__, frozenset({'x'})) -+ self.assertEqual(A.__readonly_keys__, frozenset({'y'})) -+ self.assertEqual(A.__mutable_keys__, frozenset({'x', 'z'})) -+ -+ with self.assertRaises(NameError): -+ A.__annotations__ -+ -+ import annotationlib -+ self.assertEqual( -+ A.__annotate__(annotationlib.Format.STRING), -+ {'x': 'NotRequired[undefined]', 'y': 'ReadOnly[undefined]', -+ 'z': 'Required[undefined]'}, -+ ) -+ -+ - class AnnotatedTests(BaseTestCase): - - def test_repr(self): -@@ -5887,7 +5987,7 @@ class ConcatenateTests(BaseTestCase): - U2 = Unpack[Ts] - self.assertEqual(C2[U1], (str, int, str)) - self.assertEqual(C2[U2], (str, Unpack[Ts])) -- self.assertEqual(C2["U2"], (str, typing.ForwardRef("U2"))) -+ self.assertEqual(C2["U2"], (str, EqualToForwardRef("U2"))) - - if (3, 12, 0) <= sys.version_info < (3, 12, 4): - with self.assertRaises(AssertionError): -@@ -7196,8 +7296,8 @@ class TypeVarTests(BaseTestCase): - self.assertEqual(X | "x", Union[X, "x"]) - self.assertEqual("x" | X, Union["x", X]) - # make sure the order is correct -- self.assertEqual(get_args(X | "x"), (X, typing.ForwardRef("x"))) -- self.assertEqual(get_args("x" | X), (typing.ForwardRef("x"), X)) -+ self.assertEqual(get_args(X | "x"), (X, EqualToForwardRef("x"))) -+ self.assertEqual(get_args("x" | X), (EqualToForwardRef("x"), X)) - - def test_union_constrained(self): - A = TypeVar('A', str, bytes) -@@ -8770,7 +8870,7 @@ class TestEvaluateForwardRefs(BaseTestCase): - type_params=None, - format=Format.FORWARDREF, - ) -- self.assertEqual(evaluated_ref, typing.ForwardRef("doesnotexist2")) -+ self.assertEqual(evaluated_ref, EqualToForwardRef("doesnotexist2")) - - def test_evaluate_with_type_params(self): - # Use a T name that is not in globals -@@ -8857,13 +8957,6 @@ class TestEvaluateForwardRefs(BaseTestCase): - obj = object() - self.assertIs(evaluate_forward_ref(typing.ForwardRef("int"), globals={"int": obj}), obj) - -- def test_fwdref_value_is_cached(self): -- fr = typing.ForwardRef("hello") -- with self.assertRaises(NameError): -- evaluate_forward_ref(fr) -- self.assertIs(evaluate_forward_ref(fr, globals={"hello": str}), str) -- self.assertIs(evaluate_forward_ref(fr), str) -- - @skipUnless(TYPING_3_9_0, "Needs PEP 585 support") - def test_fwdref_with_owner(self): - self.assertEqual( -@@ -8908,7 +9001,7 @@ class TestEvaluateForwardRefs(BaseTestCase): - self.assertEqual(get_args(evaluated_ref1b), (Y[Tx],)) - - with self.subTest("nested string of TypeVar"): -- evaluated_ref2 = evaluate_forward_ref(typing.ForwardRef("""Y["Y['Tx']"]"""), locals={"Y": Y}) -+ evaluated_ref2 = evaluate_forward_ref(typing.ForwardRef("""Y["Y['Tx']"]"""), locals={"Y": Y, "Tx": Tx}) - self.assertEqual(get_origin(evaluated_ref2), Y) - if not TYPING_3_9_0: - self.skipTest("Nested string 'Tx' stays ForwardRef in 3.8") -diff --git a/src/typing_extensions.py b/src/typing_extensions.py -index d089d5e..baa6c4f 100644 ---- a/src/typing_extensions.py -+++ b/src/typing_extensions.py -@@ -13,6 +13,9 @@ import types as _types - import typing - import warnings - -+if sys.version_info >= (3, 14): -+ import annotationlib -+ - __all__ = [ - # Super-special typing primitives. - 'Any', -@@ -1014,21 +1017,31 @@ else: - tp_dict.__orig_bases__ = bases - - annotations = {} -+ own_annotate = None - if "__annotations__" in ns: - own_annotations = ns["__annotations__"] -- elif "__annotate__" in ns: -- # TODO: Use inspect.VALUE here, and make the annotations lazily evaluated -- own_annotations = ns["__annotate__"](1) -+ elif sys.version_info >= (3, 14): -+ if hasattr(annotationlib, "get_annotate_from_class_namespace"): -+ own_annotate = annotationlib.get_annotate_from_class_namespace(ns) -+ else: -+ # 3.14.0a7 and earlier -+ own_annotate = ns.get("__annotate__") -+ if own_annotate is not None: -+ own_annotations = annotationlib.call_annotate_function( -+ own_annotate, Format.FORWARDREF, owner=tp_dict -+ ) -+ else: -+ own_annotations = {} - else: - own_annotations = {} - msg = "TypedDict('Name', {f0: t0, f1: t1, ...}); each t must be a type" - if _TAKES_MODULE: -- own_annotations = { -+ own_checked_annotations = { - n: typing._type_check(tp, msg, module=tp_dict.__module__) - for n, tp in own_annotations.items() - } - else: -- own_annotations = { -+ own_checked_annotations = { - n: typing._type_check(tp, msg) - for n, tp in own_annotations.items() - } -@@ -1041,7 +1054,8 @@ else: - for base in bases: - base_dict = base.__dict__ - -- annotations.update(base_dict.get('__annotations__', {})) -+ if sys.version_info <= (3, 14): -+ annotations.update(base_dict.get('__annotations__', {})) - required_keys.update(base_dict.get('__required_keys__', ())) - optional_keys.update(base_dict.get('__optional_keys__', ())) - readonly_keys.update(base_dict.get('__readonly_keys__', ())) -@@ -1051,8 +1065,8 @@ else: - # is retained for backwards compatibility, but only for Python - # 3.13 and lower. - if (closed and sys.version_info < (3, 14) -- and "__extra_items__" in own_annotations): -- annotation_type = own_annotations.pop("__extra_items__") -+ and "__extra_items__" in own_checked_annotations): -+ annotation_type = own_checked_annotations.pop("__extra_items__") - qualifiers = set(_get_typeddict_qualifiers(annotation_type)) - if Required in qualifiers: - raise TypeError( -@@ -1066,8 +1080,8 @@ else: - ) - extra_items_type = annotation_type - -- annotations.update(own_annotations) -- for annotation_key, annotation_type in own_annotations.items(): -+ annotations.update(own_checked_annotations) -+ for annotation_key, annotation_type in own_checked_annotations.items(): - qualifiers = set(_get_typeddict_qualifiers(annotation_type)) - - if Required in qualifiers: -@@ -1085,7 +1099,38 @@ else: - mutable_keys.add(annotation_key) - readonly_keys.discard(annotation_key) - -- tp_dict.__annotations__ = annotations -+ if sys.version_info >= (3, 14): -+ def __annotate__(format): -+ annos = {} -+ for base in bases: -+ if base is Generic: -+ continue -+ base_annotate = base.__annotate__ -+ if base_annotate is None: -+ continue -+ base_annos = annotationlib.call_annotate_function( -+ base.__annotate__, format, owner=base) -+ annos.update(base_annos) -+ if own_annotate is not None: -+ own = annotationlib.call_annotate_function( -+ own_annotate, format, owner=tp_dict) -+ if format != Format.STRING: -+ own = { -+ n: typing._type_check(tp, msg, module=tp_dict.__module__) -+ for n, tp in own.items() -+ } -+ elif format == Format.STRING: -+ own = annotationlib.annotations_to_string(own_annotations) -+ elif format in (Format.FORWARDREF, Format.VALUE): -+ own = own_checked_annotations -+ else: -+ raise NotImplementedError(format) -+ annos.update(own) -+ return annos -+ -+ tp_dict.__annotate__ = __annotate__ -+ else: -+ tp_dict.__annotations__ = annotations - tp_dict.__required_keys__ = frozenset(required_keys) - tp_dict.__optional_keys__ = frozenset(optional_keys) - tp_dict.__readonly_keys__ = frozenset(readonly_keys) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.13.2-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.13.2-r2.ebuild deleted file mode 100644 index 68dcf5db0b..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.13.2-r2.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{11..14} python3_{13,14}t pypy3_11 ) - -inherit distutils-r1 pypi - -DESCRIPTION="Backported and Experimental Type Hints for Python 3.7+" -HOMEPAGE=" - https://pypi.org/project/typing-extensions/ - https://github.com/python/typing_extensions/ -" - -LICENSE="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" -IUSE="test" -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-python/flit-core-3.11[${PYTHON_USEDEP}] - test? ( - dev-python/test[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests unittest - -PATCHES=( - # https://github.com/python/typing_extensions/pull/566 - # https://github.com/python/typing_extensions/pull/592 - "${FILESDIR}/${P}-py314.patch" -) - -python_test() { - cd src || die - eunittest -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.14.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.14.0.ebuild index edb1594f47..f7c99d9c7d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.14.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.14.0.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="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" +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 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.14.0_rc1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.14.0_rc1.ebuild deleted file mode 100644 index 63f6412380..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.14.0_rc1.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{11..14} python3_{13,14}t pypy3_11 ) - -inherit distutils-r1 pypi - -DESCRIPTION="Backported and Experimental Type Hints for Python 3.7+" -HOMEPAGE=" - https://pypi.org/project/typing-extensions/ - https://github.com/python/typing_extensions/ -" - -LICENSE="PSF-2" -SLOT="0" -IUSE="test" -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-python/flit-core-3.11[${PYTHON_USEDEP}] - test? ( - dev-python/test[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests unittest - -python_test() { - cd src || die - eunittest -} From fa6b0c8309d7f097c41c4ddd64a43cab01a14568 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:09:10 +0000 Subject: [PATCH 059/131] dev-python/urllib3: Sync with Gentoo It's from Gentoo commit 0b055a72a338d52837717b2e7baee7cba3b77ac4. --- .../dev-python/urllib3/Manifest | 1 + .../dev-python/urllib3/urllib3-2.5.0.ebuild | 99 +++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/urllib3/urllib3-2.5.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/urllib3/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/urllib3/Manifest index c97f35e127..ae13fe1ff6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/urllib3/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/urllib3/Manifest @@ -1,2 +1,3 @@ DIST hypercorn-d1719f8c1570cbd8e6a3719ffdb14a4d72880abb.gh.tar.gz 156216 BLAKE2B fcb5f49653401e6e4079e1c770d3cd407602d4d6764437b735bd4ec04191dec59cdc930822fa2aff726ee25cddd0f71fd457dedf31026bff1da121d93af8b768 SHA512 62d6787d88a2e716f0ac04fc49f6cdc586e473a660ee754ff66961922ae78bcc75d1f78b091e78557dd60f006e8e480114738c7b4ff71beac804e4fc9603240b DIST urllib3-2.4.0.tar.gz 390672 BLAKE2B 2c5aa1f5fb210d13cd26b022a4c81b9d1dbe8a8bac26dadcf2b3c1a515df5fc2376b26aedd07badbcd36241920a1de2889c4190f02ceeafdae4732aa83055321 SHA512 d5c5ffc6ace356769f0fa80279ce1f07f3fe5913942acadac93d965612a9225bc3da94f711184ecd5b76bf893a29c7c854903c2c4e4de84edc490e6d72a80693 +DIST urllib3-2.5.0.tar.gz 393185 BLAKE2B 3885be1dae81cb63cfd0c52242b8ff342e4fb398816f94b556e929af0328f4063d705f15201005f4247b278420794984277999751170e124c23ac99c6dc881d4 SHA512 f417a2745bc9750da23916690937e5c0dfe0534354f2c1c9f056baf16554a831a28937acca2b1f23941d5b6e87a372f2e074508eaf2c3304fd1014b8afc3295e diff --git a/sdk_container/src/third_party/portage-stable/dev-python/urllib3/urllib3-2.5.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/urllib3/urllib3-2.5.0.ebuild new file mode 100644 index 0000000000..bb27fdaec9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/urllib3/urllib3-2.5.0.ebuild @@ -0,0 +1,99 @@ +# 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=hatchling +PYTHON_TESTED=( python3_{11..14} pypy3_11 ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) +PYTHON_REQ_USE="ssl(+)" + +inherit distutils-r1 pypi + +# The package has a test dependency on their own hypercorn fork. +HYPERCORN_COMMIT=d1719f8c1570cbd8e6a3719ffdb14a4d72880abb +DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more" +HOMEPAGE=" + https://github.com/urllib3/urllib3/ + https://pypi.org/project/urllib3/ +" +SRC_URI+=" + test? ( + https://github.com/urllib3/hypercorn/archive/${HYPERCORN_COMMIT}.tar.gz + -> hypercorn-${HYPERCORN_COMMIT}.gh.tar.gz + ) +" + +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" +IUSE="brotli http2 test zstd" +RESTRICT="!test? ( test )" + +# [secure] extra is deprecated and slated for removal, we don't need it: +# https://github.com/urllib3/urllib3/issues/2680 +RDEPEND=" + >=dev-python/pysocks-1.5.8[${PYTHON_USEDEP}] + =dev-python/brotlicffi-0.8.0[${PYTHON_USEDEP}] ) + http2? ( + =dev-python/h2-4[${PYTHON_USEDEP}] + ) + zstd? ( >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}] ) +" +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + $(python_gen_cond_dep " + ${RDEPEND} + dev-python/brotlicffi[\${PYTHON_USEDEP}] + dev-python/freezegun[\${PYTHON_USEDEP}] + dev-python/h2[\${PYTHON_USEDEP}] + dev-python/httpx[\${PYTHON_USEDEP}] + dev-python/pytest[\${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[\${PYTHON_USEDEP}] + dev-python/pytest-timeout[\${PYTHON_USEDEP}] + dev-python/pytest-xdist[\${PYTHON_USEDEP}] + dev-python/quart[\${PYTHON_USEDEP}] + dev-python/quart-trio[\${PYTHON_USEDEP}] + dev-python/trio[\${PYTHON_USEDEP}] + >=dev-python/tornado-4.2.1[\${PYTHON_USEDEP}] + >=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}] + >=dev-python/zstandard-0.18.0[\${PYTHON_USEDEP}] + " "${PYTHON_TESTED[@]}") + ) +" + +src_prepare() { + # upstream considers 0.5 s to be "long" for a timeout + # we get tons of test failures on *fast* systems because of that + sed -i -e '/LONG_TIMEOUT/s:0.5:5:' test/__init__.py || die + distutils-r1_src_prepare +} + +python_test() { + local -x PYTHONPATH=${WORKDIR}/hypercorn-${HYPERCORN_COMMIT}/src + local -x CI=1 + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping tests on ${EPYTHON}" + return + fi + + local EPYTEST_DESELECT=( + # TODO: timeouts + test/contrib/test_pyopenssl.py::TestSocketClosing::test_timeout_errors_cause_retries + test/with_dummyserver/test_socketlevel.py::TestSocketClosing::test_timeout_errors_cause_retries + # TODO + test/contrib/test_pyopenssl.py::TestSocketClosing::test_socket_shutdown_stops_recv + test/with_dummyserver/test_socketlevel.py::TestSocketClosing::test_socket_shutdown_stops_recv + # hangs randomly + test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_{2,3}::test_http2_probe_blocked_per_thread + test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_{2,3}::test_http2_probe_blocked_per_thread + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local EPYTEST_XDIST=1 + epytest -p timeout -p rerunfailures --reruns=10 --reruns-delay=2 +} From 2e09c20d842753def117c5d81fdb29e8a3af652e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:09:15 +0000 Subject: [PATCH 060/131] dev-util/gdbus-codegen: Sync with Gentoo It's from Gentoo commit 32cb84180e54928f6ceca64105fb560a5e53cda3. --- ...us-codegen-2.80.5.ebuild => gdbus-codegen-2.80.5-r1.ebuild} | 3 +++ .../dev-util/gdbus-codegen/gdbus-codegen-2.84.3.ebuild | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) rename sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/{gdbus-codegen-2.80.5.ebuild => gdbus-codegen-2.80.5-r1.ebuild} (96%) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.80.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.80.5-r1.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.80.5.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.80.5-r1.ebuild index 5a2471c0ab..a01f7b7496 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.80.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.80.5-r1.ebuild @@ -21,6 +21,9 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 RDEPEND=" ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/packaging[${PYTHON_USEDEP}] + ') " DEPEND="${RDEPEND}" BDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.84.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.84.3.ebuild index bb3d561f1b..8c51c5e119 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.84.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.84.3.ebuild @@ -17,7 +17,7 @@ S="${WORKDIR}/glib-${PV}/gio/gdbus-2.0/codegen" LICENSE="LGPL-2+" 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" RDEPEND=" ${PYTHON_DEPS} From 9c575a4d282178b89c5444808c75ea07e05d0728 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:09:15 +0000 Subject: [PATCH 061/131] dev-util/glib-utils: Sync with Gentoo It's from Gentoo commit 84f098851741c759ad1e100d5cdc962ca979317a. --- .../portage-stable/dev-util/glib-utils/glib-utils-2.84.3.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.84.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.84.3.ebuild index a8beae9e14..de0e2333ec 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.84.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.84.3.ebuild @@ -14,7 +14,7 @@ LICENSE="LGPL-2.1+" SLOT="0" # /usr/bin utilities that can't be parallel installed by their nature REQUIRED_USE="${PYTHON_REQUIRED_USE}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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" RDEPEND="${PYTHON_DEPS}" DEPEND="${RDEPEND}" From 708166ab3e1e416615382db2394a833de9c1ec27 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:09:15 +0000 Subject: [PATCH 062/131] dev-util/maturin: Sync with Gentoo It's from Gentoo commit 028e81f4e66e7f5c9ad7e2d447aa4698a81a4540. --- .../portage-stable/dev-util/maturin/Manifest | 2 + .../dev-util/maturin/maturin-1.9.0.ebuild | 157 ++++++++++++++++++ 2 files changed, 159 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.9.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-util/maturin/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/maturin/Manifest index 556b2e0274..f81b7a1f00 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/maturin/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/maturin/Manifest @@ -4,3 +4,5 @@ DIST maturin-1.8.6-vendor.tar.xz 15035340 BLAKE2B 0bc4016f460c704ac2be81af27842f DIST maturin-1.8.6.gh.tar.gz 551946 BLAKE2B 4fbeadeb25b69e99286238c9f7b7acb2bdde05242af760a0279664277334831a8cd03db49ddb3a0d528b6acd827d3ee3863e283318270ee53c3710c103c7461f SHA512 2616b3bcdbb96c77a3efeda5a24841675fded9d1299507c64905c94e57af15afa855c329f013a1e36527c2b8de4bf7acfb060e5d2828558da658a7b86d88bf8f DIST maturin-1.8.7-vendor.tar.xz 15558504 BLAKE2B d8cd7808544f19834248e05a1ad45f42947520147bb2a36d590dd9273f0c16cc90690a7a1a8a6a7ef1c64c41b5ef96616277b6c4122b76ed99c37bb68da06d44 SHA512 ad72f016d78e4deef871b4a5e05585c87d123c16caba7caf943d5b9cfdbfa36f22ea94b50c588ce09d51e3931bfbd88488d153cabd1c85afb82f944ee48a5227 DIST maturin-1.8.7.gh.tar.gz 553665 BLAKE2B 029c4948d0e45f1ce404fcd586a92db035e1d2b1e56c719b3a240cae79c6335a1d0ed36b5e973979da429406b07fc8292ba937c5d06f0f9140bd9d5a02874208 SHA512 5f563273d6970fbcd69b363475a393f5dc3d6c7df844c1f33e4e0f2c07228462430c22e21ab13664e664262df5fafb1f9ab6118a31fcd8cb37de0851bc670c39 +DIST maturin-1.9.0-vendor.tar.xz 15629684 BLAKE2B aa12b79df4073246f48377a8630532da497f66d13f2b6417cf40c2e955a7c454d91392fb49d49493928e0619fa9248720e87a7aa52c37df1a2fef5667a356a6f SHA512 ba8378e772d0dcc10a321e54b6a9f69043ba1451d7e538c9a53030328aeccce16afa877a3be27c578f6ef7040a16f7c45143764a592fffc081596f5304116074 +DIST maturin-1.9.0.gh.tar.gz 559678 BLAKE2B d4b79649f8d347a0504bb0eb3a883e6747e825928cbefeaa1396cbfd4a07efe0e9830f117eb1ed8c7ff0b6cf45ebe3d6148c9929280e290b1ffe515e2514881f SHA512 509fb64bcd1c24239e0c7e1e1af8ada99f6ba59e37af70e0484d060e88860b4df69dcd8ed48c4bfd4f027d368e2eb5938501920d820377f31617218c7717acc3 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.9.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.9.0.ebuild new file mode 100644 index 0000000000..0b54cdcc1f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.9.0.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_UPSTREAM_PEP517=standalone +PYTHON_COMPAT=( pypy3_11 python3_{11..14} ) +RUST_MIN_VER=1.75.0 +inherit cargo distutils-r1 flag-o-matic shell-completion toolchain-funcs + +DESCRIPTION="Build and publish crates with pyo3, rust-cpython and cffi bindings" +HOMEPAGE="https://www.maturin.rs/" +SRC_URI=" + https://github.com/PyO3/maturin/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz + https://dev.gentoo.org/~ionen/distfiles/${P}-vendor.tar.xz +" +# ^ tarball also includes test-crates' Cargo.lock(s) crates for tests + +LICENSE="|| ( Apache-2.0 MIT ) doc? ( CC-BY-4.0 OFL-1.1 )" +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT + MPL-2.0 Unicode-3.0 Unicode-DFS-2016 +" # crates +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="doc +ssl test" +RESTRICT="!test? ( test )" + +RDEPEND=" + app-arch/xz-utils + app-arch/zstd:= + ssl? ( dev-libs/openssl:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + doc? ( app-text/mdbook ) + test? ( + $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*') + dev-python/boltons[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + dev-vcs/git + elibc_musl? ( dev-util/patchelf ) + ) +" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_prepare() { + distutils-r1_src_prepare + + # we build the Rust executable (just once) via cargo_src_compile + sed -i -e '/setuptools_rust/d' -e '/rust_extensions/d' setup.py || die + + if use test; then + # used to prevent use of network during tests, and silence pip + # if it finds unrelated issues with system packages (bug #913613) + cat > "${T}"/pip.conf <<-EOF || die + [global] + quiet = 2 + + [install] + no-index = yes + no-dependencies = yes + EOF + + # uv does not work easily w/ network-sandbox, force virtualenv + sed -i 's/"uv"/"uv-not-found"/' tests/common/mod.rs || die + + # increase timeouts for tests (bug #950332) + sed -i '/^#\[timeout/s/secs(60)/secs(300)/' tests/run.rs || die + + # used by *git_sdist_generator tests + git init -q || die + git config --global user.email "larry@gentoo.org" || die + git config --global user.name "Larry the Cow" || die + git add . || die + git commit -qm init || die + fi +} + +src_configure() { + export OPENSSL_NO_VENDOR=1 + export ZSTD_SYS_USE_PKG_CONFIG=1 + + # https://github.com/rust-lang/stacker/issues/79 + use s390 && ! is-flagq '-march=*' && + append-cflags $(test-flags-CC -march=z10) + + local myfeatures=( + # like release.yml + native-tls for better platform support than rustls + full + password-storage + $(usev ssl native-tls) + ) + + cargo_src_configure --no-default-features +} + +python_compile_all() { + cargo_src_compile + + use !doc || mdbook build -d html guide || die + + if ! tc-is-cross-compiler; then + local maturin=$(cargo_target_dir)/maturin + "${maturin}" completions bash > "${T}"/${PN} || die + "${maturin}" completions fish > "${T}"/${PN}.fish || die + "${maturin}" completions zsh > "${T}"/_${PN} || die + else + ewarn "shell completion files were skipped due to cross-compilation" + fi +} + +python_test() { + local -x MATURIN_TEST_PYTHON=${EPYTHON} + local -x PIP_CONFIG_FILE=${T}/pip.conf + local -x VIRTUALENV_SYSTEM_SITE_PACKAGES=1 + + # need this for (new) python versions not yet recognized by pyo3 + local -x PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 + + local skip=( + # picky cli output test that easily benignly fail (bug #937992) + --skip cli_tests + # avoid need for wasm over a single hello world test + --skip integration_wasm_hello_world + # fragile depending on rust version, also wants libpypy*-c.so for pypy + --skip pyo3_no_extension_module + # unimportant tests that require uv, and not obvious to get it + # to work with network-sandbox (not worth the trouble) + --skip develop_hello_world::case_2 + --skip develop_pyo3_ffi_pure::case_2 + # compliance test using zig requires an old libc to pass (bug #946967) + --skip integration_pyo3_mixed_py_subdir + # fails on sparc since rust-1.74 (bug #934573), skip for now given + # should not affect the pep517 backend which is all we need on sparc + $(usev sparc '--skip build_context::test::test_macosx_deployment_target') + ) + + cargo_src_test -- "${skip[@]}" +} + +python_install_all() { + cargo_src_install + + dodoc Changelog.md README.md + use doc && dodoc -r guide/html + + if ! tc-is-cross-compiler; then + dobashcomp "${T}"/${PN} + dofishcomp "${T}"/${PN}.fish + dozshcomp "${T}"/_${PN} + fi +} From 71354409151033cfb271d9a162d54586b8493f3d Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:09:20 +0000 Subject: [PATCH 063/131] dev-util/pkgcheck: Sync with Gentoo It's from Gentoo commit 76391ca0c6ca6f20d8ea3e0db1222a4f6389456b. --- .../portage-stable/dev-util/pkgcheck/pkgcheck-0.10.36.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.36.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.36.ebuild index c6d6e8c677..512571dac3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.36.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.36.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then https://github.com/pkgcore/pkgcheck.git" inherit git-r3 else - 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" inherit pypi fi From 782fdede1e1956986d7cbb7daeabf979d869ca88 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:09:20 +0000 Subject: [PATCH 064/131] dev-util/pkgconf: Sync with Gentoo It's from Gentoo commit a8abae6c9f23b61e1930b4908ef97d0950c7913f. --- .../portage-stable/dev-util/pkgconf/Manifest | 4 +- .../pkgconf/files/pkgconf-2.5.1-buf_sz.patch | 19 +++++ .../dev-util/pkgconf/pkgconf-1.8.1.ebuild | 73 ------------------- .../dev-util/pkgconf/pkgconf-2.2.0.ebuild | 73 ------------------- ...conf-2.1.1.ebuild => pkgconf-2.5.1.ebuild} | 14 ++-- .../dev-util/pkgconf/pkgconf-9999.ebuild | 2 +- 6 files changed, 30 insertions(+), 155 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/pkgconf/files/pkgconf-2.5.1-buf_sz.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-1.8.1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.2.0.ebuild rename sdk_container/src/third_party/portage-stable/dev-util/pkgconf/{pkgconf-2.1.1.ebuild => pkgconf-2.5.1.ebuild} (78%) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/Manifest index 5302cd53ff..083270b5dd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/Manifest @@ -1,5 +1,3 @@ -DIST pkgconf-1.8.1.tar.xz 302372 BLAKE2B 591961f0b1fd185834fd8e2a672199cffc035139599817b1d56d571300d2aa800a719c9477aac4023dfade597ad3cc3b45360babe57498977568ee57077c7bbe SHA512 7a7d5204c1c9bfb6578bda56f299d1fa0300e69a133a65730b10ad77aefbf26fceb74ae77cecda326b3ed5db5736f27fcce94764b3a56d40f4bb99fecdc80bba -DIST pkgconf-2.1.1.tar.xz 311956 BLAKE2B b59e57b1118bb75bc946a1e65e037a172c2ade3a7b9da8404b3598833cd091600045de151f2db06453b23563501b2dff7fdda8967e14c0c933ac50d28ddb3cd0 SHA512 cdf0998cd87f6d5e5a6560037eb847fd9613d237858d26eec321c42f54ca40ac72b6749c48c5b32611841d701393b1217bdb6c0cba5efd2c138be10d0e8fb32d -DIST pkgconf-2.2.0.tar.xz 311920 BLAKE2B c2a89e932e7671785799f4b82beb75e92f246c152c03e88c847cedef39f2123da0544ff914d1c1512b8616f8b8cfd9f5115b33560042bcfa7ac5f78c0ceb2a27 SHA512 c4ff254c7323bdebc2595037df60e33f17fc5c222d7500a4b9d8b18c8b451ac35cd3ac90d31c920c23e9495ece2b82422de61e13286d43de3a5d1fe8211bd944 DIST pkgconf-2.3.0.tar.xz 316160 BLAKE2B cca3476df0b79cdbca798ed3a067611414e9b422e8347d0f490e7c4d0c43cdd2c7b586ac11e028a8df365d4ea4194f46b1d9fc0acd0f5fd6b4a5548673a8f853 SHA512 869fe0a7a2e06e9da37ff672b991dad60a9a7c9df2c65b78b2aa70dba10920650fb946d5a9c8019ea54a510835acc2eb4244092fa36d0339bd6764ff84e8542c DIST pkgconf-2.4.3.tar.xz 321352 BLAKE2B 5ca90b1b97e5516369e7042952418d5046faee02ff67144b0805c3c007507c42400825cfe73ac2c4df3f11dab4d5abba24b52abe930a3b25abbcbbddb3a06a31 SHA512 7e59b6aaf875ec3fc8c225985937384d2aef57d9daf64b7ea88242bf1a11349fe52cf6d1238d728f0509599982d69c761a0f01e8f8e24de028db58288760896f +DIST pkgconf-2.5.1.tar.xz 328064 BLAKE2B 0995c1d649876d27e9275a77b702c0c100979c7b83fb7b58c925ca287be5e1568dd7ae2781dac51beb9e84a41d4424428f0542e4de488c45d005d602e76e1277 SHA512 e654c3a460e5f0f801e8ac43ad9086f397d1da0553186ff05f5f0e18ffdac99fb652fd9b6c0379db4bc8307699699d69bc66d13cc85a4a6b0cd36462f5948a1d diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/files/pkgconf-2.5.1-buf_sz.patch b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/files/pkgconf-2.5.1-buf_sz.patch new file mode 100644 index 0000000000..5a377c3f36 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/files/pkgconf-2.5.1-buf_sz.patch @@ -0,0 +1,19 @@ +https://github.com/pkgconf/pkgconf/commit/aa6b5c4ca9cb5ea723b5c11e68a385fe46fd54a8 + +From aa6b5c4ca9cb5ea723b5c11e68a385fe46fd54a8 Mon Sep 17 00:00:00 2001 +From: Ariadne Conill +Date: Tue, 24 Jun 2025 16:31:21 -0700 +Subject: [PATCH] libpkgconf: dependency: make sure buf_sz is at least 1 byte + +--- a/libpkgconf/dependency.c ++++ b/libpkgconf/dependency.c +@@ -321,7 +321,7 @@ pkgconf_dependency_parse_str(pkgconf_client_t *client, pkgconf_list_t *deplist_h + + memset(cmpname, '\0', sizeof cmpname); + +- buf_sz = strlen(depends) * 2; ++ buf_sz = (strlen(depends) * 2) + 1; + buf = calloc(1, buf_sz); + if (buf == NULL) + return; + diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-1.8.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-1.8.1.ebuild deleted file mode 100644 index 01df0c8e14..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-1.8.1.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 2012-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit multilib multilib-minimal - -if [[ ${PV} == "9999" ]] ; then - inherit autotools git-r3 - EGIT_REPO_URI="https://gitea.treehouse.systems/ariadne/pkgconf.git" -else - SRC_URI="https://distfiles.ariadne.space/${PN}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi - -DESCRIPTION="pkg-config compatible replacement with no dependencies other than C99" -HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf" - -LICENSE="ISC" -SLOT="0/3" -IUSE="test" - -# tests require 'kyua' -RESTRICT="!test? ( test )" - -BDEPEND=" - test? ( - dev-libs/atf - dev-util/kyua - ) -" -RDEPEND=" - !dev-util/pkgconfig -" - -MULTILIB_CHOST_TOOLS=( - /usr/bin/pkgconf$(get_exeext) -) - -src_prepare() { - default - - [[ ${PV} == "9999" ]] && eautoreconf - MULTILIB_CHOST_TOOLS+=( - /usr/bin/pkg-config$(get_exeext) - ) -} - -multilib_src_configure() { - local ECONF_SOURCE="${S}" - local args=( - --with-system-includedir="${EPREFIX}/usr/include" - --with-system-libdir="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)" - ) - econf "${args[@]}" -} - -multilib_src_test() { - unset PKG_CONFIG_LIBDIR PKG_CONFIG_PATH - default -} - -multilib_src_install() { - default - - dosym pkgconf$(get_exeext) /usr/bin/pkg-config$(get_exeext) - dosym pkgconf.1 /usr/share/man/man1/pkg-config.1 -} - -multilib_src_install_all() { - einstalldocs - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.2.0.ebuild deleted file mode 100644 index 23b3cffe18..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.2.0.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 2012-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit multilib multilib-minimal - -if [[ ${PV} == 9999 ]] ; then - inherit autotools git-r3 - EGIT_REPO_URI="https://gitea.treehouse.systems/ariadne/pkgconf.git" -else - SRC_URI="https://distfiles.ariadne.space/${PN}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi - -DESCRIPTION="pkg-config compatible replacement with no dependencies other than C99" -HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf" - -LICENSE="ISC" -SLOT="0/5" -IUSE="+native-symlinks test" - -RESTRICT="!test? ( test )" - -BDEPEND=" - test? ( - dev-libs/atf - dev-util/kyua - ) -" -RDEPEND="!dev-util/pkgconfig" - -src_prepare() { - default - - [[ ${PV} == 9999 ]] && eautoreconf - - MULTILIB_CHOST_TOOLS=( - /usr/bin/pkgconf$(get_exeext) - /usr/bin/pkg-config$(get_exeext) - ) -} - -multilib_src_configure() { - local myeconfargs=( - --with-system-includedir="${EPREFIX}/usr/include" - --with-system-libdir="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)" - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_test() { - unset PKG_CONFIG_LIBDIR PKG_CONFIG_PATH - default -} - -multilib_src_install() { - default - - dosym pkgconf$(get_exeext) /usr/bin/pkg-config$(get_exeext) - dosym pkgconf.1 /usr/share/man/man1/pkg-config.1 -} - -multilib_src_install_all() { - einstalldocs - - if ! use native-symlinks; then - rm "${ED}"/usr/bin/{pkgconf,pkg-config}$(get_exeext) || die - fi - - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.1.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.5.1.ebuild similarity index 78% rename from sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.1.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.5.1.ebuild index 279adf9227..6654342ab9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.1.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.5.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2012-2024 Gentoo Authors +# Copyright 2012-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -7,17 +7,17 @@ inherit multilib multilib-minimal if [[ ${PV} == 9999 ]] ; then inherit autotools git-r3 - EGIT_REPO_URI="https://gitea.treehouse.systems/ariadne/pkgconf.git" + EGIT_REPO_URI="https://github.com/pkgconf/pkgconf" else SRC_URI="https://distfiles.ariadne.space/${PN}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-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 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="pkg-config compatible replacement with no dependencies other than C99" -HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf" +HOMEPAGE="https://github.com/pkgconf/pkgconf" LICENSE="ISC" -SLOT="0/4" +SLOT="0/7" IUSE="+native-symlinks test" RESTRICT="!test? ( test )" @@ -30,6 +30,10 @@ BDEPEND=" " RDEPEND="!dev-util/pkgconfig" +PATCHES=( + "${FILESDIR}"/${P}-buf_sz.patch +) + src_prepare() { default diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-9999.ebuild index c2e021d2a3..0b8ad1b53b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-9999.ebuild @@ -17,7 +17,7 @@ DESCRIPTION="pkg-config compatible replacement with no dependencies other than C HOMEPAGE="https://github.com/pkgconf/pkgconf" LICENSE="ISC" -SLOT="0/6" +SLOT="0/7" IUSE="+native-symlinks test" RESTRICT="!test? ( test )" From b9878223e9205b8a50d7b4ca21a0cca1484ff76b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:09:22 +0000 Subject: [PATCH 065/131] dev-vcs/git: Sync with Gentoo It's from Gentoo commit d62937e2acf00f5e492f23d85c11d268b6a411c5. --- .../portage-stable/dev-vcs/git/Manifest | 3 + .../dev-vcs/git/git-2.50.0.ebuild | 499 ++++++++++++++++++ .../dev-vcs/git/git-9999.ebuild | 49 +- 3 files changed, 528 insertions(+), 23 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.50.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/Manifest b/sdk_container/src/third_party/portage-stable/dev-vcs/git/Manifest index c92741e4dc..9b7047f2b9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/Manifest @@ -1,3 +1,6 @@ DIST git-2.49.0.tar.xz 7771796 BLAKE2B c9a58cb4bcbc33d3c6ede2ce6e6131af3998669419c8d8e4317c52ee14ae4bfcdd209780c6dda31cd772bdb703096729de17f21579bf7f0bb830bc6c9e1d7ffd SHA512 81a16415890305fc6cfd14ade8bee76779feba01f51c5446f40c14211654342c68ef0911859fa6e8e9ff0a718847bb44ee4156d03a19c9165df19ba91e09e1f0 +DIST git-2.50.0.tar.xz 7878256 BLAKE2B 2ee60be2d0e749e898016f44107473d6e4dc30f70c73a94b3433f5a479a5a8989d000ca4084fabd32a7d0ace0914136c5c023bd72946ef7003affd535a98b5ee SHA512 a8fdf5b0ab156822324b76aa7200071eb7244f7714807c39f05bc3361bc261272a6fdd1d0bc3a097dbbf27e92c02eda612aac17cb2a45ddfa222d74937cac67f DIST git-htmldocs-2.49.0.tar.xz 1602472 BLAKE2B d3b0d49b7f7046dfd802145e37760d31ef048ecbbfb75e5bf904edd8d0d0cad56c118d843e06d1d72b159917f6bd0f6fa2413bba3f6ba0de041d8e8fdc247f94 SHA512 effc0ecb3e84febb80de208ad4b8bb3859c171aedac24fdd4f52c07d33dedef16c20ac16bc6c6fbbb9d30b0926c08be22c78405614732d5e2cf24e90bd93384f +DIST git-htmldocs-2.50.0.tar.xz 1615020 BLAKE2B 2bad7ed783fd466d782c570e6d95c6e9860db0e4e4fe4d3fd995c0e22cd99aeade6671cd2ed58a8daf8903561b72cbdf212cf60ac3b431012f31da0ea8e24d25 SHA512 1b74a36b3ae2beedc5eb1f66bd31fc4f0d332cf48238d33412650b952086eb1937dbb4ab28a9ec968cc068a7454d03a7f17df38a0555aa526bbfb63f3a328d1f DIST git-manpages-2.49.0.tar.xz 594760 BLAKE2B c5a1810e1369cc94c93716db5baf9d217e9c47c824cab8e978128ff7e8fe38119b64dd43fe4186e561f2b230d9e82ec254da0080b9a568dc31ae7ea73e46d612 SHA512 6347bf0d580634c3c78ff93578e088b31ccd5ebd844678a1255f82c5ceb1a301829701daf4212d8ca0f508fcd03cfef52b727a11f1c6d37346adbd709d0b041a +DIST git-manpages-2.50.0.tar.xz 598416 BLAKE2B bdaacecb12b0237e810d3515fc6822f0ec161645fff15ff919356a6146dee75fd3952ee77d809b22c8daa0e1ca78d6de6a0002442b54ab1f584365e5806bc8e4 SHA512 573a4450d4c11be2ee89b921ee8b3d3559e207b64683263d43c51522b55cc5e2d09f3bfa95fed187da890e1442dd8e2ef48df15c9472c64932271e59cdcf4dd8 diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.50.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.50.0.ebuild new file mode 100644 index 0000000000..c890d82170 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.50.0.ebuild @@ -0,0 +1,499 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +GENTOO_DEPEND_ON_PERL=no + +# bug #329479: git-remote-testgit is not multiple-version aware +PYTHON_COMPAT=( python3_{11..14} ) + +inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd meson + +PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git" + + inherit git-r3 + # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches. + # See https://git-scm.com/docs/gitworkflows#_graduation + # In order of stability: + # 9999-r0: maint + # 9999-r1: master + # 9999-r2: next + # 9999-r3: seen + case ${PVR} in + 9999) EGIT_BRANCH=maint ;; + 9999-r1) EGIT_BRANCH=master ;; + 9999-r2) EGIT_BRANCH=next;; + 9999-r3) EGIT_BRANCH=seen ;; + esac +fi + +MY_PV="${PV/_rc/.rc}" +MY_P="${PN}-${MY_PV}" + +DOC_VER="${MY_PV}" + +DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency" +HOMEPAGE="https://www.git-scm.com/" + +if [[ ${PV} != *9999 ]]; then + SRC_URI_SUFFIX="xz" + SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git" + + [[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing' + + SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}" + SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}" + SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )" + + if [[ ${PV} != *_rc* ]] ; 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 +fi + +S="${WORKDIR}"/${MY_P} + +LICENSE="GPL-2" +SLOT="0" +IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv mediawiki +nls +pcre perforce +perl +safe-directory selinux subversion test tk +webdav xinetd" + +# Common to both DEPEND and RDEPEND +DEPEND=" + dev-libs/openssl:= + sys-libs/zlib + curl? ( + net-misc/curl + webdav? ( dev-libs/expat ) + ) + keyring? ( + app-crypt/libsecret + dev-libs/glib:2 + ) + iconv? ( virtual/libiconv ) + pcre? ( dev-libs/libpcre2:= ) + perl? ( dev-lang/perl:=[-build(-)] ) + tk? ( dev-lang/tk:= ) +" +RDEPEND=" + ${DEPEND} + gpg? ( app-crypt/gnupg ) + perl? ( + dev-perl/Error + dev-perl/MailTools + dev-perl/Authen-SASL + >=virtual/perl-libnet-3.110.0-r4[ssl] + cgi? ( + dev-perl/CGI + highlight? ( app-text/highlight ) + ) + cvs? ( + >=dev-vcs/cvsps-2.1:0 + dev-perl/DBI + dev-perl/DBD-SQLite + ) + mediawiki? ( + dev-perl/DateTime-Format-ISO8601 + dev-perl/HTML-Tree + dev-perl/MediaWiki-API + ) + subversion? ( + dev-vcs/subversion[-dso(-),perl] + dev-perl/libwww-perl + dev-perl/TermReadKey + ) + ) + perforce? ( ${PYTHON_DEPS} ) + selinux? ( sec-policy/selinux-git ) +" + +# This is how info docs are created with Git: +# .txt/asciidoc --(asciidoc)---------> .xml/docbook +# .xml/docbook --(docbook2texi.pl)--> .texi +# .texi --(makeinfo)---------> .info +BDEPEND=" + doc? ( + app-text/asciidoc + app-text/docbook2X + app-text/xmlto + sys-apps/texinfo + ) + keyring? ( virtual/pkgconfig ) + nls? ( sys-devel/gettext ) + test? ( + app-arch/unzip + app-crypt/gnupg + dev-lang/perl + ) +" + +# Live ebuild builds man pages and HTML docs, additionally +if [[ ${PV} == *9999 ]]; then + BDEPEND+=" app-text/asciidoc" +fi + +SITEFILE="50${PN}-gentoo.el" + +REQUIRED_USE=" + cgi? ( perl ) + cvs? ( perl ) + mediawiki? ( perl ) + perforce? ( ${PYTHON_REQUIRED_USE} ) + subversion? ( perl ) + webdav? ( curl ) +" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.48.1-macos-no-fsmonitor.patch + + # This patch isn't merged upstream but is kept in the ebuild by + # demand from developers. It's opt-in (needs a config option) + # and the documentation mentions that it is a Gentoo addition. + "${FILESDIR}"/${PN}-2.50.0-diff-implement-config.diff.renames-copies-harder.patch +) + +pkg_setup() { + if use subversion && has_version "dev-vcs/subversion[dso]" ; then + ewarn "Per Gentoo bugs #223747, #238586, when subversion is built" + ewarn "with USE=dso, there may be weird crashes in git-svn. You" + ewarn "have been warned!" + fi + + if use perforce ; then + python-single-r1_pkg_setup + fi +} + +src_unpack() { + if [[ ${PV} != *9999 ]] ; then + unpack ${MY_P}.tar.${SRC_URI_SUFFIX} + + cd "${S}" || die + unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} + + if use doc ; then + pushd "${S}"/Documentation &>/dev/null || die + unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} + popd &>/dev/null || die + fi + else + git-r3_src_unpack + fi + +} + +src_prepare() { + if ! use safe-directory ; then + # This patch neuters the "safe directory" detection. + # bugs #838271, #838223 + PATCHES+=( + "${FILESDIR}"/git-2.46.2-unsafe-directory.patch + ) + fi + + default +} + +src_configure() { + local contrib=( + completion + subtree + + $(usev perl 'contacts') + ) + local credential_helpers=( + $(usev keyring 'libsecret') + $(usev perl 'netrc') + ) + + # Needs macOS Frameworks that can't currently be built with GCC. + if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then + credential_helpers+=( osxkeychain ) + fi + + local native_file="${T}"/meson.ini.local + cat >> ${native_file} <<-EOF || die + [binaries] + # We don't want to bake /usr/bin/sh from usrmerged systems into + # binaries. /bin/sh is required by POSIX. + sh='/bin/sh' + EOF + + local emesonargs=( + --native-file "${native_file}" + + $(meson_feature curl) + $(meson_feature cgi gitweb) + $(meson_feature webdav expat) + $(meson_feature iconv) + $(meson_feature nls gettext) + $(meson_feature pcre pcre2) + $(meson_feature perl) + $(meson_feature perforce python) + $(meson_use test tests) + + -Dcontrib=$(IFS=, ; echo "${contrib[*]}" ) + -Dcredential_helpers=$(IFS=, ; echo "${credential_helpers[*]}" ) + + -Dmacos_use_homebrew_gettext=false + -Dperl_cpan_fallback=false + # TODO: allow zlib-ng + -Dzlib_backend=zlib + ) + + [[ ${CHOST} == *-darwin* ]] && emesonargs+=( -Dfsmonitor=false ) + + # For non-live, we use a downloaded docs tarball instead. + if [[ ${PV} == *9999 ]] || use doc ; then + emesonargs+=( + -Ddocs="man$(usev doc ',html')" + ) + fi + + if [[ ${PV} != *9999 ]] ; then + # Non-live ebuilds download the sources from a tarball which does not + # include a .git directory. Coccinelle assumes it exists and fails + # otherwise. + # + # Fixes https://bugs.gentoo.org/952004 + emesonargs+=( + -Dcoccinelle=disabled + ) + fi + + meson_src_configure + + if use tk ; then + local tkdir + for tkdir in git-gui gitk-git ; do + ( + EMESON_SOURCE="${S}"/${tkdir} + BUILD_DIR="${WORKDIR}"/${tkdir}_build + emesonargs=() + meson_src_configure + ) + done + fi +} + +git_emake() { + local mymakeargs=( + prefix="${EPREFIX}"/usr + htmldir="${EPREFIX}"/usr/share/doc/${PF}/html + sysconfdir="${EPREFIX}"/etc + perllibdir="$(use perl && perl_get_raw_vendorlib)" + + CC="$(tc-getCC)" + CFLAGS="${CFLAGS}" + LDFLAGS="${LDFLAGS}" + PKG_CONFIG="$(tc-getPKG_CONFIG)" + OPTAR="$(tc-getAR)" + OPTCC="$(tc-getCC)" + OPTCFLAGS="${CFLAGS}" + OPTLDFLAGS="${LDFLAGS}" + + PERL_PATH="${EPREFIX}/usr/bin/perl" + PERL_MM_OPT="" + + V=1 + + "$@" + ) + + emake "${mymakeargs[@]}" +} + +src_compile() { + meson_src_compile + + if use mediawiki ; then + git_emake -C contrib/mw-to-git + fi + + if use tk ; then + local tkdir + for tkdir in git-gui gitk-git ; do + ( + EMESON_SOURCE="${S}"/${tkdir} + BUILD_DIR="${WORKDIR}"/${tkdir}_build + meson_src_compile + ) + done + fi + + if use doc ; then + # Workaround fragments that still use the Makefile and can't + # find the bits from Meson's out-of-source build + ln -s "${BUILD_DIR}"/Documentation/asciidoc.conf "${S}"/Documentation/asciidoc.conf || die + fi + + git_emake -C contrib/diff-highlight +} + +src_test() { + # t0610-reftable-basics.sh uses $A + local -x A= + + meson_src_test +} + +src_install() { + meson_src_install + + if use doc ; then + cp -r "${ED}"/usr/share/doc/git-doc/. "${ED}"/usr/share/doc/${PF}/html || die + rm -rf "${ED}"/usr/share/doc/git-doc/ || die + fi + + # Depending on the tarball and manual rebuild of the documentation, the + # manpages may exist in either OR both of these directories. + find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157] + find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157] + dodoc README* Documentation/{SubmittingPatches,CodingGuidelines} + + local d + for d in / /howto/ /technical/ ; do + docinto ${d} + dodoc Documentation${d}*.adoc + done + docinto / + + newbashcomp contrib/completion/git-completion.bash ${PN} + bashcomp_alias git gitk + # Not really a bash-completion file (bug #477920) + # but still needed uncompressed (bug #507480) + insinto /usr/share/${PN} + doins contrib/completion/git-prompt.sh + + #dobin contrib/fast-import/git-p4 # Moved upstream + #dodoc contrib/fast-import/git-p4.txt # Moved upstream + newbin contrib/fast-import/import-tars.perl import-tars + exeinto /usr/libexec/git-core/ + newexe contrib/git-resurrect.sh git-resurrect + + # diff-highlight + dobin contrib/diff-highlight/diff-highlight + newdoc contrib/diff-highlight/README README.diff-highlight + + # git-jump + exeinto /usr/libexec/git-core/ + doexe contrib/git-jump/git-jump + newdoc contrib/git-jump/README git-jump.txt + + dodir /usr/share/${PN}/contrib + # The following are excluded: + # completion - installed above + # diff-highlight - done above + # emacs - removed upstream + # examples - these are stuff that is not used in Git anymore actually + # git-jump - done above + # gitview - installed above + # p4import - excluded because fast-import has a better one + # patches - stuff the Git guys made to go upstream to other places + # persistent-https - TODO + # mw-to-git - TODO + # subtree - built seperately + # svnimport - use git-svn + # thunderbird-patch-inline - fixes thunderbird + local contrib_objects=( + buildsystems + fast-import + hooks + remotes2config.sh + rerere-train.sh + stats + workdir + ) + local i + for i in "${contrib_objects[@]}" ; do + cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}" + done + + if use cgi ; then + # We used to install in /usr/share/${PN}/gitweb + # but upstream installs in /usr/share/gitweb + # so we will install a symlink and use their location for compat with other + # distros + dosym ../gitweb /usr/share/${PN}/gitweb + + # INSTALL discusses configuration issues, not just installation + docinto / + newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb + newdoc "${S}"/gitweb/README README.gitweb + + for d in "${ED}"/usr/lib{,64}/perl5/ ; do + if [[ -d "${d}" ]] ; then + find "${d}" -name .packlist -delete || die + fi + done + else + rm -rf "${ED}"/usr/share/gitweb + fi + + if use perl ; then + dodir "$(perl_get_vendorlib)" + mv "${ED}"/usr/share/perl5/Git.pm "${ED}/$(perl_get_vendorlib)" || die + mv "${ED}"/usr/share/perl5/Git "${ED}/$(perl_get_vendorlib)" || die + fi + + if use mediawiki ; then + git_emake -C contrib/mw-to-git DESTDIR="${D}" install + fi + + if ! use subversion ; then + rm -f "${ED}"/usr/libexec/git-core/git-svn \ + "${ED}"/usr/share/man/man1/git-svn.1* + fi + + if use xinetd ; then + insinto /etc/xinetd.d + newins "${FILESDIR}"/git-daemon.xinetd git-daemon + fi + + if ! use prefix ; then + newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon + newconfd "${FILESDIR}"/git-daemon.confd git-daemon + systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service" + systemd_dounit "${FILESDIR}/git-daemon.socket" + fi + + if use tk ; then + local tkdir + for tkdir in git-gui gitk-git ; do + ( + EMESON_SOURCE="${S}"/${tkdir} + BUILD_DIR="${WORKDIR}"/${tkdir}_build + meson_src_install + ) + done + fi + + perl_delete_localpod + + # Remove disabled linguas + # we could remove sources in src_prepare, but install does not + # handle missing locale dir well + rm_loc() { + if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then + rm -r "${ED}/usr/share/locale/${1}" || die + fi + } + plocale_for_each_disabled_locale rm_loc +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]] ; then + elog "Please read /usr/share/bash-completion/completions/git for Git bash command" + elog "completion." + elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt" + elog "Note that the prompt bash code is now in that separate script" + fi + + optfeature_header "Some scripts require additional dependencies:" + optfeature git-quiltimport dev-util/quilt + optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx +} diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999.ebuild index 53022455c1..c890d82170 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999.ebuild @@ -149,12 +149,11 @@ RESTRICT="!test? ( test )" PATCHES=( "${FILESDIR}"/${PN}-2.48.1-macos-no-fsmonitor.patch - "${FILESDIR}"/${PN}-2.49.0-meson-use-test_environment-conditionally.patch # This patch isn't merged upstream but is kept in the ebuild by # demand from developers. It's opt-in (needs a config option) # and the documentation mentions that it is a Gentoo addition. - "${FILESDIR}"/${PN}-2.49.0-diff-implement-config.diff.renames-copies-harder.patch + "${FILESDIR}"/${PN}-2.50.0-diff-implement-config.diff.renames-copies-harder.patch ) pkg_setup() { @@ -269,12 +268,15 @@ src_configure() { meson_src_configure if use tk ; then - ( - EMESON_SOURCE="${S}"/gitk-git - BUILD_DIR="${WORKDIR}"/gitk-git_build - emesonargs=() - meson_src_configure - ) + local tkdir + for tkdir in git-gui gitk-git ; do + ( + EMESON_SOURCE="${S}"/${tkdir} + BUILD_DIR="${WORKDIR}"/${tkdir}_build + emesonargs=() + meson_src_configure + ) + done fi } @@ -313,14 +315,14 @@ src_compile() { fi if use tk ; then - git_emake -C git-gui gitexecdir="${EPREFIX}/usr/libexec/git-core" - - ( - EMESON_SOURCE="${S}"/gitk-git - BUILD_DIR="${WORKDIR}"/gitk-git_build - meson_src_compile - ) - + local tkdir + for tkdir in git-gui gitk-git ; do + ( + EMESON_SOURCE="${S}"/${tkdir} + BUILD_DIR="${WORKDIR}"/${tkdir}_build + meson_src_compile + ) + done fi if use doc ; then @@ -460,13 +462,14 @@ src_install() { fi if use tk ; then - ( - EMESON_SOURCE="${S}"/gitk-git - BUILD_DIR="${WORKDIR}"/gitk-git_build - meson_src_install - ) - - git_emake -C git-gui gitexecdir="${EPREFIX}/usr/libexec/git-core" DESTDIR="${D}" install + local tkdir + for tkdir in git-gui gitk-git ; do + ( + EMESON_SOURCE="${S}"/${tkdir} + BUILD_DIR="${WORKDIR}"/${tkdir}_build + meson_src_install + ) + done fi perl_delete_localpod From d6bb7a614a83206a8b6964b72ec8a9474a83d60a Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:09:36 +0000 Subject: [PATCH 066/131] eclass/cmake: Sync with Gentoo It's from Gentoo commit da8dbff8c15a12c4dc1f3e3bbc3995b58786491e. --- .../portage-stable/eclass/cmake.eclass | 118 ++++++++++++------ 1 file changed, 80 insertions(+), 38 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass b/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass index f327521e9f..2e799f1435 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass @@ -123,6 +123,12 @@ fi # If set, skip detection of CMakeLists.txt unsupported in CMake 4 in case of # false positives (e.g. unused outdated bundled libs). +# @ECLASS_VARIABLE: _CMAKE_MINREQVER_UNSUPPORTED +# @DEFAULT_UNSET +# @DESCRIPTION: +# Internal status set by _cmake_minreqver-lt(); is true if an unsupported +# cmake_minimum_required value was detected. + # @ECLASS_VARIABLE: CMAKE_QA_SRC_DIR_READONLY # @USER_VARIABLE # @DEFAULT_UNSET @@ -321,6 +327,25 @@ _cmake_check_build_dir() { mkdir -p "${BUILD_DIR}" || die } +# @FUNCTION: _cmake_minreqver-lt +# @USAGE: +# @INTERNAL +# @DESCRIPTION: +# Internal function for detecting occurrence of lower-than-specified +# in cmake_minimum_required of a given CMake file . +# Returns 0 if the regex matched (a lower-than-specified version found). +_cmake_minreqver-lt() { + local ver chk=1 + ver=$(sed -ne "/^\s*cmake_minimum_required/I{s/.*\(\.\.\.*\|\s\)\([0-9][0-9.]*\)\([)]\|\s\).*$/\2/p;q}" \ + "${2}" 2>/dev/null \ + ) + if [[ -n ${ver} ]] && ver_test "${ver}" -lt "${1}"; then + _CMAKE_MINREQVER_UNSUPPORTED=true + chk=0 + fi + return ${chk} +} + # @FUNCTION: _cmake_modify-cmakelists # @INTERNAL # @DESCRIPTION: @@ -332,18 +357,26 @@ _cmake_modify-cmakelists() { # Only edit the files once grep -qs "<<< Gentoo configuration >>>" "${CMAKE_USE_DIR}"/CMakeLists.txt && return 0 - # Comment out all set ( value) - find "${CMAKE_USE_DIR}" -name CMakeLists.txt -exec sed \ - -e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_BUILD_TYPE\([[:space:]].*)\|)\)/I{s/^/#_cmake_modify_IGNORE /g}' \ - -e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_COLOR_MAKEFILE[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE /g}' \ - -e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_INSTALL_PREFIX[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE /g}' \ - -e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_VERBOSE_MAKEFILE[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE /g}' \ - -i {} + || die "${LINENO}: failed to disable hardcoded settings" - local x - for x in $(find "${CMAKE_USE_DIR}" -name CMakeLists.txt -exec grep -l "^#_cmake_modify_IGNORE" {} +;); do - einfo "Hardcoded definition(s) removed in $(echo "${x}" | cut -c $((${#CMAKE_USE_DIR}+2))-):" - einfo "$(grep -se '^#_cmake_modify_IGNORE' ${x} | cut -c 22-99)" - done + local file + while read -d '' -r file ; do + # Comment out all set ( value) + sed \ + -e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_BUILD_TYPE\([[:space:]].*)\|)\)/I{s/^/#_cmake_modify_IGNORE /g}' \ + -e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_\(COLOR_MAKEFILE\|INSTALL_PREFIX\|VERBOSE_MAKEFILE\)[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE /g}' \ + -i "${file}" || die "failed to disable hardcoded settings" + readarray -t mod_lines < <(grep -se "^#_cmake_modify_IGNORE" "${file}") + if [[ ${#mod_lines[*]} -gt 0 ]]; then + einfo "Hardcoded definition(s) removed in ${file/${CMAKE_USE_DIR%\/}\//}:" + local mod_line + for mod_line in "${mod_lines[@]}"; do + einfo "${mod_line:22:99}" + done + fi + # Detect unsupported minimum CMake versions unless CMAKE_QA_COMPAT_SKIP is set + if [[ -z ${_CMAKE_MINREQVER_UNSUPPORTED} ]] && ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then + _cmake_minreqver-lt "3.5" "${file}" + fi + done < <(find "${CMAKE_USE_DIR}" -type f -iname "CMakeLists.txt" -print0 || die) # NOTE Append some useful summary here cat >> "${CMAKE_USE_DIR}"/CMakeLists.txt <<- _EOF_ || die @@ -403,6 +436,20 @@ cmake_src_prepare() { # Remove dangerous things. _cmake_modify-cmakelists + if [[ ${_CMAKE_MINREQVER_UNSUPPORTED} ]]; then + eqawarn "QA Notice: Compatibility with CMake < 3.5 has been removed from CMake 4," + eqawarn "${CATEGORY}/${PN} will fail to build w/o a fix." + eqawarn "See also tracker bug #951350; check existing bug or file a new one for" + eqawarn "this package, and take it upstream." + if has_version -b ">=dev-build/cmake-4"; then + eqawarn "CMake 4 detected; building with -DCMAKE_POLICY_VERSION_MINIMUM=3.5" + eqawarn "This is merely a workaround and *not* a permanent fix." + fi + if [[ ${EAPI} == 7 ]]; then + eqawarn "QA Notice: EAPI=7 detected; this package is now a prime last-rites target." + fi + fi + if [[ ${EAPI} == 7 ]]; then popd > /dev/null || die fi @@ -451,19 +498,6 @@ cmake_src_configure() { # Fix xdg collision with sandbox xdg_environment_reset - local file ver cmreq_isold - if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then - while read -d '' -r file ; do - ver=$(sed -ne "/cmake_minimum_required/I{s/.*\(\.\.\.*\|\s\)\([0-9.]*\)\([)]\|\s\).*$/\2/p;q}" \ - "${file}" 2>/dev/null \ - ) - - if [[ -n $ver ]] && ver_test $ver -lt "3.5"; then - cmreq_isold=true - fi - done < <(find "${CMAKE_USE_DIR}" -type f -iname "CMakeLists.txt" -print0) - fi - # Prepare Gentoo override rules (set valid compiler, append CPPFLAGS etc.) local build_rules=${BUILD_DIR}/gentoo_rules.cmake @@ -644,19 +678,8 @@ cmake_src_configure() { cmakeargs+=( -C "${CMAKE_EXTRA_CACHE_FILE}" ) fi - if [[ ${cmreq_isold} ]]; then - eqawarn "QA Notice: Compatibility with CMake < 3.5 has been removed from CMake 4," - eqawarn "${CATEGORY}/${PN} will fail to build w/o a fix." - eqawarn "See also tracker bug #951350; check existing bug or file a new one for" - eqawarn "this package, and take it upstream." - if [[ ${EAPI} == 7 ]]; then - eqawarn "QA Notice: EAPI=7 detected; this package is now a prime last-rites target." - fi - if has_version -b ">=dev-build/cmake-4"; then - eqawarn "QA Notice: CMake 4 detected; building with -DCMAKE_POLICY_VERSION_MINIMUM=3.5" - eqawarn "This is merely a workaround and *not* a permanent fix." - cmakeargs+=( -DCMAKE_POLICY_VERSION_MINIMUM=3.5 ) - fi + if [[ ${_CMAKE_MINREQVER_UNSUPPORTED} ]] && has_version -b ">=dev-build/cmake-4"; then + cmakeargs+=( -DCMAKE_POLICY_VERSION_MINIMUM=3.5 ) fi pushd "${BUILD_DIR}" > /dev/null || die @@ -784,6 +807,25 @@ cmake_src_install() { einstalldocs popd > /dev/null || die fi + + local file files=() + while read -d '' -r file ; do + # Detect unsupported minimum CMake versions unless CMAKE_QA_COMPAT_SKIP is set + if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then + _cmake_minreqver-lt "3.5" "${file}" && files+=( "${file#"${D}"}" ) + fi + done < <(find "${D}" -type f -iname "*.cmake" -print0 || die) + if [[ ${#files[*]} -gt 0 ]]; then + eqawarn "QA Notice: Package installs CMake module(s) incompatible with CMake 4," + eqawarn "breaking any packages relying on it:" + eqawarn + for file in "${files[@]}"; do + eqawarn " ${file}" + done + eqawarn + eqawarn "See also tracker bug #951350; check existing bug or file a new one for" + eqawarn "this package, and take it upstream." + fi } fi From 68f70b3d2370f67e1c16cc72036aec620dc3dc14 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:09:47 +0000 Subject: [PATCH 067/131] eclass/distutils-r1: Sync with Gentoo It's from Gentoo commit 3229e9f67a15f5a4e9031cb7813be36556537b58. --- .../portage-stable/eclass/distutils-r1.eclass | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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 ba97a95f57..b9366d1875 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 @@ -561,6 +561,20 @@ distutils_enable_tests() { test_pkgs+=' dev-python/pytest-xdist[${PYTHON_USEDEP}]' fi + local plugin + _set_epytest_plugins + for plugin in "${EPYTEST_PLUGINS[@]}"; do + case ${plugin} in + pkgcore) + plugin=sys-apps/${plugin} + ;; + *) + plugin=dev-python/${plugin} + ;; + esac + test_pkgs+=" ${plugin}[\${PYTHON_USEDEP}]" + done + if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then test_deps+=" ${test_pkgs//'${PYTHON_USEDEP}'/${PYTHON_USEDEP}}" else From 348646e5bede016c9d88f7d6155d6c7681236bbb Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:09:47 +0000 Subject: [PATCH 068/131] eclass/dot-a: Sync with Gentoo It's from Gentoo commit 8fe607898ee5928079884c274a17baf38c26c5af. --- .../src/third_party/portage-stable/eclass/dot-a.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/dot-a.eclass b/sdk_container/src/third_party/portage-stable/eclass/dot-a.eclass index f82e5da5be..ffd34d9e08 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/dot-a.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/dot-a.eclass @@ -91,7 +91,7 @@ strip-lto-bytecode() { mapfile -t -d '' files < <(find -H "${@}" -type f \( -name '*.a' -or -name '*.o' \) -print0) - toolchain_type= + local toolchain_type= tc-is-gcc && toolchain_type=gnu tc-is-clang && toolchain_type=llvm From 6fb2fdd3cff3d92e6c506730c1ee8a5d9f3edd60 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:11:14 +0000 Subject: [PATCH 069/131] eclass/perl-module: Sync with Gentoo It's from Gentoo commit 28b60013d6c03a8d25143efd9b9901cdad9f8af1. --- .../third_party/portage-stable/eclass/perl-module.eclass | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/perl-module.eclass b/sdk_container/src/third_party/portage-stable/eclass/perl-module.eclass index 27cd053f0e..29b4959bfa 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/perl-module.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/perl-module.eclass @@ -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 # @ECLASS: perl-module.eclass @@ -190,9 +190,6 @@ LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}" # (EAPI=8 and later) This Bash array contains parameters to the make call # from ExtUtils::MakeMaker. Replaces mymake in EAPI=7 and earlier. # Defaults to ( OPTIMIZE="${CFLAGS}" ) -if [[ $(declare -p DIST_MAKE 2>&-) != "declare -a DIST_MAKE="* ]]; then - DIST_MAKE=( OPTIMIZE="${CFLAGS}" ) -fi DIST_NAME=${DIST_NAME:-${PN}} DIST_P=${DIST_NAME}-${DIST_VERSION:-${PV}} @@ -234,6 +231,10 @@ perl-module_src_prepare() { perl-module_src_configure() { debug-print-function ${FUNCNAME} "$@" + if [[ $(declare -p DIST_MAKE 2>&-) != "declare -a DIST_MAKE="* ]]; then + DIST_MAKE=( OPTIMIZE="${CFLAGS}" ) + fi + # Perl runs LD with LDFLAGS export CCLD=$(tc-getCC) unset LD From 91c3ec28d8da3d036ccf9898687865b3f7e9536f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:11:27 +0000 Subject: [PATCH 070/131] eclass/python-utils-r1: Sync with Gentoo It's from Gentoo commit 5d8cc9a83de7eec8350aebcccd091c6b6c9ff2a5. --- .../eclass/python-utils-r1.eclass | 112 +++++++++++++++++- 1 file changed, 111 insertions(+), 1 deletion(-) 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 840b820d00..dce565b8b0 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 @@ -1273,6 +1273,78 @@ _python_check_occluded_packages() { # parameter, when calling epytest. The listed files will be entirely # skipped from test collection. +# @ECLASS_VARIABLE: EPYTEST_PLUGINS +# @DEFAULT_UNSET +# @DESCRIPTION: +# An array of pytest plugin package names (without categories) to use +# for the package. It has a twofold purpose: +# +# 1. When set prior to calling distutils_enable_tests, it causes +# dependencies on the specified pytest plugins to be added. +# +# 2. When plugin autoloading is disabled, it causes "-p" arguments +# loading specified plugins to be added. +# +# Defaults to an empty list. +# +# The eclasses explicitly handle a number of pytest plugins, and assume +# the default of "dev-python/${package}" and obtain "-p" via entry +# points. If this is incorrect for some plugin package, please report +# a bug. +# +# This is not a perfect solution, and may not be sufficient for some +# packages. In these cases, either plugin autoloading should be used +# or PYTEST_PLUGINS environment variable may be used directly (see +# pytest documentation). +# +# For pytest-timeout and pytest-xdist plugins, it is generally +# preferable to use EPYTEST_TIMEOUT and EPYTEST_XDIST options +# that handle passing all needed options. + +# @ECLASS_VARIABLE: EPYTEST_PLUGIN_AUTOLOAD +# @DEFAULT_UNSET +# @DESCRIPTION: +# If set to a non-empty value, permits pytest plugin autoloading. +# Otherwise, PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 is set to disable it. +# +# If EPYTEST_PLUGINS is set explicitly or EAPI is 9 or later, +# defaults to disabled. Otherwise, defaults to enabled. +# The recommended way to disable it in EAPI 8 or earlier is to set +# EPYTEST_PLUGINS (possibly to an empty array). + +# @FUNCTION: _set_epytest_plugins +# @INTERNAL +# @DESCRIPTION: +# Check if EPYTEST_PLUGINS is set correctly, and set the default +# if it is not. +_set_epytest_plugins() { + debug-print-function ${FUNCNAME} "$@" + + # TODO: drop BASH_VERSINFO check when we require EAPI 8 + if [[ ${BASH_VERSINFO[0]} -ge 5 ]]; then + [[ ${EPYTEST_PLUGINS@a} == *a* ]] + else + [[ $(declare -p EPYTEST_PLUGINS) == "declare -a"* ]] + fi + if [[ ${?} -eq 0 ]]; then + # EPYTEST_PLUGINS set explicitly -- disable autoloading + : "${EPYTEST_PLUGIN_AUTOLOAD:=}" + else + if ! declare -p EPYTEST_PLUGINS &>/dev/null; then + # EPYTEST_PLUGINS unset -- default to empty. + # EPYTEST_PLUGIN_AUTOLOAD default depends on EAPI. + EPYTEST_PLUGINS=() + if [[ ${EAPI} != [78] ]]; then + : "${EPYTEST_PLUGIN_AUTOLOAD:=}" + else + : "${EPYTEST_PLUGIN_AUTOLOAD:=1}" + fi + else + die 'EPYTEST_PLUGINS must be an array.' + fi + fi +} + # @ECLASS_VARIABLE: EPYTEST_TIMEOUT # @DEFAULT_UNSET # @DESCRIPTION: @@ -1324,6 +1396,9 @@ epytest() { local color=yes [[ ${NO_COLOR} ]] && color=no + mkdir -p "${T}/pytest-xml" || die + local junit_xml=$(mktemp "${T}/pytest-xml/${EPYTHON}-XXX.xml" || die) + local args=( # verbose progress reporting and tracebacks -vv @@ -1345,9 +1420,44 @@ epytest() { # we don't need to preserve them -o tmp_path_retention_count=0 -o tmp_path_retention_policy=failed + # write a junit .xml file to aid machine processing of results + --junit-xml="${junit_xml}" + # use xunit1 format as that includes an explicit path + -o junit_family=xunit1 ) - if [[ ! ${PYTEST_DISABLE_PLUGIN_AUTOLOAD} ]]; then + if has_version ">=dev-python/pytest-8.4.0"; then + args+=( + # do not repeat (potentially multi-line) exception messages + # in the "short summary" section to make it more readable; + # we have them in the backtraces anyway + --force-short-summary + ) + fi + + _set_epytest_plugins + if [[ ! ${EPYTEST_PLUGIN_AUTOLOAD} ]]; then + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + fi + + if [[ ${PYTEST_DISABLE_PLUGIN_AUTOLOAD} ]]; then + if [[ ${EPYTEST_PLUGINS[@]} ]]; then + local plugin_args=() + readarray -t -d '' plugin_args < <( + "${EPYTHON}" - "${EPYTEST_PLUGINS[@]}" <<-EOF || die + import sys + from importlib.metadata import distribution, entry_points + packages = {distribution(x).name for x in sys.argv[1:]} + eps = { + f"-p{x.name}" for x in entry_points(group="pytest11") + if x.dist.name in packages + } + sys.stdout.write("\\0".join(sorted(eps))) + EOF + ) + args+=( "${plugin_args[@]}" ) + fi + else args+=( # disable the undesirable-dependency plugins by default to # trigger missing argument strips. strip options that require From a9a3dfec154f2ed3e70df10bc6e0cd8a7ced7151 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:12:20 +0000 Subject: [PATCH 071/131] licenses: Sync with Gentoo It's from Gentoo commit 53343c03bd9b3327797b1c0c48984db8adf5944d. --- .../portage-stable/licenses/Broadcom-tod | 68 +++ .../portage-stable/licenses/NVIDIA-2023 | 340 ++++++++++++++ .../portage-stable/licenses/NVIDIA-2025 | 416 ++++++++++++++++++ 3 files changed, 824 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/licenses/Broadcom-tod create mode 100644 sdk_container/src/third_party/portage-stable/licenses/NVIDIA-2023 create mode 100644 sdk_container/src/third_party/portage-stable/licenses/NVIDIA-2025 diff --git a/sdk_container/src/third_party/portage-stable/licenses/Broadcom-tod b/sdk_container/src/third_party/portage-stable/licenses/Broadcom-tod new file mode 100644 index 0000000000..c83f30299a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/Broadcom-tod @@ -0,0 +1,68 @@ +Files: usr/* lib/* +Copyright: Copyright Ā© 2005-2021 Broadcom. All Rights Reserved. +The term ā€œBroadcomā€ refers to Broadcom Inc. and/or its subsidiaries. +License: Proprietary +SOFTWARE LICENSE AGREEMENT + +The accompanying software in binary code form (ā€œSoftwareā€), is licensed to you, +or, if you are accepting on behalf of an entity, the entity and its affiliates +exercising rights hereunder (ā€œLicenseeā€) subject to the terms of this software +license agreement (ā€œAgreementā€), unless Licensee and Broadcom Corporation +(ā€œBroadcomā€) execute a separate written software license agreement governing +use of the Software. ANY USE, REPRODUCTION, OR DISTRIBUTION OF THE SOFTWARE +CONSTITUTES LICENSEE’S ACCEPTANCE OF THIS AGREEMENT. + +1.License. Subject to the terms and conditions of this Agreement, +Broadcom hereby grants to Licensee a limited, non-exclusive, non-transferable, +royalty-free license: (i) to use and integrate the Software with any other +software; and (ii) to reproduce and distribute the Software complete, +unmodified, and as provided by Broadcom, solely for use with Broadcom +proprietary integrated circuit product(s) sold by Broadcom with which the +Software was designed to be used, or their successors. + +2.Restrictions. Licensee shall distribute Software with a copy of this +Agreement. Licensee shall not remove, efface or obscure any copyright or +trademark notices from the Software. Reproductions of the Broadcom copyright +notice shall be included with each copy of the Software, except where such +Software is embedded in a manner not readily accessible to the end user. +Licensee shall not: (i) use, license, sell or otherwise distribute the Software +except as provided in this Agreement; (ii) attempt to modify in any way, +reverse engineer, decompile or disassemble any portion of the Software; or +(iii) use the Software or other material in violation of any applicable law or +regulation, including but not limited to any regulatory agency. This Agreement +shall automatically terminate upon Licensee’s failure to comply with any of the +terms of this Agreement. In such event, Licensee will destroy all copies of the +Software and its component parts. + +3.Ownership. The Software is licensed and not sold. Title to and +ownership of the Software, including all intellectual property rights thereto, +and any portion thereof remain with Broadcom or its licensors. Licensee hereby +covenants that it will not assert any claim that the Software created by or for +Broadcom infringe any intellectual property right owned or controlled by +Licensee. + +4.Disclaimer. THE SOFTWARE IS OFFERED ā€œAS IS,ā€ AND BROADCOM PROVIDES AND +GRANTS AND LICENSEE RECEIVES NO SUPPORT AND NO WARRANTIES OF ANY KIND, EXPRESS +OR IMPLIED, BY STATUTE, COMMUNICATION OR CONDUCT WITH LICENSEE, OR OTHERWISE. +BROADCOM SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A SPECIFIC PURPOSE, OR NONINFRINGEMENT CONCERNING THE SOFTWARE OR +ANY UPGRADES TO OR DOCUMENTATION FOR THE SOFTWARE. WITHOUT LIMITATION OF THE +ABOVE, BROADCOM GRANTS NO WARRANTY THAT THE SOFTWARE IS ERROR-FREE OR WILL +OPERATE WITHOUT INTERRUPTION, AND GRANTS NO WARRANTY REGARDING ITS USE OR THE +RESULTS THEREFROM INCLUDING, WITHOUT LIMITATION, ITS CORRECTNESS, ACCURACY, OR +RELIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM +OR ANY OF ITS LICENSORS HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER FOR BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE) OR +OTHERWISE, ARISING OUT OF THIS AGREEMENT OR USE, REPRODUCTION, OR DISTRIBUTION +OF THE SOFTWARE, INCLUDING BUT NOT LIMITED TO LOSS OF DATA AND LOSS OF PROFITS, +EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THESE +LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY +LIMITED REMEDY. + +5.Export Laws. LICENSEE UNDERSTANDS AND AGREES THAT THE SOFTWARE IS +SUBJECT TO UNITED STATES AND OTHER APPLICABLE EXPORT-RELATED LAWS AND +REGULATIONS AND THAT LICENSEE MAY NOT EXPORT, RE-EXPORT OR TRANSFER THE +SOFTWARE OR ANY DIRECT PRODUCT OF THE SOFTWARE EXCEPT AS PERMITTED UNDER THOSE +LAWS. WITHOUT LIMITING THE FOREGOING, EXPORT, RE-EXPORT, OR TRANSFER OF THE +SOFTWARE TO CUBA, IRAN, NORTH KOREA, SUDAN, AND SYRIA IS PROHIBITED. diff --git a/sdk_container/src/third_party/portage-stable/licenses/NVIDIA-2023 b/sdk_container/src/third_party/portage-stable/licenses/NVIDIA-2023 new file mode 100644 index 0000000000..22904fdeb0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/NVIDIA-2023 @@ -0,0 +1,340 @@ +NVIDIA Driver License Agreement + +IMPORTANT NOTICE - PLEASE READ AND AGREE BEFORE USING THE SOFTWARE. + +This license agreement ("Agreement") is a legal agreement between you, whether +an individual or entity ("you") and NVIDIA Corporation ("NVIDIA") and governs +your use of the NVIDIA driver, and any additional software and materials +provided (the "SOFTWARE"). + +If you don't have the required age or authority to enter into this Agreement or +if you don't accept all the terms below, do not use the SOFTWARE. + +You agree to use the SOFTWARE only for purposes that are permitted by this +Agreement and any applicable law or regulation in the relevant jurisdictions. + +1. License. + +1.1 Subject to the terms of this Agreement, NVIDIA grants you a non-exclusive, +revocable, non-transferable and non-sublicensable (except as expressly provided +in this Agreement) license to: + +a. Install and use copies of the SOFTWARE, + +b. Modify and create derivative works of any portion of the SOFTWARE delivered +by NVIDIA in source code format, + +c. Deploy, for your own use, the SOFTWARE on infrastructure you own or lease, +and + +d. Distribute the SOFTWARE provided for use with operating systems distributed +under the terms of an OSI-approved open source license as listed by the Open +Source Initiative at http://opensource.org, provided that (i) the binary files +thereof are not modified in any way (except for uncompressing of compressed +files) and (ii) this Agreement is provided to each SOFTWARE recipient. + +2. Limitations. + +The following license limitations apply to your use of the SOFTWARE: + +2.1 The SOFTWARE is only licensed for use in conjunction with microprocessor(s), +SoCs, and GPUs which have been (i) designed by NVIDIA and/or its affiliates and +(ii) sold (directly or indirectly) by NVIDIA and/or its affiliates ("NVIDIA +Platform"). You may only use firmware in NVIDIA Platforms. You may not translate +firmware, nor cause or permit firmware to be translated, from the architecture +or language in which it is originally provided by NVIDIA, into any other +architecture or language. + +2.2 You may not reverse engineer, decompile, or disassemble the SOFTWARE +provided in binary form, nor attempt in any other manner to obtain source code +of such SOFTWARE. + +2.3 You may not modify or create derivative works of the SOFTWARE provided in +binary form. + +2.4 You may not distribute any modified header files. + +2.5 You may not change or remove copyright or other proprietary notices in the +SOFTWARE, or misrepresent the authorship of the SOFTWARE, and you must cause any +modified files to carry prominent notices stating that you changed the files +such that modifications are not misrepresented as an original SOFTWARE. + +2.6 You may not bypass, disable, or circumvent any technical limitation, +encryption, security, digital rights management or authentication mechanism in +the SOFTWARE. + +2.7 Except as expressly granted in this Agreement, you may not sell, rent, +sublicense, distribute or transfer the SOFTWARE or provide commercial hosting +services with the SOFTWARE. + +2.8 You agree that GeForce or Titan SOFTWARE: (i) is licensed for use only on +GeForce or Titan hardware products you own, and (ii) is not licensed for +datacenter deployment. + +2.9 You may not use the SOFTWARE in any manner that would cause it to become +subject to an open source software license, subject to the terms in the +"Components Under Other Licenses" section below. + +2.10 You acknowledge that the SOFTWARE as delivered is not tested or certified +by NVIDIA for use in any system or application where the use of or failure of +such system or application developed with the SOFTWARE could result in injury, +death or catastrophic damage (each, a "Critical Application"). Examples of +Critical Applications include use in avionics, navigation, autonomous vehicle +applications, automotive products, military, medical, life support or other life +critical applications. NVIDIA will not be liable to you or any third party, in +whole or in part, for any claims or damages arising from these uses. You are +solely responsible for ensuring that systems and applications developed with the +SOFTWARE include sufficient safety and redundancy features, and comply with all +applicable legal and regulatory standards and requirements. + +2.11 You agree to defend, indemnify and hold harmless NVIDIA and its affiliates, +and their respective employees, contractors, agents, officers and directors, +from and against any and all claims, damages, obligations, losses, liabilities, +costs or debt, fines, restitutions and expenses (including but not limited to +attorney's fees and costs incident to establishing the right of indemnification) +arising out of or related to products or services that have been developed with +or use the SOFTWARE (including for use in or for Critical Applications), and for +use of the SOFTWARE outside of the scope of this Agreement or not in compliance +with its terms. + +3. Authorized Users. + +You may allow employees and contractors of your entity or of your +subsidiary(ies) to access and use the SOFTWARE from your secure network to +perform the work authorized by this Agreement on your behalf. + +If you are an academic institution, you may allow users enrolled or employed by +the academic institution to access and use the SOFTWARE as authorized by this +Agreement from your secure network. + +You are responsible for the compliance with the terms of this Agreement by your +authorized users. Any act or omission that if committed by you would constitute +a breach of this Agreement will be deemed to constitute a breach of this +Agreement if committed by your authorized users. + +4. Pre-Release SOFTWARE. + +The SOFTWARE versions identified as alpha, beta, preview or otherwise as +pre-release may not be fully functional, may contain errors or design flaws, and +may have reduced or different security, privacy, accessibility and reliability +standards relative to commercial versions of NVIDIA software and materials. + +You may use pre-release SOFTWARE at your own risk, understanding that +pre-release SOFTWARE is not intended for use in production or business-critical +systems and NVIDIA may choose not to make available a commercial version of any +pre-release SOFTWARE. + +5. Support and Updates. + +NVIDIA is not obligated to support any SOFTWARE, unless there is a separate +agreement for this purpose. NVIDIA may, at its option, make available patches, +workarounds or other updates to the SOFTWARE. Unless the updates are provided +with their separate governing terms, they are deemed part of the SOFTWARE +licensed to you as provided in this Agreement. + +6. Components Under Other Licenses. + +The SOFTWARE may include or be distributed with components provided with +separate legal notices or terms that accompany the components, such as open +source software licenses and other license terms ("Other Licenses"). The +components are subject to the applicable Other Licenses, including any +proprietary notices, disclaimers, requirements and extended use rights; except +that this Agreement will prevail regarding the use of third-party open source +software, unless a third-party open source software license requires its license +terms to prevail. Open source software license means any software, data or +documentation subject to any license identified as an open source license by the +Open Source Initiative (http://opensource.org), Free Software Foundation +(http://www.fsf.org) or other similar open source organization or listed by the +Software Package Data Exchange (SPDX) Workgroup under the Linux Foundation +(http://www.spdx.org). + +You acknowledge and agree that it is your sole responsibility to obtain any +additional third-party licenses required to make, have made, use, have used, +sell, import, and offer for sale your products or services that include or +incorporate any third-party software and content, including, without limitation, +audio and/or video encoders and decoders and implementations of technical +standards. NVIDIA does not grant to you under this Agreement any necessary +patent or other rights, including standard essential patent rights, with respect +to any third-party software and content. + +7. Termination. + +This Agreement will automatically terminate without notice from NVIDIA if you +fail to comply with any of the terms in this Agreement or if you commence or +participate in any legal proceeding against NVIDIA with respect to the +SOFTWARE. Upon any termination, you must stop using and destroy all copies of +the SOFTWARE. You can terminate this Agreement whenever you want by stopping use +of the SOFTWARE and destroying all copies of the SOFTWARE. Your prior +distributions according to this Agreement are not affected by termination. All +provisions will survive termination, except for the licenses granted to you. + +8. Ownership. + +The SOFTWARE, including all intellectual property rights, is and will remain the +sole and exclusive property of NVIDIA or its licensors. Except as expressly +granted in this Agreement, (i) NVIDIA reserves all rights, interests, and +remedies in connection with the SOFTWARE, and (ii) no other license or right is +granted to you by implication, estoppel or otherwise. You agree to cooperate +with NVIDIA and provide reasonably requested information to verify your +compliance with this Agreement. + +9. Feedback. + +You may, but you are not obligated to, provide suggestions, requests, fixes, +modifications, enhancements, or other feedback regarding the SOFTWARE +(collectively, "Feedback"). Feedback, even if designated as confidential by you, +will not create any confidentiality obligation for NVIDIA or its affiliates. If +you provide Feedback, you grant NVIDIA, its affiliates and its designees a +non-exclusive, perpetual, irrevocable, sublicensable, worldwide, royalty-free, +fully paid-up and transferable license, under your intellectual property rights, +to publicly perform, publicly display, reproduce, use, make, have made, sell, +offer for sale, distribute (through multiple tiers of distribution), import, +create derivative works of and otherwise commercialize and exploit the Feedback +at NVIDIA's discretion. You will not give Feedback (i) that you have reason to +believe is subject to any restriction that impairs the exercise of the grant +stated in this section; or (ii) subject to license terms which seek to require +any product incorporating or developed using such Feedback, or other +intellectual property of NVIDIA or its affiliates, to be licensed to or +otherwise shared with any third party. + +10. Governing Law and Jurisdiction. + +This Agreement will be governed in all respects by the laws of the United States +and the laws of the State of Delaware, without regard to conflict of laws +principles or the United Nations Convention on Contracts for the International +Sale of Goods. The state and federal courts residing in Santa Clara County, +California will have exclusive jurisdiction over any dispute or claim arising +out of or related to this Agreement, and the parties irrevocably consent to +personal jurisdiction and venue in those courts; except that either party may +apply for injunctive remedies or an equivalent type of urgent legal relief in +any jurisdiction. + +11. Disclaimer of Warranties. + +THE SOFTWARE IS PROVIDED BY NVIDIA AS-IS AND WITH ALL FAULTS. TO THE FULLEST +EXTENT PERMITTED BY APPLICABLE LAW, NVIDIA DISCLAIMS ALL WARRANTIES AND +REPRESENTATIONS OF ANY KIND, WHETHER EXPRESS, IMPLIED OR STATUTORY, RELATING TO +OR ARISING UNDER THIS AGREEMENT, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES +OF TITLE, NONINFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, +USAGE OF TRADE AND COURSE OF DEALING. WITHOUT LIMITING THE FOREGOING, NVIDIA +DOES NOT WARRANT THAT THE SOFTWARE WILL MEET YOUR REQUIREMENTS; THAT ANY DEFECTS +OR ERRORS WILL BE CORRECTED; THAT ANY CERTAIN CONTENT WILL BE AVAILABLE; OR THAT +THE SOFTWARE IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. + +In addition, you agree that you are solely responsible for maintaining +appropriate data backups and system restore points for systems that include the +SOFTWARE, and that NVIDIA will have no responsibility for any damage or loss to +such systems (including loss of data or access) arising from or relating to (a) +any changes to the configuration, application settings, environment variables, +registry, drivers, BIOS, or other attributes of the system (or any part of such +system) initiated through the SOFTWARE; or (b) installation of any SOFTWARE or +third party software patches through the NVIDIA update service. + +NO INFORMATION OR ADVICE GIVEN BY NVIDIA WILL IN ANY WAY INCREASE THE SCOPE OF +ANY WARRANTY EXPRESSLY PROVIDED IN THIS AGREEMENT. You are responsible for +checking that a SOFTWARE version is the appropriate one for your NVIDIA product +model, operating system, and computer hardware. + +12. Limitations of Liability. + +TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL NVIDIA BE +LIABLE FOR ANY (I) INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL OR CONSEQUENTIAL +DAMAGES, OR (II) DAMAGES FOR (A) THE COST OF PROCURING SUBSTITUTE GOODS, OR (B) +LOSS OF PROFITS, REVENUES, USE, DATA OR GOODWILL ARISING OUT OF OR RELATED TO +THIS AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING +NEGLIGENCE), STRICT LIABILITY, OR OTHERWISE, AND EVEN IF NVIDIA HAS BEEN ADVISED +OF THE POSSIBILITY OF SUCH DAMAGES AND EVEN IF A PARTY'S REMEDIES FAIL THEIR +ESSENTIAL PURPOSE. + +ADDITIONALLY, TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, NVIDIA'S TOTAL +CUMULATIVE AGGREGATE LIABILITY FOR ANY AND ALL LIABILITIES, OBLIGATIONS OR +CLAIMS ARISING OUT OF OR RELATED TO THIS AGREEMENT WILL NOT EXCEED FIVE +U.S. DOLLARS (US$5). + +13. Data Collection. + +If you are using the SOFTWARE on a Windows operating system, you hereby +acknowledge that at the time of SOFTWARE installation, NVIDIA will access and +collect data to: (a) properly configure and optimize the system for use with the +SOFTWARE; (b) deliver content or service through SOFTWARE; and (c) improve +NVIDIA products and services. Information collected may include configuration +data such as GPU and CPU, and operating system. + +The SOFTWARE may contain links to third party websites and services. NVIDIA +encourages you to review the privacy statements on those sites and services that +you choose to visit to understand how they may collect, use and share your +data. NVIDIA is not responsible for the privacy statements or practices of third +party sites or services. + +Please review the NVIDIA Privacy Policy, located at +https://www.nvidia.com/en-us/about-nvidia/privacy-policy, which explains +NVIDIA's policy for collecting and using data. + +14. Assignment. + +NVIDIA may assign, delegate or transfer its rights or obligations under this +Agreement by any means or operation of law. You may not, without NVIDIA's prior +written consent, assign, delegate or transfer any of its rights or obligations +under this Agreement by any means or operation of law, and any attempt to do so +is null and void. + +15. Trade Compliance. + +You agree to comply with all applicable export, import, trade and economic +sanctions laws and regulations, including U.S. Export Administration +Regulations and Office of Foreign Assets Control regulations. These laws include +restrictions on destinations, end-users and end-use. + +16. Government Use. + +The SOFTWARE, including related documentation ("Protected Items") is a +"Commercial product" as this term is defined at 48 C.F.R. 2.101, consisting of +"commercial computer software" and "commercial computer software documentation" +as such terms are used in, respectively, 48 C.F.R. 12.212 and 48 C.F.R. 227.7202 +& 252.227- 7014(a)(1). Before any Protected Items are supplied to the +U.S. Government, you will (i) inform the U.S. Government in writing that the +Protected Items are and must be treated as commercial computer software and +commercial computer software documentation developed at private expense; (ii) +inform the U.S. Government that the Protected Items are provided subject to the +terms of this Agreement; and (iii) mark the Protected Items as commercial +computer software and commercial computer software documentation developed at +private expense. In no event will you permit the U.S. Government to acquire +rights in Protected Items beyond those specified in 48 +C.F.R. 52.227-19(b)(1)-(2) or 252.227-7013(c) except as expressly approved by +NVIDIA in writing. + +17. Notices. + +Please direct your legal notices or other correspondence to NVIDIA Corporation, +2788 San Tomas Expressway, Santa Clara, California 95051, United States of +America, Attention: Legal Department. If NVIDIA needs to contact you about the +SOFTWARE, you consent to receive the notices by email and that such notices will +satisfy any legal communication requirements. + +18. Entire Agreement. + +Regarding the subject matter of this Agreement, the parties agree that (i) this +Agreement constitutes the entire and exclusive agreement between the parties and +supersedes all prior and contemporaneous communications and (ii) any additional +or different terms or conditions, whether contained in purchase orders, order +acknowledgments, invoices or otherwise, will not be binding on the receiving +party and are null and void. This Agreement may only be modified in a writing +signed by an authorized representative of each party. + +If a court of competent jurisdiction rules that a provision of this Agreement is +unenforceable, that provision will be deemed modified to the extent necessary to +make it enforceable and the remainder of this Agreement will continue in full +force and effect. + +19. No Waiver. + +No failure or delay by a party to enforce any Agreement term or obligation will +operate as a waiver by that party, or prevent the enforcement of such term or +obligation later. + +20. Licensing. + +For any questions regarding this Agreement, please contact NVIDIA at +driver-licensing@nvidia.com + +(v. February 27, 2023) diff --git a/sdk_container/src/third_party/portage-stable/licenses/NVIDIA-2025 b/sdk_container/src/third_party/portage-stable/licenses/NVIDIA-2025 new file mode 100644 index 0000000000..eebf02d403 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/NVIDIA-2025 @@ -0,0 +1,416 @@ +NVIDIA Driver License Agreement + +IMPORTANT NOTICE - PLEASE READ AND AGREE BEFORE USING THE SOFTWARE. + +This license agreement ("Agreement") is a legal agreement between you, whether +an individual or entity ("you") and NVIDIA Corporation ("NVIDIA") and governs +your use of the NVIDIA driver, and any additional software and materials +provided (the "SOFTWARE"). + +If you don't have the required age or authority to enter into this Agreement or +if you don't accept all the terms below, do not use the SOFTWARE. + +You agree to use the SOFTWARE only for purposes that are permitted by this +Agreement and any applicable law or regulation in the relevant jurisdictions. + +1. License. + +1.1 Subject to the terms of this Agreement, NVIDIA grants you a non-exclusive, +revocable, non-transferable and non-sublicensable (except as expressly provided +in this Agreement) license to: + +a. Install and use copies of the SOFTWARE, + +b. Modify and create derivative works of any portion of the SOFTWARE delivered +by NVIDIA in source code format, + +c. Deploy, for your own use, the SOFTWARE on infrastructure you own or lease, +and + +d. Distribute the SOFTWARE provided for use with operating system kernels +distributed under the terms of an OSI-approved open source license as listed by +the Open Source Initiative at http://opensource.org, provided that (i) the +binary files thereof are not modified in any way (except for uncompressing of +compressed files) and (ii) this Agreement is provided to each SOFTWARE +recipient. + +2. Limitations. + +The following license limitations apply to your use of the SOFTWARE: + +2.1 The SOFTWARE is only licensed for use in conjunction with microprocessor(s), +SoCs, and GPUs which have been (i) designed by NVIDIA and/or its affiliates and +(ii) sold (directly or indirectly) by NVIDIA and/or its affiliates ("NVIDIA +Platform"). You may only use firmware in NVIDIA Platforms. You may not translate +firmware, nor cause or permit firmware to be translated, from the architecture +or language in which it is originally provided by NVIDIA, into any other +architecture or language. + +2.2 You may not reverse engineer, decompile, or disassemble the SOFTWARE +provided in binary form, nor attempt in any other manner to obtain source code +of such SOFTWARE. + +2.3 You may not modify or create derivative works of the SOFTWARE provided in +binary form. + +2.4 You may not distribute any modified header files. + +2.5 You may not change or remove copyright or other proprietary notices in the +SOFTWARE, or misrepresent the authorship of the SOFTWARE, and you must cause any +modified files to carry prominent notices stating that you changed the files +such that modifications are not misrepresented as an original SOFTWARE. + +2.6 You may not bypass, disable, or circumvent any technical limitation, +encryption, security, digital rights management or authentication mechanism in +the SOFTWARE. + +2.7 Except as expressly granted in this Agreement, you may not sell, rent, +sublicense, distribute or transfer the SOFTWARE or provide commercial hosting +services with the SOFTWARE. + +2.8 You agree that GeForce or Titan SOFTWARE: (i) is licensed for use only on +GeForce or Titan hardware products you own, and (ii) is not licensed for +datacenter deployment. + +2.9 You may not use the SOFTWARE in any manner that would cause it to become +subject to an open source software license, subject to the terms in the +"Components Under Other Licenses" section below. + +2.10 You acknowledge that the SOFTWARE as delivered is not tested or certified +by NVIDIA for use in any system or application where the use of or failure of +such system or application developed with the SOFTWARE could result in injury, +death or catastrophic damage (each, a "Critical Application"). Examples of +Critical Applications include use in avionics, navigation, autonomous vehicle +applications, automotive products, military, medical, life support or other life +critical applications. NVIDIA will not be liable to you or any third party, in +whole or in part, for any claims or damages arising from these uses. You are +solely responsible for ensuring that systems and applications developed with the +SOFTWARE include sufficient safety and redundancy features, and comply with all +applicable legal and regulatory standards and requirements. + +2.11 You agree to defend, indemnify and hold harmless NVIDIA and its affiliates, +and their respective employees, contractors, agents, officers and directors, +from and against any and all claims, damages, obligations, losses, liabilities, +costs or debt, fines, restitutions and expenses (including but not limited to +attorney's fees and costs incident to establishing the right of indemnification) +arising out of or related to products or services that have been developed with +or use the SOFTWARE (including for use in or for Critical Applications), and for +use of the SOFTWARE outside of the scope of this Agreement or not in compliance +with its terms. + +3. Authorized Users. + +You may allow employees and contractors of your entity or of your +subsidiary(ies) to access and use the SOFTWARE from your secure network to +perform the work authorized by this Agreement on your behalf. + +If you are an academic institution, you may allow users enrolled or employed by +the academic institution to access and use the SOFTWARE as authorized by this +Agreement from your secure network. + +You are responsible for the compliance with the terms of this Agreement by your +authorized users. Any act or omission that if committed by you would constitute +a breach of this Agreement will be deemed to constitute a breach of this +Agreement if committed by your authorized users. + +4. Pre-Release SOFTWARE. + +The SOFTWARE versions identified as alpha, beta, preview or otherwise as +pre-release may not be fully functional, may contain errors or design flaws, and +may have reduced or different security, privacy, accessibility and reliability +standards relative to commercial versions of NVIDIA software and materials. + +You may use pre-release SOFTWARE at your own risk, understanding that +pre-release SOFTWARE is not intended for use in production or business-critical +systems and NVIDIA may choose not to make available a commercial version of any +pre-release SOFTWARE. + +5. Support and Updates. + +NVIDIA is not obligated to support any SOFTWARE, unless there is a separate +agreement for this purpose. NVIDIA may, at its option, make available patches, +workarounds or other updates to the SOFTWARE. Unless the updates are provided +with their separate governing terms, they are deemed part of the SOFTWARE +licensed to you as provided in this Agreement. + +6. Components Under Other Licenses. + +The SOFTWARE may include or be distributed with components provided with +separate legal notices or terms that accompany the components, such as open +source software licenses and other license terms ("Other Licenses"). The +components are subject to the applicable Other Licenses, including any +proprietary notices, disclaimers, requirements and extended use rights; except +that this Agreement will prevail regarding the use of third-party open source +software, unless a third-party open source software license requires its license +terms to prevail. Open source software license means any software, data or +documentation subject to any license identified as an open source license by the +Open Source Initiative (http://opensource.org), Free Software Foundation +(http://www.fsf.org) or other similar open source organization or listed by the +Software Package Data Exchange (SPDX) Workgroup under the Linux Foundation +(http://www.spdx.org). + +You acknowledge and agree that it is your sole responsibility to obtain any +additional third-party licenses required to make, have made, use, have used, +sell, import, and offer for sale your products or services that include or +incorporate any third-party software and content, including, without limitation, +audio and/or video encoders and decoders and implementations of technical +standards. NVIDIA does not grant to you under this Agreement any necessary +patent or other rights, including standard essential patent rights, with respect +to any third-party software and content. + +7. Termination. + +This Agreement will automatically terminate without notice from NVIDIA if you +fail to comply with any of the terms in this Agreement or if you commence or +participate in any legal proceeding against NVIDIA with respect to the +SOFTWARE. Upon any termination, you must stop using and destroy all copies of +the SOFTWARE. You can terminate this Agreement whenever you want by stopping use +of the SOFTWARE and destroying all copies of the SOFTWARE. Your prior +distributions according to this Agreement are not affected by termination. All +provisions will survive termination, except for the licenses granted to you. + +8. Ownership. + +The SOFTWARE, including all intellectual property rights, is and will remain the +sole and exclusive property of NVIDIA or its licensors. Except as expressly +granted in this Agreement, (i) NVIDIA reserves all rights, interests, and +remedies in connection with the SOFTWARE, and (ii) no other license or right is +granted to you by implication, estoppel or otherwise. You agree to cooperate +with NVIDIA and provide reasonably requested information to verify your +compliance with this Agreement. + +9. Feedback. + +You may, but you are not obligated to, provide suggestions, requests, fixes, +modifications, enhancements, or other feedback regarding the SOFTWARE +(collectively, "Feedback"). Feedback, even if designated as confidential by you, +will not create any confidentiality obligation for NVIDIA or its affiliates. If +you provide Feedback, you grant NVIDIA, its affiliates and its designees a +non-exclusive, perpetual, irrevocable, sublicensable, worldwide, royalty-free, +fully paid-up and transferable license, under your intellectual property rights, +to publicly perform, publicly display, reproduce, use, make, have made, sell, +offer for sale, distribute (through multiple tiers of distribution), import, +create derivative works of and otherwise commercialize and exploit the Feedback +at NVIDIA's discretion. You will not give Feedback (i) that you have reason to +believe is subject to any restriction that impairs the exercise of the grant +stated in this section; or (ii) subject to license terms which seek to require +any product incorporating or developed using such Feedback, or other +intellectual property of NVIDIA or its affiliates, to be licensed to or +otherwise shared with any third party. + +10. Governing Law and Dispute Resolution. + +10.1 Informal Resolution. + +If you or NVIDIA have any dispute, claim or controversy arising out of or +relating to the SOFTWARE or this Agreement ("Dispute"), the parties agree to +work in good faith to resolve the Dispute informally. If you have a Dispute, you +must first contact NVIDIA and give NVIDIA an opportunity to resolve it by +contacting NVIDIA by mail at NVIDIA Corporation, ATTN: Legal, 2788 San Tomas +Expressway, Santa Clara, California, 95051. Either you or NVIDIA may seek to +have a Dispute resolved in small claims court if all the requirements of the +small claims court are satisfied. Either you or NVIDIA may seek to have a +Dispute resolved in small claims court in your county of residence or the small +claims court in closest proximity to your residence at any time before an +arbitrator is appointed, and you may also bring a Dispute in small claims court +in the Superior Court of California, County of Santa Clara. + +10.2 Binding Arbitration. + +For any Disputes that are not resolved informally or by the small claims court, +you and NVIDIA each agree to resolve any such Dispute by binding arbitration +before an arbitrator from Judicial Mediation and Arbitration Services ("JAMS") +(rules available at https://www.jamsadr.com/). Except as otherwise provided in +this section, all issues are for the arbitrator to decide, including +jurisdictional and arbitrability issues and the formation, existence, validity, +interpretation, and scope of this arbitration provision. The arbitration will be +conducted in Santa Clara County, California (or the nearest JAMS office to Santa +Clara County), unless you request an in-person hearing in your hometown or you +and NVIDIA agree otherwise. You and NVIDIA agree that the parties will arbitrate +all Disputes, remedies, and requests for relief subject to individual +arbitration first, the arbitrator will only determine issues of liability on the +merits of any claim asserted, and the arbitrator may only award declaratory or +injunctive relief in favor of the individual party seeking relief and only to +the extent necessary to provide relief warranted by that party's individual +claim. You and NVIDIA agree that any remaining unresolved Disputes, remedies, or +requests for relief may be pursued in court only after the arbitrator's award +has been issued. In any later court proceeding, the arbitrator's factual +findings will not be entitled to deference by the court. Nothing in these terms +will prevent a party from seeking injunctive or other equitable relief from the +courts in any jurisdiction to prevent the actual or threatened violation of that +party's data security, intellectual property rights, or other proprietary +rights. If for any reason this Section 10.2 is unenforceable concerning any +Dispute, and a Dispute proceeds in a court of general jurisdiction, the Dispute +will be exclusively brought in state or federal court located in Santa Clara +County, California. + +10.3 Class Action, Representative Action, & Jury Trial Waiver. + +All Disputes must be brought by a party in its individual capacity, and not as a +plaintiff or class member in any purported class or representative +proceeding. You and NVIDIA agree to waive the right to a jury trial, participate +in class action lawsuits, class-wide arbitrations, any collective, consolidated, +or other proceeding or request for relief where someone acts in a representative +capacity. + +10.4 Right to Opt-Out. + +You may opt-out of the foregoing jury trial, class action, arbitration, and +collective or consolidated proceeding waiver provision by notifying NVIDIA in +writing within 30 days of commencement of use of the SOFTWARE, within 30 days of +the effective date of this Agreement, or within 30 days of any future change +NVIDIA may make to this Section 10.4. Such written notification must be sent by +mail to NVIDIA Corporation, Attn: Legal, 2788 San Tomas Expressway, Santa Clara, +California, 95051 and must include (1) your name, (2) your address, (3) the +reference to NVIDIA drivers as the software to which the notice relates, and (4) +a clear statement indicating that you do not wish to resolve disputes through +arbitration and demonstrating compliance with the 30-day time limit to +opt-out. Any opt-out notification received after the opt-out deadline or not +including the required items noted in (1)-(4) in the preceding sentence will not +be valid and you will be required to pursue your Dispute in arbitration or small +claims court. Opting out of this dispute resolution procedure will not affect +the terms and conditions of this Agreement, which still apply to you. If you +opt-out of any future change NVIDIA may make to this Section 10.4, the most +recent version of Section 10.4 before the change you rejected will apply. + +10.5 Governing Law. + +You and NVIDIA each agree that all Disputes will be governed by the Federal +Arbitration Act, in addition to the internal substantive laws of the State of +Delaware and the United States, without regard to or application of its conflict +of laws rules or principles. The United Nations Convention on Contracts for the +International Sale of Goods is expressly disclaimed. Any translation of this +Agreement is done for local requirements and, if there is a dispute between the +English and any non-English versions, you and NVIDIA agree that the English +version of this Agreement will govern to the extent not prohibited by local law +in your jurisdiction. + +11. Disclaimer of Warranties. + +THE SOFTWARE IS PROVIDED BY NVIDIA AS-IS AND WITH ALL FAULTS. TO THE FULLEST +EXTENT PERMITTED BY APPLICABLE LAW, NVIDIA DISCLAIMS ALL WARRANTIES AND +REPRESENTATIONS OF ANY KIND, WHETHER EXPRESS, IMPLIED OR STATUTORY, RELATING TO +OR ARISING UNDER THIS AGREEMENT, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES +OF TITLE, NONINFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, +USAGE OF TRADE AND COURSE OF DEALING. WITHOUT LIMITING THE FOREGOING, NVIDIA +DOES NOT WARRANT THAT THE SOFTWARE WILL MEET YOUR REQUIREMENTS; THAT ANY DEFECTS +OR ERRORS WILL BE CORRECTED; THAT ANY CERTAIN CONTENT WILL BE AVAILABLE; OR THAT +THE SOFTWARE IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. + +In addition, you agree that you are solely responsible for maintaining +appropriate data backups and system restore points for systems that include the +SOFTWARE, and that NVIDIA will have no responsibility for any damage or loss to +such systems (including loss of data or access) arising from or relating to (a) +any changes to the configuration, application settings, environment variables, +registry, drivers, BIOS, or other attributes of the system (or any part of such +system) initiated through the SOFTWARE; or (b) installation of any SOFTWARE or +third party software patches through the NVIDIA update service. + +NO INFORMATION OR ADVICE GIVEN BY NVIDIA WILL IN ANY WAY INCREASE THE SCOPE OF +ANY WARRANTY EXPRESSLY PROVIDED IN THIS AGREEMENT. You are responsible for +checking that a SOFTWARE version is the appropriate one for your NVIDIA product +model, operating system, and computer hardware. + +12. Limitations of Liability. + +TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL NVIDIA BE +LIABLE FOR ANY (I) INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL OR CONSEQUENTIAL +DAMAGES, OR (II) DAMAGES FOR (A) THE COST OF PROCURING SUBSTITUTE GOODS, OR (B) +LOSS OF PROFITS, REVENUES, USE, DATA OR GOODWILL ARISING OUT OF OR RELATED TO +THIS AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING +NEGLIGENCE), STRICT LIABILITY, OR OTHERWISE, AND EVEN IF NVIDIA HAS BEEN ADVISED +OF THE POSSIBILITY OF SUCH DAMAGES AND EVEN IF A PARTY'S REMEDIES FAIL THEIR +ESSENTIAL PURPOSE. + +ADDITIONALLY, TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, NVIDIA'S TOTAL +CUMULATIVE AGGREGATE LIABILITY FOR ANY AND ALL LIABILITIES, OBLIGATIONS OR +CLAIMS ARISING OUT OF OR RELATED TO THIS AGREEMENT WILL NOT EXCEED FIVE +U.S. DOLLARS (US$5). + +13. Data Collection. + +If you are using the SOFTWARE on a Windows operating system, you hereby +acknowledge that at the time of SOFTWARE installation, NVIDIA will access and +collect data to: (a) properly configure and optimize the system for use with the +SOFTWARE; (b) deliver content or service through SOFTWARE; and (c) improve +NVIDIA products and services. Information collected may include configuration +data such as GPU and CPU, and operating system. + +The SOFTWARE may contain links to third party websites and services. NVIDIA +encourages you to review the privacy statements on those sites and services that +you choose to visit to understand how they may collect, use and share your +data. NVIDIA is not responsible for the privacy statements or practices of third +party sites or services. + +Please review the NVIDIA Privacy Policy, located at +https://www.nvidia.com/en-us/about-nvidia/privacy-policy, which explains +NVIDIA's policy for collecting and using data. + +14. Assignment. + +NVIDIA may assign, delegate or transfer its rights or obligations under this +Agreement by any means or operation of law. You may not, without NVIDIA's prior +written consent, assign, delegate or transfer any of its rights or obligations +under this Agreement by any means or operation of law, and any attempt to do so +is null and void. + +15. Trade Compliance. + +You agree to comply with all applicable export, import, trade and economic +sanctions laws and regulations, including U.S. Export Administration +Regulations and Office of Foreign Assets Control regulations. These laws include +restrictions on destinations, end-users and end-use. + +16. Government Use. + +The SOFTWARE, including related documentation ("Protected Items") is a +"Commercial product" as this term is defined at 48 C.F.R. 2.101, consisting of +"commercial computer software" and "commercial computer software documentation" +as such terms are used in, respectively, 48 C.F.R. 12.212 and 48 C.F.R. 227.7202 +& 252.227-7014(a)(1). Before any Protected Items are supplied to the +U.S. Government, you will (i) inform the U.S. Government in writing that the +Protected Items are and must be treated as commercial computer software and +commercial computer software documentation developed at private expense; (ii) +inform the U.S. Government that the Protected Items are provided subject to the +terms of this Agreement; and (iii) mark the Protected Items as commercial +computer software and commercial computer software documentation developed at +private expense. In no event will you permit the U.S. Government to acquire +rights in Protected Items beyond those specified in 48 +C.F.R. 52.227-19(b)(1)-(2) or 252.227-7013(c) except as expressly approved by +NVIDIA in writing. + +17. Notices. + +Please direct your legal notices or other correspondence to NVIDIA Corporation, +2788 San Tomas Expressway, Santa Clara, California 95051, United States of +America, Attention: Legal Department. If NVIDIA needs to contact you about the +SOFTWARE, you consent to receive the notices by email and that such notices will +satisfy any legal communication requirements. + +18. Entire Agreement. + +Regarding the subject matter of this Agreement, the parties agree that (i) this +Agreement constitutes the entire and exclusive agreement between the parties and +supersedes all prior and contemporaneous communications and (ii) any additional +or different terms or conditions, whether contained in purchase orders, order +acknowledgments, invoices or otherwise, will not be binding on the receiving +party and are null and void. This Agreement may only be modified in a writing +signed by an authorized representative of each party. + +If a court of competent jurisdiction rules that a provision of this Agreement is +unenforceable, that provision will be deemed modified to the extent necessary to +make it enforceable and the remainder of this Agreement will continue in full +force and effect. + +19. No Waiver. + +No failure or delay by a party to enforce any Agreement term or obligation will +operate as a waiver by that party, or prevent the enforcement of such term or +obligation later. + +20. Licensing. + +For any questions regarding this Agreement, please contact NVIDIA at +driver-licensing@nvidia.com + +(v. February 25, 2025) From f62bb7b810089418243ade6a5b5d32e88e7ae91b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:12:21 +0000 Subject: [PATCH 072/131] media-libs/libpng: Sync with Gentoo It's from Gentoo commit 69e920cb07fb697116d88e9e8d0e08ddb3640db3. --- .../portage-stable/media-libs/libpng/Manifest | 4 -- .../media-libs/libpng/libpng-1.6.44.ebuild | 69 ------------------- .../media-libs/libpng/libpng-1.6.46.ebuild | 69 ------------------- .../media-libs/libpng/libpng-1.6.47.ebuild | 4 +- .../media-libs/libpng/libpng-1.6.48.ebuild | 2 +- .../media-libs/libpng/libpng-1.6.49.ebuild | 9 ++- 6 files changed, 9 insertions(+), 148 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.44.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.46.ebuild 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 d5f6edb8f9..985c357c9c 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 @@ -1,7 +1,3 @@ -DIST libpng-1.6.44-apng-apng.patch.gz 10336 BLAKE2B 3c78cadd08b48466eee7c271ec82649dab55f28977622128c78764257a3f53e3255ddb1d728f10cb457b4db314566fe54b7edc88ab68b3dd1a8310bda500ab4f SHA512 5b8502abd3fad84772136a9eea53a918f806ef7035fe6df5d2b631a5279f298b9f125922d5aab7306e7c7aa1445ac9e36072e22fab4005d20662232078187f3c -DIST libpng-1.6.44.tar.xz 1045640 BLAKE2B 61064dd83f40a7e2e60ff723a568b7d0cda95aa80621a211aee7127b9783fbfc20cd82a2fe2d03584cbf9ab77c5444e3e008ac5ccc7f64af6e858ebcbcb78822 SHA512 bbd3e5e68d8b6fe3d85e59ca0babe8b522c19cac4b6ce0fcf21516cda7120b642be611eb1eaa565b7eabbacd22606593619aabd227b43a36f1efc707e7e11851 -DIST libpng-1.6.46-apng-apng.patch.gz 10266 BLAKE2B 51d04187fa631fcc388fafa86683579fe20a58c3f5dafb721632b82a82568842dff6772e29de1d95ffa5cb2dc188338c67f3d4427b9ee69fe98d20ab825aa0ba SHA512 78b33e4e2c68e8486c6666a5e2bdc57457e34952e2d0f8eed710913c92b895b8f96b96f0cfe8600a1c47c0b368e025f2fc20f3f52c435e5b3574e9f5aa546863 -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.44.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.44.ebuild deleted file mode 100644 index 4ace5f1cac..0000000000 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.44.ebuild +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit libtool multilib-minimal - -APNG_REPO=apng # sometimes libpng-apng is more up to date -APNG_VERSION="1.6.44" -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/media-libs/libpng/libpng-1.6.46.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.46.ebuild deleted file mode 100644 index 4983ef32aa..0000000000 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.46.ebuild +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit libtool multilib-minimal - -APNG_REPO=apng # sometimes libpng-apng is more up to date -APNG_VERSION="1.6.46" -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/media-libs/libpng/libpng-1.6.47.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.47.ebuild index 69724aa612..b46253b974 100644 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.47.ebuild +++ b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.47.ebuild @@ -8,7 +8,7 @@ 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/" +HOMEPAGE="https://www.libpng.org/" SRC_URI=" https://downloads.sourceforge.net/${PN}/${P}.tar.xz apng? ( @@ -19,7 +19,7 @@ SRC_URI=" 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" +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 )" 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 index fd9fc70c28..528dfd1f85 100644 --- 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 @@ -8,7 +8,7 @@ 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/" +HOMEPAGE="https://www.libpng.org/" SRC_URI=" https://downloads.sourceforge.net/${PN}/${P}.tar.xz apng? ( diff --git a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.49.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.49.ebuild index cda810ed05..a7708793d2 100644 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.49.ebuild +++ b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.49.ebuild @@ -8,7 +8,7 @@ inherit dot-a libtool multilib-minimal APNG_REPO=apng # sometimes libpng-apng is more up to date APNG_VERSION="1.6.49" DESCRIPTION="Portable Network Graphics library" -HOMEPAGE="http://www.libpng.org/" +HOMEPAGE="https://www.libpng.org/" SRC_URI=" https://downloads.sourceforge.net/${PN}/${P}.tar.xz apng? ( @@ -24,7 +24,10 @@ IUSE="apng cpu_flags_x86_sse static-libs test" RESTRICT="!test? ( test )" RDEPEND=">=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" -DEPEND="${RDEPEND}" +DEPEND=" + ${RDEPEND} + riscv? ( sys-kernel/linux-headers ) +" DOCS=( ANNOUNCE CHANGES libpng-manual.txt README TODO ) @@ -62,7 +65,7 @@ multilib_src_configure() { $(use_enable test tests) $(use_enable cpu_flags_x86_sse intel-sse) $(use_enable static-libs static) - --enable-riscv-rvv=check + --disable-riscv-rvv ) ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" From 1fa817fc1fca0e952664261c3092531b9aa34143 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:12:26 +0000 Subject: [PATCH 073/131] net-dns/bind: Sync with Gentoo It's from Gentoo commit 0d39d32207a33c040789e0be9a1772a5d7ab1bea. --- .../portage-stable/net-dns/bind/Manifest | 1 + .../net-dns/bind/bind-9.18.37-r1.ebuild | 2 +- .../net-dns/bind/bind-9.20.10.ebuild | 287 ++++++++++++++++++ 3 files changed, 289 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.10.ebuild diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/Manifest b/sdk_container/src/third_party/portage-stable/net-dns/bind/Manifest index 404a2f3e55..ae79901707 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/Manifest @@ -1,5 +1,6 @@ DIST bind-9.18.29.tar.xz 5562720 BLAKE2B f3e7de6936362bcce4993e401ed8fdd9d597459e82ad908a918fff1da619f91ef4896595ea210b43f2b492d763d7be2b71105495858da55431b60874c7fd2312 SHA512 6c2676e2e2cb90f3bd73afb367813c54d1c961e12df1e12e41b9d0ee5a1d5cdf368d81410469753eaef37e43358b56796f078f3b2f20c3b247c4bef91d56c716 DIST bind-9.18.31.tar.xz 5385812 BLAKE2B e069ab3caab887a87220b54804e5b19a4c21b8d3e4e8f1bc6a7135b3990a228d6c48b1ca4a22c75242485275eff1de145a9aff89addf81124e7dfcafd8ab30cf SHA512 e51873484be3ee367eb1e601b8e0adc45abcdb16df04021ea42ffcc51b99821f8b30f67b2a693a90ad3efa51698a651c8da9d7947ee8fa19680f627afe1f7034 DIST bind-9.18.37.tar.xz 5358128 BLAKE2B 59753a594e1e8249b9104377260701a9453eeecb6a233a94a33c6a134a6368c5c0b9473c4e08d956d0746a331dc7b121550f5e426a521d6c8d0441d9164f0547 SHA512 9789cb3fa7739cc7e1b137d1642861d9517adc4391e2f8c526bfa271e13f7489794ed20cb5f64c26e432d7b79cfe7aa1f7d59c476fd2749bc2dccfb85c514943 +DIST bind-9.20.10.tar.xz 5677276 BLAKE2B e5a7824ff5b901be447a2f4f067aa8b3345eb8187ed86f3bf6bc623e2b6c812722667eefd1f915026dab078846011e222336a30c4da640c4e54aa828398b180d SHA512 2d4510e2e73aed94424b065b9371a1422f1b53ec8c01b281fdc78f90401dcd229b7095a175bb4f4d44b07d81e5edbee78bbfb1bf31b981e26fe1ea6df53d415d DIST bind-9.20.7.tar.xz 5655168 BLAKE2B c5198939382e7295b4dfcb2ddbd86e5bccc10047d5e963dab2381404eb7a14543218e3caa438b395a2982cb607da84012f3a76a41c790a48ed615238bc080b5c SHA512 b9570c0c6588819108017d30dc7fb5e2f34361f941186d29da3d2830bbe3333c8c16bdb6581f5bec4786d90b74db860a9cad5f66d4f1c65168eae69f401a9df0 DIST bind-9.20.9.tar.xz 5668452 BLAKE2B 40a1428d2da9d92b3604f04234b2ff44701abcf2ea22883caea7fb4ee157547125fd68accb8fe10853ff64cd5018fa89e36eeb53021fa3ee9bc056e05ac228d6 SHA512 78efb4c4a5d78bd04efe222982efa1d6bb6748965e40d816d9e4329d6f2687a43d1e439bc3f98c00c85abaf8fc435063bcbe2d96a61b252fe3df0a8affa19f8f diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.37-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.37-r1.ebuild index d5fe3e00d7..c5dd842ede 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.37-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.37-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/bind/bind-9.20.10.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.10.ebuild new file mode 100644 index 0000000000..0c8dc469f9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.10.ebuild @@ -0,0 +1,287 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit eapi9-ver systemd tmpfiles toolchain-funcs + +MY_PV="${PV/_p/-P}" +MY_PV="${MY_PV/_rc/rc}" + +DESCRIPTION="Berkeley Internet Name Domain - Name Server" +HOMEPAGE="https://www.isc.org/bind/" +SRC_URI="https://downloads.isc.org/isc/bind9/${PV}/${P}.tar.xz" +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" +IUSE="dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs systemtap test xml" +RESTRICT="!test? ( test )" + +DEPEND=" + acct-group/named + acct-user/named + dev-libs/json-c:= + dev-libs/userspace-rcu:= + >=dev-libs/libuv-1.37.0:= + sys-libs/zlib:= + dev-libs/openssl:=[-bindist(-)] + >=sys-libs/libcap-2.1.0 + dnstap? ( + dev-libs/fstrm + dev-libs/protobuf-c + ) + doh? ( net-libs/nghttp2:= ) + geoip? ( dev-libs/libmaxminddb ) + gssapi? ( virtual/krb5 ) + idn? ( net-dns/libidn2 ) + jemalloc? ( dev-libs/jemalloc:= ) + lmdb? ( dev-db/lmdb ) + xml? ( dev-libs/libxml2:= ) +" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-bind ) + sys-process/psmisc + !/dev/null; echo ${CHROOT}) + if [[ -n ${CHROOT} ]]; then + elog "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + elog "To enable the old behaviour (without using mount) uncomment the" + elog "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + elog "If you decide to use the new/default method, ensure to make backup" + elog "first and merge your existing configs/zones to /etc/bind and" + elog "/var/bind because bind will now mount the needed directories into" + elog "the chroot dir." + fi + + # show only when upgrading to 9.18 + if ver_replacing -lt 9.18; then + elog "As this is a major bind version upgrade, please read:" + elog " https://kb.isc.org/docs/changes-to-be-aware-of-when-moving-from-bind-916-to-918" + elog "for differences in functionality." + elog "" + ewarn "In particular, please note that bind-9.18 does not need a root hints file anymore" + ewarn "and we only ship with one as a stop-gap. If your current configuration specifies a" + ewarn "root hints file - usually called named.cache - bind will not start as it will not be able" + ewarn "to find the specified file. Best practice is to delete the offending lines that" + ewarn "reference named.cache file from your configuration." + fi +} + +pkg_config() { + CHROOT=$(source "${EROOT}"/etc/conf.d/named; echo ${CHROOT}) + CHROOT_NOMOUNT=$(source "${EROOT}"/etc/conf.d/named; echo ${CHROOT_NOMOUNT}) + CHROOT_GEOIP=$(source "${EROOT}"/etc/conf.d/named; echo ${CHROOT_GEOIP}) + + if [[ -z "${CHROOT}" ]]; then + eerror "This config script is designed to automate setting up" + eerror "a chrooted bind/named. To do so, please first uncomment" + eerror "and set the CHROOT variable in '/etc/conf.d/named'." + die "Unset CHROOT" + fi + + if [[ -d "${CHROOT}" ]]; then + ewarn "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + ewarn "To enable the old behaviour (without using mount) uncomment the" + ewarn "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + ewarn + ewarn "${CHROOT} already exists... some things might become overridden" + ewarn "press CTRL+C if you don't want to continue" + sleep 10 + fi + + echo; einfo "Setting up the chroot directory..." + + mkdir -m 0750 -p "${CHROOT}" || die + mkdir -m 0755 -p "${CHROOT}"/{dev,etc,var/log,run} || die + mkdir -m 0750 -p "${CHROOT}"/etc/bind || die + mkdir -m 0770 -p "${CHROOT}"/var/{bind,log/named,run/named} "${CHROOT}"/run/named/ || die + + chown root:named \ + "${CHROOT}" \ + "${CHROOT}"/var/{bind,log/named,run/named} \ + "${CHROOT}"/run/named/ \ + "${CHROOT}"/etc/bind \ + || die + + mknod "${CHROOT}"/dev/null c 1 3 || die + chmod 0666 "${CHROOT}"/dev/null || die + + mknod "${CHROOT}"/dev/zero c 1 5 || die + chmod 0666 "${CHROOT}"/dev/zero || die + + if [[ "${CHROOT_NOMOUNT:-0}" -ne 0 ]]; then + cp -a /etc/bind "${CHROOT}"/etc/ || die + cp -a /var/bind "${CHROOT}"/var/ || die + fi + + if [[ "${CHROOT_GEOIP:-0}" -eq 1 ]]; then + if use geoip; then + mkdir -m 0755 -p "${CHROOT}"/usr/share/GeoIP || die + elif use geoip2; then + mkdir -m 0755 -p "${CHROOT}"/usr/share/GeoIP2 || die + fi + fi + + elog "You may need to add the following line to your syslog-ng.conf:" + elog "source jail { unix-stream(\"${CHROOT}/dev/log\"); };" +} From c31b3ef8a32787654383c85990b45961ef55c379 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:12:35 +0000 Subject: [PATCH 074/131] net-firewall/ipset: Sync with Gentoo It's from Gentoo commit 264476c8e7ae7dab41834bf403d6a5589fd171ed. --- .../portage-stable/net-firewall/ipset/ipset-7.24.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.24.ebuild b/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.24.ebuild index 953c5079e2..28906ea04f 100644 --- a/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.24.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.24.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://ipset.netfilter.org/${P}.tar.bz2" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv x86" RDEPEND=" net-firewall/iptables From 735643b681a0194340419d61a323508bd8aa2a5f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:12:54 +0000 Subject: [PATCH 075/131] net-libs/libnftnl: Sync with Gentoo It's from Gentoo commit 806709769055c5a330374e35075e243857995751. --- .../portage-stable/net-libs/libnftnl/libnftnl-1.2.9.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/libnftnl-1.2.9.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/libnftnl-1.2.9.ebuild index d15923402a..c50e71f56c 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/libnftnl-1.2.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/libnftnl-1.2.9.ebuild @@ -18,7 +18,7 @@ else https://netfilter.org/projects/${PN}/files/${P}.tar.xz verify-sig? ( https://netfilter.org/projects/${PN}/files/${P}.tar.xz.sig ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86" BDEPEND+="verify-sig? ( >=sec-keys/openpgp-keys-netfilter-20240415 )" fi From 3d6a935ca025f921da3f21ba844e86b49a455c4b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:13:00 +0000 Subject: [PATCH 076/131] net-libs/nghttp2: Sync with Gentoo It's from Gentoo commit 290e4d482d730b10ece3b1d814a4d4ba29a0035b. --- .../portage-stable/net-libs/nghttp2/Manifest | 1 + .../net-libs/nghttp2/nghttp2-1.66.0.ebuild | 70 +++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.66.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/Manifest b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/Manifest index 1247dc823c..e906164f47 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/Manifest @@ -1 +1,2 @@ DIST nghttp2-1.65.0.tar.xz 1604848 BLAKE2B 8fb752f55936110a8b5c27873e7e262a0c84740beac46444a80596e25b256ca3a4b0f0cc97a91e104a0f1c59ac0304546310a2817af126efabd2ce26cfd0ee06 SHA512 e1ef685a425017474ea0412c8ad13a217a45a320322b3aee48e646be21457d9b1f374abb9f681f47595a0ad8feb07d076bd0aa3279d35c5c9b5b8c921d8dd39e +DIST nghttp2-1.66.0.tar.xz 1743992 BLAKE2B 7b108f82b2ab4e5108a9220dbc57d6d894577464c2d64c5adb02c6f71f4c5d3d524b1c945ab016699236674501458c29d0186eaf2a7442bcb3f728df1075273c SHA512 23b4cae2bbd4b3c11c50093e2fc14f3b08241bb6a85c38409e9a1a328b81ad51f107179493a0ce4c6a767b557cafeca9ba638c491095639dcfd9a2d95fa8b80d diff --git a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.66.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.66.0.ebuild new file mode 100644 index 0000000000..60883face4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.66.0.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Built with autotools rather than cmake to avoid circular dep (bug #951525) + +inherit multilib-minimal + +DESCRIPTION="HTTP/2 C Library" +HOMEPAGE="https://nghttp2.org/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/nghttp2/nghttp2.git" + inherit git-r3 +else + inherit autotools + SRC_URI="https://github.com/nghttp2/nghttp2/releases/download/v${PV}/${P}.tar.xz" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +LICENSE="MIT" +SLOT="0/1.14" # 1. +IUSE="debug hpack-tools jemalloc systemd test utils xml" +RESTRICT="!test? ( test )" + +RDEPEND=" + hpack-tools? ( >=dev-libs/jansson-2.5:= ) + jemalloc? ( dev-libs/jemalloc:=[${MULTILIB_USEDEP}] ) + utils? ( + >=dev-libs/openssl-1.0.2:0=[-bindist(-),${MULTILIB_USEDEP}] + >=dev-libs/libev-4.15[${MULTILIB_USEDEP}] + net-dns/c-ares:=[${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.3[${MULTILIB_USEDEP}] + ) + systemd? ( >=sys-apps/systemd-209 ) + xml? ( >=dev-libs/libxml2-2.7.7:2=[${MULTILIB_USEDEP}] ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +src_prepare() { + default + [[ ${PV} == 9999 ]] && eautoreconf +} + +multilib_src_configure() { + # TODO: enable HTTP3 + # requires quictls/openssl, libngtcp2, libngtcp2_crypto_quictls, libnghttp3 + local myeconfargs=( + --disable-examples + --disable-failmalloc + --disable-werror + --enable-threads + $(use_enable debug) + $(multilib_native_use_enable hpack-tools) + $(multilib_native_use_with hpack-tools jansson) + $(multilib_native_use_with jemalloc) + $(multilib_native_use_with systemd) + $(multilib_native_use_enable utils app) + $(multilib_native_use_with xml libxml2) + ) + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install_all() { + einstalldocs + find "${ED}"/usr -type f -name '*.la' -delete || die +} From b425a7681c86e52833b5f33a75c27e700708bbcf Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:13:03 +0000 Subject: [PATCH 077/131] net-misc/curl: Sync with Gentoo It's from Gentoo commit 2dfdb0d3e13f61ee664746b056f572e86bfd8eb6. --- .../portage-stable/net-misc/curl/Manifest | 4 +- .../net-misc/curl/curl-8.12.1.ebuild | 2 - .../net-misc/curl/curl-8.13.0-r1.ebuild | 14 +- .../net-misc/curl/curl-8.14.1.ebuild | 14 +- ...l-8.14.0.ebuild => curl-8.15.0_rc1.ebuild} | 13 +- .../net-misc/curl/curl-9999.ebuild | 14 +- .../curl-8.14.0-add_handle-resizing.patch | 187 ------------------ 7 files changed, 42 insertions(+), 206 deletions(-) rename sdk_container/src/third_party/portage-stable/net-misc/curl/{curl-8.14.0.ebuild => curl-8.15.0_rc1.ebuild} (97%) delete mode 100644 sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.14.0-add_handle-resizing.patch 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 76ff82a9fb..1bb0eabe09 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,7 +2,7 @@ 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.tar.xz 2819512 BLAKE2B d8b7d58e6923366265a1d95d3a6f14002729dfb95d88b17ec925d096bd199b206f6c9645e1e4be3bc2d295e8898c35990eda6f45329396f38753725907e402a1 SHA512 d9f49cac0b93dbc53879713cc017392b4277d84b489bbf2ef3b585c6a50eea6c3a7b80043286b34062af04329560f2dc321f315b0038ce93435aa9bbcaec1eea -DIST curl-8.14.0.tar.xz.asc 488 BLAKE2B 9fa2fe756d7c170b4fc883bd0c23eb103d947e8328d56ea3dea53403d3cd01626ada943595179955f55a77eb8f4da65b5e4d74fe5627fc8c5ab4d88efbb5df3e SHA512 7c147ddb5e141dd9951e2ef6b23fa120318c0e631fb36861b80fce61b4b19ca08273a6b95627f46a8172945fb51bd790ffc74dee0a4b0de860dad518963b4710 DIST curl-8.14.1.tar.xz 2817248 BLAKE2B 4ce2277d143084823855b714e86047a94d4c52a686b8d16d9ab76c31168f1a74d63dfa7608cff36706a8a0b9bf9cc611a9b99860b176a227bca580cd95e9cff2 SHA512 7f6eae04cc23c50fc41d448aa28dfa59141018009e42c5b1e3f4e0d40c0633460b4e6eec05dfc290f7953671096abfa70a8b5443fccdd3f1be6be32ac10b31d9 DIST curl-8.14.1.tar.xz.asc 488 BLAKE2B f664f526dbffa0a1af2b28f51982445f7d9064b3c3b3e6dd04322003db22da2acde5d493c80204b36a9219d42959543c5a0aee47f2365eb713490ff2fc5f475f SHA512 663b1652bb27338310d1475a8b0422f04e68fca74be11a4b7120de948af4fc0c2b08b75ce5372d657aa89504a27b36b937b5091cb2d932297a7490d5e390d99f +DIST curl-8.15.0-rc1.tar.xz 2770340 BLAKE2B 3d54032dd9e3894d622a45f5c7764d473d024d5a4422f9e15efe1914bc5377c0fcb84fa4b4bcf7c4195dc35614ca5bb6b413608e43b1a7f9d5396a1505d7a4b7 SHA512 eedabb0e416e119107e05c1b6afa04b4157f0381a3572c352e996ff682302690dbe34b75f39d49f6b7a26667eb673f06bd311853e73b9a82839eb1d8a43abe60 +DIST curl-8.15.0-rc1.tar.xz.asc 488 BLAKE2B 4ca9ae69dd98dcf5c4e0e186b2e03b7c2f627f74439b05fe729e5b01016a0d84bb7bd1816f6fac40bfea4a6f69979b0cd52f444032fcd49cac7a701c344b9f1b SHA512 8dbd61cc5246dc6244ac3bc16f9411d3bfe84bae8bd52935dd82d114c92a3be01116963d5518dea12426fbc5d6b45d9baec8354f9183c51f9cddf3204953d865 diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.12.1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.12.1.ebuild index a497cf397a..8d74677535 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.12.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.12.1.ebuild @@ -55,14 +55,12 @@ REQUIRED_USE=" ) curl_quic_openssl? ( curl_ssl_openssl - quic !gnutls !mbedtls !rustls ) curl_quic_ngtcp2? ( curl_ssl_gnutls - quic !mbedtls !openssl !rustls diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.13.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.13.0-r1.ebuild index 59963eb1e4..d5551349f3 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.13.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.13.0-r1.ebuild @@ -73,14 +73,12 @@ REQUIRED_USE=" ) curl_quic_openssl? ( curl_ssl_openssl - quic !gnutls !mbedtls !rustls ) curl_quic_ngtcp2? ( curl_ssl_gnutls - quic !mbedtls !openssl !rustls @@ -254,6 +252,16 @@ multilib_src_configure() { local -a tls_backend_opts readarray -t tls_backend_opts < <(_get_curl_tls_configure_opts) myconf+=("${tls_backend_opts[@]}") + if use quic; then + myconf+=( + $(use_with curl_quic_ngtcp2 ngtcp2) + $(use_with curl_quic_openssl openssl-quic) + ) + else + # Without a REQUIRED_USE to ensure that QUIC was requested when at least one default backend is + # enabled we need ensure that we don't try to build QUIC support + myconf+=( --without-ngtcp2 --without-openssl-quic ) + fi else myconf+=( --without-ssl ) einfo "SSL disabled" @@ -290,8 +298,6 @@ multilib_src_configure() { $(use_enable httpsrr) $(use_with http2 nghttp2) $(use_with http3 nghttp3) - $(use_with curl_quic_ngtcp2 ngtcp2) - $(use_with curl_quic_openssl openssl-quic) ) # --enable/disable options diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.14.1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.14.1.ebuild index bdceb348fc..695ec970d8 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.14.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.14.1.ebuild @@ -73,14 +73,12 @@ REQUIRED_USE=" ) curl_quic_openssl? ( curl_ssl_openssl - quic !gnutls !mbedtls !rustls ) curl_quic_ngtcp2? ( curl_ssl_gnutls - quic !mbedtls !openssl !rustls @@ -248,6 +246,16 @@ multilib_src_configure() { local -a tls_backend_opts readarray -t tls_backend_opts < <(_get_curl_tls_configure_opts) myconf+=("${tls_backend_opts[@]}") + if use quic; then + myconf+=( + $(use_with curl_quic_ngtcp2 ngtcp2) + $(use_with curl_quic_openssl openssl-quic) + ) + else + # Without a REQUIRED_USE to ensure that QUIC was requested when at least one default backend is + # enabled we need ensure that we don't try to build QUIC support + myconf+=( --without-ngtcp2 --without-openssl-quic ) + fi else myconf+=( --without-ssl ) einfo "SSL disabled" @@ -284,8 +292,6 @@ multilib_src_configure() { $(use_enable httpsrr) $(use_with http2 nghttp2) $(use_with http3 nghttp3) - $(use_with curl_quic_ngtcp2 ngtcp2) - $(use_with curl_quic_openssl openssl-quic) ) # --enable/disable options diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.14.0.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.15.0_rc1.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.14.0.ebuild rename to sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.15.0_rc1.ebuild index db6300f056..ea0558f986 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.14.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.15.0_rc1.ebuild @@ -177,7 +177,6 @@ QA_CONFIG_IMPL_DECL_SKIP=( PATCHES=( "${FILESDIR}/${PN}-prefix-4.patch" "${FILESDIR}/${PN}-respect-cflags-3.patch" - "${FILESDIR}/${P}-add_handle-resizing.patch" ) src_prepare() { @@ -249,6 +248,16 @@ multilib_src_configure() { local -a tls_backend_opts readarray -t tls_backend_opts < <(_get_curl_tls_configure_opts) myconf+=("${tls_backend_opts[@]}") + if use quic; then + myconf+=( + $(use_with curl_quic_ngtcp2 ngtcp2) + $(use_with curl_quic_openssl openssl-quic) + ) + else + # Without a REQUIRED_USE to ensure that QUIC was requested when at least one default backend is + # enabled we need ensure that we don't try to build QUIC support + myconf+=( --without-ngtcp2 --without-openssl-quic ) + fi else myconf+=( --without-ssl ) einfo "SSL disabled" @@ -285,8 +294,6 @@ multilib_src_configure() { $(use_enable httpsrr) $(use_with http2 nghttp2) $(use_with http3 nghttp3) - $(use_with curl_quic_ngtcp2 ngtcp2) - $(use_with curl_quic_openssl openssl-quic) ) # --enable/disable options diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-9999.ebuild index bdceb348fc..282a1bd9bc 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-9999.ebuild @@ -73,14 +73,12 @@ REQUIRED_USE=" ) curl_quic_openssl? ( curl_ssl_openssl - quic !gnutls !mbedtls !rustls ) curl_quic_ngtcp2? ( curl_ssl_gnutls - quic !mbedtls !openssl !rustls @@ -248,6 +246,16 @@ multilib_src_configure() { local -a tls_backend_opts readarray -t tls_backend_opts < <(_get_curl_tls_configure_opts) myconf+=("${tls_backend_opts[@]}") + if use quic; then + myconf+=( + $(use_with curl_quic_ngtcp2 ngtcp2) + $(use_with curl_quic_openssl openssl-quic) + ) + else + # Without a REQUIRED_USE to ensure that QUIC was requested when at least one default backend is + # we need ensure that we don't try to build QUIC support + myconf+=( --without-ngtcp2 --without-openssl-quic ) + fi else myconf+=( --without-ssl ) einfo "SSL disabled" @@ -284,8 +292,6 @@ multilib_src_configure() { $(use_enable httpsrr) $(use_with http2 nghttp2) $(use_with http3 nghttp3) - $(use_with curl_quic_ngtcp2 ngtcp2) - $(use_with curl_quic_openssl openssl-quic) ) # --enable/disable options diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.14.0-add_handle-resizing.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.14.0-add_handle-resizing.patch deleted file mode 100644 index 0bbf0262bd..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.14.0-add_handle-resizing.patch +++ /dev/null @@ -1,187 +0,0 @@ -https://github.com/curl/curl/commit/d16ccbd55de80c271fe822f4ba8b6271fd9166ff -From: Stefan Eissing -Date: Wed, 28 May 2025 14:04:31 +0200 -Subject: [PATCH] multi: fix add_handle resizing - -Due to someone being stupid, the resizing of the multi's transfer -table was actually shrinking it. Oh my. - -Add test751 to reproduce, add code assertion. - -Fixes #17473 -Reported-by: Jeroen Ooms -Closes #17475 ---- a/lib/multi.c -+++ b/lib/multi.c -@@ -347,7 +347,8 @@ static CURLMcode multi_xfers_add(struct Curl_multi *multi, - if(unused <= min_unused) { - /* make it a 64 multiple, since our bitsets frow by that and - * small (easy_multi) grows to at least 64 on first resize. */ -- unsigned int newsize = ((capacity + min_unused) + 63) / 64; -+ unsigned int newsize = (((capacity + min_unused) + 63) / 64) * 64; -+ DEBUGASSERT(newsize > capacity); - /* Grow the bitsets first. Should one fail, we do not need - * to downsize the already resized ones. The sets continue - * to work properly when larger than the table, but not ---- a/tests/data/Makefile.am -+++ b/tests/data/Makefile.am -@@ -107,7 +107,7 @@ test709 test710 test711 test712 test713 test714 test715 test716 test717 \ - test718 test719 test720 test721 test722 test723 test724 test725 test726 \ - test727 test728 test729 test730 test731 test732 test733 test734 test735 \ - test736 test737 test738 test739 test740 test741 test742 test743 test744 \ --test745 test746 test747 test748 test749 test750 \ -+test745 test746 test747 test748 test749 test750 test751 \ - \ - test780 test781 test782 test783 test784 test785 test786 test787 test788 \ - test789 test790 test791 \ ---- /dev/null -+++ b/tests/data/test751 -@@ -0,0 +1,33 @@ -+ -+ -+ -+MULTI -+ -+ -+ -+ -+ -+ -+ -+# Client-side -+ -+ -+none -+ -+# tool is what to use instead of 'curl' -+ -+lib%TESTNUMBER -+ -+ -+ -+multi - add many easy handles -+ -+ -+ -+ -+ -+ -+# Verify data after the test has been "shot" -+ -+ -+ ---- a/tests/libtest/Makefile.inc -+++ b/tests/libtest/Makefile.inc -@@ -50,6 +50,7 @@ LIBTESTPROGS = libauthretry libntlmconnect libprereq \ - lib659 lib661 lib666 lib667 lib668 \ - lib670 lib671 lib672 lib673 lib674 lib676 lib677 lib678 lib694 lib695 \ - lib696 \ -+ lib751 \ - lib1156 \ - lib1301 \ - lib1308 \ -@@ -349,6 +350,9 @@ lib695_SOURCES = lib695.c $(SUPPORTFILES) - lib696_SOURCES = lib556.c $(SUPPORTFILES) $(WARNLESS) - lib696_CPPFLAGS = $(AM_CPPFLAGS) -DLIB696 - -+lib751_SOURCES = lib751.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) -+lib751_LDADD = $(TESTUTIL_LIBS) -+ - lib1301_SOURCES = lib1301.c $(SUPPORTFILES) $(TESTUTIL) - lib1301_LDADD = $(TESTUTIL_LIBS) - ---- /dev/null -+++ b/tests/libtest/lib751.c -@@ -0,0 +1,92 @@ -+/*************************************************************************** -+ * _ _ ____ _ -+ * Project ___| | | | _ \| | -+ * / __| | | | |_) | | -+ * | (__| |_| | _ <| |___ -+ * \___|\___/|_| \_\_____| -+ * -+ * Copyright (C) Daniel Stenberg, , et al. -+ * -+ * This software is licensed as described in the file COPYING, which -+ * you should have received as part of this distribution. The terms -+ * are also available at https://curl.se/docs/copyright.html. -+ * -+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell -+ * copies of the Software, and permit persons to whom the Software is -+ * furnished to do so, under the terms of the COPYING file. -+ * -+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY -+ * KIND, either express or implied. -+ * -+ * SPDX-License-Identifier: curl -+ * -+ ***************************************************************************/ -+#include "test.h" -+ -+#include "testutil.h" -+#include "warnless.h" -+#include "memdebug.h" -+ -+#define TEST_HANG_TIMEOUT 60 * 1000 -+ -+/* -+ * Get a single URL without select(). -+ */ -+ -+CURLcode test(char *URL) -+{ -+ CURL *easies[1000]; -+ CURLM *m; -+ CURLcode res = CURLE_FAILED_INIT; -+ CURLMcode mres; -+ int i; -+ -+ (void)URL; -+ memset(easies, 0, sizeof(easies)); -+ -+ curl_global_init(CURL_GLOBAL_DEFAULT); -+ m = curl_multi_init(); -+ if(!m) { -+ res = CURLE_OUT_OF_MEMORY; -+ goto test_cleanup; -+ } -+ -+ for(i = 0; i < 1000; i++) { -+ CURL *e = curl_easy_init(); -+ if(!e) { -+ res = CURLE_OUT_OF_MEMORY; -+ goto test_cleanup; -+ } -+ easies[i] = e; -+ -+ res = curl_easy_setopt(e, CURLOPT_URL, "https://www.example.com/"); -+ if(!res) -+ res = curl_easy_setopt(e, CURLOPT_VERBOSE, 1L); -+ if(res) -+ goto test_cleanup; -+ -+ mres = curl_multi_add_handle(m, e); -+ if(mres != CURLM_OK) { -+ printf("MULTI ERROR: %s\n", curl_multi_strerror(mres)); -+ res = CURLE_FAILED_INIT; -+ goto test_cleanup; -+ } -+ } -+ -+test_cleanup: -+ -+ if(res) -+ printf("ERROR: %s\n", curl_easy_strerror(res)); -+ -+ for(i = 0; i < 1000; i++) { -+ if(easies[i]) { -+ curl_multi_add_handle(m, easies[i]); -+ curl_easy_cleanup(easies[i]); -+ easies[i] = NULL; -+ } -+ } -+ curl_multi_cleanup(m); -+ curl_global_cleanup(); -+ -+ return res; -+} From 7c9e31efc2a39ddda444ec82a29854a42d97deb3 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:13:09 +0000 Subject: [PATCH 078/131] net-misc/passt: Sync with Gentoo It's from Gentoo commit 1a3f492d562e9bb5087c3c94aab33eadaffea23f. --- .../portage-stable/net-misc/passt/passt-2025.04.15.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2025.04.15.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2025.04.15.ebuild index 1656a87f49..b6d594c49b 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2025.04.15.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2025.04.15.ebuild @@ -16,7 +16,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="https://passt.top/passt/snapshot/passt-${RELEASE_COMMIT}.tar.xz -> ${P}.tar.xz" S="${WORKDIR}/${PN}-${RELEASE_COMMIT}" - KEYWORDS="~amd64 ~arm64 ~loong ~riscv" + KEYWORDS="amd64 ~arm64 ~loong ~riscv" fi LICENSE="BSD GPL-2+" From a671b38b219b976d554ea8ed9cfa32b4f74b2fbf Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:13:15 +0000 Subject: [PATCH 079/131] profiles: Sync with Gentoo It's from Gentoo commit b60decdcef27e3d0e4401c6ccd171e909c7ecd7a. --- .../profiles/arch/alpha/package.use.mask | 4 + .../profiles/arch/amd64/package.use.mask | 4 - .../profiles/arch/arm/package.use.stable.mask | 5 + .../profiles/arch/base/package.use.mask | 4 - .../arch/base/package.use.stable.mask | 4 + .../profiles/arch/loong/package.use | 4 + .../profiles/arch/loong/package.use.mask | 8 + .../arch/powerpc/ppc32/package.use.mask | 7 +- .../arch/powerpc/ppc64/package.use.mask | 4 + .../powerpc/ppc64/package.use.stable.mask | 8 +- .../profiles/arch/sparc/package.use.mask | 4 + .../profiles/arch/x86/package.use.mask | 4 + .../portage-stable/profiles/base/package.mask | 5 - .../profiles/base/package.use.force | 15 ++ .../profiles/base/package.use.mask | 13 ++ .../profiles/features/split-usr/package.mask | 2 +- .../profiles/features/wd40/package.mask | 9 +- .../portage-stable/profiles/license_groups | 4 +- .../profiles/package.deprecated | 13 ++ .../portage-stable/profiles/package.mask | 163 +++++++++--------- .../targets/desktop/gnome/package.use | 6 +- .../targets/desktop/plasma/package.use | 1 + .../profiles/targets/systemd/package.mask | 6 - .../profiles/targets/systemd/package.use.mask | 7 +- 24 files changed, 193 insertions(+), 111 deletions(-) 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 8ddfa194ea..195252f50d 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,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Mike Gilbert (2025-06-18) +# media-libs/libsdl3 is missing keywords. +>=net-misc/freerdp-3.16.0 sdl + # NRK (2025-05-18) # app-arch/plzip is not keyworded app-alternatives/lzip plzip diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask index 7d3c37ca3b..c82d58878f 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask @@ -21,10 +21,6 @@ # Upstream supports amd64 media-libs/svt-av1 -test -# Mike Gilbert (2025-05-13) -# media-libs/libsdl3 is keyworded here. -net-misc/freerdp -sdl3 - # Michał Górny (2025-05-08) # dev-python/sigstore is keyworded here. =dev-lang/python-0* -verify-sig diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.stable.mask index a609e9cd3e..a021b81bec 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.stable.mask @@ -1,6 +1,11 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Pacho Ramos (2025-06-28) +# It needs gnome-control-center and many more gnome packages to be +# stabilized before +gnome-base/gvfs onedrive + # Andreas Sturmlechner (2025-01-28) # PyQt 6 is not stable here >=app-admin/setools-4.5.1 gui test 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 c557468020..202d53f625 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask @@ -1,10 +1,6 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Mike Gilbert (2025-05-13) -# media-libs/libsdl3 is missing keywords. -net-misc/freerdp sdl3 - # Michał Górny (2025-05-08) # dev-python/sigstore is not keyworded everywhere. =dev-lang/python-0* verify-sig diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.stable.mask index b7713f92ad..f962a6f7d7 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.stable.mask @@ -1,6 +1,10 @@ # Copyright 2023-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Nowa Ammerlaan (2025-06-17) +# TOD support is a soft fork, mask for testing +sys-auth/libfprint tod + # Andreas Sturmlechner (2025-06-02) # sci-libs/libsigrok is not stable app-metrics/collectd collectd_plugins_sigrok diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use b/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use index 319345dc04..292ab61ee3 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# WANG Xuerui (2025-01-27) +# Enable the UEFI target by default +sys-apps/memtest86+ uefi64 + # Sam James (2023-10-08) # dev-db/mysql not keyworded here dev-perl/DBD-mysql -mysql mariadb 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 290d0e7f33..a384182233 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,14 @@ # Copyright 2022-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Mike Gilbert (2025-06-18) +# media-libs/libsdl3 is missing keywords. +>=net-misc/freerdp-3.16.0 sdl + +# WANG Xuerui (2025-02-28) +# Upstream only supports the 64-bit UEFI configuration for loong. +sys-apps/memtest86+ bios32 bios64 uefi32 iso32 + # WANG Xuerui (2025-05-29) # dist-server pulls in the libmount crate which is unmaintained and depends # on outdated nix that does not support loong diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask index 786c07e7f0..5b58a22601 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask @@ -1,10 +1,15 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Hans de Graaff (2025-05-31) +# Hans de Graaff (2025-06-29) # Requires large parts of dev-ruby/rails to be keyworded. +dev-ruby/globalid test dev-ruby/minitest-hooks test +# Mike Gilbert (2025-06-18) +# media-libs/libsdl3 is missing keywords. +>=net-misc/freerdp-3.16.0 sdl + # Sam James (2025-05-16) # gpio: dev-libs/libgpiod not keyworded here # modbus: dev-libs/libmodbus not keyworded here 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 3478947358..e41322e9d9 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,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Mike Gilbert (2025-06-18) +# media-libs/libsdl3 is missing keywords. +>=net-misc/freerdp-3.16.0 sdl + # Sam James (2025-06-05) # dev-util/spirv-llvm-translator not keyworded here dev-libs/pocl spirv diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.stable.mask index b282972b37..17d3058453 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.stable.mask @@ -17,6 +17,10 @@ #--- END OF EXAMPLES --- +# Pacho Ramos (2025-06-28) +# Mask options needing to stabilize Gnome stuff +gnome-base/gvfs google onedrive + # Alfredo Tupone (2025-04-15) # test depend on packages only 0.14 is stable dev-ml/dune test @@ -93,7 +97,3 @@ dev-cpp/eigen test # Andreas Sturmlechner (2019-02-16) # app-text/libwpd and app-text/libwpg are not stable media-gfx/inkscape cdr visio wpg - -# Pacho Ramos (2014-07-02) -# Mask due Gnome3 not going to be stabilized on this arch -gnome-base/gvfs google 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 b313b18a85..67f29ae842 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Christopher Byrne (2025-06-13) +# dev-ml/findlib is not keyworkded here +sys-libs/libnbd test + # Andreas Sturmlechner (2025-06-13) # dev-libs/libwacom is not keyworded here dev-libs/libinput input_devices_wacom diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask index e8c794f099..8bb729bf5a 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Mike Gilbert (2025-06-18) +# media-libs/libsdl3 is missing keywords. +>=net-misc/freerdp-3.16.0 sdl + # Paul Zander (2025-05-02) # dev-python/nanobind is not keyworded here media-gfx/openvdb python diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.mask b/sdk_container/src/third_party/portage-stable/profiles/base/package.mask index d8801de418..a57c3b6ef7 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.mask @@ -5,11 +5,6 @@ # Requires systemd, so specifically unmasked only in targets/systemd. >=kde-plasma/drkonqi-6.3.90 -# Sam James (2024-11-10) -# Breaks suspend on elogind systems (bug #934314, bug #923614) -# https://github.com/polkit-org/polkit/issues/451 ->=sys-auth/polkit-124 - # matoro (2024-08-18) # Pre-rust versions of librsvg. Has vulnerabilities, so masked by # default and only unmasked on wd40. 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 86d49ee850..9d498f5143 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 @@ -1,6 +1,19 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Andreas Sturmlechner (2025-06-22) +# This is currently more footgun than real option. Bug #958638 + (2025-06-17) +# Build system currently does not allow static libs to be optional, and +# deleting (as we do now) leaves both the cmake export and fltk-config +# script unaware of the change and may cause problems. Will revisit if +# improved upstream, would rather not invent a downstream solution. +# https://bugs.gentoo.org/940572 +# https://github.com/gentoo/gentoo/pull/42633 +x11-libs/fltk static-libs + # Sam James (2025-06-05) # app-misc/ddcutil fails to build w/o USE=X as it always tries to include # . See bug #950320 and https://github.com/rockowitz/ddcutil/issues/504 @@ -65,6 +78,8 @@ llvm-runtimes/libcxxabi clang # echo "dev-lang/rust:${slot} llvm_slot_${_RUST_LLVM_MAP[${slot}]}" # echo "dev-lang/rust-bin:${slot} llvm_slot_${_RUST_LLVM_MAP[${slot}]}" # done +dev-lang/rust:1.88.0 llvm_slot_20 +dev-lang/rust-bin:1.88.0 llvm_slot_20 dev-lang/rust:1.87.0 llvm_slot_20 dev-lang/rust-bin:1.87.0 llvm_slot_20 dev-lang/rust:1.86.0 llvm_slot_19 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 b369359d59..725fafe06a 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,19 @@ # New entries go on top. +# Andreas Sturmlechner (2025-06-27) +# Prepare cleanup of kde-apps/cervisia +kde-apps/kdesdk-meta cvs + +# Andreas Sturmlechner (2025-06-26) +# >=kde-plasma/drkonqi-6.3.90 requires systemd, so specifically +# unmasked only in targets/systemd. +>=kde-plasma/plasma-meta-6.3.90 systemd + +# Andreas Sturmlechner (2025-06-24) +# Prepare cleanup of dev-libs/libdbusmenu-qt, bug #938823 +kde-frameworks/knotifications:5 dbus + # Alfred Wingate (2025-06-10) # Upstream only supports amd64 and arm64. Other targets will fail to build # tests due to missing target specific functions. diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/split-usr/package.mask b/sdk_container/src/third_party/portage-stable/profiles/features/split-usr/package.mask index 4ef0df3948..2d04a03bd0 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/split-usr/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/split-usr/package.mask @@ -14,7 +14,7 @@ sys-apps/intune-portal sys-apps/systemd-readahead sys-block/wait-for-dri-devices-rules sys-power/sandmann-bin -www-misc/profile-sync-daemon +>=www-misc/profile-sync-daemon-6 # Andreas K. Hüttel (2023-12-07) # Does not support split-usr filesystem geometry. Please migrate to diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.mask b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.mask index b4abfdcf15..82fb617206 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.mask @@ -1,6 +1,13 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sebastian Pipping (2025-06-20) +# Requires masked packages (bug #958030) +# (dev-python/keyring, dev-python/pydantic) +dev-python/deepdiff +dev-python/poetry +dev-python/poetry-plugin-export + # Holger HoffstƤtte (2025-05-18) # >=bpftrace-0.23 needs Rust-based blazesym_c >=dev-debug/bpftrace-0.23.2 @@ -139,10 +146,8 @@ dev-python/spake2 dev-python/requests-ntlm dev-python/python3-discogs-client dev-python/python-axolotl -net-im/yowsup dev-python/pyghmi dev-python/omemo-dr -net-im/transwhat dev-python/noiseprotocol dev-python/magic-wormhole dev-python/magic-wormhole-transit-relay diff --git a/sdk_container/src/third_party/portage-stable/profiles/license_groups b/sdk_container/src/third_party/portage-stable/profiles/license_groups index 9738bd27ad..84bcba70f0 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/license_groups +++ b/sdk_container/src/third_party/portage-stable/profiles/license_groups @@ -69,7 +69,7 @@ FREE @FREE-SOFTWARE @FREE-DOCUMENTS # - IF (and only if) there is an explicit inclusion requirement, # USE=bindist MUST cause a copy of the license to be installed # in a file location compliant with the license -BINARY-REDISTRIBUTABLE @FREE Atmel AVASYS bh-luxi bonnie Broadcom freedist intel-ucode ipw2100-fw ipw2200-fw ISSL JSON linux-fw-redistributable LSI-tw_cli Mellanox-AS-IS MicroChip-SDCC no-source-code NOSA NVIDIA-r1 NVIDIA-r2 qlogic-fibre-channel-firmware shmux unRAR +BINARY-REDISTRIBUTABLE @FREE Atmel AVASYS bh-luxi bonnie Broadcom freedist intel-ucode ipw2100-fw ipw2200-fw ISSL JSON linux-fw-redistributable LSI-tw_cli Mellanox-AS-IS MicroChip-SDCC no-source-code NOSA NVIDIA-r1 NVIDIA-r2 NVIDIA-2023 NVIDIA-2025 qlogic-fibre-channel-firmware shmux unRAR ###################################################################### @@ -81,7 +81,7 @@ OSI-APPROVED @OSI-APPROVED-FREE @OSI-APPROVED-NONFREE # License agreements that try to take away your rights. These are more # restrictive than "all-rights-reserved" or require explicit approval. -EULA 2dboy-EULA AMD-GPU-PRO-EULA android AnyDesk-TOS Aseprite-EULA baudline bestcrypt CAPYBARA-EULA Dell-EULA ETQW f.lux FAH-EULA-2014 Flightradar24 Gameplay-Group-EULA geekbench genymotion GIMPS GOG-EULA google-chrome Intel-SDP Introversion JoyPixels LOKI-EULA MakeMKV-EULA Microsemi microsoft-azurevpnclient microsoft-edge Microsoft-vscode MikroTik Mojang MTA-0.5 NVIDIA-CUDA NVIDIA-cuSPARSELt-v2020.10.12 NVIDIA-SDK NVIDIA-SDK-v2017.06.13 NVIDIA-SDK-v2020.10.12 Ookla OPERA-2018 PAPERS-PLEASE PassMark-EULA PICO-8 Primate-Plunge PUEL-11 PUEL-12 Q3AEULA-20000111 QUAKE4 RAR sfpg SPS Steam supermicro Synology teamspeak3 teamspeak5 TeamViewer THINKTANKS TIK ubiquiti ut2003 ut2003-demo Vivaldi worklog-assistant WPS-EULA zi-labone +EULA 2dboy-EULA AMD-GPU-PRO-EULA android AnyDesk-TOS Aseprite-EULA baudline bestcrypt Broadcom-tod CAPYBARA-EULA Dell-EULA ETQW f.lux FAH-EULA-2014 Flightradar24 Gameplay-Group-EULA geekbench genymotion GIMPS GOG-EULA google-chrome Intel-SDP Introversion JoyPixels LOKI-EULA MakeMKV-EULA Microsemi microsoft-azurevpnclient microsoft-edge Microsoft-vscode MikroTik Mojang MTA-0.5 NVIDIA-CUDA NVIDIA-cuSPARSELt-v2020.10.12 NVIDIA-SDK NVIDIA-SDK-v2017.06.13 NVIDIA-SDK-v2020.10.12 Ookla OPERA-2018 PAPERS-PLEASE PassMark-EULA PICO-8 Primate-Plunge PUEL-11 PUEL-12 Q3AEULA-20000111 QUAKE4 RAR sfpg SPS Steam supermicro Synology teamspeak3 teamspeak5 TeamViewer THINKTANKS TIK ubiquiti ut2003 ut2003-demo Vivaldi worklog-assistant WPS-EULA zi-labone # Deprecated license labels, used by pkgcheck #DEPRECATED (currently none) diff --git a/sdk_container/src/third_party/portage-stable/profiles/package.deprecated b/sdk_container/src/third_party/portage-stable/profiles/package.deprecated index d6e4a9675b..0fb1221970 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/package.deprecated +++ b/sdk_container/src/third_party/portage-stable/profiles/package.deprecated @@ -17,6 +17,19 @@ #--- END OF EXAMPLES --- +# Michał Górny (2025-06-28) +# versioningit does not provide any support for building via GitHub +# archives, and has rejected the efforts to provide an envvar override +# for this purpose, making it largely unsuitable for Gentoo packaging. +# Convince upstream to use dev-python/setuptools-scm +# (or dev-python/hatch-vcs, etc.) instead. +dev-python/versioningit + +# Michał Górny (2025-06-25) +# Discontinued upstream. They suggest vendoring what people need +# instead. +dev-python/click-plugins + # Michał Górny (2024-06-15) # Stop-gap compatibility package. Upstreams really need to move away # from the removed cgi module rather than rely on this. 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 f3ff5c3d43..c56563e0e9 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,91 @@ #--- END OF EXAMPLES --- +# Andreas Sturmlechner (2025-06-29) +# KF5-based package, unmaintained upstream, see also: +# https://mail.kde.org/pipermail/release-team/2025-June/013683.html +# Removal on 2025-07-29. +kde-apps/cervisia + +# Michał Górny (2025-06-29) +# File collision against gnome-base/gnome-keyring[pam], which is +# required via pambase. Masked until the maintainer determines a good +# solution. Bug #959274. +=app-crypt/libsecret-0.21.7-r1 + +# Michał Górny (2025-06-28) +# Rust/eBPF does not support 32-bit x86 host. As such, mitmproxy can +# no longer be used on this architecture. +=net-proxy/mitmproxy-9.0.1 + +# Jay Faulkner (2025-06-26) +# Discontinued by upstream in Sept 2023, running on a likely vulnerable +# electron version. Bug #959128. +net-irc/irccloud-desktop-bin + +# David Seifert (2025-06-25) +# Skype has been shut down on 2025-05-05, use the Teams progressive web +# application with your Skype username as alternative. +# Removal on 2025-07-25. Bug #942322. +net-im/skypeforlinux +sec-policy/selinux-skype +x11-plugins/pidgin-skypeweb + +# Michał Górny (2025-06-25) +# New problematic test dependencies. No reverse dependencies. +# Removal on 2025-07-25. Bug #958987. +dev-python/caldav + +# Andreas Sturmlechner (2025-06-24) +# Qt5 package without any revdeps. Removal on 2025-07-24. Bug #938823 +dev-libs/libdbusmenu-qt + +# Andreas K. Hüttel (2025-06-24) +# Perl 5.42 mask/unmask block, complete as of 5.42.0_rc2 +=dev-lang/perl-5.42* +~virtual/perl-Archive-Tar-3.40.0 +~virtual/perl-Compress-Raw-Bzip2-2.213.0 +~virtual/perl-CPAN-2.380.0 +~virtual/perl-Data-Dumper-2.192.0 +~virtual/perl-Devel-PPPort-3.730.0 +~virtual/perl-Digest-MD5-2.590.0 +~virtual/perl-Exporter-5.790.0 +~virtual/perl-ExtUtils-CBuilder-0.280.241 +~virtual/perl-ExtUtils-CBuilder-0.280.242 +~virtual/perl-ExtUtils-MakeMaker-7.760.0 +~virtual/perl-ExtUtils-ParseXS-3.570.0 +~virtual/perl-File-Spec-3.940.0 +~virtual/perl-HTTP-Tiny-0.90.0 +~virtual/perl-IO-Compress-2.213.0 +~virtual/perl-IO-Socket-IP-0.430.0 +~virtual/perl-Math-BigInt-2.5.2 +~virtual/perl-Math-BigInt-FastCalc-0.502.0 +~virtual/perl-Math-BigRat-2.5.2 +~virtual/perl-Math-Complex-1.630.0 +=virtual/perl-Module-CoreList-5.202.506* +=virtual/perl-Module-CoreList-5.202.507* +~virtual/perl-parent-0.244.0 +~virtual/perl-podlators-6.0.2 +~virtual/perl-Scalar-List-Utils-1.680.100_rc +~virtual/perl-Storable-3.370.0 +~virtual/perl-Test2-Suite-1.302.210 +~virtual/perl-Test-Simple-1.302.210 +~virtual/perl-threads-2.430.0 +~virtual/perl-Time-HiRes-1.977.800 +~virtual/perl-version-0.993.300 + +# Michał Górny (2025-06-21) +# Last commit in 2019. Has an entry point conflict with +# dev-python/pytest-tornasync. No reverse dependencies left. +# Removal on 2025-07-21. Bug #958601. +dev-python/pytest-tornado + +# Michał Górny (2025-06-21) +# No commits for two years. Broken with Python 3.14 +# and with >=dev-python/pytest-asyncio-1.0.0. No reverse dependencies. +# Removal on 2025-07-21. Bug #958592. +dev-python/backoff + # Maciej Barć (2025-06-14) # Deprecated, repository archived upstream. Compilation problems. # Removal on 2025-07-14. bug #957435 @@ -135,12 +220,6 @@ dev-python/gpgmepy # > Unable to locally verify the issuer's authority. =app-misc/ca-certificates-20250419.3.112 -# Andreas Sturmlechner (2025-06-02) -# Package destabilisation mask. There is simply no need for this without -# any stable consumers, and it is freeing up resources. -# 0.6.0_pre20241020 is available in ~arch. -~sci-libs/libsigrok-0.5.2 - # Andreas Sturmlechner (2025-06-02) # Gui depends on Qt5 and is unmaintained for a very long time - its main # developers have moved to the InputLeap project (gui-apps/input-leap). @@ -154,17 +233,6 @@ x11-misc/barrier # particular codebase.) Bug 940232. Removal after 30 days. dev-gap/cohomolo -# Andreas Sturmlechner (2025-05-27) -# Dead upstream with no release for over 10 years, Qt5-based even only by -# means of a snapshot. Bugs #951875, #953016. Removal on 2025-06-26. -x11-misc/qxkb - -# Andreas Sturmlechner (2025-05-27) -# Upstream repository+author, web pages and documentation gone after long -# period of inactivity, based on Qt5. Bugs #949021, #940094 -# Removal on 2025-06-26. -media-gfx/engauge - # Andreas Sturmlechner (2025-05-27) # sci-electronics/gazebo depends on x11-libs/qwt:6[qt5] and Qt5, lots of # open bugs. Most packages perpetually stuck at EAPI-7 and several major @@ -191,34 +259,10 @@ dev-libs/urdfdom_headers # Removal on 2025-06-24 media-libs/oneVPL-cpu -# Andreas Sturmlechner (2025-05-24) -# Dead upstream, fails to build with GCC-14, depends on media-libs/dumb. -# A rescue mission would ideally package dsda-doom. Bugs #939219, #908973 -# Removal on 2025-06-23. -games-fps/prboom-plus - # Sam James (2025-05-23) # Severe memory leak (bug #953874) =app-i18n/ibus-anthy-1.5.17 -# Andreas Sturmlechner (2025-05-23) -# Package destabilisation mask. There is simply no need for this without -# any stable consumers, and it is freeing up resources. -# 5.2.10.1 is available in ~arch. -~media-libs/allegro-5.2.7.0 - -# Andreas Sturmlechner (2025-05-22) -# Even if Qt5 is optional here, it is dead upstream for close to 10 years -# and without Gentoo package maintainer almost as long. Bug #926074. -# Removal on 2025-06-21. -net-firewall/pglinux - -# Andreas Sturmlechner (2025-05-22) -# Package destabilisation mask. 0.4.4_p20250125 is in ~arch but as snapshot -# with currently no Gentoo maintainer it will not be stabilised. -# 0.4.4 release was more than 3 years old already. Bug #955653 -~media-video/simplescreenrecorder-0.4.4 - # Matt Turner (2025-05-22) # Old slot depending on libsoup:2.4. All reverse dependencies migrated to a # newer slot supporting libsoup:3.0. @@ -235,22 +279,6 @@ x11-misc/meteo =media-gfx/gimp-3.0.2-r2 =media-gfx/gimp-3.0.4 -# Andreas Sturmlechner (2025-05-20) -# Unaddressed pending version bumps for almost 2 years, stuck on EAPI-7. -# Bugs #908094, #908095, #908096, #908097, #908427, #908428 -# Removal on 2025-06-19. -dev-libs/aws-c-cal -dev-libs/aws-checksums -dev-libs/aws-c-common -dev-libs/aws-c-event-stream -dev-libs/aws-c-io -dev-libs/s2n - -# Andreas Sturmlechner (2025-05-19) -# Dead upstream (last commit >4 years ago), not ported to Qt6 and broken w/ -# CMake 4. Bugs #955134, #955135. Removal on 2025-06-18. -sci-libs/libgeodecomp - # Ulrich Müller (2025-05-18) # Pretest versions, masked for testing. (2025-05-12) -# A serious performance regression has been found in 10.11.12 and 11.4.6 -# releases, distributions are advised to not publish them, see -# https://lists.mariadb.org/hyperkitty/list/packagers@lists.mariadb.org/thread/TP74ZU2ARZOQBLUNPT63I2A6LNB54XLJ/ -# and related bug reports: -# https://jira.mariadb.org/browse/MDEV-36759 -# https://jira.mariadb.org/browse/MDEV-36765 -# https://jira.mariadb.org/browse/MDEV-36766 -# -# Affected packages were removed from the tree, but this message shall be kept -# untill 2025-06-23. -~dev-db/mariadb-10.11.12 -~dev-db/mariadb-11.4.6 - # Michał Górny (2025-05-08) # Vulnerable, EOL branch of dev-python/django. Bug #955606. # Pleas upgrade to 5.1, 5.2 LTS, or downgrade to 4.2 LTS. @@ -312,13 +326,6 @@ dev-libs/libxml2-compat # Unmask it after it is properly tested & fixed =app-misc/screen-5* -# Conrad Kostecki (2025-03-28) -# Upstream is dead and broken. All 'whatsapp' deps -# will be last-rited on 2025-04-28. -# Bug #952588 #952589 -net-im/transwhat -net-im/yowsup - # Michał Górny (2025-03-17) # Xfce 4.22 prereleases. Masked because they tend to be quite unstable. >=dev-build/xfce4-dev-tools-4.21 diff --git a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/gnome/package.use b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/gnome/package.use index a60190ee8b..0750f01a2a 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/gnome/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/gnome/package.use @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Mart Raudsepp (2022-01-05) @@ -42,8 +42,8 @@ app-accessibility/speech-dispatcher python # Pulled in by grilo-plugins which is needed for gnome-music media-libs/grilo playlist -# Pulled in by tracker and grilo-plugins, has REQUIRED_USE="?? ( gtk qt5 )" -media-libs/libmediaart gtk -qt5 +# Pulled in by tracker and grilo-plugins, has REQUIRED_USE="?? ( gtk qt6 )" +media-libs/libmediaart gtk -qt6 # For gnome-boxes net-misc/spice-gtk gtk3 diff --git a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/plasma/package.use b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/plasma/package.use index 5df31320ad..def5d38c4d 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/plasma/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/plasma/package.use @@ -36,6 +36,7 @@ media-libs/gd fontconfig # Required by kde-apps/kdenlive media-libs/mlt ffmpeg frei0r rubberband +media-libs/opencv features2d # Required by media-gfx/digikam media-libs/opencv contrib contribdnn diff --git a/sdk_container/src/third_party/portage-stable/profiles/targets/systemd/package.mask b/sdk_container/src/third_party/portage-stable/profiles/targets/systemd/package.mask index 4698f2e442..4c912c607a 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/targets/systemd/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/targets/systemd/package.mask @@ -4,9 +4,3 @@ # Andreas Sturmlechner (2025-05-18) # Requires systemd, so specifically unmasked only in targets/systemd. ->=kde-plasma/drkonqi-6.3.90 - -# Sam James (2024-11-10) -# Breaks suspend on elogind systems (bug #934314, bug #923614) but -# works fine on systemd machines. -# https://github.com/polkit-org/polkit/issues/451 -->=sys-auth/polkit-124 diff --git a/sdk_container/src/third_party/portage-stable/profiles/targets/systemd/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/targets/systemd/package.use.mask index 944426611e..4539807f19 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/targets/systemd/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/targets/systemd/package.use.mask @@ -1,6 +1,11 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Andreas Sturmlechner (2025-06-26) +# >=kde-plasma/drkonqi-6.3.90 requires systemd, so specifically +# unmasked only in targets/systemd. +kde-plasma/plasma-meta -systemd + # John M. Harris, Jr. (2024-12-12) # seccomp is only supported with systemd sys-apps/fwupd -seccomp From 118b53b298f353de8b0e36c60fb137d411d0d3e0 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:13:35 +0000 Subject: [PATCH 080/131] sys-apps/dtc: Sync with Gentoo It's from Gentoo commit 76cf922bc613b6ebc7e3116be424b45a6ca86a81. --- .../third_party/portage-stable/sys-apps/dtc/dtc-1.7.2-r2.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/dtc/dtc-1.7.2-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/dtc/dtc-1.7.2-r2.ebuild index 7b50b6fbae..f19b5919a7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/dtc/dtc-1.7.2-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/dtc/dtc-1.7.2-r2.ebuild @@ -11,7 +11,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://www.kernel.org/pub/software/utils/${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="Open Firmware device tree compiler" From eef066b6251a33170018094d910b61763a9e794b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:13:36 +0000 Subject: [PATCH 081/131] sys-apps/ethtool: Sync with Gentoo It's from Gentoo commit 5df5e3bb012569209cc32d1ab69195f281905aeb. --- .../src/third_party/portage-stable/sys-apps/ethtool/Manifest | 2 +- .../ethtool/{ethtool-6.9.ebuild => ethtool-6.15.ebuild} | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) rename sdk_container/src/third_party/portage-stable/sys-apps/ethtool/{ethtool-6.9.ebuild => ethtool-6.15.ebuild} (80%) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/Manifest index ebcfafdfe6..cbb8dd12e1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/Manifest @@ -1,4 +1,4 @@ DIST ethtool-6.10.tar.xz 360300 BLAKE2B 530ec7fc00a6f88173d403ce0288cbdc7610997feb58bc05b88a87d8606827b8b8e4ce715099f5a6d90257b8e6463ddd259f06f4b0ce9206b2d4742795b86fb1 SHA512 1b6a0f5d2b89de57d1f003779557f2be786e26660ec430e80a966ad047f2fe1fe41bb573738b93454f32cf9089000ae879fc7feba0532bb559636a301ea61b10 DIST ethtool-6.11.tar.xz 364148 BLAKE2B 589a7d7be3d251f72bd0a5b56cf33fbe94c95beff565194e784672984340321bec51f2d2383b03f8a8fe9161c4add381d210bd9a4ce58f048238d1413b194429 SHA512 77f649e1082a164e3627bcb21db1215a89d9a0e984f86516bb05879685aee76b034f6a9e19a499dcdd82883fa003f628b70d27ca8272064df27fe9de67c7a9a7 DIST ethtool-6.14.tar.xz 371928 BLAKE2B a68649a7a404a632493cbca614b42fd27bab1d686040335899836c7e427272f7048d0c6fca506fbe8c003cad88667ca4c3d9def800f519f93175d4edd77c9488 SHA512 05688e41044a3f263f4367149f9d775bc378f0f421685f415b30062ca74fa62acc0d5ee5aa74b2104429b5f1712fc2f12e120af0d5744c775c84fe8e777938a3 -DIST ethtool-6.9.tar.xz 358640 BLAKE2B e04fa530084ad14abfea8c3802f272eb61eae9ee07aa2a12d16eeb77708b5ab021f1cdee10c24f83f77d65f2740ba5aceda99c21c47ef6cbcd65834af8334b00 SHA512 bc7e56a1a27a0679119491d6fce076e68374cf47a86fa4c0533851df0aa737cb9139920a9f3f3733deca672923d01bbb579f3d79bd17a2c6738f9f93aa469570 +DIST ethtool-6.15.tar.xz 444060 BLAKE2B 2a4a71c7ea6ac047d23fa9c8265a2dce8432f4417f6006f71dc91e365b9a841b5bfd44683e3179806f38285f199ed0cb84d1ca7a3f02979b8f4045274736f9eb SHA512 f140095e7c9e38d8b151796eed1301e9e6ab93e82d3e35b8a524b4f5be7b219e707bd270af7398195081085778c61948e15b39462a6a6f44aad6ffcaaddc3644 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.9.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.15.ebuild similarity index 80% rename from sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.9.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.15.ebuild index cd0bd783b1..92aba5ab4b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.15.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 @@ -9,7 +9,7 @@ SRC_URI="https://www.kernel.org/pub/software/network/ethtool/${P}.tar.xz" LICENSE="GPL-2" SLOT="0" -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" IUSE="+netlink" RDEPEND="netlink? ( net-libs/libmnl )" From edc83f2df8a163049b69642d3fe9964e5e02d9ff Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:13:58 +0000 Subject: [PATCH 082/131] sys-apps/less: Sync with Gentoo It's from Gentoo commit aaf154f91a3146837b78838f08dd2b3b672c7a2d. --- .../portage-stable/sys-apps/less/Manifest | 1 + .../sys-apps/less/less-679.ebuild | 95 +++++++++++++++++++ .../sys-apps/less/less-9999.ebuild | 5 +- 3 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/less/less-679.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/less/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/less/Manifest index 0bc9c871e5..a85ff015a2 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/less/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/less/Manifest @@ -1,3 +1,4 @@ DIST less-643.tar.gz 592291 BLAKE2B 6dc60dc2e8db05afdae466877a1d26a3008ff5378bbbf2fbdf9efc4f87c0fcfde5703d44a24d4355c98d3a5f438bdb51173150f2a69f801d9c8e4a7401d71b53 SHA512 6a324ac54e22429ac652dc303bc1fe48933555d1cbf8ad7ecf345940910c014fef9551a3219743cfb7115e356b5841ae97d6ce62e7a1ba1e3300d243efca34d9 DIST less-668.tar.gz 649770 BLAKE2B 0f6a85a1c66577dd2a28682a6f8399e42fdbe9fc1498b2e89c6bb7c47109e8d3ab934abe5dd998b2c8dfacfb174ad9daeb79b3d4c13df22fa035ea792b2eaf5e SHA512 6527741a609849ec27b6ab35de46f2c5c2b2771391e3efe263207bee28915946f44331a42f832a7cb42231a19b135cbadc15ae02cd997b83a13cdfbc7213fc27 DIST less-678.tar.gz 876971 BLAKE2B 5e6644a8c66f35f1b3ab72a0727c76922b7d3cf299d5d1cf1c94882e8b0d3ec0461cd351e6b2db554b331d993760db8eb17209f41f271f5704fee0caf8d6540e SHA512 ad1983229bfb5a30c6139db60012d3a12b613011f044acb4c0ec5c0fc809b8dc9be40255bf420f65d51425152c4cfc943076ccd2ee63b196165d6ab1426ea187 +DIST less-679.tar.gz 877094 BLAKE2B 024cd7f4014958e9be52a89aefd9404298850c56f0f8d2403e8648b06ce37bcca6742ebd8a3a4900acb78a3884c4f17270919feb3ca76c6978c34ec79043f154 SHA512 f04e37dc4b2839b416a195e107d21328800e75080054788002c109b3b113a6a898b953391912e7538fb9843ef530b1991efc76dbf6fb5960e5530f3ff83421f6 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-679.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-679.ebuild new file mode 100644 index 0000000000..d0f19d686a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-679.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Releases are usually first a beta then promoted to stable if no +# issues were found. Upstream explicitly ask "to not generally distribute" +# the beta versions. It's okay to keyword beta versions if they fix +# a serious bug, but otherwise try to avoid it. + +WANT_AUTOMAKE=none +WANT_LIBTOOL=none +inherit autotools flag-o-matic optfeature toolchain-funcs + +DESCRIPTION="Excellent text file viewer" +HOMEPAGE="https://www.greenwoodsoftware.com/less/" + +MY_PV=${PV/_beta/-beta} +MY_P=${PN}-${MY_PV} + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/gwsw/less" + inherit git-r3 +else + SRC_URI="https://www.greenwoodsoftware.com/less/${MY_P}.tar.gz" + + if [[ ${PV} != *_beta* ]] ; 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 +fi + +S="${WORKDIR}"/${MY_P/?beta} + +LICENSE="|| ( GPL-3 BSD-2 )" +SLOT="0" +IUSE="pcre test" +RESTRICT="!test? ( test )" + +DEPEND=" + >=app-misc/editor-wrapper-3 + >=sys-libs/ncurses-5.2:= + pcre? ( dev-libs/libpcre2 ) +" +RDEPEND="${DEPEND}" +BDEPEND="test? ( virtual/pkgconfig )" + +PATCHES=( + "${FILESDIR}"/${PN}-643-lesstest-pkg-config.patch +) + +src_prepare() { + default + # Per upstream README to prepare live build + [[ ${PV} == 9999 ]] && emake -f Makefile.aut distfiles + # Upstream uses unpatched autoconf-2.69, which breaks with clang-16. + # https://bugs.gentoo.org/870412 + eautoreconf +} + +src_configure() { + append-lfs-flags # bug #896316 + + local myeconfargs=( + --with-regex=$(usex pcre pcre2 posix) + --with-editor="${EPREFIX}"/usr/libexec/editor + ) + econf "${myeconfargs[@]}" +} + +src_test() { + emake check VERBOSE=1 CC="$(tc-getCC)" PKG_CONFIG="$(tc-getPKG_CONFIG)" +} + +src_install() { + default + + keepdir /usr/lib/lessfilter.d + keepdir /etc/lessfilter.d + + newbin "${FILESDIR}"/lesspipe-r4.sh lesspipe + newenvd "${FILESDIR}"/less.envd 70less +} + +pkg_preinst() { + optfeature "Colorized output support" dev-python/pygments + + if has_version "<${CATEGORY}/${PN}-483-r1" ; then + elog "The lesspipe.sh symlink has been dropped. If you are still setting" + elog "LESSOPEN to that, you will need to update it to '|lesspipe %s'." + fi + + if has_version "<${CATEGORY}/${PN}-643" ; then + elog "less now colorizes by default. To disable this, set LESSCOLOR=no." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-9999.ebuild index be837676e6..d0f19d686a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-9999.ebuild @@ -25,7 +25,7 @@ else SRC_URI="https://www.greenwoodsoftware.com/less/${MY_P}.tar.gz" if [[ ${PV} != *_beta* ]] ; 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" + 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 fi @@ -34,8 +34,7 @@ S="${WORKDIR}"/${MY_P/?beta} LICENSE="|| ( GPL-3 BSD-2 )" SLOT="0" IUSE="pcre test" -# chinese1, utf8-2 -RESTRICT="test !test? ( test )" +RESTRICT="!test? ( test )" DEPEND=" >=app-misc/editor-wrapper-3 From 0b95f5ac1e3c4191edcc79ba87843e898b5dc8d0 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:05 +0000 Subject: [PATCH 083/131] sys-apps/man-db: Sync with Gentoo It's from Gentoo commit 9b94342f7642f08b9a4257902aace89fe07227e3. --- .../portage-stable/sys-apps/man-db/man-db-2.13.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index a45575d98b..babc895085 100644 --- 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 @@ -14,7 +14,7 @@ else inherit libtool # TODO: Change tarballs to gitlab too...? SRC_URI="mirror://nongnu/${PN}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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" From f0a67b06fcc6ea9dbacfd2825a24a2425d5a07a4 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:11 +0000 Subject: [PATCH 084/131] sys-apps/pciutils: Sync with Gentoo It's from Gentoo commit 1e429681a1b579dcf331fda316fbbdfe96a9908a. --- .../portage-stable/sys-apps/pciutils/Manifest | 1 + .../sys-apps/pciutils/pciutils-3.14.0.ebuild | 173 ++++++++++++++++++ 2 files changed, 174 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/pciutils/pciutils-3.14.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pciutils/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/pciutils/Manifest index 9b0e1ce8d9..cea49dff76 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pciutils/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pciutils/Manifest @@ -1 +1,2 @@ DIST pciutils-3.13.0.tar.gz 672999 BLAKE2B d779ca0fd8c96a54bf81f6234d6a38eae2882d39dd1a52a508246bc46b5f4ac9318bbca20266378ec3917e72fe6ec30c47b1b5e9df4e86d3f59cbe860e2ac70e SHA512 73f99b5c2251676368738e0dc9d82529f3516966f1658a96149768b9775a0e177d630512dc7ea33087a7fcb960a3498f0c4c1a9f7233ec1cf242b9ab087fa0d1 +DIST pciutils-3.14.0.tar.gz 722554 BLAKE2B 3ab270c4523cc1968d5f3a03d2564eff5560b60eb8307bafe44ee240a6636dc676fbf0a28effe3c9abc99bfc86a975aea066d634a5e5adaffb2c63ba226511d9 SHA512 35cabfd8af8b0673440c7eba77fae8cad295f2618376148233b735ac032499e23967f863d48656d4c6f38b250db013747c92ed9719a57cd4e2df3065056f6c27 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pciutils/pciutils-3.14.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pciutils/pciutils-3.14.0.ebuild new file mode 100644 index 0000000000..5b30fe56f1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pciutils/pciutils-3.14.0.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs multilib-minimal flag-o-matic + +DESCRIPTION="Various utilities dealing with the PCI bus" +HOMEPAGE="https://mj.ucw.cz/sw/pciutils/ https://git.kernel.org/?p=utils/pciutils/pciutils.git" +SRC_URI="https://mj.ucw.cz/download/linux/pci/${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" +IUSE="dns +kmod static-libs +udev zlib" +REQUIRED_USE="static-libs? ( !udev )" + +# Have the sub-libs in RDEPEND with [static-libs] since, logically, +# our libpci.a depends on libz.a/etc... at runtime. +LIB_DEPEND="zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+),${MULTILIB_USEDEP}] )" +DEPEND=" + kmod? ( sys-apps/kmod ) + udev? ( >=virtual/libudev-208[${MULTILIB_USEDEP}] ) + static-libs? ( ${LIB_DEPEND} ) + !static-libs? ( ${LIB_DEPEND//static-libs([+-]),} ) +" +RDEPEND=" + ${DEPEND} + sys-apps/hwdata +" +# See bug #847133 re binutils check +BDEPEND=" + || ( >=sys-devel/binutils-2.37:* llvm-core/lld sys-devel/native-cctools ) + kmod? ( virtual/pkgconfig ) +" + +MULTILIB_WRAPPED_HEADERS=( /usr/include/pci/config.h ) + +switch_config() { + [[ $# -ne 2 ]] && return 1 + local opt=$1 val=$2 + + sed "s@^\(${opt}=\).*\$@\1${val}@" -i Makefile || die + return 0 +} + +check_binutils_version() { + if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && ! tc-ld-is-gold && ! tc-ld-is-lld ; then + # Okay, hopefully it's Binutils' bfd. + # bug #847133 + + # Convert this: + # ``` + # GNU ld (Gentoo 2.38 p4) 2.38 + # Copyright (C) 2022 Free Software Foundation, Inc. + # This program is free software; you may redistribute it under the terms of + # the GNU General Public License version 3 or (at your option) a later version. + # This program has absolutely no warranty. + # ``` + # + # into... + # ``` + # 2.38 + # ``` + local ver=$($(tc-getLD) --version 2>&1 | head -n 1 | rev | cut -d' ' -f1 | rev) + + if ! [[ ${ver} =~ [0-9].[0-9][0-9] ]] ; then + # Skip if unrecognised format so we don't pass something + # odd into ver_cut. + return + fi + + ver_major=$(ver_cut 1 "${ver}") + ver_minor=$(ver_cut 2 "${ver}") + + # We use 2.37 here, not 2.35, as https://github.com/pciutils/pciutils/issues/98 mentions + # because we've had other miscompiles with older Binutils (not just build failures!) + # and we don't want people running any unsupported versions of Binutils. An example + # of this is where glibc is completely broken with old binutils: bug #802036. It's + # just not sustainable to support. + if [[ ${ver_major} -eq 2 && ${ver_minor} -lt 37 ]] ; then + eerror "Old version of binutils activated! ${P} cannot be built with an old version." + eerror "Please follow these steps:" + eerror "1. Select a newer binutils (>= 2.37) using binutils-config" + eerror " (If no such version is installed, run emerge -v1 sys-devel/binutils)" + eerror "2. Run: . /etc/profile" + eerror "3. Try emerging again with: emerge -v1 ${CATEGORY}/${P}" + eerror "4. Complete your world upgrade if you were performing one." + eerror "5. Perform a depclean (emerge -acv)" + eerror "\tYou MUST depclean after every world upgrade in future!" + die "Old binutils found! Change to a newer ld using binutils-config (bug #847133)." + fi + fi +} + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && check_binutils_version +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && check_binutils_version +} + +src_prepare() { + default + + if use static-libs ; then + cp -pPR "${S}" "${S}.static" || die + mv "${S}.static" "${S}/static" || die + fi + + multilib_copy_sources +} + +multilib_src_configure() { + # bug #640836, bug #852929 + # Still broken in 3.10.0, see https://github.com/pciutils/pciutils/pull/144. + filter-lto + + # bug #471102 + append-lfs-flags +} + +pemake() { + emake \ + HOST="${CHOST}" \ + CROSS_COMPILE="${CHOST}-" \ + CC="$(tc-getCC)" \ + AR="$(tc-getAR)" \ + PKG_CONFIG="$(tc-getPKG_CONFIG)" \ + RANLIB="$(tc-getRANLIB)" \ + DNS=$(usex dns) \ + IDSDIR='$(SHAREDIR)/hwdata' \ + MANDIR='$(SHAREDIR)/man' \ + PREFIX="${EPREFIX}/usr" \ + SHARED="yes" \ + STRIP="" \ + ZLIB=$(usex zlib) \ + PCI_COMPRESSED_IDS=0 \ + PCI_IDS=pci.ids \ + LIBDIR="\${PREFIX}/$(get_libdir)" \ + LIBKMOD=$(multilib_native_usex kmod) \ + HWDB=$(usex udev) \ + "$@" +} + +multilib_src_compile() { + pemake OPT="${CFLAGS}" all + + if use static-libs ; then + pemake \ + -C "${BUILD_DIR}"/static \ + OPT="${CFLAGS}" \ + SHARED="no" \ + lib/libpci.a + fi +} + +multilib_src_install() { + pemake DESTDIR="${D}" install install-lib + + use static-libs && dolib.a "${BUILD_DIR}"/static/lib/libpci.a +} + +multilib_src_install_all() { + dodoc ChangeLog README TODO + + rm "${ED}"/usr/sbin/update-pciids "${ED}"/usr/share/man/man8/update-pciids.8* || die + rm -r "${ED}"/usr/share/hwdata || die + + newinitd "${FILESDIR}"/init.d-pciparm pciparm + newconfd "${FILESDIR}"/conf.d-pciparm pciparm +} From 9476683cb52d7c4be3952ebbc7226bd9b2f829be Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:12 +0000 Subject: [PATCH 085/131] sys-apps/pkgcore: Sync with Gentoo It's from Gentoo commit 5f0803b30aa539353a2472c38b6007718cbaff07. --- .../portage-stable/sys-apps/pkgcore/pkgcore-0.12.30.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.30.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.30.ebuild index 915105f6e0..d72afdc312 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.30.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.30.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then https://github.com/pkgcore/pkgcore.git" inherit git-r3 else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos" inherit pypi fi From b523c28951d50e8b3f3fe6d50d0c2c7248ab2e2f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:12 +0000 Subject: [PATCH 086/131] sys-apps/portage: Sync with Gentoo It's from Gentoo commit e264631d1dc1749c04d51fd9102b6fdf49eff2cc. --- .../portage-stable/sys-apps/portage/portage-3.0.68.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.68.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.68.ebuild index d2f2e76559..39fabc7fd6 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.68.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.68.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 LICENSE="GPL-2" From 1875b2c7e2ab7f256ddc2aa7f20e8a3e056b676e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:12 +0000 Subject: [PATCH 087/131] sys-apps/pv: Sync with Gentoo It's from Gentoo commit f08f4548d2225ca6611a7fc76f7e8e7dc178fede. --- .../portage-stable/sys-apps/pv/Manifest | 4 -- .../sys-apps/pv/pv-1.9.0.ebuild | 61 ------------------- .../sys-apps/pv/pv-1.9.15.ebuild | 56 ----------------- 3 files changed, 121 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.0.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.15.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pv/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/pv/Manifest index 63e6d2016f..fb28b3ac9d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pv/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pv/Manifest @@ -1,6 +1,2 @@ -DIST pv-1.9.0.tar.gz 369918 BLAKE2B 802dafdd2e354887d8ca73f42787e86941081aaf62cafc7032ee2fdd299683c1e8a764c4262c5ec7596bd6221d59435ce7b340614783cc72f241735a460e5013 SHA512 1085387fdf645ab14b4b83b006dbc09018e2e3cb89a585cc6b9d5c03e947ffd84d300fb0698bb8e4dfc918aa25f9453897a394791a6aa9caefa278e21b9acf35 -DIST pv-1.9.0.tar.gz.asc 691 BLAKE2B 86b99c718935afdbbf2419b1363a385d1ca8afe81bc7fabea8b4b48dbe1c439a7cd4bb93a106608cb6916f9503fc0f32253867771f9b78feb24f5218d2f49f8f SHA512 d8fe557b690aa828a3a2af9b74397d00ab1b00b444890220b79991aa5161ec8cc5ca3701b37950ec07bc3382f6cbc1578bf6b2be1966c34313827c1eeaa79fc7 -DIST pv-1.9.15.tar.gz 401271 BLAKE2B 062bc326eae9b3f8a17eb3a453f5b5e5081eece1b7d7601aabe7ea6ffb6d4fff62ad1896b66990a54b7c6cd6baf080d0efefa4039947d88386c779e6e9ec7a90 SHA512 9a5174b3523e20f186689553e5004df35e38da9462a8f7376b6efce186e854ed8ef139c9e2d10944c20e478e5cfe80a7b67786d5e909ed1a9e40c9ca9fde474c -DIST pv-1.9.15.tar.gz.asc 691 BLAKE2B e29a55fc7a78b39135d1c53decdeb6ec553443dcceedb5886522e6c4914aa354d05754cc7ddbefc4a5b930a9d75d82b33827fd7ef070fcb45dcd512d882b4d98 SHA512 571302a27539e5cfd5179827f1a1881499febba99207461d750c3934f3dad21e5c396fd8db7179e170ce5ab2239f5332517c63e2c43160428a86f875ae29a34a DIST pv-1.9.31.tar.gz 417551 BLAKE2B 6018abe674834f45312faa5ce07b49e11258e29fffc11d88ce73f50ae58c47e94defa3d5d819099a6909610e7423d9e42a8ce939fa39fe476cdbf35e89aa0112 SHA512 63cdc6223cde4f3f0daf47b5808a3f72a9cfaf2c05751e971a99d9dd3df2f36430958213c023931f428c87341a5f6c1f3772f30ca992123ea4c2a2e48000ff1d DIST pv-1.9.31.tar.gz.asc 691 BLAKE2B 7b5b998341db887b14c56fc080d87cb4abb186b4df2c8def638822889a734436fe0c4c132396415bbc0dcb0754f76d0456bb667533ef7ed92ed0c09a62522e8b SHA512 549a3bb3f4f404b3a6e407663ba335e3d4e14303185654771c974335ed5e7ac46dbba71bbf4f26e640217829e58a0da8d6fa139b02f426b60ab074ec97084374 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.0.ebuild deleted file mode 100644 index 2fe16ca8af..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.0.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/pv.asc -inherit linux-info toolchain-funcs verify-sig - -DESCRIPTION="Pipe Viewer: a tool for monitoring the progress of data through a pipe" -HOMEPAGE="https://www.ivarch.com/programs/pv.shtml https://codeberg.org/a-j-wood/pv" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://codeberg.org/a-j-wood/pv" - inherit autotools git-r3 -else - SRC_URI=" - https://www.ivarch.com/programs/sources/${P}.tar.gz - verify-sig? ( https://www.ivarch.com/programs/sources/${P}.tar.gz.txt -> ${P}.tar.gz.asc ) - " - - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" -fi - -LICENSE="GPL-3+" -SLOT="0" -IUSE="debug nls" - -BDEPEND="verify-sig? ( sec-keys/openpgp-keys-pv )" - -pkg_setup() { - if use kernel_linux; then - CONFIG_CHECK="~SYSVIPC" - ERROR_SYSVIPC="You will need to enable CONFIG_SYSVIPC in your kernel to use the --remote option." - linux-info_pkg_setup - fi -} - -src_prepare() { - default - - # Valgrind isn't reliable within sandbox. - cat <<-EOF > tests/run-valgrind.sh || die - #!/bin/sh - exit 77 - EOF - chmod +x tests/run-valgrind.sh || Die - - [[ ${PV} == 9999 ]] && eautoreconf -} - -src_configure() { - tc-export AR - - econf \ - $(use_enable debug debugging) \ - $(use_enable nls) -} - -src_test() { - emake -Onone check -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.15.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.15.ebuild deleted file mode 100644 index 03801fb28c..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.15.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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/pv.asc -inherit linux-info toolchain-funcs verify-sig - -DESCRIPTION="Pipe Viewer: a tool for monitoring the progress of data through a pipe" -HOMEPAGE="https://www.ivarch.com/programs/pv.shtml https://codeberg.org/a-j-wood/pv" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://codeberg.org/a-j-wood/pv" - inherit autotools git-r3 -else - SRC_URI=" - https://www.ivarch.com/programs/sources/${P}.tar.gz - verify-sig? ( https://www.ivarch.com/programs/sources/${P}.tar.gz.txt -> ${P}.tar.gz.asc ) - " - - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" -fi - -LICENSE="GPL-3+" -SLOT="0" -IUSE="debug nls" - -BDEPEND="verify-sig? ( sec-keys/openpgp-keys-pv )" - -pkg_setup() { - if use kernel_linux; then - CONFIG_CHECK="~SYSVIPC" - ERROR_SYSVIPC="You will need to enable CONFIG_SYSVIPC in your kernel to use the --remote option." - linux-info_pkg_setup - fi -} - -src_prepare() { - default - - [[ ${PV} == 9999 ]] && eautoreconf -} - -src_configure() { - tc-export AR - - econf \ - $(use_enable debug debugging) \ - $(use_enable nls) -} - -src_test() { - # Valgrind is unreliable within sandbox - local -x SKIP_VALGRIND_TESTS=1 - emake -Onone check -} From 9547baa2ced00dfd53bc44fb9cd0088492b74cbb Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:18 +0000 Subject: [PATCH 088/131] sys-apps/util-linux: Sync with Gentoo It's from Gentoo commit 86bcbc4adbf3d2c48341d416953f23a6390e43e4. --- .../portage-stable/sys-apps/util-linux/Manifest | 4 ++-- .../sys-apps/util-linux/util-linux-2.40.4.ebuild | 2 +- ...linux-2.40.2.ebuild => util-linux-2.41.1.ebuild} | 13 ++++++++++--- 3 files changed, 13 insertions(+), 6 deletions(-) rename sdk_container/src/third_party/portage-stable/sys-apps/util-linux/{util-linux-2.40.2.ebuild => util-linux-2.41.1.ebuild} (97%) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/Manifest index cedb5e9a9d..a0d09beada 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/Manifest @@ -1,6 +1,6 @@ -DIST util-linux-2.40.2.tar.sign 833 BLAKE2B 10aae23d25c1364bac0034d6862df5738c7a405d52198fba1e4e9173a1b2ba9f3d994dacb881d920c3339c0f1018c7dd1c97c7752bdf0e8e634f54235c2b3f5c SHA512 e4ace52333df0c8dd7c8ffc3b813020615c456e06a6978e06c8183ec29896be5af7c25f59e65fc2c2849750d8d7b43043775b8504d6d01f626f1adf296493ce1 -DIST util-linux-2.40.2.tar.xz 8854820 BLAKE2B 8306d651f27db6665e91a937c9f1970938fec5b069636fea3c2688afddebd1a3424f0b0802a034eab049cf7692dd435cf93e82aa5f4a40cc8064d60b4ca59535 SHA512 ffe20b915a518a150401d429b0338bc7022190e4ca0ef91a6d9eea345db8c1e11ad01784163b8fcf978506f3f5cad473f29d5d4ef93a4c66a5ae0ebd9fb0c8f2 DIST util-linux-2.40.4.tar.sign 833 BLAKE2B 7ed5fe555bc5fe11e99081190e73d0784e91bed78e17af358287c0df6c920a224f8d33428a5f139d8503b12379e93a96619bf4b8e3eec0da757e950c78ad12fe SHA512 1ed2f8710a702e313d690c9c071c7a151df1cef7527a08ab4d1eda7a293239cf00392a78b21125df09f0af7249b473b1a51b92bb8e0494608db437c7ee4e0473 DIST util-linux-2.40.4.tar.xz 8848216 BLAKE2B 37c095d0ab97d54dd5a35160dd4d7d3ac683c19c799d57dac3a2e850a824160470e8654fbc77752cad9a9b1198cd1aa6594e8fa66f498c653c8a9f34ef0203e8 SHA512 0024955056ba7b4c54040a917f9919f49692e57ba6d42d17a6c29c1eefe88bf48b1214a545072b71c468829a63a8f15237f49733e9127c134e11126d1e435124 +DIST util-linux-2.41.1.tar.sign 833 BLAKE2B ee9d199bf6e073d1c55ee99e9b8e997e59b0c7dd1cf0ee4fa1799540887c473e23a87704a2095c461fd52aea0c765e011504d19c87a681709a96475bd5bc3e35 SHA512 0cf22edee77269142738d6e7587381be3ddc443a1c524e398c1867849297919b27ef18f5bab0b721c890d7cad93cb6dbbe6c89b099d7aa688840711852867101 +DIST util-linux-2.41.1.tar.xz 9606156 BLAKE2B 0734e461837d825a8c0f770061cc005cef9238beea15dd900283481bcec66a971492a898cd44581e889fd1af25cf631e16a687d3f0df0a86a8caa15e7f45c935 SHA512 12cf37ab2d62d0378b16a40e0194ef7131ef1ad06737cca3f169cfc04b9da08a4233076c819b30705e8fb2c3b8d91a1d83aac4f036ce58b9cf5928f545e511a2 DIST util-linux-2.41.tar.sign 833 BLAKE2B 7aa7cdabc76ab893d919372925eaf6c25fc5567af22bfacea94d8fe06db49869360817a69fe2dedd38e1f71c4603c59f0e881659f35717d5c3095787e98e6fea SHA512 41318ef7e91a21fcf7e0bb0980afd60469d511f9940b55515937d916577df146668a1c46054f56c0f354a5fc04a88c4a72a9bf34da86cf5571af72f0a04d5b8c DIST util-linux-2.41.tar.xz 9535724 BLAKE2B b0f6d63c1365d3b065584d4d79a1716e1f036474984fc08dd6b298d7f50e66736af046404d3c9d8051fd0c9c455bcd623257ea1b967b755bee063415d91c5c21 SHA512 800ff92ee7a047732c0accb9dd759d6ed659947373ca72e0dd3ca601d0a6fed9db92c0838cfaff6bcdb8c08bdc1ffa675721893f42945885c57ccd59ab676318 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.40.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.40.4.ebuild index cd398debbd..a94539ac66 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.40.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.40.4.ebuild @@ -23,7 +23,7 @@ else inherit verify-sig if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos" fi SRC_URI="https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.xz" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.40.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.1.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.40.2.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.1.ebuild index c7543ebb24..c5357b6e4f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.40.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.1.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_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..14} ) TMPFILES_OPTIONAL=1 inherit toolchain-funcs libtool flag-o-matic bash-completion-r1 \ @@ -23,7 +23,7 @@ else inherit verify-sig if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos" fi SRC_URI="https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.xz" @@ -145,12 +145,19 @@ src_prepare() { lsfd/option-inet utmp/last-ipv6 + # Fails with permission errors in nspawn + fadvise/drop + fincore/count + # Flaky rename/subdir # Permission issues on /dev/random lsfd/mkfds-eventpoll lsfd/column-xmode + + # Hangs on some machines + script/replay ) # debug prints confuse the tests which look for a diff From 0d92f03a7dade167f058580e7e4716832c015ce5 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:20 +0000 Subject: [PATCH 089/131] sys-auth/polkit: Sync with Gentoo It's from Gentoo commit c664c4647ef5150e16bd28a83c68b6d5979414ee. --- .../portage-stable/sys-auth/polkit/Manifest | 2 - ...8abef12e61f369af3f583af349b0e086ba27.patch | 58 ------- .../polkit/files/polkit-124-c99-fixes.patch | 111 ------------ .../files/polkit-124-systemd-fixup.patch | 28 --- .../polkit/files/polkit-124-systemd.patch | 50 ------ .../polkit/files/polkit-125-musl.patch | 34 ---- .../sys-auth/polkit/metadata.xml | 2 - .../sys-auth/polkit/polkit-123-r1.ebuild | 2 +- .../sys-auth/polkit/polkit-124-r1.ebuild | 156 ----------------- .../sys-auth/polkit/polkit-125-r1.ebuild | 159 ----------------- .../sys-auth/polkit/polkit-126-r1.ebuild | 4 +- .../sys-auth/polkit/polkit-9999-r1.ebuild | 160 ------------------ .../sys-auth/polkit/polkit-9999.ebuild | 8 +- 13 files changed, 4 insertions(+), 770 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/8cf58abef12e61f369af3f583af349b0e086ba27.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-124-c99-fixes.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-124-systemd-fixup.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-124-systemd.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-125-musl.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-124-r1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-125-r1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-9999-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/Manifest b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/Manifest index 91a8d2edf2..53e2efde44 100644 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/Manifest @@ -1,4 +1,2 @@ DIST polkit-123.tar.bz2 707480 BLAKE2B 27d8764606d8156118269fb4cd5eda1cfd0d56df219e4157cd78fd4c2a2d001c474271b7bb31e7e82ca376eacd26411418695058cc888700690606348b4d014a SHA512 4306363d3ed7311243de462832199bd10ddda35e36449104daff0895725d8189b07a4c88340f28607846fdf761c23470da2d43288199c46aa816426384124bb6 -DIST polkit-124.tar.bz2 715490 BLAKE2B ecfc1ec73a7e1bbdf7374642ad4e1dbe534149a27e75bb1235eaa446ff912466ee0cdd978c34b7f110bc62a49b25ffddc9011e280686e3f304a234454be85a40 SHA512 db520882b0bedf1c96052570bf4c55d7e966d8172f6d26acf0791d98c4b911fce5ee39e6d830f06122ac8df33c6b43c252cdb7ba3a54523804824ebf355405dc -DIST polkit-125.tar.gz 453652 BLAKE2B 068bd4a7c028a0b4e026a0fdc3a60bd323087282a5c5bd7cbc404dbedb997de63893ce2282e8cd5f01f8d98ff0cc1a46200543a832fa397a4f50ef8d6ba2b28b SHA512 64d85c1557355d6de6483beeb855b74a99dbb30cf9968206dc0aaf147156072ca2604bf667533099ee3972b3eed0421ec0a1ff8bea35a1e4c54da7b9688e0953 DIST polkit-126.tar.gz 456138 BLAKE2B 2e86c8853edf29879d8367b77d210d3a891178297cb5f9eb204a953bfaa66f6ff2307da265f4c3f89265ba8ce32e94641272d654a78d116dfb32a65d402f877a SHA512 dbdbc31b7a231c963788b37cf1a138e30336466fb662225a812faaf58e45439925d9d39346cc8f07e54f22040c2f142435acb9fded315d33e24930e0abc736c7 diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/8cf58abef12e61f369af3f583af349b0e086ba27.patch b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/8cf58abef12e61f369af3f583af349b0e086ba27.patch deleted file mode 100644 index 44a6958eb4..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/8cf58abef12e61f369af3f583af349b0e086ba27.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 8cf58abef12e61f369af3f583af349b0e086ba27 Mon Sep 17 00:00:00 2001 -From: Eli Schwartz -Date: Sun, 20 Oct 2024 15:18:55 -0400 -Subject: [PATCH] meson: correctly test for setnetgrent return type - -meson doesn't automatically add all project arguments to configure -checks -- nor incrementally the inline value of all configuration_data -entries. - -But that meant it was missing -D_GNU_SOURCE, as well as a define added -to config.h itself. As a result, this check failed to detect the -necessary function definition and failed to link. - -``` -Command line: `gcc-14 /var/tmp/portage/sys-auth/polkit-125/work/polkit-125-build/meson-private/tmpj0ih4pm4/testfile.c -o /var/tmp/portage/sys-auth/polkit-125/work/polkit-125-build/meson-private/tmpj0ih4pm4/output.obj -c -pipe -march=native -fstack-protector-all -O2 -fdiagnostics-color=always -frecord-gcc-switches -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -Wformat -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Werror=int-conversion -Werror=incompatible-pointer-types -D_FILE_OFFSET_BITS=64 -O0 -std=c99` -> 1 -stderr: -/var/tmp/portage/sys-auth/polkit-125/work/polkit-125-build/meson-private/tmpj0ih4pm4/testfile.c: In function 'main': -/var/tmp/portage/sys-auth/polkit-125/work/polkit-125-build/meson-private/tmpj0ih4pm4/testfile.c:9:17: error: implicit declaration of function 'setnetgrent'; did you mean 'setnetent'? [-Wimplicit-function-declaration] - 9 | int r = setnetgrent (NULL); - | ^~~~~~~~~~~ - | setnetent ------------ -Checking if "setnetgrent return support" compiles: NO -``` - -Bug: https://bugs.gentoo.org/938870 -Signed-off-by: Eli Schwartz ---- - meson.build | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/meson.build b/meson.build -index 0800c88..a0b440d 100644 ---- a/meson.build -+++ b/meson.build -@@ -159,7 +159,8 @@ host_system = host_machine.system() - config_data.set('HAVE_' + host_system.to_upper(), true) - - # Check whether setnetgrent has a return value --config_data.set('HAVE_NETGROUP_H', cc.has_header('netgroup.h')) -+have_netgroup_h = cc.has_header('netgroup.h') -+config_data.set('HAVE_NETGROUP_H', have_netgroup_h) - - if config_data.get('HAVE_SETNETGRENT', false) - setnetgrent_return_src = ''' -@@ -174,7 +175,11 @@ if config_data.get('HAVE_SETNETGRENT', false) - }; - ''' - -- config_data.set('HAVE_SETNETGRENT_RETURN', cc.compiles(setnetgrent_return_src, name: 'setnetgrent return support')) -+ args = ['-D_GNU_SOURCE'] -+ if have_netgroup_h -+ args += '-DHAVE_NETGROUP_H' -+ endif -+ config_data.set('HAVE_SETNETGRENT_RETURN', cc.compiles(setnetgrent_return_src, args: args, name: 'setnetgrent return support')) - endif - - # Select wether to use logind, elogind or ConsoleKit for session tracking diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-124-c99-fixes.patch b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-124-c99-fixes.patch deleted file mode 100644 index 00d3cbbd26..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-124-c99-fixes.patch +++ /dev/null @@ -1,111 +0,0 @@ -https://bugs.gentoo.org/925440 -https://github.com/polkit-org/polkit/commit/0d78d1e4bf5ab3ce11678005b220aac0cfc5bee5 - -From: Vincent Mihalkovic -Date: Fri, 8 Mar 2024 14:04:33 +0100 -Subject: [PATCH 3/3] mocklibc: move the print_indent function to the file - where it is used -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes build error with GCC >= 14 and clang >= 17, -failing on: -``` -../subprojects/mocklibc-1.0/src/netgroup-debug.c:25:3: error: implicit declaration of function ā€˜print_indent’ [-Wimplicit-function-declaration] - 25 | print_indent(stream, indent); - | ^~~~~~~~~~~~ -``` - -Closes: #6 ---- - subprojects/mocklibc.wrap | 2 + - .../packagefiles/mocklibc-print-indent.diff | 68 +++++++++++++++++++ - 2 files changed, 70 insertions(+) - create mode 100644 subprojects/packagefiles/mocklibc-print-indent.diff - -diff --git a/subprojects/mocklibc.wrap b/subprojects/mocklibc.wrap -index af82298..539ee83 100644 ---- a/subprojects/mocklibc.wrap -+++ b/subprojects/mocklibc.wrap -@@ -8,3 +8,5 @@ source_hash = b2236a6af1028414783e9734a46ea051916ec226479d6a55a3bb823bff68f120 - patch_url = https://wrapdb.mesonbuild.com/v1/projects/mocklibc/1.0/2/get_zip - patch_filename = mocklibc-1.0-2-wrap.zip - patch_hash = 0280f96a2eeb3c023e5acf4e00cef03d362868218d4a85347ea45137c0ef6c56 -+ -+diff_files = mocklibc-print-indent.diff -diff --git a/subprojects/packagefiles/mocklibc-print-indent.diff b/subprojects/packagefiles/mocklibc-print-indent.diff -new file mode 100644 -index 0000000..d8b2029 ---- /dev/null -+++ b/subprojects/packagefiles/mocklibc-print-indent.diff -@@ -0,0 +1,68 @@ -+From: Vincent Mihalkovic -+Date: Fri, 8 Mar 2024 14:04:33 +0100 -+Subject: [PATCH 3/3] mocklibc: move the print_indent function to the file -+ where it is used -+MIME-Version: 1.0 -+Content-Type: text/plain; charset=UTF-8 -+Content-Transfer-Encoding: 8bit -+ -+This fixes build error with GCC >= 14 and clang >= 17, -+failing on: -+``` -+../subprojects/mocklibc-1.0/src/netgroup-debug.c:25:3: error: implicit declaration of function ā€˜print_indent’ [-Wimplicit-function-declaration] -+ 25 | print_indent(stream, indent); -+ | ^~~~~~~~~~~~ -+``` -+ -+Closes: #6 -+--- -+ src/netgroup-debug.c | 11 +++++++++++ -+ src/netgroup.c | 11 ----------- -+ 2 files changed, 11 insertions(+), 11 deletions(-) -+ -+diff --git a/src/netgroup-debug.c b/src/netgroup-debug.c -+index 81d6e72..46e5b25 100644 -+--- a/src/netgroup-debug.c -++++ b/src/netgroup-debug.c -+@@ -21,6 +21,17 @@ -+ #include -+ #include -+ -++/** -++ * Print a varaible indentation to the stream. -++ * @param stream Stream to print to -++ * @param indent Number of indents to use -++ */ -++static void print_indent(FILE *stream, unsigned int indent) { -++ int i; -++ for (i = 0; i < indent; i++) -++ fprintf(stream, " "); -++} -++ -+ void netgroup_debug_print_entry(struct entry *entry, FILE *stream, unsigned int indent) { -+ print_indent(stream, indent); -+ -+diff --git a/src/netgroup.c b/src/netgroup.c -+index 06a8a89..e16e451 100644 -+--- a/src/netgroup.c -++++ b/src/netgroup.c -+@@ -71,17 +71,6 @@ static char *parser_copy_word(char **cur) { -+ return result; -+ } -+ -+-/** -+- * Print a varaible indentation to the stream. -+- * @param stream Stream to print to -+- * @param indent Number of indents to use -+- */ -+-void print_indent(FILE *stream, unsigned int indent) { -+- int i; -+- for (i = 0; i < indent; i++) -+- fprintf(stream, " "); -+-} -+- -+ /** -+ * Connect entries with 'child' type to their child entries. -+ * @param headentry Head of list of entries that need to be connected -+-- -+2.43.0 --- diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-124-systemd-fixup.patch b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-124-systemd-fixup.patch deleted file mode 100644 index a4dd7eafcf..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-124-systemd-fixup.patch +++ /dev/null @@ -1,28 +0,0 @@ -https://bugs.gentoo.org/922458 -https://github.com/polkit-org/polkit/pull/417/files#r1458416421 ---- a/meson.build -+++ b/meson.build -@@ -212,14 +212,17 @@ if enable_logind - config_h.set10('HAVE_' + func.to_upper(), cc.has_function(func, dependencies: logind_dep)) - - # systemd unit / service files -- systemd_dep = dependency('systemd', not_found_message: 'systemd required but not found, please provide a valid systemd user unit dir or disable it') - systemd_systemdsystemunitdir = get_option('systemdsystemunitdir') -- if systemd_systemdsystemunitdir == '' and session_tracking == 'libsystemd-login' -- # FIXME: systemd.pc file does not use variables with relative paths, so `define_variable` cannot be used -- systemd_systemdsystemunitdir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir') -- endif -+ if session_tracking == 'libsystemd-login' -+ systemd_dep = dependency('systemd', not_found_message: 'systemd required but not found, please provide a valid systemd user unit dir or disable it') - -- systemd_sysusers_dir = systemd_dep.get_pkgconfig_variable('sysusers_dir', default: '/usr/lib/sysusers.d') -+ if systemd_systemdsystemunitdir == '' -+ # FIXME: systemd.pc file does not use variables with relative paths, so `define_variable` cannot be used -+ systemd_systemdsystemunitdir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir') -+ endif -+ -+ systemd_sysusers_dir = systemd_dep.get_pkgconfig_variable('sysusers_dir', default: '/usr/lib/sysusers.d') -+ endif - endif - config_h.set('HAVE_LIBSYSTEMD', enable_logind) - diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-124-systemd.patch b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-124-systemd.patch deleted file mode 100644 index e9b10e99e5..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-124-systemd.patch +++ /dev/null @@ -1,50 +0,0 @@ -https://github.com/polkit-org/polkit/pull/417 - -From 69d6b94d590b4dd1fbbac22b4f4d449f46ef61aa Mon Sep 17 00:00:00 2001 -From: Luca Boccassi -Date: Thu, 18 Jan 2024 15:07:32 +0000 -Subject: [PATCH] meson: fix build failure when -Dsystemdsystemunitdir is - specified - -When 'systemdsystemunitdir' is specified as an option the systemd_dep -variable is not defined, but the sysusers.d directory lookup uses it, -causing a build failure: - -dh_auto_configure -- \ - -Dexamples=false \ - -Dintrospection=true \ - -Dman=true \ - -Dsystemdsystemunitdir=/usr/lib/systemd/system \ - -Dtests=true \ - -Dgtk_doc=true -Dsession_tracking=libsystemd-login - cd obj-x86_64-linux-gnu && DEB_PYTHON_INSTALL_LAYOUT=deb LC_ALL=C.UTF-8 meson setup .. --wrap-mode=nodownload --buildtype=plain --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=lib/x86_64-linux-gnu -Dpython.bytecompile=-1 -Dexamples=false -Dintrospection=true -Dman=true -Dsystemdsystemunitdir=/usr/lib/systemd/system -Dtests=true -Dgtk_doc=true -Dsession_tracking=libsystemd-login -The Meson build system -Version: 1.3.1 -Source dir: /builds/bluca/polkit/debian/output/source_dir -Build dir: /builds/bluca/polkit/debian/output/source_dir/obj-x86_64-linux-gnu -Build type: native build -Project name: polkit -Project version: 124 - -<...> - -Run-time dependency libsystemd found: YES 255 -Checking for function "sd_uid_get_display" with dependency libsystemd: YES -Checking for function "sd_pidfd_get_session" with dependency libsystemd: YES -../meson.build:222:37: ERROR: Unknown variable "systemd_dep". - -Follow-up for 24f1e0af3f7bd17e220cb96201f3c654e737ad34 ---- a/meson.build -+++ b/meson.build -@@ -212,9 +212,9 @@ if enable_logind - config_h.set10('HAVE_' + func.to_upper(), cc.has_function(func, dependencies: logind_dep)) - - # systemd unit / service files -+ systemd_dep = dependency('systemd', not_found_message: 'systemd required but not found, please provide a valid systemd user unit dir or disable it') - systemd_systemdsystemunitdir = get_option('systemdsystemunitdir') - if systemd_systemdsystemunitdir == '' and session_tracking == 'libsystemd-login' -- systemd_dep = dependency('systemd', not_found_message: 'systemd required but not found, please provide a valid systemd user unit dir or disable it') - # FIXME: systemd.pc file does not use variables with relative paths, so `define_variable` cannot be used - systemd_systemdsystemunitdir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir') - endif - diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-125-musl.patch b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-125-musl.patch deleted file mode 100644 index ee0a444c91..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-125-musl.patch +++ /dev/null @@ -1,34 +0,0 @@ -https://github.com/polkit-org/polkit/commit/13bea3e08f924002a6a5c2f275d4bf1588fc3d02 - -From 13bea3e08f924002a6a5c2f275d4bf1588fc3d02 Mon Sep 17 00:00:00 2001 -From: Sertonix -Date: Sun, 11 Aug 2024 00:26:51 +0200 -Subject: [PATCH] Fix missing arguments with HAVE_PTHREAD_CONDATTR_SETCLOCK - -Fixes <64f5e4dda52> Add syslog-style log levels support ---- a/src/polkitbackend/polkitbackendduktapeauthority.c -+++ b/src/polkitbackend/polkitbackendduktapeauthority.c -@@ -767,12 +767,14 @@ runaway_killer_common(PolkitBackendJsAuthority *authority, RunawayKillerCtx *ctx - #ifdef HAVE_PTHREAD_CONDATTR_SETCLOCK - if ((pthread_err = pthread_condattr_init(&attr))) { - polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ LOG_LEVEL_ERROR, - "Error initializing condition variable attributes: %s", - strerror(pthread_err)); - return FALSE; - } - if ((pthread_err = pthread_condattr_setclock(&attr, PK_CLOCK))) { - polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ LOG_LEVEL_ERROR, - "Error setting condition variable attributes: %s", - strerror(pthread_err)); - goto err_clean_condattr; -@@ -780,6 +782,7 @@ runaway_killer_common(PolkitBackendJsAuthority *authority, RunawayKillerCtx *ctx - /* Init again, with needed attr */ - if ((pthread_err = pthread_cond_init(&ctx->cond, &attr))) { - polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ LOG_LEVEL_ERROR, - "Error initializing condition variable: %s", - strerror(pthread_err)); - goto err_clean_condattr; - diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/metadata.xml index 420dae0ebc..c3094ca124 100644 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/metadata.xml @@ -5,8 +5,6 @@ freedesktop-bugs@gentoo.org - Build polkitd in addition to libpolkit. - Use dev-lang/duktape instead of dev-lang/spidermonkey as JavaScript engine Use sys-apps/systemd for session tracking diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-123-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-123-r1.ebuild index 15a547c852..b352d52348 100644 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-123-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-123-r1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_COMPAT=( python3_11 ) inherit meson pam pax-utils python-any-r1 systemd xdg-utils DESCRIPTION="Policy framework for controlling privileges for system-wide services" diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-124-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-124-r1.ebuild deleted file mode 100644 index 9cbf98691a..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-124-r1.ebuild +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) -inherit meson pam pax-utils python-any-r1 systemd xdg-utils - -DESCRIPTION="Policy framework for controlling privileges for system-wide services" -HOMEPAGE="https://www.freedesktop.org/wiki/Software/polkit https://github.com/polkit-org/polkit" -if [[ ${PV} == *_p* ]] ; then - # Upstream don't make releases very often. Test snapshots throughly - # and review commits, but don't shy away if there's useful stuff there - # we want. - MY_COMMIT="" - SRC_URI="https://gitlab.freedesktop.org/polkit/polkit/-/archive/${MY_COMMIT}/polkit-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" - - S="${WORKDIR}"/${PN}-${MY_COMMIT} -else - SRC_URI="https://gitlab.freedesktop.org/polkit/polkit/-/archive/${PV}/${P}.tar.bz2" -fi - -LICENSE="LGPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="+daemon +duktape examples gtk +introspection kde pam selinux systemd test" -RESTRICT="!test? ( test )" - -BDEPEND=" - acct-user/polkitd - app-text/docbook-xml-dtd:4.1.2 - app-text/docbook-xsl-stylesheets - dev-libs/glib - dev-libs/gobject-introspection-common - dev-libs/libxslt - dev-util/glib-utils - sys-devel/gettext - virtual/pkgconfig - introspection? ( >=dev-libs/gobject-introspection-0.6.2 ) - test? ( - $(python_gen_any_dep ' - dev-python/dbus-python[${PYTHON_USEDEP}] - dev-python/python-dbusmock[${PYTHON_USEDEP}] - ') - ) -" -DEPEND=" - >=dev-libs/glib-2.32:2 - dev-libs/expat - daemon? ( - duktape? ( dev-lang/duktape:= ) - !duktape? ( dev-lang/spidermonkey:115[-debug] ) - ) - pam? ( - sys-auth/pambase - sys-libs/pam - ) - !pam? ( virtual/libcrypt:= ) - systemd? ( sys-apps/systemd:0=[policykit] ) - !systemd? ( sys-auth/elogind ) -" -RDEPEND=" - ${DEPEND} - acct-user/polkitd - selinux? ( sec-policy/selinux-policykit ) -" -PDEPEND=" - gtk? ( || ( - >=gnome-extra/polkit-gnome-0.105 - >=lxde-base/lxsession-0.5.2 - ) ) - kde? ( kde-plasma/polkit-kde-agent ) -" - -DOCS=( docs/TODO HACKING.md NEWS.md README.md ) - -QA_MULTILIB_PATHS=" - usr/lib/polkit-1/polkit-agent-helper-1 - usr/lib/polkit-1/polkitd -" - -PATCHES=( - "${FILESDIR}"/${PN}-124-systemd.patch - "${FILESDIR}"/${PN}-124-systemd-fixup.patch - "${FILESDIR}"/${PN}-124-c99-fixes.patch -) - -python_check_deps() { - python_has_version "dev-python/dbus-python[${PYTHON_USEDEP}]" && - python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]" -} - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -src_prepare() { - default - - # bug #401513 - sed -i -e 's|unix-group:wheel|unix-user:0|' src/polkitbackend/*-default.rules || die -} - -src_configure() { - xdg_environment_reset - - local emesonargs=( - --localstatedir="${EPREFIX}"/var - -Dauthfw="$(usex pam pam shadow)" - -Dexamples=false - -Dgtk_doc=false - -Dman=true - -Dos_type=gentoo - -Dsession_tracking="$(usex systemd libsystemd-login libelogind)" - -Dsystemdsystemunitdir="$(systemd_get_systemunitdir)" - -Djs_engine=$(usex duktape duktape mozjs) - $(meson_use !daemon libs-only) - $(meson_use introspection) - $(meson_use test tests) - $(usex pam "-Dpam_module_dir=$(getpam_mod_dir)" '') - ) - meson_src_configure -} - -src_compile() { - meson_src_compile - - # Required for polkitd on hardened/PaX due to spidermonkey's JIT - pax-mark mr src/polkitbackend/.libs/polkitd test/polkitbackend/.libs/polkitbackendjsauthoritytest -} - -src_install() { - meson_src_install - - # acct-user/polkitd installs its own (albeit with a different filename) - rm -rf "${ED}"/usr/lib/sysusers.d || die - - if use examples ; then - docinto examples - dodoc src/examples/{*.c,*.policy*} - fi - - if use daemon; then - if [[ ${EUID} == 0 ]]; then - diropts -m 0700 -o polkitd - fi - keepdir /etc/polkit-1/rules.d - fi -} - -pkg_postinst() { - if use daemon && [[ ${EUID} == 0 ]]; then - chmod 0700 "${EROOT}"/{etc,usr/share}/polkit-1/rules.d - chown polkitd "${EROOT}"/{etc,usr/share}/polkit-1/rules.d - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-125-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-125-r1.ebuild deleted file mode 100644 index 9a9d630ffd..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-125-r1.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) -inherit meson pam pax-utils python-any-r1 systemd tmpfiles xdg-utils - -DESCRIPTION="Policy framework for controlling privileges for system-wide services" -HOMEPAGE="https://www.freedesktop.org/wiki/Software/polkit https://github.com/polkit-org/polkit" -if [[ ${PV} == *_p* ]] ; then - # Upstream don't make releases very often. Test snapshots throughly - # and review commits, but don't shy away if there's useful stuff there - # we want. - MY_COMMIT="" - SRC_URI="https://github.com/polkit-org/polkit/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz" - - S="${WORKDIR}"/${PN}-${MY_COMMIT} -else - SRC_URI="https://github.com/polkit-org/polkit/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" -fi - -LICENSE="LGPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="+daemon +duktape examples gtk +introspection kde pam selinux systemd test" -# Tests restricted b/c of permissions -RESTRICT="!test? ( test ) test" - -BDEPEND=" - acct-user/polkitd - app-text/docbook-xml-dtd:4.1.2 - app-text/docbook-xsl-stylesheets - dev-libs/glib - dev-libs/gobject-introspection-common - dev-libs/libxslt - dev-util/glib-utils - sys-devel/gettext - virtual/pkgconfig - introspection? ( >=dev-libs/gobject-introspection-0.6.2 ) - test? ( - $(python_gen_any_dep ' - dev-python/dbus-python[${PYTHON_USEDEP}] - dev-python/python-dbusmock[${PYTHON_USEDEP}] - ') - ) -" -DEPEND=" - >=dev-libs/glib-2.32:2 - dev-libs/expat - daemon? ( - duktape? ( dev-lang/duktape:= ) - !duktape? ( dev-lang/spidermonkey:115[-debug] ) - ) - pam? ( - sys-auth/pambase - sys-libs/pam - ) - !pam? ( virtual/libcrypt:= ) - systemd? ( sys-apps/systemd:0=[policykit] ) - !systemd? ( sys-auth/elogind ) -" -RDEPEND=" - ${DEPEND} - acct-user/polkitd - selinux? ( sec-policy/selinux-policykit ) -" -PDEPEND=" - gtk? ( || ( - >=gnome-extra/polkit-gnome-0.105 - >=lxde-base/lxsession-0.5.2 - ) ) - kde? ( kde-plasma/polkit-kde-agent ) -" - -DOCS=( docs/TODO HACKING.md NEWS.md README.md ) - -QA_MULTILIB_PATHS=" - usr/lib/polkit-1/polkit-agent-helper-1 - usr/lib/polkit-1/polkitd -" - -PATCHES=( - "${FILESDIR}"/${P}-musl.patch - # fix incorrect feature detection - "${FILESDIR}"/8cf58abef12e61f369af3f583af349b0e086ba27.patch -) - -python_check_deps() { - python_has_version "dev-python/dbus-python[${PYTHON_USEDEP}]" && - python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]" -} - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -src_prepare() { - default - - # bug #401513 - sed -i -e 's|unix-group:wheel|unix-user:0|' src/polkitbackend/*-default.rules || die -} - -src_configure() { - xdg_environment_reset - - local emesonargs=( - --localstatedir="${EPREFIX}"/var - -Dauthfw="$(usex pam pam shadow)" - -Dexamples=false - -Dgtk_doc=false - -Dman=true - -Dos_type=gentoo - -Djs_engine=$(usex duktape duktape mozjs) - -Dpam_module_dir=$(getpam_mod_dir) - -Dsession_tracking="$(usex systemd logind elogind)" - -Dsystemdsystemunitdir="$(systemd_get_systemunitdir)" - $(meson_use !daemon libs-only) - $(meson_use introspection) - $(meson_use test tests) - ) - meson_src_configure -} - -src_compile() { - meson_src_compile - - # Required for polkitd on hardened/PaX due to spidermonkey's JIT - pax-mark mr src/polkitbackend/.libs/polkitd test/polkitbackend/.libs/polkitbackendjsauthoritytest -} - -src_install() { - meson_src_install - - # acct-user/polkitd installs its own (albeit with a different filename) - rm -rf "${ED}"/usr/lib/sysusers.d || die - - if use examples ; then - docinto examples - dodoc src/examples/{*.c,*.policy*} - fi - - if use daemon; then - if [[ ${EUID} == 0 ]]; then - diropts -m 0700 -o polkitd - fi - keepdir /etc/polkit-1/rules.d - fi -} - -pkg_postinst() { - tmpfiles_process polkit-tmpfiles.conf - - if use daemon && [[ ${EUID} == 0 ]]; then - chmod 0700 "${EROOT}"/{etc,usr/share}/polkit-1/rules.d - chown polkitd "${EROOT}"/{etc,usr/share}/polkit-1/rules.d - fi -} 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 1fb175cbf5..acc3343080 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 @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..13} ) inherit meson pam pax-utils python-any-r1 systemd tmpfiles xdg-utils DESCRIPTION="Policy framework for controlling privileges for system-wide services" @@ -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-auth/polkit/polkit-9999-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-9999-r1.ebuild deleted file mode 100644 index c4a985f124..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-9999-r1.ebuild +++ /dev/null @@ -1,160 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) -inherit meson pam pax-utils python-any-r1 systemd xdg-utils - -DESCRIPTION="Policy framework for controlling privileges for system-wide services" -HOMEPAGE="https://www.freedesktop.org/wiki/Software/polkit https://github.com/polkit-org/polkit" -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://github.com/polkit-org/polkit" - inherit git-r3 -elif [[ ${PV} == *_p* ]] ; then - # Upstream don't make releases very often. Test snapshots throughly - # and review commits, but don't shy away if there's useful stuff there - # we want. - MY_COMMIT="" - SRC_URI="https://github.com/polkit-org/polkit/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz" - - S="${WORKDIR}"/${PN}-${MY_COMMIT} -else - SRC_URI="https://github.com/polkit-org/polkit/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" -fi - -LICENSE="LGPL-2" -SLOT="0" -if [[ ${PV} != 9999 ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -IUSE="+daemon +duktape examples gtk +introspection kde pam selinux systemd test" -RESTRICT="!test? ( test )" - -BDEPEND=" - acct-user/polkitd - app-text/docbook-xml-dtd:4.1.2 - app-text/docbook-xsl-stylesheets - dev-libs/glib - dev-libs/gobject-introspection-common - dev-libs/libxslt - dev-util/glib-utils - sys-devel/gettext - virtual/pkgconfig - introspection? ( >=dev-libs/gobject-introspection-0.6.2 ) - test? ( - $(python_gen_any_dep ' - dev-python/dbus-python[${PYTHON_USEDEP}] - dev-python/python-dbusmock[${PYTHON_USEDEP}] - ') - ) -" -DEPEND=" - >=dev-libs/glib-2.32:2 - dev-libs/expat - daemon? ( - duktape? ( dev-lang/duktape:= ) - !duktape? ( dev-lang/spidermonkey:115[-debug] ) - ) - pam? ( - sys-auth/pambase - sys-libs/pam - ) - !pam? ( virtual/libcrypt:= ) - systemd? ( sys-apps/systemd:0=[policykit] ) - !systemd? ( sys-auth/elogind ) -" -RDEPEND=" - ${DEPEND} - acct-user/polkitd - selinux? ( sec-policy/selinux-policykit ) -" -PDEPEND=" - gtk? ( || ( - >=gnome-extra/polkit-gnome-0.105 - >=lxde-base/lxsession-0.5.2 - ) ) - kde? ( kde-plasma/polkit-kde-agent ) -" - -DOCS=( docs/TODO HACKING.md NEWS.md README.md ) - -QA_MULTILIB_PATHS=" - usr/lib/polkit-1/polkit-agent-helper-1 - usr/lib/polkit-1/polkitd -" - -python_check_deps() { - python_has_version "dev-python/dbus-python[${PYTHON_USEDEP}]" && - python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]" -} - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -src_prepare() { - default - - # FIXME: Horrible hack to facilitate testing in bug #934314 - patch -p1 -f < "${FILESDIR}"/${PN}-124-systemd.patch - patch -p1 -f < "${FILESDIR}"/${PN}-124-systemd-fixup.patch - patch -p1 -f < "${FILESDIR}"/${PN}-124-c99-fixes.patch - sed -i -e "s:dependency('systemd':dependency('libelogind':" meson.build || die - - sed -i -e 's|unix-group:wheel|unix-user:0|' src/polkitbackend/*-default.rules || die -} - -src_configure() { - xdg_environment_reset - - local emesonargs=( - --localstatedir="${EPREFIX}"/var - -Dauthfw="$(usex pam pam shadow)" - -Dexamples=false - -Dgtk_doc=false - -Dman=true - -Dos_type=gentoo - -Dsession_tracking="$(usex systemd libsystemd-login libelogind)" - -Dsystemdsystemunitdir="$(systemd_get_systemunitdir)" - -Djs_engine=$(usex duktape duktape mozjs) - $(meson_use !daemon libs-only) - $(meson_use introspection) - $(meson_use test tests) - $(usex pam "-Dpam_module_dir=$(getpam_mod_dir)" '') - ) - meson_src_configure -} - -src_compile() { - meson_src_compile - - # Required for polkitd on hardened/PaX due to spidermonkey's JIT - pax-mark mr src/polkitbackend/.libs/polkitd test/polkitbackend/.libs/polkitbackendjsauthoritytest -} - -src_install() { - meson_src_install - - # acct-user/polkitd installs its own (albeit with a different filename) - rm -rf "${ED}"/usr/lib/sysusers.d || die - - if use examples ; then - docinto examples - dodoc src/examples/{*.c,*.policy*} - fi - - if use daemon; then - if [[ ${EUID} == 0 ]]; then - diropts -m 0700 -o polkitd - fi - keepdir /etc/polkit-1/rules.d - fi -} - -pkg_postinst() { - if use daemon && [[ ${EUID} == 0 ]]; then - chmod 0700 "${EROOT}"/{etc,usr/share}/polkit-1/rules.d - chown polkitd "${EROOT}"/{etc,usr/share}/polkit-1/rules.d - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-9999.ebuild index ba5493bd0c..7ca3f373a7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..13} ) inherit meson pam pax-utils python-any-r1 systemd tmpfiles xdg-utils DESCRIPTION="Policy framework for controlling privileges for system-wide services" @@ -81,12 +81,6 @@ QA_MULTILIB_PATHS=" usr/lib/polkit-1/polkitd " -PATCHES=( - "${FILESDIR}"/${P}-elogind.patch - "${FILESDIR}"/${P}-realpath.patch - "${FILESDIR}"/${P}-musl.patch -) - python_check_deps() { python_has_version "dev-python/dbus-python[${PYTHON_USEDEP}]" && python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]" From c3ec30061a5ca1dd3a27b57db0f10e2d3d3d3b66 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:23 +0000 Subject: [PATCH 090/131] sys-block/thin-provisioning-tools: Sync with Gentoo It's from Gentoo commit e697c8a62260f553cebea9cb8ad767c4937b9e4a. --- .../thin-provisioning-tools-1.1.0-r3.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r3.ebuild index 0574572cf0..7de837505a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r3.ebuild @@ -148,7 +148,7 @@ declare -A GIT_CRATES=( [rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%' ) -LLVM_COMPAT=( {17..19} ) +LLVM_COMPAT=( {17..20} ) inherit cargo llvm-r1 From 1cf5d8dee9f3fc6385c911d8bb5985706deb30eb Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:24 +0000 Subject: [PATCH 091/131] sys-boot/gnu-efi: Sync with Gentoo It's from Gentoo commit a7acd26d76a59ae70a13fd2b17098ef6f5baaeea. --- .../portage-stable/sys-boot/gnu-efi/gnu-efi-4.0.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-4.0.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-4.0.1.ebuild index 746849679d..59cd7fd115 100644 --- a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-4.0.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-4.0.1.ebuild @@ -16,7 +16,7 @@ SRC_URI="https://github.com/ncroxon/gnu-efi/archive/${PV}.tar.gz -> ${P}.tar.gz" # - GPL-2+ : setjmp_ia32.S LICENSE="GPL-2+ BSD BSD-2" SLOT="0" -KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~riscv ~x86" +KEYWORDS="-* amd64 ~arm ~arm64 ~loong ~riscv x86" IUSE="abi_x86_32 abi_x86_64 custom-cflags" REQUIRED_USE=" amd64? ( || ( abi_x86_32 abi_x86_64 ) ) From 1173e7ac2130255ff635c1e4a6ef1030389c1958 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:29 +0000 Subject: [PATCH 092/131] sys-devel/crossdev: Sync with Gentoo It's from Gentoo commit 7e81cd21183fba0365177a1c98cb226c8ece2da5. --- .../sys-devel/crossdev/Manifest | 1 + .../crossdev/crossdev-20250106.ebuild | 2 +- .../crossdev/crossdev-20250410.ebuild | 2 +- .../crossdev/crossdev-20250622.ebuild | 46 +++++++++++++++++++ 4 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250622.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest index 0959455cd0..502baef8f0 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest @@ -3,3 +3,4 @@ DIST crossdev-20241202.tar.xz 33032 BLAKE2B 74ec859e1ae5f816397349c18f8bd98d8fae DIST crossdev-20241215.tar.xz 33028 BLAKE2B 3b33284f55fe41a45bfeea1dbc273a828eeceada38d4274f9fcaab06a1d9b342efaa0fcad407bb5a5d921515acc18dac0e4923240e2610a425f7c508b6274ecd SHA512 84960b518767aacc7400cfa32d36b15492dd5e3908c36c0f513470fdfbaedde04d24aecaf0f5020bf69cd7c2095da1cc2961ae090e90340a176292299bbfaf25 DIST crossdev-20250106.tar.xz 33124 BLAKE2B 45992cd29a6dd48f97d871ba5f4b09b18797c76389a5839c7b02e23b765556561f9b442d594a6bed58ff670e69d4efc27f37cdb1f6bb1722fd1d18e0bc50cc5f SHA512 8d9cdb194f3477dcbe605c4f8126be013e9193acb716e2b12e8f51f826087bbac3f50b44268c150d4e9f86b78182a0b4b323634b0040f0a815dc4a075c662c75 DIST crossdev-20250410.tar.xz 33292 BLAKE2B b4c41757ff705866fb3c7420e10d1325977937c50801600002639984dd39b90ebf4fadbde5a09bae02eba2ca17261db32f5275b1599858b2b7c961e3eb85d82f SHA512 aa6c1657d23c96b6109e49ac517dd9550d731f0af508359be55fa8c641675bd4205223eb492e7c94fd69dd86999124d7d0f4766cf1bc17a3dd953f457bf85c9b +DIST crossdev-20250622.tar.xz 33316 BLAKE2B 6e91e757174ce6b5c5f6ec5276725e0432f061ea7c21b0c215998d453deed285c422c1f25c313c80de2d2fe86a00751fbb516f40b63f1bcc25602d3eb0353351 SHA512 bdba3da3724d56b43e0d307b4f9fc00f9680ec541a9397d91f92d237980f7e4b300618e8e8484ee8410ecfd3b0c8854d54057ddb646e2182e407e21c503b9fa9 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250106.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250106.ebuild index b0bc483b65..e37bcc5ed9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250106.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250106.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/crossdev/crossdev-20250410.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250410.ebuild index 084660d0c3..0e6b953ef8 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/crossdev/crossdev-20250622.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250622.ebuild new file mode 100644 index 0000000000..5494e3601b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250622.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit toolchain-funcs + +if [[ ${PV} == "99999999" ]] ; then + inherit git-r3 + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/crossdev.git + https://github.com/gentoo/crossdev + " +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" +fi + +DESCRIPTION="Gentoo Cross-toolchain generator" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Crossdev" + +LICENSE="GPL-2" +SLOT="0" + +RDEPEND=" + >=sys-apps/portage-2.1 + app-shells/bash + sys-apps/gentoo-functions + sys-apps/config-site +" +BDEPEND="app-arch/xz-utils" + +src_install() { + tc-export PKG_CONFIG # Bug 955822 + + default + + if [[ ${PV} == "99999999" ]] ; then + sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die + else + sed -i "s:@CDEVPV@:${PV}:" "${ED}"/usr/bin/crossdev || die + fi + + dodir /usr/share/config.site.d + mv "${ED}"/usr/share/config.site{,.d/80crossdev.conf} || die +} From 87a34af56a4f373ef0299c46c718e6995a44de44 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:29 +0000 Subject: [PATCH 093/131] sys-devel/gcc: Sync with Gentoo It's from Gentoo commit ca9be57350aa42ce8a25a2516b0edfeaabf2bf1a. --- .../portage-stable/sys-devel/gcc/Manifest | 20 ++-- ...-__has_trivial_destructor-regression.patch | 66 ------------ ...2-c-__is_destructible-fixes-PR107600.patch | 101 ------------------ ...tinit-diagnostic-regression-PR120506.patch | 78 -------------- ...ore-__is_destructible-fixes-PR107600.patch | 71 ------------ .../files/gcc-16.0.0_p20250622-ext-dce.patch | 41 +++++++ ...607.ebuild => gcc-12.4.1_p20250618.ebuild} | 26 +++-- .../sys-devel/gcc/gcc-12.4.1_p20250625.ebuild | 68 ++++++++++++ ...-r1.ebuild => gcc-13.4.1_p20250619.ebuild} | 29 +++-- .../sys-devel/gcc/gcc-13.4.1_p20250626.ebuild | 69 ++++++++++++ ...530.ebuild => gcc-14.3.1_p20250620.ebuild} | 0 ...606.ebuild => gcc-14.3.1_p20250627.ebuild} | 0 ...524.ebuild => gcc-15.1.1_p20250621.ebuild} | 0 ...531.ebuild => gcc-15.1.1_p20250628.ebuild} | 0 ....ebuild => gcc-16.0.0_p20250622-r1.ebuild} | 3 +- ...601.ebuild => gcc-16.0.0_p20250622.ebuild} | 0 ...608.ebuild => gcc-16.0.0_p20250629.ebuild} | 2 +- 17 files changed, 230 insertions(+), 344 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0001-c-__has_trivial_destructor-regression.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0002-c-__is_destructible-fixes-PR107600.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0003-c-constinit-diagnostic-regression-PR120506.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0004-c-more-__is_destructible-fixes-PR107600.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-16.0.0_p20250622-ext-dce.patch rename sdk_container/src/third_party/portage-stable/sys-devel/gcc/{gcc-15.1.1_p20250607.ebuild => gcc-12.4.1_p20250618.ebuild} (72%) create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250625.ebuild rename sdk_container/src/third_party/portage-stable/sys-devel/gcc/{gcc-16.0.0_p20250601-r1.ebuild => gcc-13.4.1_p20250619.ebuild} (77%) create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20250626.ebuild rename sdk_container/src/third_party/portage-stable/sys-devel/gcc/{gcc-14.3.1_p20250530.ebuild => gcc-14.3.1_p20250620.ebuild} (100%) rename sdk_container/src/third_party/portage-stable/sys-devel/gcc/{gcc-14.3.1_p20250606.ebuild => gcc-14.3.1_p20250627.ebuild} (100%) rename sdk_container/src/third_party/portage-stable/sys-devel/gcc/{gcc-15.1.1_p20250524.ebuild => gcc-15.1.1_p20250621.ebuild} (100%) rename sdk_container/src/third_party/portage-stable/sys-devel/gcc/{gcc-15.1.1_p20250531.ebuild => gcc-15.1.1_p20250628.ebuild} (100%) rename sdk_container/src/third_party/portage-stable/sys-devel/gcc/{gcc-16.0.0_p20250525.ebuild => gcc-16.0.0_p20250622-r1.ebuild} (96%) rename sdk_container/src/third_party/portage-stable/sys-devel/gcc/{gcc-16.0.0_p20250601.ebuild => gcc-16.0.0_p20250622.ebuild} (100%) rename sdk_container/src/third_party/portage-stable/sys-devel/gcc/{gcc-16.0.0_p20250608.ebuild => gcc-16.0.0_p20250629.ebuild} (99%) 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 aef41b282c..ed43343f8a 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 @@ -10,6 +10,8 @@ DIST gcc-12-20250417.tar.xz 79924416 BLAKE2B 4f6542d016693e2392a433c1931a33112fc DIST gcc-12-20250528.tar.xz 79942548 BLAKE2B 3c500796a34ccd863da451de4084cc90d404c9b8d41caccde11a840bc25cf949669ea9b4d4ae58899962aeb37e14ec947068238787a0019bbf22e62135a001ca SHA512 aa4e0583b308b8ada43c209edee54f97606683e1e7dad8e0250a6c77591e8cb2520258973822a91f3a45261a46a0b2e3783214ae6e004eed90cdf3a2faec479c DIST gcc-12-20250604.tar.xz 79932044 BLAKE2B 6be96d278106c52bb44cd7a82dcbbc270c99aa914c185fd4bce807dcd11b1dc441d1add7d4220afb8a26b9dda1c0f419c2e3bf40b1b01b64ffc1f7aceb6a0e3c SHA512 e4c1ed3473ee12c9f15af8ca9dceb0700f7af8e96fbed8d10ff276e6031898e5ceaca11e250839b09425448d726300f09c43a3287badbc79179c0d8974cadd07 DIST gcc-12-20250611.tar.xz 79932880 BLAKE2B ae368816a13791a00d14494ce9e132d5dd9d2de74e335a8a9c68b568a1ec25aa264c07292d31d379ce092577b036313d5d62536c7802eb16d08e777c36b7d969 SHA512 e6b47dce06e07aabdbaf4f74b9b387b9b19331675c4abb7ef69541d8188b2370b1887047b2179d6a5eb7c412c81c919612b68892f760c2a2586028fb5483d7fd +DIST gcc-12-20250618.tar.xz 79951420 BLAKE2B 20d719edd362f5c8cedf3a641847961b4685f3ee9b0d60f0dacc5237722718b78123a15bfb262b983313c01cd330af3c4933b947eddccaa3545d179d00b7c333 SHA512 cbf9a0c3ca8ae85dc735d349a7a61de7e9d6b7215bb14962d8becbded5dc67718565e013d3c1fcc3083a8baaea5ba518e5a7c7d1576b2ae99c51c0385b204a84 +DIST gcc-12-20250625.tar.xz 79946552 BLAKE2B add33d9fe5aa460bfdd961391ba5a5a58ad2c1d2063957a496d18b242a030f6e6297a5eca5d3524752fdbd56be8708ee55f1265002f638de0f55ff8449c71539 SHA512 3fa1d8efcececf41b7b83987765a7b92bbff878208709a43b4ff9aabbfbcbc6a755fbb724dab4d5b718eb347f3829966b3e9c7cfa63b8101cb985a3287ef9003 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 @@ -19,6 +21,8 @@ DIST gcc-13-20241220.tar.xz 84504500 BLAKE2B 60d6dcdcafa36399a0c0de7fef3a4eb4ca8 DIST gcc-13-20250418.tar.xz 84528940 BLAKE2B 566cc9570d9a2e41e67416cd3bb3609fad38a37cc648422988182652010ba2f2eb459c29fce32f8f97ea33c23eac3b43098af6fb333ce250a7e9eac4ca0abeb7 SHA512 185179a591d6ecc3a6477379fd877241a18b25bec0eacd0819e6e0ee38abbbebe7fee9027d36a60087f487c65a8afd17228e8dc0b803f4cf5ae6b8ce9cdadcbc DIST gcc-13-20250522.tar.xz 84560600 BLAKE2B 418d5f6eb25542519317aa18f16d347940549b4bdbcd5a75279d784e310758e870d8814c4ff631195d44a05d57da95f8bef3a1ba5931f1a085f9e88912ddf993 SHA512 4c16bd9d3e0aa38772ae5a347f99f2d3fbf5587d5fbf7fe9e8c2f8cda203221a424e161719ddc42cb945ec3a75c5956da61ccccf4ff7b3a9eb377962b28e506c DIST gcc-13-20250612.tar.xz 84587824 BLAKE2B 4ec2b89a912c185b0c62c5d290c50a2febdaf9c1496dad944ebfe5dac18df74fcda5142040bc5407388983210662fe2643967c56494b66e81e80fc6e65841fd3 SHA512 015dda44b0894ee0d45d4398ee93e2dec4350ba51584af9dc642a43c3a376c00e738e779021412cf658e143e78276c390254d7cee34939cb160f865a5187292e +DIST gcc-13-20250619.tar.xz 84584096 BLAKE2B c69932af22adc03527c296e69a07face4c65366dc4d14430d310731ab7470cb18b1f30aa4720ad877d5421cd50e1424deead88d231ba1f7f95a427a26d0ed073 SHA512 2611c0c586706ec95f22ebaf8b557e432be2224518fb1656c1a44f7f8b6b066caa48de48894990ca2a20f2fe3ec456434fd4d8ede356cb0b72d9ec0f0223a055 +DIST gcc-13-20250626.tar.xz 84567576 BLAKE2B 49eb8e3132a0d0a6fe5c127adf446992032be7bcd74103577e13a08f06d451312d7b6f3328864906c3cd29ecd9e4b274bb2cfc4b9b0ee53a5a6d513bbbd1089a SHA512 0f98f211aa6aad4cba2aaa9d0535856304fa3f2c1d4d2f26646641bbe50575322f1562188f9b38c837ac2bd6ee4a22acb66be19ce73ef4b253c54aa19090aaed 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 @@ -30,27 +34,25 @@ DIST gcc-13.4.0-RC-20250530.tar.xz 88502788 BLAKE2B 0737082c4dfd3706918e646f3ef0 DIST gcc-13.4.0.tar.xz 88530720 BLAKE2B abbba220652d6e84c59554e754207be91d1250d7751c09163e3166a9da8c7eb4d538785697bb3aea65a8a433e8b82f9a969cf09bb0ecc5aa4a27c964f0acd7e8 SHA512 9b4b83ecf51ef355b868608b8d257b2fa435c06d2719cb86657a7c2c2a0828ff4ce04e9bac1055bbcad8ed5b4da524cafaef654785e23a50233d95d89201e35f DIST gcc-14-20241221.tar.xz 88198252 BLAKE2B 7491c2e1c8885e201859143bdf5cae95af4c0db77709ec7d761ad535df30042f5deb8488ba7c508de3673e4b0f2af1de8d17476f39cd47b745ddccec6a9e4470 SHA512 91fe1e1d1f8e8fad64930a2eadf942a542bd42f841fceb49f475bccac00f04692b8cd38821ea9ee05f78b5c51001d8bd39df5f71f3a3d89aab8980019cea9be8 DIST gcc-14-20250419.tar.xz 88251960 BLAKE2B b9d8312ac8dd9dd82128ff872e379f3426b4464e940ebd7748e53d6cd41e5a0f936f01ffdd3beb308a693ce98d3c323206ec67006de0735a430534b21899ae6d SHA512 44cd816dc61d4cf9925be47b75c5ddfc791dbfb43cc56a82e3a46673e8a2753d69f8b9230d68399c4b232c2daab85622168998f2dab767bb78c2292613dd6643 -DIST gcc-14-20250530.tar.xz 88301156 BLAKE2B 48e2fd31659bb170b13442a731ebd8d386657515c496e4e987ca3536cb8fd68982c91421c109f7fdb3729481afdeb310e7ba0820270adcac60984aebdbf1562d SHA512 93ddd0e7c3b724f2af8bac9ef5d367366a09ee1b1bc9c4da31bf31b40899565e2491faf2570e784db0ff41ac18d1cf32d2120594181d0c635749209a8a144768 -DIST gcc-14-20250606.tar.xz 88335540 BLAKE2B 5a1cc1308ccb3fe90be4a3bb665cd3e7c89debea45212d61609345b5145fd89059ab44b858d64d23bbb52023b63bf0786c9a7bed57382019b70b4e90676f36ce SHA512 70fea08f6bc7a1ea2010e423421bd9234aa17b8a051edb856d6d0bb2c4b533a177e1affa4c02bbd64f281da573bcf4bac47a037e43ed3ee562a0238b6ec9b95c DIST gcc-14-20250613.tar.xz 88314832 BLAKE2B b42b88d3990a792357e92e23e1b645c5d3505844c7298a2e41361c9672eb48835db3372a1890c6bfe02d67fe4af3f7130f05318977ecaca39846edd350e51060 SHA512 c3f57b72a886a8a862cf5c5de781316b4b30734a24c0f5762ad73badc51e1a651847a139d4402e8cee96e841206e7a32be389e8428d03c04076cfef50bb03c17 +DIST gcc-14-20250620.tar.xz 88310004 BLAKE2B c33c3bdb12d3fcb500829b4781ea66edcd5b69ba1b72cb38f4248d7cc5ddd76a627d94ae9511dbe676c4cd17dfc0cdba5bdc6f05d3b938ac6f4afe0e4a804e25 SHA512 e5a99c1fcac867787d2e96b1c0f9180813a7cdc7ccb5f4002644c619edb0296d4a227ef62e988a98528b7430c35e69bc6e46981b90db5f599d1045ef96a9669c +DIST gcc-14-20250627.tar.xz 88324360 BLAKE2B 17b98dfc88416e4f0567969215533c980e526fa1ce5d11366f66987117bfa2adf13f111f4a1b6b066f02d41d99f78d686d33db4669ef4887848922bb190feb00 SHA512 3b0b6529a48d80a7ef6d23c693cce1c2b767def1b574df5bb49638a9a04305a376f3da81291ca4eed3907c33dc6eaddd6eee1f82e5574246054ad22914188651 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-14.3.0.tar.xz 95212220 BLAKE2B 11c0e549b2e9b4bbbe4cd64782032d2ec783b3db8d4aa538ebd0a0c9760d8e521c32007891a608b081bc6dd353d4eb23030c5e2b9fe9a20c4894a8455dde47b6 SHA512 cb4e3259640721bbd275c723fe4df53d12f9b1673afb3db274c22c6aa457865dccf2d6ea20b4fd4c591f6152e6d4b87516c402015900f06ce9d43af66d3b7a93 -DIST gcc-15-20250524.tar.xz 92091956 BLAKE2B 17889467a8f7376e2ab3e665f4d7d144695d1697fea4d5e13bb291b3702a394c5b49d88f92d2084f47f09d3f101a72a30afb7a72cc9c227ab5636ea2ba7c83ee SHA512 c8e23bdbe3c9d68f338c613728488e23b77f555655f8fe7dfbb12e53db0b1e70e86b4cd6d73792ab22e60f1563656078d9acd1146611d3159ad388c1d84a8153 -DIST gcc-15-20250531.tar.xz 92132452 BLAKE2B eab81cce973324497662c8586af7794afb6f0f48c0ef1976b46928a4a10e00b40d3770d7e621957de087842310ec17c89d9167784f520ef9c137203119926149 SHA512 1ff8eecc4a1301450a06cbb3e6430e196639d4a30634527bf83595bcc1b96db32638473091ff93ba158f0ac2bf7ec78ac82cb05e39e3e3483b54e85837d1a244 -DIST gcc-15-20250607.tar.xz 92120760 BLAKE2B 16c1c7f843083508d6b6a3e349b14dbeb785cf83f30bacefad1d58263c36f8fa17afc319fde051e23cd8aa005715ccb190361c6ec9bcfdc975dafc1f632c31c7 SHA512 a19e2b94f780f7c8f75f1e758f41290f905649adde33f5e2cfcc9730f2e23dbc51df9fb1ae9f84f27bfa23b0e2a4ada6540656280db8894982f63e968a092574 DIST gcc-15-20250614.tar.xz 92119808 BLAKE2B 48afa87106afc50bdbaf41ab4754589919c1ad5c1de4b3ed778839e03c46eb353c47b0157477d610516259b7d7586b7b160449d3e38fd0db3d6dacf55e6ff4a7 SHA512 2acc4fecbf2d11224ff85453558ebc17633dad99227b9c479753259060656f03e6defae1cef19e4866b92142f8225ac010c5f50189fd3bea99ae81ae0e4e029d +DIST gcc-15-20250621.tar.xz 92115632 BLAKE2B a0150cba4a33a70014ab3c139de9f85e29e22f8282404cb27f499f9d44d493a946066750241742f1036160d440431c68646f2eb0d1e33d936719f7784ddb3887 SHA512 f9b46e222378fc006bf0d80a0a0acafb37011c3a0feb10dca37dba59d1ad4906605ac01e60737a0867738ae057773ea3d67c481bc2521cd2372f43bd59272fdb +DIST gcc-15-20250628.tar.xz 92108604 BLAKE2B 45801afeb773ea1249441041d268b03477d891a931d2b3033aa61e3affa60d7a70aa79aae2e89e1cab9fa9b02f0b9b5016ad8c744f38ec6fe05555fcc7e0c450 SHA512 7d56709c60a34a4e7912c257508b2f640fc04c8fef8d7b5041bf8ea59c11942136ecd4c2a4e4b79c104b84ee8559d93efca5b955ee84357da132d2d439639630 DIST gcc-15.1.0-musl-patches-1.tar.xz 3036 BLAKE2B f7e8b794feb3c30252dd3e35b990c8a134d337e285a2778ad5575b04667cf01040bf4187252151cd57097cd6d440851843156c9631736f4f065ca8b7ce2f0678 SHA512 4d3f1660d89484f63ad6c238884415673cdfdabb8833cce2fe114193b52f11b3518b034881024527f6553de93936d15ed707d4d2b1e8221908a08ec67810464b DIST gcc-15.1.0-patches-1.tar.xz 18628 BLAKE2B ee5fc9d6a06374ccc8d85cd1e269514fde8fed9b1810867a199ac747c09fc166e11e54ba531d42ee2ffbab3ca80277f9ad3c873fbaa3530ff60e5f2bc25c41ba SHA512 72992f0698f632c98abd6d8c7a7a38a109b2f064775a0c5029e44dc29cd88ae061cddd603d47eabced5af5f8571e0b73c9778080873c69dd4dc4766c60339b28 DIST gcc-15.1.0.tar.xz 98268344 BLAKE2B a902ce99db4e93615879e435bcd0b96d5a16ea0af42598ca0e6d12913b2ce3651a98574c3264b2717b848e6b5a823b403ccca0adde463938d5b41aa3f1da0d34 SHA512 ddd35ca6c653dffa88f7c7ef9ee4cd806e156e0f3b30f4d63e75a8363361285cd566ee73127734cde6a934611de815bee3e32e24bfd2e0ab9f7ff35c929821c1 -DIST gcc-16-20250525.tar.xz 93827336 BLAKE2B b79645f522e50a72166b3ea7860d4a27f3b19e0ac4be85f4944479e44d95221bb01bbaea630b43b7e2ba79de5531fb1b591b5eabc67bdc3d04106735813f8400 SHA512 92c0b5a431caeb57ab9665a9431f586b78c68fd050e319a3b0cab2fe1c66c6bda6da0145c621d78464a5e39e20b24428419f15b97aca608e2b1cfbcfa09181c3 -DIST gcc-16-20250601.tar.xz 93928944 BLAKE2B 4630f24175cde84cc36244b65336d3de2e09e010157410cc1bf29b7cff27431eb43d13455ca9734567262b5a61c28a7d544cceee3d6116506eec8a05fa75dd96 SHA512 27146f8961c77c06ce76235880e633548c186657f48b3a80e3b11450bcb096eee3bd48250a7c3931378f70ae90fe4a5d6e5031589d5cede316dbadb46a27b3ff -DIST gcc-16-20250608.tar.xz 93926024 BLAKE2B e4f4bef28776421fe756214c2ebe1e8803ae58fc89f719e34fcbc5394534fd4028e10b0d696f5371db04073018008b08c819d4f02366348d925a6410d164ccd6 SHA512 0333267b9815285ab84893dc50eb8e6b22390d3864c8485d1c2866cb4a178787a06f9588484d53f4b8e4dd79319130f3919094854b90714dc07a32c26eeb278d DIST gcc-16-20250615.tar.xz 94008204 BLAKE2B 31c303929d60423cb2355c35f9b3d7e37108ed7ec3b66b411463e3681ddbc088c7556cc7a1639b83bc470ae833987158b206d8044c2f2a22c40661e79bcae252 SHA512 e69a6eea38b75aab569ff7cbabae06da27198fb07d7009dee44b8d81cbeceb4b9e6bd07b9db6a1b347d9ea286353b5a9619ee800f243ac02ec13126c1d4183f3 +DIST gcc-16-20250622.tar.xz 94019404 BLAKE2B 0f4adc77b90c864efbb07e5a132642ade9ffb1b57920afcc0695bf170f33d979c7bac465038f5e4e7f0e06c54aaca32be947f2b4ec912cf7a504e560df768ea4 SHA512 9e35a51a369e7ff362fe0f9d4b8200f1d9330ec4e0cff4d8d61343e6ae5030c178469cb1af0c11768ba78f496ba521aca2b68b6e940db48f0496b829d288fbc4 +DIST gcc-16-20250629.tar.xz 94070816 BLAKE2B 2ce09cd75bb7d6817c1f3764226c2c562130ed36514653e3cc44a8f0cd011b5d9f22c48508dfe9c1720e6ee178e0575982ccbae98ce6e8657ae85a563f9a0aa0 SHA512 86f1e2c0b54913a7b4417b57392f0fec521974a7c260e0bc098607b382e49b43eb476541e6e58ddf024ac17c6a342b3905ed7768318d2d741621f2f244c7fe37 DIST gcc-16.0.0-musl-patches-1.tar.xz 3040 BLAKE2B 18b16357699780eb470cf44a10710281955140103198e0bd55b75e1efe3dbec233689edb11e1b9a62f782f3d97293af4906c18c2c41613b422eda085ee819467 SHA512 5ba580c7c7bb9e62935a5162d44d357cc31185a113acff7498ed7b1ac43fd0a35de7c3de0c87f02fe0be46b5e55b49bb35d1f5cd470058d21a9ea4096a37e13d -DIST gcc-16.0.0-patches-2.tar.xz 17524 BLAKE2B 6e5f07e01ec4981cccb6286151e7948b9ceaadb61afb11307174fcd855440db84d233857c07e311b099130913a26d13201a3b62e2f52ceb959055e190e776efb SHA512 3e6c7fd3e819dff461e54d2a0d568d2d68e01bda845ab44e026231f187c43a9ffa266e7dab981f3b36a55b9654cefb197f5fff7158538526512ce05be0948992 DIST gcc-16.0.0-patches-3.tar.xz 17832 BLAKE2B 8ca77441e3909b650f1894144eefa57ec8c9591adaedccf738d37c7d28626d08927794053d3d2e5a0d10a9d8727584183042e2607e56f09ee6401ef5a002477d SHA512 1b21a7cc71f3c927eaff6d50fafd3c4f9fb206870dbdc4742cee6dcb31b8469ac1baff49b458152324daef5a5e867b376642f25ed2a6c6126d11c2878deace0e +DIST gcc-16.0.0-patches-4.tar.xz 22180 BLAKE2B 2746a4e115da4a12f64c8655fe43ae5bb722c1be658585eed7091613c8449908d79ecbc7fcb9a7302f22c4bfdc99c30b20e51caea8533027bc85f9898fc19a6b SHA512 e603a754df9bb602e929280fe305866337653d09f0e293273f0a7b50f514b8778adab701d5934fd1e8d2744f3889c05d26599bfdd270f84244f6a554c92b6a4c 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/files/0001-c-__has_trivial_destructor-regression.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0001-c-__has_trivial_destructor-regression.patch deleted file mode 100644 index 7cfa234635..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0001-c-__has_trivial_destructor-regression.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 089e4f426502a620deb9efc0d80118931fd951d2 Mon Sep 17 00:00:00 2001 -Message-ID: <089e4f426502a620deb9efc0d80118931fd951d2.1748905952.git.sam@gentoo.org> -From: Jason Merrill -Date: Mon, 2 Jun 2025 08:36:22 -0400 -Subject: [PATCH 1/4] c++: __has_trivial_destructor regression - -We don't want the new call to get_dtor to cause function instantiation. - - PR c++/107600 - -gcc/cp/ChangeLog: - - * semantics.cc (trait_expr_value) [CPTK_HAS_TRIVIAL_DESTRUCTOR]: - Add cp_unevaluated. - -gcc/testsuite/ChangeLog: - - * g++.dg/ext/has_trivial_destructor-3.C: New test. ---- - gcc/cp/semantics.cc | 1 + - .../g++.dg/ext/has_trivial_destructor-3.C | 21 +++++++++++++++++++ - 2 files changed, 22 insertions(+) - create mode 100644 gcc/testsuite/g++.dg/ext/has_trivial_destructor-3.C - -diff --git a/gcc/cp/semantics.cc b/gcc/cp/semantics.cc -index cafc9d0ee2c3..18a2b4709cf1 100644 ---- a/gcc/cp/semantics.cc -+++ b/gcc/cp/semantics.cc -@@ -13420,6 +13420,7 @@ trait_expr_value (cp_trait_kind kind, tree type1, tree type2) - if (CLASS_TYPE_P (type1) && type_build_dtor_call (type1)) - { - deferring_access_check_sentinel dacs (dk_no_check); -+ cp_unevaluated un; - tree fn = get_dtor (type1, tf_none); - if (!fn && !seen_error ()) - warning (0, "checking %qs for type %qT with a destructor that " -diff --git a/gcc/testsuite/g++.dg/ext/has_trivial_destructor-3.C b/gcc/testsuite/g++.dg/ext/has_trivial_destructor-3.C -new file mode 100644 -index 000000000000..a179be52e936 ---- /dev/null -+++ b/gcc/testsuite/g++.dg/ext/has_trivial_destructor-3.C -@@ -0,0 +1,21 @@ -+// { dg-do compile { target c++11 } } -+ -+struct X; -+ -+template -+struct default_delete -+{ -+ void operator()(T*) { static_assert(sizeof(T), "type is not incomplete"); } -+}; -+ -+template> -+struct unique_ptr -+{ -+ ~unique_ptr() { del(ptr); } -+ -+ T* ptr; -+ D del; -+}; -+ -+ -+constexpr bool b = __has_trivial_destructor(unique_ptr); --- -2.49.0 - diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0002-c-__is_destructible-fixes-PR107600.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0002-c-__is_destructible-fixes-PR107600.patch deleted file mode 100644 index 70f13b838a..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0002-c-__is_destructible-fixes-PR107600.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 1de6c1abe44b77aa5a253df9da57130a55e8d907 Mon Sep 17 00:00:00 2001 -Message-ID: <1de6c1abe44b77aa5a253df9da57130a55e8d907.1748905952.git.sam@gentoo.org> -In-Reply-To: <089e4f426502a620deb9efc0d80118931fd951d2.1748905952.git.sam@gentoo.org> -References: <089e4f426502a620deb9efc0d80118931fd951d2.1748905952.git.sam@gentoo.org> -From: Jason Merrill -Date: Mon, 2 Jun 2025 10:09:07 -0400 -Subject: [PATCH 2/4] c++: __is_destructible fixes [PR107600] - -destructible_expr was wrongly assuming that TO is a class type. - -When is_xible_helper was added in r8-742 it returned early for abstract -class types, which is correct for __is_constructible, but not -__is_assignable or (now) __is_destructible. - - PR c++/107600 - -gcc/cp/ChangeLog: - - * method.cc (destructible_expr): Handle non-classes. - (constructible_expr): Check for abstract class here... - (is_xible_helper): ...not here. - -gcc/testsuite/ChangeLog: - - * g++.dg/ext/is_destructible2.C: New test. ---- - gcc/cp/method.cc | 21 ++++++++++++++++----- - gcc/testsuite/g++.dg/ext/is_destructible2.C | 15 +++++++++++++++ - 2 files changed, 31 insertions(+), 5 deletions(-) - create mode 100644 gcc/testsuite/g++.dg/ext/is_destructible2.C - -diff --git a/gcc/cp/method.cc b/gcc/cp/method.cc -index 3a675d9f8723..bb6790f13cdb 100644 ---- a/gcc/cp/method.cc -+++ b/gcc/cp/method.cc -@@ -2251,6 +2251,8 @@ constructible_expr (tree to, tree from) - const int len = TREE_VEC_LENGTH (from); - if (CLASS_TYPE_P (to)) - { -+ if (ABSTRACT_CLASS_TYPE_P (to)) -+ return error_mark_node; - tree ctype = to; - vec *args = NULL; - if (!TYPE_REF_P (to)) -@@ -2337,10 +2339,19 @@ destructible_expr (tree to) - { - cp_unevaluated cp_uneval_guard; - int flags = LOOKUP_NORMAL|LOOKUP_DESTRUCTOR; -- to = build_trait_object (to); -- tree r = build_delete (input_location, TREE_TYPE (to), to, -- sfk_complete_destructor, flags, 0, tf_none); -- return r; -+ to = strip_array_types (to); -+ if (CLASS_TYPE_P (to)) -+ { -+ to = build_trait_object (to); -+ return build_delete (input_location, TREE_TYPE (to), to, -+ sfk_complete_destructor, flags, 0, tf_none); -+ } -+ /* [expr.prim.id.dtor] If the id-expression names a pseudo-destructor, T -+ shall be a scalar type.... */ -+ else if (scalarish_type_p (to)) -+ return void_node; -+ else -+ return error_mark_node; - } - - /* Returns a tree iff TO is assignable (if CODE is MODIFY_EXPR) or -@@ -2352,7 +2363,7 @@ is_xible_helper (enum tree_code code, tree to, tree from, bool trivial) - { - to = complete_type (to); - deferring_access_check_sentinel acs (dk_no_deferred); -- if (VOID_TYPE_P (to) || ABSTRACT_CLASS_TYPE_P (to) -+ if (VOID_TYPE_P (to) - || (from && FUNC_OR_METHOD_TYPE_P (from) - && (TYPE_READONLY (from) || FUNCTION_REF_QUALIFIED (from)))) - return error_mark_node; -diff --git a/gcc/testsuite/g++.dg/ext/is_destructible2.C b/gcc/testsuite/g++.dg/ext/is_destructible2.C -new file mode 100644 -index 000000000000..7f15fc786848 ---- /dev/null -+++ b/gcc/testsuite/g++.dg/ext/is_destructible2.C -@@ -0,0 +1,15 @@ -+// PR c++/107600 -+// { dg-additional-options -Wno-c++17-extensions } -+// { dg-do compile { target c++11 } } -+ -+struct A -+{ -+ A& operator= (const A&); -+ virtual ~A() = 0; -+}; -+ -+static_assert( __is_destructible(A) ); -+static_assert( __is_assignable(A, A) ); -+static_assert( not __is_destructible(int()) ); -+static_assert( not __is_nothrow_destructible(int()) ); -+static_assert( not __is_trivially_destructible(int()) ); --- -2.49.0 - diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0003-c-constinit-diagnostic-regression-PR120506.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0003-c-constinit-diagnostic-regression-PR120506.patch deleted file mode 100644 index 6f6a96fcec..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0003-c-constinit-diagnostic-regression-PR120506.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 3fd9983fede89f1a996d44439d0938ee0d9ff76c Mon Sep 17 00:00:00 2001 -Message-ID: <3fd9983fede89f1a996d44439d0938ee0d9ff76c.1748905952.git.sam@gentoo.org> -In-Reply-To: <089e4f426502a620deb9efc0d80118931fd951d2.1748905952.git.sam@gentoo.org> -References: <089e4f426502a620deb9efc0d80118931fd951d2.1748905952.git.sam@gentoo.org> -From: Jason Merrill -Date: Mon, 2 Jun 2025 10:59:02 -0400 -Subject: [PATCH 3/4] c++: constinit diagnostic regression [PR120506] - -In r16-57 I thought it was unnecessary to mention incomplete initialization -after another diagnostic, but actually it's useful elaboration. - - PR c++/120506 - -gcc/cp/ChangeLog: - - * constexpr.cc (cxx_eval_outermost_constant_expr): Always check - CONSTRUCTOR_NO_CLEARING. - -gcc/testsuite/ChangeLog: - - * g++.dg/cpp2a/constinit21.C: New test. ---- - gcc/cp/constexpr.cc | 3 +-- - gcc/testsuite/g++.dg/cpp2a/constinit21.C | 28 ++++++++++++++++++++++++ - 2 files changed, 29 insertions(+), 2 deletions(-) - create mode 100644 gcc/testsuite/g++.dg/cpp2a/constinit21.C - -diff --git a/gcc/cp/constexpr.cc b/gcc/cp/constexpr.cc -index 61481c6f7a02..c107b338344c 100644 ---- a/gcc/cp/constexpr.cc -+++ b/gcc/cp/constexpr.cc -@@ -9278,8 +9278,7 @@ cxx_eval_outermost_constant_expr (tree t, bool allow_non_constant, - - /* After verify_constant because reduced_constant_expression_p can unset - CONSTRUCTOR_NO_CLEARING. */ -- if (!non_constant_p -- && TREE_CODE (r) == CONSTRUCTOR && CONSTRUCTOR_NO_CLEARING (r)) -+ if (TREE_CODE (r) == CONSTRUCTOR && CONSTRUCTOR_NO_CLEARING (r)) - { - if (!allow_non_constant) - error ("%qE is not a constant expression because it refers to " -diff --git a/gcc/testsuite/g++.dg/cpp2a/constinit21.C b/gcc/testsuite/g++.dg/cpp2a/constinit21.C -new file mode 100644 -index 000000000000..18bca9012024 ---- /dev/null -+++ b/gcc/testsuite/g++.dg/cpp2a/constinit21.C -@@ -0,0 +1,28 @@ -+// PR c++/120506 -+// { dg-do compile { target c++20 } } -+// Test that we give more information about why the init is non-constant -+ -+struct A -+{ -+ constexpr A(int c) : counter(c) { } -+ -+ int counter; -+}; -+ -+ -+struct B : A -+{ -+ constexpr B(int c) : A(c) { } -+ -+ int i; // OOPS, not initialized -+}; -+ -+struct C -+{ -+ B sem; -+ -+ constexpr C(int c) : sem(c) { } -+}; -+ -+constinit C s(0); // { dg-error "incompletely initialized" } -+// { dg-prune-output "constant" } --- -2.49.0 - diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0004-c-more-__is_destructible-fixes-PR107600.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0004-c-more-__is_destructible-fixes-PR107600.patch deleted file mode 100644 index 1cc68e2230..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0004-c-more-__is_destructible-fixes-PR107600.patch +++ /dev/null @@ -1,71 +0,0 @@ -From f712fd80cb1c29b1111184c2e9c1784861d0f788 Mon Sep 17 00:00:00 2001 -Message-ID: -In-Reply-To: <089e4f426502a620deb9efc0d80118931fd951d2.1748905952.git.sam@gentoo.org> -References: <089e4f426502a620deb9efc0d80118931fd951d2.1748905952.git.sam@gentoo.org> -From: Jason Merrill -Date: Mon, 2 Jun 2025 14:58:42 -0400 -Subject: [PATCH 4/4] c++: more __is_destructible fixes [PR107600] - - PR c++/107600 - -gcc/cp/ChangeLog: - - * method.cc (destructible_expr): Fix refs and arrays of unknown - bound. - -gcc/testsuite/ChangeLog: - - * g++.dg/ext/is_destructible2.C: Add more cases. ---- - gcc/cp/method.cc | 11 ++++++++++- - gcc/testsuite/g++.dg/ext/is_destructible2.C | 9 +++++++++ - 2 files changed, 19 insertions(+), 1 deletion(-) - -diff --git a/gcc/cp/method.cc b/gcc/cp/method.cc -index bb6790f13cdb..67a80a387ba7 100644 ---- a/gcc/cp/method.cc -+++ b/gcc/cp/method.cc -@@ -2332,13 +2332,22 @@ constructible_expr (tree to, tree from) - return expr; - } - --/* Return declval().~T() treated as an unevaluated operand. */ -+/* Valid if "Either T is a reference type, or T is a complete object type for -+ which the expression declval().~U() is well-formed when treated as an -+ unevaluated operand ([expr.context]), where U is remove_all_extents_t." -+ -+ For a class U, return the destructor call; otherwise return void_node if -+ valid or error_mark_node if not. */ - - static tree - destructible_expr (tree to) - { - cp_unevaluated cp_uneval_guard; - int flags = LOOKUP_NORMAL|LOOKUP_DESTRUCTOR; -+ if (TYPE_REF_P (to)) -+ return void_node; -+ if (!COMPLETE_TYPE_P (complete_type (to))) -+ return error_mark_node; - to = strip_array_types (to); - if (CLASS_TYPE_P (to)) - { -diff --git a/gcc/testsuite/g++.dg/ext/is_destructible2.C b/gcc/testsuite/g++.dg/ext/is_destructible2.C -index 7f15fc786848..2edf440ef44b 100644 ---- a/gcc/testsuite/g++.dg/ext/is_destructible2.C -+++ b/gcc/testsuite/g++.dg/ext/is_destructible2.C -@@ -13,3 +13,12 @@ static_assert( __is_assignable(A, A) ); - static_assert( not __is_destructible(int()) ); - static_assert( not __is_nothrow_destructible(int()) ); - static_assert( not __is_trivially_destructible(int()) ); -+static_assert( __is_destructible(int&) ); -+static_assert( __is_destructible(int&&) ); -+static_assert( __is_destructible(int(&)[1]) ); -+static_assert( __is_destructible(const int(&)[1]) ); -+static_assert( __is_destructible(void(&)()) ); -+static_assert( not __is_destructible(int[]) ); -+static_assert( not __is_destructible(const int[]) ); -+static_assert( not __is_destructible(int[][1]) ); -+static_assert( not __is_destructible(const int[][1]) ); --- -2.49.0 - diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-16.0.0_p20250622-ext-dce.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-16.0.0_p20250622-ext-dce.patch new file mode 100644 index 0000000000..9915d355a9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-16.0.0_p20250622-ext-dce.patch @@ -0,0 +1,41 @@ +https://gcc.gnu.org/PR120795 +https://gcc.gnu.org/cgit/gcc/commit/?id=cdd678544fefc313cb1c9da0327158d3ed355f62 + +From cdd678544fefc313cb1c9da0327158d3ed355f62 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Mon, 23 Jun 2025 23:28:01 +0100 +Subject: Fixup dropping REG_EQUAL note in ext-dce + +Followup to r16-1613-g34e1e5e33ec3eb. remove_reg_equal_equiv_notes's +2nd argument is 'no_rescan' which we accidentally had on, tripping +an assert in combine or ira because we hadn't left things in a consistent +state. + +Fix the thinko by enabling rescanning. + +gcc/ChangeLog: + PR rtl-optimization/120795 + + * ext-dce.cc (ext_dce_try_optimize_insn): Enable rescan in + remove_reg_equal_equiv_notes call. + +Co-authored-by: Jeff Law +--- + gcc/ext-dce.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gcc/ext-dce.cc b/gcc/ext-dce.cc +index b1d5ee4b36c4..df17b018bf1f 100644 +--- a/gcc/ext-dce.cc ++++ b/gcc/ext-dce.cc +@@ -446,7 +446,7 @@ ext_dce_try_optimize_insn (rtx_insn *insn, rtx set) + /* INSN may have a REG_EQUAL note indicating that the value was + sign or zero extended. That note is no longer valid since we've + just removed the extension. Just wipe the notes. */ +- remove_reg_equal_equiv_notes (insn, true); ++ remove_reg_equal_equiv_notes (insn, false); + } + else + { +-- +cgit diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.1.1_p20250607.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250618.ebuild similarity index 72% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.1.1_p20250607.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250618.ebuild index 60e2fc3636..b56179223d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.1.1_p20250607.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250618.ebuild @@ -8,13 +8,25 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="15.1.0" -PATCH_VER="1" +PATCH_GCC_VER="12.4.0" +PATCH_VER="3" MUSL_VER="1" -MUSL_GCC_VER="15.1.0" +MUSL_GCC_VER="12.4.0" PYTHON_COMPAT=( python3_{10..14} ) -if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then +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} @@ -27,10 +39,10 @@ inherit toolchain if tc_is_live ; then # Needs to be after inherit (for now?), bug #830908 - EGIT_BRANCH=master + 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 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + #KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" :; fi @@ -51,6 +63,6 @@ src_prepare() { 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-12.4.1_p20250625.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250625.ebuild new file mode 100644 index 0000000000..b56179223d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250625.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..14} ) + +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-16.0.0_p20250601-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20250619.ebuild similarity index 77% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250601-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20250619.ebuild index 38b0634bd9..bb96cde3f4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250601-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20250619.ebuild @@ -8,13 +8,25 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="16.0.0" -PATCH_VER="3" -MUSL_VER="1" -MUSL_GCC_VER="16.0.0" +PATCH_GCC_VER="13.3.0" +MUSL_GCC_VER="13.2.0" +PATCH_VER="5" +MUSL_VER="2" PYTHON_COMPAT=( python3_{10..14} ) -if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then +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} @@ -27,7 +39,7 @@ inherit toolchain if tc_is_live ; then # Needs to be after inherit (for now?), bug #830908 - EGIT_BRANCH=master + 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" @@ -51,10 +63,7 @@ src_prepare() { done toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch - eapply "${FILESDIR}"/0001-c-__has_trivial_destructor-regression.patch - eapply "${FILESDIR}"/0002-c-__is_destructible-fixes-PR107600.patch - eapply "${FILESDIR}"/0003-c-constinit-diagnostic-regression-PR120506.patch - eapply "${FILESDIR}"/0004-c-more-__is_destructible-fixes-PR107600.patch eapply_user } diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20250626.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20250626.ebuild new file mode 100644 index 0000000000..bb96cde3f4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20250626.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="5" +MUSL_VER="2" +PYTHON_COMPAT=( python3_{10..14} ) + +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.3.1_p20250530.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20250620.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20250530.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20250620.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20250606.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20250627.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20250606.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20250627.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.1.1_p20250524.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.1.1_p20250621.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.1.1_p20250524.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.1.1_p20250621.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.1.1_p20250531.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.1.1_p20250628.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.1.1_p20250531.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.1.1_p20250628.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250525.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250622-r1.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250525.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250622-r1.ebuild index 031efdb451..cdc9f578c8 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250525.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250622-r1.ebuild @@ -9,7 +9,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="16.0.0" -PATCH_VER="2" +PATCH_VER="3" MUSL_VER="1" MUSL_GCC_VER="16.0.0" PYTHON_COMPAT=( python3_{10..14} ) @@ -52,5 +52,6 @@ src_prepare() { toolchain_src_prepare eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply "${FILESDIR}"/${P}-ext-dce.patch eapply_user } diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250601.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250622.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250601.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250622.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250608.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250629.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250608.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250629.ebuild index 0e25c3f620..684c97f7bd 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250608.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20250629.ebuild @@ -9,7 +9,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="16.0.0" -PATCH_VER="3" +PATCH_VER="4" MUSL_VER="1" MUSL_GCC_VER="16.0.0" PYTHON_COMPAT=( python3_{10..14} ) From 377ba157d67be8a4f1c7ba885c98e4488c918a0c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:38 +0000 Subject: [PATCH 094/131] sys-fs/btrfs-progs: Sync with Gentoo It's from Gentoo commit 51b00a9549bdbae14da1b48b5f465e3470da93bd. --- .../sys-fs/btrfs-progs/Manifest | 2 + .../btrfs-progs/btrfs-progs-6.15.ebuild | 188 ++++++++++++++++++ .../btrfs-progs/btrfs-progs-9999.ebuild | 4 +- 3 files changed, 192 insertions(+), 2 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-6.15.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/Manifest index 73f45cfa6c..d06fe5b665 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/Manifest @@ -4,3 +4,5 @@ DIST btrfs-progs-v6.13.tar.sign 566 BLAKE2B 12424d4f076a0b1e007f367c803c0308c456 DIST btrfs-progs-v6.13.tar.xz 2731048 BLAKE2B aaf536e17977c052dd0828501f5a91b85403d561301f10d8c7bf2f5abae30a323f781ef8727f8ca48efc6edf16000b3ee8435fd6a89d6d047dda289ad87e3f64 SHA512 c91e99beb554320e75bcef027ae918993ed8e08a5fe774ff55bf63cde2c64802676c8678ff09d2678aa084166f178efd2b64ed00821d0908a1435e9eaea74422 DIST btrfs-progs-v6.14.tar.sign 566 BLAKE2B ddb860fa18cb56e7b460949c54c097e11bd08675e661d954aba353e412e714e5d3dbaecc0f97aa11787cb8b665a4a7549cfc7d779b596fe15324d45bae1d8a20 SHA512 c1092a0992e945b4820de4e80adc5681e9a2bf435b5defb0b8c44b3bb210c07b38dd446a40ce19955fa1616b546d40f568c537410fe4eda8f2f1657e2d3bfb3e DIST btrfs-progs-v6.14.tar.xz 2739548 BLAKE2B fae9bdbacc093ba260d7740001eef98f4ffb72c30631c789a34fbd5f34283cbdfb9f1e6b2f6112fb769b90892b47ea2bcc0bcdab37748b8d23e3588051620b2a SHA512 becb9e1a95ecd3e0421dd9a4a4fd0bf0e950d6586aa8cc757f97b04392a54a4fd4bcae164a61054087823e610297041b2b79b0c6e827cab8ad804d9877268ee4 +DIST btrfs-progs-v6.15.tar.sign 566 BLAKE2B 002bd309b3c5c0cebea7f2424c775ad369d358731223f0fee2646ed57b4b635cef4561e04eb7bd01321d8da13cea87410626d78433d0e6b44cc6229069553ab1 SHA512 e008df77f2791468ca02c5acf68df5904219646bc55c129db9b75aff3212893824bcfbb1fb5cdf404f1f366d05c7fd1566419a5fadc6057b484f408c0f37dfb8 +DIST btrfs-progs-v6.15.tar.xz 4933176 BLAKE2B 5e79b7606fb236bc21e5b2401f5d6b27ad0ffb1b8ceef3ed9c7042b384508b1e1cc2a3a451d94e5369fa1592d91da78264caabe74bf1d907ac8e513a86b6fed8 SHA512 415cf222ae6a219123cdac5f99d4b8346a9f9c57e9e5b109a5198c287d1a00273a3651ce7f38f330d9d81c5a6293cfb5fedcc34c2a03a8be925caa3546a50dad diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-6.15.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-6.15.ebuild new file mode 100644 index 0000000000..45d288067d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-6.15.ebuild @@ -0,0 +1,188 @@ +# Copyright 2008-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with dev-python/btrfsutil + +PYTHON_COMPAT=( python3_{11..14} ) +inherit bash-completion-r1 python-any-r1 udev + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git" + EGIT_BRANCH="devel" + WANT_LIBTOOL="none" + inherit autotools git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/dsterba.asc + inherit verify-sig + + MY_PV="v${PV/_/-}" + MY_P="${PN}-${MY_PV}" + SRC_URI=" + https://mirrors.edge.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.xz + verify-sig? ( https://mirrors.edge.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.sign ) + " + S="${WORKDIR}"/${PN}-${MY_PV} + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + fi +fi + +DESCRIPTION="Btrfs filesystem utilities" +HOMEPAGE="https://btrfs.readthedocs.io/en/latest/" + +LICENSE="GPL-2" +SLOT="0/0" # libbtrfs soname +IUSE="+convert +man experimental reiserfs static static-libs udev +zstd" +# Could support it with just !systemd => eudev, see mdadm, but let's +# see if someone asks for it first. +REQUIRED_USE="static? ( !udev )" + +# Tries to mount repaired filesystems +RESTRICT="test" + +RDEPEND=" + dev-libs/lzo:2= + sys-apps/util-linux:=[static-libs(+)?] + sys-libs/zlib:= + convert? ( + sys-fs/e2fsprogs:= + reiserfs? ( + >=sys-fs/reiserfsprogs-3.6.27 + ) + ) + udev? ( virtual/libudev:= ) + zstd? ( app-arch/zstd:= ) +" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-5.10 + convert? ( sys-apps/acl ) + static? ( + dev-libs/lzo:2[static-libs(+)] + sys-apps/util-linux:0[static-libs(+)] + sys-libs/zlib:0[static-libs(+)] + convert? ( + sys-fs/e2fsprogs[static-libs(+)] + reiserfs? ( + >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)] + ) + ) + zstd? ( app-arch/zstd[static-libs(+)] ) + ) +" +BDEPEND=" + virtual/pkgconfig + man? ( + $(python_gen_any_dep 'dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]') + ) +" + +python_check_deps() { + python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" && + python_has_version "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" +} + +if [[ ${PV} == 9999 ]]; then + BDEPEND+=" sys-devel/gnuconfig" +else + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-dsterba )" +fi + +pkg_setup() { + : # Prevent python-any-r1_python_setup +} + +if [[ ${PV} != 9999 ]]; then + src_unpack() { + # Upstream sign the decompressed .tar + if use verify-sig; then + einfo "Unpacking ${MY_P}.tar.xz ..." + verify-sig_verify_detached - "${DISTDIR}"/${MY_P}.tar.sign \ + < <(xz -cd "${DISTDIR}"/${MY_P}.tar.xz | tee >(tar -xf -)) + assert "Unpack failed" + else + default + fi + } +fi + +src_prepare() { + default + + if [[ ${PV} == 9999 ]]; then + local AT_M4DIR=config + eautoreconf + + local automakedir="$(autotools_run_tool --at-output automake --print-libdir)" + [[ -e ${automakedir} ]] || die "Could not locate automake directory" + + ln -s "${automakedir}"/install-sh config/install-sh || die + ln -s "${BROOT}"/usr/share/gnuconfig/config.guess config/config.guess || die + ln -s "${BROOT}"/usr/share/gnuconfig/config.sub config/config.sub || die + fi +} + +src_configure() { + local myeconfargs=( + --bindir="${EPREFIX}"/sbin + + --enable-lzo + $(use_enable experimental) + --disable-python + $(use_enable convert) + $(use_enable man documentation) + $(use_enable elibc_glibc backtrace) + $(use_enable static-libs static) + $(use_enable udev libudev) + $(use_enable zstd) + + # Could support libgcrypt, libsodium, libkcapi, openssl, botan + --with-crypto=builtin + --with-convert=ext2$(usev reiserfs ',reiserfs') + ) + + export EXTRA_PYTHON_CFLAGS="${CFLAGS}" + export EXTRA_PYTHON_LDFLAGS="${LDFLAGS}" + + if use man; then + python_setup + fi + + # bash as a temporary workaround for https://github.com/kdave/btrfs-progs/pull/721 + CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}" +} + +src_compile() { + emake V=1 all $(usev static) +} + +src_test() { + emake V=1 -j1 -C tests test +} + +src_install() { + local makeargs=( + $(usev static install-static) + ) + + emake V=1 DESTDIR="${D}" install "${makeargs[@]}" + + if use experimental; then + exeinto /sbin + doexe btrfs-corrupt-block + fi + + newbashcomp btrfs-completion btrfs +} + +pkg_postinst() { + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild index 757755270a..45d288067d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild @@ -1,11 +1,11 @@ -# Copyright 2008-2024 Gentoo Authors +# Copyright 2008-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 # Please bump with dev-python/btrfsutil -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit bash-completion-r1 python-any-r1 udev if [[ ${PV} == 9999 ]]; then From 78e54d0bd6203ee0a8f17bad56531a62fd7c1dc9 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:38 +0000 Subject: [PATCH 095/131] sys-fs/cryptsetup: Sync with Gentoo It's from Gentoo commit 4ea2d59562d0ec6dec3772a3b5223f5ed9b9289a. --- .../portage-stable/sys-fs/cryptsetup/Manifest | 1 + .../sys-fs/cryptsetup/cryptsetup-2.8.0.ebuild | 153 ++++++++++++++++++ 2 files changed, 154 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/Manifest index a39f73cf85..a843195e0a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/Manifest @@ -1 +1,2 @@ DIST cryptsetup-2.7.5.tar.xz 11697476 BLAKE2B 7df7b53f74cbf1a009d2804b8d85c9fea27be994bb4171e1ded70e3666635fd8f265819321bee0d1977548626029ebf75b87225a68cb38b3b79910f991c813dd SHA512 13eca93cdb00a143d2ca60b6f66ede5adc4072ca0c4bfebd8454a3541e69d269fcdb4afc97ad799e87a999b2bd46c1f31fa924a3d616d72a3337970b1e718d55 +DIST cryptsetup-2.8.0.tar.xz 11794404 BLAKE2B 8f048b4ab87c46f4b459e7eccc2b3e9099a3e22040524b0513989d2a4552bc5dd8b7406ee28b25e7da00121e0d29b9f146f9b6e2384a05bc7a2abbaf14f11876 SHA512 4a41720fdf7f35693b31e68ef6dda7dbdd050252e7f33f3889f9272b708d40b8bde8ecca5e0c917d51bd3f2c82a7bd304829d56bc8ac423ca005155611f42211 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.0.ebuild new file mode 100644 index 0000000000..817e5f8061 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.0.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# TODO: meson (not just yet as of 2.8.0, see https://gitlab.com/cryptsetup/cryptsetup/-/issues/949#note_2585304492) +inherit linux-info tmpfiles + +DESCRIPTION="Tool to setup encrypted devices with dm-crypt" +HOMEPAGE="https://gitlab.com/cryptsetup/cryptsetup" +SRC_URI="https://www.kernel.org/pub/linux/utils/${PN}/v$(ver_cut 1-2)/${P/_/-}.tar.xz" +S="${WORKDIR}"/${P/_/-} + +LICENSE="GPL-2+" +SLOT="0/12" # libcryptsetup.so version +if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +CRYPTO_BACKENDS="gcrypt kernel nettle +openssl" +# we don't support nss since it doesn't allow cryptsetup to be built statically +# and it's missing ripemd160 support so it can't provide full backward compatibility +IUSE="${CRYPTO_BACKENDS} +argon2 fips nls pwquality passwdqc ssh static static-libs test +udev urandom" +RESTRICT="!test? ( test )" +# bug #496612, bug #832711, bug #843863 +REQUIRED_USE=" + ?? ( pwquality passwdqc ) + ^^ ( ${CRYPTO_BACKENDS//+/} ) + static? ( !ssh !udev !fips ) + static-libs? ( !passwdqc ) + fips? ( !kernel !nettle ) +" + +LIB_DEPEND=" + dev-libs/json-c:=[static-libs(+)] + dev-libs/popt[static-libs(+)] + >=sys-apps/util-linux-2.31-r1[static-libs(+)] + argon2? ( app-crypt/argon2:=[static-libs(+)] ) + gcrypt? ( + dev-libs/libgcrypt:0=[static-libs(+)] + dev-libs/libgpg-error[static-libs(+)] + ) + nettle? ( >=dev-libs/nettle-2.4[static-libs(+)] ) + openssl? ( dev-libs/openssl:0=[static-libs(+)] ) + pwquality? ( dev-libs/libpwquality[static-libs(+)] ) + passwdqc? ( sys-auth/passwdqc ) + ssh? ( net-libs/libssh[static-libs(+)] ) + sys-fs/lvm2[static-libs(+)] +" +# We have to always depend on ${LIB_DEPEND} rather than put behind +# !static? () because we provide a shared library which links against +# these other packages. bug #414665 +RDEPEND=" + static-libs? ( ${LIB_DEPEND} ) + ${LIB_DEPEND//\[static-libs\([+-]\)\]} + udev? ( virtual/libudev:= ) +" +DEPEND=" + ${RDEPEND} + static? ( ${LIB_DEPEND} ) +" +# vim-core needed for xxd in tests +BDEPEND=" + virtual/pkgconfig + test? ( app-editors/vim-core ) +" + +pkg_setup() { + local CONFIG_CHECK="~DM_CRYPT ~CRYPTO ~CRYPTO_CBC ~CRYPTO_SHA256" + local WARNING_DM_CRYPT="CONFIG_DM_CRYPT:\tis not set (required for cryptsetup)\n" + local WARNING_CRYPTO_SHA256="CONFIG_CRYPTO_SHA256:\tis not set (required for cryptsetup)\n" + local WARNING_CRYPTO_CBC="CONFIG_CRYPTO_CBC:\tis not set (required for kernel 2.6.19)\n" + local WARNING_CRYPTO="CONFIG_CRYPTO:\tis not set (required for cryptsetup)\n" + check_extra_config +} + +src_prepare() { + default + + sed -i '/^LOOPDEV=/s:$: || exit 0:' tests/{compat,mode}-test || die +} + +src_configure() { + local myeconfargs=( + --disable-internal-argon2 + --disable-asciidoc + --enable-shared + --sbindir="${EPREFIX}"/sbin + # for later use + --with-default-luks-format=LUKS2 + --with-tmpfilesdir="${EPREFIX}/usr/lib/tmpfiles.d" + --with-crypto_backend=$(for x in ${CRYPTO_BACKENDS//+/} ; do usev ${x} ; done) + $(use_enable argon2 libargon2) + $(use_enable nls) + $(use_enable pwquality) + $(use_enable passwdqc) + $(use_enable !static external-tokens) + $(use_enable static static-cryptsetup) + $(use_enable static-libs static) + $(use_enable udev) + $(use_enable !urandom dev-random) + $(use_enable ssh ssh-token) + $(usev !argon2 '--with-luks2-pbkdf=pbkdf2') + $(use_enable fips) + ) + + econf "${myeconfargs[@]}" +} + +src_test() { + if [[ ! -e /dev/mapper/control ]] ; then + ewarn "No /dev/mapper/control found -- skipping tests" + return 0 + fi + + local p + for p in /dev/mapper /dev/loop* ; do + addwrite ${p} + done + + default +} + +src_install() { + default + + if use static ; then + mv "${ED}"/sbin/cryptsetup{.static,} || die + mv "${ED}"/sbin/veritysetup{.static,} || die + mv "${ED}"/sbin/integritysetup{.static,} || die + + if use ssh ; then + mv "${ED}"/sbin/cryptsetup-ssh{.static,} || die + fi + fi + + find "${ED}" -type f -name "*.la" -delete || die + + dodoc docs/v*ReleaseNotes + + newconfd "${FILESDIR}"/2.4.3-dmcrypt.confd dmcrypt + newinitd "${FILESDIR}"/2.4.3-dmcrypt.rc dmcrypt +} + +pkg_postinst() { + tmpfiles_process cryptsetup.conf + + if use kernel ; then + ewarn "Note that kernel backend is very slow for this type of operation" + ewarn "and is provided mainly for embedded systems wanting to avoid" + ewarn "userspace crypto libraries." + fi +} From 0a9873a6fb5b9d67ccdf36cd0196319b8d9f585b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:41 +0000 Subject: [PATCH 096/131] sys-fs/fuse: Sync with Gentoo It's from Gentoo commit 6b44ac9d168a7aad5b6eb54a0a3c0f3c65adc78b. --- .../third_party/portage-stable/sys-fs/fuse/fuse-3.17.2.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.2.ebuild index a2232f1992..2d9f79cbfd 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.2.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/libfuse/libfuse/releases/download/${P}/${P}.tar.gz" LICENSE="GPL-2 LGPL-2.1" SLOT="3/4" -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" IUSE="+suid test" RESTRICT="test" PROPERTIES="test_privileged" From 8ae60908fcdb6f70fbe9b39c09184bfc8d61ce40 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:48 +0000 Subject: [PATCH 097/131] sys-fs/lxcfs: Sync with Gentoo It's from Gentoo commit cc31b58976df2324d52d799ad8e9c4f6ab9d50f4. --- .../portage-stable/sys-fs/lxcfs/Manifest | 2 - .../sys-fs/lxcfs/lxcfs-6.0.3-r1.ebuild | 80 ------------------- 2 files changed, 82 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.3-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/Manifest index bd1e1f8ea1..4b49440980 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/Manifest @@ -1,6 +1,4 @@ DIST lxcfs-5.0.4.tar.gz 104249 BLAKE2B 83a7b861136c34da8a24dd525fd0767193f2bbd92b40e3b9fd5e42d7645465411792e65e95797ab13b33330299d12b19bdd5786352875ed88ac0097b72b711a9 SHA512 b404045dbabe23e1d1f1d74c1648d2596bb70aaa9f9e46f9f5635b0a02d0c451f68b2559920bbefc5b889e908cf1da0a33c148b26bdce3e45c3d0cbdff710604 DIST lxcfs-5.0.4.tar.gz.asc 833 BLAKE2B aff883d24b374b296ea3678670e5e82c723fd0e35cfd7fed555aabbd811a104becc0b741331b4aa4a5129c9fff4dc88c6a86e7d64a89fe86aea81718f5d432dd SHA512 56b639597dbaf3008fe030147ea37192bd465c467a79e11ce139bcaa6bca1625b4bb9c4eda6ea1877446769f0fad9b4c5a3513d4f4415b841db96d5da8325ddc -DIST lxcfs-6.0.3.tar.gz 106684 BLAKE2B 358033df95b52c6b04f5f622eb89e1f62f4f86098d9478b2643c83c3b62c5a6d1429c34b37b7d6241b522ec1d0ec8f8922c01a990cfb75b0b022b00720ded1d3 SHA512 c32941ccdba5906f5542b393077ea6cad9d5cd83eab38692c22614c19fec4f0fe95d3428ae7a49f6e9e9e1879db3479a2a09f37755d2c45c8230b099986eec2d -DIST lxcfs-6.0.3.tar.gz.asc 833 BLAKE2B 202b5539f5d4621e0d2071aaa861976af801a6c5c49bf921acd9015923bf8201178273aa79d7b69b51d7fa1abb0112a4960452e86d7d340b752b2f8d4bb2c559 SHA512 dd27747d56cddb6e0057232a9a451f5d08d812aa73fe70633d31ce38d650dcbdda3e6f195aad3d591dd4ba3ad7cdf658b0bb1ce55b660d26d315ad598d44a74e DIST lxcfs-6.0.4.tar.gz 106751 BLAKE2B 4f05cb5e31ed1f313eeb42ac7cc9e68031011af363992e9d15266d7c831fb83078821a42181142cb58418dc87b6ae71ccd79559e0c77c19b5810cb2f5dde98ab SHA512 27e27dd14e3ab6d6f33b78f3316d1d15ccdb5af76fd3631770fe8ff4e1d1a3cc6d7a8009a604660fccc63e4fa5f1601c6505f66ab76c11dcfcddd3baf7ff173b DIST lxcfs-6.0.4.tar.gz.asc 833 BLAKE2B 71d552694273e6b3fbeaa4fd2a07ad783ca66824fa7fef69ba79a343b65e57295a702efe580c17e77c6fdb3f79364e98206a099ef3ac99b1d1238178cd343e20 SHA512 fecc002f39f841f3ffbfd7c543cdfed61b9276e962a75230b2962a36bbef04f5444481bb1409ba38ed8f619d0887313f1cc84389f64755d6168c017f68bbaeb2 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.3-r1.ebuild deleted file mode 100644 index e75cae6c0b..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.3-r1.ebuild +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright 2022-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..13} ) - -inherit cmake meson python-any-r1 systemd verify-sig - -DESCRIPTION="FUSE filesystem for LXC" -HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/" -SRC_URI="https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz - verify-sig? ( https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz.asc )" - -LICENSE="Apache-2.0 LGPL-2+" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~riscv ~x86" -IUSE="doc test" - -DEPEND="sys-fs/fuse:3=" -RDEPEND="${DEPEND}" -BDEPEND="${PYTHON_DEPS} - virtual/pkgconfig - $(python_gen_any_dep ' - dev-python/jinja2[${PYTHON_USEDEP}] - ') - doc? ( sys-apps/help2man ) - verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" - -# Needs some black magic to work inside container/chroot. -RESTRICT="test" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc - -python_check_deps() { - python_has_version -b "dev-python/jinja2[${PYTHON_USEDEP}]" -} - -pkg_setup() { - python-any-r1_pkg_setup -} - -src_prepare() { - default - - # Fix python shebangs for python-exec[-native-symlinks], #851480 - local shebangs=($(grep -rl "#!/usr/bin/env python3" || die)) - python_fix_shebang -q ${shebangs[*]} -} - -src_configure() { - local emesonargs=( - --localstatedir "${EPREFIX}/var" - - $(meson_use doc docs) - $(meson_use test tests) - - -Dfuse-version=3 - -Dinit-script="" - -Dwith-init-script="" - ) - - meson_src_configure -} - -src_test() { - cd "${BUILD_DIR}"/tests || die "failed to change into tests/ directory." - ./main.sh || die -} - -src_install() { - meson_src_install - - newconfd "${FILESDIR}"/lxcfs-5.0.2.confd lxcfs - newinitd "${FILESDIR}"/lxcfs-5.0.2.initd lxcfs - - # Provide our own service file (copy of upstream) due to paths being different from upstream, - # #728470 - systemd_newunit "${FILESDIR}"/lxcfs-5.0.2.service lxcfs.service -} From 75a2472803a694490af000359e28f1e106f552c8 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:50 +0000 Subject: [PATCH 098/131] sys-fs/squashfs-tools: Sync with Gentoo It's from Gentoo commit fd9f1d98700c206ddd5b374319f57a18aecc9d35. --- .../squashfs-tools-4.7-missing-includes.patch | 37 +++++++++++++++++++ .../squashfs-tools/squashfs-tools-4.7.ebuild | 7 +++- 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/squashfs-tools/files/squashfs-tools-4.7-missing-includes.patch diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/squashfs-tools/files/squashfs-tools-4.7-missing-includes.patch b/sdk_container/src/third_party/portage-stable/sys-fs/squashfs-tools/files/squashfs-tools-4.7-missing-includes.patch new file mode 100644 index 0000000000..6fba4aa9c1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/squashfs-tools/files/squashfs-tools-4.7-missing-includes.patch @@ -0,0 +1,37 @@ +From https://github.com/plougher/squashfs-tools/pull/314 (merged) +From 05a895b3f996d1ac157d95b04980f5f047e7dbf7 Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Fri, 6 Jun 2025 15:23:07 +0100 +Subject: [PATCH] print_pager: add missing includes + +When building with musl: + + print_pager.h:33:25: error: unknown type name 'pid_t' + 33 | extern void wait_to_die(pid_t process); + | ^~~~~ + print_pager.h:34:25: error: unknown type name 'pid_t' + 34 | extern FILE *exec_pager(pid_t *process); + | ^~~~~ + +print_pager.h uses pid_t and FILE, so add the required #includes to +ensure that these are defined. + +Signed-off-by: Ross Burton +--- + squashfs-tools/print_pager.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/squashfs-tools/print_pager.h b/squashfs-tools/print_pager.h +index c33d4d2e..f3e0da6c 100644 +--- a/squashfs-tools/print_pager.h ++++ b/squashfs-tools/print_pager.h +@@ -30,6 +30,9 @@ + #define MORE_PAGER 2 + #define UNKNOWN_PAGER 3 + ++#include ++#include ++ + extern void wait_to_die(pid_t process); + extern FILE *exec_pager(pid_t *process); + extern int get_column_width(); diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/squashfs-tools/squashfs-tools-4.7.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/squashfs-tools/squashfs-tools-4.7.ebuild index 4fbed28844..6c2c566e23 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/squashfs-tools/squashfs-tools-4.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/squashfs-tools/squashfs-tools-4.7.ebuild @@ -14,7 +14,7 @@ SRC_URI=" LICENSE="GPL-2" SLOT="0" -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" IUSE="debug lz4 lzma lzo xattr zstd" DEPEND=" @@ -27,6 +27,11 @@ DEPEND=" " RDEPEND=${DEPEND} +# https://bugs.gentoo.org/958646 +PATCHES=( + "${FILESDIR}/${P}-missing-includes.patch" +) + use10() { usex "${1}" 1 0 } From 581b67210512d7eb7712c41ccade5ed314fdea3f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:51 +0000 Subject: [PATCH 099/131] sys-fs/xfsprogs: Sync with Gentoo It's from Gentoo commit 6b2c89b214263c2b2591e96bbe490d46c66af769. --- .../portage-stable/sys-fs/xfsprogs/Manifest | 4 +- .../files/xfsprogs-5.3.0-libdir.patch | 28 ----- .../sys-fs/xfsprogs/xfsprogs-6.10.1.ebuild | 110 ------------------ ...s-6.11.0.ebuild => xfsprogs-6.15.0.ebuild} | 12 +- .../sys-fs/xfsprogs/xfsprogs-6.8.0.ebuild | 106 ----------------- 5 files changed, 9 insertions(+), 251 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/files/xfsprogs-5.3.0-libdir.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.10.1.ebuild rename sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/{xfsprogs-6.11.0.ebuild => xfsprogs-6.15.0.ebuild} (91%) delete mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.8.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/Manifest index e0299dc3a9..16a50ebc3a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/Manifest @@ -1,6 +1,4 @@ -DIST xfsprogs-6.10.1.tar.xz 1449932 BLAKE2B e9ed15b2d4a9026e0079adfb38578721e13498290a5d9590edae1fd41c9ee0338f9b823568677394952709d82bdc8ade36905a2266ffe64803901adbadfa5643 SHA512 b9fd7b7eaf038772ee4a9602bf38f714db7077731ec8904e0959d28b0103d443be8ae67720869012b90737c1ff440fbce44b3b23b662939c9a90c6d3be3fab08 -DIST xfsprogs-6.11.0.tar.xz 1457084 BLAKE2B 846b25ad36477d71f8f2091ad16699356416f09befbb4250335081d2a8fd78011e9100fbabfb727acdb65520a38c912d9bb9e33b17c222c97de88fd00ab004a9 SHA512 209b479e510e5d5c558430b523bebd90f34b2effeac46f783aad4ec45a9f39998ca1efc67155c54c22e778859968f4b275b0ca6f225603f17ae4cc5c7596a4ca DIST xfsprogs-6.12.0.tar.xz 1471672 BLAKE2B 471832b07bc2cca5bde6e1ac253d151b0889f7b7be75ae322727299a83329899d4c3aac8217b069fee3f7abc6bc964127c35a206b04cb796999497f5ad701f44 SHA512 020810b4a261f4ab4eb94aae813f22b26bb9f17705967198189509e684422361dd80af938e4a77cf326353d5d61d5aeaaee9a34e8a7b8ed1dddd63b7ad1b0510 DIST xfsprogs-6.13.0.tar.xz 1506676 BLAKE2B 98a8b51ba7fb7f58ea292e9c4624ca3c2337d962f832d92549763a85036b8ba0579de0d172465227eb51cc5c51e3b5d4f54144690001ea8b6795b3a43bc41b9b SHA512 9fd73c8585cd295b79b227cd5855407da4b3ea2d40a1ca82e0a93887644b497cced182960bcd8f3c45805dda4a244d1555fd49da5d7e82fe4525d345c766a63a DIST xfsprogs-6.14.0.tar.xz 1543640 BLAKE2B 5ef446b2055356627cd91ebfe9bb07388f9b5a12fd8c530b83980261b2dc3ddfa47f809114f0f238ef787ed687d324abe82427fdc2b3ecc3171d4d06615dd0c4 SHA512 249a64fb5a92ceb9e58b75a270a90773cfe2c90e863d3f9853c14b3eb0f414bf55b8b67c220a1d7386894ef9295622e224977bd3c6600c9dcba826cb4a634f49 -DIST xfsprogs-6.8.0.tar.xz 1367196 BLAKE2B 8c296698da1170bb7ff369c2bf5f156e812ddf43ee817369029ad951d6c1e18c20d093db385b9a523f6cb7ba3e01f8924eb3540b71efa4bec8bf3defe2418562 SHA512 f5b5c6d8da70cc0f3361b3420982aabfabb0bc54b9eb60b93a9aaeedb33a9ecede4061d5c1300b96d7aba7d44a4207672c4a33e115bf0f5c711a151f3fc65e0d +DIST xfsprogs-6.15.0.tar.xz 1550568 BLAKE2B fe6806ac8235c0984055f7b969b11bc0c49ee8bb8f49f7a4c3bf03f1ebf839cccb86cdb6c4946723a1b8007422e057fb7b865cc60081037920e8208cfcab16e9 SHA512 975c9c7fe476b02da50da74eb599f804f2b27a638a74b807e1f69d93d0d150d19bf6d5036601b96febe557a6c51065d8cf22eef5fda92a6d7f084ac1d7647496 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/files/xfsprogs-5.3.0-libdir.patch b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/files/xfsprogs-5.3.0-libdir.patch deleted file mode 100644 index f943817df4..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/files/xfsprogs-5.3.0-libdir.patch +++ /dev/null @@ -1,28 +0,0 @@ -In Gentoo we install libs to /usr/lib* and let gen_usr_ldscript -handle /lib*. - ---- a/include/buildmacros -+++ b/include/buildmacros -@@ -57,9 +57,10 @@ endif - ifeq ($(ENABLE_SHARED),yes) - INSTALL_LTLIB = \ - cd $(TOPDIR)/$(LIBNAME)/.libs; \ -- ../$(INSTALL) -m 755 -d $(PKG_ROOT_LIB_DIR); \ -- ../$(INSTALL) -m 755 -T so_dot_version $(LIBNAME).lai $(PKG_ROOT_LIB_DIR); \ -- ../$(INSTALL) -T so_dot_current $(LIBNAME).lai $(PKG_ROOT_LIB_DIR) -+ ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \ -+ ../$(INSTALL) -m 755 -T so_dot_version $(LIBNAME).lai $(PKG_LIB_DIR); \ -+ ../$(INSTALL) -T so_dot_current $(LIBNAME).lai $(PKG_LIB_DIR); \ -+ ../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_LIB_DIR) - endif - - # Libtool thinks the static and shared libs should be in the same dir, so -@@ -68,7 +69,7 @@ endif - # Other things want the shared libs to appear in /usr/lib, else they'll - # link with the static libs there. So, another symlink to get the .so into - # /usr/lib. --ifeq ($(ENABLE_SHARED),yes) -+ifeq ($(ENABLE_SHARED_HANDLED_BY_gen_usr_ldscript),yes) - INSTALL_LTLIB_DEV = \ - cd $(TOPDIR)/$(LIBNAME)/.libs; \ - ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \ diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.10.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.10.1.ebuild deleted file mode 100644 index 852b52cd49..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.10.1.ebuild +++ /dev/null @@ -1,110 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic systemd udev - -DESCRIPTION="XFS filesystem utilities" -HOMEPAGE="https://xfs.wiki.kernel.org/ https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/" -SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="icu libedit nls selinux static-libs" - -RDEPEND=" - dev-libs/inih - dev-libs/userspace-rcu:= - >=sys-apps/util-linux-2.17.2 - icu? ( dev-libs/icu:= ) - libedit? ( dev-libs/libedit ) -" -DEPEND="${RDEPEND}" -BDEPEND="nls? ( sys-devel/gettext )" -RDEPEND+=" selinux? ( sec-policy/selinux-xfs )" - -src_prepare() { - default - - # Fix doc dir - sed -i \ - -e "/^PKG_DOC_DIR/s:@pkg_name@:${PF}:" \ - include/builddefs.in || die - - # Don't install compressed docs - sed 's@\(CHANGES\)\.gz[[:space:]]@\1 @' -i doc/Makefile || die -} - -src_configure() { - # include/builddefs.in will add FCFLAGS to CFLAGS which will - # unnecessarily clutter CFLAGS (and fortran isn't used) - unset FCFLAGS - - # If set in user env, this breaks configure - unset PLATFORM - - export DEBUG=-DNDEBUG - - # Package is honoring CFLAGS; No need to use OPTIMIZER anymore. - # However, we have to provide an empty value to avoid default - # flags. - export OPTIMIZER=" " - - # Avoid automagic on libdevmapper (bug #709694) - export ac_cv_search_dm_task_create=no - - # bug 903611 - use elibc_musl && append-flags -D_LARGEFILE64_SOURCE - - # Build fails with -O3 (bug #712698) - replace-flags -O3 -O2 - - # Upstream does NOT support --disable-static anymore, - # https://www.spinics.net/lists/linux-xfs/msg30185.html - # https://www.spinics.net/lists/linux-xfs/msg30272.html - local myconf=( - --enable-static - # Doesn't do anything beyond adding -flto (bug #930947). - --disable-lto - # The default value causes double 'lib' - --localstatedir="${EPREFIX}/var" - --with-crond-dir="${EPREFIX}/etc/cron.d" - --with-systemd-unit-dir="$(systemd_get_systemunitdir)" - --with-udev-rule-dir="$(get_udevdir)/rules.d" - $(use_enable icu libicu) - $(use_enable nls gettext) - $(use_enable libedit editline) - ) - - econf "${myconf[@]}" -} - -src_compile() { - emake V=1 -} - -src_install() { - # XXX: There's a missing dep in the install-dev target, so split it - emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install - emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install-dev - - # Not actually used but --localstatedir causes this empty dir - # to be installed. - rmdir "${ED}"/var/lib/xfsprogs "${ED}"/var/lib || die - - if ! use static-libs; then - rm "${ED}/usr/$(get_libdir)/libhandle.a" || die - fi - - find "${ED}" -name '*.la' -delete || die -} - -pkg_postrm() { - udev_reload -} - -pkg_postinst() { - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.11.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.15.0.ebuild similarity index 91% rename from sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.11.0.ebuild rename to sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.15.0.ebuild index eebeded6b0..0df7b2a15b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.11.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.15.0.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz" LICENSE="LGPL-2.1" 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" IUSE="icu libedit nls selinux static-libs" RDEPEND=" @@ -21,7 +21,10 @@ RDEPEND=" icu? ( dev-libs/icu:= ) libedit? ( dev-libs/libedit ) " -DEPEND="${RDEPEND}" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-6.11 +" BDEPEND="nls? ( sys-devel/gettext )" RDEPEND+=" selinux? ( sec-policy/selinux-xfs )" @@ -55,8 +58,9 @@ src_configure() { # Avoid automagic on libdevmapper (bug #709694) export ac_cv_search_dm_task_create=no - # bug 903611 - use elibc_musl && append-flags -D_LARGEFILE64_SOURCE + # bug 903611, 948468 + use elibc_musl && \ + append-flags -D_LARGEFILE64_SOURCE -DOVERRIDE_SYSTEM_STATX # Upstream does NOT support --disable-static anymore, # https://www.spinics.net/lists/linux-xfs/msg30185.html diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.8.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.8.0.ebuild deleted file mode 100644 index 7863115e61..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.8.0.ebuild +++ /dev/null @@ -1,106 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic systemd udev - -DESCRIPTION="XFS filesystem utilities" -HOMEPAGE="https://xfs.wiki.kernel.org/ https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/" -SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="icu libedit nls selinux static-libs" - -RDEPEND=" - dev-libs/inih - dev-libs/userspace-rcu:= - >=sys-apps/util-linux-2.17.2 - icu? ( dev-libs/icu:= ) - libedit? ( dev-libs/libedit ) -" -DEPEND="${RDEPEND}" -BDEPEND="nls? ( sys-devel/gettext )" -RDEPEND+=" selinux? ( sec-policy/selinux-xfs )" - -PATCHES=( - "${FILESDIR}"/${PN}-5.3.0-libdir.patch -) - -src_prepare() { - default - - # Fix doc dir - sed -i \ - -e "/^PKG_DOC_DIR/s:@pkg_name@:${PF}:" \ - include/builddefs.in || die - - # Don't install compressed docs - sed 's@\(CHANGES\)\.gz[[:space:]]@\1 @' -i doc/Makefile || die -} - -src_configure() { - # include/builddefs.in will add FCFLAGS to CFLAGS which will - # unnecessarily clutter CFLAGS (and fortran isn't used) - unset FCFLAGS - - # If set in user env, this breaks configure - unset PLATFORM - - export DEBUG=-DNDEBUG - - # Package is honoring CFLAGS; No need to use OPTIMIZER anymore. - # However, we have to provide an empty value to avoid default - # flags. - export OPTIMIZER=" " - - # Avoid automagic on libdevmapper (bug #709694) - export ac_cv_search_dm_task_create=no - - # bug 903611 - use elibc_musl && append-flags -D_LARGEFILE64_SOURCE - - # Build fails with -O3 (bug #712698) - replace-flags -O3 -O2 - - # Upstream does NOT support --disable-static anymore, - # https://www.spinics.net/lists/linux-xfs/msg30185.html - # https://www.spinics.net/lists/linux-xfs/msg30272.html - local myconf=( - --enable-static - # Doesn't do anything beyond adding -flto (bug #930947). - --disable-lto - --with-crond-dir="${EPREFIX}/etc/cron.d" - --with-systemd-unit-dir="$(systemd_get_systemunitdir)" - --with-udev-rule-dir="$(get_udevdir)/rules.d" - $(use_enable icu libicu) - $(use_enable nls gettext) - $(use_enable libedit editline) - ) - - econf "${myconf[@]}" -} - -src_compile() { - emake V=1 -} - -src_install() { - # XXX: There's a missing dep in the install-dev target, so split it - emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install - emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install-dev - - if ! use static-libs; then - rm "${ED}/usr/$(get_libdir)/libhandle.a" || die - fi -} - -pkg_postrm() { - udev_reload -} - -pkg_postinst() { - udev_reload -} From 5b38c44925082ac1c54b83835f6df3fac72fc0cc Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:51 +0000 Subject: [PATCH 100/131] sys-fs/zfs: Sync with Gentoo It's from Gentoo commit c51f470b270af6bb913ff8d1d48103bb566866d4. --- .../portage-stable/sys-fs/zfs/Manifest | 6 +- .../{zfs-2.3.1.ebuild => zfs-2.2.8.ebuild} | 6 +- .../sys-fs/zfs/zfs-2.3.3.ebuild | 313 ++++++++++++++++++ 3 files changed, 320 insertions(+), 5 deletions(-) rename sdk_container/src/third_party/portage-stable/sys-fs/zfs/{zfs-2.3.1.ebuild => zfs-2.2.8.ebuild} (98%) create mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/Manifest index 7dd806e761..41f18f08a7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/Manifest @@ -2,7 +2,9 @@ DIST zfs-2.1.16.tar.gz 35187215 BLAKE2B 8bb90903f3747589fff94a810584de54d7f598b0 DIST zfs-2.1.16.tar.gz.asc 836 BLAKE2B b46614399ca63d9c88216c55bb2177cc0c28f4da2cb6be3ee361efca994309abff46fdf6ad6b0bad448c44e9e84ee40e2183d1b482e04844317f14744bab5c1f SHA512 d2d94a4e3ffe182e86fa3319cb9661688125f378ffa1e5768ee89033f796a1f52f877c382588fb1f434686e30bc4e65e3f08ceac0dd3dd7f8f751ba6182c3317 DIST zfs-2.2.7.tar.gz 33852602 BLAKE2B 31a066d5d543e3328d1afd065a8da4f9b4c52433d585cdbb41936900fd1453431585c6bc4b6e6d9a497a03e79969bae883e17cf4677099686feb3e32577d2777 SHA512 6493faa8e31d9c042c4e8f748d32cb9243212fdf4e0341c19568b47bcf302e60beb89940b80374610b71e1dca1ca5813f3efaddbf1a2453ceabb38381165b271 DIST zfs-2.2.7.tar.gz.asc 836 BLAKE2B e8fc5e04f5b37a22c741bda46b4573e0cebe85da051c73cf3c5fc267de3c313399b235fc346ca06f4c22d37d2500044a26adb3ea241a65fbcf8760d0ef880039 SHA512 8d22a64c920c2a983429688a340f4ae281decdd30e465591e6b40af9f3016b8f168f4e8ea460600c832a2f46b383ff307986649a645585fb25c34fdfda75ad6e -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.2.8.tar.gz 33852494 BLAKE2B 9e338544488d00a57594d638138896635ea62b80341ad9289b9faad7b899012206fef22e5742e1f5681c58d61d264127ed1e2dfe5aa9b2e9aac2243421c60b11 SHA512 95c203a97032b8ae46cc84e0e6fd68d61e42fb6c6fde7102b04ac85291579c18b1d52b3e93e345a3bc5491bef8bf07b8e7edcbf69cb6222c5d8454a3c83adb11 +DIST zfs-2.2.8.tar.gz.asc 224 BLAKE2B c3a06953c22d1b485fbd030c93ad0e744c50a91e51bbed5bef56090a1da57b02ec580499a419201f365c99ade53af5d6f545876e6d0da25ee7870fc86786288b SHA512 fcd6fe2412b5a2e83ad2609d56993ed4ad61e10c4f77f1e94a66403adf66ac90604fb567e7cde6420fe0b6a604abfd817a63e744f7c4fe8452b862c1d8cc4df3 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 +DIST zfs-2.3.3.tar.gz 34360540 BLAKE2B 4861ddfc91b941448d13d43bb2a023273917064b29880f87d91dbe6424b3f1fc7b0409e13a514d5b3f18f70a383c5d1c462ec5d7b8a7c82b2b076ecd363cecdd SHA512 0a18615da052989c19e889758972f14173e790710a2615fc186212d02f9909f0bf62debc19d85ff5c58411d8ef82aa85aff20804c3fbe2446913cd293a18b80d +DIST zfs-2.3.3.tar.gz.asc 224 BLAKE2B 79cad3883b2ac9dd13b4898f48ef2b637a580e18c65d6f83b834489a35cb31da5ed58cc24afabf3331904e8df54a7f7a825826570470f312ff2370c7fc8f95fc SHA512 07aab3d14ba3f06df2992f08cc68bed3dbf57d59cb151e0a769eeea3dc74c82084be0242b80f5075b59bb036d9277dfd726361422b35e3ed01877317634911b7 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.2.8.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.2.8.ebuild index db548cefc2..e8ee293ae3 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.2.8.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_OPTIONAL=1 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..13} ) inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript @@ -25,7 +25,7 @@ else S="${WORKDIR}/${MY_P}" if [[ ${PV} != *_rc* ]]; then - KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv ~sparc" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc" fi fi @@ -33,7 +33,7 @@ LICENSE="BSD-2 CDDL MIT" # just libzfs soname major for now. # possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered. # see libsoversion_check() below as well -SLOT="0/6" +SLOT="0/5" IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs selinux test-suite unwind" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.3.ebuild new file mode 100644 index 0000000000..0f03de4f37 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.3.ebuild @@ -0,0 +1,313 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintainers should consider lurking in the ZFS IRC channels (there's several) +# and regularly checking ZFS GitHub issues and PRs. Look out for the 'zfs-*' +# stable backport PRs when they're opened and subscribe to them for any important +# cherry-picks that may be needed in advance. + +DISTUTILS_OPTIONAL=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) + +inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript + +DESCRIPTION="Userland utilities for ZFS Linux kernel module" +HOMEPAGE="https://github.com/openzfs/zfs" + +if [[ ${PV} == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/openzfs/zfs.git" +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openzfs.asc + inherit verify-sig + + MY_P="${P/_rc/-rc}" + SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz" + SRC_URI+=" verify-sig? ( https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz.asc )" + S="${WORKDIR}/${MY_P}" + + if [[ ${PV} != *_rc* ]]; then + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc" + fi +fi + +LICENSE="BSD-2 CDDL MIT" +# just libzfs soname major for now. +# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered. +# see libsoversion_check() below as well +SLOT="0/6" +IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs selinux test-suite unwind" + +DEPEND=" + dev-libs/openssl:= + net-libs/libtirpc:= + sys-apps/util-linux + sys-libs/zlib + virtual/libudev:= + !minimal? ( ${PYTHON_DEPS} ) + pam? ( sys-libs/pam ) + python? ( + $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*') + ) + unwind? ( sys-libs/libunwind:= ) +" + +BDEPEND=" + app-alternatives/awk + virtual/pkgconfig + nls? ( sys-devel/gettext ) + python? ( + ${DISTUTILS_DEPS} + || ( + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/distlib[${PYTHON_USEDEP}] + ) + ) +" + +if [[ ${PV} != "9999" ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )" +fi + +# awk is used for some scripts, completions, and the Dracut module +RDEPEND=" + ${DEPEND} + !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= ) + !prefix? ( virtual/udev ) + app-alternatives/awk + sys-fs/udev-init-scripts + dist-kernel? ( virtual/dist-kernel:= ) + rootfs? ( + app-alternatives/cpio + app-misc/pax-utils + ) + selinux? ( sec-policy/selinux-zfs ) + test-suite? ( + app-shells/ksh + sys-apps/kmod[tools] + sys-apps/util-linux + app-alternatives/bc + sys-block/parted + sys-fs/lsscsi + sys-fs/mdadm + sys-process/procps + ) +" + +# PDEPEND in this form is needed to trick portage suggest +# enabling dist-kernel if only 1 package have it set, without suggesting to disable +PDEPEND="dist-kernel? ( ~sys-fs/zfs-kmod-${PV}[dist-kernel] )" + +REQUIRED_USE=" + !minimal? ( ${PYTHON_REQUIRED_USE} ) + python? ( !minimal ) + test-suite? ( !minimal ) +" + +RESTRICT="test" + +PATCHES=( + "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch +) + +pkg_pretend() { + use rootfs || return 0 + + if has_version virtual/dist-kernel && ! use dist-kernel; then + ewarn "You have virtual/dist-kernel installed, but" + ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}" + ewarn "It's recommended to globally enable dist-kernel USE flag" + ewarn "to auto-trigger initrd rebuilds with kernel updates" + fi +} + +pkg_setup() { + if use kernel_linux; then + linux-info_pkg_setup + + if ! linux_config_exists; then + ewarn "Cannot check the linux kernel configuration." + else + if use test-suite; then + if linux_chkconfig_present BLK_DEV_LOOP; then + eerror "The ZFS test suite requires loop device support enabled." + eerror "Please enable it:" + eerror " CONFIG_BLK_DEV_LOOP=y" + eerror "in /usr/src/linux/.config or" + eerror " Device Drivers --->" + 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 +} From c61d238059d2d02ab77e48e1d2b638adb60bdb7f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:51 +0000 Subject: [PATCH 101/131] sys-fs/zfs-kmod: Sync with Gentoo It's from Gentoo commit db66755043c51e685bdf22a043f7795539e9ad0d. --- .../portage-stable/sys-fs/zfs-kmod/Manifest | 6 +- ...mod-2.3.1.ebuild => zfs-kmod-2.2.8.ebuild} | 4 +- .../sys-fs/zfs-kmod/zfs-kmod-2.3.3.ebuild | 207 ++++++++++++++++++ .../sys-fs/zfs-kmod/zfs-kmod-9999.ebuild | 2 +- 4 files changed, 214 insertions(+), 5 deletions(-) rename sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/{zfs-kmod-2.3.1.ebuild => zfs-kmod-2.2.8.ebuild} (98%) create mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.3.3.ebuild 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 7dd806e761..41f18f08a7 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 @@ -2,7 +2,9 @@ DIST zfs-2.1.16.tar.gz 35187215 BLAKE2B 8bb90903f3747589fff94a810584de54d7f598b0 DIST zfs-2.1.16.tar.gz.asc 836 BLAKE2B b46614399ca63d9c88216c55bb2177cc0c28f4da2cb6be3ee361efca994309abff46fdf6ad6b0bad448c44e9e84ee40e2183d1b482e04844317f14744bab5c1f SHA512 d2d94a4e3ffe182e86fa3319cb9661688125f378ffa1e5768ee89033f796a1f52f877c382588fb1f434686e30bc4e65e3f08ceac0dd3dd7f8f751ba6182c3317 DIST zfs-2.2.7.tar.gz 33852602 BLAKE2B 31a066d5d543e3328d1afd065a8da4f9b4c52433d585cdbb41936900fd1453431585c6bc4b6e6d9a497a03e79969bae883e17cf4677099686feb3e32577d2777 SHA512 6493faa8e31d9c042c4e8f748d32cb9243212fdf4e0341c19568b47bcf302e60beb89940b80374610b71e1dca1ca5813f3efaddbf1a2453ceabb38381165b271 DIST zfs-2.2.7.tar.gz.asc 836 BLAKE2B e8fc5e04f5b37a22c741bda46b4573e0cebe85da051c73cf3c5fc267de3c313399b235fc346ca06f4c22d37d2500044a26adb3ea241a65fbcf8760d0ef880039 SHA512 8d22a64c920c2a983429688a340f4ae281decdd30e465591e6b40af9f3016b8f168f4e8ea460600c832a2f46b383ff307986649a645585fb25c34fdfda75ad6e -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.2.8.tar.gz 33852494 BLAKE2B 9e338544488d00a57594d638138896635ea62b80341ad9289b9faad7b899012206fef22e5742e1f5681c58d61d264127ed1e2dfe5aa9b2e9aac2243421c60b11 SHA512 95c203a97032b8ae46cc84e0e6fd68d61e42fb6c6fde7102b04ac85291579c18b1d52b3e93e345a3bc5491bef8bf07b8e7edcbf69cb6222c5d8454a3c83adb11 +DIST zfs-2.2.8.tar.gz.asc 224 BLAKE2B c3a06953c22d1b485fbd030c93ad0e744c50a91e51bbed5bef56090a1da57b02ec580499a419201f365c99ade53af5d6f545876e6d0da25ee7870fc86786288b SHA512 fcd6fe2412b5a2e83ad2609d56993ed4ad61e10c4f77f1e94a66403adf66ac90604fb567e7cde6420fe0b6a604abfd817a63e744f7c4fe8452b862c1d8cc4df3 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 +DIST zfs-2.3.3.tar.gz 34360540 BLAKE2B 4861ddfc91b941448d13d43bb2a023273917064b29880f87d91dbe6424b3f1fc7b0409e13a514d5b3f18f70a383c5d1c462ec5d7b8a7c82b2b076ecd363cecdd SHA512 0a18615da052989c19e889758972f14173e790710a2615fc186212d02f9909f0bf62debc19d85ff5c58411d8ef82aa85aff20804c3fbe2446913cd293a18b80d +DIST zfs-2.3.3.tar.gz.asc 224 BLAKE2B 79cad3883b2ac9dd13b4898f48ef2b637a580e18c65d6f83b834489a35cb31da5ed58cc24afabf3331904e8df54a7f7a825826570470f312ff2370c7fc8f95fc SHA512 07aab3d14ba3f06df2992f08cc68bed3dbf57d59cb151e0a769eeea3dc74c82084be0242b80f5075b59bb036d9277dfd726361422b35e3ed01877317634911b7 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.2.8.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.3.1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.2.8.ebuild index 18703b2b70..a8cee3c6ad 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.2.8.ebuild @@ -9,7 +9,7 @@ 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.13 +MODULES_KERNEL_MAX=6.15 MODULES_KERNEL_MIN=4.18 if [[ ${PV} == 9999 ]] ; then @@ -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.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.3.3.ebuild new file mode 100644 index 0000000000..a8cee3c6ad --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.3.3.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.15 +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? ( + Date: Mon, 30 Jun 2025 07:14:55 +0000 Subject: [PATCH 102/131] sys-libs/glibc: Sync with Gentoo It's from Gentoo commit 73ab73bfb06225e36d415b9851a901cc2d06e6d8. --- .../portage-stable/sys-libs/glibc/Manifest | 8 +- .../sys-libs/glibc/glibc-2.40-r10.ebuild | 1754 ---------------- ...c-2.40-r8.ebuild => glibc-2.40-r11.ebuild} | 2 +- .../sys-libs/glibc/glibc-2.40-r9.ebuild | 1754 ---------------- .../sys-libs/glibc/glibc-2.41-r1.ebuild | 1759 ----------------- ...bc-2.41-r2.ebuild => glibc-2.41-r4.ebuild} | 2 +- .../sys-libs/glibc/glibc-2.41.ebuild | 1759 ----------------- .../sys-libs/glibc/glibc-9999.ebuild | 8 +- 8 files changed, 8 insertions(+), 7038 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.40-r10.ebuild rename sdk_container/src/third_party/portage-stable/sys-libs/glibc/{glibc-2.40-r8.ebuild => glibc-2.40-r11.ebuild} (99%) delete mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.40-r9.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41-r1.ebuild rename sdk_container/src/third_party/portage-stable/sys-libs/glibc/{glibc-2.41-r2.ebuild => glibc-2.41-r4.ebuild} (99%) delete mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/Manifest index 0ee74a28ab..528b2d6c16 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/Manifest @@ -23,14 +23,10 @@ DIST glibc-2.38-patches-13.tar.xz 92708 BLAKE2B b2f05a793c92ea0b7901d2124fcd968f DIST glibc-2.38.tar.xz 18913712 BLAKE2B f9b039f0ef98a7dd8e1cba228ed10286b9e4fbe4dd89af4d26fa5c4e4cf266f19c2746b44d797ce54739d86499e74cf334aaf311bcf6e30120fd7748453e653f SHA512 a6dd5e42dcd63d58e2820c783522c8c895890b6e8c8e6c83b025553de0cc77cdf227e7044e431ead98c89c68a9ce4dd63509b47e647775fb2075f011849c1900 DIST glibc-2.39-patches-11.tar.xz 192784 BLAKE2B fef42e0bd2a3341f41cac56dc878dcc95b7f521ffb27686a9109fe92e0458e903a24e763db17631b8ae6c1e8de7add2a11979b970689b2378aeb6ef29da7ceb6 SHA512 9daf2c57d178c7ce9d98ee454f680280738b37571bbbecc1724282e4866df29b78e60de40ad81a6efcc0a75b45d08148cb1a5f942ae7e308ae6fa63f9671b7de DIST glibc-2.39.tar.xz 18520988 BLAKE2B 9d98459a2d58401e07c081e0d841935b23998da75a7eb5a7ebd23a1f9ebab99dee623fe166397c1b6c926960c570f62dbca5cb3b5ce84a918adff6b7a15e16bb SHA512 818f58172a52815b4338ea9f2a69ecaa3335492b9f8f64cbf8afb24c0d737982341968ecd79631cae3d3074ab0ae4bc6056fc4ba3ffe790849dc374835cd57e2 -DIST glibc-2.40-patches-10.tar.xz 219604 BLAKE2B e5937f1e6b89c03a77def09b1cf127be18d99259e488ae24c08dc0fc19b51e39604bbf3e7effdc7854f5d49702c2c7dc883eb403ad3d1d1d8247242003621571 SHA512 00ed4ce3862b97719671bd97eed112d2aa492f040e7af2a793954a18575f64e833606b65448b867ad7b5a983330bf1dcdd24a5cb80915866137ec41f2926b5e6 -DIST glibc-2.40-patches-8.tar.xz 112020 BLAKE2B 17f5a3e5486aa570cb4d9103a84b649af9731bc398a4ff65d3d24c8912215dc7f5f2d6fa9a0222c514374a132b96796e8926a5cc31c87b326bf6d1a39772bd7a SHA512 97a28822f97d1c06773953750a8d9a38a6bd9ce488f4c4d5f0752b573591cbdc84dfbbb277e3fb8e5664c56596efc093fd83a78e4c47bb9c11cafe942b13a0f1 -DIST glibc-2.40-patches-9.tar.xz 187952 BLAKE2B 48aecbdcc9ddc0b1139de1934c26952d85c557da795b400ab5b8308afce08d13583c0d18dfacb46d0e63aa4da64d3c9c8fd242ad87a9ae0966022b5da471158b SHA512 a068f9a4af6b47b1ec572378fcac0db464081d277d697914f54028b174e43eb17b30e4e1026bff365be79ddb41ffb81167c684be9f95abb22df03d70aaa66333 +DIST glibc-2.40-patches-11.tar.xz 227044 BLAKE2B 2a8c799a88596f3fc28bc45fc206f231f628ff83aae242d69e216b65983def35d3aaab282287f1d77cb9d37d10bb71c483815ea83dfb2e47670a4cfcfbd1d92f SHA512 e984e4842951c24cf079e9a6f88771ede0709949402dd9f734cbfdf21ff40ca3d7380c0b9cc0c0d89943b6481adf8c7db2ab4b0ffe57e2e1fa514d925f0db395 DIST glibc-2.40.tar.xz 18752204 BLAKE2B 8593cab5b2549b77159b6866fbb40b917e491fd5bc0814f7f85b6529166d78d4583436450c479b86cdfe468304fc4d2a9ba8294230a55dbc4c15e89c3ab6c000 SHA512 33caf91dbfddde6480b7cdf7a68b36aff8c522bfee56160af26af297f1b768668edb08bc4e1a7ff61c64721e3c1d49c347a5dd01c5edd3b914ee6479c8b27885 -DIST glibc-2.41-patches-1.tar.xz 17560 BLAKE2B dc4e39cb5605867b44c2308a8d6d6c0a662656b80a0aa2734f488e2cc22e26c948177eeb80ff6c79d82925b4dbd146a4d78646879c6e32fd60f817fb0d9ae092 SHA512 94da2092e49ee827d7558bcbfa8ebcbb9f81ed68848221d139039ea788cef57375ccfa61498bc73c6e83050681990d3968791a5f90514de12e45c10baef31d1e -DIST glibc-2.41-patches-2.tar.xz 54320 BLAKE2B cd0779c452159c90adf165da18e61699dc5e53dcfecb44f8e7ddc5bcbb00050705a423a298a57054ddce5daaee728ac03d1e25c71ad5070edf5907ac6eac0783 SHA512 4c74a657faa1cffedc083d061258508f483d25e5f3989d98e61608e245a6e75e5c389fefd0c31e5ccde6926c5173364852957b8d8b83a474842c635d1f7fc1c3 -DIST glibc-2.41-patches-3.tar.xz 71180 BLAKE2B 4e871573c6f223ab8eb48a6f4589d511ea2e7b13b45c2317ba6309c3453b3bcaa9c1d07ebcb6c3ac81a7f2650330b5c4c575a0ea6a1526724cacf6a6aaef9d62 SHA512 89ccc4f382eedb83e0b69d39b7e40f32737eb6ea07351ac599849effb7591d43e266ef43f12afb430a15e3c4df98e512e4b3b5c4c3db2fc34be97f5b309edede DIST glibc-2.41-patches-4.tar.xz 75808 BLAKE2B 09a5447ddcfb60fa5b8d6325ea19b4431a4c723deddda40ff1465726e6834a4b412bde218308ecf44a05b58226d6f2affc93b4fc1db5171cf3a55e54db17ee82 SHA512 54aca5239f5cbe7f50b10b9e503388801fe6ada4ec40f3f686b9dd20c2d377ceb361f5b6681bd30b3460edd649fc4a0219004e88e01c20288867de82bf0981a7 +DIST glibc-2.41-patches-6.tar.xz 83980 BLAKE2B ca689782db9f78751d5b5004ee9bf7bd6daf4cf071bb25507e53e4408fdd0331a9f4c82bbe7579e38540fc4d416bd858f76e5655f4e8a87048067fbc5e3c7a17 SHA512 bce972f5e036712e178d0adc97bef17b83a5c5cc3139d689bfc2847bc5e8126ee01250ce41033bc78919a7638965740d54eb431b240a9a32460c433335da968f DIST glibc-2.41.tar.xz 19344868 BLAKE2B 4da62f489ba7a95bb069c2cfea8cf78e4d37e3a5f7e1736239670ba1dca12b69aa77bd00ced078c27d91b1e622c58cbd70258161a9d18c5b3bcc95863b8d744d SHA512 894a3e5a796bc13df30c26a5bfbe4d60b5dbdaac54e7763432235124b547070c7dda88c50584536870cab79183d8cad73a3ac6ed09bfe54fa8482aad07253169 DIST glibc-systemd-20210729.tar.gz 1480 BLAKE2B 37722c7579df782d890e44dbab99c3de52ab466eb9de80d82405e9bb5620bf39ffc8c5f466a435bdb86ef6d36dd7019c0736573916bda6c67d02a2581e0ec979 SHA512 efd75af58b50522c28cdac7abd1fc56555bc1bb042512c90d8340c1ec09c5791b3872a305bf83723252bbde5855b75d958c041083457765c4cfd170732d09238 DIST glibc-systemd-20210814.tar.gz 1469 BLAKE2B 10fa7bcb46d4fdce9c0ab353cbd30871e9b09a347a13a9c9a3b5777f931aa3c826c158d2e49532c604d4a834f2fab4089b67495fb88d0398945dc50d45ad9ef1 SHA512 5346a9ea459a1e6ccf665389f2a294de1e16f1e3e05cdf07e3dd99ed0e4f6f8b52cc333d4bff3c75ac90ab6ce70cd4ab2b3e126f920ce7979abd6dda56315efc diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.40-r10.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.40-r10.ebuild deleted file mode 100644 index 7c81f5fc03..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.40-r10.ebuild +++ /dev/null @@ -1,1754 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc -# Please read & adapt the page as necessary if obsolete. - -PYTHON_COMPAT=( python3_{10..13} ) -TMPFILES_OPTIONAL=1 - -EMULTILIB_PKG="true" - -# Gentoo patchset (ignored for live ebuilds) -PATCH_VER=10 -PATCH_DEV=dilfridge - -# gcc mulitilib bootstrap files version -GCC_BOOTSTRAP_VER=20201208 - -# systemd integration version -GLIBC_SYSTEMD_VER=20210729 - -# Minimum kernel version that glibc requires -MIN_KERN_VER="3.2.0" - -# Minimum pax-utils version needed (which contains any new syscall changes for -# its seccomp filter!). Please double check this! -MIN_PAX_UTILS_VER="1.3.3" - -# Minimum systemd version needed (which contains any new syscall changes for -# its seccomp filter!). Please double check this! -MIN_SYSTEMD_VER="254.9-r1" - -inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \ - multilib systemd multiprocessing tmpfiles - -DESCRIPTION="GNU libc C library" -HOMEPAGE="https://www.gnu.org/software/libc/" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 -else - #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - SRC_URI="mirror://gnu/glibc/${P}.tar.xz" - SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz" -fi - -SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" -SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )" - -LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE" -SLOT="2.2" -IUSE="audit caps cet compile-locales custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd perl profile selinux +ssp stack-realign +static-libs suid systemd systemtap test vanilla" - -# Here's how the cross-compile logic breaks down ... -# CTARGET - machine that will target the binaries -# CHOST - machine that will host the binaries -# CBUILD - machine that will build the binaries -# If CTARGET != CHOST, it means you want a libc for cross-compiling. -# If CHOST != CBUILD, it means you want to cross-compile the libc. -# CBUILD = CHOST = CTARGET - native build/install -# CBUILD != (CHOST = CTARGET) - cross-compile a native build -# (CBUILD = CHOST) != CTARGET - libc for cross-compiler -# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler -# For install paths: -# CHOST = CTARGET - install into / -# CHOST != CTARGET - install into /usr/CTARGET/ -# -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -# Note [Disable automatic stripping] -# Disabling automatic stripping for a few reasons: -# - portage's attempt to strip breaks non-native binaries at least on -# arm: bug #697428 -# - portage's attempt to strip libpthread.so.0 breaks gdb thread -# enumeration: bug #697910. This is quite subtle: -# * gdb uses glibc's libthread_db-1.0.so to enumerate threads. -# * libthread_db-1.0.so needs access to libpthread.so.0 local symbols -# via 'ps_pglobal_lookup' symbol defined in gdb. -# * 'ps_pglobal_lookup' uses '.symtab' section table to resolve all -# known symbols in 'libpthread.so.0'. Specifically 'nptl_version' -# (unexported) is used to sanity check compatibility before enabling -# debugging. -# Also see https://sourceware.org/gdb/wiki/FAQ#GDB_does_not_see_any_threads_besides_the_one_in_which_crash_occurred.3B_or_SIGTRAP_kills_my_program_when_I_set_a_breakpoint -# * normal 'strip' command trims '.symtab' -# Thus our main goal here is to prevent 'libpthread.so.0' from -# losing it's '.symtab' entries. -# - similarly, valgrind requires knowledge about symbols in ld.so: -# bug #920753 -# As Gentoo's strip does not allow us to pass less aggressive stripping -# options and does not check the machine target we strip selectively. - -# We need a new-enough binutils/gcc to match upstream baseline. -# Also we need to make sure our binutils/gcc supports TLS, -# and that gcc already contains the hardened patches. -# Lastly, let's avoid some openssh nastiness, bug 708224, as -# convenience to our users. - -IDEPEND=" - !compile-locales? ( sys-apps/locale-gen ) -" -BDEPEND=" - ${PYTHON_DEPS} - >=app-misc/pax-utils-${MIN_PAX_UTILS_VER} - sys-devel/bison - compile-locales? ( sys-apps/locale-gen ) - doc? ( - dev-lang/perl - sys-apps/texinfo - ) - test? ( - dev-lang/perl - >=net-dns/libidn2-2.3.0 - ) -" -COMMON_DEPEND=" - gd? ( media-libs/gd:2= ) - nscd? ( selinux? ( - audit? ( sys-process/audit ) - caps? ( sys-libs/libcap ) - ) ) - suid? ( caps? ( sys-libs/libcap ) ) - selinux? ( sys-libs/libselinux ) - systemtap? ( dev-debug/systemtap ) -" -DEPEND="${COMMON_DEPEND} -" -RDEPEND="${COMMON_DEPEND} - !/dev/null - - rm -f glibc-test* - printf '%b' "$*" > glibc-test.c - - # We assume CC is already set up. - nonfatal emake glibc-test - ret=$? - - popd >/dev/null - - CFLAGS=${save_cflags} - return ${ret} -} - -do_run_test() { - local ret - - if [[ ${MERGE_TYPE} == "binary" ]] ; then - # ignore build failures when installing a binary package #324685 - do_compile_test "" "$@" 2>/dev/null || return 0 - else - if ! do_compile_test "" "$@" ; then - ewarn "Simple build failed ... assuming this is desired #324685" - return 0 - fi - fi - - pushd "${T}" >/dev/null - - ./glibc-test - ret=$? - rm -f glibc-test* - - popd >/dev/null - - return ${ret} -} - -setup_target_flags() { - # This largely mucks with compiler flags. None of which should matter - # when building up just the headers. - just_headers && return 0 - - case $(tc-arch) in - x86) - # -march needed for #185404 #199334 - # TODO: When creating the first glibc cross-compile, this test will - # always fail as it does a full link which in turn requires glibc. - # Probably also applies when changing multilib profile settings (e.g. - # enabling x86 when the profile was amd64-only previously). - # We could change main to _start and pass -nostdlib here so that we - # only test the gcc code compilation. Or we could do a compile and - # then look for the symbol via scanelf. - if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then - local t=${CTARGET_OPT:-${CTARGET}} - t=${t%%-*} - filter-flags '-march=*' - export CFLAGS="-march=${t} ${CFLAGS}" - einfo "Auto adding -march=${t} to CFLAGS #185404" - fi - # For compatibility with older binaries at slight performance cost. - use stack-realign && export CFLAGS+=" -mstackrealign" - ;; - amd64) - # -march needed for #185404 #199334 - # TODO: See cross-compile issues listed above for x86. - if [[ ${ABI} == x86 ]]; then - if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then - local t=${CTARGET_OPT:-${CTARGET}} - t=${t%%-*} - # Normally the target is x86_64-xxx, so turn that into the -march that - # gcc actually accepts. #528708 - [[ ${t} == "x86_64" ]] && t="x86-64" - filter-flags '-march=*' - # ugly, ugly, ugly. ugly. - CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}") - export CFLAGS_x86="${CFLAGS_x86} -march=${t}" - einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})" - fi - # For compatibility with older binaries at slight performance cost. - use stack-realign && export CFLAGS_x86+=" -mstackrealign" - fi - ;; - mips) - # The mips abi cannot support the GNU style hashes. #233233 - filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both - ;; - ppc|ppc64) - # Many arch-specific implementations do not work on ppc with - # cache-block not equal to 128 bytes. This breaks memset: - # https://sourceware.org/PR26522 - # https://bugs.gentoo.org/737996 - # Use default -mcpu=. For ppc it means non-multiarch setup. - filter-flags '-mcpu=*' - ;; - sparc) - # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though. - filter-flags "-fcall-used-g7" - append-flags "-fcall-used-g6" - - local cpu - case ${CTARGET} in - sparc64-*) - cpu="sparc64" - case $(get-flag mcpu) in - v9) - # We need to force at least v9a because the base build doesn't - # work with just v9. - # https://sourceware.org/bugzilla/show_bug.cgi?id=19477 - append-flags "-Wa,-xarch=v9a" - ;; - esac - ;; - sparc-*) - case $(get-flag mcpu) in - v8|supersparc|hypersparc|leon|leon3) - cpu="sparcv8" - ;; - *) - cpu="sparcv9" - ;; - esac - ;; - esac - [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}" - ;; - esac -} - -setup_flags() { - # Make sure host make.conf doesn't pollute us - if is_crosscompile || tc-is-cross-compiler ; then - CHOST=${CTARGET} strip-unsupported-flags - fi - - # Store our CFLAGS because it's changed depending on which CTARGET - # we are building when pulling glibc on a multilib profile - CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}} - CFLAGS=${CFLAGS_BASE} - CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}} - CXXFLAGS=${CXXFLAGS_BASE} - ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}} - ASFLAGS=${ASFLAGS_BASE} - - # Allow users to explicitly avoid flag sanitization via - # USE=custom-cflags. - if ! use custom-cflags; then - # Over-zealous CFLAGS can often cause problems. What may work for one - # person may not work for another. To avoid a large influx of bugs - # relating to failed builds, we strip most CFLAGS out to ensure as few - # problems as possible. - strip-flags - - # Allow -O2 and -O3, but nothing else for now. - # TODO: Test -Os, -Oz. - if ! is-flagq '-O@(2|3)' ; then - # Lock glibc at -O2. We want to be conservative here. - filter-flags '-O?' - append-flags -O2 - fi - fi - - strip-unsupported-flags - filter-lto - filter-flags -m32 -m64 '-mabi=*' - - # glibc aborts if rpath is set by LDFLAGS - filter-ldflags '-Wl,-rpath=*' - - # ld can't use -r & --relax at the same time, bug #788901 - # https://sourceware.org/PR27837 - filter-ldflags '-Wl,--relax' - - # Flag added for cross-prefix, but causes ldconfig to segfault. Not needed - # anyway because glibc already handles this by itself. - filter-ldflags '-Wl,--dynamic-linker=*' - - # Fails to link (bug #940709) in some cases but even if it manages to, - # subtle runtime breakage will occur because the linker scripts need - # adaptation. Mentioned in PR21557#c0. - filter-ldflags '-Wl,--gc-sections' - - # some weird software relies on sysv hashes in glibc, bug 863863, bug 864100 - # we have to do that here already so mips can filter it out again :P - if use hash-sysv-compat ; then - append-ldflags '-Wl,--hash-style=both' - fi - - # #492892 - filter-flags -frecord-gcc-switches - - # #898098 - filter-flags -fno-builtin - - # #798774 - filter-flags -fno-semantic-interposition - - # #829583 - filter-lfs-flags - - unset CBUILD_OPT CTARGET_OPT - if use multilib ; then - CTARGET_OPT=$(get_abi_CTARGET) - [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST) - fi - - setup_target_flags - - if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then - CBUILD_OPT=${CTARGET_OPT} - fi - - # glibc's headers disallow -O0 and fail at build time: - # include/libc-symbols.h:75:3: #error "glibc cannot be compiled without optimization" - # https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F - replace-flags -O0 -O1 - - # glibc handles this internally already where it's appropriate; - # can't always have SSP when we're the ones setting it up, etc - filter-flags '-fstack-protector*' - - # Similar issues as with SSP. Can't inject yourself that early. - filter-flags '-fsanitize=*' - - # See end of bug #830454; we handle this via USE=cet - filter-flags '-fcf-protection=*' - - # When bootstrapping, we may have a situation where - # CET-enabled gcc from seed is used to build CET-disabled - # glibc. As such, gcc implicitly enables CET if no - # -fcf-protection flag is passed. For a typical package it - # should not be a problem, but for glibc it matters as it is - # dealing with CET in ld.so. So if CET is supposed to be - # disabled for glibc, be explicit about it. - if ! use cet; then - case ${ABI}-${CTARGET} in - amd64-x86_64-*|x32-x86_64-*-*-gnux32) - append-flags '-fcf-protection=none' - ;; - arm64-aarch64*) - append-flags '-mbranch-protection=none' - ;; - esac - fi -} - -use_multiarch() { - # Allow user to disable runtime arch detection in multilib. - use multiarch || return 1 - # Make sure binutils is new enough to support indirect functions, - # #336792. This funky sed supports gold and bfd linkers. - local bver nver - bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}') - case $(tc-arch ${CTARGET}) in - amd64|x86) nver="2.20" ;; - arm) nver="2.22" ;; - hppa) nver="2.23" ;; - ppc|ppc64) nver="2.20" ;; - # ifunc support was added in 2.23, but glibc also needs - # machinemode which is in 2.24. - s390) nver="2.24" ;; - sparc) nver="2.21" ;; - *) return 1 ;; - esac - ver_test ${bver} -ge ${nver} -} - -# Setup toolchain variables that had historically been defined in the -# profiles for these archs. -setup_env() { - # silly users - unset LD_RUN_PATH - unset LD_ASSUME_KERNEL - - if is_crosscompile || tc-is-cross-compiler ; then - multilib_env ${CTARGET_OPT:-${CTARGET}} - - if ! use multilib ; then - MULTILIB_ABIS=${DEFAULT_ABI} - else - MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}} - fi - - # If the user has CFLAGS_ in their make.conf, use that, - # and fall back on CFLAGS. - local VAR=CFLAGS_${CTARGET//[-.]/_} - CFLAGS=${!VAR-${CFLAGS}} - einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}" - fi - - setup_flags - - export ABI=${ABI:-${DEFAULT_ABI:-default}} - - if just_headers ; then - # Avoid mixing host's CC and target's CFLAGS_${ABI}: - # At this bootstrap stage we have only binutils for - # target but not compiler yet. - einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." - return 0 - fi - - # glibc does not work with non-bfd (for various reasons): - # * gold (bug #269274) - # * mold (bug #860900) - tc-ld-force-bfd - - if use doc ; then - export MAKEINFO=makeinfo - else - export MAKEINFO=/dev/null - fi - - # Reset CC and CXX to the value at start of emerge - export CC=${glibc__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}} - export CXX=${glibc__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}} - export CPP=${glibc__ORIG_CPP:-${CPP:-$(tc-getCPP ${CTARGET})}} - - # and make sure glibc__ORIG_CC and glibc__ORIG_CXX is defined now. - export glibc__ORIG_CC=${CC} - export glibc__ORIG_CXX=${CXX} - export glibc__ORIG_CPP=${CPP} - - if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then - export glibc__force_gcc=yes - # once this is toggled on, it needs to stay on, since with CPP manipulated - # tc-is-clang does not work correctly anymore... - fi - - if [[ ${glibc__force_gcc} == "yes" ]] ; then - # If we are running in an otherwise clang/llvm environment, we need to - # recover the proper gcc and binutils settings here, at least until glibc - # is finally building with clang. So let's override everything that is - # set in the clang profiles. - # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always - # a good start into that direction. - # Also, if you're crosscompiling, let's assume you know what you are doing. - # Hopefully. - # Last, we need the settings of the *build* environment, not of the - # target environment... - - local current_binutils_path=$(env CHOST="${CBUILD}" ROOT="${BROOT}" binutils-config -B "${CTARGET}") - local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B) - einfo "Overriding clang configuration, since it won't work here" - - export CC="${current_gcc_path}/${CTARGET}-gcc" - export CPP="${current_gcc_path}/${CTARGET}-cpp" - export CXX="${current_gcc_path}/${CTARGET}-g++" - export LD="${current_binutils_path}/ld.bfd" - export AR="${current_binutils_path}/ar" - export AS="${current_binutils_path}/as" - export NM="${current_binutils_path}/nm" - export STRIP="${current_binutils_path}/strip" - export RANLIB="${current_binutils_path}/ranlib" - export OBJCOPY="${current_binutils_path}/objcopy" - export STRINGS="${current_binutils_path}/strings" - export OBJDUMP="${current_binutils_path}/objdump" - export READELF="${current_binutils_path}/readelf" - export ADDR2LINE="${current_binutils_path}/addr2line" - - # do we need to also do flags munging here? yes! at least... - filter-flags '-fuse-ld=*' - filter-flags '-D_FORTIFY_SOURCE=*' - - else - - # this is the "normal" case - - export CC="$(tc-getCC ${CTARGET})" - export CXX="$(tc-getCXX ${CTARGET})" - export CPP="$(tc-getCPP ${CTARGET})" - - # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure - # can't detect them automatically due to ${CHOST} mismatch and fallbacks - # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). - export NM="$(tc-getNM ${CTARGET})" - export READELF="$(tc-getREADELF ${CTARGET})" - - fi - - # We need to export CFLAGS with abi information in them because glibc's - # configure script checks CFLAGS for some targets (like mips). Keep - # around the original clean value to avoid appending multiple ABIs on - # top of each other. (Why does the comment talk about CFLAGS if the code - # acts on CC?) - export glibc__GLIBC_CC=${CC} - export glibc__GLIBC_CXX=${CXX} - export glibc__GLIBC_CPP=${CPP} - - export glibc__abi_CFLAGS="$(get_abi_CFLAGS)" - - # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 - # To build .S (assembly) files with the same ABI-specific flags - # upstream currently recommends adding CFLAGS to CC/CXX: - # https://sourceware.org/PR23273 - # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS - # and breaks multiarch support. See 659030#c3 for an example. - # The glibc configure script doesn't properly use LDFLAGS all the time. - export CC="${glibc__GLIBC_CC} ${glibc__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}" - - # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 - export CXX="${glibc__GLIBC_CXX} ${glibc__abi_CFLAGS} ${CFLAGS}" - - export CPP="${glibc__GLIBC_CPP} ${glibc__abi_CFLAGS} ${CFLAGS}" - - if is_crosscompile; then - # Assume worst-case bootstrap: glibc is built for the first time - # with ${CTARGET}-g++ not available yet. We avoid - # building auxiliary programs that require C++: bug #683074 - # It should not affect final result. - export libc_cv_cxx_link_ok=no - # The line above has the same effect. We set CXX explicitly - # to make build logs less confusing. - export CXX= - fi -} - -foreach_abi() { - setup_env - - local ret=0 - local abilist="" - if use multilib ; then - abilist=$(get_install_abis) - else - abilist=${DEFAULT_ABI} - fi - local -x ABI - for ABI in ${abilist:-default} ; do - setup_env - einfo "Running $1 for ABI ${ABI}" - $1 - : $(( ret |= $? )) - done - return ${ret} -} - -glibc_banner() { - local b="Gentoo ${PVR}" - [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" (patchset ${PATCH_VER})" - echo "${b}" -} - -# The following Kernel version handling functions are mostly copied from portage -# source. It's better not to use linux-info.eclass here since a) it adds too -# much magic, see bug 326693 for some of the arguments, and b) some of the -# functions are just not provided. - -g_get_running_KV() { - uname -r - return $? -} - -g_KV_major() { - [[ -z $1 ]] && return 1 - local KV=$@ - echo "${KV%%.*}" -} - -g_KV_minor() { - [[ -z $1 ]] && return 1 - local KV=$@ - KV=${KV#*.} - echo "${KV%%.*}" -} - -g_KV_micro() { - [[ -z $1 ]] && return 1 - local KV=$@ - KV=${KV#*.*.} - echo "${KV%%[^[:digit:]]*}" -} - -g_KV_to_int() { - [[ -z $1 ]] && return 1 - local KV_MAJOR=$(g_KV_major "$1") - local KV_MINOR=$(g_KV_minor "$1") - local KV_MICRO=$(g_KV_micro "$1") - local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO )) - - # We make version 2.2.0 the minimum version we will handle as - # a sanity check ... if its less, we fail ... - if [[ ${KV_int} -ge 131584 ]] ; then - echo "${KV_int}" - return 0 - fi - return 1 -} - -g_int_to_KV() { - local version=$1 major minor micro - major=$((version / 65536)) - minor=$(((version % 65536) / 256)) - micro=$((version % 256)) - echo ${major}.${minor}.${micro} -} - -eend_KV() { - [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]] - eend $? -} - -get_kheader_version() { - printf '#include \nLINUX_VERSION_CODE\n' | \ - $(tc-getCPP ${CTARGET}) -I "${ESYSROOT}$(alt_headers)" - | \ - tail -n 1 -} - -# We collect all sanity checks here. Consistency is not guranteed between -# pkg_ and src_ phases, so we call this function both in pkg_pretend and in -# src_unpack. -sanity_prechecks() { - # Prevent native builds from downgrading - if [[ ${MERGE_TYPE} != "buildonly" ]] && \ - [[ -z ${ROOT} ]] && \ - [[ ${CBUILD} == ${CHOST} ]] && \ - [[ ${CHOST} == ${CTARGET} ]] ; then - - # The high rev # is to allow people to downgrade between -r# - # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2 - # should be fine. Hopefully we never actually use a r# this - # high. - if has_version ">${CATEGORY}/${P}-r10000" ; then - eerror "Sanity check to keep you from breaking your system:" - eerror " Downgrading glibc is not supported and a sure way to destruction." - [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system." - fi - - if ! do_run_test '#include \n#include \nint main(){return syscall(1000)!=-1;}\n' ; then - eerror "Your old kernel is broken. You need to update it to a newer" - eerror "version as syscall() will break. See bug 279260." - die "Old and broken kernel." - fi - fi - - if [[ ${CTARGET} == i386-* ]] ; then - eerror "i386 CHOSTs are no longer supported." - eerror "Chances are you don't actually want/need i386." - eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml" - die "Please fix your CHOST" - fi - - if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then - ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS." - ewarn "This will result in a 50% performance penalty when running with a 32bit" - ewarn "hypervisor, which is probably not what you want." - fi - - # ABI-specific checks follow here. Hey, we have a lot more specific conditions that - # we test for... - if ! is_crosscompile ; then - if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then - ebegin "Checking if the system can execute 32-bit binaries" - echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c" - local STAT - if ${CC-${CHOST}-gcc} ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then - "${T}/check-ia32-emulation.elf32" - STAT=$? - else - # Don't fail here to allow single->multi ABI switch - # or recover from breakage like bug #646424 - ewarn "Failed to compile the ABI test. Broken host glibc?" - STAT=0 - fi - rm -f "${T}/check-ia32-emulation.elf32" - eend $STAT - if [[ $STAT -ne 0 ]]; then - eerror "Ensure that CONFIG_IA32_EMULATION is enabled in the kernel." - eerror "Seek support otherwise." - die "Unable to execute 32-bit binaries" - fi - fi - - fi - - # When we actually have to compile something... - if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then - if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then - # bug #833620, bug #643302 - eerror "Found ${ESYSROOT}/usr/lib/include directory!" - eerror "This is known to break glibc's build." - eerror "Please backup its contents then remove the directory." - die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!" - fi - - if [[ ${CTARGET} == *-linux* ]] ; then - local run_kv build_kv want_kv - - run_kv=$(g_get_running_KV) - build_kv=$(g_int_to_KV $(get_kheader_version)) - want_kv=${MIN_KERN_VER} - - if ! is_crosscompile && ! tc-is-cross-compiler ; then - # Building fails on an non-supporting kernel - ebegin "Checking running kernel version (${run_kv} >= ${want_kv})" - if ! eend_KV ${run_kv} ${want_kv} ; then - echo - eerror "You need a kernel of at least ${want_kv}!" - die "Kernel version too low!" - fi - fi - - # Do not run this check for pkg_pretend, just pkg_setup and friends (if we ever get used there). - # It's plausible (seen it in the wild) that Portage will (correctly) schedule a linux-headers - # upgrade before glibc, but because pkg_pretend gets run before any packages are merged at all (not - # just glibc), the whole emerge gets aborted without a good reason. We probably don't - # need to run this check at all given we have a dependency on the right headers, - # but let's leave it as-is for now. - if [[ ${EBUILD_PHASE_FUNC} != pkg_pretend ]] ; then - ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})" - if ! eend_KV ${build_kv} ${want_kv} ; then - echo - eerror "You need linux-headers of at least ${want_kv}!" - die "linux-headers version too low!" - fi - fi - fi - fi -} - -upgrade_warning() { - is_crosscompile && return - - if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then - local oldv newv=$(ver_cut 1-2 ${PV}) - for oldv in ${REPLACING_VERSIONS}; do - if ver_test ${oldv} -lt ${newv}; then - ewarn "After upgrading glibc, please restart all running processes." - ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." - ewarn "Alternatively, reboot your system." - ewarn "(See bug #660556, bug #741116, bug #823756, etc)" - break - fi - done - fi -} - -# -# the phases -# - -# pkg_pretend - -pkg_pretend() { - upgrade_warning -} - -# pkg_setup - -pkg_setup() { - # see bug 682570 - [[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup -} - -# src_unpack - -src_unpack() { - setup_env - - einfo "Checking general environment sanity." - sanity_prechecks - - use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz - - if [[ ${PV} == 9999* ]] ; then - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git" - EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git - git-r3_src_unpack - mv patches-git/9999 patches || die - - EGIT_REPO_URI="https://sourceware.org/git/glibc.git" - EGIT_CHECKOUT_DIR=${S} - git-r3_src_unpack - else - unpack ${P}.tar.xz - - cd "${WORKDIR}" || die - unpack glibc-${PV}-patches-${PATCH_VER}.tar.xz - fi - - cd "${WORKDIR}" || die - use systemd && unpack glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz -} - -# src_prepare - -src_prepare() { - local patchsetname - if ! use vanilla ; then - if [[ ${PV} == 9999* ]] ; then - patchsetname="from git master" - else - patchsetname="${PV}-${PATCH_VER}" - fi - einfo "Applying Gentoo Glibc patchset ${patchsetname}" - eapply "${WORKDIR}"/patches - einfo "Done." - fi - - default - - gnuconfig_update - - cd "${WORKDIR}" || die - find . -name configure -exec touch {} + - - # Fix permissions on some of the scripts. - chmod u+x "${S}"/scripts/*.sh - - cd "${S}" || die -} - -# src_configure - -glibc_do_configure() { - dump_build_environment - - local myconf=() - - # Use '=strong' instead of '=all' to protect only functions - # worth protecting from stack smashes. - myconf+=( --enable-stack-protector=$(usex ssp strong no) ) - - # Keep a whitelist of targets supporting IFUNC. glibc's ./configure - # is not robust enough to detect proper support: - # https://bugs.gentoo.org/641216 - # https://sourceware.org/PR22634#c0 - case $(tc-arch ${CTARGET}) in - # Keep whitelist of targets where autodetection mostly works. - amd64|x86|sparc|ppc|ppc64|arm|arm64|s390|riscv|loong) ;; - # Blacklist everywhere else - *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;; - esac - - case ${ABI}-${CTARGET} in - amd64-x86_64-*|x32-x86_64-*-*-gnux32) myconf+=( $(use_enable cet) ) ;; - *) ;; - esac - - [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp ) - - myconf+=( --enable-kernel=${MIN_KERN_VER} ) - - # Since SELinux support is only required for nscd, only enable it if: - # 1. USE selinux - # 2. only for the primary ABI on multilib systems - # 3. Not a crosscompile - if ! is_crosscompile && use selinux ; then - if use multilib ; then - if is_final_abi ; then - myconf+=( --with-selinux ) - else - myconf+=( --without-selinux ) - fi - else - myconf+=( --with-selinux ) - fi - else - myconf+=( --without-selinux ) - fi - - # Force a few tests where we always know the answer but - # configure is incapable of finding it. - if is_crosscompile ; then - export \ - libc_cv_c_cleanup=yes \ - libc_cv_forced_unwind=yes - fi - - myconf+=( - --disable-werror - --enable-bind-now - --enable-fortify-source - --build=${CBUILD_OPT:-${CBUILD}} - --host=${CTARGET_OPT:-${CTARGET}} - $(use_enable profile) - $(use_with gd) - --with-headers="${ESYSROOT}$(alt_headers)" - --prefix="$(host_eprefix)/usr" - --sysconfdir="$(host_eprefix)/etc" - --localstatedir="$(host_eprefix)/var" - --libdir='$(prefix)'/$(get_libdir) - --mandir='$(prefix)'/share/man - --infodir='$(prefix)'/share/info - --libexecdir='$(libdir)'/misc/glibc - --with-bugurl=https://bugs.gentoo.org/ - --with-pkgversion="$(glibc_banner)" - $(use_multiarch || echo --disable-multi-arch) - $(use_enable systemtap) - $(use_enable nscd) - - # /usr/bin/mtrace has a Perl shebang. Gentoo Prefix QA checks fail if - # Perl hasn't been installed inside the prefix yet and configure picks - # up a Perl from outside the prefix instead. configure will fail to - # execute Perl during configure if we're cross-compiling a prefix, but - # it will just disable mtrace in that case. - # Note: mtrace is needed by the test suite. - ac_cv_path_PERL="$(usex perl "${EPREFIX}"/usr/bin/perl $(usex test "${EPREFIX}"/usr/bin/perl $(usex doc "${EPREFIX}"/usr/bin/perl no)))" - - # locale data is arch-independent - # https://bugs.gentoo.org/753740 - libc_cv_complocaledir='${exec_prefix}/lib/locale' - - # On aarch64 there is no way to override -mcpu=native, and if - # the current cpu does not support SVE configure fails. - # Let's boldly assume our toolchain can always build SVE instructions. - libc_cv_aarch64_sve_asm=yes - - ${EXTRA_ECONF} - ) - - # We rely on sys-libs/timezone-data for timezone tools normally. - myconf+=( $(use_enable vanilla timezone-tools) ) - - # These libs don't have configure flags. - ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no) - ac_cv_lib_cap_cap_init=$(usex caps || echo no) - - # There is no configure option for this and we need to export it - # since the glibc build will re-run configure on itself - export libc_cv_rootsbindir="$(host_eprefix)/sbin" - export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)" - - local builddir=$(builddir nptl) - mkdir -p "${builddir}" - cd "${builddir}" - set -- "${S}"/configure "${myconf[@]}" - echo "$@" - "$@" || die "failed to configure glibc" - - # If we're trying to migrate between ABI sets, we need - # to lie and use a local copy of gcc. Like if the system - # is built with MULTILIB_ABIS="amd64 x86" but we want to - # add x32 to it, gcc/glibc don't yet support x32. - # - if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib-bootstrap ; then - echo 'int main(void){}' > "${T}"/test.c || die - if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then - sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die - fi - fi -} - -glibc_headers_configure() { - export ABI=default - - local builddir=$(builddir "headers") - mkdir -p "${builddir}" - cd "${builddir}" - - # if we don't have a compiler yet, we can't really test it now ... - # hopefully they don't affect header generation, so let's hope for - # the best here ... - local v vars=( - ac_cv_header_cpuid_h=yes - libc_cv_{386,390,alpha,arm,hppa,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes - libc_cv_asm_cfi_directives=yes - libc_cv_broken_visibility_attribute=no - libc_cv_c_cleanup=yes - libc_cv_compiler_powerpc64le_binary128_ok=yes - libc_cv_forced_unwind=yes - libc_cv_gcc___thread=yes - libc_cv_mlong_double_128=yes - libc_cv_mlong_double_128ibm=yes - libc_cv_ppc_machine=yes - libc_cv_ppc_rel16=yes - libc_cv_predef_fortify_source=no - libc_cv_target_power8_ok=yes - libc_cv_visibility_attribute=yes - libc_cv_z_combreloc=yes - libc_cv_z_execstack=yes - libc_cv_z_initfirst=yes - libc_cv_z_nodelete=yes - libc_cv_z_nodlopen=yes - libc_cv_z_relro=yes - libc_mips_abi=${ABI} - libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard) - # These libs don't have configure flags. - ac_cv_lib_audit_audit_log_user_avc_message=no - ac_cv_lib_cap_cap_init=no - ) - - einfo "Forcing cached settings:" - for v in "${vars[@]}" ; do - einfo " ${v}" - export ${v} - done - - local headers_only_arch_CPPFLAGS=() - - # Blow away some random CC settings that screw things up. #550192 - if [[ -d ${S}/sysdeps/mips ]]; then - pushd "${S}"/sysdeps/mips >/dev/null - sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die - sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die - - # Force the mips ABI to the default. This is OK because the set of - # installed headers in this phase is the same between the 3 ABIs. - # If this ever changes, this hack will break, but that's unlikely - # as glibc discourages that behavior. - # https://crbug.com/647033 - sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die - - popd >/dev/null - fi - - local myconf=() - - case ${CTARGET} in - aarch64*) - # The configure checks fail during cross-build, so disable here - # for headers-only - myconf+=( - --disable-mathvec - ) ;; - riscv*) - # RISC-V interrogates the compiler to determine which target to - # build. If building the headers then we don't strictly need a - # RISC-V compiler, so the built-in definitions that are provided - # along with all RISC-V compiler might not exist. This causes - # glibc's RISC-V preconfigure script to blow up. Since we're just - # building the headers any value will actually work here, so just - # pick the standard one (rv64g/lp64d) to make the build scripts - # happy for now -- the headers are all the same anyway so it - # doesn't matter. - headers_only_arch_CPPFLAGS+=( - -D__riscv_xlen=64 - -D__riscv_flen=64 - -D__riscv_float_abi_double=1 - -D__riscv_atomic=1 - ) ;; - esac - - myconf+=( - --disable-sanity-checks - --enable-hacker-mode - --disable-werror - --enable-bind-now - --build=${CBUILD_OPT:-${CBUILD}} - --host=${CTARGET_OPT:-${CTARGET}} - --with-headers="${ESYSROOT}$(alt_headers)" - --prefix="$(host_eprefix)/usr" - ${EXTRA_ECONF} - ) - - # Nothing is compiled here which would affect the headers for the target. - # So forcing CC/CFLAGS is sane. - local headers_only_CC=$(tc-getBUILD_CC) - local headers_only_CFLAGS="-O1 -pipe" - local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}" - local headers_only_LDFLAGS="" - set -- "${S}"/configure "${myconf[@]}" - echo \ - "CC=${headers_only_CC}" \ - "CFLAGS=${headers_only_CFLAGS}" \ - "CPPFLAGS=${headers_only_CPPFLAGS}" \ - "LDFLAGS=${headers_only_LDFLAGS}" \ - "$@" - CC=${headers_only_CC} \ - CFLAGS=${headers_only_CFLAGS} \ - CPPFLAGS=${headers_only_CPPFLAGS} \ - LDFLAGS="" \ - "$@" || die "failed to configure glibc" -} - -do_src_configure() { - if just_headers ; then - glibc_headers_configure - else - glibc_do_configure nptl - fi -} - -src_configure() { - foreach_abi do_src_configure -} - -# src_compile - -do_src_compile() { - emake -C "$(builddir nptl)" -} - -src_compile() { - if just_headers ; then - return - fi - - foreach_abi do_src_compile -} - -# src_test - -glibc_src_test() { - cd "$(builddir nptl)" - - local myxfailparams="" - if [[ "${GENTOO_GLIBC_XFAIL_TESTS}" == "yes" ]] ; then - local virt=$(systemd-detect-virt 2>/dev/null) - if [[ ${virt} == systemd-nspawn ]] ; then - ewarn "Skipping extra tests because in systemd-nspawn container" - XFAIL_TEST_LIST+=( "${XFAIL_NSPAWN_TEST_LIST[@]}" ) - fi - if [[ "$(nice)" == "19" ]] ; then - # Expects to be able to increase niceness, which it can't do if - # already at the highest nice value - XFAIL_TEST_LIST+=( "tst-nice" ) - fi - - for myt in ${XFAIL_TEST_LIST[@]} ; do - myxfailparams+="test-xfail-${myt}=yes " - done - fi - - # sandbox does not understand unshare() and prevents - # writes to /proc/, which makes many tests fail - - # we give the tests a bit more time to avoid spurious - # bug reports on slow arches - - SANDBOX_ON=0 LD_PRELOAD= TIMEOUTFACTOR=16 emake ${myxfailparams} check -} - -src_test() { - if just_headers ; then - return - fi - - foreach_abi glibc_src_test || die "tests failed" -} - -# src_install - -run_locale_gen() { - # if the host locales.gen contains no entries, we'll install everything - local root="$1" - local inplace="" - - if [[ "${root}" == "--inplace-glibc" ]] ; then - inplace="--inplace-glibc" - root="$2" - fi - - local locale_list="${root%/}/etc/locale.gen" - - pushd "${ED}"/$(get_libdir) >/dev/null - - if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then - [[ -z ${inplace} ]] && ewarn "Generating all locales; edit /etc/locale.gen to save time/space" - locale_list="${root%/}/usr/share/i18n/SUPPORTED" - fi - - # bug 736794: we need to be careful with the parallelization... the number of - # processors saved in the environment of a binary package may differ strongly - # from the number of processes available during postinst - local mygenjobs="$(makeopts_jobs)" - if [[ "${EMERGE_FROM}" == "binary" ]] ; then - mygenjobs="$(nproc)" - fi - - set -- locale-gen ${inplace} --jobs "${mygenjobs}" --config "${locale_list}" \ - --destdir "${root}" - echo "$@" - "$@" - - popd >/dev/null -} - -glibc_do_src_install() { - local builddir=$(builddir nptl) - cd "${builddir}" - - emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install - - # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support - # which come without headers etc. Only needed for binary packages since the - # external net-libs/libnsl has increased soversion. Keep only versioned libraries. - find "${D}" -name "libnsl.a" -delete - find "${D}" -name "libnsl.so" -delete - - # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need - # to infer upstream version: - # '#define VERSION "2.26.90"' -> '2.26.90' - local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h) - - # Avoid stripping binaries not targeted by ${CHOST}. Or else - # ${CHOST}-strip would break binaries build for ${CTARGET}. - is_crosscompile && dostrip -x / - - # gdb thread introspection relies on local libpthreads symbols. stripping breaks it - # See Note [Disable automatic stripping] - dostrip -x $(alt_libdir)/libpthread-${upstream_pv}.so - # valgrind requires knowledge about ld.so symbols. - dostrip -x $(alt_libdir)/ld-*.so* - - if [[ -e ${ED}/$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then - # Move versioned .a file out of libdir to evade portage QA checks - # instead of using gen_usr_ldscript(). We fix ldscript as: - # "GROUP ( /usr/lib64/libm-.a ..." -> "GROUP ( /usr/lib64/glibc-/libm-.a ..." - sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" \ - "${ED}"/$(alt_usrlibdir)/libm.a || die - dodir $(alt_usrlibdir)/${P} - mv "${ED}"/$(alt_usrlibdir)/libm-${upstream_pv}.a \ - "${ED}"/$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die - fi - - # We configure toolchains for standalone prefix systems with a sysroot, - # which is prepended to paths in ld scripts, so strip the prefix from these. - # Before: GROUP ( /foo/lib64/libc.so.6 /foo/usr/lib64/libc_nonshared.a AS_NEEDED ( /foo/lib64/ld-linux-x86-64.so.2 ) ) - # After: GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) ) - if [[ -n $(host_eprefix) ]] ; then - local file - grep -lZIF "ld script" "${ED}/$(alt_usrlibdir)"/lib*.{a,so} 2>/dev/null | while read -rd '' file ; do - sed -i "s|$(host_eprefix)/|/|g" "${file}" || die - done - fi - - # We'll take care of the cache ourselves - rm -f "${ED}"/etc/ld.so.cache - - # Everything past this point just needs to be done once ... - is_final_abi || return 0 - - # Make sure the non-native interp can be found on multilib systems even - # if the main library set isn't installed into the right place. Maybe - # we should query the active gcc for info instead of hardcoding it ? - local i ldso_abi ldso_name - local ldso_abi_list=( - # x86 - amd64 /lib64/ld-linux-x86-64.so.2 - x32 /libx32/ld-linux-x32.so.2 - x86 /lib/ld-linux.so.2 - # mips - o32 /lib/ld.so.1 - n32 /lib32/ld.so.1 - n64 /lib64/ld.so.1 - # powerpc - ppc /lib/ld.so.1 - # riscv - ilp32d /lib/ld-linux-riscv32-ilp32d.so.1 - ilp32 /lib/ld-linux-riscv32-ilp32.so.1 - lp64d /lib/ld-linux-riscv64-lp64d.so.1 - lp64 /lib/ld-linux-riscv64-lp64.so.1 - # s390 - s390 /lib/ld.so.1 - s390x /lib/ld64.so.1 - # sparc - sparc32 /lib/ld-linux.so.2 - sparc64 /lib64/ld-linux.so.2 - ) - case $(tc-endian) in - little) - ldso_abi_list+=( - # arm - arm64 /lib/ld-linux-aarch64.so.1 - # ELFv2 (glibc does not support ELFv1 on LE) - ppc64 /lib64/ld64.so.2 - ) - ;; - big) - ldso_abi_list+=( - # arm - arm64 /lib/ld-linux-aarch64_be.so.1 - # ELFv1 (glibc does not support ELFv2 on BE) - ppc64 /lib64/ld64.so.1 - ) - ;; - esac - if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then - dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib - fi - for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do - ldso_abi=${ldso_abi_list[i]} - has ${ldso_abi} $(get_install_abis) || continue - - ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}" - if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then - dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name} - fi - done - - # In the LSB 5.0 definition, someone had the excellent idea to "standardize" - # the runtime loader name, see also https://xkcd.com/927/ - # Normally, in Gentoo one should never come across executables that require this. - # However, binary commercial packages are known to adhere to weird practices. - # https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-AMD64/LSB-Core-AMD64.html#BASELIB - local lsb_ldso_name native_ldso_name lsb_ldso_abi - local lsb_ldso_abi_list=( - # x86 - amd64 ld-linux-x86-64.so.2 ld-lsb-x86-64.so.3 - ) - for (( i = 0; i < ${#lsb_ldso_abi_list[@]}; i += 3 )) ; do - lsb_ldso_abi=${lsb_ldso_abi_list[i]} - native_ldso_name=${lsb_ldso_abi_list[i+1]} - lsb_ldso_name=${lsb_ldso_abi_list[i+2]} - has ${lsb_ldso_abi} $(get_install_abis) || continue - - if [[ ! -L ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} && ! -e ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} ]] ; then - dosym ${native_ldso_name} "$(alt_prefix)/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name}" - fi - done - - # With devpts under Linux mounted properly, we do not need the pt_chown - # binary to be setuid. This is because the default owners/perms will be - # exactly what we want. - if ! use suid ; then - find "${ED}" -name pt_chown -exec chmod -s {} + - fi - - ################################################################# - # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY # - ################################################################# - - # Make sure we install some symlink hacks so that when we build - # a 2nd stage cross-compiler, gcc finds the target system - # headers correctly. See gcc/doc/gccinstall.info - if is_crosscompile ; then - # We need to make sure that /lib and /usr/lib always exists. - # gcc likes to use relative paths to get to its multilibs like - # /usr/lib/../lib64/. So while we don't install any files into - # /usr/lib/, we do need it to exist. - keepdir $(alt_prefix)/lib - keepdir $(alt_prefix)/usr/lib - - dosym usr/include $(alt_prefix)/sys-include - return 0 - fi - - # Files for Debian-style locale updating - dodir /usr/share/i18n - sed \ - -e "/^#/d" \ - -e "/SUPPORTED-LOCALES=/d" \ - -e "s: \\\\::g" -e "s:/: :g" \ - "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \ - || die "generating /usr/share/i18n/SUPPORTED failed" - - cd "${S}" || die - - # Install misc network config files - insinto /etc - doins posix/gai.conf - - if use systemd ; then - doins "${WORKDIR}/glibc-systemd-${GLIBC_SYSTEMD_VER}/gentoo-config/nsswitch.conf" - else - doins nss/nsswitch.conf - fi - - # Gentoo-specific - newins "${FILESDIR}"/host.conf-1 host.conf - - if use nscd ; then - doins nscd/nscd.conf - - newinitd "$(prefixify_ro "${FILESDIR}"/nscd-1)" nscd - - local nscd_args=( - -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):" - ) - - sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd - - use systemd && systemd_dounit nscd/nscd.service - newtmpfiles nscd/nscd.tmpfiles nscd.conf - fi - - echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc - doenvd "${T}"/00glibc - - for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do - [[ -s ${d} ]] && dodoc ${d} - done - dodoc -r ChangeLog.old - - # Prevent overwriting of the /etc/localtime symlink. We'll handle the - # creation of the "factory" symlink in pkg_postinst(). - rm -f "${ED}"/etc/localtime - - # Generate all locales if this is a native build as locale generation - if use compile-locales && ! is_crosscompile ; then - run_locale_gen --inplace-glibc "${ED}/" - fi -} - -glibc_headers_install() { - local builddir=$(builddir "headers") - cd "${builddir}" - emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install-headers - - insinto $(alt_headers)/gnu - doins "${S}"/include/gnu/stubs.h - - # Make sure we install the sys-include symlink so that when - # we build a 2nd stage cross-compiler, gcc finds the target - # system headers correctly. See gcc/doc/gccinstall.info - dosym usr/include $(alt_prefix)/sys-include -} - -src_install() { - if just_headers ; then - export ABI=default - glibc_headers_install - return - fi - - foreach_abi glibc_do_src_install - - if ! use static-libs ; then - einfo "Not installing static glibc libraries" - find "${ED}" -name "*.a" -and -not -name "*_nonshared.a" -delete - fi -} - -# Simple test to make sure our new glibc isn't completely broken. -# Make sure we don't test with statically built binaries since -# they will fail. Also, skip if this glibc is a cross compiler. -# -# If coreutils is built with USE=multicall, some of these files -# will just be wrapper scripts, not actual ELFs we can test. -glibc_sanity_check() { - cd / #228809 - - # We enter ${ED} so to avoid trouble if the path contains - # special characters; for instance if the path contains the - # colon character (:), then the linker will try to split it - # and look for the libraries in an unexpected place. This can - # lead to unsafe code execution if the generated prefix is - # within a world-writable directory. - # (e.g. /var/tmp/portage:${HOSTNAME}) - pushd "${ED}"/$(get_libdir) >/dev/null - - # first let's find the actual dynamic linker here - # symlinks may point to the wrong abi - local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit) - - einfo Last-minute run tests with ${newldso} in /$(get_libdir) ... - - local x striptest - for x in cal date env free ls true uname uptime ; do - x=$(type -p ${x}) - [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue - striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue - case ${striptest} in - *"statically linked"*) continue;; - *"ASCII text"*) continue;; - esac - # We need to clear the locale settings as the upgrade might want - # incompatible locale data. This test is not for verifying that. - LC_ALL=C \ - ${newldso} --library-path . ${x} > /dev/null \ - || die "simple run test (${x}) failed" - done - - popd >/dev/null -} - -pkg_preinst() { - # nothing to do if just installing headers - just_headers && return - - einfo "Checking general environment sanity." - sanity_prechecks - - # prepare /etc/ld.so.conf.d/ for files - mkdir -p "${EROOT}"/etc/ld.so.conf.d - - # Default /etc/hosts.conf:multi to on for systems with small dbs. - if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then - sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf - einfo "Defaulting /etc/host.conf:multi to on" - fi - - [[ -n ${ROOT} ]] && return 0 - [[ -d ${ED}/$(get_libdir) ]] || return 0 - [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check - - if [[ -L ${EROOT}/usr/lib/locale ]]; then - # Help portage migrate this to a directory - # https://bugs.gentoo.org/753740 - rm "${EROOT}"/usr/lib/locale || die - fi - - # Keep around libcrypt so that Perl doesn't break when merging libxcrypt - # (libxcrypt is the new provider for now of libcrypt.so.{1,2}). - # bug #802207 - if has_version "${CATEGORY}/${PN}[crypt]" && ! has preserve-libs ${FEATURES}; then - PRESERVED_OLD_LIBCRYPT=1 - cp -p "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" \ - "${T}/libcrypt$(get_libname 1)" || die - else - PRESERVED_OLD_LIBCRYPT=0 - fi -} - -glibc_refresh_ldconfig() { - if [[ ${MERGE_TYPE} == buildonly ]]; then - return - fi - - # Version check could be added to avoid unnecessary work, but ldconfig - # should finish quickly enough to not matter. - ebegin "Refreshing ld.so.cache" - ldconfig -i - if ! eend $?; then - ewarn "Failed to refresh the ld.so.cache for you. Some programs may be broken" - ewarn "before you manually do so (ldconfig -i)." - fi -} - -pkg_postinst() { - # nothing to do if just installing headers - just_headers && return - - if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then - # Generate fastloading iconv module configuration file. - "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}/" - fi - - if ! is_crosscompile && [[ -z ${ROOT} ]] ; then - # glibc-2.38+ on loong has ldconfig support added, but the ELF e_flags - # handling has changed as well, which means stale ldconfig auxiliary - # cache entries and failure to lookup libgcc_s / libstdc++ (breaking - # every C++ application) / libgomp etc., among other breakages. - # - # To fix this, simply refresh the ld.so.cache without using the - # auxiliary cache if we're natively installing on loong. This should - # be done relatively soon because we want to minimize the breakage - # window for the affected programs. - use loong && glibc_refresh_ldconfig - - use compile-locales || run_locale_gen "${EROOT}/" - - # If fixincludes was/is active for a particular GCC slot, we - # must refresh it. See bug #933282 and GCC's documentation: - # https://gcc.gnu.org/onlinedocs/gcc/Fixed-Headers.html - # - # TODO: Could this be done for cross? Some care would be needed - # to pass the right arguments. - while IFS= read -r -d $'\0' slot ; do - local mkheaders_path="${BROOT}"/usr/libexec/gcc/${CBUILD}/${slot##*/}/install-tools/mkheaders - local pthread_h="${BROOT}"/usr/lib/gcc/${CBUILD}/${slot##*/}/include-fixed/pthread.h - if [[ -x ${mkheaders_path} ]] ; then - ebegin "Refreshing fixincludes for ${CBUILD} with gcc-${slot##*/}" - ${mkheaders_path} -v - eend $? - elif [[ -f ${pthread_h} ]] ; then - # fixincludes might have been enabled in the past for this - # GCC slot but not since we fixed toolchain.eclass to install - # mkheaders, so we need to manually delete pthread.h at least. - ebegin "Deleting stale fixincludes'd pthread.h for ${CBUILD} with gcc-${slot##*/}" - mv -v "${pthread_h}" "${pthread_h}.bak" - eend $? - fi - done < <(find "${BROOT}"/usr/libexec/gcc/${CBUILD}/ -mindepth 1 -maxdepth 1 -type d -print0) - fi - - upgrade_warning - - # Check for sanity of /etc/nsswitch.conf, take 2 - if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then - local entry - for entry in passwd group shadow; do - if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then - ewarn "" - ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" - ewarn "removed from glibc and is now provided by the package" - ewarn " sys-auth/libnss-nis" - ewarn "Install it now to keep your NIS setup working." - ewarn "" - fi - done - fi - - if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then - cp -p "${T}/libcrypt$(get_libname 1)" "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" || die - preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1) - - elog "Please ignore a possible later error message about a file collision involving" - elog "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1). We need to preserve this file for the moment to keep" - elog "the upgrade working, but it also needs to be overwritten when" - elog "sys-libs/libxcrypt is installed. See bug 802210 for more details." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.40-r8.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.40-r11.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.40-r8.ebuild rename to sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.40-r11.ebuild index 8e0d873be4..07f8c01de0 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.40-r8.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.40-r11.ebuild @@ -12,7 +12,7 @@ TMPFILES_OPTIONAL=1 EMULTILIB_PKG="true" # Gentoo patchset (ignored for live ebuilds) -PATCH_VER=8 +PATCH_VER=11 PATCH_DEV=dilfridge # gcc mulitilib bootstrap files version diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.40-r9.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.40-r9.ebuild deleted file mode 100644 index f29e7f79f2..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.40-r9.ebuild +++ /dev/null @@ -1,1754 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc -# Please read & adapt the page as necessary if obsolete. - -PYTHON_COMPAT=( python3_{10..13} ) -TMPFILES_OPTIONAL=1 - -EMULTILIB_PKG="true" - -# Gentoo patchset (ignored for live ebuilds) -PATCH_VER=9 -PATCH_DEV=dilfridge - -# gcc mulitilib bootstrap files version -GCC_BOOTSTRAP_VER=20201208 - -# systemd integration version -GLIBC_SYSTEMD_VER=20210729 - -# Minimum kernel version that glibc requires -MIN_KERN_VER="3.2.0" - -# Minimum pax-utils version needed (which contains any new syscall changes for -# its seccomp filter!). Please double check this! -MIN_PAX_UTILS_VER="1.3.3" - -# Minimum systemd version needed (which contains any new syscall changes for -# its seccomp filter!). Please double check this! -MIN_SYSTEMD_VER="254.9-r1" - -inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \ - multilib systemd multiprocessing tmpfiles - -DESCRIPTION="GNU libc C library" -HOMEPAGE="https://www.gnu.org/software/libc/" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 -else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - SRC_URI="mirror://gnu/glibc/${P}.tar.xz" - SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz" -fi - -SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" -SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )" - -LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE" -SLOT="2.2" -IUSE="audit caps cet compile-locales custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd perl profile selinux +ssp stack-realign +static-libs suid systemd systemtap test vanilla" - -# Here's how the cross-compile logic breaks down ... -# CTARGET - machine that will target the binaries -# CHOST - machine that will host the binaries -# CBUILD - machine that will build the binaries -# If CTARGET != CHOST, it means you want a libc for cross-compiling. -# If CHOST != CBUILD, it means you want to cross-compile the libc. -# CBUILD = CHOST = CTARGET - native build/install -# CBUILD != (CHOST = CTARGET) - cross-compile a native build -# (CBUILD = CHOST) != CTARGET - libc for cross-compiler -# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler -# For install paths: -# CHOST = CTARGET - install into / -# CHOST != CTARGET - install into /usr/CTARGET/ -# -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -# Note [Disable automatic stripping] -# Disabling automatic stripping for a few reasons: -# - portage's attempt to strip breaks non-native binaries at least on -# arm: bug #697428 -# - portage's attempt to strip libpthread.so.0 breaks gdb thread -# enumeration: bug #697910. This is quite subtle: -# * gdb uses glibc's libthread_db-1.0.so to enumerate threads. -# * libthread_db-1.0.so needs access to libpthread.so.0 local symbols -# via 'ps_pglobal_lookup' symbol defined in gdb. -# * 'ps_pglobal_lookup' uses '.symtab' section table to resolve all -# known symbols in 'libpthread.so.0'. Specifically 'nptl_version' -# (unexported) is used to sanity check compatibility before enabling -# debugging. -# Also see https://sourceware.org/gdb/wiki/FAQ#GDB_does_not_see_any_threads_besides_the_one_in_which_crash_occurred.3B_or_SIGTRAP_kills_my_program_when_I_set_a_breakpoint -# * normal 'strip' command trims '.symtab' -# Thus our main goal here is to prevent 'libpthread.so.0' from -# losing it's '.symtab' entries. -# - similarly, valgrind requires knowledge about symbols in ld.so: -# bug #920753 -# As Gentoo's strip does not allow us to pass less aggressive stripping -# options and does not check the machine target we strip selectively. - -# We need a new-enough binutils/gcc to match upstream baseline. -# Also we need to make sure our binutils/gcc supports TLS, -# and that gcc already contains the hardened patches. -# Lastly, let's avoid some openssh nastiness, bug 708224, as -# convenience to our users. - -IDEPEND=" - !compile-locales? ( sys-apps/locale-gen ) -" -BDEPEND=" - ${PYTHON_DEPS} - >=app-misc/pax-utils-${MIN_PAX_UTILS_VER} - sys-devel/bison - compile-locales? ( sys-apps/locale-gen ) - doc? ( - dev-lang/perl - sys-apps/texinfo - ) - test? ( - dev-lang/perl - >=net-dns/libidn2-2.3.0 - ) -" -COMMON_DEPEND=" - gd? ( media-libs/gd:2= ) - nscd? ( selinux? ( - audit? ( sys-process/audit ) - caps? ( sys-libs/libcap ) - ) ) - suid? ( caps? ( sys-libs/libcap ) ) - selinux? ( sys-libs/libselinux ) - systemtap? ( dev-debug/systemtap ) -" -DEPEND="${COMMON_DEPEND} -" -RDEPEND="${COMMON_DEPEND} - !/dev/null - - rm -f glibc-test* - printf '%b' "$*" > glibc-test.c - - # We assume CC is already set up. - nonfatal emake glibc-test - ret=$? - - popd >/dev/null - - CFLAGS=${save_cflags} - return ${ret} -} - -do_run_test() { - local ret - - if [[ ${MERGE_TYPE} == "binary" ]] ; then - # ignore build failures when installing a binary package #324685 - do_compile_test "" "$@" 2>/dev/null || return 0 - else - if ! do_compile_test "" "$@" ; then - ewarn "Simple build failed ... assuming this is desired #324685" - return 0 - fi - fi - - pushd "${T}" >/dev/null - - ./glibc-test - ret=$? - rm -f glibc-test* - - popd >/dev/null - - return ${ret} -} - -setup_target_flags() { - # This largely mucks with compiler flags. None of which should matter - # when building up just the headers. - just_headers && return 0 - - case $(tc-arch) in - x86) - # -march needed for #185404 #199334 - # TODO: When creating the first glibc cross-compile, this test will - # always fail as it does a full link which in turn requires glibc. - # Probably also applies when changing multilib profile settings (e.g. - # enabling x86 when the profile was amd64-only previously). - # We could change main to _start and pass -nostdlib here so that we - # only test the gcc code compilation. Or we could do a compile and - # then look for the symbol via scanelf. - if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then - local t=${CTARGET_OPT:-${CTARGET}} - t=${t%%-*} - filter-flags '-march=*' - export CFLAGS="-march=${t} ${CFLAGS}" - einfo "Auto adding -march=${t} to CFLAGS #185404" - fi - # For compatibility with older binaries at slight performance cost. - use stack-realign && export CFLAGS+=" -mstackrealign" - ;; - amd64) - # -march needed for #185404 #199334 - # TODO: See cross-compile issues listed above for x86. - if [[ ${ABI} == x86 ]]; then - if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then - local t=${CTARGET_OPT:-${CTARGET}} - t=${t%%-*} - # Normally the target is x86_64-xxx, so turn that into the -march that - # gcc actually accepts. #528708 - [[ ${t} == "x86_64" ]] && t="x86-64" - filter-flags '-march=*' - # ugly, ugly, ugly. ugly. - CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}") - export CFLAGS_x86="${CFLAGS_x86} -march=${t}" - einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})" - fi - # For compatibility with older binaries at slight performance cost. - use stack-realign && export CFLAGS_x86+=" -mstackrealign" - fi - ;; - mips) - # The mips abi cannot support the GNU style hashes. #233233 - filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both - ;; - ppc|ppc64) - # Many arch-specific implementations do not work on ppc with - # cache-block not equal to 128 bytes. This breaks memset: - # https://sourceware.org/PR26522 - # https://bugs.gentoo.org/737996 - # Use default -mcpu=. For ppc it means non-multiarch setup. - filter-flags '-mcpu=*' - ;; - sparc) - # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though. - filter-flags "-fcall-used-g7" - append-flags "-fcall-used-g6" - - local cpu - case ${CTARGET} in - sparc64-*) - cpu="sparc64" - case $(get-flag mcpu) in - v9) - # We need to force at least v9a because the base build doesn't - # work with just v9. - # https://sourceware.org/bugzilla/show_bug.cgi?id=19477 - append-flags "-Wa,-xarch=v9a" - ;; - esac - ;; - sparc-*) - case $(get-flag mcpu) in - v8|supersparc|hypersparc|leon|leon3) - cpu="sparcv8" - ;; - *) - cpu="sparcv9" - ;; - esac - ;; - esac - [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}" - ;; - esac -} - -setup_flags() { - # Make sure host make.conf doesn't pollute us - if is_crosscompile || tc-is-cross-compiler ; then - CHOST=${CTARGET} strip-unsupported-flags - fi - - # Store our CFLAGS because it's changed depending on which CTARGET - # we are building when pulling glibc on a multilib profile - CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}} - CFLAGS=${CFLAGS_BASE} - CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}} - CXXFLAGS=${CXXFLAGS_BASE} - ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}} - ASFLAGS=${ASFLAGS_BASE} - - # Allow users to explicitly avoid flag sanitization via - # USE=custom-cflags. - if ! use custom-cflags; then - # Over-zealous CFLAGS can often cause problems. What may work for one - # person may not work for another. To avoid a large influx of bugs - # relating to failed builds, we strip most CFLAGS out to ensure as few - # problems as possible. - strip-flags - - # Allow -O2 and -O3, but nothing else for now. - # TODO: Test -Os, -Oz. - if ! is-flagq '-O@(2|3)' ; then - # Lock glibc at -O2. We want to be conservative here. - filter-flags '-O?' - append-flags -O2 - fi - fi - - strip-unsupported-flags - filter-lto - filter-flags -m32 -m64 '-mabi=*' - - # glibc aborts if rpath is set by LDFLAGS - filter-ldflags '-Wl,-rpath=*' - - # ld can't use -r & --relax at the same time, bug #788901 - # https://sourceware.org/PR27837 - filter-ldflags '-Wl,--relax' - - # Flag added for cross-prefix, but causes ldconfig to segfault. Not needed - # anyway because glibc already handles this by itself. - filter-ldflags '-Wl,--dynamic-linker=*' - - # Fails to link (bug #940709) in some cases but even if it manages to, - # subtle runtime breakage will occur because the linker scripts need - # adaptation. Mentioned in PR21557#c0. - filter-ldflags '-Wl,--gc-sections' - - # some weird software relies on sysv hashes in glibc, bug 863863, bug 864100 - # we have to do that here already so mips can filter it out again :P - if use hash-sysv-compat ; then - append-ldflags '-Wl,--hash-style=both' - fi - - # #492892 - filter-flags -frecord-gcc-switches - - # #898098 - filter-flags -fno-builtin - - # #798774 - filter-flags -fno-semantic-interposition - - # #829583 - filter-lfs-flags - - unset CBUILD_OPT CTARGET_OPT - if use multilib ; then - CTARGET_OPT=$(get_abi_CTARGET) - [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST) - fi - - setup_target_flags - - if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then - CBUILD_OPT=${CTARGET_OPT} - fi - - # glibc's headers disallow -O0 and fail at build time: - # include/libc-symbols.h:75:3: #error "glibc cannot be compiled without optimization" - # https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F - replace-flags -O0 -O1 - - # glibc handles this internally already where it's appropriate; - # can't always have SSP when we're the ones setting it up, etc - filter-flags '-fstack-protector*' - - # Similar issues as with SSP. Can't inject yourself that early. - filter-flags '-fsanitize=*' - - # See end of bug #830454; we handle this via USE=cet - filter-flags '-fcf-protection=*' - - # When bootstrapping, we may have a situation where - # CET-enabled gcc from seed is used to build CET-disabled - # glibc. As such, gcc implicitly enables CET if no - # -fcf-protection flag is passed. For a typical package it - # should not be a problem, but for glibc it matters as it is - # dealing with CET in ld.so. So if CET is supposed to be - # disabled for glibc, be explicit about it. - if ! use cet; then - case ${ABI}-${CTARGET} in - amd64-x86_64-*|x32-x86_64-*-*-gnux32) - append-flags '-fcf-protection=none' - ;; - arm64-aarch64*) - append-flags '-mbranch-protection=none' - ;; - esac - fi -} - -use_multiarch() { - # Allow user to disable runtime arch detection in multilib. - use multiarch || return 1 - # Make sure binutils is new enough to support indirect functions, - # #336792. This funky sed supports gold and bfd linkers. - local bver nver - bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}') - case $(tc-arch ${CTARGET}) in - amd64|x86) nver="2.20" ;; - arm) nver="2.22" ;; - hppa) nver="2.23" ;; - ppc|ppc64) nver="2.20" ;; - # ifunc support was added in 2.23, but glibc also needs - # machinemode which is in 2.24. - s390) nver="2.24" ;; - sparc) nver="2.21" ;; - *) return 1 ;; - esac - ver_test ${bver} -ge ${nver} -} - -# Setup toolchain variables that had historically been defined in the -# profiles for these archs. -setup_env() { - # silly users - unset LD_RUN_PATH - unset LD_ASSUME_KERNEL - - if is_crosscompile || tc-is-cross-compiler ; then - multilib_env ${CTARGET_OPT:-${CTARGET}} - - if ! use multilib ; then - MULTILIB_ABIS=${DEFAULT_ABI} - else - MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}} - fi - - # If the user has CFLAGS_ in their make.conf, use that, - # and fall back on CFLAGS. - local VAR=CFLAGS_${CTARGET//[-.]/_} - CFLAGS=${!VAR-${CFLAGS}} - einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}" - fi - - setup_flags - - export ABI=${ABI:-${DEFAULT_ABI:-default}} - - if just_headers ; then - # Avoid mixing host's CC and target's CFLAGS_${ABI}: - # At this bootstrap stage we have only binutils for - # target but not compiler yet. - einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." - return 0 - fi - - # glibc does not work with non-bfd (for various reasons): - # * gold (bug #269274) - # * mold (bug #860900) - tc-ld-force-bfd - - if use doc ; then - export MAKEINFO=makeinfo - else - export MAKEINFO=/dev/null - fi - - # Reset CC and CXX to the value at start of emerge - export CC=${glibc__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}} - export CXX=${glibc__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}} - export CPP=${glibc__ORIG_CPP:-${CPP:-$(tc-getCPP ${CTARGET})}} - - # and make sure glibc__ORIG_CC and glibc__ORIG_CXX is defined now. - export glibc__ORIG_CC=${CC} - export glibc__ORIG_CXX=${CXX} - export glibc__ORIG_CPP=${CPP} - - if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then - export glibc__force_gcc=yes - # once this is toggled on, it needs to stay on, since with CPP manipulated - # tc-is-clang does not work correctly anymore... - fi - - if [[ ${glibc__force_gcc} == "yes" ]] ; then - # If we are running in an otherwise clang/llvm environment, we need to - # recover the proper gcc and binutils settings here, at least until glibc - # is finally building with clang. So let's override everything that is - # set in the clang profiles. - # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always - # a good start into that direction. - # Also, if you're crosscompiling, let's assume you know what you are doing. - # Hopefully. - # Last, we need the settings of the *build* environment, not of the - # target environment... - - local current_binutils_path=$(env CHOST="${CBUILD}" ROOT="${BROOT}" binutils-config -B "${CTARGET}") - local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B) - einfo "Overriding clang configuration, since it won't work here" - - export CC="${current_gcc_path}/${CTARGET}-gcc" - export CPP="${current_gcc_path}/${CTARGET}-cpp" - export CXX="${current_gcc_path}/${CTARGET}-g++" - export LD="${current_binutils_path}/ld.bfd" - export AR="${current_binutils_path}/ar" - export AS="${current_binutils_path}/as" - export NM="${current_binutils_path}/nm" - export STRIP="${current_binutils_path}/strip" - export RANLIB="${current_binutils_path}/ranlib" - export OBJCOPY="${current_binutils_path}/objcopy" - export STRINGS="${current_binutils_path}/strings" - export OBJDUMP="${current_binutils_path}/objdump" - export READELF="${current_binutils_path}/readelf" - export ADDR2LINE="${current_binutils_path}/addr2line" - - # do we need to also do flags munging here? yes! at least... - filter-flags '-fuse-ld=*' - filter-flags '-D_FORTIFY_SOURCE=*' - - else - - # this is the "normal" case - - export CC="$(tc-getCC ${CTARGET})" - export CXX="$(tc-getCXX ${CTARGET})" - export CPP="$(tc-getCPP ${CTARGET})" - - # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure - # can't detect them automatically due to ${CHOST} mismatch and fallbacks - # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). - export NM="$(tc-getNM ${CTARGET})" - export READELF="$(tc-getREADELF ${CTARGET})" - - fi - - # We need to export CFLAGS with abi information in them because glibc's - # configure script checks CFLAGS for some targets (like mips). Keep - # around the original clean value to avoid appending multiple ABIs on - # top of each other. (Why does the comment talk about CFLAGS if the code - # acts on CC?) - export glibc__GLIBC_CC=${CC} - export glibc__GLIBC_CXX=${CXX} - export glibc__GLIBC_CPP=${CPP} - - export glibc__abi_CFLAGS="$(get_abi_CFLAGS)" - - # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 - # To build .S (assembly) files with the same ABI-specific flags - # upstream currently recommends adding CFLAGS to CC/CXX: - # https://sourceware.org/PR23273 - # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS - # and breaks multiarch support. See 659030#c3 for an example. - # The glibc configure script doesn't properly use LDFLAGS all the time. - export CC="${glibc__GLIBC_CC} ${glibc__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}" - - # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 - export CXX="${glibc__GLIBC_CXX} ${glibc__abi_CFLAGS} ${CFLAGS}" - - export CPP="${glibc__GLIBC_CPP} ${glibc__abi_CFLAGS} ${CFLAGS}" - - if is_crosscompile; then - # Assume worst-case bootstrap: glibc is built for the first time - # with ${CTARGET}-g++ not available yet. We avoid - # building auxiliary programs that require C++: bug #683074 - # It should not affect final result. - export libc_cv_cxx_link_ok=no - # The line above has the same effect. We set CXX explicitly - # to make build logs less confusing. - export CXX= - fi -} - -foreach_abi() { - setup_env - - local ret=0 - local abilist="" - if use multilib ; then - abilist=$(get_install_abis) - else - abilist=${DEFAULT_ABI} - fi - local -x ABI - for ABI in ${abilist:-default} ; do - setup_env - einfo "Running $1 for ABI ${ABI}" - $1 - : $(( ret |= $? )) - done - return ${ret} -} - -glibc_banner() { - local b="Gentoo ${PVR}" - [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" (patchset ${PATCH_VER})" - echo "${b}" -} - -# The following Kernel version handling functions are mostly copied from portage -# source. It's better not to use linux-info.eclass here since a) it adds too -# much magic, see bug 326693 for some of the arguments, and b) some of the -# functions are just not provided. - -g_get_running_KV() { - uname -r - return $? -} - -g_KV_major() { - [[ -z $1 ]] && return 1 - local KV=$@ - echo "${KV%%.*}" -} - -g_KV_minor() { - [[ -z $1 ]] && return 1 - local KV=$@ - KV=${KV#*.} - echo "${KV%%.*}" -} - -g_KV_micro() { - [[ -z $1 ]] && return 1 - local KV=$@ - KV=${KV#*.*.} - echo "${KV%%[^[:digit:]]*}" -} - -g_KV_to_int() { - [[ -z $1 ]] && return 1 - local KV_MAJOR=$(g_KV_major "$1") - local KV_MINOR=$(g_KV_minor "$1") - local KV_MICRO=$(g_KV_micro "$1") - local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO )) - - # We make version 2.2.0 the minimum version we will handle as - # a sanity check ... if its less, we fail ... - if [[ ${KV_int} -ge 131584 ]] ; then - echo "${KV_int}" - return 0 - fi - return 1 -} - -g_int_to_KV() { - local version=$1 major minor micro - major=$((version / 65536)) - minor=$(((version % 65536) / 256)) - micro=$((version % 256)) - echo ${major}.${minor}.${micro} -} - -eend_KV() { - [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]] - eend $? -} - -get_kheader_version() { - printf '#include \nLINUX_VERSION_CODE\n' | \ - $(tc-getCPP ${CTARGET}) -I "${ESYSROOT}$(alt_headers)" - | \ - tail -n 1 -} - -# We collect all sanity checks here. Consistency is not guranteed between -# pkg_ and src_ phases, so we call this function both in pkg_pretend and in -# src_unpack. -sanity_prechecks() { - # Prevent native builds from downgrading - if [[ ${MERGE_TYPE} != "buildonly" ]] && \ - [[ -z ${ROOT} ]] && \ - [[ ${CBUILD} == ${CHOST} ]] && \ - [[ ${CHOST} == ${CTARGET} ]] ; then - - # The high rev # is to allow people to downgrade between -r# - # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2 - # should be fine. Hopefully we never actually use a r# this - # high. - if has_version ">${CATEGORY}/${P}-r10000" ; then - eerror "Sanity check to keep you from breaking your system:" - eerror " Downgrading glibc is not supported and a sure way to destruction." - [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system." - fi - - if ! do_run_test '#include \n#include \nint main(){return syscall(1000)!=-1;}\n' ; then - eerror "Your old kernel is broken. You need to update it to a newer" - eerror "version as syscall() will break. See bug 279260." - die "Old and broken kernel." - fi - fi - - if [[ ${CTARGET} == i386-* ]] ; then - eerror "i386 CHOSTs are no longer supported." - eerror "Chances are you don't actually want/need i386." - eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml" - die "Please fix your CHOST" - fi - - if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then - ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS." - ewarn "This will result in a 50% performance penalty when running with a 32bit" - ewarn "hypervisor, which is probably not what you want." - fi - - # ABI-specific checks follow here. Hey, we have a lot more specific conditions that - # we test for... - if ! is_crosscompile ; then - if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then - ebegin "Checking if the system can execute 32-bit binaries" - echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c" - local STAT - if ${CC-${CHOST}-gcc} ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then - "${T}/check-ia32-emulation.elf32" - STAT=$? - else - # Don't fail here to allow single->multi ABI switch - # or recover from breakage like bug #646424 - ewarn "Failed to compile the ABI test. Broken host glibc?" - STAT=0 - fi - rm -f "${T}/check-ia32-emulation.elf32" - eend $STAT - if [[ $STAT -ne 0 ]]; then - eerror "Ensure that CONFIG_IA32_EMULATION is enabled in the kernel." - eerror "Seek support otherwise." - die "Unable to execute 32-bit binaries" - fi - fi - - fi - - # When we actually have to compile something... - if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then - if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then - # bug #833620, bug #643302 - eerror "Found ${ESYSROOT}/usr/lib/include directory!" - eerror "This is known to break glibc's build." - eerror "Please backup its contents then remove the directory." - die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!" - fi - - if [[ ${CTARGET} == *-linux* ]] ; then - local run_kv build_kv want_kv - - run_kv=$(g_get_running_KV) - build_kv=$(g_int_to_KV $(get_kheader_version)) - want_kv=${MIN_KERN_VER} - - if ! is_crosscompile && ! tc-is-cross-compiler ; then - # Building fails on an non-supporting kernel - ebegin "Checking running kernel version (${run_kv} >= ${want_kv})" - if ! eend_KV ${run_kv} ${want_kv} ; then - echo - eerror "You need a kernel of at least ${want_kv}!" - die "Kernel version too low!" - fi - fi - - # Do not run this check for pkg_pretend, just pkg_setup and friends (if we ever get used there). - # It's plausible (seen it in the wild) that Portage will (correctly) schedule a linux-headers - # upgrade before glibc, but because pkg_pretend gets run before any packages are merged at all (not - # just glibc), the whole emerge gets aborted without a good reason. We probably don't - # need to run this check at all given we have a dependency on the right headers, - # but let's leave it as-is for now. - if [[ ${EBUILD_PHASE_FUNC} != pkg_pretend ]] ; then - ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})" - if ! eend_KV ${build_kv} ${want_kv} ; then - echo - eerror "You need linux-headers of at least ${want_kv}!" - die "linux-headers version too low!" - fi - fi - fi - fi -} - -upgrade_warning() { - is_crosscompile && return - - if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then - local oldv newv=$(ver_cut 1-2 ${PV}) - for oldv in ${REPLACING_VERSIONS}; do - if ver_test ${oldv} -lt ${newv}; then - ewarn "After upgrading glibc, please restart all running processes." - ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." - ewarn "Alternatively, reboot your system." - ewarn "(See bug #660556, bug #741116, bug #823756, etc)" - break - fi - done - fi -} - -# -# the phases -# - -# pkg_pretend - -pkg_pretend() { - upgrade_warning -} - -# pkg_setup - -pkg_setup() { - # see bug 682570 - [[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup -} - -# src_unpack - -src_unpack() { - setup_env - - einfo "Checking general environment sanity." - sanity_prechecks - - use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz - - if [[ ${PV} == 9999* ]] ; then - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git" - EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git - git-r3_src_unpack - mv patches-git/9999 patches || die - - EGIT_REPO_URI="https://sourceware.org/git/glibc.git" - EGIT_CHECKOUT_DIR=${S} - git-r3_src_unpack - else - unpack ${P}.tar.xz - - cd "${WORKDIR}" || die - unpack glibc-${PV}-patches-${PATCH_VER}.tar.xz - fi - - cd "${WORKDIR}" || die - use systemd && unpack glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz -} - -# src_prepare - -src_prepare() { - local patchsetname - if ! use vanilla ; then - if [[ ${PV} == 9999* ]] ; then - patchsetname="from git master" - else - patchsetname="${PV}-${PATCH_VER}" - fi - einfo "Applying Gentoo Glibc patchset ${patchsetname}" - eapply "${WORKDIR}"/patches - einfo "Done." - fi - - default - - gnuconfig_update - - cd "${WORKDIR}" || die - find . -name configure -exec touch {} + - - # Fix permissions on some of the scripts. - chmod u+x "${S}"/scripts/*.sh - - cd "${S}" || die -} - -# src_configure - -glibc_do_configure() { - dump_build_environment - - local myconf=() - - # Use '=strong' instead of '=all' to protect only functions - # worth protecting from stack smashes. - myconf+=( --enable-stack-protector=$(usex ssp strong no) ) - - # Keep a whitelist of targets supporting IFUNC. glibc's ./configure - # is not robust enough to detect proper support: - # https://bugs.gentoo.org/641216 - # https://sourceware.org/PR22634#c0 - case $(tc-arch ${CTARGET}) in - # Keep whitelist of targets where autodetection mostly works. - amd64|x86|sparc|ppc|ppc64|arm|arm64|s390|riscv|loong) ;; - # Blacklist everywhere else - *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;; - esac - - case ${ABI}-${CTARGET} in - amd64-x86_64-*|x32-x86_64-*-*-gnux32) myconf+=( $(use_enable cet) ) ;; - *) ;; - esac - - [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp ) - - myconf+=( --enable-kernel=${MIN_KERN_VER} ) - - # Since SELinux support is only required for nscd, only enable it if: - # 1. USE selinux - # 2. only for the primary ABI on multilib systems - # 3. Not a crosscompile - if ! is_crosscompile && use selinux ; then - if use multilib ; then - if is_final_abi ; then - myconf+=( --with-selinux ) - else - myconf+=( --without-selinux ) - fi - else - myconf+=( --with-selinux ) - fi - else - myconf+=( --without-selinux ) - fi - - # Force a few tests where we always know the answer but - # configure is incapable of finding it. - if is_crosscompile ; then - export \ - libc_cv_c_cleanup=yes \ - libc_cv_forced_unwind=yes - fi - - myconf+=( - --disable-werror - --enable-bind-now - --enable-fortify-source - --build=${CBUILD_OPT:-${CBUILD}} - --host=${CTARGET_OPT:-${CTARGET}} - $(use_enable profile) - $(use_with gd) - --with-headers="${ESYSROOT}$(alt_headers)" - --prefix="$(host_eprefix)/usr" - --sysconfdir="$(host_eprefix)/etc" - --localstatedir="$(host_eprefix)/var" - --libdir='$(prefix)'/$(get_libdir) - --mandir='$(prefix)'/share/man - --infodir='$(prefix)'/share/info - --libexecdir='$(libdir)'/misc/glibc - --with-bugurl=https://bugs.gentoo.org/ - --with-pkgversion="$(glibc_banner)" - $(use_multiarch || echo --disable-multi-arch) - $(use_enable systemtap) - $(use_enable nscd) - - # /usr/bin/mtrace has a Perl shebang. Gentoo Prefix QA checks fail if - # Perl hasn't been installed inside the prefix yet and configure picks - # up a Perl from outside the prefix instead. configure will fail to - # execute Perl during configure if we're cross-compiling a prefix, but - # it will just disable mtrace in that case. - # Note: mtrace is needed by the test suite. - ac_cv_path_PERL="$(usex perl "${EPREFIX}"/usr/bin/perl $(usex test "${EPREFIX}"/usr/bin/perl $(usex doc "${EPREFIX}"/usr/bin/perl no)))" - - # locale data is arch-independent - # https://bugs.gentoo.org/753740 - libc_cv_complocaledir='${exec_prefix}/lib/locale' - - # On aarch64 there is no way to override -mcpu=native, and if - # the current cpu does not support SVE configure fails. - # Let's boldly assume our toolchain can always build SVE instructions. - libc_cv_aarch64_sve_asm=yes - - ${EXTRA_ECONF} - ) - - # We rely on sys-libs/timezone-data for timezone tools normally. - myconf+=( $(use_enable vanilla timezone-tools) ) - - # These libs don't have configure flags. - ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no) - ac_cv_lib_cap_cap_init=$(usex caps || echo no) - - # There is no configure option for this and we need to export it - # since the glibc build will re-run configure on itself - export libc_cv_rootsbindir="$(host_eprefix)/sbin" - export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)" - - local builddir=$(builddir nptl) - mkdir -p "${builddir}" - cd "${builddir}" - set -- "${S}"/configure "${myconf[@]}" - echo "$@" - "$@" || die "failed to configure glibc" - - # If we're trying to migrate between ABI sets, we need - # to lie and use a local copy of gcc. Like if the system - # is built with MULTILIB_ABIS="amd64 x86" but we want to - # add x32 to it, gcc/glibc don't yet support x32. - # - if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib-bootstrap ; then - echo 'int main(void){}' > "${T}"/test.c || die - if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then - sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die - fi - fi -} - -glibc_headers_configure() { - export ABI=default - - local builddir=$(builddir "headers") - mkdir -p "${builddir}" - cd "${builddir}" - - # if we don't have a compiler yet, we can't really test it now ... - # hopefully they don't affect header generation, so let's hope for - # the best here ... - local v vars=( - ac_cv_header_cpuid_h=yes - libc_cv_{386,390,alpha,arm,hppa,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes - libc_cv_asm_cfi_directives=yes - libc_cv_broken_visibility_attribute=no - libc_cv_c_cleanup=yes - libc_cv_compiler_powerpc64le_binary128_ok=yes - libc_cv_forced_unwind=yes - libc_cv_gcc___thread=yes - libc_cv_mlong_double_128=yes - libc_cv_mlong_double_128ibm=yes - libc_cv_ppc_machine=yes - libc_cv_ppc_rel16=yes - libc_cv_predef_fortify_source=no - libc_cv_target_power8_ok=yes - libc_cv_visibility_attribute=yes - libc_cv_z_combreloc=yes - libc_cv_z_execstack=yes - libc_cv_z_initfirst=yes - libc_cv_z_nodelete=yes - libc_cv_z_nodlopen=yes - libc_cv_z_relro=yes - libc_mips_abi=${ABI} - libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard) - # These libs don't have configure flags. - ac_cv_lib_audit_audit_log_user_avc_message=no - ac_cv_lib_cap_cap_init=no - ) - - einfo "Forcing cached settings:" - for v in "${vars[@]}" ; do - einfo " ${v}" - export ${v} - done - - local headers_only_arch_CPPFLAGS=() - - # Blow away some random CC settings that screw things up. #550192 - if [[ -d ${S}/sysdeps/mips ]]; then - pushd "${S}"/sysdeps/mips >/dev/null - sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die - sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die - - # Force the mips ABI to the default. This is OK because the set of - # installed headers in this phase is the same between the 3 ABIs. - # If this ever changes, this hack will break, but that's unlikely - # as glibc discourages that behavior. - # https://crbug.com/647033 - sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die - - popd >/dev/null - fi - - local myconf=() - - case ${CTARGET} in - aarch64*) - # The configure checks fail during cross-build, so disable here - # for headers-only - myconf+=( - --disable-mathvec - ) ;; - riscv*) - # RISC-V interrogates the compiler to determine which target to - # build. If building the headers then we don't strictly need a - # RISC-V compiler, so the built-in definitions that are provided - # along with all RISC-V compiler might not exist. This causes - # glibc's RISC-V preconfigure script to blow up. Since we're just - # building the headers any value will actually work here, so just - # pick the standard one (rv64g/lp64d) to make the build scripts - # happy for now -- the headers are all the same anyway so it - # doesn't matter. - headers_only_arch_CPPFLAGS+=( - -D__riscv_xlen=64 - -D__riscv_flen=64 - -D__riscv_float_abi_double=1 - -D__riscv_atomic=1 - ) ;; - esac - - myconf+=( - --disable-sanity-checks - --enable-hacker-mode - --disable-werror - --enable-bind-now - --build=${CBUILD_OPT:-${CBUILD}} - --host=${CTARGET_OPT:-${CTARGET}} - --with-headers="${ESYSROOT}$(alt_headers)" - --prefix="$(host_eprefix)/usr" - ${EXTRA_ECONF} - ) - - # Nothing is compiled here which would affect the headers for the target. - # So forcing CC/CFLAGS is sane. - local headers_only_CC=$(tc-getBUILD_CC) - local headers_only_CFLAGS="-O1 -pipe" - local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}" - local headers_only_LDFLAGS="" - set -- "${S}"/configure "${myconf[@]}" - echo \ - "CC=${headers_only_CC}" \ - "CFLAGS=${headers_only_CFLAGS}" \ - "CPPFLAGS=${headers_only_CPPFLAGS}" \ - "LDFLAGS=${headers_only_LDFLAGS}" \ - "$@" - CC=${headers_only_CC} \ - CFLAGS=${headers_only_CFLAGS} \ - CPPFLAGS=${headers_only_CPPFLAGS} \ - LDFLAGS="" \ - "$@" || die "failed to configure glibc" -} - -do_src_configure() { - if just_headers ; then - glibc_headers_configure - else - glibc_do_configure nptl - fi -} - -src_configure() { - foreach_abi do_src_configure -} - -# src_compile - -do_src_compile() { - emake -C "$(builddir nptl)" -} - -src_compile() { - if just_headers ; then - return - fi - - foreach_abi do_src_compile -} - -# src_test - -glibc_src_test() { - cd "$(builddir nptl)" - - local myxfailparams="" - if [[ "${GENTOO_GLIBC_XFAIL_TESTS}" == "yes" ]] ; then - local virt=$(systemd-detect-virt 2>/dev/null) - if [[ ${virt} == systemd-nspawn ]] ; then - ewarn "Skipping extra tests because in systemd-nspawn container" - XFAIL_TEST_LIST+=( "${XFAIL_NSPAWN_TEST_LIST[@]}" ) - fi - if [[ "$(nice)" == "19" ]] ; then - # Expects to be able to increase niceness, which it can't do if - # already at the highest nice value - XFAIL_TEST_LIST+=( "tst-nice" ) - fi - - for myt in ${XFAIL_TEST_LIST[@]} ; do - myxfailparams+="test-xfail-${myt}=yes " - done - fi - - # sandbox does not understand unshare() and prevents - # writes to /proc/, which makes many tests fail - - # we give the tests a bit more time to avoid spurious - # bug reports on slow arches - - SANDBOX_ON=0 LD_PRELOAD= TIMEOUTFACTOR=16 emake ${myxfailparams} check -} - -src_test() { - if just_headers ; then - return - fi - - foreach_abi glibc_src_test || die "tests failed" -} - -# src_install - -run_locale_gen() { - # if the host locales.gen contains no entries, we'll install everything - local root="$1" - local inplace="" - - if [[ "${root}" == "--inplace-glibc" ]] ; then - inplace="--inplace-glibc" - root="$2" - fi - - local locale_list="${root%/}/etc/locale.gen" - - pushd "${ED}"/$(get_libdir) >/dev/null - - if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then - [[ -z ${inplace} ]] && ewarn "Generating all locales; edit /etc/locale.gen to save time/space" - locale_list="${root%/}/usr/share/i18n/SUPPORTED" - fi - - # bug 736794: we need to be careful with the parallelization... the number of - # processors saved in the environment of a binary package may differ strongly - # from the number of processes available during postinst - local mygenjobs="$(makeopts_jobs)" - if [[ "${EMERGE_FROM}" == "binary" ]] ; then - mygenjobs="$(nproc)" - fi - - set -- locale-gen ${inplace} --jobs "${mygenjobs}" --config "${locale_list}" \ - --destdir "${root}" - echo "$@" - "$@" - - popd >/dev/null -} - -glibc_do_src_install() { - local builddir=$(builddir nptl) - cd "${builddir}" - - emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install - - # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support - # which come without headers etc. Only needed for binary packages since the - # external net-libs/libnsl has increased soversion. Keep only versioned libraries. - find "${D}" -name "libnsl.a" -delete - find "${D}" -name "libnsl.so" -delete - - # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need - # to infer upstream version: - # '#define VERSION "2.26.90"' -> '2.26.90' - local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h) - - # Avoid stripping binaries not targeted by ${CHOST}. Or else - # ${CHOST}-strip would break binaries build for ${CTARGET}. - is_crosscompile && dostrip -x / - - # gdb thread introspection relies on local libpthreads symbols. stripping breaks it - # See Note [Disable automatic stripping] - dostrip -x $(alt_libdir)/libpthread-${upstream_pv}.so - # valgrind requires knowledge about ld.so symbols. - dostrip -x $(alt_libdir)/ld-*.so* - - if [[ -e ${ED}/$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then - # Move versioned .a file out of libdir to evade portage QA checks - # instead of using gen_usr_ldscript(). We fix ldscript as: - # "GROUP ( /usr/lib64/libm-.a ..." -> "GROUP ( /usr/lib64/glibc-/libm-.a ..." - sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" \ - "${ED}"/$(alt_usrlibdir)/libm.a || die - dodir $(alt_usrlibdir)/${P} - mv "${ED}"/$(alt_usrlibdir)/libm-${upstream_pv}.a \ - "${ED}"/$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die - fi - - # We configure toolchains for standalone prefix systems with a sysroot, - # which is prepended to paths in ld scripts, so strip the prefix from these. - # Before: GROUP ( /foo/lib64/libc.so.6 /foo/usr/lib64/libc_nonshared.a AS_NEEDED ( /foo/lib64/ld-linux-x86-64.so.2 ) ) - # After: GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) ) - if [[ -n $(host_eprefix) ]] ; then - local file - grep -lZIF "ld script" "${ED}/$(alt_usrlibdir)"/lib*.{a,so} 2>/dev/null | while read -rd '' file ; do - sed -i "s|$(host_eprefix)/|/|g" "${file}" || die - done - fi - - # We'll take care of the cache ourselves - rm -f "${ED}"/etc/ld.so.cache - - # Everything past this point just needs to be done once ... - is_final_abi || return 0 - - # Make sure the non-native interp can be found on multilib systems even - # if the main library set isn't installed into the right place. Maybe - # we should query the active gcc for info instead of hardcoding it ? - local i ldso_abi ldso_name - local ldso_abi_list=( - # x86 - amd64 /lib64/ld-linux-x86-64.so.2 - x32 /libx32/ld-linux-x32.so.2 - x86 /lib/ld-linux.so.2 - # mips - o32 /lib/ld.so.1 - n32 /lib32/ld.so.1 - n64 /lib64/ld.so.1 - # powerpc - ppc /lib/ld.so.1 - # riscv - ilp32d /lib/ld-linux-riscv32-ilp32d.so.1 - ilp32 /lib/ld-linux-riscv32-ilp32.so.1 - lp64d /lib/ld-linux-riscv64-lp64d.so.1 - lp64 /lib/ld-linux-riscv64-lp64.so.1 - # s390 - s390 /lib/ld.so.1 - s390x /lib/ld64.so.1 - # sparc - sparc32 /lib/ld-linux.so.2 - sparc64 /lib64/ld-linux.so.2 - ) - case $(tc-endian) in - little) - ldso_abi_list+=( - # arm - arm64 /lib/ld-linux-aarch64.so.1 - # ELFv2 (glibc does not support ELFv1 on LE) - ppc64 /lib64/ld64.so.2 - ) - ;; - big) - ldso_abi_list+=( - # arm - arm64 /lib/ld-linux-aarch64_be.so.1 - # ELFv1 (glibc does not support ELFv2 on BE) - ppc64 /lib64/ld64.so.1 - ) - ;; - esac - if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then - dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib - fi - for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do - ldso_abi=${ldso_abi_list[i]} - has ${ldso_abi} $(get_install_abis) || continue - - ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}" - if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then - dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name} - fi - done - - # In the LSB 5.0 definition, someone had the excellent idea to "standardize" - # the runtime loader name, see also https://xkcd.com/927/ - # Normally, in Gentoo one should never come across executables that require this. - # However, binary commercial packages are known to adhere to weird practices. - # https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-AMD64/LSB-Core-AMD64.html#BASELIB - local lsb_ldso_name native_ldso_name lsb_ldso_abi - local lsb_ldso_abi_list=( - # x86 - amd64 ld-linux-x86-64.so.2 ld-lsb-x86-64.so.3 - ) - for (( i = 0; i < ${#lsb_ldso_abi_list[@]}; i += 3 )) ; do - lsb_ldso_abi=${lsb_ldso_abi_list[i]} - native_ldso_name=${lsb_ldso_abi_list[i+1]} - lsb_ldso_name=${lsb_ldso_abi_list[i+2]} - has ${lsb_ldso_abi} $(get_install_abis) || continue - - if [[ ! -L ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} && ! -e ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} ]] ; then - dosym ${native_ldso_name} "$(alt_prefix)/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name}" - fi - done - - # With devpts under Linux mounted properly, we do not need the pt_chown - # binary to be setuid. This is because the default owners/perms will be - # exactly what we want. - if ! use suid ; then - find "${ED}" -name pt_chown -exec chmod -s {} + - fi - - ################################################################# - # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY # - ################################################################# - - # Make sure we install some symlink hacks so that when we build - # a 2nd stage cross-compiler, gcc finds the target system - # headers correctly. See gcc/doc/gccinstall.info - if is_crosscompile ; then - # We need to make sure that /lib and /usr/lib always exists. - # gcc likes to use relative paths to get to its multilibs like - # /usr/lib/../lib64/. So while we don't install any files into - # /usr/lib/, we do need it to exist. - keepdir $(alt_prefix)/lib - keepdir $(alt_prefix)/usr/lib - - dosym usr/include $(alt_prefix)/sys-include - return 0 - fi - - # Files for Debian-style locale updating - dodir /usr/share/i18n - sed \ - -e "/^#/d" \ - -e "/SUPPORTED-LOCALES=/d" \ - -e "s: \\\\::g" -e "s:/: :g" \ - "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \ - || die "generating /usr/share/i18n/SUPPORTED failed" - - cd "${S}" || die - - # Install misc network config files - insinto /etc - doins posix/gai.conf - - if use systemd ; then - doins "${WORKDIR}/glibc-systemd-${GLIBC_SYSTEMD_VER}/gentoo-config/nsswitch.conf" - else - doins nss/nsswitch.conf - fi - - # Gentoo-specific - newins "${FILESDIR}"/host.conf-1 host.conf - - if use nscd ; then - doins nscd/nscd.conf - - newinitd "$(prefixify_ro "${FILESDIR}"/nscd-1)" nscd - - local nscd_args=( - -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):" - ) - - sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd - - use systemd && systemd_dounit nscd/nscd.service - newtmpfiles nscd/nscd.tmpfiles nscd.conf - fi - - echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc - doenvd "${T}"/00glibc - - for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do - [[ -s ${d} ]] && dodoc ${d} - done - dodoc -r ChangeLog.old - - # Prevent overwriting of the /etc/localtime symlink. We'll handle the - # creation of the "factory" symlink in pkg_postinst(). - rm -f "${ED}"/etc/localtime - - # Generate all locales if this is a native build as locale generation - if use compile-locales && ! is_crosscompile ; then - run_locale_gen --inplace-glibc "${ED}/" - fi -} - -glibc_headers_install() { - local builddir=$(builddir "headers") - cd "${builddir}" - emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install-headers - - insinto $(alt_headers)/gnu - doins "${S}"/include/gnu/stubs.h - - # Make sure we install the sys-include symlink so that when - # we build a 2nd stage cross-compiler, gcc finds the target - # system headers correctly. See gcc/doc/gccinstall.info - dosym usr/include $(alt_prefix)/sys-include -} - -src_install() { - if just_headers ; then - export ABI=default - glibc_headers_install - return - fi - - foreach_abi glibc_do_src_install - - if ! use static-libs ; then - einfo "Not installing static glibc libraries" - find "${ED}" -name "*.a" -and -not -name "*_nonshared.a" -delete - fi -} - -# Simple test to make sure our new glibc isn't completely broken. -# Make sure we don't test with statically built binaries since -# they will fail. Also, skip if this glibc is a cross compiler. -# -# If coreutils is built with USE=multicall, some of these files -# will just be wrapper scripts, not actual ELFs we can test. -glibc_sanity_check() { - cd / #228809 - - # We enter ${ED} so to avoid trouble if the path contains - # special characters; for instance if the path contains the - # colon character (:), then the linker will try to split it - # and look for the libraries in an unexpected place. This can - # lead to unsafe code execution if the generated prefix is - # within a world-writable directory. - # (e.g. /var/tmp/portage:${HOSTNAME}) - pushd "${ED}"/$(get_libdir) >/dev/null - - # first let's find the actual dynamic linker here - # symlinks may point to the wrong abi - local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit) - - einfo Last-minute run tests with ${newldso} in /$(get_libdir) ... - - local x striptest - for x in cal date env free ls true uname uptime ; do - x=$(type -p ${x}) - [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue - striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue - case ${striptest} in - *"statically linked"*) continue;; - *"ASCII text"*) continue;; - esac - # We need to clear the locale settings as the upgrade might want - # incompatible locale data. This test is not for verifying that. - LC_ALL=C \ - ${newldso} --library-path . ${x} > /dev/null \ - || die "simple run test (${x}) failed" - done - - popd >/dev/null -} - -pkg_preinst() { - # nothing to do if just installing headers - just_headers && return - - einfo "Checking general environment sanity." - sanity_prechecks - - # prepare /etc/ld.so.conf.d/ for files - mkdir -p "${EROOT}"/etc/ld.so.conf.d - - # Default /etc/hosts.conf:multi to on for systems with small dbs. - if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then - sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf - einfo "Defaulting /etc/host.conf:multi to on" - fi - - [[ -n ${ROOT} ]] && return 0 - [[ -d ${ED}/$(get_libdir) ]] || return 0 - [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check - - if [[ -L ${EROOT}/usr/lib/locale ]]; then - # Help portage migrate this to a directory - # https://bugs.gentoo.org/753740 - rm "${EROOT}"/usr/lib/locale || die - fi - - # Keep around libcrypt so that Perl doesn't break when merging libxcrypt - # (libxcrypt is the new provider for now of libcrypt.so.{1,2}). - # bug #802207 - if has_version "${CATEGORY}/${PN}[crypt]" && ! has preserve-libs ${FEATURES}; then - PRESERVED_OLD_LIBCRYPT=1 - cp -p "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" \ - "${T}/libcrypt$(get_libname 1)" || die - else - PRESERVED_OLD_LIBCRYPT=0 - fi -} - -glibc_refresh_ldconfig() { - if [[ ${MERGE_TYPE} == buildonly ]]; then - return - fi - - # Version check could be added to avoid unnecessary work, but ldconfig - # should finish quickly enough to not matter. - ebegin "Refreshing ld.so.cache" - ldconfig -i - if ! eend $?; then - ewarn "Failed to refresh the ld.so.cache for you. Some programs may be broken" - ewarn "before you manually do so (ldconfig -i)." - fi -} - -pkg_postinst() { - # nothing to do if just installing headers - just_headers && return - - if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then - # Generate fastloading iconv module configuration file. - "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}/" - fi - - if ! is_crosscompile && [[ -z ${ROOT} ]] ; then - # glibc-2.38+ on loong has ldconfig support added, but the ELF e_flags - # handling has changed as well, which means stale ldconfig auxiliary - # cache entries and failure to lookup libgcc_s / libstdc++ (breaking - # every C++ application) / libgomp etc., among other breakages. - # - # To fix this, simply refresh the ld.so.cache without using the - # auxiliary cache if we're natively installing on loong. This should - # be done relatively soon because we want to minimize the breakage - # window for the affected programs. - use loong && glibc_refresh_ldconfig - - use compile-locales || run_locale_gen "${EROOT}/" - - # If fixincludes was/is active for a particular GCC slot, we - # must refresh it. See bug #933282 and GCC's documentation: - # https://gcc.gnu.org/onlinedocs/gcc/Fixed-Headers.html - # - # TODO: Could this be done for cross? Some care would be needed - # to pass the right arguments. - while IFS= read -r -d $'\0' slot ; do - local mkheaders_path="${BROOT}"/usr/libexec/gcc/${CBUILD}/${slot##*/}/install-tools/mkheaders - local pthread_h="${BROOT}"/usr/lib/gcc/${CBUILD}/${slot##*/}/include-fixed/pthread.h - if [[ -x ${mkheaders_path} ]] ; then - ebegin "Refreshing fixincludes for ${CBUILD} with gcc-${slot##*/}" - ${mkheaders_path} -v - eend $? - elif [[ -f ${pthread_h} ]] ; then - # fixincludes might have been enabled in the past for this - # GCC slot but not since we fixed toolchain.eclass to install - # mkheaders, so we need to manually delete pthread.h at least. - ebegin "Deleting stale fixincludes'd pthread.h for ${CBUILD} with gcc-${slot##*/}" - mv -v "${pthread_h}" "${pthread_h}.bak" - eend $? - fi - done < <(find "${BROOT}"/usr/libexec/gcc/${CBUILD}/ -mindepth 1 -maxdepth 1 -type d -print0) - fi - - upgrade_warning - - # Check for sanity of /etc/nsswitch.conf, take 2 - if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then - local entry - for entry in passwd group shadow; do - if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then - ewarn "" - ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" - ewarn "removed from glibc and is now provided by the package" - ewarn " sys-auth/libnss-nis" - ewarn "Install it now to keep your NIS setup working." - ewarn "" - fi - done - fi - - if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then - cp -p "${T}/libcrypt$(get_libname 1)" "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" || die - preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1) - - elog "Please ignore a possible later error message about a file collision involving" - elog "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1). We need to preserve this file for the moment to keep" - elog "the upgrade working, but it also needs to be overwritten when" - elog "sys-libs/libxcrypt is installed. See bug 802210 for more details." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41-r1.ebuild deleted file mode 100644 index c1c453c31a..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41-r1.ebuild +++ /dev/null @@ -1,1759 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc -# Please read & adapt the page as necessary if obsolete. - -PYTHON_COMPAT=( python3_{10..13} ) -TMPFILES_OPTIONAL=1 - -EMULTILIB_PKG="true" - -# Gentoo patchset (ignored for live ebuilds) -PATCH_VER=2 -PATCH_DEV=dilfridge - -# gcc mulitilib bootstrap files version -GCC_BOOTSTRAP_VER=20201208 - -# systemd integration version -GLIBC_SYSTEMD_VER=20210729 - -# Minimum kernel version that glibc requires -MIN_KERN_VER="3.2.0" - -# Minimum pax-utils version needed (which contains any new syscall changes for -# its seccomp filter!). Please double check this! -MIN_PAX_UTILS_VER="1.3.3" - -# Minimum systemd version needed (which contains any new syscall changes for -# its seccomp filter!). Please double check this! -MIN_SYSTEMD_VER="254.9-r1" - -inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \ - multilib systemd multiprocessing tmpfiles eapi9-ver - -DESCRIPTION="GNU libc C library" -HOMEPAGE="https://www.gnu.org/software/libc/" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 -else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - SRC_URI="mirror://gnu/glibc/${P}.tar.xz" - SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz" -fi - -SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" -SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )" - -LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE" -SLOT="2.2" -IUSE="audit caps cet compile-locales custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd perl profile selinux +ssp stack-realign +static-libs suid systemd systemtap test vanilla" - -# Here's how the cross-compile logic breaks down ... -# CTARGET - machine that will target the binaries -# CHOST - machine that will host the binaries -# CBUILD - machine that will build the binaries -# If CTARGET != CHOST, it means you want a libc for cross-compiling. -# If CHOST != CBUILD, it means you want to cross-compile the libc. -# CBUILD = CHOST = CTARGET - native build/install -# CBUILD != (CHOST = CTARGET) - cross-compile a native build -# (CBUILD = CHOST) != CTARGET - libc for cross-compiler -# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler -# For install paths: -# CHOST = CTARGET - install into / -# CHOST != CTARGET - install into /usr/CTARGET/ -# -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -# Note [Disable automatic stripping] -# Disabling automatic stripping for a few reasons: -# - portage's attempt to strip breaks non-native binaries at least on -# arm: bug #697428 -# - portage's attempt to strip libpthread.so.0 breaks gdb thread -# enumeration: bug #697910. This is quite subtle: -# * gdb uses glibc's libthread_db-1.0.so to enumerate threads. -# * libthread_db-1.0.so needs access to libpthread.so.0 local symbols -# via 'ps_pglobal_lookup' symbol defined in gdb. -# * 'ps_pglobal_lookup' uses '.symtab' section table to resolve all -# known symbols in 'libpthread.so.0'. Specifically 'nptl_version' -# (unexported) is used to sanity check compatibility before enabling -# debugging. -# Also see https://sourceware.org/gdb/wiki/FAQ#GDB_does_not_see_any_threads_besides_the_one_in_which_crash_occurred.3B_or_SIGTRAP_kills_my_program_when_I_set_a_breakpoint -# * normal 'strip' command trims '.symtab' -# Thus our main goal here is to prevent 'libpthread.so.0' from -# losing it's '.symtab' entries. -# - similarly, valgrind requires knowledge about symbols in ld.so: -# bug #920753 -# As Gentoo's strip does not allow us to pass less aggressive stripping -# options and does not check the machine target we strip selectively. - -# We need a new-enough binutils/gcc to match upstream baseline. -# Also we need to make sure our binutils/gcc supports TLS, -# and that gcc already contains the hardened patches. -# Lastly, let's avoid some openssh nastiness, bug 708224, as -# convenience to our users. - -IDEPEND=" - !compile-locales? ( sys-apps/locale-gen ) -" -BDEPEND=" - ${PYTHON_DEPS} - >=app-misc/pax-utils-${MIN_PAX_UTILS_VER} - sys-devel/bison - compile-locales? ( sys-apps/locale-gen ) - doc? ( - dev-lang/perl - sys-apps/texinfo - ) - test? ( - dev-lang/perl - >=net-dns/libidn2-2.3.0 - sys-apps/gawk[mpfr] - ) -" -COMMON_DEPEND=" - gd? ( media-libs/gd:2= ) - nscd? ( selinux? ( - audit? ( sys-process/audit ) - caps? ( sys-libs/libcap ) - ) ) - suid? ( caps? ( sys-libs/libcap ) ) - selinux? ( sys-libs/libselinux ) - systemtap? ( dev-debug/systemtap ) -" -DEPEND="${COMMON_DEPEND} -" -RDEPEND="${COMMON_DEPEND} - !/dev/null - - rm -f glibc-test* - printf '%b' "$*" > glibc-test.c - - # We assume CC is already set up. - nonfatal emake glibc-test - ret=$? - - popd >/dev/null - - CFLAGS=${save_cflags} - return ${ret} -} - -do_run_test() { - local ret - - if [[ ${MERGE_TYPE} == "binary" ]] ; then - # ignore build failures when installing a binary package #324685 - do_compile_test "" "$@" 2>/dev/null || return 0 - else - ebegin "Performing simple compile test for ABI=${ABI}" - if ! do_compile_test "" "$@" ; then - ewarn "Simple build failed ... assuming this is desired #324685" - eend 1 - return 0 - else - eend 0 - fi - fi - - pushd "${T}" >/dev/null - - ./glibc-test - ret=$? - rm -f glibc-test* - - popd >/dev/null - - return ${ret} -} - -setup_target_flags() { - # This largely mucks with compiler flags. None of which should matter - # when building up just the headers. - just_headers && return 0 - - case $(tc-arch) in - x86) - # -march needed for #185404 #199334 - # TODO: When creating the first glibc cross-compile, this test will - # always fail as it does a full link which in turn requires glibc. - # Probably also applies when changing multilib profile settings (e.g. - # enabling x86 when the profile was amd64-only previously). - # We could change main to _start and pass -nostdlib here so that we - # only test the gcc code compilation. Or we could do a compile and - # then look for the symbol via scanelf. - if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then - local t=${CTARGET_OPT:-${CTARGET}} - t=${t%%-*} - filter-flags '-march=*' - export CFLAGS="-march=${t} ${CFLAGS}" - einfo "Auto adding -march=${t} to CFLAGS #185404" - fi - # For compatibility with older binaries at slight performance cost. - use stack-realign && export CFLAGS+=" -mstackrealign" - ;; - amd64) - # -march needed for #185404 #199334 - # TODO: See cross-compile issues listed above for x86. - if [[ ${ABI} == x86 ]]; then - if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then - local t=${CTARGET_OPT:-${CTARGET}} - t=${t%%-*} - # Normally the target is x86_64-xxx, so turn that into the -march that - # gcc actually accepts. #528708 - [[ ${t} == "x86_64" ]] && t="x86-64" - filter-flags '-march=*' - # ugly, ugly, ugly. ugly. - CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}") - export CFLAGS_x86="${CFLAGS_x86} -march=${t}" - einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})" - fi - # For compatibility with older binaries at slight performance cost. - use stack-realign && export CFLAGS_x86+=" -mstackrealign" - fi - ;; - mips) - # The mips abi cannot support the GNU style hashes. #233233 - filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both - ;; - ppc|ppc64) - # Many arch-specific implementations do not work on ppc with - # cache-block not equal to 128 bytes. This breaks memset: - # https://sourceware.org/PR26522 - # https://bugs.gentoo.org/737996 - # Use default -mcpu=. For ppc it means non-multiarch setup. - filter-flags '-mcpu=*' - ;; - sparc) - # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though. - filter-flags "-fcall-used-g7" - append-flags "-fcall-used-g6" - - local cpu - case ${CTARGET} in - sparc64-*) - cpu="sparc64" - case $(get-flag mcpu) in - v9) - # We need to force at least v9a because the base build doesn't - # work with just v9. - # https://sourceware.org/bugzilla/show_bug.cgi?id=19477 - append-flags "-Wa,-xarch=v9a" - ;; - esac - ;; - sparc-*) - case $(get-flag mcpu) in - v8|supersparc|hypersparc|leon|leon3) - cpu="sparcv8" - ;; - *) - cpu="sparcv9" - ;; - esac - ;; - esac - [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}" - ;; - esac -} - -setup_flags() { - # Make sure host make.conf doesn't pollute us - if is_crosscompile || tc-is-cross-compiler ; then - CHOST=${CTARGET} strip-unsupported-flags - fi - - # Store our CFLAGS because it's changed depending on which CTARGET - # we are building when pulling glibc on a multilib profile - CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}} - CFLAGS=${CFLAGS_BASE} - CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}} - CXXFLAGS=${CXXFLAGS_BASE} - ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}} - ASFLAGS=${ASFLAGS_BASE} - - # Allow users to explicitly avoid flag sanitization via - # USE=custom-cflags. - if ! use custom-cflags; then - # Over-zealous CFLAGS can often cause problems. What may work for one - # person may not work for another. To avoid a large influx of bugs - # relating to failed builds, we strip most CFLAGS out to ensure as few - # problems as possible. - strip-flags - - # Allow -O2 and -O3, but nothing else for now. - # TODO: Test -Os, -Oz. - if ! is-flagq '-O@(2|3)' ; then - # Lock glibc at -O2. We want to be conservative here. - filter-flags '-O?' - append-flags -O2 - fi - fi - - strip-unsupported-flags - filter-lto - filter-flags -m32 -m64 '-mabi=*' - - # glibc aborts if rpath is set by LDFLAGS - filter-ldflags '-Wl,-rpath=*' - - # ld can't use -r & --relax at the same time, bug #788901 - # https://sourceware.org/PR27837 - filter-ldflags '-Wl,--relax' - - # Flag added for cross-prefix, but causes ldconfig to segfault. Not needed - # anyway because glibc already handles this by itself. - filter-ldflags '-Wl,--dynamic-linker=*' - - # Fails to link (bug #940709) in some cases but even if it manages to, - # subtle runtime breakage will occur because the linker scripts need - # adaptation. Mentioned in PR21557#c0. - filter-ldflags '-Wl,--gc-sections' - - # some weird software relies on sysv hashes in glibc, bug 863863, bug 864100 - # we have to do that here already so mips can filter it out again :P - if use hash-sysv-compat ; then - append-ldflags '-Wl,--hash-style=both' - fi - - # #492892 - filter-flags -frecord-gcc-switches - - # #898098 - filter-flags -fno-builtin - - # #798774 - filter-flags -fno-semantic-interposition - - # #829583 - filter-lfs-flags - - unset CBUILD_OPT CTARGET_OPT - if use multilib ; then - CTARGET_OPT=$(get_abi_CTARGET) - [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST) - fi - - setup_target_flags - - if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then - CBUILD_OPT=${CTARGET_OPT} - fi - - # glibc's headers disallow -O0 and fail at build time: - # include/libc-symbols.h:75:3: #error "glibc cannot be compiled without optimization" - # https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F - replace-flags -O0 -O1 - - # Similar issues as with SSP. Can't inject yourself that early. - filter-flags '-fsanitize=*' - - # See end of bug #830454; we handle this via USE=cet - filter-flags '-fcf-protection=*' - - # When bootstrapping, we may have a situation where - # CET-enabled gcc from seed is used to build CET-disabled - # glibc. As such, gcc implicitly enables CET if no - # -fcf-protection flag is passed. For a typical package it - # should not be a problem, but for glibc it matters as it is - # dealing with CET in ld.so. So if CET is supposed to be - # disabled for glibc, be explicit about it. - if ! use cet; then - case ${ABI}-${CTARGET} in - amd64-x86_64-*|x32-x86_64-*-*-gnux32) - append-flags '-fcf-protection=none' - ;; - arm64-aarch64*) - append-flags '-mbranch-protection=none' - ;; - esac - fi -} - -use_multiarch() { - # Allow user to disable runtime arch detection in multilib. - use multiarch || return 1 - # Make sure binutils is new enough to support indirect functions, - # #336792. This funky sed supports gold and bfd linkers. - local bver nver - bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}') - case $(tc-arch ${CTARGET}) in - amd64|x86) nver="2.20" ;; - arm) nver="2.22" ;; - hppa) nver="2.23" ;; - ppc|ppc64) nver="2.20" ;; - # ifunc support was added in 2.23, but glibc also needs - # machinemode which is in 2.24. - s390) nver="2.24" ;; - sparc) nver="2.21" ;; - *) return 1 ;; - esac - ver_test ${bver} -ge ${nver} -} - -# Setup toolchain variables that had historically been defined in the -# profiles for these archs. -setup_env() { - # silly users - unset LD_RUN_PATH - unset LD_ASSUME_KERNEL - - if is_crosscompile || tc-is-cross-compiler ; then - multilib_env ${CTARGET_OPT:-${CTARGET}} - - if ! use multilib ; then - MULTILIB_ABIS=${DEFAULT_ABI} - else - MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}} - fi - - # If the user has CFLAGS_ in their make.conf, use that, - # and fall back on CFLAGS. - local VAR=CFLAGS_${CTARGET//[-.]/_} - CFLAGS=${!VAR-${CFLAGS}} - einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}" - fi - - setup_flags - - export ABI=${ABI:-${DEFAULT_ABI:-default}} - - if just_headers ; then - # Avoid mixing host's CC and target's CFLAGS_${ABI}: - # At this bootstrap stage we have only binutils for - # target but not compiler yet. - einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." - return 0 - fi - - # glibc does not work with non-bfd (for various reasons): - # * gold (bug #269274) - # * mold (bug #860900) - tc-ld-force-bfd - - if use doc ; then - export MAKEINFO=makeinfo - else - export MAKEINFO=/dev/null - fi - - # Reset CC and CXX to the value at start of emerge - export CC=${glibc__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}} - export CXX=${glibc__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}} - export CPP=${glibc__ORIG_CPP:-${CPP:-$(tc-getCPP ${CTARGET})}} - - # and make sure glibc__ORIG_CC and glibc__ORIG_CXX is defined now. - export glibc__ORIG_CC=${CC} - export glibc__ORIG_CXX=${CXX} - export glibc__ORIG_CPP=${CPP} - - if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then - export glibc__force_gcc=yes - # once this is toggled on, it needs to stay on, since with CPP manipulated - # tc-is-clang does not work correctly anymore... - fi - - if [[ ${glibc__force_gcc} == "yes" ]] ; then - # If we are running in an otherwise clang/llvm environment, we need to - # recover the proper gcc and binutils settings here, at least until glibc - # is finally building with clang. So let's override everything that is - # set in the clang profiles. - # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always - # a good start into that direction. - # Also, if you're crosscompiling, let's assume you know what you are doing. - # Hopefully. - # Last, we need the settings of the *build* environment, not of the - # target environment... - - local current_binutils_path=$(env CHOST="${CBUILD}" ROOT="${BROOT}" binutils-config -B "${CTARGET}") - local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B) - einfo "Overriding clang configuration, since it won't work here" - - export CC="${current_gcc_path}/${CTARGET}-gcc" - export CPP="${current_gcc_path}/${CTARGET}-cpp" - export CXX="${current_gcc_path}/${CTARGET}-g++" - export LD="${current_binutils_path}/ld.bfd" - export AR="${current_binutils_path}/ar" - export AS="${current_binutils_path}/as" - export NM="${current_binutils_path}/nm" - export STRIP="${current_binutils_path}/strip" - export RANLIB="${current_binutils_path}/ranlib" - export OBJCOPY="${current_binutils_path}/objcopy" - export STRINGS="${current_binutils_path}/strings" - export OBJDUMP="${current_binutils_path}/objdump" - export READELF="${current_binutils_path}/readelf" - export ADDR2LINE="${current_binutils_path}/addr2line" - - # do we need to also do flags munging here? yes! at least... - filter-flags '-fuse-ld=*' - filter-flags '-D_FORTIFY_SOURCE=*' - - else - - # this is the "normal" case - - export CC="$(tc-getCC ${CTARGET})" - export CXX="$(tc-getCXX ${CTARGET})" - export CPP="$(tc-getCPP ${CTARGET})" - - # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure - # can't detect them automatically due to ${CHOST} mismatch and fallbacks - # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). - export NM="$(tc-getNM ${CTARGET})" - export READELF="$(tc-getREADELF ${CTARGET})" - - fi - - # We need to export CFLAGS with abi information in them because glibc's - # configure script checks CFLAGS for some targets (like mips). Keep - # around the original clean value to avoid appending multiple ABIs on - # top of each other. (Why does the comment talk about CFLAGS if the code - # acts on CC?) - export glibc__GLIBC_CC=${CC} - export glibc__GLIBC_CXX=${CXX} - export glibc__GLIBC_CPP=${CPP} - - export glibc__abi_CFLAGS="$(get_abi_CFLAGS)" - - # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 - # To build .S (assembly) files with the same ABI-specific flags - # upstream currently recommends adding CFLAGS to CC/CXX: - # https://sourceware.org/PR23273 - # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS - # and breaks multiarch support. See 659030#c3 for an example. - # The glibc configure script doesn't properly use LDFLAGS all the time. - export CC="${glibc__GLIBC_CC} ${glibc__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}" - - # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 - export CXX="${glibc__GLIBC_CXX} ${glibc__abi_CFLAGS} ${CFLAGS}" - - export CPP="${glibc__GLIBC_CPP} ${glibc__abi_CFLAGS} ${CFLAGS}" - - if is_crosscompile; then - # Assume worst-case bootstrap: glibc is built for the first time - # with ${CTARGET}-g++ not available yet. We avoid - # building auxiliary programs that require C++: bug #683074 - # It should not affect final result. - export libc_cv_cxx_link_ok=no - # The line above has the same effect. We set CXX explicitly - # to make build logs less confusing. - export CXX= - fi -} - -foreach_abi() { - setup_env - - local ret=0 - local abilist="" - if use multilib ; then - abilist=$(get_install_abis) - else - abilist=${DEFAULT_ABI} - fi - local -x ABI - for ABI in ${abilist:-default} ; do - setup_env - einfo "Running $1 for ABI ${ABI}" - $1 - : $(( ret |= $? )) - done - return ${ret} -} - -glibc_banner() { - local b="Gentoo ${PVR}" - [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" (patchset ${PATCH_VER})" - echo "${b}" -} - -# The following Kernel version handling functions are mostly copied from portage -# source. It's better not to use linux-info.eclass here since a) it adds too -# much magic, see bug 326693 for some of the arguments, and b) some of the -# functions are just not provided. - -g_get_running_KV() { - uname -r - return $? -} - -g_KV_major() { - [[ -z $1 ]] && return 1 - local KV=$@ - echo "${KV%%.*}" -} - -g_KV_minor() { - [[ -z $1 ]] && return 1 - local KV=$@ - KV=${KV#*.} - echo "${KV%%.*}" -} - -g_KV_micro() { - [[ -z $1 ]] && return 1 - local KV=$@ - KV=${KV#*.*.} - echo "${KV%%[^[:digit:]]*}" -} - -g_KV_to_int() { - [[ -z $1 ]] && return 1 - local KV_MAJOR=$(g_KV_major "$1") - local KV_MINOR=$(g_KV_minor "$1") - local KV_MICRO=$(g_KV_micro "$1") - local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO )) - - # We make version 2.2.0 the minimum version we will handle as - # a sanity check ... if its less, we fail ... - if [[ ${KV_int} -ge 131584 ]] ; then - echo "${KV_int}" - return 0 - fi - return 1 -} - -g_int_to_KV() { - local version=$1 major minor micro - major=$((version / 65536)) - minor=$(((version % 65536) / 256)) - micro=$((version % 256)) - echo ${major}.${minor}.${micro} -} - -eend_KV() { - [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]] - eend $? -} - -get_kheader_version() { - printf '#include \nLINUX_VERSION_CODE\n' | \ - $(tc-getCPP ${CTARGET}) -I "${ESYSROOT}$(alt_headers)" - | \ - tail -n 1 -} - -# We collect all sanity checks here. Consistency is not guranteed between -# pkg_ and src_ phases, so we call this function both in pkg_pretend and in -# src_unpack. -sanity_prechecks() { - # Prevent native builds from downgrading - if [[ ${MERGE_TYPE} != "buildonly" ]] && \ - [[ -z ${ROOT} ]] && \ - [[ ${CBUILD} == ${CHOST} ]] && \ - [[ ${CHOST} == ${CTARGET} ]] ; then - - # The high rev # is to allow people to downgrade between -r# - # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2 - # should be fine. Hopefully we never actually use a r# this - # high. - if has_version ">${CATEGORY}/${P}-r10000" ; then - eerror "Sanity check to keep you from breaking your system:" - eerror " Downgrading glibc is not supported and a sure way to destruction." - [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system." - fi - - if ! do_run_test '#include \n#include \nint main(){return syscall(1000)!=-1;}\n' ; then - eerror "Your old kernel is broken. You need to update it to a newer" - eerror "version as syscall() will break. See bug 279260." - die "Old and broken kernel." - fi - fi - - if [[ ${CTARGET} == i386-* ]] ; then - eerror "i386 CHOSTs are no longer supported." - eerror "Chances are you don't actually want/need i386." - eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml" - die "Please fix your CHOST" - fi - - if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then - ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS." - ewarn "This will result in a 50% performance penalty when running with a 32bit" - ewarn "hypervisor, which is probably not what you want." - fi - - # ABI-specific checks follow here. Hey, we have a lot more specific conditions that - # we test for... - if ! is_crosscompile ; then - if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then - ebegin "Checking if the system can execute 32-bit binaries" - echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c" - local STAT - if ${CC-${CHOST}-gcc} ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then - "${T}/check-ia32-emulation.elf32" - STAT=$? - else - # Don't fail here to allow single->multi ABI switch - # or recover from breakage like bug #646424 - ewarn "Failed to compile the ABI test. Broken host glibc?" - STAT=0 - fi - rm -f "${T}/check-ia32-emulation.elf32" - eend $STAT - if [[ $STAT -ne 0 ]]; then - eerror "Ensure that CONFIG_IA32_EMULATION is enabled in the kernel." - eerror "Seek support otherwise." - die "Unable to execute 32-bit binaries" - fi - fi - - fi - - # When we actually have to compile something... - if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then - if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then - # bug #833620, bug #643302 - eerror "Found ${ESYSROOT}/usr/lib/include directory!" - eerror "This is known to break glibc's build." - eerror "Please backup its contents then remove the directory." - die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!" - fi - - if [[ ${CTARGET} == *-linux* ]] ; then - local run_kv build_kv want_kv - - run_kv=$(g_get_running_KV) - build_kv=$(g_int_to_KV $(get_kheader_version)) - want_kv=${MIN_KERN_VER} - - if ! is_crosscompile && ! tc-is-cross-compiler ; then - # Building fails on an non-supporting kernel - ebegin "Checking running kernel version (${run_kv} >= ${want_kv})" - if ! eend_KV ${run_kv} ${want_kv} ; then - echo - eerror "You need a kernel of at least ${want_kv}!" - die "Kernel version too low!" - fi - fi - - # Do not run this check for pkg_pretend, just pkg_setup and friends (if we ever get used there). - # It's plausible (seen it in the wild) that Portage will (correctly) schedule a linux-headers - # upgrade before glibc, but because pkg_pretend gets run before any packages are merged at all (not - # just glibc), the whole emerge gets aborted without a good reason. We probably don't - # need to run this check at all given we have a dependency on the right headers, - # but let's leave it as-is for now. - if [[ ${EBUILD_PHASE_FUNC} != pkg_pretend ]] ; then - ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})" - if ! eend_KV ${build_kv} ${want_kv} ; then - echo - eerror "You need linux-headers of at least ${want_kv}!" - die "linux-headers version too low!" - fi - fi - fi - fi -} - -upgrade_warning() { - is_crosscompile && return - - if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then - if ver_replacing -lt $(ver_cut 1-2 ${PV}); then - ewarn "After upgrading glibc, please restart all running processes." - ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." - ewarn "Alternatively, reboot your system." - ewarn "(See bug #660556, bug #741116, bug #823756, etc)" - fi - fi -} - -# -# the phases -# - -# pkg_pretend - -pkg_pretend() { - upgrade_warning -} - -# pkg_setup - -pkg_setup() { - # see bug 682570 - [[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup -} - -# src_unpack - -src_unpack() { - setup_env - - einfo "Checking general environment sanity." - sanity_prechecks - - use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz - - if [[ ${PV} == 9999* ]] ; then - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git - https://github.com/gentoo/glibc-patches.git - " - EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git - git-r3_src_unpack - mv patches-git/9999 patches || die - EGIT_REPO_URI=" - https://sourceware.org/git/glibc.git - https://git.sr.ht/~sourceware/glibc - https://gitlab.com/x86-glibc/glibc.git - " - EGIT_CHECKOUT_DIR=${S} - git-r3_src_unpack - else - unpack ${P}.tar.xz - - cd "${WORKDIR}" || die - unpack glibc-${PV}-patches-${PATCH_VER}.tar.xz - fi - - cd "${WORKDIR}" || die - use systemd && unpack glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz -} - -# src_prepare - -src_prepare() { - local patchsetname - if ! use vanilla ; then - if [[ ${PV} == 9999* ]] ; then - patchsetname="from git master" - else - patchsetname="${PV}-${PATCH_VER}" - fi - einfo "Applying Gentoo Glibc patchset ${patchsetname}" - eapply "${WORKDIR}"/patches - einfo "Done." - fi - - default - - gnuconfig_update - - cd "${WORKDIR}" || die - find . -name configure -exec touch {} + - - # Fix permissions on some of the scripts. - chmod u+x "${S}"/scripts/*.sh - - cd "${S}" || die -} - -# src_configure - -glibc_do_configure() { - dump_build_environment - - local myconf=() - - # Use '=strong' instead of '=all' to protect only functions - # worth protecting from stack smashes. - myconf+=( --enable-stack-protector=$(usex ssp strong no) ) - - # Keep a whitelist of targets supporting IFUNC. glibc's ./configure - # is not robust enough to detect proper support: - # https://bugs.gentoo.org/641216 - # https://sourceware.org/PR22634#c0 - case $(tc-arch ${CTARGET}) in - # Keep whitelist of targets where autodetection mostly works. - amd64|x86|sparc|ppc|ppc64|arm|arm64|s390|riscv|loong) ;; - # Blacklist everywhere else - *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;; - esac - - case ${ABI}-${CTARGET} in - amd64-x86_64-*|x32-x86_64-*-*-gnux32) myconf+=( $(use_enable cet) ) ;; - *) ;; - esac - - [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp ) - - myconf+=( --enable-kernel=${MIN_KERN_VER} ) - - # Since SELinux support is only required for nscd, only enable it if: - # 1. USE selinux - # 2. only for the primary ABI on multilib systems - # 3. Not a crosscompile - if ! is_crosscompile && use selinux ; then - if use multilib ; then - if is_final_abi ; then - myconf+=( --with-selinux ) - else - myconf+=( --without-selinux ) - fi - else - myconf+=( --with-selinux ) - fi - else - myconf+=( --without-selinux ) - fi - - # Force a few tests where we always know the answer but - # configure is incapable of finding it. - if is_crosscompile ; then - export \ - libc_cv_c_cleanup=yes \ - libc_cv_forced_unwind=yes - fi - - myconf+=( - --disable-werror - --enable-bind-now - --enable-fortify-source - --build=${CBUILD_OPT:-${CBUILD}} - --host=${CTARGET_OPT:-${CTARGET}} - $(use_enable profile) - $(use_with gd) - --with-headers="${ESYSROOT}$(alt_headers)" - --prefix="$(host_eprefix)/usr" - --sysconfdir="$(host_eprefix)/etc" - --localstatedir="$(host_eprefix)/var" - --libdir='$(prefix)'/$(get_libdir) - --mandir='$(prefix)'/share/man - --infodir='$(prefix)'/share/info - --libexecdir='$(libdir)'/misc/glibc - --with-bugurl=https://bugs.gentoo.org/ - --with-pkgversion="$(glibc_banner)" - $(use_multiarch || echo --disable-multi-arch) - $(use_enable systemtap) - $(use_enable nscd) - - # /usr/bin/mtrace has a Perl shebang. Gentoo Prefix QA checks fail if - # Perl hasn't been installed inside the prefix yet and configure picks - # up a Perl from outside the prefix instead. configure will fail to - # execute Perl during configure if we're cross-compiling a prefix, but - # it will just disable mtrace in that case. - # Note: mtrace is needed by the test suite. - ac_cv_path_PERL="$(usex perl "${EPREFIX}"/usr/bin/perl $(usex test "${EPREFIX}"/usr/bin/perl $(usex doc "${EPREFIX}"/usr/bin/perl no)))" - - # locale data is arch-independent - # https://bugs.gentoo.org/753740 - libc_cv_complocaledir='${exec_prefix}/lib/locale' - - # On aarch64 there is no way to override -mcpu=native, and if - # the current cpu does not support SVE configure fails. - # Let's boldly assume our toolchain can always build SVE instructions. - libc_cv_aarch64_sve_asm=yes - - ${EXTRA_ECONF} - ) - - # We rely on sys-libs/timezone-data for timezone tools normally. - myconf+=( $(use_enable vanilla timezone-tools) ) - - # These libs don't have configure flags. - ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no) - ac_cv_lib_cap_cap_init=$(usex caps || echo no) - - # There is no configure option for this and we need to export it - # since the glibc build will re-run configure on itself - export libc_cv_rootsbindir="$(host_eprefix)/sbin" - export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)" - - local builddir=$(builddir nptl) - mkdir -p "${builddir}" - cd "${builddir}" - set -- "${S}"/configure "${myconf[@]}" - echo "$@" - "$@" || die "failed to configure glibc" - - # If we're trying to migrate between ABI sets, we need - # to lie and use a local copy of gcc. Like if the system - # is built with MULTILIB_ABIS="amd64 x86" but we want to - # add x32 to it, gcc/glibc don't yet support x32. - # - if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib-bootstrap ; then - echo 'int main(void){}' > "${T}"/test.c || die - if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then - sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die - fi - fi -} - -glibc_headers_configure() { - export ABI=default - - local builddir=$(builddir "headers") - mkdir -p "${builddir}" - cd "${builddir}" - - # if we don't have a compiler yet, we can't really test it now ... - # hopefully they don't affect header generation, so let's hope for - # the best here ... - local v vars=( - ac_cv_header_cpuid_h=yes - libc_cv_{386,390,alpha,arm,hppa,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes - libc_cv_asm_cfi_directives=yes - libc_cv_broken_visibility_attribute=no - libc_cv_c_cleanup=yes - libc_cv_compiler_powerpc64le_binary128_ok=yes - libc_cv_forced_unwind=yes - libc_cv_gcc___thread=yes - libc_cv_mlong_double_128=yes - libc_cv_mlong_double_128ibm=yes - libc_cv_ppc_machine=yes - libc_cv_ppc_rel16=yes - libc_cv_predef_fortify_source=no - libc_cv_target_power8_ok=yes - libc_cv_visibility_attribute=yes - libc_cv_z_combreloc=yes - libc_cv_z_execstack=yes - libc_cv_z_initfirst=yes - libc_cv_z_nodelete=yes - libc_cv_z_nodlopen=yes - libc_cv_z_relro=yes - libc_mips_abi=${ABI} - libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard) - # These libs don't have configure flags. - ac_cv_lib_audit_audit_log_user_avc_message=no - ac_cv_lib_cap_cap_init=no - ) - - einfo "Forcing cached settings:" - for v in "${vars[@]}" ; do - einfo " ${v}" - export ${v} - done - - local headers_only_arch_CPPFLAGS=() - - # Blow away some random CC settings that screw things up. #550192 - if [[ -d ${S}/sysdeps/mips ]]; then - pushd "${S}"/sysdeps/mips >/dev/null - sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die - sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die - - # Force the mips ABI to the default. This is OK because the set of - # installed headers in this phase is the same between the 3 ABIs. - # If this ever changes, this hack will break, but that's unlikely - # as glibc discourages that behavior. - # https://crbug.com/647033 - sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die - - popd >/dev/null - fi - - local myconf=() - - case ${CTARGET} in - aarch64*) - # The configure checks fail during cross-build, so disable here - # for headers-only - myconf+=( - --disable-mathvec - ) ;; - riscv*) - # RISC-V interrogates the compiler to determine which target to - # build. If building the headers then we don't strictly need a - # RISC-V compiler, so the built-in definitions that are provided - # along with all RISC-V compiler might not exist. This causes - # glibc's RISC-V preconfigure script to blow up. Since we're just - # building the headers any value will actually work here, so just - # pick the standard one (rv64g/lp64d) to make the build scripts - # happy for now -- the headers are all the same anyway so it - # doesn't matter. - headers_only_arch_CPPFLAGS+=( - -D__riscv_xlen=64 - -D__riscv_flen=64 - -D__riscv_float_abi_double=1 - -D__riscv_atomic=1 - ) ;; - esac - - myconf+=( - --disable-sanity-checks - --enable-hacker-mode - --disable-werror - --enable-bind-now - --build=${CBUILD_OPT:-${CBUILD}} - --host=${CTARGET_OPT:-${CTARGET}} - --with-headers="${ESYSROOT}$(alt_headers)" - --prefix="$(host_eprefix)/usr" - ${EXTRA_ECONF} - ) - - # Nothing is compiled here which would affect the headers for the target. - # So forcing CC/CFLAGS is sane. - local headers_only_CC=$(tc-getBUILD_CC) - local headers_only_CFLAGS="-O1 -pipe" - local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}" - local headers_only_LDFLAGS="" - set -- "${S}"/configure "${myconf[@]}" - echo \ - "CC=${headers_only_CC}" \ - "CFLAGS=${headers_only_CFLAGS}" \ - "CPPFLAGS=${headers_only_CPPFLAGS}" \ - "LDFLAGS=${headers_only_LDFLAGS}" \ - "$@" - CC=${headers_only_CC} \ - CFLAGS=${headers_only_CFLAGS} \ - CPPFLAGS=${headers_only_CPPFLAGS} \ - LDFLAGS="" \ - "$@" || die "failed to configure glibc" -} - -do_src_configure() { - if just_headers ; then - glibc_headers_configure - else - glibc_do_configure nptl - fi -} - -src_configure() { - foreach_abi do_src_configure -} - -# src_compile - -do_src_compile() { - emake -C "$(builddir nptl)" -} - -src_compile() { - if just_headers ; then - return - fi - - foreach_abi do_src_compile -} - -# src_test - -glibc_src_test() { - cd "$(builddir nptl)" - - local myxfailparams="" - if [[ "${GENTOO_GLIBC_XFAIL_TESTS}" == "yes" ]] ; then - local virt=$(systemd-detect-virt 2>/dev/null) - if [[ ${virt} == systemd-nspawn ]] ; then - ewarn "Skipping extra tests because in systemd-nspawn container" - XFAIL_TEST_LIST+=( "${XFAIL_NSPAWN_TEST_LIST[@]}" ) - fi - if [[ "$(nice)" == "19" ]] ; then - # Expects to be able to increase niceness, which it can't do if - # already at the highest nice value - XFAIL_TEST_LIST+=( "tst-nice" ) - fi - - for myt in ${XFAIL_TEST_LIST[@]} ; do - myxfailparams+="test-xfail-${myt}=yes " - done - fi - - # sandbox does not understand unshare() and prevents - # writes to /proc/, which makes many tests fail - - # we give the tests a bit more time to avoid spurious - # bug reports on slow arches - - SANDBOX_ON=0 LD_PRELOAD= TIMEOUTFACTOR=16 emake ${myxfailparams} check -} - -src_test() { - if just_headers ; then - return - fi - - foreach_abi glibc_src_test || die "tests failed" -} - -# src_install - -run_locale_gen() { - # if the host locales.gen contains no entries, we'll install everything - local root="$1" - local inplace="" - - if [[ "${root}" == "--inplace-glibc" ]] ; then - inplace="--inplace-glibc" - root="$2" - fi - - local locale_list="${root%/}/etc/locale.gen" - - pushd "${ED}"/$(get_libdir) >/dev/null - - if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then - [[ -z ${inplace} ]] && ewarn "Generating all locales; edit /etc/locale.gen to save time/space" - locale_list="${root%/}/usr/share/i18n/SUPPORTED" - fi - - # bug 736794: we need to be careful with the parallelization... the number of - # processors saved in the environment of a binary package may differ strongly - # from the number of processes available during postinst - local mygenjobs="$(makeopts_jobs)" - if [[ "${EMERGE_FROM}" == "binary" ]] ; then - mygenjobs="$(nproc)" - fi - - set -- locale-gen ${inplace} --jobs "${mygenjobs}" --config "${locale_list}" \ - --destdir "${root}" - echo "$@" - "$@" - - popd >/dev/null -} - -glibc_do_src_install() { - local builddir=$(builddir nptl) - cd "${builddir}" - - emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install - - # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support - # which come without headers etc. Only needed for binary packages since the - # external net-libs/libnsl has increased soversion. Keep only versioned libraries. - find "${D}" -name "libnsl.a" -delete - find "${D}" -name "libnsl.so" -delete - - # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need - # to infer upstream version: - # '#define VERSION "2.26.90"' -> '2.26.90' - local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h) - - # Avoid stripping binaries not targeted by ${CHOST}. Or else - # ${CHOST}-strip would break binaries build for ${CTARGET}. - is_crosscompile && dostrip -x / - - # gdb thread introspection relies on local libpthreads symbols. stripping breaks it - # See Note [Disable automatic stripping] - dostrip -x $(alt_libdir)/libpthread-${upstream_pv}.so - # valgrind requires knowledge about ld.so symbols. - dostrip -x $(alt_libdir)/ld-*.so* - - if [[ -e ${ED}/$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then - # Move versioned .a file out of libdir to evade portage QA checks - # instead of using gen_usr_ldscript(). We fix ldscript as: - # "GROUP ( /usr/lib64/libm-.a ..." -> "GROUP ( /usr/lib64/glibc-/libm-.a ..." - sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" \ - "${ED}"/$(alt_usrlibdir)/libm.a || die - dodir $(alt_usrlibdir)/${P} - mv "${ED}"/$(alt_usrlibdir)/libm-${upstream_pv}.a \ - "${ED}"/$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die - fi - - # We configure toolchains for standalone prefix systems with a sysroot, - # which is prepended to paths in ld scripts, so strip the prefix from these. - # Before: GROUP ( /foo/lib64/libc.so.6 /foo/usr/lib64/libc_nonshared.a AS_NEEDED ( /foo/lib64/ld-linux-x86-64.so.2 ) ) - # After: GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) ) - if [[ -n $(host_eprefix) ]] ; then - local file - grep -lZIF "ld script" "${ED}/$(alt_usrlibdir)"/lib*.{a,so} 2>/dev/null | while read -rd '' file ; do - sed -i "s|$(host_eprefix)/|/|g" "${file}" || die - done - fi - - # We'll take care of the cache ourselves - rm -f "${ED}"/etc/ld.so.cache - - # Everything past this point just needs to be done once ... - is_final_abi || return 0 - - # Make sure the non-native interp can be found on multilib systems even - # if the main library set isn't installed into the right place. Maybe - # we should query the active gcc for info instead of hardcoding it ? - local i ldso_abi ldso_name - local ldso_abi_list=( - # x86 - amd64 /lib64/ld-linux-x86-64.so.2 - x32 /libx32/ld-linux-x32.so.2 - x86 /lib/ld-linux.so.2 - # mips - o32 /lib/ld.so.1 - n32 /lib32/ld.so.1 - n64 /lib64/ld.so.1 - # powerpc - ppc /lib/ld.so.1 - # riscv - ilp32d /lib/ld-linux-riscv32-ilp32d.so.1 - ilp32 /lib/ld-linux-riscv32-ilp32.so.1 - lp64d /lib/ld-linux-riscv64-lp64d.so.1 - lp64 /lib/ld-linux-riscv64-lp64.so.1 - # s390 - s390 /lib/ld.so.1 - s390x /lib/ld64.so.1 - # sparc - sparc32 /lib/ld-linux.so.2 - sparc64 /lib64/ld-linux.so.2 - ) - case $(tc-endian) in - little) - ldso_abi_list+=( - # arm - arm64 /lib/ld-linux-aarch64.so.1 - # ELFv2 (glibc does not support ELFv1 on LE) - ppc64 /lib64/ld64.so.2 - ) - ;; - big) - ldso_abi_list+=( - # arm - arm64 /lib/ld-linux-aarch64_be.so.1 - # ELFv1 (glibc does not support ELFv2 on BE) - ppc64 /lib64/ld64.so.1 - ) - ;; - esac - if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then - dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib - fi - for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do - ldso_abi=${ldso_abi_list[i]} - has ${ldso_abi} $(get_install_abis) || continue - - ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}" - if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then - dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name} - fi - done - - # In the LSB 5.0 definition, someone had the excellent idea to "standardize" - # the runtime loader name, see also https://xkcd.com/927/ - # Normally, in Gentoo one should never come across executables that require this. - # However, binary commercial packages are known to adhere to weird practices. - # https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-AMD64/LSB-Core-AMD64.html#BASELIB - local lsb_ldso_name native_ldso_name lsb_ldso_abi - local lsb_ldso_abi_list=( - # x86 - amd64 ld-linux-x86-64.so.2 ld-lsb-x86-64.so.3 - ) - for (( i = 0; i < ${#lsb_ldso_abi_list[@]}; i += 3 )) ; do - lsb_ldso_abi=${lsb_ldso_abi_list[i]} - native_ldso_name=${lsb_ldso_abi_list[i+1]} - lsb_ldso_name=${lsb_ldso_abi_list[i+2]} - has ${lsb_ldso_abi} $(get_install_abis) || continue - - if [[ ! -L ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} && ! -e ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} ]] ; then - dosym ${native_ldso_name} "$(alt_prefix)/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name}" - fi - done - - # With devpts under Linux mounted properly, we do not need the pt_chown - # binary to be setuid. This is because the default owners/perms will be - # exactly what we want. - if ! use suid ; then - find "${ED}" -name pt_chown -exec chmod -s {} + - fi - - ################################################################# - # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY # - ################################################################# - - # Make sure we install some symlink hacks so that when we build - # a 2nd stage cross-compiler, gcc finds the target system - # headers correctly. See gcc/doc/gccinstall.info - if is_crosscompile ; then - # We need to make sure that /lib and /usr/lib always exists. - # gcc likes to use relative paths to get to its multilibs like - # /usr/lib/../lib64/. So while we don't install any files into - # /usr/lib/, we do need it to exist. - keepdir $(alt_prefix)/lib - keepdir $(alt_prefix)/usr/lib - - dosym usr/include $(alt_prefix)/sys-include - return 0 - fi - - # Files for Debian-style locale updating - dodir /usr/share/i18n - sed \ - -e "/^#/d" \ - -e "/SUPPORTED-LOCALES=/d" \ - -e "s: \\\\::g" -e "s:/: :g" \ - "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \ - || die "generating /usr/share/i18n/SUPPORTED failed" - - cd "${S}" || die - - # Install misc network config files - insinto /etc - doins posix/gai.conf - - if use systemd ; then - doins "${WORKDIR}/glibc-systemd-${GLIBC_SYSTEMD_VER}/gentoo-config/nsswitch.conf" - else - doins nss/nsswitch.conf - fi - - # Gentoo-specific - newins "${FILESDIR}"/host.conf-1 host.conf - - if use nscd ; then - doins nscd/nscd.conf - - newinitd "$(prefixify_ro "${FILESDIR}"/nscd-1)" nscd - - local nscd_args=( - -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):" - ) - - sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd - - use systemd && systemd_dounit nscd/nscd.service - newtmpfiles nscd/nscd.tmpfiles nscd.conf - fi - - echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc - doenvd "${T}"/00glibc - - for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do - [[ -s ${d} ]] && dodoc ${d} - done - dodoc -r ChangeLog.old - - # Prevent overwriting of the /etc/localtime symlink. We'll handle the - # creation of the "factory" symlink in pkg_postinst(). - rm -f "${ED}"/etc/localtime - - # Generate all locales if this is a native build as locale generation - if use compile-locales && ! is_crosscompile ; then - run_locale_gen --inplace-glibc "${ED}/" - fi -} - -glibc_headers_install() { - local builddir=$(builddir "headers") - cd "${builddir}" - emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install-headers - - insinto $(alt_headers)/gnu - doins "${S}"/include/gnu/stubs.h - - # Make sure we install the sys-include symlink so that when - # we build a 2nd stage cross-compiler, gcc finds the target - # system headers correctly. See gcc/doc/gccinstall.info - dosym usr/include $(alt_prefix)/sys-include -} - -src_install() { - if just_headers ; then - export ABI=default - glibc_headers_install - return - fi - - foreach_abi glibc_do_src_install - - if ! use static-libs ; then - einfo "Not installing static glibc libraries" - find "${ED}" -name "*.a" -and -not -name "*_nonshared.a" -delete - fi -} - -# Simple test to make sure our new glibc isn't completely broken. -# Make sure we don't test with statically built binaries since -# they will fail. Also, skip if this glibc is a cross compiler. -# -# If coreutils is built with USE=multicall, some of these files -# will just be wrapper scripts, not actual ELFs we can test. -glibc_sanity_check() { - cd / #228809 - - # We enter ${ED} so to avoid trouble if the path contains - # special characters; for instance if the path contains the - # colon character (:), then the linker will try to split it - # and look for the libraries in an unexpected place. This can - # lead to unsafe code execution if the generated prefix is - # within a world-writable directory. - # (e.g. /var/tmp/portage:${HOSTNAME}) - pushd "${ED}"/$(get_libdir) >/dev/null - - # first let's find the actual dynamic linker here - # symlinks may point to the wrong abi - local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit) - - einfo Last-minute run tests with ${newldso} in /$(get_libdir) ... - - local x striptest - for x in cal date env free ls true uname uptime ; do - x=$(type -p ${x}) - [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue - striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue - case ${striptest} in - *"statically linked"*) continue;; - *"ASCII text"*) continue;; - esac - # We need to clear the locale settings as the upgrade might want - # incompatible locale data. This test is not for verifying that. - LC_ALL=C \ - ${newldso} --library-path . ${x} > /dev/null \ - || die "simple run test (${x}) failed" - done - - popd >/dev/null -} - -pkg_preinst() { - # nothing to do if just installing headers - just_headers && return - - einfo "Checking general environment sanity." - sanity_prechecks - - # prepare /etc/ld.so.conf.d/ for files - mkdir -p "${EROOT}"/etc/ld.so.conf.d - - # Default /etc/hosts.conf:multi to on for systems with small dbs. - if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then - sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf - einfo "Defaulting /etc/host.conf:multi to on" - fi - - [[ -n ${ROOT} ]] && return 0 - [[ -d ${ED}/$(get_libdir) ]] || return 0 - [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check - - if [[ -L ${EROOT}/usr/lib/locale ]]; then - # Help portage migrate this to a directory - # https://bugs.gentoo.org/753740 - rm "${EROOT}"/usr/lib/locale || die - fi - - # Keep around libcrypt so that Perl doesn't break when merging libxcrypt - # (libxcrypt is the new provider for now of libcrypt.so.{1,2}). - # bug #802207 - if has_version "${CATEGORY}/${PN}[crypt]" && ! has preserve-libs ${FEATURES}; then - PRESERVED_OLD_LIBCRYPT=1 - cp -p "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" \ - "${T}/libcrypt$(get_libname 1)" || die - else - PRESERVED_OLD_LIBCRYPT=0 - fi -} - -glibc_refresh_ldconfig() { - if [[ ${MERGE_TYPE} == buildonly ]]; then - return - fi - - # Version check could be added to avoid unnecessary work, but ldconfig - # should finish quickly enough to not matter. - ebegin "Refreshing ld.so.cache" - ldconfig -i - if ! eend $?; then - ewarn "Failed to refresh the ld.so.cache for you. Some programs may be broken" - ewarn "before you manually do so (ldconfig -i)." - fi -} - -pkg_postinst() { - # nothing to do if just installing headers - just_headers && return - - if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then - # Generate fastloading iconv module configuration file. - "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}/" - fi - - if ! is_crosscompile && [[ -z ${ROOT} ]] ; then - # glibc-2.38+ on loong has ldconfig support added, but the ELF e_flags - # handling has changed as well, which means stale ldconfig auxiliary - # cache entries and failure to lookup libgcc_s / libstdc++ (breaking - # every C++ application) / libgomp etc., among other breakages. - # - # To fix this, simply refresh the ld.so.cache without using the - # auxiliary cache if we're natively installing on loong. This should - # be done relatively soon because we want to minimize the breakage - # window for the affected programs. - use loong && glibc_refresh_ldconfig - - use compile-locales || run_locale_gen "${EROOT}/" - - # If fixincludes was/is active for a particular GCC slot, we - # must refresh it. See bug #933282 and GCC's documentation: - # https://gcc.gnu.org/onlinedocs/gcc/Fixed-Headers.html - # - # TODO: Could this be done for cross? Some care would be needed - # to pass the right arguments. - while IFS= read -r -d $'\0' slot ; do - local mkheaders_path="${BROOT}"/usr/libexec/gcc/${CBUILD}/${slot##*/}/install-tools/mkheaders - local pthread_h="${BROOT}"/usr/lib/gcc/${CBUILD}/${slot##*/}/include-fixed/pthread.h - if [[ -x ${mkheaders_path} ]] ; then - ebegin "Refreshing fixincludes for ${CBUILD} with gcc-${slot##*/}" - ${mkheaders_path} -v - eend $? - elif [[ -f ${pthread_h} ]] ; then - # fixincludes might have been enabled in the past for this - # GCC slot but not since we fixed toolchain.eclass to install - # mkheaders, so we need to manually delete pthread.h at least. - ebegin "Deleting stale fixincludes'd pthread.h for ${CBUILD} with gcc-${slot##*/}" - mv -v "${pthread_h}" "${pthread_h}.bak" - eend $? - fi - done < <(find "${BROOT}"/usr/libexec/gcc/${CBUILD}/ -mindepth 1 -maxdepth 1 -type d -print0) - fi - - upgrade_warning - - # Check for sanity of /etc/nsswitch.conf, take 2 - if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then - local entry - for entry in passwd group shadow; do - if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then - ewarn "" - ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" - ewarn "removed from glibc and is now provided by the package" - ewarn " sys-auth/libnss-nis" - ewarn "Install it now to keep your NIS setup working." - ewarn "" - fi - done - fi - - if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then - cp -p "${T}/libcrypt$(get_libname 1)" "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" || die - preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1) - - elog "Please ignore a possible later error message about a file collision involving" - elog "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1). We need to preserve this file for the moment to keep" - elog "the upgrade working, but it also needs to be overwritten when" - elog "sys-libs/libxcrypt is installed. See bug 802210 for more details." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41-r4.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41-r2.ebuild rename to sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41-r4.ebuild index 25bdeed515..d4c9fa6db4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41-r4.ebuild @@ -12,7 +12,7 @@ TMPFILES_OPTIONAL=1 EMULTILIB_PKG="true" # Gentoo patchset (ignored for live ebuilds) -PATCH_VER=3 +PATCH_VER=6 PATCH_DEV=dilfridge # gcc mulitilib bootstrap files version diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41.ebuild deleted file mode 100644 index 68691e0cd0..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41.ebuild +++ /dev/null @@ -1,1759 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc -# Please read & adapt the page as necessary if obsolete. - -PYTHON_COMPAT=( python3_{10..13} ) -TMPFILES_OPTIONAL=1 - -EMULTILIB_PKG="true" - -# Gentoo patchset (ignored for live ebuilds) -PATCH_VER=1 -PATCH_DEV=dilfridge - -# gcc mulitilib bootstrap files version -GCC_BOOTSTRAP_VER=20201208 - -# systemd integration version -GLIBC_SYSTEMD_VER=20210729 - -# Minimum kernel version that glibc requires -MIN_KERN_VER="3.2.0" - -# Minimum pax-utils version needed (which contains any new syscall changes for -# its seccomp filter!). Please double check this! -MIN_PAX_UTILS_VER="1.3.3" - -# Minimum systemd version needed (which contains any new syscall changes for -# its seccomp filter!). Please double check this! -MIN_SYSTEMD_VER="254.9-r1" - -inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \ - multilib systemd multiprocessing tmpfiles eapi9-ver - -DESCRIPTION="GNU libc C library" -HOMEPAGE="https://www.gnu.org/software/libc/" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 -else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - SRC_URI="mirror://gnu/glibc/${P}.tar.xz" - SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz" -fi - -SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" -SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )" - -LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE" -SLOT="2.2" -IUSE="audit caps cet compile-locales custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd perl profile selinux +ssp stack-realign +static-libs suid systemd systemtap test vanilla" - -# Here's how the cross-compile logic breaks down ... -# CTARGET - machine that will target the binaries -# CHOST - machine that will host the binaries -# CBUILD - machine that will build the binaries -# If CTARGET != CHOST, it means you want a libc for cross-compiling. -# If CHOST != CBUILD, it means you want to cross-compile the libc. -# CBUILD = CHOST = CTARGET - native build/install -# CBUILD != (CHOST = CTARGET) - cross-compile a native build -# (CBUILD = CHOST) != CTARGET - libc for cross-compiler -# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler -# For install paths: -# CHOST = CTARGET - install into / -# CHOST != CTARGET - install into /usr/CTARGET/ -# -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -# Note [Disable automatic stripping] -# Disabling automatic stripping for a few reasons: -# - portage's attempt to strip breaks non-native binaries at least on -# arm: bug #697428 -# - portage's attempt to strip libpthread.so.0 breaks gdb thread -# enumeration: bug #697910. This is quite subtle: -# * gdb uses glibc's libthread_db-1.0.so to enumerate threads. -# * libthread_db-1.0.so needs access to libpthread.so.0 local symbols -# via 'ps_pglobal_lookup' symbol defined in gdb. -# * 'ps_pglobal_lookup' uses '.symtab' section table to resolve all -# known symbols in 'libpthread.so.0'. Specifically 'nptl_version' -# (unexported) is used to sanity check compatibility before enabling -# debugging. -# Also see https://sourceware.org/gdb/wiki/FAQ#GDB_does_not_see_any_threads_besides_the_one_in_which_crash_occurred.3B_or_SIGTRAP_kills_my_program_when_I_set_a_breakpoint -# * normal 'strip' command trims '.symtab' -# Thus our main goal here is to prevent 'libpthread.so.0' from -# losing it's '.symtab' entries. -# - similarly, valgrind requires knowledge about symbols in ld.so: -# bug #920753 -# As Gentoo's strip does not allow us to pass less aggressive stripping -# options and does not check the machine target we strip selectively. - -# We need a new-enough binutils/gcc to match upstream baseline. -# Also we need to make sure our binutils/gcc supports TLS, -# and that gcc already contains the hardened patches. -# Lastly, let's avoid some openssh nastiness, bug 708224, as -# convenience to our users. - -IDEPEND=" - !compile-locales? ( sys-apps/locale-gen ) -" -BDEPEND=" - ${PYTHON_DEPS} - >=app-misc/pax-utils-${MIN_PAX_UTILS_VER} - sys-devel/bison - compile-locales? ( sys-apps/locale-gen ) - doc? ( - dev-lang/perl - sys-apps/texinfo - ) - test? ( - dev-lang/perl - >=net-dns/libidn2-2.3.0 - sys-apps/gawk[mpfr] - ) -" -COMMON_DEPEND=" - gd? ( media-libs/gd:2= ) - nscd? ( selinux? ( - audit? ( sys-process/audit ) - caps? ( sys-libs/libcap ) - ) ) - suid? ( caps? ( sys-libs/libcap ) ) - selinux? ( sys-libs/libselinux ) - systemtap? ( dev-debug/systemtap ) -" -DEPEND="${COMMON_DEPEND} -" -RDEPEND="${COMMON_DEPEND} - !/dev/null - - rm -f glibc-test* - printf '%b' "$*" > glibc-test.c - - # We assume CC is already set up. - nonfatal emake glibc-test - ret=$? - - popd >/dev/null - - CFLAGS=${save_cflags} - return ${ret} -} - -do_run_test() { - local ret - - if [[ ${MERGE_TYPE} == "binary" ]] ; then - # ignore build failures when installing a binary package #324685 - do_compile_test "" "$@" 2>/dev/null || return 0 - else - ebegin "Performing simple compile test for ABI=${ABI}" - if ! do_compile_test "" "$@" ; then - ewarn "Simple build failed ... assuming this is desired #324685" - eend 1 - return 0 - else - eend 0 - fi - fi - - pushd "${T}" >/dev/null - - ./glibc-test - ret=$? - rm -f glibc-test* - - popd >/dev/null - - return ${ret} -} - -setup_target_flags() { - # This largely mucks with compiler flags. None of which should matter - # when building up just the headers. - just_headers && return 0 - - case $(tc-arch) in - x86) - # -march needed for #185404 #199334 - # TODO: When creating the first glibc cross-compile, this test will - # always fail as it does a full link which in turn requires glibc. - # Probably also applies when changing multilib profile settings (e.g. - # enabling x86 when the profile was amd64-only previously). - # We could change main to _start and pass -nostdlib here so that we - # only test the gcc code compilation. Or we could do a compile and - # then look for the symbol via scanelf. - if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then - local t=${CTARGET_OPT:-${CTARGET}} - t=${t%%-*} - filter-flags '-march=*' - export CFLAGS="-march=${t} ${CFLAGS}" - einfo "Auto adding -march=${t} to CFLAGS #185404" - fi - # For compatibility with older binaries at slight performance cost. - use stack-realign && export CFLAGS+=" -mstackrealign" - ;; - amd64) - # -march needed for #185404 #199334 - # TODO: See cross-compile issues listed above for x86. - if [[ ${ABI} == x86 ]]; then - if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then - local t=${CTARGET_OPT:-${CTARGET}} - t=${t%%-*} - # Normally the target is x86_64-xxx, so turn that into the -march that - # gcc actually accepts. #528708 - [[ ${t} == "x86_64" ]] && t="x86-64" - filter-flags '-march=*' - # ugly, ugly, ugly. ugly. - CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}") - export CFLAGS_x86="${CFLAGS_x86} -march=${t}" - einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})" - fi - # For compatibility with older binaries at slight performance cost. - use stack-realign && export CFLAGS_x86+=" -mstackrealign" - fi - ;; - mips) - # The mips abi cannot support the GNU style hashes. #233233 - filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both - ;; - ppc|ppc64) - # Many arch-specific implementations do not work on ppc with - # cache-block not equal to 128 bytes. This breaks memset: - # https://sourceware.org/PR26522 - # https://bugs.gentoo.org/737996 - # Use default -mcpu=. For ppc it means non-multiarch setup. - filter-flags '-mcpu=*' - ;; - sparc) - # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though. - filter-flags "-fcall-used-g7" - append-flags "-fcall-used-g6" - - local cpu - case ${CTARGET} in - sparc64-*) - cpu="sparc64" - case $(get-flag mcpu) in - v9) - # We need to force at least v9a because the base build doesn't - # work with just v9. - # https://sourceware.org/bugzilla/show_bug.cgi?id=19477 - append-flags "-Wa,-xarch=v9a" - ;; - esac - ;; - sparc-*) - case $(get-flag mcpu) in - v8|supersparc|hypersparc|leon|leon3) - cpu="sparcv8" - ;; - *) - cpu="sparcv9" - ;; - esac - ;; - esac - [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}" - ;; - esac -} - -setup_flags() { - # Make sure host make.conf doesn't pollute us - if is_crosscompile || tc-is-cross-compiler ; then - CHOST=${CTARGET} strip-unsupported-flags - fi - - # Store our CFLAGS because it's changed depending on which CTARGET - # we are building when pulling glibc on a multilib profile - CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}} - CFLAGS=${CFLAGS_BASE} - CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}} - CXXFLAGS=${CXXFLAGS_BASE} - ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}} - ASFLAGS=${ASFLAGS_BASE} - - # Allow users to explicitly avoid flag sanitization via - # USE=custom-cflags. - if ! use custom-cflags; then - # Over-zealous CFLAGS can often cause problems. What may work for one - # person may not work for another. To avoid a large influx of bugs - # relating to failed builds, we strip most CFLAGS out to ensure as few - # problems as possible. - strip-flags - - # Allow -O2 and -O3, but nothing else for now. - # TODO: Test -Os, -Oz. - if ! is-flagq '-O@(2|3)' ; then - # Lock glibc at -O2. We want to be conservative here. - filter-flags '-O?' - append-flags -O2 - fi - fi - - strip-unsupported-flags - filter-lto - filter-flags -m32 -m64 '-mabi=*' - - # glibc aborts if rpath is set by LDFLAGS - filter-ldflags '-Wl,-rpath=*' - - # ld can't use -r & --relax at the same time, bug #788901 - # https://sourceware.org/PR27837 - filter-ldflags '-Wl,--relax' - - # Flag added for cross-prefix, but causes ldconfig to segfault. Not needed - # anyway because glibc already handles this by itself. - filter-ldflags '-Wl,--dynamic-linker=*' - - # Fails to link (bug #940709) in some cases but even if it manages to, - # subtle runtime breakage will occur because the linker scripts need - # adaptation. Mentioned in PR21557#c0. - filter-ldflags '-Wl,--gc-sections' - - # some weird software relies on sysv hashes in glibc, bug 863863, bug 864100 - # we have to do that here already so mips can filter it out again :P - if use hash-sysv-compat ; then - append-ldflags '-Wl,--hash-style=both' - fi - - # #492892 - filter-flags -frecord-gcc-switches - - # #898098 - filter-flags -fno-builtin - - # #798774 - filter-flags -fno-semantic-interposition - - # #829583 - filter-lfs-flags - - unset CBUILD_OPT CTARGET_OPT - if use multilib ; then - CTARGET_OPT=$(get_abi_CTARGET) - [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST) - fi - - setup_target_flags - - if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then - CBUILD_OPT=${CTARGET_OPT} - fi - - # glibc's headers disallow -O0 and fail at build time: - # include/libc-symbols.h:75:3: #error "glibc cannot be compiled without optimization" - # https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F - replace-flags -O0 -O1 - - # Similar issues as with SSP. Can't inject yourself that early. - filter-flags '-fsanitize=*' - - # See end of bug #830454; we handle this via USE=cet - filter-flags '-fcf-protection=*' - - # When bootstrapping, we may have a situation where - # CET-enabled gcc from seed is used to build CET-disabled - # glibc. As such, gcc implicitly enables CET if no - # -fcf-protection flag is passed. For a typical package it - # should not be a problem, but for glibc it matters as it is - # dealing with CET in ld.so. So if CET is supposed to be - # disabled for glibc, be explicit about it. - if ! use cet; then - case ${ABI}-${CTARGET} in - amd64-x86_64-*|x32-x86_64-*-*-gnux32) - append-flags '-fcf-protection=none' - ;; - arm64-aarch64*) - append-flags '-mbranch-protection=none' - ;; - esac - fi -} - -use_multiarch() { - # Allow user to disable runtime arch detection in multilib. - use multiarch || return 1 - # Make sure binutils is new enough to support indirect functions, - # #336792. This funky sed supports gold and bfd linkers. - local bver nver - bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}') - case $(tc-arch ${CTARGET}) in - amd64|x86) nver="2.20" ;; - arm) nver="2.22" ;; - hppa) nver="2.23" ;; - ppc|ppc64) nver="2.20" ;; - # ifunc support was added in 2.23, but glibc also needs - # machinemode which is in 2.24. - s390) nver="2.24" ;; - sparc) nver="2.21" ;; - *) return 1 ;; - esac - ver_test ${bver} -ge ${nver} -} - -# Setup toolchain variables that had historically been defined in the -# profiles for these archs. -setup_env() { - # silly users - unset LD_RUN_PATH - unset LD_ASSUME_KERNEL - - if is_crosscompile || tc-is-cross-compiler ; then - multilib_env ${CTARGET_OPT:-${CTARGET}} - - if ! use multilib ; then - MULTILIB_ABIS=${DEFAULT_ABI} - else - MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}} - fi - - # If the user has CFLAGS_ in their make.conf, use that, - # and fall back on CFLAGS. - local VAR=CFLAGS_${CTARGET//[-.]/_} - CFLAGS=${!VAR-${CFLAGS}} - einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}" - fi - - setup_flags - - export ABI=${ABI:-${DEFAULT_ABI:-default}} - - if just_headers ; then - # Avoid mixing host's CC and target's CFLAGS_${ABI}: - # At this bootstrap stage we have only binutils for - # target but not compiler yet. - einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." - return 0 - fi - - # glibc does not work with non-bfd (for various reasons): - # * gold (bug #269274) - # * mold (bug #860900) - tc-ld-force-bfd - - if use doc ; then - export MAKEINFO=makeinfo - else - export MAKEINFO=/dev/null - fi - - # Reset CC and CXX to the value at start of emerge - export CC=${glibc__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}} - export CXX=${glibc__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}} - export CPP=${glibc__ORIG_CPP:-${CPP:-$(tc-getCPP ${CTARGET})}} - - # and make sure glibc__ORIG_CC and glibc__ORIG_CXX is defined now. - export glibc__ORIG_CC=${CC} - export glibc__ORIG_CXX=${CXX} - export glibc__ORIG_CPP=${CPP} - - if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then - export glibc__force_gcc=yes - # once this is toggled on, it needs to stay on, since with CPP manipulated - # tc-is-clang does not work correctly anymore... - fi - - if [[ ${glibc__force_gcc} == "yes" ]] ; then - # If we are running in an otherwise clang/llvm environment, we need to - # recover the proper gcc and binutils settings here, at least until glibc - # is finally building with clang. So let's override everything that is - # set in the clang profiles. - # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always - # a good start into that direction. - # Also, if you're crosscompiling, let's assume you know what you are doing. - # Hopefully. - # Last, we need the settings of the *build* environment, not of the - # target environment... - - local current_binutils_path=$(env CHOST="${CBUILD}" ROOT="${BROOT}" binutils-config -B "${CTARGET}") - local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B) - einfo "Overriding clang configuration, since it won't work here" - - export CC="${current_gcc_path}/${CTARGET}-gcc" - export CPP="${current_gcc_path}/${CTARGET}-cpp" - export CXX="${current_gcc_path}/${CTARGET}-g++" - export LD="${current_binutils_path}/ld.bfd" - export AR="${current_binutils_path}/ar" - export AS="${current_binutils_path}/as" - export NM="${current_binutils_path}/nm" - export STRIP="${current_binutils_path}/strip" - export RANLIB="${current_binutils_path}/ranlib" - export OBJCOPY="${current_binutils_path}/objcopy" - export STRINGS="${current_binutils_path}/strings" - export OBJDUMP="${current_binutils_path}/objdump" - export READELF="${current_binutils_path}/readelf" - export ADDR2LINE="${current_binutils_path}/addr2line" - - # do we need to also do flags munging here? yes! at least... - filter-flags '-fuse-ld=*' - filter-flags '-D_FORTIFY_SOURCE=*' - - else - - # this is the "normal" case - - export CC="$(tc-getCC ${CTARGET})" - export CXX="$(tc-getCXX ${CTARGET})" - export CPP="$(tc-getCPP ${CTARGET})" - - # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure - # can't detect them automatically due to ${CHOST} mismatch and fallbacks - # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). - export NM="$(tc-getNM ${CTARGET})" - export READELF="$(tc-getREADELF ${CTARGET})" - - fi - - # We need to export CFLAGS with abi information in them because glibc's - # configure script checks CFLAGS for some targets (like mips). Keep - # around the original clean value to avoid appending multiple ABIs on - # top of each other. (Why does the comment talk about CFLAGS if the code - # acts on CC?) - export glibc__GLIBC_CC=${CC} - export glibc__GLIBC_CXX=${CXX} - export glibc__GLIBC_CPP=${CPP} - - export glibc__abi_CFLAGS="$(get_abi_CFLAGS)" - - # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 - # To build .S (assembly) files with the same ABI-specific flags - # upstream currently recommends adding CFLAGS to CC/CXX: - # https://sourceware.org/PR23273 - # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS - # and breaks multiarch support. See 659030#c3 for an example. - # The glibc configure script doesn't properly use LDFLAGS all the time. - export CC="${glibc__GLIBC_CC} ${glibc__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}" - - # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 - export CXX="${glibc__GLIBC_CXX} ${glibc__abi_CFLAGS} ${CFLAGS}" - - export CPP="${glibc__GLIBC_CPP} ${glibc__abi_CFLAGS} ${CFLAGS}" - - if is_crosscompile; then - # Assume worst-case bootstrap: glibc is built for the first time - # with ${CTARGET}-g++ not available yet. We avoid - # building auxiliary programs that require C++: bug #683074 - # It should not affect final result. - export libc_cv_cxx_link_ok=no - # The line above has the same effect. We set CXX explicitly - # to make build logs less confusing. - export CXX= - fi -} - -foreach_abi() { - setup_env - - local ret=0 - local abilist="" - if use multilib ; then - abilist=$(get_install_abis) - else - abilist=${DEFAULT_ABI} - fi - local -x ABI - for ABI in ${abilist:-default} ; do - setup_env - einfo "Running $1 for ABI ${ABI}" - $1 - : $(( ret |= $? )) - done - return ${ret} -} - -glibc_banner() { - local b="Gentoo ${PVR}" - [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" (patchset ${PATCH_VER})" - echo "${b}" -} - -# The following Kernel version handling functions are mostly copied from portage -# source. It's better not to use linux-info.eclass here since a) it adds too -# much magic, see bug 326693 for some of the arguments, and b) some of the -# functions are just not provided. - -g_get_running_KV() { - uname -r - return $? -} - -g_KV_major() { - [[ -z $1 ]] && return 1 - local KV=$@ - echo "${KV%%.*}" -} - -g_KV_minor() { - [[ -z $1 ]] && return 1 - local KV=$@ - KV=${KV#*.} - echo "${KV%%.*}" -} - -g_KV_micro() { - [[ -z $1 ]] && return 1 - local KV=$@ - KV=${KV#*.*.} - echo "${KV%%[^[:digit:]]*}" -} - -g_KV_to_int() { - [[ -z $1 ]] && return 1 - local KV_MAJOR=$(g_KV_major "$1") - local KV_MINOR=$(g_KV_minor "$1") - local KV_MICRO=$(g_KV_micro "$1") - local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO )) - - # We make version 2.2.0 the minimum version we will handle as - # a sanity check ... if its less, we fail ... - if [[ ${KV_int} -ge 131584 ]] ; then - echo "${KV_int}" - return 0 - fi - return 1 -} - -g_int_to_KV() { - local version=$1 major minor micro - major=$((version / 65536)) - minor=$(((version % 65536) / 256)) - micro=$((version % 256)) - echo ${major}.${minor}.${micro} -} - -eend_KV() { - [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]] - eend $? -} - -get_kheader_version() { - printf '#include \nLINUX_VERSION_CODE\n' | \ - $(tc-getCPP ${CTARGET}) -I "${ESYSROOT}$(alt_headers)" - | \ - tail -n 1 -} - -# We collect all sanity checks here. Consistency is not guranteed between -# pkg_ and src_ phases, so we call this function both in pkg_pretend and in -# src_unpack. -sanity_prechecks() { - # Prevent native builds from downgrading - if [[ ${MERGE_TYPE} != "buildonly" ]] && \ - [[ -z ${ROOT} ]] && \ - [[ ${CBUILD} == ${CHOST} ]] && \ - [[ ${CHOST} == ${CTARGET} ]] ; then - - # The high rev # is to allow people to downgrade between -r# - # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2 - # should be fine. Hopefully we never actually use a r# this - # high. - if has_version ">${CATEGORY}/${P}-r10000" ; then - eerror "Sanity check to keep you from breaking your system:" - eerror " Downgrading glibc is not supported and a sure way to destruction." - [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system." - fi - - if ! do_run_test '#include \n#include \nint main(){return syscall(1000)!=-1;}\n' ; then - eerror "Your old kernel is broken. You need to update it to a newer" - eerror "version as syscall() will break. See bug 279260." - die "Old and broken kernel." - fi - fi - - if [[ ${CTARGET} == i386-* ]] ; then - eerror "i386 CHOSTs are no longer supported." - eerror "Chances are you don't actually want/need i386." - eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml" - die "Please fix your CHOST" - fi - - if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then - ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS." - ewarn "This will result in a 50% performance penalty when running with a 32bit" - ewarn "hypervisor, which is probably not what you want." - fi - - # ABI-specific checks follow here. Hey, we have a lot more specific conditions that - # we test for... - if ! is_crosscompile ; then - if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then - ebegin "Checking if the system can execute 32-bit binaries" - echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c" - local STAT - if ${CC-${CHOST}-gcc} ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then - "${T}/check-ia32-emulation.elf32" - STAT=$? - else - # Don't fail here to allow single->multi ABI switch - # or recover from breakage like bug #646424 - ewarn "Failed to compile the ABI test. Broken host glibc?" - STAT=0 - fi - rm -f "${T}/check-ia32-emulation.elf32" - eend $STAT - if [[ $STAT -ne 0 ]]; then - eerror "Ensure that CONFIG_IA32_EMULATION is enabled in the kernel." - eerror "Seek support otherwise." - die "Unable to execute 32-bit binaries" - fi - fi - - fi - - # When we actually have to compile something... - if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then - if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then - # bug #833620, bug #643302 - eerror "Found ${ESYSROOT}/usr/lib/include directory!" - eerror "This is known to break glibc's build." - eerror "Please backup its contents then remove the directory." - die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!" - fi - - if [[ ${CTARGET} == *-linux* ]] ; then - local run_kv build_kv want_kv - - run_kv=$(g_get_running_KV) - build_kv=$(g_int_to_KV $(get_kheader_version)) - want_kv=${MIN_KERN_VER} - - if ! is_crosscompile && ! tc-is-cross-compiler ; then - # Building fails on an non-supporting kernel - ebegin "Checking running kernel version (${run_kv} >= ${want_kv})" - if ! eend_KV ${run_kv} ${want_kv} ; then - echo - eerror "You need a kernel of at least ${want_kv}!" - die "Kernel version too low!" - fi - fi - - # Do not run this check for pkg_pretend, just pkg_setup and friends (if we ever get used there). - # It's plausible (seen it in the wild) that Portage will (correctly) schedule a linux-headers - # upgrade before glibc, but because pkg_pretend gets run before any packages are merged at all (not - # just glibc), the whole emerge gets aborted without a good reason. We probably don't - # need to run this check at all given we have a dependency on the right headers, - # but let's leave it as-is for now. - if [[ ${EBUILD_PHASE_FUNC} != pkg_pretend ]] ; then - ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})" - if ! eend_KV ${build_kv} ${want_kv} ; then - echo - eerror "You need linux-headers of at least ${want_kv}!" - die "linux-headers version too low!" - fi - fi - fi - fi -} - -upgrade_warning() { - is_crosscompile && return - - if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then - if ver_replacing -lt $(ver_cut 1-2 ${PV}); then - ewarn "After upgrading glibc, please restart all running processes." - ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." - ewarn "Alternatively, reboot your system." - ewarn "(See bug #660556, bug #741116, bug #823756, etc)" - fi - fi -} - -# -# the phases -# - -# pkg_pretend - -pkg_pretend() { - upgrade_warning -} - -# pkg_setup - -pkg_setup() { - # see bug 682570 - [[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup -} - -# src_unpack - -src_unpack() { - setup_env - - einfo "Checking general environment sanity." - sanity_prechecks - - use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz - - if [[ ${PV} == 9999* ]] ; then - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git - https://github.com/gentoo/glibc-patches.git - " - EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git - git-r3_src_unpack - mv patches-git/9999 patches || die - EGIT_REPO_URI=" - https://sourceware.org/git/glibc.git - https://git.sr.ht/~sourceware/glibc - https://gitlab.com/x86-glibc/glibc.git - " - EGIT_CHECKOUT_DIR=${S} - git-r3_src_unpack - else - unpack ${P}.tar.xz - - cd "${WORKDIR}" || die - unpack glibc-${PV}-patches-${PATCH_VER}.tar.xz - fi - - cd "${WORKDIR}" || die - use systemd && unpack glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz -} - -# src_prepare - -src_prepare() { - local patchsetname - if ! use vanilla ; then - if [[ ${PV} == 9999* ]] ; then - patchsetname="from git master" - else - patchsetname="${PV}-${PATCH_VER}" - fi - einfo "Applying Gentoo Glibc patchset ${patchsetname}" - eapply "${WORKDIR}"/patches - einfo "Done." - fi - - default - - gnuconfig_update - - cd "${WORKDIR}" || die - find . -name configure -exec touch {} + - - # Fix permissions on some of the scripts. - chmod u+x "${S}"/scripts/*.sh - - cd "${S}" || die -} - -# src_configure - -glibc_do_configure() { - dump_build_environment - - local myconf=() - - # Use '=strong' instead of '=all' to protect only functions - # worth protecting from stack smashes. - myconf+=( --enable-stack-protector=$(usex ssp strong no) ) - - # Keep a whitelist of targets supporting IFUNC. glibc's ./configure - # is not robust enough to detect proper support: - # https://bugs.gentoo.org/641216 - # https://sourceware.org/PR22634#c0 - case $(tc-arch ${CTARGET}) in - # Keep whitelist of targets where autodetection mostly works. - amd64|x86|sparc|ppc|ppc64|arm|arm64|s390|riscv|loong) ;; - # Blacklist everywhere else - *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;; - esac - - case ${ABI}-${CTARGET} in - amd64-x86_64-*|x32-x86_64-*-*-gnux32) myconf+=( $(use_enable cet) ) ;; - *) ;; - esac - - [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp ) - - myconf+=( --enable-kernel=${MIN_KERN_VER} ) - - # Since SELinux support is only required for nscd, only enable it if: - # 1. USE selinux - # 2. only for the primary ABI on multilib systems - # 3. Not a crosscompile - if ! is_crosscompile && use selinux ; then - if use multilib ; then - if is_final_abi ; then - myconf+=( --with-selinux ) - else - myconf+=( --without-selinux ) - fi - else - myconf+=( --with-selinux ) - fi - else - myconf+=( --without-selinux ) - fi - - # Force a few tests where we always know the answer but - # configure is incapable of finding it. - if is_crosscompile ; then - export \ - libc_cv_c_cleanup=yes \ - libc_cv_forced_unwind=yes - fi - - myconf+=( - --disable-werror - --enable-bind-now - --enable-fortify-source - --build=${CBUILD_OPT:-${CBUILD}} - --host=${CTARGET_OPT:-${CTARGET}} - $(use_enable profile) - $(use_with gd) - --with-headers="${ESYSROOT}$(alt_headers)" - --prefix="$(host_eprefix)/usr" - --sysconfdir="$(host_eprefix)/etc" - --localstatedir="$(host_eprefix)/var" - --libdir='$(prefix)'/$(get_libdir) - --mandir='$(prefix)'/share/man - --infodir='$(prefix)'/share/info - --libexecdir='$(libdir)'/misc/glibc - --with-bugurl=https://bugs.gentoo.org/ - --with-pkgversion="$(glibc_banner)" - $(use_multiarch || echo --disable-multi-arch) - $(use_enable systemtap) - $(use_enable nscd) - - # /usr/bin/mtrace has a Perl shebang. Gentoo Prefix QA checks fail if - # Perl hasn't been installed inside the prefix yet and configure picks - # up a Perl from outside the prefix instead. configure will fail to - # execute Perl during configure if we're cross-compiling a prefix, but - # it will just disable mtrace in that case. - # Note: mtrace is needed by the test suite. - ac_cv_path_PERL="$(usex perl "${EPREFIX}"/usr/bin/perl $(usex test "${EPREFIX}"/usr/bin/perl $(usex doc "${EPREFIX}"/usr/bin/perl no)))" - - # locale data is arch-independent - # https://bugs.gentoo.org/753740 - libc_cv_complocaledir='${exec_prefix}/lib/locale' - - # On aarch64 there is no way to override -mcpu=native, and if - # the current cpu does not support SVE configure fails. - # Let's boldly assume our toolchain can always build SVE instructions. - libc_cv_aarch64_sve_asm=yes - - ${EXTRA_ECONF} - ) - - # We rely on sys-libs/timezone-data for timezone tools normally. - myconf+=( $(use_enable vanilla timezone-tools) ) - - # These libs don't have configure flags. - ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no) - ac_cv_lib_cap_cap_init=$(usex caps || echo no) - - # There is no configure option for this and we need to export it - # since the glibc build will re-run configure on itself - export libc_cv_rootsbindir="$(host_eprefix)/sbin" - export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)" - - local builddir=$(builddir nptl) - mkdir -p "${builddir}" - cd "${builddir}" - set -- "${S}"/configure "${myconf[@]}" - echo "$@" - "$@" || die "failed to configure glibc" - - # If we're trying to migrate between ABI sets, we need - # to lie and use a local copy of gcc. Like if the system - # is built with MULTILIB_ABIS="amd64 x86" but we want to - # add x32 to it, gcc/glibc don't yet support x32. - # - if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib-bootstrap ; then - echo 'int main(void){}' > "${T}"/test.c || die - if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then - sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die - fi - fi -} - -glibc_headers_configure() { - export ABI=default - - local builddir=$(builddir "headers") - mkdir -p "${builddir}" - cd "${builddir}" - - # if we don't have a compiler yet, we can't really test it now ... - # hopefully they don't affect header generation, so let's hope for - # the best here ... - local v vars=( - ac_cv_header_cpuid_h=yes - libc_cv_{386,390,alpha,arm,hppa,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes - libc_cv_asm_cfi_directives=yes - libc_cv_broken_visibility_attribute=no - libc_cv_c_cleanup=yes - libc_cv_compiler_powerpc64le_binary128_ok=yes - libc_cv_forced_unwind=yes - libc_cv_gcc___thread=yes - libc_cv_mlong_double_128=yes - libc_cv_mlong_double_128ibm=yes - libc_cv_ppc_machine=yes - libc_cv_ppc_rel16=yes - libc_cv_predef_fortify_source=no - libc_cv_target_power8_ok=yes - libc_cv_visibility_attribute=yes - libc_cv_z_combreloc=yes - libc_cv_z_execstack=yes - libc_cv_z_initfirst=yes - libc_cv_z_nodelete=yes - libc_cv_z_nodlopen=yes - libc_cv_z_relro=yes - libc_mips_abi=${ABI} - libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard) - # These libs don't have configure flags. - ac_cv_lib_audit_audit_log_user_avc_message=no - ac_cv_lib_cap_cap_init=no - ) - - einfo "Forcing cached settings:" - for v in "${vars[@]}" ; do - einfo " ${v}" - export ${v} - done - - local headers_only_arch_CPPFLAGS=() - - # Blow away some random CC settings that screw things up. #550192 - if [[ -d ${S}/sysdeps/mips ]]; then - pushd "${S}"/sysdeps/mips >/dev/null - sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die - sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die - - # Force the mips ABI to the default. This is OK because the set of - # installed headers in this phase is the same between the 3 ABIs. - # If this ever changes, this hack will break, but that's unlikely - # as glibc discourages that behavior. - # https://crbug.com/647033 - sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die - - popd >/dev/null - fi - - local myconf=() - - case ${CTARGET} in - aarch64*) - # The configure checks fail during cross-build, so disable here - # for headers-only - myconf+=( - --disable-mathvec - ) ;; - riscv*) - # RISC-V interrogates the compiler to determine which target to - # build. If building the headers then we don't strictly need a - # RISC-V compiler, so the built-in definitions that are provided - # along with all RISC-V compiler might not exist. This causes - # glibc's RISC-V preconfigure script to blow up. Since we're just - # building the headers any value will actually work here, so just - # pick the standard one (rv64g/lp64d) to make the build scripts - # happy for now -- the headers are all the same anyway so it - # doesn't matter. - headers_only_arch_CPPFLAGS+=( - -D__riscv_xlen=64 - -D__riscv_flen=64 - -D__riscv_float_abi_double=1 - -D__riscv_atomic=1 - ) ;; - esac - - myconf+=( - --disable-sanity-checks - --enable-hacker-mode - --disable-werror - --enable-bind-now - --build=${CBUILD_OPT:-${CBUILD}} - --host=${CTARGET_OPT:-${CTARGET}} - --with-headers="${ESYSROOT}$(alt_headers)" - --prefix="$(host_eprefix)/usr" - ${EXTRA_ECONF} - ) - - # Nothing is compiled here which would affect the headers for the target. - # So forcing CC/CFLAGS is sane. - local headers_only_CC=$(tc-getBUILD_CC) - local headers_only_CFLAGS="-O1 -pipe" - local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}" - local headers_only_LDFLAGS="" - set -- "${S}"/configure "${myconf[@]}" - echo \ - "CC=${headers_only_CC}" \ - "CFLAGS=${headers_only_CFLAGS}" \ - "CPPFLAGS=${headers_only_CPPFLAGS}" \ - "LDFLAGS=${headers_only_LDFLAGS}" \ - "$@" - CC=${headers_only_CC} \ - CFLAGS=${headers_only_CFLAGS} \ - CPPFLAGS=${headers_only_CPPFLAGS} \ - LDFLAGS="" \ - "$@" || die "failed to configure glibc" -} - -do_src_configure() { - if just_headers ; then - glibc_headers_configure - else - glibc_do_configure nptl - fi -} - -src_configure() { - foreach_abi do_src_configure -} - -# src_compile - -do_src_compile() { - emake -C "$(builddir nptl)" -} - -src_compile() { - if just_headers ; then - return - fi - - foreach_abi do_src_compile -} - -# src_test - -glibc_src_test() { - cd "$(builddir nptl)" - - local myxfailparams="" - if [[ "${GENTOO_GLIBC_XFAIL_TESTS}" == "yes" ]] ; then - local virt=$(systemd-detect-virt 2>/dev/null) - if [[ ${virt} == systemd-nspawn ]] ; then - ewarn "Skipping extra tests because in systemd-nspawn container" - XFAIL_TEST_LIST+=( "${XFAIL_NSPAWN_TEST_LIST[@]}" ) - fi - if [[ "$(nice)" == "19" ]] ; then - # Expects to be able to increase niceness, which it can't do if - # already at the highest nice value - XFAIL_TEST_LIST+=( "tst-nice" ) - fi - - for myt in ${XFAIL_TEST_LIST[@]} ; do - myxfailparams+="test-xfail-${myt}=yes " - done - fi - - # sandbox does not understand unshare() and prevents - # writes to /proc/, which makes many tests fail - - # we give the tests a bit more time to avoid spurious - # bug reports on slow arches - - SANDBOX_ON=0 LD_PRELOAD= TIMEOUTFACTOR=16 emake ${myxfailparams} check -} - -src_test() { - if just_headers ; then - return - fi - - foreach_abi glibc_src_test || die "tests failed" -} - -# src_install - -run_locale_gen() { - # if the host locales.gen contains no entries, we'll install everything - local root="$1" - local inplace="" - - if [[ "${root}" == "--inplace-glibc" ]] ; then - inplace="--inplace-glibc" - root="$2" - fi - - local locale_list="${root%/}/etc/locale.gen" - - pushd "${ED}"/$(get_libdir) >/dev/null - - if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then - [[ -z ${inplace} ]] && ewarn "Generating all locales; edit /etc/locale.gen to save time/space" - locale_list="${root%/}/usr/share/i18n/SUPPORTED" - fi - - # bug 736794: we need to be careful with the parallelization... the number of - # processors saved in the environment of a binary package may differ strongly - # from the number of processes available during postinst - local mygenjobs="$(makeopts_jobs)" - if [[ "${EMERGE_FROM}" == "binary" ]] ; then - mygenjobs="$(nproc)" - fi - - set -- locale-gen ${inplace} --jobs "${mygenjobs}" --config "${locale_list}" \ - --destdir "${root}" - echo "$@" - "$@" - - popd >/dev/null -} - -glibc_do_src_install() { - local builddir=$(builddir nptl) - cd "${builddir}" - - emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install - - # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support - # which come without headers etc. Only needed for binary packages since the - # external net-libs/libnsl has increased soversion. Keep only versioned libraries. - find "${D}" -name "libnsl.a" -delete - find "${D}" -name "libnsl.so" -delete - - # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need - # to infer upstream version: - # '#define VERSION "2.26.90"' -> '2.26.90' - local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h) - - # Avoid stripping binaries not targeted by ${CHOST}. Or else - # ${CHOST}-strip would break binaries build for ${CTARGET}. - is_crosscompile && dostrip -x / - - # gdb thread introspection relies on local libpthreads symbols. stripping breaks it - # See Note [Disable automatic stripping] - dostrip -x $(alt_libdir)/libpthread-${upstream_pv}.so - # valgrind requires knowledge about ld.so symbols. - dostrip -x $(alt_libdir)/ld-*.so* - - if [[ -e ${ED}/$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then - # Move versioned .a file out of libdir to evade portage QA checks - # instead of using gen_usr_ldscript(). We fix ldscript as: - # "GROUP ( /usr/lib64/libm-.a ..." -> "GROUP ( /usr/lib64/glibc-/libm-.a ..." - sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" \ - "${ED}"/$(alt_usrlibdir)/libm.a || die - dodir $(alt_usrlibdir)/${P} - mv "${ED}"/$(alt_usrlibdir)/libm-${upstream_pv}.a \ - "${ED}"/$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die - fi - - # We configure toolchains for standalone prefix systems with a sysroot, - # which is prepended to paths in ld scripts, so strip the prefix from these. - # Before: GROUP ( /foo/lib64/libc.so.6 /foo/usr/lib64/libc_nonshared.a AS_NEEDED ( /foo/lib64/ld-linux-x86-64.so.2 ) ) - # After: GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) ) - if [[ -n $(host_eprefix) ]] ; then - local file - grep -lZIF "ld script" "${ED}/$(alt_usrlibdir)"/lib*.{a,so} 2>/dev/null | while read -rd '' file ; do - sed -i "s|$(host_eprefix)/|/|g" "${file}" || die - done - fi - - # We'll take care of the cache ourselves - rm -f "${ED}"/etc/ld.so.cache - - # Everything past this point just needs to be done once ... - is_final_abi || return 0 - - # Make sure the non-native interp can be found on multilib systems even - # if the main library set isn't installed into the right place. Maybe - # we should query the active gcc for info instead of hardcoding it ? - local i ldso_abi ldso_name - local ldso_abi_list=( - # x86 - amd64 /lib64/ld-linux-x86-64.so.2 - x32 /libx32/ld-linux-x32.so.2 - x86 /lib/ld-linux.so.2 - # mips - o32 /lib/ld.so.1 - n32 /lib32/ld.so.1 - n64 /lib64/ld.so.1 - # powerpc - ppc /lib/ld.so.1 - # riscv - ilp32d /lib/ld-linux-riscv32-ilp32d.so.1 - ilp32 /lib/ld-linux-riscv32-ilp32.so.1 - lp64d /lib/ld-linux-riscv64-lp64d.so.1 - lp64 /lib/ld-linux-riscv64-lp64.so.1 - # s390 - s390 /lib/ld.so.1 - s390x /lib/ld64.so.1 - # sparc - sparc32 /lib/ld-linux.so.2 - sparc64 /lib64/ld-linux.so.2 - ) - case $(tc-endian) in - little) - ldso_abi_list+=( - # arm - arm64 /lib/ld-linux-aarch64.so.1 - # ELFv2 (glibc does not support ELFv1 on LE) - ppc64 /lib64/ld64.so.2 - ) - ;; - big) - ldso_abi_list+=( - # arm - arm64 /lib/ld-linux-aarch64_be.so.1 - # ELFv1 (glibc does not support ELFv2 on BE) - ppc64 /lib64/ld64.so.1 - ) - ;; - esac - if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then - dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib - fi - for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do - ldso_abi=${ldso_abi_list[i]} - has ${ldso_abi} $(get_install_abis) || continue - - ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}" - if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then - dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name} - fi - done - - # In the LSB 5.0 definition, someone had the excellent idea to "standardize" - # the runtime loader name, see also https://xkcd.com/927/ - # Normally, in Gentoo one should never come across executables that require this. - # However, binary commercial packages are known to adhere to weird practices. - # https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-AMD64/LSB-Core-AMD64.html#BASELIB - local lsb_ldso_name native_ldso_name lsb_ldso_abi - local lsb_ldso_abi_list=( - # x86 - amd64 ld-linux-x86-64.so.2 ld-lsb-x86-64.so.3 - ) - for (( i = 0; i < ${#lsb_ldso_abi_list[@]}; i += 3 )) ; do - lsb_ldso_abi=${lsb_ldso_abi_list[i]} - native_ldso_name=${lsb_ldso_abi_list[i+1]} - lsb_ldso_name=${lsb_ldso_abi_list[i+2]} - has ${lsb_ldso_abi} $(get_install_abis) || continue - - if [[ ! -L ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} && ! -e ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} ]] ; then - dosym ${native_ldso_name} "$(alt_prefix)/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name}" - fi - done - - # With devpts under Linux mounted properly, we do not need the pt_chown - # binary to be setuid. This is because the default owners/perms will be - # exactly what we want. - if ! use suid ; then - find "${ED}" -name pt_chown -exec chmod -s {} + - fi - - ################################################################# - # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY # - ################################################################# - - # Make sure we install some symlink hacks so that when we build - # a 2nd stage cross-compiler, gcc finds the target system - # headers correctly. See gcc/doc/gccinstall.info - if is_crosscompile ; then - # We need to make sure that /lib and /usr/lib always exists. - # gcc likes to use relative paths to get to its multilibs like - # /usr/lib/../lib64/. So while we don't install any files into - # /usr/lib/, we do need it to exist. - keepdir $(alt_prefix)/lib - keepdir $(alt_prefix)/usr/lib - - dosym usr/include $(alt_prefix)/sys-include - return 0 - fi - - # Files for Debian-style locale updating - dodir /usr/share/i18n - sed \ - -e "/^#/d" \ - -e "/SUPPORTED-LOCALES=/d" \ - -e "s: \\\\::g" -e "s:/: :g" \ - "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \ - || die "generating /usr/share/i18n/SUPPORTED failed" - - cd "${S}" || die - - # Install misc network config files - insinto /etc - doins posix/gai.conf - - if use systemd ; then - doins "${WORKDIR}/glibc-systemd-${GLIBC_SYSTEMD_VER}/gentoo-config/nsswitch.conf" - else - doins nss/nsswitch.conf - fi - - # Gentoo-specific - newins "${FILESDIR}"/host.conf-1 host.conf - - if use nscd ; then - doins nscd/nscd.conf - - newinitd "$(prefixify_ro "${FILESDIR}"/nscd-1)" nscd - - local nscd_args=( - -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):" - ) - - sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd - - use systemd && systemd_dounit nscd/nscd.service - newtmpfiles nscd/nscd.tmpfiles nscd.conf - fi - - echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc - doenvd "${T}"/00glibc - - for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do - [[ -s ${d} ]] && dodoc ${d} - done - dodoc -r ChangeLog.old - - # Prevent overwriting of the /etc/localtime symlink. We'll handle the - # creation of the "factory" symlink in pkg_postinst(). - rm -f "${ED}"/etc/localtime - - # Generate all locales if this is a native build as locale generation - if use compile-locales && ! is_crosscompile ; then - run_locale_gen --inplace-glibc "${ED}/" - fi -} - -glibc_headers_install() { - local builddir=$(builddir "headers") - cd "${builddir}" - emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install-headers - - insinto $(alt_headers)/gnu - doins "${S}"/include/gnu/stubs.h - - # Make sure we install the sys-include symlink so that when - # we build a 2nd stage cross-compiler, gcc finds the target - # system headers correctly. See gcc/doc/gccinstall.info - dosym usr/include $(alt_prefix)/sys-include -} - -src_install() { - if just_headers ; then - export ABI=default - glibc_headers_install - return - fi - - foreach_abi glibc_do_src_install - - if ! use static-libs ; then - einfo "Not installing static glibc libraries" - find "${ED}" -name "*.a" -and -not -name "*_nonshared.a" -delete - fi -} - -# Simple test to make sure our new glibc isn't completely broken. -# Make sure we don't test with statically built binaries since -# they will fail. Also, skip if this glibc is a cross compiler. -# -# If coreutils is built with USE=multicall, some of these files -# will just be wrapper scripts, not actual ELFs we can test. -glibc_sanity_check() { - cd / #228809 - - # We enter ${ED} so to avoid trouble if the path contains - # special characters; for instance if the path contains the - # colon character (:), then the linker will try to split it - # and look for the libraries in an unexpected place. This can - # lead to unsafe code execution if the generated prefix is - # within a world-writable directory. - # (e.g. /var/tmp/portage:${HOSTNAME}) - pushd "${ED}"/$(get_libdir) >/dev/null - - # first let's find the actual dynamic linker here - # symlinks may point to the wrong abi - local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit) - - einfo Last-minute run tests with ${newldso} in /$(get_libdir) ... - - local x striptest - for x in cal date env free ls true uname uptime ; do - x=$(type -p ${x}) - [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue - striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue - case ${striptest} in - *"statically linked"*) continue;; - *"ASCII text"*) continue;; - esac - # We need to clear the locale settings as the upgrade might want - # incompatible locale data. This test is not for verifying that. - LC_ALL=C \ - ${newldso} --library-path . ${x} > /dev/null \ - || die "simple run test (${x}) failed" - done - - popd >/dev/null -} - -pkg_preinst() { - # nothing to do if just installing headers - just_headers && return - - einfo "Checking general environment sanity." - sanity_prechecks - - # prepare /etc/ld.so.conf.d/ for files - mkdir -p "${EROOT}"/etc/ld.so.conf.d - - # Default /etc/hosts.conf:multi to on for systems with small dbs. - if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then - sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf - einfo "Defaulting /etc/host.conf:multi to on" - fi - - [[ -n ${ROOT} ]] && return 0 - [[ -d ${ED}/$(get_libdir) ]] || return 0 - [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check - - if [[ -L ${EROOT}/usr/lib/locale ]]; then - # Help portage migrate this to a directory - # https://bugs.gentoo.org/753740 - rm "${EROOT}"/usr/lib/locale || die - fi - - # Keep around libcrypt so that Perl doesn't break when merging libxcrypt - # (libxcrypt is the new provider for now of libcrypt.so.{1,2}). - # bug #802207 - if has_version "${CATEGORY}/${PN}[crypt]" && ! has preserve-libs ${FEATURES}; then - PRESERVED_OLD_LIBCRYPT=1 - cp -p "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" \ - "${T}/libcrypt$(get_libname 1)" || die - else - PRESERVED_OLD_LIBCRYPT=0 - fi -} - -glibc_refresh_ldconfig() { - if [[ ${MERGE_TYPE} == buildonly ]]; then - return - fi - - # Version check could be added to avoid unnecessary work, but ldconfig - # should finish quickly enough to not matter. - ebegin "Refreshing ld.so.cache" - ldconfig -i - if ! eend $?; then - ewarn "Failed to refresh the ld.so.cache for you. Some programs may be broken" - ewarn "before you manually do so (ldconfig -i)." - fi -} - -pkg_postinst() { - # nothing to do if just installing headers - just_headers && return - - if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then - # Generate fastloading iconv module configuration file. - "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}/" - fi - - if ! is_crosscompile && [[ -z ${ROOT} ]] ; then - # glibc-2.38+ on loong has ldconfig support added, but the ELF e_flags - # handling has changed as well, which means stale ldconfig auxiliary - # cache entries and failure to lookup libgcc_s / libstdc++ (breaking - # every C++ application) / libgomp etc., among other breakages. - # - # To fix this, simply refresh the ld.so.cache without using the - # auxiliary cache if we're natively installing on loong. This should - # be done relatively soon because we want to minimize the breakage - # window for the affected programs. - use loong && glibc_refresh_ldconfig - - use compile-locales || run_locale_gen "${EROOT}/" - - # If fixincludes was/is active for a particular GCC slot, we - # must refresh it. See bug #933282 and GCC's documentation: - # https://gcc.gnu.org/onlinedocs/gcc/Fixed-Headers.html - # - # TODO: Could this be done for cross? Some care would be needed - # to pass the right arguments. - while IFS= read -r -d $'\0' slot ; do - local mkheaders_path="${BROOT}"/usr/libexec/gcc/${CBUILD}/${slot##*/}/install-tools/mkheaders - local pthread_h="${BROOT}"/usr/lib/gcc/${CBUILD}/${slot##*/}/include-fixed/pthread.h - if [[ -x ${mkheaders_path} ]] ; then - ebegin "Refreshing fixincludes for ${CBUILD} with gcc-${slot##*/}" - ${mkheaders_path} -v - eend $? - elif [[ -f ${pthread_h} ]] ; then - # fixincludes might have been enabled in the past for this - # GCC slot but not since we fixed toolchain.eclass to install - # mkheaders, so we need to manually delete pthread.h at least. - ebegin "Deleting stale fixincludes'd pthread.h for ${CBUILD} with gcc-${slot##*/}" - mv -v "${pthread_h}" "${pthread_h}.bak" - eend $? - fi - done < <(find "${BROOT}"/usr/libexec/gcc/${CBUILD}/ -mindepth 1 -maxdepth 1 -type d -print0) - fi - - upgrade_warning - - # Check for sanity of /etc/nsswitch.conf, take 2 - if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then - local entry - for entry in passwd group shadow; do - if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then - ewarn "" - ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" - ewarn "removed from glibc and is now provided by the package" - ewarn " sys-auth/libnss-nis" - ewarn "Install it now to keep your NIS setup working." - ewarn "" - fi - done - fi - - if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then - cp -p "${T}/libcrypt$(get_libname 1)" "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" || die - preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1) - - elog "Please ignore a possible later error message about a file collision involving" - elog "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1). We need to preserve this file for the moment to keep" - elog "the upgrade working, but it also needs to be overwritten when" - elog "sys-libs/libxcrypt is installed. See bug 802210 for more details." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-9999.ebuild index e23e2568a7..f7b71aa865 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-9999.ebuild @@ -972,14 +972,14 @@ src_prepare() { einfo "Done." fi - case ${CTARGET} in - m68*-aligned-*) + case ${CTARGET} in + m68*-aligned-*) einfo "Applying utmp format fix for m68k with -maligned-int" eapply "${FILESDIR}/glibc-2.41-m68k-malign.patch" ;; - *) + *) ;; - esac + esac default From 419007e3404269fd08eedd41e05bb83a02c29345 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:56 +0000 Subject: [PATCH 103/131] sys-libs/libcap: Sync with Gentoo It's from Gentoo commit 8ee5eeb15dbbff87c4a5a6d3a4967bd928a71707. --- .../portage-stable/sys-libs/libcap/libcap-2.76.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.76.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.76.ebuild index 7c2586bcc9..6a6ea8d8fc 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.76.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.76.ebuild @@ -11,7 +11,7 @@ if [[ ${PV} == *9999 ]]; then else SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 DESCRIPTION="POSIX 1003.1e capabilities" From 8204a57ab3164bd4a6272be08b8aa44d6beddfa4 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:59 +0000 Subject: [PATCH 104/131] sys-libs/libunwind: Sync with Gentoo It's from Gentoo commit 1007f6fc52c5621c603bc4c2dbba93756934f2c8. --- .../portage-stable/sys-libs/libunwind/libunwind-1.8.2.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.8.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.8.2.ebuild index 82797fa761..e7142007a7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.8.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.8.2.ebuild @@ -31,7 +31,7 @@ else S="${WORKDIR}"/${P/_rc/-rc} if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 -sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 -sparc x86 ~amd64-linux ~x86-linux" fi fi From a58a68cb6e62aef08a8194d36632bb4e84fdd9f2 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:14:59 +0000 Subject: [PATCH 105/131] sys-libs/liburing: Sync with Gentoo It's from Gentoo commit 40ed7ee18f8b2d8f78d8dd6c640e77f66fce95b4. --- .../portage-stable/sys-libs/liburing/Manifest | 1 + .../sys-libs/liburing/liburing-2.11.ebuild | 88 +++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.11.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/liburing/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/liburing/Manifest index 3b6ad8ddce..f112d6356e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/liburing/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/liburing/Manifest @@ -1,4 +1,5 @@ DIST liburing-2.10-fix-compilation-error-io_uring_for_each_cqe.patch 2593 BLAKE2B cf34ff93859c489a524c9587a1868df27ce4f0b9f19aa8cb0b94c48a5addad5afa3d9469894962652dffcf2228830d4b8547f03220e9c7aa6b20d2a1ca7e9159 SHA512 93d68779cb10b4552306f715a723be92b2acbd9559acef75156b072460b72ccb94e2b06988f1b00745cf7247e886e242d6ebe39a31bff9fad67af80d95ab8fe0 DIST liburing-2.10.tar.gz 428315 BLAKE2B f5477f7a1a30202feea3e97f236f6a8a2db59923a0ba9c13dda2cd8de0831bb0979dc6acdef4a2f1797ce2637125def54b9f3d50f14ef01affeed43b089228df SHA512 6fb6e7ce66917d9438095e05916f90d834034ac3f6d6d8b6ee1eadf48ab9e499efa4af489dc72f8acc4a0b018f917ffcb8af4af682b47512566205519dd1f5db +DIST liburing-2.11.tar.gz 429859 BLAKE2B 9a649132e28569c7de30f284da13fb7318f406f123358833e5a252693e724bd99056c3966f061732ad9d6db6a327265b5a9f580ada74d8cef762ccfafadac251 SHA512 151d01416eeca6b9d18cb7bbd96f4f8099f1aa377f0ff808b51fa7e2c990413fe8aa7b40712c806d6a800296a58e262fe551c358ee7d23153c3bfa10aeb67eb0 DIST liburing-2.7.gh.tar.gz 347638 BLAKE2B 3e281cbf9be72cc8e04b04486df4dd9dd32c95ef9b84f7eae3253eb8e9a4afdaf8048ac359d6d250fecfb0a2bded51e46c1ab073d0e96c4d7d5d1d554d65c2b2 SHA512 c65146ee53defba4f9b752674be8489757f60be0855b361c6d1136119c74803351e5ccc8a1890c0777bfe61da4c0fd997230fc8817ff3929a7e2186b389cdc28 DIST liburing-2.9.tar.gz 407191 BLAKE2B 7081f9430e9532cad659e24de7ba998ad40f15a3fc3bf08fbe2b30df2bb335d4b06affb98d5667d4f8e6c8bc6e7a98c25caddd57ec5c98940562eb0e7977e54d SHA512 f27233e6128444175b18cd1d45647acdd27b906a8cd561029508710e443b44416b916cad1b2c1217e23d9a5ffb5ba68b119e9c812eae406650fbd10bf26c2fa5 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.11.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.11.ebuild new file mode 100644 index 0000000000..94dacec366 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.11.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib-minimal toolchain-funcs + +DESCRIPTION="Efficient I/O with io_uring" +HOMEPAGE="https://github.com/axboe/liburing" +if [[ "${PV}" == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/axboe/liburing.git" +else + SRC_URI=" + https://github.com/axboe/liburing/archive/refs/tags/${P}.tar.gz + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + QA_PKGCONFIG_VERSION=${PV} +fi + +S="${WORKDIR}"/liburing-${P} +LICENSE="MIT" +SLOT="0/2" # liburing.so major version + +IUSE="examples static-libs test" +# fsync test hangs forever +RESTRICT="!test? ( test )" + +# At least installed headers need , bug #802516 +DEPEND=">=sys-kernel/linux-headers-5.1" +RDEPEND="${DEPEND}" + +src_prepare() { + default + + if ! use examples; then + sed -e '/examples/d' Makefile -i || die + fi + if ! use test; then + sed -e '/test/d' Makefile -i || die + fi + + multilib_copy_sources +} + +multilib_src_configure() { + local myconf=( + --prefix="${EPREFIX}/usr" + --libdir="${EPREFIX}/usr/$(get_libdir)" + --libdevdir="${EPREFIX}/usr/$(get_libdir)" + --mandir="${EPREFIX}/usr/share/man" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --use-libc + ) + # No autotools configure! "econf" will fail. + TMPDIR="${T}" ./configure "${myconf[@]}" || die +} + +multilib_src_compile() { + emake V=1 AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" +} + +multilib_src_install_all() { + einstalldocs + + if ! use static-libs ; then + find "${ED}" -type f -name "*.a" -delete || die + fi +} + +multilib_src_test() { + local disabled_tests=( + accept.c + fpos.c + io_uring_register.c + link-timeout.c + read-before-exit.c + recv-msgall-stream.c + ) + local disabled_test + for disabled_test in "${disabled_tests[@]}"; do + sed -i "/\s*${disabled_test}/d" test/Makefile \ + || die "Failed to remove ${disabled_test}" + done + + emake -C test V=1 runtests +} From 0a9414f46149d7d98b96b2c491f68403e54f0a7e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:15:08 +0000 Subject: [PATCH 106/131] sys-process/procps: Sync with Gentoo It's from Gentoo commit 7ff8998d7604312e22484ba4518fe8e0efccf55b. --- .../sys-process/procps/Manifest | 2 +- .../files/procps-3.3.12-proc-tests.patch | 47 ------- .../procps/files/procps-3.3.17-musl-fix.patch | 78 ----------- .../procps-4.0.5-fix-tests-multilib.patch | 34 +++++ .../procps/files/procps-4.0.5-macos.patch | 28 ++++ ...procps-4.0.5-pgrep-old-linux-headers.patch | 57 ++++++++ ...atch => procps-4.0.5-sysctl-manpage.patch} | 21 +-- .../procps-4.0.5-top-legacy-config-vuln.patch | 39 ++++++ .../procps/procps-3.3.17-r2.ebuild | 98 ------------- .../sys-process/procps/procps-4.0.5-r2.ebuild | 132 ++++++++++++++++++ 10 files changed, 302 insertions(+), 234 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-3.3.12-proc-tests.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-3.3.17-musl-fix.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-fix-tests-multilib.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-macos.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-pgrep-old-linux-headers.patch rename sdk_container/src/third_party/portage-stable/sys-process/procps/files/{procps-3.3.11-sysctl-manpage.patch => procps-4.0.5-sysctl-manpage.patch} (61%) create mode 100644 sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-top-legacy-config-vuln.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-process/procps/procps-3.3.17-r2.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.5-r2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/Manifest b/sdk_container/src/third_party/portage-stable/sys-process/procps/Manifest index a6fe2b6856..12b2b15561 100644 --- a/sdk_container/src/third_party/portage-stable/sys-process/procps/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-process/procps/Manifest @@ -1,2 +1,2 @@ -DIST procps-ng-3.3.17.tar.xz 1008428 BLAKE2B 43aa1a21d4f0725b1c02457f343cf1fc66bc1771b25c6eaf689c9775c190e90545bfac1729f027abc4d3d13de37ffac4828554b5b25e12bcf6af9540de1695f3 SHA512 59e9a5013430fd9da508c4655d58375dc32e025bb502bb28fb9a92a48e4f2838b3355e92b4648f7384b2050064d17079bf4595d889822ebb5030006bc154a1a7 DIST procps-ng-4.0.4.tar.xz 1401540 BLAKE2B 63b972666ef9e92042be96739ffa15c787d0346b2d3ffcb0d240b0a4e999dc90024b2c5b058df683dd9d2c436ceb812abd0b115cc877a6ca1023988b86de443f SHA512 94375544e2422fefc23d7634063c49ef1be62394c46039444f85e6d2e87e45cfadc33accba5ca43c96897b4295bfb0f88d55a30204598ddb26ef66f0420cefb4 +DIST procps-ng-4.0.5.tar.xz 1517672 BLAKE2B 4b273ac7737202147fbf392995da1c5ff385df2b53ad84180b6412dc45c2a671e81d7659c0a5824c0d8c19fa37cbf2e58b0545841c74399b3717a9f27fd26c23 SHA512 c27730743210cf850c4af98e1fb81bc8ee8d550b07b9eedb34a5b9d661263d0f1bc92c4e73802a0ed8d4405854aef4bc542bff283c28e8fbb6dabb967f9e4359 diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-3.3.12-proc-tests.patch b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-3.3.12-proc-tests.patch deleted file mode 100644 index 9549252dd4..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-3.3.12-proc-tests.patch +++ /dev/null @@ -1,47 +0,0 @@ -https://bugs.gentoo.org/583036 -http://www.freelists.org/post/procps/Patch-Test-suite-fails-if-procpidsmaps-is-absent,1 - -From: tobbs@opentrash.com -To: procps@freelists.org -Date: Sun, 11 Sep 2016 15:01:29 +0200 -Subject: [procps] [Patch] Test suite fails if /proc//smaps is absent -Message-Id: <20160911130129.9A8B3322A81@astra4649.startdedicated.de> - -Summary: Some Linux systems do not have /proc//smaps, hence the test -suite fails. Attached a patch to skip tests in that case it. - -When pmap is called with either -c, -x, or -x it tries to read -/proc//smaps (pmap.c, l. 540). If not present it exits. -The file /proc//smaps exits on Linux systems only if the kernel is -compiled with the option CONFIG_PROC_PAGE_MONITOR (see man page proc(5)). - -In the test suite some tests check the output of pmap -X et al, but they -fail if /proc//smaps is not present, because pmap does not produce -their expected output. - -Attached a patch which checks if /proc//smaps exits, if not it -skipps the test related to it. - -Note: It is unclear what the 'expected' behaviour/output of pmap should -be if the file /proc//smaps is not present. Maybe add an additional -test to check the return code if /proc//smaps is absent. - ---- a/testsuite/pmap.test/pmap.exp -+++ b/testsuite/pmap.test/pmap.exp -@@ -45,6 +45,11 @@ - spawn $pmap -qd $mypid - expect_table $test $pmap_procname $pmap_device_items "\$" - -+if { [ file readable "/proc/self/smaps" ] == 0 } { -+ unsupported "Skipping test which require pmap to access /proc//smaps, because kernel seems to be compiled without CONFIG_PROC_PAGE_MONITOR." -+ -+} else { -+ - set test "pmap extended output" - spawn $pmap -x $mypid - expect_table $test $pmap_ext_header $pmap_ext_items $pmap_ext_footer -@@ -66,3 +71,4 @@ - spawn $pmap -XX 1 - expect_pass $test "$pmap_initname\$" - -+} diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-3.3.17-musl-fix.patch b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-3.3.17-musl-fix.patch deleted file mode 100644 index 4402354c21..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-3.3.17-musl-fix.patch +++ /dev/null @@ -1,78 +0,0 @@ -Temporary stopgap patch (a different solution was used upstream -in the next release, should be in the next after 3.3.17 -- we'll need to -add --disable-w instead). - -https://bugs.gentoo.org/794997 - -From 7bfe2b7c12b33aabca71491360c433d2d3f7bbf4 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Wed, 24 Feb 2021 21:14:31 +0000 -Subject: [PATCH 1/2] w.c: correct musl builds - -No need to redefine UT_ stuff to something that does not exist. - -UT_ is already provided in musl but via utmp.h header, so include -it always. - -Signed-off-by: Alexander Kanavin ---- - w.c | 9 +-------- - 1 file changed, 1 insertion(+), 8 deletions(-) - -diff --git a/w.c b/w.c -index 9d07ac9e..d10639b8 100644 ---- a/w.c -+++ b/w.c -@@ -57,9 +57,8 @@ - #include - #ifdef HAVE_UTMPX_H - # include --#else --# include - #endif -+#include - #include - - static int ignoreuser = 0; /* for '-u' */ -@@ -72,12 +71,6 @@ typedef struct utmpx utmp_t; - typedef struct utmp utmp_t; - #endif - --#if !defined(UT_HOSTSIZE) || defined(__UT_HOSTSIZE) --# define UT_HOSTSIZE __UT_HOSTSIZE --# define UT_LINESIZE __UT_LINESIZE --# define UT_NAMESIZE __UT_NAMESIZE --#endif -- - #ifdef W_SHOWFROM - # define FROM_STRING "on" - #else --- -GitLab - - -From 145165aba6c659f3f0f3567a323a3e6170408ea6 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Wed, 24 Feb 2021 21:16:14 +0000 -Subject: [PATCH 2/2] proc/escape.c: add missing include - -Signed-off-by: Alexander Kanavin ---- - proc/escape.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/proc/escape.c b/proc/escape.c -index 2e8fb7dd..e1f4612d 100644 ---- a/proc/escape.c -+++ b/proc/escape.c -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - #include "procps.h" - #include "escape.h" - #include "readproc.h" --- -GitLab - diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-fix-tests-multilib.patch b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-fix-tests-multilib.patch new file mode 100644 index 0000000000..05ea4973e0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-fix-tests-multilib.patch @@ -0,0 +1,34 @@ +https://gitlab.com/procps-ng/procps/-/merge_requests/256 + +From 2cc229991d2c89c93d58d7ad4bc30fd272d8e2df Mon Sep 17 00:00:00 2001 +Message-ID: <2cc229991d2c89c93d58d7ad4bc30fd272d8e2df.1750118248.git.sam@gentoo.org> +From: Sam James +Date: Tue, 17 Jun 2025 00:56:23 +0100 +Subject: [PATCH] testsuite: only test freetop if we built it + +It's not built if configured with --without-ncurses. Similar to +aa85fb458a295135d8283cd5ffacfe8198cdae22. + +Signed-off-by: Sam James +--- a/testsuite/Makefile.am ++++ b/testsuite/Makefile.am +@@ -21,7 +21,7 @@ DEJATOOL += \ + + if !CYGWIN + if WITH_NCURSES +-DEJATOOL += slabtop ++DEJATOOL += slabtop hugetop + endif + + DEJATOOL += sysctl +@@ -37,7 +37,6 @@ endif + + DEJATOOL += \ + free \ +- hugetop \ + lib \ + pgrep \ + pkill \ +-- +2.50.0 + diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-macos.patch b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-macos.patch new file mode 100644 index 0000000000..79890994f1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-macos.patch @@ -0,0 +1,28 @@ +https://gitlab.com/procps-ng/procps/-/commit/2dc340e47669e0b0df7f71ff082e05ac5fa36615 + +From 2dc340e47669e0b0df7f71ff082e05ac5fa36615 Mon Sep 17 00:00:00 2001 +From: Rui Chen +Date: Thu, 26 Dec 2024 11:09:18 -0500 +Subject: [PATCH] local/signals.c: guard `SIGPOLL` to fix build on macOS + +Signed-off-by: Rui Chen +--- + local/signals.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/local/signals.c b/local/signals.c +index 6d68c07d..12656796 100644 +--- a/local/signals.c ++++ b/local/signals.c +@@ -125,7 +125,9 @@ static const mapstruct sigtable[] = { + {"VTALRM", SIGVTALRM}, + {"PROF", SIGPROF}, + {"WINCH", SIGWINCH}, ++#ifdef SIGPOLL + {"POLL", SIGPOLL}, // in SUSv3, prioritize over IO ++#endif + #ifdef SIGIO + {"IO", SIGIO}, // possibly = POLL + #endif +-- +GitLab diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-pgrep-old-linux-headers.patch b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-pgrep-old-linux-headers.patch new file mode 100644 index 0000000000..1f9ff44339 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-pgrep-old-linux-headers.patch @@ -0,0 +1,57 @@ +https://bugs.gentoo.org/911375 +https://gitlab.com/procps-ng/procps/-/commit/90a0ddcd64c2d43dc2c2c856b1b42b5cae6b8a44 + +From 90a0ddcd64c2d43dc2c2c856b1b42b5cae6b8a44 Mon Sep 17 00:00:00 2001 +From: Markus Mayer +Date: Wed, 11 Dec 2024 14:53:33 -0800 +Subject: [PATCH] pgrep: provide definition for __NR_pidfd_open if needed + +We already implement pidfd_open() ourselves if libc doesn't provide it. +Let's also provide our own definition of __NR_pidfd_open in case the +kernel headers don't contain it. + +This way, pgrep can provide its full capabilities after being built +against older kernel headers (for increased compatibility) but being run +on systems with newer kernels. + +Signed-off-by: Markus Mayer +--- + configure.ac | 2 +- + src/pgrep.c | 9 +++++++++ + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 1e984b12..14ba3ad7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -325,7 +325,7 @@ AS_IF([[test "x$enable_pidwait" = xyes -a "x$have_pidfd_open" = xno]], + AC_COMPILE_IFELSE([AC_LANG_SOURCE([ + #include + #ifndef __NR_pidfd_open +-#error __NR_pidfd_open not defined ++#warning __NR_pidfd_open not defined; using our definition + #endif + ])], + AC_MSG_RESULT([yes]), +diff --git a/src/pgrep.c b/src/pgrep.c +index 2c6b06b8..6fc25dd4 100644 +--- a/src/pgrep.c ++++ b/src/pgrep.c +@@ -874,6 +874,15 @@ static int signal_option(int *argc, char **argv) + } + + #if defined(ENABLE_PIDWAIT) && !defined(HAVE_PIDFD_OPEN) ++ ++#ifndef __NR_pidfd_open ++#ifdef __alpha__ ++#define __NR_pidfd_open 544 ++#else ++#define __NR_pidfd_open 434 ++#endif ++#endif ++ + static int pidfd_open (pid_t pid, unsigned int flags) + { + return syscall(__NR_pidfd_open, pid, flags); +-- +GitLab diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-3.3.11-sysctl-manpage.patch b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-sysctl-manpage.patch similarity index 61% rename from sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-3.3.11-sysctl-manpage.patch rename to sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-sysctl-manpage.patch index 3523aad4ba..d2abd3c43c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-3.3.11-sysctl-manpage.patch +++ b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-sysctl-manpage.patch @@ -1,8 +1,9 @@ ---- procps-ng-3.3.11-orig/sysctl.8 -+++ procps-ng-3.3.11/sysctl.8 -@@ -123,21 +123,21 @@ - \fB\-V\fR, \fB\-\-version\fR - Display version information and exit. +https://bugs.gentoo.org/565304 +--- a/man/sysctl.8 ++++ b/man/sysctl.8 +@@ -177,21 +177,21 @@ skipped by \fBsysctl\fR using the \fB\-\-all\fR option. + This parameter returns no value but flushes per-cpu vm statistics. + .SH EXAMPLES -/sbin/sysctl \-a +/usr/sbin/sysctl \-a @@ -25,8 +26,8 @@ -/sbin/sysctl \-a \-\-pattern 'net.ipv4.conf.(eth|wlan)0.arp' +/usr/sbin/sysctl \-a \-\-pattern 'net.ipv4.conf.(eth|wlan)0.arp' .br --/sbin/sysctl \-\-system \-\-pattern '^net.ipv6' -+/usr/sbin/sysctl \-\-system \-\-pattern '^net.ipv6' - .SH DEPRECATED PARAMETERS - The - .B base_reachable_time +-/sbin/sysctl \-\-pattern '\[char94]net.ipv6' \-\-system ++/usr/sbin/sysctl \-\-pattern '\[char94]net.ipv6' \-\-system + .SH SEE ALSO + .BR proc (5), + .BR sysctl.conf (5), diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-top-legacy-config-vuln.patch b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-top-legacy-config-vuln.patch new file mode 100644 index 0000000000..676f16046a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-top-legacy-config-vuln.patch @@ -0,0 +1,39 @@ +https://bugs.gentoo.org/958286 +https://gitlab.com/procps-ng/procps/-/commit/c7498168cfdcf566519d8c46bd26c1be42f2e3f3 + +From c7498168cfdcf566519d8c46bd26c1be42f2e3f3 Mon Sep 17 00:00:00 2001 +From: Jim Warner +Date: Mon, 26 May 2025 00:00:00 -0500 +Subject: [PATCH] top: fix vulnerability with legacy configuration files + +Reference(s): +https://gitlab.com/procps-ng/procps/-/issues/384 + +Signed-off-by: Jim Warner +--- + src/top/top.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/src/top/top.c b/src/top/top.c +index c55b08f0..eef3b219 100644 +--- a/src/top/top.c ++++ b/src/top/top.c +@@ -4015,10 +4015,12 @@ static int config_wins (FILE *fp, char *buf, int wix) { + + if (1 != fscanf(fp, "%3s\tfieldscur=", w->rc.winname)) + return 0; +- if (Rc.id < RCF_XFORMED_ID) +- fscanf(fp, "%s\n", buf ); +- else { +- for (x = 0; ; x++) ++ if (Rc.id < RCF_XFORMED_ID) { ++ fscanf(fp, "%100s\n", buf ); // buf size = LRGBUFSIZ (512) ++ if (strlen(buf) >= sizeof(CVT_FORMER)) // but if we exceed max of 86 ++ return 0; // that rc file was corrupted ++ } else { ++ for (x = 0; x < PFLAGSSIZ; x++) + if (1 != fscanf(fp, "%d", &w->rc.fieldscur[x])) + break; + } +-- +GitLab diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-3.3.17-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-3.3.17-r2.ebuild deleted file mode 100644 index fa3db59f4d..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-3.3.17-r2.ebuild +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# See https://bugs.gentoo.org/835813 before bumping to 4.x! - -inherit flag-o-matic multilib-minimal usr-ldscript - -DESCRIPTION="Standard informational utilities and process-handling tools" -HOMEPAGE="http://procps-ng.sourceforge.net/ https://gitlab.com/procps-ng/procps" -SRC_URI="https://downloads.sourceforge.net/${PN}-ng/${PN}-ng-${PV}.tar.xz" - -LICENSE="GPL-2" -SLOT="0/8" # libprocps.so -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" -IUSE="elogind +kill modern-top +ncurses nls selinux static-libs systemd test unicode" -RESTRICT="!test? ( test )" - -DEPEND=" - elogind? ( sys-auth/elogind ) - ncurses? ( >=sys-libs/ncurses-5.7-r7:=[unicode(+)?] ) - selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) - systemd? ( sys-apps/systemd[${MULTILIB_USEDEP}] ) -" -BDEPEND=" - elogind? ( virtual/pkgconfig ) - ncurses? ( virtual/pkgconfig ) - systemd? ( virtual/pkgconfig ) - test? ( dev-util/dejagnu ) -" -RDEPEND="${DEPEND} - kill? ( - !sys-apps/coreutils[kill] - !sys-apps/util-linux[kill] - ) - !4.0.5 + if use elibc_musl ; then + append-cflags "$($(tc-getPKG_CONFIG) --cflags error-standalone)" + append-libs "$($(tc-getPKG_CONFIG) --libs error-standalone)" + fi + + local myeconfargs=( + # No elogind multilib support + $(multilib_native_use_with elogind) + $(multilib_native_use_enable kill) + $(multilib_native_use_enable modern-top) + $(multilib_native_enable pidof) + $(multilib_native_enable pidwait) + $(multilib_native_use_with ncurses) + # bug #794997 + $(multilib_native_use_enable !elibc_musl w) + $(use_enable nls) + $(use_enable selinux libselinux) + $(use_enable static-libs static) + $(use_with systemd) + $(use_enable skill) + ) + + if use ncurses; then + # Only pass whis when we are building the 'watch' command + myeconfargs+=( $(multilib_native_use_enable unicode watch8bit) ) + fi + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_test() { + local ps="${BUILD_DIR}/src/ps/pscommand" + if [[ $("${ps}" --no-headers -o cls -q $$) == IDL ]]; then + # bug #708230 + ewarn "Skipping tests due to SCHED_IDLE" + else + # bug #461302 + emake check Date: Mon, 30 Jun 2025 07:15:48 +0000 Subject: [PATCH 107/131] virtual/perl-Data-Dumper: Sync with Gentoo It's from Gentoo commit 7487cde47038589ce1b6be5fa1629a8cc14a4f6b. --- .../perl-Data-Dumper-2.192.0.ebuild | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/virtual/perl-Data-Dumper/perl-Data-Dumper-2.192.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/virtual/perl-Data-Dumper/perl-Data-Dumper-2.192.0.ebuild b/sdk_container/src/third_party/portage-stable/virtual/perl-Data-Dumper/perl-Data-Dumper-2.192.0.ebuild new file mode 100644 index 0000000000..388dff71cb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/virtual/perl-Data-Dumper/perl-Data-Dumper-2.192.0.ebuild @@ -0,0 +1,15 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Virtual for ${PN#perl-}" +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-lang/perl-5.42* ~perl-core/${PN#perl-}-${PV} ) + dev-lang/perl:= + !perl-core/${PN#perl-}-${PV}-r999 +" From 04017eef9c6033549eb1c13db3d6319099bcf2a4 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:15:48 +0000 Subject: [PATCH 108/131] virtual/perl-Encode: Sync with Gentoo It's from Gentoo commit 046a0eeb85504cf1df8806bd5ba102c0e0962842. --- ...Encode-3.210.0-r1.ebuild => perl-Encode-3.210.0-r2.ebuild} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename sdk_container/src/third_party/portage-stable/virtual/perl-Encode/{perl-Encode-3.210.0-r1.ebuild => perl-Encode-3.210.0-r2.ebuild} (76%) diff --git a/sdk_container/src/third_party/portage-stable/virtual/perl-Encode/perl-Encode-3.210.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/virtual/perl-Encode/perl-Encode-3.210.0-r2.ebuild similarity index 76% rename from sdk_container/src/third_party/portage-stable/virtual/perl-Encode/perl-Encode-3.210.0-r1.ebuild rename to sdk_container/src/third_party/portage-stable/virtual/perl-Encode/perl-Encode-3.210.0-r2.ebuild index 022f82abdd..12ddc2cdc5 100644 --- a/sdk_container/src/third_party/portage-stable/virtual/perl-Encode/perl-Encode-3.210.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/virtual/perl-Encode/perl-Encode-3.210.0-r2.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 @@ 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-lang/perl-5.40* ~perl-core/${PN#perl-}-${PV} ) + || ( =dev-lang/perl-5.42* =dev-lang/perl-5.40* ~perl-core/${PN#perl-}-${PV} ) dev-lang/perl:= !perl-core/${PN#perl-}-${PV}-r999 From c1ff1720392bc6bf1d792424c631613fc8bee410 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:15:48 +0000 Subject: [PATCH 109/131] virtual/perl-ExtUtils-MakeMaker: Sync with Gentoo It's from Gentoo commit 1f5d6e9e83458b742df8e9e1f41f59c980e3ac5d. --- .../perl-ExtUtils-MakeMaker-7.760.0.ebuild | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/virtual/perl-ExtUtils-MakeMaker/perl-ExtUtils-MakeMaker-7.760.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/virtual/perl-ExtUtils-MakeMaker/perl-ExtUtils-MakeMaker-7.760.0.ebuild b/sdk_container/src/third_party/portage-stable/virtual/perl-ExtUtils-MakeMaker/perl-ExtUtils-MakeMaker-7.760.0.ebuild new file mode 100644 index 0000000000..388dff71cb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/virtual/perl-ExtUtils-MakeMaker/perl-ExtUtils-MakeMaker-7.760.0.ebuild @@ -0,0 +1,15 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Virtual for ${PN#perl-}" +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-lang/perl-5.42* ~perl-core/${PN#perl-}-${PV} ) + dev-lang/perl:= + !perl-core/${PN#perl-}-${PV}-r999 +" From 6a60cff5ced9b7405280fa14f76d1ff7cc51429a Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 30 Jun 2025 07:15:48 +0000 Subject: [PATCH 110/131] virtual/perl-Unicode-Collate: Sync with Gentoo It's from Gentoo commit ba9be22ea7fbfa97928e113d9c2fb4720fdfdd18. --- ...310.0-r2.ebuild => perl-Unicode-Collate-1.310.0-r3.ebuild} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename sdk_container/src/third_party/portage-stable/virtual/perl-Unicode-Collate/{perl-Unicode-Collate-1.310.0-r2.ebuild => perl-Unicode-Collate-1.310.0-r3.ebuild} (73%) diff --git a/sdk_container/src/third_party/portage-stable/virtual/perl-Unicode-Collate/perl-Unicode-Collate-1.310.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/virtual/perl-Unicode-Collate/perl-Unicode-Collate-1.310.0-r3.ebuild similarity index 73% rename from sdk_container/src/third_party/portage-stable/virtual/perl-Unicode-Collate/perl-Unicode-Collate-1.310.0-r2.ebuild rename to sdk_container/src/third_party/portage-stable/virtual/perl-Unicode-Collate/perl-Unicode-Collate-1.310.0-r3.ebuild index 62ce4eb5f2..5afa7a56fa 100644 --- a/sdk_container/src/third_party/portage-stable/virtual/perl-Unicode-Collate/perl-Unicode-Collate-1.310.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/virtual/perl-Unicode-Collate/perl-Unicode-Collate-1.310.0-r3.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 @@ 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-lang/perl-5.40* =dev-lang/perl-5.38* ~perl-core/${PN#perl-}-${PV} ) + || ( =dev-lang/perl-5.42* =dev-lang/perl-5.40* =dev-lang/perl-5.38* ~perl-core/${PN#perl-}-${PV} ) dev-lang/perl:= !perl-core/${PN#perl-}-${PV}-r999 From cdb941284b0ae1b90e5407d2efff2b78bc24dbcb Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 12:22:32 +0200 Subject: [PATCH 111/131] overlay profiles: Add a bunch of accept keywords and sort them --- .../coreos/base/package.accept_keywords | 49 ++++++++++++++++--- 1 file changed, 41 insertions(+), 8 deletions(-) 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 f801bcea5b..cb1495c138 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 @@ -11,12 +11,15 @@ =app-containers/containerd-2.0.5 ~amd64 ~arm64 # Keep versions on both arches in sync. +=app-containers/containers-common-0.63.0 ~arm64 =app-containers/cri-tools-1.32.0 ~arm64 # Needed to address CVE-2025-24965. =app-containers/crun-1.20 ~amd64 ~arm64 # Keep versions on both arches in sync. +=app-containers/docker-28.0.4 ~arm64 +=app-containers/docker-cli-28.0.4 ~arm64 =app-containers/lxc-6.0.4-r1 ~amd64 ~arm64 =app-containers/incus-6.0.4-r1 ~amd64 ~arm64 @@ -29,12 +32,20 @@ # Seems to be the only available ebuild in portage-stable right now. =app-crypt/adcli-0.9.2 ~arm64 +# Packages are in Gentoo but not expected to be used outside Flatcar, so they +# are generally never stabilised. Thus an unusual form is used to pick up the +# latest version of the package with the unstable keywords. +app-crypt/azure-keyvault-pkcs11 + # Needed by arm64-native SDK =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/gnupg-2.4.8 ~arm64 + # Needed to address CVE-2025-1215, CVE-2025-22134, CVE-2025-24014, GHSA-63p5-mwg2-787v, CVE-2025-27423, CVE-2025-29768 =app-editors/vim-9.1.1436 ~amd64 ~arm64 =app-editors/vim-core-9.1.1436 ~amd64 ~arm64 @@ -50,24 +61,43 @@ # Keep versions on both arches in sync. =dev-build/meson-1.7.2 ~arm64 -=dev-db/sqlite-3.49.2 ~arm64 -=dev-lang/go-1.24.4 ~arm64 + +# Packages are in Gentoo but not expected to be used outside Flatcar, so they +# are generally never stabilised. Thus an unusual form is used to pick up the +# latest version of the package with the unstable keywords. +dev-cpp/azure-core +dev-cpp/azure-identity +dev-cpp/azure-security-keyvault-certificates +dev-cpp/azure-security-keyvault-keys # Keep versions on both arches in sync. +=dev-db/sqlite-3.49.2 ~arm64 +=dev-lang/go-1.24.4 ~arm64 +=dev-lang/python-3.11.13 ~arm64 =dev-lang/yasm-1.3.0-r1 ~arm64 -=dev-libs/ding-libs-0.6.2-r1 ~arm64 =dev-libs/cowsql-1.15.8 ~arm64 +=dev-libs/ding-libs-0.6.2-r1 ~arm64 # Needed to address CVE-2025-4373 =dev-libs/glib-2.84.3 ~amd64 ~arm64 =dev-libs/gobject-introspection-common-1.84.0 ~amd64 ~arm64 +# Keep versions on both arches in sync. +=dev-libs/jansson-2.14.1 ~arm64 + # 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/libgcrypt-1.11.1 ~arm64 +=dev-libs/libunistring-1.3 ~arm64 + +# The only available ebuild (from GURU) has ~amd64 and no keyword for arm64 yet. =dev-libs/luksmeta-9-r1 ** # Keep versions on both arches in sync. =dev-libs/raft-0.22.1 ~arm64 +=dev-python/msgpack-1.1.1 ~arm64 # No arm64 keyword in package. =dev-util/bsdiff-4.3-r4 ** @@ -87,6 +117,7 @@ # Keep versions on both arches in sync. =net-firewall/conntrack-tools-1.4.8-r1 ~arm64 +=net-firewall/ipset-7.24 ~arm64 # Needed to address CVE-2025-2312. =net-fs/cifs-utils-7.3 ~amd64 ~arm64 @@ -94,21 +125,21 @@ # Keep versions on both arches in sync. =net-libs/libnetfilter_cthelper-1.0.1-r1 ~arm64 =net-libs/libnetfilter_cttimeout-1.0.1 ~arm64 +=net-libs/libnftnl-1.2.9 ~arm64 # Needed for addressing CVE-2025-47268 and CVE-2025-48964 =net-misc/iputils-20250605 ~amd64 ~arm64 +# Keep versions on both arches in sync. +=net-misc/passt-2025.04.15 ~arm64 + # Packages are in Gentoo but not expected to be used outside Flatcar, so they # are generally never stabilised. Thus an unusual form is used to pick up the # latest version of the package with the unstable keywords. -app-crypt/azure-keyvault-pkcs11 -dev-cpp/azure-core -dev-cpp/azure-identity -dev-cpp/azure-security-keyvault-certificates -dev-cpp/azure-security-keyvault-keys sys-apps/azure-vm-utils # Keep versions on both arches in sync. +=sys-apps/portage-3.0.68 ~arm64 =sys-apps/zram-generator-1.2.1 ~arm64 =sys-auth/polkit-126-r1 ~amd64 @@ -124,4 +155,6 @@ sys-apps/azure-vm-utils # Keep versions on both arches in sync. =sys-fs/fuse-3.17.2 ~arm64 =sys-fs/lxcfs-6.0.4 ~arm64 +=sys-libs/libcap-2.76 ~arm64 +=sys-libs/libunwind-1.8.2 ~arm64 =sys-process/audit-4.0.2-r1 ~arm64 From b46e94ae15bcca5085f03625339a8f1274e7923e Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 13:12:39 +0200 Subject: [PATCH 112/131] overlay profiles: Update accept keywords for app-containers/containerd --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 cb1495c138..e9a88e6cdd 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 @@ -8,7 +8,7 @@ # (the following packages are "unstable" upstream; we're stabilising these) # Needed to address CVE-2024-40635, CVE-2025-47291 -=app-containers/containerd-2.0.5 ~amd64 ~arm64 +=app-containers/containerd-2.0.5 ~arm64 # Keep versions on both arches in sync. =app-containers/containers-common-0.63.0 ~arm64 From 0c1bb1e0e5fb4395f41b6fdda03614c4adcb5476 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 13:14:41 +0200 Subject: [PATCH 113/131] overlay profiles: Update accept keywords for app-containers/crun --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 e9a88e6cdd..ae4d1eb971 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 @@ -15,7 +15,7 @@ =app-containers/cri-tools-1.32.0 ~arm64 # Needed to address CVE-2025-24965. -=app-containers/crun-1.20 ~amd64 ~arm64 +=app-containers/crun-1.20 ~arm64 # Keep versions on both arches in sync. =app-containers/docker-28.0.4 ~arm64 From 644cf313da46f2dd09fac604952ec2e6e0cee0d8 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 15:40:34 +0200 Subject: [PATCH 114/131] overlay profiles: Updated accept keywords for app-containers/incus --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 ae4d1eb971..1377c5739f 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 @@ -21,7 +21,7 @@ =app-containers/docker-28.0.4 ~arm64 =app-containers/docker-cli-28.0.4 ~arm64 =app-containers/lxc-6.0.4-r1 ~amd64 ~arm64 -=app-containers/incus-6.0.4-r1 ~amd64 ~arm64 +=app-containers/incus-6.0.4-r1 ~arm64 # Needed by app-containers/containerd-2.0.5 =app-containers/runc-1.2.6 ~amd64 ~arm64 From 649bd5d6ce28c75e2a24236c02d49610dceb147d Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 15:41:26 +0200 Subject: [PATCH 115/131] overlay profiles: Updated accept keywords for app-containers/lxc --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 1377c5739f..475a98b0a9 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 @@ -20,8 +20,8 @@ # Keep versions on both arches in sync. =app-containers/docker-28.0.4 ~arm64 =app-containers/docker-cli-28.0.4 ~arm64 -=app-containers/lxc-6.0.4-r1 ~amd64 ~arm64 =app-containers/incus-6.0.4-r1 ~arm64 +=app-containers/lxc-6.0.4-r1 ~arm64 # Needed by app-containers/containerd-2.0.5 =app-containers/runc-1.2.6 ~amd64 ~arm64 From 28731e40e3504e2988aafeeb932a02d80d6e8a4a Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 15:42:11 +0200 Subject: [PATCH 116/131] overlay profiles: Updated accept keywords for app-containers/runc --- .../profiles/coreos/base/package.accept_keywords | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) 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 475a98b0a9..50bce62251 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 @@ -22,9 +22,7 @@ =app-containers/docker-cli-28.0.4 ~arm64 =app-containers/incus-6.0.4-r1 ~arm64 =app-containers/lxc-6.0.4-r1 ~arm64 - -# Needed by app-containers/containerd-2.0.5 -=app-containers/runc-1.2.6 ~amd64 ~arm64 +=app-containers/runc-1.2.6 ~arm64 # No stable keywords. =app-containers/syft-1.18.1 ~amd64 ~arm64 From f04a76aaa405928d3b7a6deae7b4387b4edca2c2 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 15:58:59 +0200 Subject: [PATCH 117/131] overlay profiles: Updated accept keywords for dev-libs/glib --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 50bce62251..70221d7ce2 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 @@ -77,7 +77,7 @@ dev-cpp/azure-security-keyvault-keys =dev-libs/ding-libs-0.6.2-r1 ~arm64 # Needed to address CVE-2025-4373 -=dev-libs/glib-2.84.3 ~amd64 ~arm64 +=dev-libs/glib-2.84.3 ~arm64 =dev-libs/gobject-introspection-common-1.84.0 ~amd64 ~arm64 # Keep versions on both arches in sync. From 7f9c1660835fc78aad39ffcbf6d0704fe21bc5b3 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 15:59:33 +0200 Subject: [PATCH 118/131] overlay profiles: Updated accept keywords for dev-libs/gobject-introspection-common --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 70221d7ce2..408436d86f 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 @@ -78,7 +78,7 @@ dev-cpp/azure-security-keyvault-keys # Needed to address CVE-2025-4373 =dev-libs/glib-2.84.3 ~arm64 -=dev-libs/gobject-introspection-common-1.84.0 ~amd64 ~arm64 +=dev-libs/gobject-introspection-common-1.84.0 ~arm64 # Keep versions on both arches in sync. =dev-libs/jansson-2.14.1 ~arm64 From 5b80999aafb6fc651ecc0c7bf27aa3700e959ce9 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 16:08:09 +0200 Subject: [PATCH 119/131] overlay profiles: Add accept keywords for dev-libs/libtracefs --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 1 + 1 file changed, 1 insertion(+) 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 408436d86f..1faf26df8a 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 @@ -88,6 +88,7 @@ dev-cpp/azure-security-keyvault-keys # Keep versions on both arches in sync. =dev-libs/libgcrypt-1.11.1 ~arm64 +=dev-libs/libtracefs-1.8.2 ~arm64 =dev-libs/libunistring-1.3 ~arm64 # The only available ebuild (from GURU) has ~amd64 and no keyword for arm64 yet. From 207f64464fef5ede23fea63bbcb7d6d38fc1714e Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 16:25:19 +0200 Subject: [PATCH 120/131] overlay profiles: Add accept keywords for dev-python/cryptography --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 1 + 1 file changed, 1 insertion(+) 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 1faf26df8a..a1baf232ba 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 @@ -96,6 +96,7 @@ dev-cpp/azure-security-keyvault-keys # Keep versions on both arches in sync. =dev-libs/raft-0.22.1 ~arm64 +=dev-python/cryptography-45.0.4 ~arm64 =dev-python/msgpack-1.1.1 ~arm64 # No arm64 keyword in package. From f7a44fa796ab15ee2ff2b1c45e3234eff0df9523 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 16:25:24 +0200 Subject: [PATCH 121/131] overlay profiles: Add accept keywords for dev-python/cython --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 1 + 1 file changed, 1 insertion(+) 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 a1baf232ba..f937101689 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 @@ -97,6 +97,7 @@ dev-cpp/azure-security-keyvault-keys # Keep versions on both arches in sync. =dev-libs/raft-0.22.1 ~arm64 =dev-python/cryptography-45.0.4 ~arm64 +=dev-python/cython-3.1.2 ~arm64 =dev-python/msgpack-1.1.1 ~arm64 # No arm64 keyword in package. From 0ada73bf1716130c8c2d8e0576958d955fa39a68 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 16:31:53 +0200 Subject: [PATCH 122/131] overlay profiles: Updated accept keywords for dev-util/gdbus-codegen --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 f937101689..f6a520df8d 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 @@ -108,7 +108,7 @@ dev-cpp/azure-security-keyvault-keys # Needed to address CVE-2025-4373 =dev-util/glib-utils-2.84.3 ~amd64 ~arm64 -=dev-util/gdbus-codegen-2.84.3 ~amd64 ~arm64 +=dev-util/gdbus-codegen-2.84.3 ~arm64 # Keep versions on both arches in sync. =dev-util/xdelta-3.0.11-r1 ~arm64 From d9c6b53c95d6b5aff297ccf518acb6fdb5a0c1a8 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 16:32:37 +0200 Subject: [PATCH 123/131] overlay profiles: Updated accept keywords for dev-util/glib-utils --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 f6a520df8d..51a59fb319 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 @@ -107,8 +107,8 @@ dev-cpp/azure-security-keyvault-keys =dev-util/catalyst-4.0.0 ~amd64 ~arm64 # Needed to address CVE-2025-4373 -=dev-util/glib-utils-2.84.3 ~amd64 ~arm64 =dev-util/gdbus-codegen-2.84.3 ~arm64 +=dev-util/glib-utils-2.84.3 ~arm64 # Keep versions on both arches in sync. =dev-util/xdelta-3.0.11-r1 ~arm64 From 8fec82c92f6c96b4d766766088a994774b082940 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 16:40:50 +0200 Subject: [PATCH 124/131] overlay profiles: Updated accept keywords for net-dns/bind --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 51a59fb319..fe5621b41b 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 @@ -114,7 +114,7 @@ dev-cpp/azure-security-keyvault-keys =dev-util/xdelta-3.0.11-r1 ~arm64 # Needed to address CVE-2024-11187, CVE-2024-12705 -=net-dns/bind-9.18.37-r1 ~amd64 ~arm64 +=net-dns/bind-9.18.37-r1 ~arm64 # Keep versions on both arches in sync. =net-firewall/conntrack-tools-1.4.8-r1 ~arm64 From 0ca4cedca74839750dd689a360ba18eef1cb4fb9 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 17:00:58 +0200 Subject: [PATCH 125/131] overlay profiles: Add accept keywords for sys-apps/dtc --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 1 + 1 file changed, 1 insertion(+) 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 fe5621b41b..abe112da93 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 @@ -140,6 +140,7 @@ dev-cpp/azure-security-keyvault-keys sys-apps/azure-vm-utils # Keep versions on both arches in sync. +=sys-apps/dtc-1.7.2-r2 ~arm64 =sys-apps/portage-3.0.68 ~arm64 =sys-apps/zram-generator-1.2.1 ~arm64 =sys-auth/polkit-126-r1 ~amd64 From fba927159b129d740d125acb04073ec25ed00815 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 17:01:09 +0200 Subject: [PATCH 126/131] overlay profiles: Drop accept keywords for sys-auth/polkit --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 1 - 1 file changed, 1 deletion(-) 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 abe112da93..8aec3f1b0c 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 @@ -143,7 +143,6 @@ sys-apps/azure-vm-utils =sys-apps/dtc-1.7.2-r2 ~arm64 =sys-apps/portage-3.0.68 ~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 From 62e2296f9b0bf7c398f81618edfc8d7f6c49737a Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 17:02:02 +0200 Subject: [PATCH 127/131] overlay profiles: Add accept keywords for sys-boot/gnu-efi --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 1 + 1 file changed, 1 insertion(+) 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 8aec3f1b0c..79c3757aa4 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 @@ -148,6 +148,7 @@ sys-apps/azure-vm-utils =sys-auth/sssd-2.9.6-r3 ~arm64 # Keep versions on both arches in sync. +=sys-boot/gnu-efi-4.0.1 ~arm64 =sys-boot/mokutil-0.7.2 ** # Enable ipvsadm for arm64. From 4263c5bdbdda1748c9a3665e646b51237137f647 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 17:04:27 +0200 Subject: [PATCH 128/131] overlay profiles: Drop accept keywords for sys-fs/fuse --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 1 - 1 file changed, 1 deletion(-) 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 79c3757aa4..679beb69c4 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 @@ -155,7 +155,6 @@ sys-apps/azure-vm-utils =sys-cluster/ipvsadm-1.31-r1 ~arm64 # Keep versions on both arches in sync. -=sys-fs/fuse-3.17.2 ~arm64 =sys-fs/lxcfs-6.0.4 ~arm64 =sys-libs/libcap-2.76 ~arm64 =sys-libs/libunwind-1.8.2 ~arm64 From c95b1353e1b93e01f9a734198e8f0f39b4c31341 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 17:12:42 +0200 Subject: [PATCH 129/131] overlay coreos/user-patches: Drop unnecessary patch for sys-libs/libcap --- ...otential-configuration-parsing-error.patch | 32 ------------------- .../user-patches/sys-libs/libcap/README.md | 3 -- 2 files changed, 35 deletions(-) delete mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/libcap/0001-pam-cap-Fix-potential-configuration-parsing-error.patch delete mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/libcap/README.md diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/libcap/0001-pam-cap-Fix-potential-configuration-parsing-error.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/libcap/0001-pam-cap-Fix-potential-configuration-parsing-error.patch deleted file mode 100644 index 839aed2ccc..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/libcap/0001-pam-cap-Fix-potential-configuration-parsing-error.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 1ad42b66c3567481cc5fa22fc1ba1556a316d878 Mon Sep 17 00:00:00 2001 -From: Tianjia Zhang -Date: Mon, 17 Feb 2025 10:31:55 +0800 -Subject: pam_cap: Fix potential configuration parsing error - -The current configuration parsing does not actually skip user names -that do not start with @, but instead treats the name as a group -name for further parsing, which can result in matching unexpected -capability sets and may trigger potential security issues. Only -names starting with @ should be parsed as group names. - -Signed-off-by: Tianjia Zhang -Signed-off-by: Andrew G. Morgan ---- - pam_cap/pam_cap.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/pam_cap/pam_cap.c b/pam_cap/pam_cap.c -index 24de329..3ec99bb 100644 ---- a/pam_cap/pam_cap.c -+++ b/pam_cap/pam_cap.c -@@ -166,6 +166,7 @@ static char *read_capabilities_for_user(const char *user, const char *source) - - if (line[0] != '@') { - D(("user [%s] is not [%s] - skipping", user, line)); -+ continue; - } - - int i; --- -cgit 1.2.3-korg - diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/libcap/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/libcap/README.md deleted file mode 100644 index a931f4f466..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/libcap/README.md +++ /dev/null @@ -1,3 +0,0 @@ -The `0001-pam-cap-Fix-potential-configuration-parsing-error.patch` -patch addresses CVE-2025-1390. It can be dropped when updating to -2.74. From b33263dfa9ec53c306b9011323c213796db8016a Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 30 Jun 2025 17:24:19 +0200 Subject: [PATCH 130/131] changelog: Add an entry --- .../updates/2025-06-30-weekly-updates.md | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 changelog/updates/2025-06-30-weekly-updates.md diff --git a/changelog/updates/2025-06-30-weekly-updates.md b/changelog/updates/2025-06-30-weekly-updates.md new file mode 100644 index 0000000000..6f852b124a --- /dev/null +++ b/changelog/updates/2025-06-30-weekly-updates.md @@ -0,0 +1,20 @@ +- SDK: pkgcheck ([0.10.36](https://github.com/pkgcore/pkgcheck/blob/v0.10.36/NEWS.rst)) +- azure, dev, gce, sysext-python: python ([3.11.13](https://www.python.org/downloads/release/python-31113/)) +- base, dev: elfutils ([0.193](https://inbox.sourceware.org/elfutils-devel/CAJDtP-RjuT13zehLgSvz9TnwQZ1VYPOS=q_kuut5a2g+KLamgw@mail.gmail.com/T/#u)) +- base, dev: gnupg ([2.4.8](https://dev.gnupg.org/T7428)) +- base, dev: ipset ([7.24](https://lwn.net/Articles/1021623/)) +- base, dev: jansson ([2.14.1](https://jansson.readthedocs.io/en/latest/changes.html#version-2-14-1)) +- base, dev: libarchive ([3.8.1](https://github.com/libarchive/libarchive/releases/tag/v3.8.1) (includes [3.8.0](https://github.com/libarchive/libarchive/releases/tag/v3.8.0))) +- base, dev: libcap ([2.76](https://sites.google.com/site/fullycapable/release-notes-for-libcap#h.wqnp1zp1o8bm) (includes [2.75](https://sites.google.com/site/fullycapable/release-notes-for-libcap#h.7xqcoecpcnn8), [2.74](https://sites.google.com/site/fullycapable/release-notes-for-libcap#h.ccbrq82zh7n9), [2.73](https://sites.google.com/site/fullycapable/release-notes-for-libcap#h.7yd7ab9ppagk), [2.72](https://sites.google.com/site/fullycapable/release-notes-for-libcap#h.ulglddlojmy0))) +- base, dev: libgcrypt ([1.11.1](https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=blob;f=NEWS;h=84bc61a49f3a09302b3438cb529baf67576ad859;hb=81ce5321b1b79bde6dfdc3c164efb40c13cf656b)) +- base, dev: libnftnl ([1.2.9](https://lwn.net/Articles/1017463/)) +- base, dev: libunistring ([1.3](https://lists.gnu.org/archive/html/info-gnu/2024-10/msg00000.html)) +- base, dev: libunwind ([1.8.2](https://github.com/libunwind/libunwind/releases/tag/v1.8.2)) +- base, dev: openssl ([3.4.1](https://github.com/openssl/openssl/releases/tag/openssl-3.4.1) (includes [3.4.0](https://github.com/openssl/openssl/blob/openssl-3.4.0/NEWS.md#openssl-34))) +- dev, sysext-incus: squashfs-tools ([4.7](https://lkml.org/lkml/2025/6/3/1214)) +- dev: portage ([3.0.68](https://gitweb.gentoo.org/proj/portage.git/tree/NEWS?h=portage-3.0.68)) +- sysext-docker: docker ([28.0.4](https://github.com/moby/moby/releases/tag/v28.0.4) (includes [28.0.3](https://github.com/moby/moby/releases/tag/v28.0.3), [28.0.2](https://github.com/moby/moby/releases/tag/v28.0.2))) +- sysext-podman: containers-common ([0.63.0](https://github.com/containers/common/releases/tag/v0.63.0)) +- sysext-podman: passt ([2025.04.15](https://archives.passt.top/passt-user/20250415233140.35074c4b@elisabeth/T/#u)) +- sysext-python: msgpack ([1.1.1](https://github.com/msgpack/msgpack-python/releases/tag/v1.1.1)) +- sysext-python: typing-extensions ([4.14.0](https://github.com/python/typing_extensions/releases/tag/4.14.0)) From c022d4370927b7410c4c4a3df85cf0dbfc0520b0 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 1 Jul 2025 15:55:11 +0200 Subject: [PATCH 131/131] build_library/vm_image_util: Fix squashfs creation for pxe The pxe disk is a cpio file that, among other things, contains a squashfs image. The image has contents of `/usr` directory, so the image's toplevel directories are `lib`, `lib64`, `share` and so on. The first fix was to change the `/usr/share/flatcar/update.conf` path in pseudofile listing to `/share/flatcar/update.conf`. Otherwise mksquashfs started complaining that `usr` directory does not exists in the image, so some of the pseudofiles won't be installed. Second fix is still related to the same file. It already exists in the image, so the pseudofile wanting to be installed there won't be, because mksquashfs stopped liking overwriting the files already present in the image. I added `-e share/flatcar/update.conf` to avoid adding the file into the image, so that pseudofile can be created there. It was actually a suggestion printed by mksquashfs. --- build_library/vm_image_util.sh | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/build_library/vm_image_util.sh b/build_library/vm_image_util.sh index 1a6950ea2f..cdb169b984 100644 --- a/build_library/vm_image_util.sh +++ b/build_library/vm_image_util.sh @@ -714,13 +714,23 @@ _write_cpio_common() { echo "/.noupdate f 444 root root echo -n" >"${VM_TMP_DIR}/extra" # Set correct group for PXE/ISO, which has no writeable /etc - echo /usr/share/flatcar/update.conf f 644 root root \ + echo /share/flatcar/update.conf f 644 root root \ "sed -e 's/GROUP=.*$/GROUP=${VM_GROUP}/' ${base_dir}/share/flatcar/update.conf" \ >> "${VM_TMP_DIR}/extra" + local -a mksquashfs_opts=( + -pf "${VM_TMP_DIR}/extra" + -xattrs-exclude '^btrfs.' + # mksquashfs doesn't like overwriting existing files with + # pseudo-files, so tell it to ignore the existing file instead + # + # also, this must be the last option + -e share/flatcar/update.conf + ) + # Build the squashfs, embed squashfs into a gzipped cpio pushd "${cpio_target}" >/dev/null - sudo mksquashfs "${base_dir}" "./usr.squashfs" -pf "${VM_TMP_DIR}/extra" -xattrs-exclude '^btrfs.' + sudo mksquashfs "${base_dir}" "./usr.squashfs" "${mksquashfs_opts[@]}" find . | cpio -o -H newc | gzip > "$2" popd >/dev/null