diff --git a/.github/workflows/portage-stable-packages-list b/.github/workflows/portage-stable-packages-list index 765a634673d..c32bc6b6d54 100644 --- a/.github/workflows/portage-stable-packages-list +++ b/.github/workflows/portage-stable-packages-list @@ -3,6 +3,7 @@ acct-group/adm acct-group/audio acct-group/cdrom +acct-group/cuse acct-group/dialout acct-group/disk acct-group/dnsmasq @@ -11,6 +12,7 @@ acct-group/floppy acct-group/incus acct-group/incus-admin acct-group/input +acct-group/jobserver acct-group/kmem acct-group/kvm acct-group/lp @@ -303,7 +305,6 @@ dev-libs/yajl dev-perl/File-Slurper dev-perl/Parse-Yapp -dev-perl/PerlIO-utf8_strict dev-python/backports-tarfile dev-python/cachecontrol @@ -392,6 +393,7 @@ dev-util/pkgcheck dev-util/pkgconf dev-util/re2c dev-util/xdelta +dev-util/xxd dev-vcs/git @@ -401,6 +403,7 @@ eclass/alternatives.eclass eclass/app-alternatives.eclass eclass/autotools.eclass eclass/bash-completion-r1.eclass +eclass/branding.eclass eclass/cargo.eclass eclass/check-reqs.eclass eclass/cmake-multilib.eclass @@ -750,7 +753,6 @@ virtual/perl-Carp virtual/perl-Encode virtual/perl-Exporter virtual/perl-ExtUtils-MakeMaker -virtual/perl-XSLoader virtual/pkgconfig virtual/resolvconf virtual/service-manager diff --git a/build_library/toolchain_util.sh b/build_library/toolchain_util.sh index 2b064ecbef9..ce2a662283e 100644 --- a/build_library/toolchain_util.sh +++ b/build_library/toolchain_util.sh @@ -490,10 +490,14 @@ binutils_set_latest_profile() { # The extra flag can be blank, hardenednopie, and so on. See gcc-config -l # Usage: gcc_get_latest_profile chost [extra] gcc_get_latest_profile() { - local prefix="${1}-" - local suffix="${2+-$2}" + local prefix=${1} + local suffix=${2+-${2}} local status - gcc-config -l | cut -d' ' -f3 | grep "^${prefix}[0-9\\.]*${suffix}$" | tail -n1 + gcc-config --list-profiles --nocolor | \ + sed -e 's/^\s*//' | \ + cut -d' ' -f2 | \ + grep "^${prefix}-[0-9\\.]*${suffix}$" | \ + tail -n1 # return 1 if anything in the above pipe failed for status in ${PIPESTATUS[@]}; do diff --git a/changelog/security/2026-01-21-weekly-updates.md b/changelog/security/2026-01-21-weekly-updates.md new file mode 100644 index 00000000000..8feaf3d7e3b --- /dev/null +++ b/changelog/security/2026-01-21-weekly-updates.md @@ -0,0 +1,7 @@ +- bind ([CVE-2025-40778](https://www.cve.org/CVERecord?id=CVE-2025-40778), [CVE-2025-40780](https://www.cve.org/CVERecord?id=CVE-2025-40780), [CVE-2025-8677](https://www.cve.org/CVERecord?id=CVE-2025-8677)) +- gnupg ([CVE-2025-68972](https://www.cve.org/CVERecord/?id=CVE-2025-68972), [CVE-2025-68973](https://www.cve.org/CVERecord/?id=CVE-2025-68973), [gnupg-20251228-notdash](https://gpg.fail/notdash)) +- gnutls ([CVE-2025-9820](https://www.cve.org/CVERecord?id=CVE-2025-9820)) +- go ([CVE-2025-61727](https://www.cve.org/CVERecord?id=CVE-2025-61727), [CVE-2025-61729](https://www.cve.org/CVERecord?id=CVE-2025-61729)) +- libarchive ([CVE-2025-60753](https://www.cve.org/CVERecord?id=CVE-2025-60753)) +- podman ([CVE-2025-9566](https://www.cve.org/CVERecord?id=CVE-2025-9566), [CVE-2025-52881](https://www.cve.org/CVERecord?id=CVE-2025-52881)) +- urllib3 ([CVE-2025-66418](https://www.cve.org/CVERecord?id=CVE-2025-66418), [CVE-2025-66471](https://www.cve.org/CVERecord?id=CVE-2025-66471)) diff --git a/changelog/updates/2026-01-21-weekly-updates.md b/changelog/updates/2026-01-21-weekly-updates.md new file mode 100644 index 00000000000..bbb1d128477 --- /dev/null +++ b/changelog/updates/2026-01-21-weekly-updates.md @@ -0,0 +1,58 @@ +- SDK: cmake ([4.1.4](https://cmake.org/cmake/help/v4.1/release/4.1.html#updates)) +- SDK: crossdev ([20251214](https://gitweb.gentoo.org/proj/crossdev.git/log/?h=20251214)) +- SDK: go ([1.25.5](https://go.dev/doc/devel/release#go1.25.minor)) +- SDK: perl ([5.42.0](https://perldoc.perl.org/perl5420delta)) +- SDK: rust ([1.91.0](https://blog.rust-lang.org/2025/10/30/Rust-1.91.0/) (includes [1.90.0](https://blog.rust-lang.org/2025/09/18/Rust-1.90.0/))) +- azure, dev, sysext-python: urllib3 ([2.6.3](https://raw.githubusercontent.com/urllib3/urllib3/refs/tags/2.6.3/CHANGES.rst)) +- base, dev: bash ([5.3_p9](https://cgit.git.savannah.gnu.org/cgit/bash.git/log/?id=637f5c8696a6adc9b4519f1cd74aa78492266b7f)) +- base, dev: bind ([9.18.42](https://bind9.readthedocs.io/en/v9.18.42/notes.html#notes-for-bind-9-18-42)) +- base, dev: binutils-config ([5.6](https://gitweb.gentoo.org/proj/binutils-config.git/log/?h=v5.6)) +- base, dev: btrfs-progs ([6.17.1](https://github.com/kdave/btrfs-progs/releases/tag/v6.17.1)) +- base, dev: coreutils ([9.9](https://lists.gnu.org/archive/html/coreutils-announce/2025-11/msg00000.html)) +- base, dev: cri-tools ([1.33.0](https://github.com/kubernetes-sigs/cri-tools/releases/tag/v1.33.0)) +- base, dev: curl ([8.17.0](https://curl.se/ch/8.17.0.html)) +- base, dev: elfutils ([0.194](https://inbox.sourceware.org/elfutils-devel/CAJDtP-S0rYAOZQeDZvMtPkQztgK9RboWtYwpqNLCNGNdaSGn-A@mail.gmail.com/T/#u)) +- base, dev: git ([2.52.0](https://raw.githubusercontent.com/git/git/refs/tags/v2.52.0/Documentation/RelNotes/2.52.0.adoc)) +- base, dev: gnupg ([2.5.16](https://lists.gnupg.org/pipermail/gnupg-announce/2025q4/000500.html https://lists.gnupg.org/pipermail/gnupg-announce/2024q3/000484.html) (includes [2.5](https://lists.gnu.org/archive/html/info-gnu/2024-07/msg00005.html))) +- base, dev: gnutls ([3.8.11](https://lists.gnu.org/archive/html/info-gnu/2025-11/msg00003.html)) +- base, dev: kexec-tools ([2.0.32](https://github.com/horms/kexec-tools/commits/v2.0.32/)) +- base, dev: libarchive ([3.8.5](https://github.com/libarchive/libarchive/releases/tag/v3.8.5) (includes [3.8.4](https://github.com/libarchive/libarchive/releases/tag/v3.8.4), [3.8.3](https://github.com/libarchive/libarchive/releases/tag/v3.8.3), [3.8.2](https://github.com/libarchive/libarchive/releases/tag/v3.8.2))) +- base, dev: libcap ([2.77](https://sites.google.com/site/fullycapable/release-notes-for-libcap#h.mr55t4z9vzea)) +- base, dev: libnftnl ([1.3.1](https://lwn.net/Articles/1049279/)) +- base, dev: libnl ([3.11.0](https://lists.infradead.org/pipermail/libnl/2024-October/002441.html)) +- base, dev: libnvme ([1.16.1](https://github.com/linux-nvme/libnvme/releases/tag/v1.16.1) (includes [1.16](https://github.com/linux-nvme/libnvme/releases/tag/v1.16))) +- base, dev: libpcre2 ([10.47](https://github.com/PCRE2Project/pcre2/releases/tag/pcre2-10.47)) +- base, dev: libxml2 ([2.15.1](https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.15.1) (includes [2.5.0](https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.15.0))) +- base, dev: nvme-cli ([2.16](https://github.com/linux-nvme/nvme-cli/releases/tag/v2.16)) +- base, dev: pambase ([20251104](https://gitweb.gentoo.org/proj/pambase.git/log/?h=pambase-20251104)) +- base, dev: readline ([8.3_p3](https://cgit.git.savannah.gnu.org/cgit/readline.git/log/?id=553d6bb272f26400d6d4d1cac7c1df84c447449b)) +- base, dev: selinux-base ([2.20250618](https://github.com/SELinuxProject/refpolicy/releases/tag/RELEASE_2_20250618)) +- base, dev: systemd ([257.10](https://github.com/systemd/systemd/commits/v257.10/)) +- base, dev: thin-provisioning-tools ([1.3.1](https://raw.githubusercontent.com/device-mapper-utils/thin-provisioning-tools/refs/tags/v1.3.1/CHANGES)) +- base, dev: usbutils ([019](https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usbutils.git/plain/NEWS?h=v019)) +- base, dev: userspace-rcu ([0.15.5](https://lwn.net/Articles/1046059/)) +- base, dev: xfsprogs ([6.17.0](https://web.git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/plain/doc/CHANGES?h=v6.17.0)) +- dev, sysext-incus: squashfs-tools ([4.7.4](https://github.com/plougher/squashfs-tools/releases?q=4.7.4)) +- dev: bash-completion ([2.17.0](https://github.com/scop/bash-completion/releases/tag/2.17.0)) +- dev: binutils ([2.45.1](https://sourceware.org/pipermail/binutils/2025-November/145592.html)) +- dev: cJSON ([1.7.19](https://github.com/DaveGamble/cJSON/releases/tag/v1.7.19)) +- dev: gcc-config ([2.12.2](https://gitweb.gentoo.org/proj/gcc-config.git/log/?h=v2.12.2)) +- dev: portage ([3.0.72](https://gitweb.gentoo.org/proj/portage.git/plain/NEWS?h=portage-3.0.72) (includes [3.0.71](https://gitweb.gentoo.org/proj/portage.git/plain/NEWS?h=portage-3.0.71), [3.0.70](https://gitweb.gentoo.org/proj/portage.git/plain/NEWS?h=portage-3.0.70))) +- sysext-containerd: containerd ([2.2.0](https://github.com/containerd/containerd/releases/tag/v2.2.0)) +- sysext-containerd: runc ([1.4.0](https://github.com/opencontainers/runc/releases/tag/v1.4.0)) +- sysext-docker: docker ([28.2.2](https://github.com/moby/moby/releases/tag/v28.2.2) (includes [28.2.1](https://github.com/moby/moby/releases/tag/v28.2.1), [28.2.0](https://github.com/moby/moby/releases/tag/v28.2.0), [28.1.1](https://github.com/moby/moby/releases/tag/v28.1.1), [28.1.0](https://github.com/moby/moby/releases/tag/v28.1.0))) +- sysext-docker: docker-cli ([28.4.0](https://github.com/moby/moby/releases/tag/v28.4.0) (includes [28.3.0](https://github.com/moby/moby/releases/tag/v28.3.0), [28.2.0](https://github.com/moby/moby/releases/tag/v28.2.0), [28.1.0](https://github.com/moby/moby/releases/tag/v28.1.0))) +- sysext-incus: incus ([6.0.5](https://discuss.linuxcontainers.org/t/incus-6-0-5-lts-has-been-released/24445)) +- sysext-incus: lxc ([6.0.5](https://discuss.linuxcontainers.org/t/lxc-6-0-5-lts-has-been-released/24438)) +- sysext-incus: lxcfs ([6.0.5](https://discuss.linuxcontainers.org/t/lxcfs-6-0-5-lts-has-been-released/24437)) +- sysext-nvidia-drivers-570, sysext-nvidia-drivers-570-open: nvidia-drivers (570.207) +- sysext-podman: containers-image ([5.35.0](https://github.com/containers/image/releases/tag/v5.35.0)) +- sysext-podman: gpgme ([2.0.1](https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=blob_plain;f=NEWS;h=1fd34dbd9143829e9163d402ab0191a9fc6adab2;hb=e4adebe020b07bc47e583817576ce98ca93e9711)) +- sysext-podman: podman ([5.7.0](https://github.com/containers/podman/releases/tag/v5.7.0) (includes [5.6.0](https://github.com/containers/podman/releases/tag/v5.6.0))) +- sysext-python: charset-normalizer ([3.4.4](https://github.com/jawah/charset_normalizer/releases/tag/3.4.4)) +- sysext-python: idna ([3.11](https://github.com/kjd/idna/releases/tag/v3.11)) +- sysext-python: msgpack ([1.1.2](https://github.com/msgpack/msgpack-python/releases/tag/v1.1.2)) +- sysext-python: pip ([25.3](https://github.com/pypa/pip/blob/25.3/NEWS.rst)) +- sysext-python: setuptools-scm ([9.2.2](https://github.com/pypa/setuptools-scm/releases/tag/v9.2.2)) +- sysext-python: trove-classifiers ([2025.11.14.15](https://github.com/pypa/trove-classifiers/releases/tag/2025.11.14.15)) +- sysext-zfs: zfs ([2.3.4](https://github.com/openzfs/zfs/releases/tag/zfs-2.3.4)) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches/0001-Flatcar-modifications.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches/0001-Flatcar-modifications.patch index cd57e4dff7a..7683f84c1cf 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches/0001-Flatcar-modifications.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches/0001-Flatcar-modifications.patch @@ -1,4 +1,4 @@ -From 9398464fe4d29cb3e9ad3c04c2c749747438fb65 Mon Sep 17 00:00:00 2001 +From 4028416511d3e2b1ea8172efe3546b7c1c104a28 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 4 Dec 2023 12:17:25 +0100 Subject: [PATCH] Flatcar modifications @@ -13,14 +13,13 @@ Subject: [PATCH] Flatcar modifications policy/modules/services/container.te | 170 +++++++++++++++++++++++- policy/modules/system/init.te | 8 ++ policy/modules/system/locallogin.te | 9 +- - policy/modules/system/logging.te | 9 ++ - 10 files changed, 427 insertions(+), 3 deletions(-) + 9 files changed, 418 insertions(+), 3 deletions(-) diff --git a/refpolicy/policy/modules/admin/netutils.te b/refpolicy/policy/modules/admin/netutils.te -index 63d2f9cb8..62dff5f94 100644 +index ac11d1c99..c5501c28f 100644 --- a/refpolicy/policy/modules/admin/netutils.te +++ b/refpolicy/policy/modules/admin/netutils.te -@@ -128,6 +128,16 @@ corenet_raw_sendrecv_generic_if(ping_t) +@@ -133,6 +133,16 @@ corenet_raw_sendrecv_generic_if(ping_t) corenet_raw_sendrecv_generic_node(ping_t) corenet_tcp_sendrecv_generic_node(ping_t) corenet_raw_bind_generic_node(ping_t) @@ -37,7 +36,7 @@ index 63d2f9cb8..62dff5f94 100644 dev_read_urand(ping_t) -@@ -213,6 +223,16 @@ corenet_udp_bind_traceroute_port(traceroute_t) +@@ -218,6 +228,16 @@ corenet_udp_bind_traceroute_port(traceroute_t) corenet_tcp_connect_all_ports(traceroute_t) corenet_sendrecv_all_client_packets(traceroute_t) corenet_sendrecv_traceroute_server_packets(traceroute_t) @@ -92,7 +91,7 @@ index 1f0ad3df4..6a1cdba0e 100644 ## ## Bind TCP sockets to generic nodes. diff --git a/refpolicy/policy/modules/kernel/corenetwork.te.in b/refpolicy/policy/modules/kernel/corenetwork.te.in -index b1649ec3a..ca612de44 100644 +index 6902c41f0..afb537ab7 100644 --- a/refpolicy/policy/modules/kernel/corenetwork.te.in +++ b/refpolicy/policy/modules/kernel/corenetwork.te.in @@ -381,7 +381,17 @@ allow corenet_unconfined_type port_type:sctp_socket { name_connect }; @@ -115,10 +114,10 @@ index b1649ec3a..ca612de44 100644 # Infiniband corenet_ib_access_all_pkeys(corenet_unconfined_type) diff --git a/refpolicy/policy/modules/kernel/files.if b/refpolicy/policy/modules/kernel/files.if -index 709a1b71b..73b17285e 100644 +index fe81fd9a0..8f620c8f8 100644 --- a/refpolicy/policy/modules/kernel/files.if +++ b/refpolicy/policy/modules/kernel/files.if -@@ -8118,3 +8118,48 @@ interface(`files_relabel_all_pidfiles',` +@@ -8246,3 +8246,48 @@ interface(`files_relabel_all_pidfiles',` relabel_files_pattern($1, pidfile, pidfile) relabel_lnk_files_pattern($1, pidfile, pidfile) ') @@ -168,10 +167,10 @@ index 709a1b71b..73b17285e 100644 + relabelfrom_chr_files_pattern($1, { file_type -policy_config_t $2 }, { file_type -policy_config_t $2 }) +') diff --git a/refpolicy/policy/modules/kernel/kernel.te b/refpolicy/policy/modules/kernel/kernel.te -index 6d8ec0f77..df620faef 100644 +index 3751b3082..e7f45a5e6 100644 --- a/refpolicy/policy/modules/kernel/kernel.te +++ b/refpolicy/policy/modules/kernel/kernel.te -@@ -374,6 +374,131 @@ files_mounton_default(kernel_t) +@@ -375,6 +375,131 @@ files_mounton_default(kernel_t) mcs_process_set_categories(kernel_t) @@ -304,10 +303,10 @@ index 6d8ec0f77..df620faef 100644 mls_process_write_all_levels(kernel_t) mls_file_write_all_levels(kernel_t) diff --git a/refpolicy/policy/modules/services/container.fc b/refpolicy/policy/modules/services/container.fc -index f98e68ba0..045b1b5b2 100644 +index 010387a3a..ba0619561 100644 --- a/refpolicy/policy/modules/services/container.fc +++ b/refpolicy/policy/modules/services/container.fc -@@ -38,6 +38,12 @@ HOME_DIR/\.docker(/.*)? gen_context(system_u:object_r:container_conf_home_t,s0) +@@ -42,6 +42,12 @@ HOME_DIR/\.docker(/.*)? gen_context(system_u:object_r:container_conf_home_t,s0) /etc/cni(/.*)? gen_context(system_u:object_r:container_config_t,s0) /etc/docker(/.*)? gen_context(system_u:object_r:container_config_t,s0) /etc/containerd(/.*)? gen_context(system_u:object_r:container_config_t,s0) @@ -321,10 +320,10 @@ index f98e68ba0..045b1b5b2 100644 /run/containers(/.*)? gen_context(system_u:object_r:container_runtime_t,s0) /run/crun(/.*)? gen_context(system_u:object_r:container_runtime_t,s0) diff --git a/refpolicy/policy/modules/services/container.te b/refpolicy/policy/modules/services/container.te -index c71ae54f4..a231f7664 100644 +index 4ff585bf6..859cff514 100644 --- a/refpolicy/policy/modules/services/container.te +++ b/refpolicy/policy/modules/services/container.te -@@ -58,6 +58,52 @@ gen_tunable(container_use_dri, false) +@@ -84,6 +84,52 @@ gen_tunable(container_use_dri, false) ## gen_tunable(container_use_ecryptfs, false) @@ -377,7 +376,7 @@ index c71ae54f4..a231f7664 100644 ## ##

## Allow containers to use all capabilities in a -@@ -65,7 +111,7 @@ gen_tunable(container_use_ecryptfs, false) +@@ -91,7 +137,7 @@ gen_tunable(container_use_ecryptfs, false) ## directly on the host. ##

##
@@ -386,7 +385,7 @@ index c71ae54f4..a231f7664 100644 ## ##

-@@ -1249,3 +1295,125 @@ optional_policy(` +@@ -1431,3 +1477,125 @@ optional_policy(` unconfined_domain_noaudit(spc_user_t) domain_ptrace_all_domains(spc_user_t) ') @@ -513,10 +512,10 @@ index c71ae54f4..a231f7664 100644 +# +allow container_t tmp_t:file { read }; diff --git a/refpolicy/policy/modules/system/init.te b/refpolicy/policy/modules/system/init.te -index 1320f7aae..61ead9795 100644 +index c2f33c2bd..4415fa6eb 100644 --- a/refpolicy/policy/modules/system/init.te +++ b/refpolicy/policy/modules/system/init.te -@@ -1728,3 +1728,11 @@ optional_policy(` +@@ -1754,3 +1754,11 @@ optional_policy(` userdom_dontaudit_write_user_tmp_files(systemprocess) userdom_dontaudit_use_user_terminals(systemprocess) ') @@ -529,7 +528,7 @@ index 1320f7aae..61ead9795 100644 +require { type unconfined_t; } +allow init_t unconfined_t:file exec_file_perms; diff --git a/refpolicy/policy/modules/system/locallogin.te b/refpolicy/policy/modules/system/locallogin.te -index 995c80be2..933278d2f 100644 +index 89b852574..08b822fa4 100644 --- a/refpolicy/policy/modules/system/locallogin.te +++ b/refpolicy/policy/modules/system/locallogin.te @@ -34,7 +34,14 @@ role system_r types sulogin_t; @@ -548,26 +547,6 @@ index 995c80be2..933278d2f 100644 allow local_login_t self:fd use; allow local_login_t self:fifo_file rw_fifo_file_perms; allow local_login_t self:sock_file read_sock_file_perms; -diff --git a/refpolicy/policy/modules/system/logging.te b/refpolicy/policy/modules/system/logging.te -index 14d3132be..ce40abc52 100644 ---- a/refpolicy/policy/modules/system/logging.te -+++ b/refpolicy/policy/modules/system/logging.te -@@ -507,6 +507,15 @@ userdom_dontaudit_search_user_home_dirs(syslogd_t) - - ifdef(`init_systemd',` - # for systemd-journal -+ -+ # -+ # FLATCAR: -+ # -+ # TODO: What AVC does this fix? -+ # -+ require { type kernel_t; } -+ allow syslogd_t kernel_t:netlink_audit_socket getattr; -+ - allow syslogd_t self:capability audit_control; - allow syslogd_t self:netlink_audit_socket connected_socket_perms; - allow syslogd_t self:capability2 audit_read; -- -2.49.1 +2.52.0 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0001-wait-online-set-any-by-default.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0001-wait-online-set-any-by-default.patch index 1ba8f645005..d76dabff1cd 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0001-wait-online-set-any-by-default.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0001-wait-online-set-any-by-default.patch @@ -1,4 +1,4 @@ -From 83043596b6cc74b6f049999fa660afd983dc493a Mon Sep 17 00:00:00 2001 +From 4f4420815e5b51a481245db012a70e0d872ae368 Mon Sep 17 00:00:00 2001 From: David Michael Date: Tue, 16 Apr 2019 02:44:51 +0000 Subject: [PATCH 1/8] wait-online: set --any by default @@ -28,5 +28,5 @@ index 6f5aef903a..0acb3e76b9 100644 STATIC_DESTRUCTOR_REGISTER(arg_interfaces, hashmap_free_free_freep); STATIC_DESTRUCTOR_REGISTER(arg_ignore, strv_freep); -- -2.51.0 +2.52.0 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0002-needs-update-don-t-require-strictly-newer-usr.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0002-needs-update-don-t-require-strictly-newer-usr.patch index ad1045e8b1d..b2b93ebb853 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0002-needs-update-don-t-require-strictly-newer-usr.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0002-needs-update-don-t-require-strictly-newer-usr.patch @@ -1,4 +1,4 @@ -From 3d6bfde35c8ce5c21ca55104852a319246a92bb8 Mon Sep 17 00:00:00 2001 +From 5097368cb45b455355165706876509272e49d538 Mon Sep 17 00:00:00 2001 From: Alex Crawford Date: Wed, 2 Mar 2016 10:46:33 -0800 Subject: [PATCH 2/8] needs-update: don't require strictly newer usr @@ -54,5 +54,5 @@ index 1a03fdbe37..8577c35fa0 100644 static bool in_first_boot(void) { -- -2.51.0 +2.52.0 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0003-core-use-max-for-DefaultTasksMax.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0003-core-use-max-for-DefaultTasksMax.patch index c5c316fe6ad..e11beb5457a 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0003-core-use-max-for-DefaultTasksMax.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0003-core-use-max-for-DefaultTasksMax.patch @@ -1,4 +1,4 @@ -From 6f691278df570cc87cb863a98fe320a1997c6dad Mon Sep 17 00:00:00 2001 +From 18ce110c4a4a5065ac9003ef67ccd58ada6d3c38 Mon Sep 17 00:00:00 2001 From: Adrian Vladu Date: Fri, 16 Feb 2024 11:22:08 +0000 Subject: [PATCH 3/8] core: use max for DefaultTasksMax @@ -34,7 +34,7 @@ index f7b414da5c..9c07e235ab 100644 Kernel has a default value for kernel.pid_max= and an algorithm of counting in case of more than 32 cores. For example, with the default kernel.pid_max=, DefaultTasksMax= defaults to 4915, diff --git a/src/core/manager.c b/src/core/manager.c -index 4ccaba9054..3ab59c5bb3 100644 +index e9fa84079d..af8d3c7b41 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -117,7 +117,7 @@ @@ -60,5 +60,5 @@ index 1c08aa4d22..2faea3605e 100644 #DefaultLimitFSIZE= #DefaultLimitDATA= -- -2.51.0 +2.52.0 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0004-systemd-Disable-SELinux-permissions-checks.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0004-systemd-Disable-SELinux-permissions-checks.patch index 6949d9fc5e6..d22e57f1833 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0004-systemd-Disable-SELinux-permissions-checks.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0004-systemd-Disable-SELinux-permissions-checks.patch @@ -1,4 +1,4 @@ -From 78b2d8b1a6df073003d64cffa532c3a320e96ad4 Mon Sep 17 00:00:00 2001 +From 1716754b1f3ea3d5d3f232d9fe50ba1df0c5eff7 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Tue, 20 Dec 2016 16:43:22 +0000 Subject: [PATCH 4/8] systemd: Disable SELinux permissions checks @@ -25,5 +25,5 @@ index a67a520a3b..3365b920eb 100644 #include #include -- -2.51.0 +2.52.0 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0005-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0005-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch index d380b96a9cc..a47608148db 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0005-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0005-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch @@ -1,4 +1,4 @@ -From 8064e1544a2b89f8389c0469ed4879a287a045a7 Mon Sep 17 00:00:00 2001 +From c3ff2dca5d6148a4d09237923aba7b4bd334cddb Mon Sep 17 00:00:00 2001 From: Sayan Chowdhury Date: Fri, 16 Dec 2022 16:28:26 +0530 Subject: [PATCH 5/8] Revert "getty: Pass tty to use by agetty via stdin" @@ -91,5 +91,5 @@ index 20a5eb2754..ba4cbc0edb 100644 TTYReset=yes TTYVHangup=yes -- -2.51.0 +2.52.0 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0006-units-Keep-using-old-journal-file-format.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0006-units-Keep-using-old-journal-file-format.patch index 9a3456cc510..7cdedc6ba62 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0006-units-Keep-using-old-journal-file-format.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0006-units-Keep-using-old-journal-file-format.patch @@ -1,4 +1,4 @@ -From c2924cc57c9e4aa836021ec2567c0fdbebecf944 Mon Sep 17 00:00:00 2001 +From 63fe9e7a742c070c83919be74c383f74420e6777 Mon Sep 17 00:00:00 2001 From: Adrian Vladu Date: Fri, 16 Feb 2024 11:29:04 +0000 Subject: [PATCH 6/8] units: Keep using old journal file format @@ -38,5 +38,5 @@ index b705ce08ff..874701dac4 100644 FileDescriptorStoreMax=4224 Group=systemd-journal -- -2.51.0 +2.52.0 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0007-tmpfiles.d-Fix-DNS-issues-with-default-k8s-configura.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0007-tmpfiles.d-Fix-DNS-issues-with-default-k8s-configura.patch index ec1ef720251..28215448a31 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0007-tmpfiles.d-Fix-DNS-issues-with-default-k8s-configura.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0007-tmpfiles.d-Fix-DNS-issues-with-default-k8s-configura.patch @@ -1,4 +1,4 @@ -From 7ee314dc08ea65e6951c7007a5f872fd32f0399a Mon Sep 17 00:00:00 2001 +From a31573ecdeff40d109951750c7adf086c52c2869 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Wed, 22 Oct 2025 10:39:42 +0200 Subject: [PATCH 7/8] tmpfiles.d: Fix DNS issues with default k8s configuration @@ -32,5 +32,5 @@ index be5edc98e0..bea686682a 100644 -L! /etc/resolv.conf - - - - ../run/systemd/resolve/stub-resolv.conf +L! /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf -- -2.51.0 +2.52.0 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0008-units-Make-multi-user.target-the-default-target.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0008-units-Make-multi-user.target-the-default-target.patch index de0aa6eb46e..3225638c205 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0008-units-Make-multi-user.target-the-default-target.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0008-units-Make-multi-user.target-the-default-target.patch @@ -1,4 +1,4 @@ -From f0ab1c6c59056afe1650f749d1af6ecc6ee8f5ec Mon Sep 17 00:00:00 2001 +From 3d702165a3517eb23657d613bbbbb0ec45fd672e Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 24 Oct 2025 11:06:57 +0200 Subject: [PATCH 8/8] units: Make multi-user.target the default target @@ -31,5 +31,5 @@ index ef18dcae4a..887231840f 100644 { 'file' : 'network-online.target' }, { 'file' : 'network-pre.target' }, -- -2.51.0 +2.52.0 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/pambase/0001-Reorganize-the-login-sessions.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/pambase/0001-Reorganize-the-login-sessions.patch index 8a8a7f8f491..544bac42ab4 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/pambase/0001-Reorganize-the-login-sessions.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/pambase/0001-Reorganize-the-login-sessions.patch @@ -1,4 +1,4 @@ -From 3eb1fea6104cd4bbc978e11974f337549edaf2e4 Mon Sep 17 00:00:00 2001 +From 463005c7d333a520837cc2c07de33f335e4989d9 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Thu, 9 Oct 2025 17:32:38 +0200 Subject: [PATCH 1/2] Reorganize the login sessions @@ -61,10 +61,10 @@ index 4180cbb..0c7450d 100755 ] diff --git a/templates/system-local-login.tpl b/templates/system-local-login.tpl -index 5e01090..34d8459 100644 +index b1bd7e7..3206a3b 100644 --- a/templates/system-local-login.tpl +++ b/templates/system-local-login.tpl -@@ -2,12 +2,21 @@ auth include system-login +@@ -2,11 +2,17 @@ auth include system-login {% if gnome_keyring %} auth optional pam_gnome_keyring.so {% endif %} @@ -79,10 +79,13 @@ index 5e01090..34d8459 100644 +{% if selinux %} +session include system-selinux +{% endif %} - {% if gnome_keyring %} + {% if gnome_keyring and openrc %} + session optional pam_gnome_keyring.so auto_start + {% endif %} +@@ -14,3 +20,6 @@ session include system-login + {% if gnome_keyring and not openrc %} session optional pam_gnome_keyring.so auto_start {% endif %} - session include system-login +{% if not minimal %} +session include system-postlogin +{% endif %} @@ -163,5 +166,5 @@ index 150061f..690396f 100644 {% if sssd %} -- -2.51.0 +2.52.0 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/pambase/0002-Flatcar-modifications.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/pambase/0002-Flatcar-modifications.patch index 7776e58d0aa..06729fa68ab 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/pambase/0002-Flatcar-modifications.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/pambase/0002-Flatcar-modifications.patch @@ -1,4 +1,4 @@ -From 55c811bb55334a9c5ba19e5c7ec61a9ede365a37 Mon Sep 17 00:00:00 2001 +From 7fda98ef4a405fdfe6f2f951398197a573ca7077 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 10 Oct 2025 11:47:43 +0200 Subject: [PATCH 2/2] Flatcar modifications @@ -48,5 +48,5 @@ index 905d04f..c78f9d6 100644 {% endif %} -- -2.51.0 +2.52.0 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/thin-provisioning-tools/0001-build-Simplify-installation-of-symlinks-and-manpages.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/thin-provisioning-tools/0001-build-Simplify-installation-of-symlinks-and-manpages.patch index 58bc17e4570..6f43fecf444 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/thin-provisioning-tools/0001-build-Simplify-installation-of-symlinks-and-manpages.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/thin-provisioning-tools/0001-build-Simplify-installation-of-symlinks-and-manpages.patch @@ -1,4 +1,4 @@ -From c5fbb32be0509e4368268a79e7aacc6b5e34d28e Mon Sep 17 00:00:00 2001 +From 557ce4b7dd9204696fb0992a47123721470a407a Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Thu, 20 Nov 2025 13:16:09 +0100 Subject: [PATCH 1/2] [build] Simplify installation of symlinks and manpages @@ -77,5 +77,5 @@ index b04937aa..44c99c99 100644 .PHONY: install -- -2.51.2 +2.52.0 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/thin-provisioning-tools/0002-all-Make-thin_migrate-tool-optional.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/thin-provisioning-tools/0002-all-Make-thin_migrate-tool-optional.patch index 3282101ee2e..50b654b8c61 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/thin-provisioning-tools/0002-all-Make-thin_migrate-tool-optional.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/thin-provisioning-tools/0002-all-Make-thin_migrate-tool-optional.patch @@ -1,4 +1,4 @@ -From 74215dade7bbddbfc0a46e1903fc289a56df3915 Mon Sep 17 00:00:00 2001 +From ced04b3f4f96072d627210038aaa726e864419b6 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Thu, 20 Nov 2025 13:17:36 +0100 Subject: [PATCH 2/2] [all] Make thin_migrate tool optional @@ -17,7 +17,7 @@ Signed-off-by: Krzesimir Nowak 5 files changed, 24 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml -index 8594c6ba..155285a8 100644 +index 39853af1..02d77483 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ clap = { version = "4.5", default-features = false, features = [ @@ -131,5 +131,5 @@ index 1ef0e1be..eeed031e 100644 pub mod repair; pub mod restore; -- -2.51.2 +2.52.0 diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/make.defaults b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/make.defaults index cf5b8e5ba3e..bf01d5e4c5b 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/make.defaults +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/make.defaults @@ -46,6 +46,7 @@ BOOTSTRAP_USE="${BOOTSTRAP_USE} xml" # Set SELinux policy POLICY_TYPES="targeted mcs mls" +SELINUX_POLICY_TYPES="targeted mcs mls" # Disable packages or optional features with distribution issues. ACCEPT_RESTRICT="* -bindist" @@ -133,3 +134,14 @@ MODULES_SIGN_CERT="/tmp/certs/modules.pub.pem" # enable signing kernel modules from portage USE="${USE} modules-sign" + +# Branding stuff +BRANDING_OS_NAME="Flatcar Container Linux by Kinvolk" +BRANDING_OS_ID="flatcar" +BRANDING_OS_ID_LIKE="coreos" +BRANDING_OS_HOME_URL="https://flatcar.org" +BRANDING_OS_SUPPORT_URL="https://groups.google.com/forum/#!forum/flatcar-linux-user" +BRANDING_OS_BUG_REPORT_URL="https://issues.flatcar.org" +#BRANDING_OS_VERSION= +#BRANDING_OS_VERSION_ID= +#BRANDING_OS_PRETTY_NAME= 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 0f5d73bca2c..89d2133f629 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 @@ -7,13 +7,19 @@ # Gentoo upstream package stabilisation # (the following packages are "unstable" upstream; we're stabilising these) +# To address CVE-2025-60753 +=app-arch/libarchive-3.8.5 ~amd64 ~arm64 + +# We always want the latest version available. +=app-containers/containerd-2.2* ~amd64 ~arm64 + # Keep versions on both arches in sync. -=app-containers/cri-tools-1.32.0 ~arm64 -=app-containers/incus-6.0.4-r1 ~arm64 -=app-containers/lxc-6.0.4-r1 ~arm64 +=app-containers/cri-tools-1.33.0 ~arm64 +=app-containers/incus-6.0.5 ~arm64 +=app-containers/lxc-6.0.5 ~arm64 -# CVE-2025-6032 -=app-containers/podman-5.5.2 ~amd64 ~arm64 +# We always want the latest version available. +=app-containers/runc-1.4* ~amd64 ~arm64 # No stable keywords. =app-containers/syft-1.18.1 ~amd64 ~arm64 @@ -32,11 +38,13 @@ app-crypt/azure-keyvault-pkcs11 # 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/mit-krb5-1.21.3-r1 ~arm64 + # No stable keywords yet because it's new. =app-emulation/open-vmdk-0.3.12 ~amd64 # Keep versions on both arches in sync. -=app-emulation/qemu-10.0.5 ~arm64 =app-emulation/qemu-guest-agent-9.2.0 ~arm64 # Packages are in Gentoo but not expected to be used outside Flatcar, so they @@ -47,20 +55,31 @@ dev-cpp/azure-identity dev-cpp/azure-security-keyvault-certificates dev-cpp/azure-security-keyvault-keys +# Not stabilised for arm64 yet. +dev-db/etcd amd64 + # Keep versions on both arches in sync. -=dev-lang/yasm-1.3.0-r1 ~arm64 =dev-libs/cowsql-1.15.9 ~arm64 =dev-libs/ding-libs-0.6.2-r1 ~arm64 +=dev-libs/elfutils-0.194 ~amd64 # The only available ebuild has ~amd64 and no keyword for arm64 yet. =dev-libs/jose-14 ** +# Keep versions on both arches in sync. +=dev-libs/libnl-3.11.0 ~amd64 + # 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 +# Used to be in sdk target profile, unversioned, so pinning it to a +# version used at a time of the move. Needed for building signed +# sysexts with systemd-repart +=dev-libs/xxhash-0.8.3-r1 + # No arm64 keyword in package. =dev-util/bsdiff-4.3-r4 ** @@ -74,9 +93,6 @@ dev-cpp/azure-security-keyvault-keys =net-libs/libnetfilter_cthelper-1.0.1-r1 ~arm64 =net-libs/libnetfilter_cttimeout-1.0.1 ~arm64 -# CVE-2025-61984, CVE-2025-61985 -=net-misc/openssh-10.2_p1 ~amd64 ~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. @@ -86,24 +102,21 @@ sys-apps/azure-vm-utils =sys-apps/zram-generator-1.2.1 ~arm64 =sys-auth/sssd-2.9.7 ~arm64 -# So it builds with rust provided by SDK without pulling some older -# version of rust-bin, that does not support aarch64 for some reason. -=sys-block/thin-provisioning-tools-1.3.0 ~amd64 ~arm64 - # Keep versions on both arches in sync. =sys-boot/mokutil-0.7.2 ** # Enable ipvsadm for arm64. =sys-cluster/ipvsadm-1.31-r1 ~arm64 -# Keep versions on both arches in sync. -=sys-fs/lxcfs-6.0.4 ~arm64 - -=app-containers/containerd-2.1* ~amd64 ~arm64 -=app-containers/runc-1.3* ~amd64 ~arm64 +# Used to be in sdk target profile, unversioned, so pinning it to a +# version used at a time of the move. Needed for building signed +# sysexts with systemd-repart +=sys-fs/erofs-utils-1.8.10-r1 -# Not stabilised for arm64 yet. -dev-db/etcd amd64 +# Keep versions on both arches in sync. +=sys-fs/lxcfs-6.0.5 ~arm64 +=sys-fs/zfs-2.3.4 ~arm64 +=sys-fs/zfs-kmod-2.3.4 ~arm64 # Bump early for newer features. =sys-kernel/dracut-109* ~amd64 ~arm64 diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use index 13e31197c60..cbcaeb4d14b 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use @@ -40,7 +40,7 @@ net-firewall/ipset -modules dev-libs/glib -mime # keep grub build simple -sys-boot/grub -multislot -themes -fonts -device-mapper +sys-boot/grub -branding -multislot -themes -fonts -device-mapper # disable "high performance ssh" patch, turn on kerberos net-misc/openssh -hpn kerberos @@ -171,17 +171,11 @@ sys-apps/azure-vm-utils dracut # Enable SELinux for lxc app-containers/lxc selinux -# required by app-containers/incus-6.0.3-r1::portage-stable -# required by incus (argument) +# required by app-containers/incus dev-libs/raft lz4 - -# required by app-containers/incus-6.0.3-r1::portage-stable -# required by incus (argument) dev-util/xdelta lzma -# required by app-containers/lxc-6.0.3::portage-stable[tools,caps] -# required by app-containers/incus-6.0.3-r1::portage-stable -# required by incus (argument) +# required by app-containers/lxc[tools,caps] and app-containers/incus sys-libs/libcap static-libs # do not force a dependency on llvm-core/llvm yet @@ -200,3 +194,6 @@ dev-db/etcd -server # We only need the non-Python-based tools. app-emulation/open-vmdk -python + +# Avoid pulling extra perl packages +dev-perl/File-Slurper minimal diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/package.provided b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/package.provided index 3f972f10203..180f0382aa7 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/package.provided +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/package.provided @@ -23,7 +23,7 @@ acct-user/named-0-r3 sys-process/psmisc-23.7 # Pulled in by app-admin/sudo and net-fs/samba -dev-lang/perl-5.40.2 +dev-lang/perl-5.42.0-r1 # Pulled in by net-fs/samba dev-libs/icu-76.1-r1 diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/sdk/package.accept_keywords b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/sdk/package.accept_keywords deleted file mode 100644 index 7eb67dc0259..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/sdk/package.accept_keywords +++ /dev/null @@ -1,5 +0,0 @@ -# Temporarily put the SDK version ahead for sd-json support in Dracut. - -# Needed for building signed sysexts with systemd-repart -dev-libs/xxhash -sys-fs/erofs-utils diff --git a/sdk_container/src/third_party/portage-stable/acct-group/cuse/cuse-0.ebuild b/sdk_container/src/third_party/portage-stable/acct-group/cuse/cuse-0.ebuild new file mode 100644 index 00000000000..87fe774f871 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/acct-group/cuse/cuse-0.ebuild @@ -0,0 +1,9 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit acct-group + +ACCT_GROUP_ID=554 +DESCRIPTION="/dev/cuse access" diff --git a/sdk_container/src/third_party/portage-stable/acct-group/cuse/metadata.xml b/sdk_container/src/third_party/portage-stable/acct-group/cuse/metadata.xml new file mode 100644 index 00000000000..fbc99e373d0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/acct-group/cuse/metadata.xml @@ -0,0 +1,11 @@ + + + + + mgorny@gentoo.org + Michał Górny + + + base-system@gentoo.org + + diff --git a/sdk_container/src/third_party/portage-stable/acct-group/jobserver/jobserver-0.ebuild b/sdk_container/src/third_party/portage-stable/acct-group/jobserver/jobserver-0.ebuild new file mode 100644 index 00000000000..4a7bb9457da --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/acct-group/jobserver/jobserver-0.ebuild @@ -0,0 +1,9 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit acct-group + +ACCT_GROUP_ID=556 +DESCRIPTION="Access to system-wide jobservers" diff --git a/sdk_container/src/third_party/portage-stable/virtual/perl-XSLoader/metadata.xml b/sdk_container/src/third_party/portage-stable/acct-group/jobserver/metadata.xml similarity index 56% rename from sdk_container/src/third_party/portage-stable/virtual/perl-XSLoader/metadata.xml rename to sdk_container/src/third_party/portage-stable/acct-group/jobserver/metadata.xml index 1a0d0fb9a80..076793e3f54 100644 --- a/sdk_container/src/third_party/portage-stable/virtual/perl-XSLoader/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/acct-group/jobserver/metadata.xml @@ -1,9 +1,8 @@ - - perl@gentoo.org - Gentoo Perl Project + + mgorny@gentoo.org + Michał Górny - diff --git a/sdk_container/src/third_party/portage-stable/acct-user/portage/portage-0-r4.ebuild b/sdk_container/src/third_party/portage-stable/acct-user/portage/portage-0-r4.ebuild new file mode 100644 index 00000000000..573bccbbad1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/acct-user/portage/portage-0-r4.ebuild @@ -0,0 +1,12 @@ +# Copyright 2020-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit acct-user + +ACCT_USER_ID=250 +ACCT_USER_HOME="/var/lib/portage/home" +ACCT_USER_GROUPS=( portage jobserver ) + +acct-user_add_deps diff --git a/sdk_container/src/third_party/portage-stable/app-admin/eselect/eselect-1.4.30.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/eselect/eselect-1.4.30.ebuild index 39345cdc44e..0111d9f42ff 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/eselect/eselect-1.4.30.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-admin/eselect/eselect-1.4.30.ebuild @@ -16,7 +16,7 @@ SRC_URI="https://dev.gentoo.org/~ulm/eselect/${P}.tar.xz" LICENSE="GPL-2+ || ( GPL-2+ CC-BY-SA-4.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="doc emacs vim-syntax" # coreutils for realpath diff --git a/sdk_container/src/third_party/portage-stable/app-admin/eselect/eselect-1.4.31.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/eselect/eselect-1.4.31.ebuild index e93a6fd25b0..6d465c942f1 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/eselect/eselect-1.4.31.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-admin/eselect/eselect-1.4.31.ebuild @@ -16,7 +16,7 @@ SRC_URI="https://dev.gentoo.org/~ulm/eselect/${P}.tar.xz" LICENSE="GPL-2+ || ( GPL-2+ CC-BY-SA-4.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="doc emacs vim-syntax" # coreutils for realpath diff --git a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.31-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.31-r2.ebuild index 0bd34027681..629cfb5cb33 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.31-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.31-r2.ebuild @@ -13,7 +13,7 @@ if [[ "${PV}" == "9999" ]] ; then EGIT_REPO_URI="https://github.com/gentoo-perl/perl-cleaner.git" else SRC_URI="https://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.bz2" - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-9999.ebuild index 6c13c04a420..e807c33c41d 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-9999.ebuild @@ -13,7 +13,7 @@ if [[ "${PV}" == "9999" ]] ; then EGIT_REPO_URI="https://github.com/gentoo-perl/perl-cleaner.git" else SRC_URI="https://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.bz2" - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/app-alternatives/awk/awk-4.ebuild b/sdk_container/src/third_party/portage-stable/app-alternatives/awk/awk-4.ebuild index 6aea8ab9843..d7494f79b42 100644 --- a/sdk_container/src/third_party/portage-stable/app-alternatives/awk/awk-4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-alternatives/awk/awk-4.ebuild @@ -13,7 +13,7 @@ ALTERNATIVES=( inherit app-alternatives eapi9-ver DESCRIPTION="/bin/awk and /usr/bin/awk symlinks" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="split-usr" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/app-alternatives/bc/bc-0.ebuild b/sdk_container/src/third_party/portage-stable/app-alternatives/bc/bc-0.ebuild index f4cf07724ee..e845dee2450 100644 --- a/sdk_container/src/third_party/portage-stable/app-alternatives/bc/bc-0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-alternatives/bc/bc-0.ebuild @@ -11,7 +11,7 @@ ALTERNATIVES=( inherit app-alternatives DESCRIPTION="bc symlink" -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 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=" != 10 threads + # https://bugs.gentoo.org/927766 + cat > "${T}"/bin/lrzip <<-EOF || die + #!/bin/sh + exec "$(type -P lrzip)" -p1 "\${@}" + EOF + chmod +x "${T}/bin/lrzip" || die + local -x PATH=${T}/bin:${PATH} + multilib-minimal_src_test +} + +multilib_src_test() { + # sandbox is breaking long symlink behavior + local -x SANDBOX_ON=0 + local -x LD_PRELOAD= + # some locales trigger different output that breaks tests + local -x LC_ALL=C.UTF-8 + emake check +} + +multilib_src_install() { + if multilib_is_native_abi ; then + emake DESTDIR="${D}" install + else + local install_targets=( + install-includeHEADERS + install-libLTLIBRARIES + install-pkgconfigDATA + ) + emake DESTDIR="${D}" "${install_targets[@]}" + fi + + # Libs.private: should be used from libarchive.pc instead + find "${ED}" -type f -name "*.la" -delete || die + # https://github.com/libarchive/libarchive/issues/1766 + sed -e '/Requires\.private/s:iconv::' \ + -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die +} diff --git a/sdk_container/src/third_party/portage-stable/app-arch/lz4/lz4-1.10.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/lz4/lz4-1.10.0-r1.ebuild index a64312735b4..8e94fbf76cd 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/lz4/lz4-1.10.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/lz4/lz4-1.10.0-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/lz4/lz4/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD-2 GPL-2" SLOT="0/1.10.0-meson" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-arch/lz4/lz4-1.10.0.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/lz4/lz4-1.10.0.ebuild index 5f999d12501..4aa5a3d97b1 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/lz4/lz4-1.10.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/lz4/lz4-1.10.0.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/lz4/lz4/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD-2 GPL-2" SLOT="0/1.10.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="static-libs" CMAKE_USE_DIR=${S}/build/cmake diff --git a/sdk_container/src/third_party/portage-stable/app-arch/lz4/lz4-1.9.4.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/lz4/lz4-1.9.4.ebuild index 077813ea99d..5c086ce6ed0 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/lz4/lz4-1.9.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/lz4/lz4-1.9.4.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/lz4/lz4/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD-2 GPL-2" # https://abi-laboratory.pro/tracker/timeline/lz4/ SLOT="0/r132" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="static-libs" CMAKE_USE_DIR=${S}/build/cmake diff --git a/sdk_container/src/third_party/portage-stable/app-arch/lzop/lzop-1.04-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/lzop/lzop-1.04-r1.ebuild index db7de06fb14..d039c988b51 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/lzop/lzop-1.04-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/lzop/lzop-1.04-r1.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://www.lzop.org/download/${P}.tar.gz" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" RDEPEND=">=dev-libs/lzo-2" DEPEND="${RDEPEND}" diff --git a/sdk_container/src/third_party/portage-stable/app-arch/ncompress/ncompress-5.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/ncompress/ncompress-5.0-r2.ebuild index 060af586e0c..39baddd1d8c 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/ncompress/ncompress-5.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/ncompress/ncompress-5.0-r2.ebuild @@ -11,7 +11,7 @@ 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" PATCHES=( "${FILESDIR}"/${PN}-5.0-c23.patch diff --git a/sdk_container/src/third_party/portage-stable/app-arch/pbzip2/pbzip2-1.1.13.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/pbzip2/pbzip2-1.1.13.ebuild index bf363cf7e5e..04a53298f44 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/pbzip2/pbzip2-1.1.13.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/pbzip2/pbzip2-1.1.13.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://launchpad.net/pbzip2/${PV:0:3}/${PV}/+download/${P}.tar.gz" LICENSE="BZIP2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="static" LIB_DEPEND="app-arch/bzip2[static-libs(+)]" diff --git a/sdk_container/src/third_party/portage-stable/app-arch/pigz/pigz-2.8.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/pigz/pigz-2.8.ebuild index 72e8f1bb145..695433e56fe 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/pigz/pigz-2.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/pigz/pigz-2.8.ebuild @@ -15,7 +15,7 @@ SRC_URI=" LICENSE="ZLIB" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="static test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-arch/rpm2targz/rpm2targz-2021.03.16.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/rpm2targz/rpm2targz-2021.03.16.ebuild index ff2219f803c..1bd51ff33fb 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/rpm2targz/rpm2targz-2021.03.16.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/rpm2targz/rpm2targz-2021.03.16.ebuild @@ -12,7 +12,7 @@ SRC_URI="mirror://gentoo/${P}.tar.xz LICENSE="BSD-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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="" DEPEND="" diff --git a/sdk_container/src/third_party/portage-stable/app-arch/sharutils/sharutils-4.15.2-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/sharutils/sharutils-4.15.2-r3.ebuild index 4c8882e0197..a088841c357 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/sharutils/sharutils-4.15.2-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/sharutils/sharutils-4.15.2-r3.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}"/${MY_P} LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" IUSE="nls" DEPEND="app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/app-arch/tar/tar-1.35.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/tar/tar-1.35.ebuild index 56cfe7f4982..1959db4feba 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/tar/tar-1.35.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/tar/tar-1.35.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tar.asc -inherit multiprocessing verify-sig +inherit branding multiprocessing verify-sig DESCRIPTION="Use this to make tarballs :)" HOMEPAGE="https://www.gnu.org/software/tar/" @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="GPL-3+" SLOT="0" if [[ -z "$(ver_cut 3)" || "$(ver_cut 3)" -lt 90 ]] ; 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 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="acl minimal nls selinux xattr" diff --git a/sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p27-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p27-r1.ebuild index 79470f5fd7b..a3201cf8e88 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p27-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p27-r1.ebuild @@ -16,7 +16,7 @@ SRC_URI="https://downloads.sourceforge.net/infozip/${MY_P}.tar.gz LICENSE="Info-ZIP" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="bzip2 natspec unicode" DEPEND="bzip2? ( app-arch/bzip2 ) diff --git a/sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p29.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p29.ebuild index 13f2c61aabe..ab9eb46e670 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p29.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p29.ebuild @@ -19,7 +19,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="Info-ZIP" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="bzip2 natspec unicode" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/Manifest b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/Manifest index 8130f5814d7..d962c03c2a2 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/Manifest @@ -2,5 +2,7 @@ DIST xz-5.6.4.tar.gz 2280985 BLAKE2B 3d27c143f4856589d501bc47ff5c86c1c49b1d0b8c8 DIST xz-5.6.4.tar.gz.sig 566 BLAKE2B 475b576431f573b9ce390ae2c43fc4f307f00ef523a741ec6795f182f5ff2c30f2049b1b4d2a3a7e61769bb7dc568de0f5af89661cb09341a58bbcdcdda3c877 SHA512 1ece59b7a540f6d215206ced14759aa971f192433705f8803b6ad8db0857e246145300c853cb571d8750b8152483d13736c478a7c0abb40d7ed25305d80a841c DIST xz-5.8.1.tar.gz 2587189 BLAKE2B 430b14bc0f1382e7ba27ae1466ed2bc0c3e74c10b18db38fd899c9a7d315ffbbeb439d02b7b961de88ccba6064ae631c75f6d1cd03e3e58dac2e65a84b635f81 SHA512 151b2a47fdf00274c4fd71ceada8fb6c892bdac44070847ebf3259e602b97c95ee5ee88974e03d7aa821ab4f16d5c38e50dfb2baf660cf39c199878a666e19ad DIST xz-5.8.1.tar.gz.sig 566 BLAKE2B 66fdf664995781c111349b700918b030af9dacd0612d97b3426913c2d866b459a66bd25558c7ab8121b3f0b07daa46422ea1c4534cf2da7382a94f1553e911a1 SHA512 4a67ed623841d64a5826cef1d5e21f3567ba275ee8f725a1217f76ce2ba25a41c6e22e62f8c7cca74d0d6e8398e8ee8926eab722cc8c1b10c42e990c32765efd +DIST xz-5.8.2.tar.gz 2693526 BLAKE2B 50bf4e9dcd1e4579c70aa06bbdd17636c38c87bce313c6e633932b640b2a92736fc15f1769f6a02f4fe45302ae0d26587ebd312825d4f84220b9780b10372117 SHA512 0b808fc8407e7c50da3a7b2db05be732c2fcd41850b92c7f5647181443483848ff359e176c816ce2038c115273f51575877c14f1356417cc9d53845841acb063 +DIST xz-5.8.2.tar.gz.sig 566 BLAKE2B f0a9bcc55b01e16827972052dc4d84ad47173ba7aa0ae1dad31606b329fb289fcd0061208133398b72591837a73092695f861e901f3b4f97dee9b2ac682f8939 SHA512 91c8d49d8ad0eb1e128203cf2c051fb200ec0e2b5eebea10a39945a998d24f11652a000faefa688d129327593043271314cbf115d78c21eeed738476dd2defb6 DIST xz-cve-2025-31115.patch 11948 BLAKE2B a84c380aa6bdaa607d5bffe6370f7a2fb603945aa89f59f053d56e4be90a280b2c56d8e5fd6700a533fb24bd9ec54f047fed96364019f62eeea50adcf4e38657 SHA512 951622698f92844151f105821e1cf5bbe4fd71de5a2ac89a2310c6de80afe34528642c65d12dd4331085e1c23ba3887607bbd6185644c740cbf135c869881a33 DIST xz-cve-2025-31115.patch.sig 566 BLAKE2B d6d4bad23ceaec55b6db04a4454885900f961dd6346c112cb97906e2403b718790e3f893d2502ba67ac1a08832478051ea480bdcf339bbf89d0edd13f40a47b4 SHA512 4002472637389c265fbe0f2ad7d80fe29a79bc4d8c1778af76e7cfd29b80d86c3be947ebf620a282494f45071f61534e385c5bed2192e6095ec2fc1338c31ccb diff --git a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.4-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.4-r2.ebuild index 3e846f356ed..ace89c53efb 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.4-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.4-r2.ebuild @@ -37,7 +37,7 @@ else " if [[ ${PV} != *_alpha* && ${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 ~arm64-macos ~x64-macos ~x64-solaris" fi S="${WORKDIR}/${MY_P}" diff --git a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.8.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.8.1-r1.ebuild index ce4cf91ed48..bd7a75e47f8 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.8.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.8.1-r1.ebuild @@ -35,7 +35,7 @@ else " if [[ ${PV} != *_alpha* && ${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 ~arm64-macos ~x64-macos ~x64-solaris" fi S="${WORKDIR}/${MY_P}" diff --git a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.8.2.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.8.2.ebuild new file mode 100644 index 00000000000..5ba70b466d2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.8.2.ebuild @@ -0,0 +1,209 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Remember: we cannot leverage autotools in this ebuild in order +# to avoid circular deps with autotools + +EAPI=8 + +inherit dot-a flag-o-matic libtool multilib multilib-minimal preserve-libs toolchain-funcs + +if [[ ${PV} == 9999 ]] ; then + # Per tukaani.org, git.tukaani.org is a mirror of github and + # may be behind. + EGIT_REPO_URI=" + https://github.com/tukaani-project/xz + https://git.tukaani.org/xz.git + " + inherit git-r3 autotools + + # bug #272880 and bug #286068 + BDEPEND="sys-devel/gettext >=dev-build/libtool-2" +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/lassecollin.asc + inherit verify-sig + + MY_P="${PN/-utils}-${PV/_}" + SRC_URI=" + https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz + https://downloads.sourceforge.net/lzmautils/${MY_P}.tar.gz + https://tukaani.org/xz/${MY_P}.tar.gz + verify-sig? ( + https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz.sig + https://tukaani.org/xz/${MY_P}.tar.gz.sig + ) + " + + if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi + + S="${WORKDIR}/${MY_P}" +fi + +DESCRIPTION="Utils for managing LZMA compressed files" +HOMEPAGE="https://tukaani.org/xz/" + +# See top-level COPYING file as it outlines the various pieces and their licenses. +LICENSE="0BSD LGPL-2.1+ GPL-2+ doc? ( CC-BY-SA-4.0 )" +SLOT="0" +IUSE="cpu_flags_arm_crc32 doc +extra-filters pgo nls static-libs" + +if [[ ${PV} != 9999 ]] ; then + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-lassecollin-20250313 )" +fi + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautopoint + eautoreconf + else + # Allow building shared libs on Solaris/x64 + elibtoolize + fi +} + +src_configure() { + use static-libs && lto-guarantee-fat + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --enable-threads + $(multilib_native_use_enable doc) + $(use_enable nls) + $(use_enable static-libs static) + $(use_enable cpu_flags_arm_crc32 arm64-crc32) + ) + + if ! multilib_is_native_abi ; then + myconf+=( + --disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts} + ) + fi + + if ! use extra-filters ; then + myconf+=( + # LZMA1 + LZMA2 for standard .lzma & .xz files + --enable-encoders=lzma1,lzma2 + --enable-decoders=lzma1,lzma2 + + # those are used by default, depending on preset + --enable-match-finders=hc3,hc4,bt4 + + # CRC64 is used by default, though 7-Zip uses CRC32 by default. + # Also, XZ Embedded in Linux doesn't support CRC64, so + # kernel modules and friends are CRC32. + --enable-checks=crc32,crc64 + ) + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + export gl_cv_posix_shell="${EPREFIX}"/bin/sh + + # Undo Solaris-based defaults pointing to /usr/xpg4/bin + myconf+=( --disable-path-for-script ) + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" +} + +multilib_src_compile() { + # -fprofile-partial-training because upstream note the test suite isn't super comprehensive + # TODO: revisit that now we have the tar/xz loop below? + # See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo + local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)") + local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)") + + emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" + + if use pgo ; then + emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check + + local tar_pgo_args=() + + if has_version -b "app-alternatives/tar[gnu]" ; then + tar_pgo_args+=( + --mtime=@2718281828 + --sort=name + ) + fi + + if multilib_is_native_abi ; then + ( + shopt -s globstar + + tar \ + "${tar_pgo_args[@]}" \ + -cf xz-pgo-test-01.tar \ + {"${S}","${BUILD_DIR}"}/**/*.[cho] \ + {"${S}","${BUILD_DIR}"}/**/.libs/* \ + {"${S}","${BUILD_DIR}"}/**/**.txt \ + {"${S}","${BUILD_DIR}"}/tests/files + + stat --printf="xz-pgo-test-01.tar.tar size: %s\n" xz-pgo-test-01.tar || die + md5sum xz-pgo-test-01.tar || die + ) + + local test_variants=( + # Borrowed from ALT Linux + # https://packages.altlinux.org/en/sisyphus/srpms/xz/specfiles/#line-80 + '-0 -C none' + '-2 -C crc32' + "$(usev extra-filters '-6 --arm --lzma2 -C crc64')" + "$(usev extra-filters '-6 --x86 --lzma2=lc=4 -C sha256')" + '-7e --format=lzma' + + # Our own variants + '' + '-e' + "$(usev extra-filters '--x86 --lzma2=preset=6e')" + ) + local test_variant + for test_variant in "${test_variants[@]}" ; do + einfo "Testing '${test_variant}' variant" + "${BUILD_DIR}"/src/xz/xz -c ${test_variant} xz-pgo-test-01.tar | "${BUILD_DIR}"/src/xz/xz -c -d - > /dev/null + assert "Testing '${test_variant}' variant failed" + done + fi + + if tc-is-clang; then + llvm-profdata merge "${T}"/${ABI}-pgo --output="${T}"/${ABI}-pgo/default.profdata || die + fi + + emake clean + emake CFLAGS="${CFLAGS} ${pgo_use_flags}" + fi +} + +multilib_src_install() { + default + + # bug #934370 and bug #450436 (and bug #934515) + if ! tc-is-static-only && [[ ! -f "${ED}/usr/$(get_libdir)/liblzma$(get_libname)" ]] ; then + eerror "Sanity check for liblzma$(get_libname) failed." + eerror "Shared library wasn't built, possible libtool bug" + [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "liblzma$(get_libname) not found in build, aborting" + fi +} + +multilib_src_install_all() { + strip-lto-bytecode + + find "${ED}" -type f -name '*.la' -delete || die + + if use doc ; then + rm "${ED}"/usr/share/doc/${PF}/COPYING* || die + fi +} + +pkg_preinst() { + preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0) +} + +pkg_postinst() { + preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0) +} diff --git a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-9999.ebuild index bce0a88b7ae..5ba70b466d2 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-9999.ebuild @@ -35,7 +35,7 @@ else " if [[ ${PV} != *_alpha* && ${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 ~arm64-macos ~x64-macos ~x64-solaris" fi S="${WORKDIR}/${MY_P}" diff --git a/sdk_container/src/third_party/portage-stable/app-arch/zip/zip-3.0-r7.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/zip/zip-3.0-r7.ebuild index 68978086f45..88e591917a2 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/zip/zip-3.0-r7.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/zip/zip-3.0-r7.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}"/${MY_P} LICENSE="Info-ZIP" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="bzip2 crypt natspec unicode" RDEPEND="bzip2? ( app-arch/bzip2 ) diff --git a/sdk_container/src/third_party/portage-stable/app-arch/zstd/zstd-1.5.7-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/zstd/zstd-1.5.7-r1.ebuild index 8a292c092ba..e959be84b16 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/zstd/zstd-1.5.7-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/zstd/zstd-1.5.7-r1.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}"/${P}/build/meson LICENSE="|| ( BSD GPL-2 )" SLOT="0/1" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="+lzma lz4 static-libs test zlib" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-arch/zstd/zstd-1.5.7.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/zstd/zstd-1.5.7.ebuild index 28838420dad..21840730408 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/zstd/zstd-1.5.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/zstd/zstd-1.5.7.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}"/${P}/build/meson LICENSE="|| ( BSD GPL-2 )" SLOT="0/1" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="+lzma lz4 static-libs test zlib" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-cdr/cdrtools/cdrtools-3.02_alpha09-r5.ebuild b/sdk_container/src/third_party/portage-stable/app-cdr/cdrtools/cdrtools-3.02_alpha09-r5.ebuild index b66dfd3bcb6..6eca1f70867 100644 --- a/sdk_container/src/third_party/portage-stable/app-cdr/cdrtools/cdrtools-3.02_alpha09-r5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-cdr/cdrtools/cdrtools-3.02_alpha09-r5.ebuild @@ -15,7 +15,7 @@ S=${WORKDIR}/${P/_alpha[0-9][0-9]} LICENSE="GPL-2 LGPL-2.1 CDDL-Schily" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="acl caps nls unicode selinux" BDEPEND=" @@ -33,9 +33,9 @@ DEPEND=" " FILECAPS=( - -m u+s cap_sys_resource,cap_dac_override,cap_sys_admin,cap_sys_nice,cap_net_bind_service,cap_ipc_lock,cap_sys_rawio+ep usr/bin/cdrecord -- - -m u+s cap_dac_override,cap_sys_admin,cap_sys_nice,cap_net_bind_service,cap_sys_rawio+ep usr/bin/cdda2wav -- - -m u+s cap_dac_override,cap_sys_admin,cap_net_bind_service,cap_sys_rawio+ep usr/bin/readcd + -M u-s cap_sys_resource,cap_dac_override,cap_sys_admin,cap_sys_nice,cap_net_bind_service,cap_ipc_lock,cap_sys_rawio+ep usr/bin/cdrecord -- + -M u-s cap_dac_override,cap_sys_admin,cap_sys_nice,cap_net_bind_service,cap_sys_rawio+ep usr/bin/cdda2wav -- + -M u-s cap_dac_override,cap_sys_admin,cap_net_bind_service,cap_sys_rawio+ep usr/bin/readcd ) cdrtools_os() { @@ -278,8 +278,7 @@ src_install() { emake -j1 CPPOPTX="${CPPFLAGS}" COPTX="${CFLAGS}" C++OPTX="${CXXFLAGS}" \ LDOPTX="${LDFLAGS}" GMAKE_NOWARN="true" install - # Let fcaps handle this - fperms 0755 /usr/bin/{cdda2wav,cdrecord,readcd} + fperms 4755 /usr/bin/{cdda2wav,cdrecord,readcd} # These symlinks are for compat with cdrkit. dosym schily /usr/include/scsilib diff --git a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/Manifest index 45d1a0b566a..288ced818b5 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/Manifest @@ -1,4 +1,4 @@ -DIST aardvark-dns-1.14.0.crate 58825 BLAKE2B 4c87b1986308aea5367042374fe5311f7a219bcd953a417526f0e67cda5b09ab9300ba9bcd9a40668be2267e7506c6c6ebc5f84d5eaf69101541065e40983ffc SHA512 c65258b2d3c2d9f0b507f1bdbddbd3235ac0745b3103631b16b99bd55473bed5eeb54e4d4b76610ec24f983846bfed1007f41b546135c9950bc7047ee588d389 DIST aardvark-dns-1.15.0.crate 59884 BLAKE2B 6be0126b526359b1c402a6f10cfe9b28b9d351621b0f1e9556150fb2477a2c468938dbac1c11bde3eff6deb258ccfa6ed05e6f2a01206d3e08f1e88193016432 SHA512 963d68a662439ea920fbeec08eaa3b9fb486f5e61e46b702b0c9211241c3b1057ce573bac1f75ed558faa0cc99b0f36b7f5299c296e30b6ce6ed046a02cd9782 -DIST aardvark-dns-v1.14.0-vendor.tar.gz 7516081 BLAKE2B d11cc8bf1ae6c21b47bb56a92426494b99467f50e5058dce21956dfd399456ddaf235d5308c770fe71a8d17ce727acbc9c6670d01f165eed08a7a4c4865b66c3 SHA512 0d738d0a737bfc9b6b2fe728de343a6a91c6e197d888fd37c0859b831b05f8c92efce13c268fc8f31a09bb78d43f4330230a0454744523df5a4fa96498ca3dac +DIST aardvark-dns-1.17.0.crate 62370 BLAKE2B 7105e4c96e973d6cbda48d7db957423a0743330c53fd694be14951b85ba162624ffa3d96d6737856d7e5d39910a26403a4ab11e912317d6449a85642c8c5d236 SHA512 f8cc4f39b9a16106a7fbe08c94558507e0519018709ceb80474696be24328626f76aedf9bdd12c853be0728f4e9c57e945b442e7f66c22042e25410a690b69e0 DIST aardvark-dns-v1.15.0-vendor.tar.gz 9910590 BLAKE2B 876be4b719cf7d364dbd8ce04a3984d32b24dfba81ece1ce56d1f3e3f80f2607eefd77ff7dece2a678240b1f996cb498ae81f1be06c8f7eaa696eb6001090e4b SHA512 fbe6e77a2d412ed34bcf2c710db3aa8989a5887ab475988c393fb1c49584cac5b09a34b82e880eebe81c59af7817985af87391ffb8421da07abf080704cae5c0 +DIST aardvark-dns-v1.17.0-vendor.tar.gz 10267613 BLAKE2B 72b5da08584c5a35188d50646ec98b6463578b09520121224807e3770d6e911b12f61597ca5852be75a8e9de9ade02d507f490ff3a414e681fe31076930dde78 SHA512 b7ec2a2a34d5bb36dbcc55611dc9ec0ff2c1bed4469cc4b12d4eb0bd78bb7d6cae6f80a02ac32ade5c435fdd11e22ddd99646aa4de504c8369ee56cfa470e6a5 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.14.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.17.0.ebuild similarity index 90% rename from sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.14.0.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.17.0.ebuild index bdd917d608e..1272b60d093 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.14.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.17.0.ebuild @@ -3,6 +3,7 @@ EAPI=8 +RUST_MIN_VER="1.87.0" [[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" inherit cargo @@ -15,7 +16,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="${CARGO_CRATE_URIS}" SRC_URI+="https://github.com/containers/aardvark-dns/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" fi # main @@ -23,6 +24,7 @@ LICENSE="Apache-2.0" # deps LICENSE+=" 0BSD Apache-2.0-with-LLVM-exceptions MIT Unlicense Unicode-DFS-2016 ZLIB" SLOT="0" + QA_FLAGS_IGNORED="usr/libexec/podman/${PN}" QA_PRESTRIPPED="usr/libexec/podman/${PN}" ECARGO_VENDOR="${WORKDIR}/vendor" @@ -42,6 +44,6 @@ src_prepare() { } src_install() { - export PREFIX="${EPREFIX}"/usr + local -x PREFIX="${EPREFIX}"/usr default } diff --git a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-9999.ebuild index 6eb7550f45c..1272b60d093 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-9999.ebuild @@ -1,8 +1,9 @@ -# Copyright 2023-2024 Gentoo Authors +# Copyright 2023-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 +RUST_MIN_VER="1.87.0" [[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" inherit cargo @@ -23,6 +24,7 @@ LICENSE="Apache-2.0" # deps LICENSE+=" 0BSD Apache-2.0-with-LLVM-exceptions MIT Unlicense Unicode-DFS-2016 ZLIB" SLOT="0" + QA_FLAGS_IGNORED="usr/libexec/podman/${PN}" QA_PRESTRIPPED="usr/libexec/podman/${PN}" ECARGO_VENDOR="${WORKDIR}/vendor" @@ -42,6 +44,6 @@ src_prepare() { } src_install() { - export PREFIX="${EPREFIX}"/usr + local -x PREFIX="${EPREFIX}"/usr default } diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/containerd/Manifest index 26c73af38de..0c024f73369 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/containerd/Manifest @@ -5,4 +5,4 @@ DIST containerd-2.0.5.tar.gz 10452563 BLAKE2B bf03316c9211eaa17a3b40b1fc9f9aca42 DIST containerd-2.1.0.tar.gz 10610618 BLAKE2B 147c21b4650543af9b0e533e381a0505ba927d6e9270b9b03a09016eb3ccf29875db7fa274944fea2ff7b029b6a05a17d14c61e24b5f3426b31f320831eeb46a SHA512 e9bb128917bb6b2e21a8e05344af3fdcdda8620be20e54407bc2c73046278a88a77bcbed6ef7a59099c9ee3303283db46b90b71afdd45236d3c534749ba844e0 DIST containerd-2.1.1.tar.gz 10610787 BLAKE2B acc2d769752c783643795d228c0d267b0802e09166dc783e84087da0029a822a64688f5e59c047c47b25f50ca2a1ccb7f5b6216ad6beeb4489df308e525e9716 SHA512 542f7cae61e1ef2e1b529b0bea66d7ad9016d4605de73de9c9c8a738e50ec6f470b939d1546482320515b77424bffe1cf24b721173ac0c0ecd0100c92817cfb1 DIST containerd-2.1.4.tar.gz 10614131 BLAKE2B b8f4007b4bb368a1fa04c913d606f65d2ea4a17a6419ce12f2b6112eee2574d7a09fb8e2500d1c2f21bef8792dc047df4d63446211ae006662e616facda91f24 SHA512 a9f84784e917621ee5ea38ad20b8106e642fbf463a00d319b73a1a8e4d1fdd5be2fba0789b6a5d31107ef239d3713eced99ce979d4b2764714271a63c0936c15 -DIST containerd-2.1.5.tar.gz 10622156 BLAKE2B b612e9606554d492f59d4665dcbd85b0fdfa3316ecff3a2122357f8d8ef68991a2b77c367e3a7143efb768e9a78ee82ace9ffdc0832a9eb4ec37e98b0f827840 SHA512 6376228edf615b1ff3d40287622d4f72793be091d59d5d7e97f7bdc4f265aa4412f4a5dd1937ef795e54aa5ee8a87d785e859d7c6525a25fa86631b878cefc59 +DIST containerd-2.2.0.tar.gz 11475770 BLAKE2B 154d7d547d52925ff46431cea20db38dc72ec87ef90fd112472cb3ec7f2ebd8cfb121f98a3bc3870f8452473b35c3e1c84671b9fc31347f98259b34a70e740f9 SHA512 3121a1e0401e0283ff9d8454e945b427bcb0214e7e67271815117cb82dee1488c4d963c2193eb9c0ab5d395dd2e2705975ac31ce3e400264933d05d62fd0faac diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.5.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.0.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.5.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.0.ebuild index f1574ab9c76..77017ca3ce1 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 inherit go-env go-module systemd toolchain-funcs -GIT_REVISION=fcd43222d6b07379a4be9786bda52438f0dd16a1 +GIT_REVISION=1c4457e00facac03ce1d75f7b6777a7a851e5c41 DESCRIPTION="A daemon to control runC" HOMEPAGE="https://containerd.io/" @@ -26,7 +26,7 @@ ${COMMON_DEPEND} # recommended minimum version of runc is found in script/setup/runc-version RDEPEND=" ${COMMON_DEPEND} - >=app-containers/runc-1.3.3[apparmor?,seccomp?] + >=app-containers/runc-1.3.0[apparmor?,seccomp?] " BDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-common/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/containers-common/Manifest index 92ba0fce8a2..fe54370efff 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-common/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-common/Manifest @@ -1 +1,2 @@ DIST containers-common-0.63.0.tar.gz 13516320 BLAKE2B f9d57d11210041065f2d5479d68d0318d5d49c634038f7db8601becc1c6bb801314a5aaacb6392f3f802ed8acde60284d78d49351ea8a8f9eaa3a3c449ba5727 SHA512 5d09a5d5fda8a3bafc2b1954b8b82cbc73747e9a088f220090d790cca203f330d0dbe45148a6ea2808448705506f4ff13ca05c85a2c2643cceff41cbe0f5ce9f +DIST containers-common-0.64.2.tar.gz 13131015 BLAKE2B a4dc8484d9f1002c9e94a38396a767771df2260a15e371d20981db98d6ded7f563b4e25a2ff8f6912789264bfd4586826dd1821df2807f9c1d16baeab9601b8d SHA512 658044746d338de46b41577d7ae929b45b6de639dc33e671b2901527d9c069354fe586a7595ba514938fcedd9400c0ce47b10a3af92c4dc6aa29443d89a83ef5 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-common/containers-common-0.64.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-common/containers-common-0.64.2.ebuild new file mode 100644 index 00000000000..d4f8c244621 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-common/containers-common-0.64.2.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit readme.gentoo-r1 + +DESCRIPTION="Common config files and docs for Containers stack" +HOMEPAGE="https://github.com/containers/common" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/common.git" +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" +fi + +LICENSE="Apache-2.0" +SLOT="0" +RESTRICT="test" +RDEPEND=" + >=app-containers/aardvark-dns-1.12.0 + >=app-containers/crun-1.17 + >=app-containers/containers-image-5.32.0 + >=app-containers/containers-storage-1.55.0 + app-containers/containers-shortnames + >=app-containers/netavark-1.12.0 + net-firewall/nftables + net-firewall/iptables[nftables] + >=net-misc/passt-2024.09.06 + >=sys-fs/fuse-overlayfs-1.14 +" + +BDEPEND=" + >=dev-go/go-md2man-2.0.3 +" + +PATCHES=( + "${FILESDIR}/examplify-mounts-conf.patch" +) + +DOC_CONTENTS="\n +For rootless operations, one needs to configure subuid(5) and subgid(5)\n +See /etc/sub{uid,gid} to check whether rootless user is already configured\n +If not, quickly configure it with:\n +usermod --add-subuids 1065536-1131071 \n +usermod --add-subgids 1065536-1131071 \n +" + +src_prepare() { + default + + [[ -f docs/Makefile && -f Makefile ]] || die + sed -i -e 's|/usr/local|/usr|g;' docs/Makefile Makefile || die +} + +src_compile() { + emake docs + touch {images,layers}.lock || die +} + +src_install() { + emake DESTDIR="${ED}" install + readme.gentoo_create_doc + + insinto /usr/share/containers + doins pkg/seccomp/seccomp.json pkg/subscriptions/mounts.conf + + keepdir /etc/containers/{certs.d,oci/hooks.d,networks,systemd} /var/lib/containers/sigstore \ + /usr/lib/containers/storage + diropts -m0700 + dodir /usr/lib/containers/storage/overlay-{images,layers} + for i in images layers; do + insinto /usr/lib/containers/storage/overlay-"${i}" + doins "${i}".lock + done +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-image/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/containers-image/Manifest index aa0c2211663..a05fe013136 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-image/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-image/Manifest @@ -1,2 +1,3 @@ DIST containers-image-5.34.2.tar.gz 766227 BLAKE2B 27593e4d0035aee9eabc1011a837f16369d7985558ae1275e6726ff1b859d09ab036f150dc978ab0290cee7ba2b0878c50edcb131a2eb63ff947567fa1f10c2a SHA512 7e7cc5bfd2e8d71c332f08aab34c1b1cccadcf9f313d9519a294e9dfc370fd48d18f1e00dd0d74a19edf40ac511a544033fc27cf9537dcbb9458f721d88d564d DIST containers-image-5.35.0.tar.gz 766486 BLAKE2B c1708dd15eb9e8fdff739425542b5ead5f1e782e62b609b0d81fe4b5ad7ed5c61fe99bb4d9e29ea6d772bb9f093a286ed13c354cab48ad2681e111a073d124d6 SHA512 0acd064451184aa91d331bf113b934de10bf2e9225236b907c86006aed51cf4a8604cc57c73a2ae80848bc090b661548a7127b8b5112143f57c030ef5820333e +DIST containers-image-5.36.2.tar.gz 764570 BLAKE2B eefd4dbdbc8e4ccf0123e641bf38287667e7b0999672349739f8d589609652254a6a93be5ee471d43a0f7433548d7a2bea304dc2868e180f663f5354706f521d SHA512 14355b1e97d5f1f778442758c5547e0892e1c6919fd33ff604ec2065198addb89e504a29fac447816e0d8479bba9a06364887cd854db475a4a28d8562cce0777 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-image/containers-image-5.35.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-image/containers-image-5.35.0.ebuild index 921fadc2e30..e588d895ad5 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-image/containers-image-5.35.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-image/containers-image-5.35.0.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="https://github.com/containers/image/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" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-image/containers-image-5.36.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-image/containers-image-5.36.2.ebuild new file mode 100644 index 00000000000..921fadc2e30 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-image/containers-image-5.36.2.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Default config and docs related to Containers' images" +HOMEPAGE="https://github.com/containers/image" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/image.git" +else + SRC_URI="https://github.com/containers/image/archive/v${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${P#containers-}" + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" +fi + +LICENSE="Apache-2.0" +SLOT="0" + +# https://github.com/gentoo/gentoo/pull/35012#discussion_r1473740969 +RESTRICT='test' +BDEPEND=">=dev-go/go-md2man-2.0.3" +RDEPEND="!<=app-containers/containers-common-0.57.0" +PATCHES=( + "${FILESDIR}"/remove-go-as-bdepend-5.34.2.patch +) + +src_compile() { + emake docs +} + +src_install() { + emake DESTDIR="${ED}" install + + insinto /etc/containers + doins registries.conf +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/Manifest index 11919b0a1c7..02a604e3ce8 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/Manifest @@ -1,2 +1,3 @@ DIST containers-storage-1.55.1.tar.gz 4197824 BLAKE2B 5859e2267096541449aeff8576ad1dc00a72993d123ec5571e775f0081a6bc9cfc588bfd522bf7742bd417314e3a699d51e57127f66c152abb7cf805ffe61464 SHA512 3ba244d28e25c6a88f01a73ff26a4a0747c71124a6191d086d8521e1622f36740cfa0b1cbac56f7699a5af9a7001382e71c32fd0644960a53a97c00fd09a754e DIST containers-storage-1.57.2.tar.gz 4258308 BLAKE2B 1d068aaeb984060d1934c55e71824520963f32fe00c19b978e317032408c555c7f0ac028c9900e840a4ba7d1369892669cca15acb4f2d4ce9bdae77e3c29c636 SHA512 f092df52d2b8512d453ca4964304363481ef6bda3d05998654a2e3269fc9494af3a9c7c98f2a6895f6595c43733a4e9ebd39e3b62e1575a036134a8547dc3081 +DIST containers-storage-1.59.1.tar.gz 4606021 BLAKE2B a9814a21fa8937af0fcbc9f08d7ac7ee926be91014edfae4ab39df8417d0fbf6eefa910136451e23f5d8873fadcd4f92a451999bdba5bc41d3ade4715a9a0f50 SHA512 966dfec3cbf2210a07ebbfed481d7f546fb1bd649cfe4166238986dc92772b93748b8c9083dd8b8f6c303fac15c82e369337404d5d0dd5c4caa0b670b4f59298 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.59.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.59.1.ebuild new file mode 100644 index 00000000000..b4037bbeac1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.59.1.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Default config and docs related to Containers' storage" +HOMEPAGE="https://github.com/containers/storage" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/storage.git" +else + SRC_URI="https://github.com/containers/storage/archive/v${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${P#containers-}" + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" +fi + +LICENSE="Apache-2.0" +SLOT="0" + +BDEPEND=">=dev-go/go-md2man-2.0.2" + +src_compile() { + emake -C docs GOMD2MAN=go-md2man containers-storage.conf.5 +} + +src_install() { + emake DESTDIR="${ED}" -C docs install + + insinto /usr/share/containers + doins storage.conf +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/cri-tools/cri-tools-1.33.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/cri-tools/cri-tools-1.33.0.ebuild index 92307d9fb67..241db61dc90 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/cri-tools/cri-tools-1.33.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/cri-tools/cri-tools-1.33.0.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/kubernetes-sigs/cri-tools/archive/v${PV}.tar.gz -> $ LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64" +KEYWORDS="amd64 ~arm64" RESTRICT="test" DOCS=( docs {README,RELEASE,CHANGELOG,CONTRIBUTING}.md ) 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 25d0a382abb..898228c7ae2 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,3 +1,4 @@ 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 +DIST crun-1.25.1.tar.gz 1867772 BLAKE2B 8bd15f34d867800838514d6fcc1fe90de5488ad29addb483148ab15027bcebaa7d5eb23dfe9d939679e1f0168c7104e0a3de1eaedc13de898faa1e116761b92f SHA512 46ec1efbd0532c2c531daad770670082bb57c5d11959f328ee6d20c4e4d6ba2a050150883fd01475f94850eb3ee8ce4bc8654f76cee3f83edebf208cd32d1cf8 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.19.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.19.1.ebuild index af92ab475fd..0e59b651b1e 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.19.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.19.1.ebuild @@ -5,7 +5,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..13} ) -inherit libtool python-any-r1 +inherit autotools libtool python-any-r1 DESCRIPTION="A fast and low-memory footprint OCI Container Runtime fully written in C" HOMEPAGE="https://github.com/containers/crun" @@ -40,6 +40,15 @@ BDEPEND=" src_prepare() { default elibtoolize + + # https://github.com/containers/crun/pull/1887 + sed -i -E '/AC_CHECK_HEADERS\(\[error.h/{ + s/error\.h[[:space:]]*//g + a\ + AC_CHECK_HEADER([error.h], [AC_CHECK_FUNC([error], AC_DEFINE([HAVE_ERROR_H], [1], [Define if error.h is usable]))]) + }' configure.ac || die + + eautoreconf } src_configure() { 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 1a97040741a..8d8b91f378e 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 @@ -5,7 +5,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..13} ) -inherit libtool python-any-r1 +inherit autotools libtool python-any-r1 DESCRIPTION="A fast and low-memory footprint OCI Container Runtime fully written in C" HOMEPAGE="https://github.com/containers/crun" @@ -40,6 +40,15 @@ BDEPEND=" src_prepare() { default elibtoolize + + # https://github.com/containers/crun/pull/1887 + sed -i -E '/AC_CHECK_HEADERS\(\[error.h/{ + s/error\.h[[:space:]]*//g + a\ + AC_CHECK_HEADER([error.h], [AC_CHECK_FUNC([error], AC_DEFINE([HAVE_ERROR_H], [1], [Define if error.h is usable]))]) + }' configure.ac || die + + eautoreconf } src_configure() { diff --git a/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.21.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.21.ebuild index 16f0b682113..eb94320c065 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.21.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.21.ebuild @@ -5,7 +5,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{11..14} ) -inherit libtool python-any-r1 +inherit autotools libtool python-any-r1 DESCRIPTION="Fast and low-memory footprint OCI Container Runtime fully written in C" HOMEPAGE="https://github.com/containers/crun" @@ -42,6 +42,15 @@ BDEPEND=" src_prepare() { default elibtoolize + + # https://github.com/containers/crun/pull/1887 + sed -i -E '/AC_CHECK_HEADERS\(\[error.h/{ + s/error\.h[[:space:]]*//g + a\ + AC_CHECK_HEADER([error.h], [AC_CHECK_FUNC([error], AC_DEFINE([HAVE_ERROR_H], [1], [Define if error.h is usable]))]) + }' configure.ac || die + + eautoreconf } src_configure() { diff --git a/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.25.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.25.1.ebuild new file mode 100644 index 00000000000..6e274066d16 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.25.1.ebuild @@ -0,0 +1,91 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) + +inherit autotools libtool python-any-r1 + +DESCRIPTION="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 + + # https://github.com/containers/crun/pull/1887 + sed -i -E '/AC_CHECK_HEADERS\(\[error.h/{ + s/error\.h[[:space:]]*//g + a\ + AC_CHECK_HEADER([error.h], [AC_CHECK_FUNC([error], AC_DEFINE([HAVE_ERROR_H], [1], [Define if error.h is usable]))]) + }' configure.ac || die + + eautoreconf +} + +src_configure() { + local myeconfargs=( + --cache-file="${S}"/config.cache + $(use_enable bpf) + $(use_enable caps) + $(use_enable criu) + $(use_enable seccomp) + $(use_enable systemd) + --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 + + find "${ED}" -name '*.la' -type f -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/Manifest index 7e9d611d823..046de52282b 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/Manifest @@ -7,3 +7,4 @@ DIST docker-cli-28.1.1.tar.gz 7518124 BLAKE2B 2d9a1b620d4cffa718571cef9aa1825b57 DIST docker-cli-28.2.2-man.tar.xz 69888 BLAKE2B bee8b296ee94c57c34cfa268fde015aff15b6b269905275d47cce73ab94c7bed7edc9ba4d5b9d730dea78d149306736e14186c8a9c782047094511771ec8d105 SHA512 ce608b60915a0b7b15302260ec500b433ba6c9174fa82b34a4ae8ad7bb9d2f6abe45d4e43c0e3978b2f5bb440425e08d416ab9f613cdf64eb6294254765aa37b DIST docker-cli-28.2.2.tar.gz 7531638 BLAKE2B cb7d2766e4a6c444169f8462379b8524e0433a29541837c1acbefa62f4b303b6ce1dd629fbb2ed6e154ea51b72ac17c8452284a5e26c9716217e8cbf169374bb SHA512 1ba62398322c65e6994c0c6821b912c9a9b215083593d63557c5255064c407bd25f72044336ebb19977fe6d03215ec47174c6617890a817b9e34ed010535fb6b DIST docker-cli-28.4.0.tar.gz 7612765 BLAKE2B acfa0ee4cdeb6eec31ae92eb8c0a41357aa0ff3cb34bd497307ce5f136a6f1dd4d78cbbea27b1c48b0d5995262f1e039548a725c106bcc91f48f01932354e8dc SHA512 ab35867bdcaa07909cfd24e9bc4f5cde10b6930fa42e87d61d4544bb20b365fff146713239483169ef989cacfae7d7493d7f42d269b0f37f86c0c14a9373b445 +DIST docker-cli-29.1.3.tar.gz 7303915 BLAKE2B 3d45206f91f3675171f054f5159ec38034a9d7125d1742346a9b0819af26a50616198d87640ec6e6cb0a017aa801c677d5bb85c7faf7cfbd1de81cb4f886c932 SHA512 f37a5d125eb93639db8527c826078571ef5938be6bb33d132ccf693bf0810e3b9bb354074488021e129760a44b7fc51cd8295c6c6fe79211b70736231f47320e diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-28.4.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-28.4.0.ebuild index 8878c4ed79c..fe08d1fe117 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-28.4.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-28.4.0.ebuild @@ -22,7 +22,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 )" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-29.1.3.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-29.1.3.ebuild new file mode 100644 index 00000000000..96f8390538e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-29.1.3.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit shell-completion go-module +MY_PV=${PV/_/-} + +# update this on every bump +GIT_COMMIT=f52814d454173982e6692dd7e290a41b828d9cbc + +DESCRIPTION="the command line binary for docker" +HOMEPAGE="https://www.docker.com/" +SRC_URI="https://github.com/docker/cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/cli-${PV}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="hardened selinux" + +RDEPEND="selinux? ( sec-policy/selinux-docker )" + +RESTRICT="installsources strip test" + +src_prepare() { + default + sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die + ln -s vendor.mod go.mod + ln -s vendor.sum go.sum +} + +src_compile() { + export DISABLE_WARN_OUTSIDE_CONTAINER=1 + # setup CFLAGS and LDFLAGS for separate build target + # see https://github.com/tianon/docker-overlay/pull/10 + CGO_CFLAGS+=" -I${ESYSROOT}/usr/include" + CGO_LDFLAGS+=" -L${ESYSROOT}/usr/$(get_libdir)" + emake \ + LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \ + VERSION="${PV}" \ + GITCOMMIT="${GIT_COMMIT}" \ + dynbinary manpages +} + +src_install() { + dobin build/docker + doman man/man?/* + dobashcomp contrib/completion/bash/docker + bashcomp_alias docker dockerd + dofishcomp contrib/completion/fish/docker.fish + dozshcomp contrib/completion/zsh/_* +} + +pkg_postinst() { + has_version "app-containers/docker-buildx" && return + ewarn "the 'docker build' command is deprecated and will be removed in a" + ewarn "future release. If you need this functionality, install" + ewarn "app-containers/docker-buildx." +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/docker/Manifest index 54555369d3d..c8c40c95542 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/Manifest @@ -3,3 +3,4 @@ DIST docker-28.0.4.tar.gz 17579330 BLAKE2B 3b1ecb6ddceea0fe772bd597bf6b3c4b5867b DIST docker-28.1.1.tar.gz 17719438 BLAKE2B 95307e9c03e4c1ad436fffe321f69c269c0fba9fea22c56963b503a051360b9a38170c865e42674ca17adde6690ed14da5039539e7f8d082e1304191d25c9ddb SHA512 15de0a10dc9d60be5c6047a30be5065ee69b9cde938654363cd27d71103057cc78510f546f7b161ba5f0b8b764dc6167e4ffebbcc9e69b171fe49ee1e09e97b2 DIST docker-28.2.2.tar.gz 17861904 BLAKE2B 6f55e96d653579b749908080550ebee0635549fafd25c775fd59126018820a30f5234c680834a7ece897cb0f38f92f5afe3684d5dbc43694837516528c79f19b SHA512 e63ce38bb7badb01de918f678ad9fb216b279170177fe7d7c4120c8a1196add485cc974f9dff239a274220ebab60a2dc6852f07dc2ddafe8cec07c65dbd19a49 DIST docker-28.4.0.tar.gz 18066393 BLAKE2B 70c9910bec169994ddd39f46e4a7042e5f38a3b76e8a43389ee934fb7f3c75ae686f32ad7f3cbc0dcff210b5c0eeed24674db0fdf4e845e78c330cf6c2b75918 SHA512 a98f8012547dc1e61e6a4f420355d29fbd6f6ddb5642601d8762099768e0b284fcf129ee31af155049731f61f43ff4efe42313467055dae32337dc5cc8c8cf78 +DIST docker-29.1.3.tar.gz 19491833 BLAKE2B ded1a1832b1ce037776e04855a0ea7c3f45981df41bdace54c3b84496a2990b0450ed62b34a6f3c289dec2643d28a7563c9afba55c88fc0e1cc4fb7855220800 SHA512 e3fa96057beb2849fea6e4fd480b08ffbe9b74b851060901e54e57aa62938888b260b7cef4cee33d4cffd965fabc0db7fc0aa5aeeae9aa6b9870c3dbcf7b6ec3 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 9964d5337eb..bff285e3e5f 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 @@ -113,7 +113,7 @@ pkg_setup() { if kernel_is lt 6 1; then CONFIG_CHECK+=" ~MEMCG_SWAP - " + " fi if kernel_is le 5 8; then @@ -124,15 +124,15 @@ pkg_setup() { CONFIG_CHECK+=" ~!LEGACY_VSYSCALL_NATIVE - " + " if kernel_is lt 5 19; then CONFIG_CHECK+=" ~LEGACY_VSYSCALL_EMULATE - " + " fi CONFIG_CHECK+=" ~!LEGACY_VSYSCALL_NONE - " + " WARNING_LEGACY_VSYSCALL_NONE="CONFIG_LEGACY_VSYSCALL_NONE enabled: \ Containers with <=glibc-2.13 will not work" @@ -160,18 +160,18 @@ pkg_setup() { ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_RR - " + " if use selinux; then CONFIG_CHECK+=" ~SECURITY_SELINUX - " + " fi if use apparmor; then CONFIG_CHECK+=" ~SECURITY_APPARMOR - " + " fi # if ! is_set EXT4_USE_FOR_EXT2; then @@ -207,10 +207,10 @@ pkg_setup() { CONFIG_CHECK+=" ~IPVLAN - " + " CONFIG_CHECK+=" ~MACVLAN ~DUMMY - " + " CONFIG_CHECK+=" ~NF_NAT_FTP ~NF_CONNTRACK_FTP ~NF_NAT_TFTP ~NF_CONNTRACK_TFTP " @@ -232,6 +232,7 @@ pkg_setup() { src_unpack() { default + go-module_src_unpack cd "${S}" [[ -f go.mod ]] || ln -s vendor.mod go.mod || die [[ -f go.sum ]] || ln -s vendor.sum go.sum || die diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-28.2.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-28.2.2.ebuild index a5aef67040d..64e6730902a 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-28.2.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-28.2.2.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=" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-28.4.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-28.4.0.ebuild index 2b623e3dda4..39bb05cd08f 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-28.4.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-28.4.0.ebuild @@ -71,6 +71,13 @@ pkg_setup() { " WARNING_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: is required for bind-mounting /dev/mqueue into containers" + if kernel_is ge 6 17; then + CONFIG_CHECK+=" + ~IP_NF_IPTABLES_LEGACY + ~NETFILTER_XTABLES_LEGACY + " + fi + if kernel_is lt 4 8; then CONFIG_CHECK+=" ~DEVPTS_MULTIPLE_INSTANCES diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-29.1.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-29.1.3-r1.ebuild new file mode 100644 index 00000000000..004e861435a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-29.1.3-r1.ebuild @@ -0,0 +1,334 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +MY_PV=${PV/_/-} + +inherit go-module linux-info optfeature systemd toolchain-funcs udev + +GIT_COMMIT=fbf3ed25f893e6ce21336f1101590e40a13934f4 + +DESCRIPTION="The core functions you need to create Docker images and run Docker containers" +HOMEPAGE="https://www.docker.com/" +SRC_URI="https://github.com/moby/moby/archive/${PN}-v${MY_PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/moby-${PN}-v${PV}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="apparmor btrfs +container-init cuda +overlay2 seccomp selinux systemd" + +DEPEND=" + acct-group/docker + >=dev-db/sqlite-3.7.9:3 + net-firewall/nftables:= + apparmor? ( sys-libs/libapparmor ) + btrfs? ( >=sys-fs/btrfs-progs-3.16.1 ) + seccomp? ( >=sys-libs/libseccomp-2.2.1 ) + systemd? ( sys-apps/systemd ) +" + +# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies +# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#optional-dependencies +RDEPEND=" + ${DEPEND} + sys-process/procps + >=dev-vcs/git-1.7 + >=app-arch/xz-utils-4.9 + >=app-containers/containerd-2.2.0[apparmor?,btrfs?,seccomp?] + >=app-containers/runc-1.2.6[apparmor?,seccomp?] + !app-containers/docker-proxy + !=sys-process/tini-0.19.0[static] ) + cuda? ( app-containers/nvidia-container-toolkit ) + selinux? ( sec-policy/selinux-docker ) +" + +# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies +BDEPEND=" + dev-go/go-md2man + virtual/pkgconfig +" +# tests require running dockerd as root and downloading containers +RESTRICT="installsources strip test" + +# https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552 +pkg_setup() { + # this is based on "contrib/check-config.sh" from upstream's sources + # required features. + CONFIG_CHECK=" + ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS + ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG + ~KEYS + ~VETH ~BRIDGE ~BRIDGE_NETFILTER + ~IP_NF_FILTER ~IP_NF_RAW ~IP_NF_TARGET_MASQUERADE + ~NETFILTER_XT_MATCH_ADDRTYPE + ~NETFILTER_XT_MATCH_CONNTRACK + ~NETFILTER_XT_MATCH_IPVS + ~NETFILTER_XT_MARK + ~IP_NF_NAT ~NF_NAT + ~POSIX_MQUEUE + " + WARNING_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: is required for bind-mounting /dev/mqueue into containers" + + if kernel_is ge 6 17; then + CONFIG_CHECK+=" + ~IP_NF_IPTABLES_LEGACY + ~NETFILTER_XTABLES_LEGACY + " + fi + + if kernel_is lt 4 8; then + CONFIG_CHECK+=" + ~DEVPTS_MULTIPLE_INSTANCES + " + fi + + if kernel_is le 5 1; then + CONFIG_CHECK+=" + ~NF_NAT_IPV4 + " + fi + + if kernel_is le 5 2; then + CONFIG_CHECK+=" + ~NF_NAT_NEEDED + " + fi + + if kernel_is ge 4 15; then + CONFIG_CHECK+=" + ~CGROUP_BPF + " + fi + + # optional features + CONFIG_CHECK+=" + ~USER_NS + " + + if use seccomp; then + CONFIG_CHECK+=" + ~SECCOMP ~SECCOMP_FILTER + " + fi + + CONFIG_CHECK+=" + ~CGROUP_PIDS + " + + if kernel_is lt 6 1; then + CONFIG_CHECK+=" + ~MEMCG_SWAP + " + fi + + if kernel_is le 5 8; then + CONFIG_CHECK+=" + ~MEMCG_SWAP_ENABLED + " + fi + + CONFIG_CHECK+=" + ~!LEGACY_VSYSCALL_NATIVE + " + if kernel_is lt 5 19; then + CONFIG_CHECK+=" + ~LEGACY_VSYSCALL_EMULATE + " + fi + CONFIG_CHECK+=" + ~!LEGACY_VSYSCALL_NONE + " + WARNING_LEGACY_VSYSCALL_NONE="CONFIG_LEGACY_VSYSCALL_NONE enabled: \ + Containers with <=glibc-2.13 will not work" + + if kernel_is le 4 5; then + CONFIG_CHECK+=" + ~MEMCG_KMEM + " + fi + + if kernel_is lt 5; then + CONFIG_CHECK+=" + ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED + " + fi + + CONFIG_CHECK+=" + ~BLK_CGROUP ~BLK_DEV_THROTTLING + ~CGROUP_PERF + ~CGROUP_HUGETLB + ~NET_CLS_CGROUP ~CGROUP_NET_PRIO + ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED + ~IP_NF_TARGET_REDIRECT + ~IP_VS + ~IP_VS_NFCT + ~IP_VS_PROTO_TCP + ~IP_VS_PROTO_UDP + ~IP_VS_RR + " + + if use selinux; then + CONFIG_CHECK+=" + ~SECURITY_SELINUX + " + fi + + if use apparmor; then + CONFIG_CHECK+=" + ~SECURITY_APPARMOR + " + fi + + # if ! is_set EXT4_USE_FOR_EXT2; then + # check_flags EXT3_FS EXT3_FS_XATTR EXT3_FS_POSIX_ACL EXT3_FS_SECURITY + # if ! is_set EXT3_FS || ! is_set EXT3_FS_XATTR || ! is_set EXT3_FS_POSIX_ACL || ! is_set EXT3_FS_SECURITY; then + # echo " $(wrap_color '(enable these ext3 configs if you are using ext3 as backing filesystem)' bold black)" + # fi + # fi + + CONFIG_CHECK+=" + ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + + # if ! is_set EXT4_FS || ! is_set EXT4_FS_POSIX_ACL || ! is_set EXT4_FS_SECURITY; then + # if is_set EXT4_USE_FOR_EXT2; then + # echo " $(wrap_color 'enable these ext4 configs if you are using ext3 or ext4 as backing filesystem' bold black)" + # else + # echo " $(wrap_color 'enable these ext4 configs if you are using ext4 as backing filesystem' bold black)" + # fi + # fi + + # network drivers + CONFIG_CHECK+=" + ~VXLAN ~BRIDGE_VLAN_FILTERING + ~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH + ~XFRM ~XFRM_USER ~XFRM_ALGO ~INET_ESP + " + if kernel_is le 5 3; then + CONFIG_CHECK+=" + ~INET_XFRM_MODE_TRANSPORT + " + fi + + CONFIG_CHECK+=" + ~IPVLAN + " + CONFIG_CHECK+=" + ~MACVLAN ~DUMMY + " + CONFIG_CHECK+=" + ~NF_NAT_FTP ~NF_CONNTRACK_FTP ~NF_NAT_TFTP ~NF_CONNTRACK_TFTP + " + + # storage drivers + if use btrfs; then + CONFIG_CHECK+=" + ~BTRFS_FS + ~BTRFS_FS_POSIX_ACL + " + fi + + CONFIG_CHECK+=" + ~OVERLAY_FS + " + + linux-info_pkg_setup +} + +src_unpack() { + default + cd "${S}" + [[ -f go.mod ]] || ln -s vendor.mod go.mod || die + [[ -f go.sum ]] || ln -s vendor.sum go.sum || die +} + +src_compile() { + export DOCKER_GITCOMMIT="${GIT_COMMIT}" + export VERSION=${PV} + tc-export PKG_CONFIG + + # setup CFLAGS and LDFLAGS for separate build target + # see https://github.com/tianon/docker-overlay/pull/10 + CGO_CFLAGS+=" -I${ESYSROOT}/usr/include" + CGO_LDFLAGS+=" -L${ESYSROOT}/usr/$(get_libdir)" + + # let's set up some optional features :) + export DOCKER_BUILDTAGS='' + for gd in btrfs overlay2; do + if ! use $gd; then + DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" + fi + done + + for tag in apparmor seccomp; do + if use $tag; then + DOCKER_BUILDTAGS+=" $tag" + fi + done + + export AUTO_GOPATH=1 + export EXCLUDE_AUTO_BUILDTAG_JOURNALD=$(usex systemd '' 'y') + export GO_MD2MAN=/usr/bin/go-md2man + + # build binaries + ./hack/make.sh dynbinary || die 'dynbinary failed' + + # build man page + cd man || die + emake || die +} + +src_install() { + dosym containerd /usr/bin/docker-containerd + dosym containerd-shim-runc-v2 /usr/bin/docker-containerd-shim + dosym runc /usr/bin/docker-runc + use container-init && dosym tini /usr/bin/docker-init + dobin bundles/dynbinary-daemon/dockerd + dobin bundles/dynbinary-daemon/docker-proxy + for f in dockerd-rootless-setuptool.sh dockerd-rootless.sh; do + dosym ../share/docker/contrib/${f} /usr/bin/${f} + done + + newinitd contrib/init/openrc/docker.initd docker + newconfd contrib/init/openrc/docker.confd docker + + systemd_dounit contrib/init/systemd/docker.{service,socket} + + dodoc AUTHORS CONTRIBUTING.md NOTICE README.md + dodoc -r docs/* + doman man/man8/dockerd.8 + + # note: intentionally not using "doins" so that we preserve +x bits + dodir /usr/share/${PN}/contrib + cp -R contrib/* "${ED}/usr/share/${PN}/contrib" +} + +pkg_postinst() { + udev_reload + + elog + elog "To use Docker, the Docker daemon must be running as root. To automatically" + elog "start the Docker daemon at boot:" + if systemd_is_booted || has_version sys-apps/systemd; then + elog " systemctl enable docker.service" + else + elog " rc-update add docker default" + fi + elog + elog "To use Docker as a non-root user, add yourself to the 'docker' group:" + elog ' usermod -aG docker ' + elog + + if has_version sys-fs/zfs; then + elog " ZFS storage driver is available" + elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info" + elog + fi + + optfeature "rootless mode support" sys-apps/shadow + optfeature "rootless mode support" sys-apps/rootlesskit + optfeature_header "for rootless mode you also need a network stack" + optfeature "rootless mode network stack" app-containers/slirp4netns +} 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 05b342ee54f..00cfe10c5a7 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 @@ -12,3 +12,5 @@ DIST incus-6.17.tar.xz 12809024 BLAKE2B 5d6cb615b547430641faa716df5ce7c4d03aad43 DIST incus-6.17.tar.xz.asc 833 BLAKE2B a0fc3eaa51df6b77988cc331cf03fad982d0a735a2e751564d05bd6f929b422b8682b56ec9101b17000978ec7f919189b3721779ca299f7df0c46fa56275aaf6 SHA512 23cc6ed65bf99899bd3ed4dd7f79a1eada375e32ad0f9b91be1e3fcc0d2af5abeffe05b7c02f0b63a7eca7dfaeee030dbc27fce67e8952f42f18638ebfc9a2e2 DIST incus-6.18.tar.xz 13269284 BLAKE2B 5894d445d869ab280332f9874fc5e885495925c6408d003c972ef05b3d1bb89f8b9c5d95e5c0bb7cd20377e8e9d80673049e88d5d3d3d0b2d83ae0c2aaf6a79c SHA512 619fb28dbcfbd7fca93a5941b77c6106f8489f277167e44f131a2816ba3cab6519a7103cf92714fcd9c78ff06105bc1999982c6b6dcb4e8478646aac9c83fbec DIST incus-6.18.tar.xz.asc 833 BLAKE2B 539759887221842b0b1be365e6eaa112317e77443627471725bc976d00efeb0e50ee6700a8d6dd15e50978fa72cfeab8186af0e7f6c66d9d4a1ac7cb9c2212f3 SHA512 b3803b3e16cdc1e916ac50d679b2e313ae4652ca5203b7b8090f4acc0b86f1070d107adf8f6f89e05e0502cd28f2d134588b9301ecffdae88ae75e84d431c0f3 +DIST incus-6.19.1.tar.xz 13272476 BLAKE2B fac75836ed7d853b3deb28ee2f38a80ae392f8af444f37b29adf0868fdf3dea6a51e1ffef2bbb606cdc5f39d74b76ccced3f7e7f9d2c611d40e543f295fe2b01 SHA512 ad674c2da425deb5c59847b688e3aa053b1a401920caa25a775795b3cb36d1e30b74f790c719187d1b37dd5c12e4b1cb56f17b6fac946fd3ec83ea5b1000e157 +DIST incus-6.19.1.tar.xz.asc 833 BLAKE2B 57cb2b8824e083143551ed756bb1a4af0294681f7f67cef405963852f676b6d933c2d066a60ad0366f134a496c1c166dc6a7c5dfb45483d78388716983bdeada SHA512 b645418f02337e7b2adadb278fc39d9cc53981b11654dee16f2945d0ba2c8304dbfcd255d95ba73ea124d28b56ec886e1a4c514606a06ab53e61692913384ee3 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.0.5.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.0.5.ebuild index be073032ec8..bdba579abeb 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.0.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.0.5.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.19.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.19.1.ebuild new file mode 100644 index 00000000000..e7aa0d1d14f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.19.1.ebuild @@ -0,0 +1,274 @@ +# 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" + +if [[ "${PV}" == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/lxc/incus.git" +else + SRC_URI="https://linuxcontainers.org/downloads/incus/${P}.tar.xz + verify-sig? ( https://linuxcontainers.org/downloads/incus/${P}.tar.xz.asc )" + KEYWORDS="~amd64 ~arm64" +fi + +LICENSE="Apache-2.0 BSD LGPL-3 MIT" +SLOT="0/stable" +IUSE="apparmor fuidshift nls qemu selinux" + +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.24.7 + 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() { + if [[ "${PV}" == 9999* ]]; then + git-r3_src_unpack + go-module_live_vendor + else + verify-sig_src_unpack + go-module_src_unpack + fi +} + +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-6.14-r1.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 agent,netgo,static -buildmode default "${S}"/cmd/incus-migrate + + # Build the VM agents, statically too + if use amd64 ; then + GOARCH=amd64 CGO_ENABLED=0 ego build -o "${S}"/_dist/bin/incus-agent.linux.x86_64 -v \ + -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent + GOARCH=386 CGO_ENABLED=0 ego build -o "${S}"/_dist/bin/incus-agent.linux.i686 -v \ + -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent + GOARCH=amd64 GOOS=windows CGO_ENABLED=0 ego build -o "${S}"/_dist/bin/incus-agent.windows.x86_64 -v \ + -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent + GOARCH=386 GOOS=windows CGO_ENABLED=0 ego build -o "${S}"/_dist/bin/incus-agent.windows.i686 -v \ + -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent + elif use arm64 ; then + GOARCH=arm64 CGO_ENABLED=0 ego build -o "${S}"/_dist/bin/incus-agent.linux.aarch64 -v \ + -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent + GOARCH=arm64 GOOS=windows CGO_ENABLED=0 ego build -o "${S}"/_dist/bin/incus-agent.windows.aarch64 -v \ + -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent + else + echo "No VM support for this arch." + return + fi + + use nls && emake build-mo +} + +src_test() { + emake check +} + +src_install() { + export GOPATH="${S}/_dist" + + export GOHOSTARCH=$(go-env_goarch "${CBUILD}") + if [[ -n "${GOARCH}" && "${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-benchmark incus-migrate incus-simplestreams incus lxc-to-incus ; do + dobin "${bindir}/${m}" + done + + # VM Agents + if use amd64 ; then + exeinto /usr/libexec/incus/agents + doexe ${bindir}/incus-agent.linux.x86_64 + doexe ${bindir}/incus-agent.linux.i686 + doexe ${bindir}/incus-agent.windows.x86_64 + doexe ${bindir}/incus-agent.windows.i686 + elif use arm64 ; then + exeinto /usr/libexec/incus + doexe ${bindir}/incus-agent.linux.aarch64 + doexe ${bindir}/incus-agent.windows.aarch64 + fi + + # 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, + # and INCUS_AGENT_PATH to find multi-setup agents for VMs, #959878, + # and INCUS_SECURITY_SELINUX=true to enable selinux support (until its enabled by default) + newenvd "${FILESDIR}"/90incus.envd 90incus + if use selinux; then + echo "INCUS_SECURITY_SELINUX=true" >> "${D}"/etc/env.d/90incus + fi +} + +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 +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-9999.ebuild index c1fee5168d7..e7aa0d1d14f 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-9999.ebuild @@ -19,7 +19,7 @@ fi LICENSE="Apache-2.0 BSD LGPL-3 MIT" SLOT="0/stable" -IUSE="apparmor fuidshift nls qemu" +IUSE="apparmor fuidshift nls qemu selinux" DEPEND="acct-group/incus acct-group/incus-admin @@ -247,8 +247,12 @@ src_install() { use nls && domo po/*.mo # Incus needs INCUS_EDK2_PATH in env to find OVMF files for virtual machines, #946184, - # and INCUS_AGENT_PATH to find multi-setup agents for VMs, #959878. + # and INCUS_AGENT_PATH to find multi-setup agents for VMs, #959878, + # and INCUS_SECURITY_SELINUX=true to enable selinux support (until its enabled by default) newenvd "${FILESDIR}"/90incus.envd 90incus + if use selinux; then + echo "INCUS_SECURITY_SELINUX=true" >> "${D}"/etc/env.d/90incus + fi } pkg_postinst() { diff --git a/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-6.0.5.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-6.0.5.ebuild index d418449a796..4f9dce380f0 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-6.0.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-6.0.5.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 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/netavark/Manifest index 2c80f488213..14ff7870649 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/netavark/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/netavark/Manifest @@ -1,6 +1,10 @@ DIST netavark-1.14.1.crate 167516 BLAKE2B b6ec5eaef66798416fc0fc82f6de81d07feb52a95946a3844a9f4b34c16bfaa37bc3b5228e38b912d40381d30940f7e49bf052426989f20fffc712e2c4499ebb SHA512 ae7892858e85fda499742e9c9553f7e5e887bd62f155832b630c4b4fc0b32f52469d72d901d9b222816f324ec4f877cb758c9edad22e282eee77e05d98b05fc6 DIST netavark-1.15.2.crate 169643 BLAKE2B fcc3a3b691a4bc0dfcbc180408ee9d8c7f15275c8ec0b8ae27f63a6d84ff425a0035ab4c17328d31f4b6a9dbbeaab0f48188111f82ddf6e3be9994eff3944e5b SHA512 6b9880b4150b52818f7bb2179acf2b4ffe87ab36a0aa8cf0c4442781f818842236d4acb41077729e8a25d134b96639cd311f0a505d276df02e5cd5e0a83cce82 DIST netavark-1.16.1.crate 173635 BLAKE2B c2d45164e5c7a6689e5dae4921163a128e7525eef75a5b98a810539c13988a4880727831c22252e418bf3c987e1e729a6bb001e9dacb48b1c73603053fd0abc4 SHA512 8d20e5cc1bd8d80eaf7a9263985478f27b994dbff0da9b4378e4be0beb71121624348b152d3891b78512e598e2887815534c806518e64ff8f95eed305fa33132 +DIST netavark-1.17.0.crate 174623 BLAKE2B c39e9388185345541d0b8f2ddf6f3f14648499892aaab4b820d5d45f5620a24b31a7c24092832396fd04dd1e05828e933af9900f4228a8d03d90447c9269d970 SHA512 135cda6367d04c1d7a6b12882540bcf095acc5e42c43096a01be55f300d14b70ee6eeb6679fac5892d764d700bbfa2109f5c7c39e521ed8d8be1e61403f92258 +DIST netavark-1.17.1.crate 174659 BLAKE2B a31fd13f31b671274000ae6a43ceefb0b0d1cd32026fd86ac01dc30acb55cf25b28016e5a8e7c91760384e61bb62d6edfcd48b163abc2000ff43201edac7e054 SHA512 dff64afaf982ba38c8a991ffafffbba2dce7abf70b4763eba662ef82f01629f265e2421d622a27a1db9e26ea44f33b5c8dbab2fdcf9b643b3d845b8ca624ba57 DIST netavark-v1.14.1-vendor.tar.gz 18508797 BLAKE2B 8b63673700f26e19ac2c2274e71a803bf99ba7aec58d8f66320e0cdd7c72c016f16083df46b0b454bd91df5e62e5c4170bcb2ee636c094a5578951bd8f38eb24 SHA512 84545bcb791a698a20d3b1f41502beaa568a5e519156cbb6e9d28bef34a24ed006a87cd77c8d972f63ad9c3ef9049637b15bd0d446d80c88dcdd9f268486959a DIST netavark-v1.15.2-vendor.tar.gz 21528390 BLAKE2B b1cc108b27e9c545baff6e52a17189200b3757216a35954b370ebf1dede2344094fad1885559c6397234387535cb921361b289ca938021d97544e2fd13d4dd54 SHA512 52f3512dae21f54a364e2287e43ea47d6ef36d291522ddf36a4c5ae24a40d1f0997ea4902ad0e28a466fc2a058d5122d405d2b675d3250599b8ca49deb771d19 DIST netavark-v1.16.1-vendor.tar.gz 22434836 BLAKE2B d1b6d4954b54bfd9088428f82098a8f78ef5bec500643a0c2c570827e74be1e4fbfe9f516cf7a9506325b847ee8b6ab07fa47b9b0936b2e462ee1b52e27edfda SHA512 fdfb63c58314e89ee1ef1b95a34b07aec82c15958dfc379e3ee4475c13f9864b6c02e33b45ea59a17fd9921669fd7c0c3d9078d319983cfbd1f76ea22afd5be4 +DIST netavark-v1.17.0-vendor.tar.gz 17711878 BLAKE2B acb3fe2c85230271bd7a0145b7f3b89bbb7aef1e86d73494df9e237fa444a6ca93cfe270af47c12428544e43d55ba22cc91e34ce266727b1db923e48b685557b SHA512 130cf586d19430b4d604af24496d33589f9763c3e403bf1f2bb39fe3821ace14519e8a93aff95f08cff5c3eeb3814d6aa1d29456985d49e1ce6d569fac934776 +DIST netavark-v1.17.1-vendor.tar.gz 17711446 BLAKE2B d3b7030d411a4bd848127508e43a65e278a75a1ffcdca7b9e8ea46180d2e8da26be5e4eaa21fad22197f9eb9fd28413dc21a7d10b42f98d882990eeb750bb737 SHA512 9f7e5ee54b776ec27511a937e6ebb30b70a527f9232d635a9755459afee569fc37d715626b92ea2aa08637d6e63dada4f55ad6757f3a0a7aae753637349f6193 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.0.ebuild new file mode 100644 index 00000000000..c0d9aae5fda --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" +RUST_MIN_VER="1.86" + +inherit cargo systemd + +DESCRIPTION="A container network stack" +HOMEPAGE="https://github.com/containers/netavark" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/netavark.git" +else + SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" +fi + +# main +LICENSE="Apache-2.0" +# deps +LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" +SLOT="0" +BDEPEND="dev-go/go-md2man + dev-libs/protobuf[protoc(+)]" + +QA_FLAGS_IGNORED=" + usr/libexec/podman/${PN}" +QA_PRESTRIPPED=" + usr/libexec/podman/${PN}" + +ECARGO_VENDOR="${WORKDIR}/vendor" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die +} + +src_compile() { + cargo_src_compile + export PREFIX="${EPREFIX}"/usr SYSTEMDDIR="$(systemd_get_systemunitdir)" + emake docs +} + +# Following is needed because we want to use `make install` instead of `cargo install` (exported by cargo.eclass) +src_install() { + default +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.1.ebuild new file mode 100644 index 00000000000..c0d9aae5fda --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" +RUST_MIN_VER="1.86" + +inherit cargo systemd + +DESCRIPTION="A container network stack" +HOMEPAGE="https://github.com/containers/netavark" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/netavark.git" +else + SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" +fi + +# main +LICENSE="Apache-2.0" +# deps +LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" +SLOT="0" +BDEPEND="dev-go/go-md2man + dev-libs/protobuf[protoc(+)]" + +QA_FLAGS_IGNORED=" + usr/libexec/podman/${PN}" +QA_PRESTRIPPED=" + usr/libexec/podman/${PN}" + +ECARGO_VENDOR="${WORKDIR}/vendor" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die +} + +src_compile() { + cargo_src_compile + export PREFIX="${EPREFIX}"/usr SYSTEMDDIR="$(systemd_get_systemunitdir)" + emake docs +} + +# Following is needed because we want to use `make install` instead of `cargo install` (exported by cargo.eclass) +src_install() { + default +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/podman/Manifest index 4500d50f799..7ce7839f832 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/Manifest @@ -1,4 +1,2 @@ -DIST podman-5.3.2.tar.gz 24207488 BLAKE2B 68f618b74be41bf489de97b009d335f3033634c5c065b1089cc9a6132e38e3a7f707b959d29d955ab0bd805721c14cda90c77fa60f6ba09327f38d4a8bc19112 SHA512 b7007278dd3f493bd0d0185ed4328570d5af527d4864c4435e7b330543d60ba87f04f36c94407d4e11e622a4af8b6467f66474e9b66cbeacb8eecb3088b4439e -DIST podman-5.4.2.tar.gz 25465417 BLAKE2B f4f586bc99af625a5fa9a6915f101738d8c2abb505de96db6a41fde026baf5832047498b8bf1af6d80a84525a113a21680032886eee49458f92bd7321107bf47 SHA512 482fde529766ca1b509a08bab4beb59a5935ebc6b27bc886c33597183258631e8c8db03ebb521baefd7989305aa76fad14c1359e211a0fe75c855c14bbaca960 -DIST podman-5.5.2.tar.gz 21334872 BLAKE2B a3b458afe1dc17699b7a75517727bba0b989e4b605c51a867f5d076fc5bb2bbfe8a914d78c659670bb73ebf3905926259320f6159ad850a7b335fa920ebfe6d4 SHA512 c647e74c22053b95d09f81d9c594203492283bdb881245941fa2d7253946cbb4953d705313a0e57a0d6737cc07697381e8ba5ed388a74d440b74b5fe045821ec DIST podman-5.7.0.tar.gz 21261077 BLAKE2B ac67654b0a5d0e0acdfb94701409aecfaaee27ce36bd5329491ab03e28abcca93f76ec22627e9213f9c776b628695845eb0bce20abd682273a8dfa556c55de09 SHA512 e53e3f6d441de7865733e085017ce1c3e0af5cb0ad0cf605f5d15e9813d38e1af22691d59498960ed7bd18e32ef003db4c151a4f4bd5bd0dbac69f4011851ff1 +DIST podman-5.7.1.tar.gz 21266433 BLAKE2B 59adb23b18fe453d45d92b0dac22a2fc8db1b1d02074f5eabc65d95bf7764f43a1d835f7316fbd61bbb7d98f3aeb6a3306d53963c5f83b8f55d879c182518534 SHA512 81fd4c27ff1d16dcb85229d4e4fd2cb06943ddfe966b5324fa8a8a957b2d2ec2aed7c5da05d6c009148f53b76545b27b0cba506622c8861f70bf7cad6c214a08 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.3.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.3.2.ebuild deleted file mode 100644 index 0d75458d62d..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.3.2.ebuild +++ /dev/null @@ -1,133 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..13} ) - -inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info - -DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI" -HOMEPAGE="https://github.com/containers/podman/ https://podman.io/" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/podman.git" -else - SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${P/_rc/-rc}" - [[ ${PV} != *rc* ]] && \ - KEYWORDS="amd64 arm64 ~loong ~riscv" -fi - -# main pkg -LICENSE="Apache-2.0" -# deps -LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" -SLOT="0" -IUSE="apparmor btrfs +seccomp selinux systemd wrapper" -RESTRICT="test" - -RDEPEND=" - app-containers/catatonit - >=app-containers/conmon-2.1.10 - >=app-containers/containers-common-0.58.0-r1 - app-crypt/gpgme:= - dev-libs/libassuan:= - dev-libs/libgpg-error:= - sys-apps/shadow:= - - apparmor? ( sys-libs/libapparmor ) - btrfs? ( sys-fs/btrfs-progs ) - wrapper? ( !app-containers/docker-cli ) - seccomp? ( sys-libs/libseccomp:= ) - selinux? ( sec-policy/selinux-podman sys-libs/libselinux:= ) - systemd? ( sys-apps/systemd:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - dev-go/go-md2man -" - -PATCHES=( - "${FILESDIR}"/${PN}-5.2.5-togglable-seccomp.patch -) - -CONFIG_CHECK=" - ~USER_NS -" - -pkg_setup() { - use btrfs && CONFIG_CHECK+=" ~BTRFS_FS" - linux-info_pkg_setup - python-any-r1_pkg_setup -} - -src_prepare() { - default - - # assure necessary files are present - local file - for file in apparmor_tag btrfs_installed_tag btrfs_tag systemd_tag; do - [[ -f hack/"${file}".sh ]] || die - done - - local feature - for feature in apparmor systemd; do - cat <<-EOF > hack/"${feature}"_tag.sh || die - #!/usr/bin/env bash - $(usex ${feature} "echo ${feature}" echo) - EOF - done - - echo -e "#!/usr/bin/env bash\n echo" > hack/btrfs_installed_tag.sh || die - cat <<-EOF > hack/btrfs_tag.sh || die - #!/usr/bin/env bash - $(usex btrfs echo 'echo exclude_graphdriver_btrfs btrfs_noversion') - EOF -} - -src_compile() { - export PREFIX="${EPREFIX}/usr" - - # For non-live versions, prevent git operations which causes sandbox violations - # https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493 - [[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT="" EPOCH_TEST_COMMIT="" - - # Use proper pkg-config to get gpgme cflags and ldflags when - # cross-compiling, bug 930982. - if tc-is-cross-compiler; then - tc-export PKG_CONFIG - fi - - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" SELINUXOPT= \ - all $(usev wrapper docker-docs) -} - -src_install() { - emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) - - if use !systemd; then - newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman - newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman - - newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart - newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart - - newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient - newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient - - exeinto /etc/cron.daily - newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update - - insinto /etc/logrotate.d - newins "${FILESDIR}/podman.logrotated" podman - fi - - keepdir /var/lib/containers -} - -pkg_postinst() { - tmpfiles_process podman.conf $(usev wrapper podman-docker.conf) -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.4.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.4.2.ebuild deleted file mode 100644 index 63b7045fe61..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.4.2.ebuild +++ /dev/null @@ -1,139 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..13} ) - -inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info - -DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI" -HOMEPAGE="https://github.com/containers/podman/ https://podman.io/" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/podman.git" -else - SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${P/_rc/-rc}" - [[ ${PV} != *rc* ]] && \ - KEYWORDS="~amd64 ~arm64 ~loong ~riscv" -fi - -# main pkg -LICENSE="Apache-2.0" -# deps -LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" -SLOT="0" -IUSE="apparmor btrfs +seccomp selinux systemd wrapper" -RESTRICT="test" - -RDEPEND=" - app-containers/catatonit - >=app-containers/conmon-2.1.10 - >=app-containers/containers-common-0.58.0-r1 - app-crypt/gpgme:= - dev-libs/libassuan:= - dev-libs/libgpg-error:= - sys-apps/shadow:= - - apparmor? ( sys-libs/libapparmor ) - btrfs? ( sys-fs/btrfs-progs ) - wrapper? ( !app-containers/docker-cli ) - seccomp? ( sys-libs/libseccomp:= ) - selinux? ( sec-policy/selinux-podman sys-libs/libselinux:= ) - systemd? ( sys-apps/systemd:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - dev-go/go-md2man -" - -PATCHES=( - "${FILESDIR}"/${PN}-5.2.5-togglable-seccomp.patch -) - -CONFIG_CHECK=" - ~USER_NS -" - -pkg_setup() { - use btrfs && CONFIG_CHECK+=" ~BTRFS_FS" - linux-info_pkg_setup - python-any-r1_pkg_setup -} - -src_prepare() { - default - - # assure necessary files are present - local file - for file in apparmor_tag btrfs_installed_tag btrfs_tag systemd_tag; do - [[ -f hack/"${file}".sh ]] || die - done - - local feature - for feature in apparmor systemd; do - cat <<-EOF > hack/"${feature}"_tag.sh || die - #!/usr/bin/env bash - $(usex ${feature} "echo ${feature}" echo) - EOF - done - - echo -e "#!/usr/bin/env bash\n echo" > hack/btrfs_installed_tag.sh || die - cat <<-EOF > hack/btrfs_tag.sh || die - #!/usr/bin/env bash - $(usex btrfs echo 'echo exclude_graphdriver_btrfs btrfs_noversion') - EOF -} - -src_compile() { - export PREFIX="${EPREFIX}/usr" BUILD_ORIGIN="Gentoo Portage" - - # For non-live versions, prevent git operations which causes sandbox violations - # https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493 - [[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT="" EPOCH_TEST_COMMIT="" - - # Use proper pkg-config to get gpgme cflags and ldflags when - # cross-compiling, bug 930982. - if tc-is-cross-compiler; then - tc-export PKG_CONFIG - fi - - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" SELINUXOPT= \ - all $(usev wrapper docker-docs) -} - -src_install() { - emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) - - if use !systemd; then - newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman - newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman - - newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart - newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart - - newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient - newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient - - exeinto /etc/cron.daily - newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update - - insinto /etc/logrotate.d - newins "${FILESDIR}/podman.logrotated" podman - - exeinto /etc/user/init.d - newexe "${FILESDIR}/podman-5.0.0_rc4.user.initd" podman - - insinto /etc/user/conf.d - newins "${FILESDIR}/podman-5.0.0_rc4.user.confd" podman - fi - - keepdir /var/lib/containers -} - -pkg_postinst() { - tmpfiles_process podman.conf $(usev wrapper podman-docker.conf) -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.7.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.7.0.ebuild index ff14e90ac39..866e02a1ca2 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.7.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.7.0.ebuild @@ -17,7 +17,7 @@ else SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P/_rc/-rc}" [[ ${PV} != *rc* ]] && \ - KEYWORDS="~amd64 ~arm64 ~loong ~riscv" + KEYWORDS="amd64 arm64 ~loong ~riscv" fi # main pkg diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.5.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.7.1.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.5.2.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.7.1.ebuild index 15d342e831d..36c6887628c 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.5.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.7.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info @@ -33,6 +33,7 @@ RDEPEND=" >=app-containers/conmon-2.1.10 >=app-containers/containers-common-0.58.0-r1 app-crypt/gpgme:= + dev-db/sqlite:3 dev-libs/libassuan:= dev-libs/libgpg-error:= sys-apps/shadow:= @@ -69,7 +70,7 @@ src_prepare() { # assure necessary files are present local file - for file in apparmor_tag btrfs_installed_tag btrfs_tag systemd_tag; do + for file in apparmor_tag btrfs_installed_tag systemd_tag; do [[ -f hack/"${file}".sh ]] || die done @@ -81,10 +82,6 @@ src_prepare() { EOF done - cat <<-EOF > hack/btrfs_tag.sh || die - #!/usr/bin/env bash - $(usex btrfs echo 'echo btrfs_noversion') - EOF cat <<-EOF > hack/btrfs_installed_tag.sh || die #!/usr/bin/env bash $(usex btrfs echo 'echo exclude_graphdriver_btrfs') diff --git a/sdk_container/src/third_party/portage-stable/app-containers/runc/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/runc/Manifest index 56040f29612..2d9f00e5cde 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/runc/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/runc/Manifest @@ -5,3 +5,4 @@ DIST runc-1.2.8.tar.gz 2834651 BLAKE2B 5f76e40ee8bda4668758dce318625af1dbb13c0d3 DIST runc-1.3.0.tar.gz 2858199 BLAKE2B c9402a074b816b9452763267a7ffdc69af6c0cd4cf54fbdfdc91ccbd8bbc5daa783259176775e90f6266fa6a02bf0bad7fbb8eb879b5764309f7f9cd2f246086 SHA512 63422501f6189d0d47f6b2f59565de572bc68b138a65c7dbcc8b5ad42dbc37245ee66e2683ab61971a84c076a15f54f484c37fde4a30815ee19edc9a0d97e9f4 DIST runc-1.3.1.tar.gz 2860795 BLAKE2B 5711881488dc3d52182377dc09690436aff142552d35728b10c221874a1dafc3b1fe78972891ebfc53e232465aec97eacc78318a453b030c052ca2218c61438d SHA512 0a3007d046fe9711541e29ca07fd72515f19b220c8c79b9df9164f7b88a6b9077ba7a11607593b641823b9e99c0f2e96500a57e2a16e11501bbb7c4690870183 DIST runc-1.3.3.tar.gz 2929410 BLAKE2B 1feddc154836eff606a685a0c0d606c1bbcd5a1a1ec8a288233581a88e0b3b6a95f446125688a8dca5efd5a275bf22931553cb9ab894f6aa0826d5a1274b6f91 SHA512 9ce0af1b79163c44913979c0483322247b154109871a113726163f64c6354141e7cefb5fb6e1225eaa4bb48a1e33ba9a6049cb45cb2af8793134647dad18c8dc +DIST runc-1.4.0.tar.gz 2958986 BLAKE2B 9a363986a05c2c19646373373b94944642bf9f74a2a9f10d201baff7d76d54e39e273d6ceb9f94449926246ec22c2b863812ca1e4e8910cb166294b7ea7c4068 SHA512 a5b52d8494a4210d9ff4caefd0513b94b80ef9dd16c6eb369761cde2fce30214f765eee01c3cbb2e0cfd933371362fd89b08656b434d76038ffe1f8a59dea215 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.4.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.4.0-r1.ebuild new file mode 100644 index 00000000000..8fdc9de7d7f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.4.0-r1.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module linux-info + +# update on bump, look for commit ID on release tag. +# https://github.com/opencontainers/runc +RUNC_COMMIT=8bd78a9977e604c4d5f67a7415d7b8b8c109cdc4 + +CONFIG_CHECK="~USER_NS" + +DESCRIPTION="runc container cli tools" +HOMEPAGE="https://github.com/opencontainers/runc/" +MY_PV="${PV/_/-}" +SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${MY_PV}" + +LICENSE="Apache-2.0 BSD-2 BSD MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="apparmor hardened +kmem +seccomp selinux test" + +COMMON_DEPEND=" + apparmor? ( sys-libs/libapparmor ) + seccomp? ( sys-libs/libseccomp )" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND} + !app-emulation/docker-runc + selinux? ( sec-policy/selinux-container )" +BDEPEND=" + dev-go/go-md2man + test? ( "${RDEPEND}" )" + +# tests need busybox binary, and portage namespace +# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox +# majority of tests pass +RESTRICT+=" test" + +src_compile() { + # build up optional flags + local options=( + $(usev apparmor) + $(usev seccomp) + $(usex kmem '' 'nokmem') + ) + + myemakeargs=( + BUILDTAGS="${options[*]}" + COMMIT="${RUNC_COMMIT}" + ) + + emake "${myemakeargs[@]}" runc man +} + +src_install() { + myemakeargs+=( + PREFIX="${ED}/usr" + BINDIR="${ED}/usr/bin" + MANDIR="${ED}/usr/share/man" + ) + emake "${myemakeargs[@]}" install install-man install-bash + + local DOCS=( README.md PRINCIPLES.md docs/. ) + einstalldocs +} + +src_test() { + emake "${myemakeargs[@]}" localunittest +} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/argon2/argon2-20190702-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/argon2/argon2-20190702-r1.ebuild index d6d0259948f..7ac7b460649 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/argon2/argon2-20190702-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/argon2/argon2-20190702-r1.ebuild @@ -16,7 +16,7 @@ S=${WORKDIR}/${MY_P} LICENSE="|| ( Apache-2.0 CC0-1.0 )" SLOT="0/1" -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 ~x64-macos" IUSE="static-libs" DOCS=( argon2-specs.pdf CHANGELOG.md README.md ) diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/ccid/Manifest b/sdk_container/src/third_party/portage-stable/app-crypt/ccid/Manifest index 917d756bdc6..f332b169669 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/ccid/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-crypt/ccid/Manifest @@ -1,2 +1,2 @@ -DIST ccid-1.5.5.tar.bz2 708374 BLAKE2B a82986ead2dbb3241ef419ad16eb0fac835c5ab4fa988e5ee53cd1608a30a9381210a6fd013b6a059ca2835d55b4a41afa4064575e91b8eb356bff6d01d19add SHA512 9d2aebe645a5880bfad7d420ddab96811d1fd989c79afa28f5471ae53f36b6d45ee5e13b32ac4afcf59fc762ae835db7e6312ad6642b263158c2d9a30c7651bd DIST ccid-1.6.1.tar.xz 195844 BLAKE2B 7ab243196761b22edbaffca14b7ef840d53cc4eecc7d6252fb3255e85fc11eb0e1de65775a250da3d4687015ad6e2901d77b1227dc5921f69b42891541ad4e62 SHA512 3c8336a71e48880f3239b322acb0c40231ae83f80011cef39fef95eade6fd76849343faafdb4fcf9e962afda2c3a415e4a537d3f423b152ef2d3dddb4ecf2eac +DIST ccid-1.7.0.tar.xz 200688 BLAKE2B c6c262365191181e53af81d9232cf87d9bfbf7e86d5791076c108776b1822e255da94867895d71331973a9e739ad47059c661880477af9cfa5f9ce599aca359a SHA512 8e138957f01deefc803dde707fa3a9888de260abcfc0e8c57ef5ce7c506d173552ec55e36a384ce40f51b7aa4014ac42f5ba1e98152750f89db3e2eb7e6f4539 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.5.5.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.7.0.ebuild similarity index 53% rename from sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.5.5.ebuild rename to sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.7.0.ebuild index fccaa6c3c16..b34a1055b2a 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.5.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.7.0.ebuild @@ -3,44 +3,36 @@ EAPI=8 -inherit autotools udev +inherit meson udev DESCRIPTION="CCID free software driver" HOMEPAGE="https://ccid.apdu.fr https://github.com/LudovicRousseau/CCID" -SRC_URI="https://ccid.apdu.fr/files/${P}.tar.bz2" +SRC_URI="https://ccid.apdu.fr/files/${P}.tar.xz" -LICENSE="GPL-2" +LICENSE="LGPL-2.1+ LGPL-2+ GPL-2+" SLOT="0" -KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ppc ppc64 ~riscv ~sparc x86" -IUSE="twinserial +usb" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="twinserial" RDEPEND=" - >=sys-apps/pcsc-lite-1.8.3 - twinserial? ( dev-lang/perl ) - usb? ( virtual/libusb:1 ) + sys-apps/pcsc-lite + virtual/libusb:1 " DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${P}-remove-flex-configure-dependency.patch -) - -src_prepare() { - default - - eautoreconf -} +BDEPEND=" + app-alternatives/lex + dev-lang/perl + virtual/pkgconfig" src_configure() { - econf \ - LEX=: \ - $(use_enable twinserial) \ - $(use_enable usb libusb) + local emesonargs=( + $(meson_use twinserial serial) + ) + meson_src_configure } src_install() { - default + meson_src_install udev_newrules src/92_pcscd_ccid.rules 92-pcsc-ccid.rules } diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/ccid/files/ccid-1.5.5-remove-flex-configure-dependency.patch b/sdk_container/src/third_party/portage-stable/app-crypt/ccid/files/ccid-1.5.5-remove-flex-configure-dependency.patch deleted file mode 100644 index 1ffb74fc61a..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-crypt/ccid/files/ccid-1.5.5-remove-flex-configure-dependency.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 7e2207a07979b6c1b206024e83e22ca2bbd4e17c Mon Sep 17 00:00:00 2001 -From: Eli Schwartz -Date: Mon, 10 Jun 2024 22:02:37 -0400 -Subject: [PATCH] make building work again when flex is not installed - -This explicitly reverts commit eec7cdf03dda2bd26e320ead73b91da5a9d86443 -because it was a bad idea. - -The motivating bug report was https://github.com/LudovicRousseau/PCSC/issues/124 -and the issue there occurred when building from a git clone, running -./bootstrap && ./configure && make, and having: - -- configure succeed -- make "succeeeds" at having $LEX run, do nothing and fail to generate - required sources -- compiling nonexistent files fail with highly confusing errors - -The autoconf manual has always documented the correct way to handle this -is to check if lex is unavailable, and set it to the famous automake -wrapper "missing", which checks if a program is missing at build time -rather than at ./configure time, and fails the build if the rule cannot -be run. This means: - -When building from a git clone, if flex is not available then -- configure succeeds -- make fails to run $LEX, and tells you to install flex - -The previous attempt to fix the highly confusing error instead resulted -in configure erroring out, and saying flex is required, even when it is -*not* required because a `make dist` tarball was used, which contains -pregenerated tokenparser.c for the express purpose of making flex -unnecessary. - -See autoconf documentation on $LEX: -https://www.gnu.org/software/autoconf/manual/autoconf-2.72/html_node/Particular-Programs.html#index-AC_005fPROG_005fLEX-1 - -And automake documentation on why to use "missing": -https://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html - -Signed-off-by: Eli Schwartz ---- - configure.ac | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index eb2370f..c012f2a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -33,7 +33,10 @@ AC_PROG_INSTALL - AC_PROG_MAKE_SET - AC_PROG_LN_S - AC_PROG_LEX([noyywrap]) --AS_IF([test $LEX = ":"], [AC_MSG_ERROR([no lex or flex found])]) -+AS_IF([test $LEX = ":"], [ -+ AM_MISSING_PROG(MISSINGLEX, [flex]) -+ LEX=$MISSINGLEX] -+) - AM_PROG_AR - PKG_PROG_PKG_CONFIG - -@@ -331,4 +334,3 @@ AC_CONFIG_FILES(Makefile - examples/Makefile) - - AC_OUTPUT -- --- -2.44.2 - diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/Manifest b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/Manifest index 425ad341357..3bea405d220 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/Manifest @@ -1,8 +1,4 @@ -DIST gnupg-2.2.45.tar.bz2 7447141 BLAKE2B 8fe2036325e31332166c0477ce9514152c8417a9f61b3edc43487340d5b52e6a4d4c2b104ca9fe7ce6893e6d2977e2cd9c9ccfb52c0b1ea18dae3304ec6ec7f3 SHA512 086bb2a96ff4a681451b357495c8b435229e6526e1121d8faee3cb2ecc9c14965c92c9b1ccbbf3a03f6c59c215cca85a5c4f740f2df7c008a9fa672b370bf33c -DIST gnupg-2.2.45.tar.bz2.sig 119 BLAKE2B 6656747b2d640a95c4172a221952fa75f7d03c231b7c6d40ea57b43a5bcfbceb800023ca2f352ca09325aaf186a7bf31fcfe7104129c5d6628f0e1256994df76 SHA512 181195a76eede8113bd8f2a7f5bc20674226f6327cf8263389e3d178c205ed2d817b28f2d3b504dd9f852f22fc283d2c14e809ba1c05cfe88b66103845ff114c -DIST gnupg-2.4.8.tar.bz2 8017685 BLAKE2B ab7126aac6c7bf323075c68084c963f75d93c729d8918b6ca10ef0a4466879636433c682a5437776d2ce9f5d432e1f66995dd94a4f44d7f184542f030087dbb2 SHA512 d7f07a258141a583bc8be18c0984d7dfe8508f12c624c053881ee63dfee11adcda8de216bcaaef9f5d24a1e217de70bf69ee2e3cc43b0da66a0e571ce9c4b436 -DIST gnupg-2.4.8.tar.bz2.sig 119 BLAKE2B 4f94b2abc40b17cfab44f28fc2a2ae5246f8356141a3932a92b5adb78002c7064bb132a6529079bc14900036f90d9d318d7d01818999150e2c875b88a3fca265 SHA512 9fb54be4e99ecee6c7b649d6f0ef24a25e81c0af57e07ccdd512a1ea2ebf7558dd25518b7b78347e4a216167849e6285bb91ec23d0968966aba0784d45f02a06 -DIST gnupg-2.5.12.tar.bz2 8225353 BLAKE2B cab3802d08acf96772071c42949c55e78734447a29d3088b7c08636282cf38f92fcf35ce6ded5df9a18b2725a27500980d1616f5d3850df05f9543a43453d5c0 SHA512 fa0510f24b844e2ee122543421e0ee47415cb5a1599c28abe2ec22830c378b50125e70289fd227bd6ca35bb3d6a40928955f42b44b24f657733b93c64d6d27d8 -DIST gnupg-2.5.12.tar.bz2.sig 266 BLAKE2B b52d3f2d3af94061c5210ede10b074d871e9782ae92974a58480e6e0cfa29e5d6622b67b24989bb757e96a0cbb8ff9df2d15b69ecc5b5c531880920f45907b9f SHA512 ff141f5dc30cd81494c8a50f86b673fe9c0fc74d344fb868f922285851929ed863b66fe52e973d0ab869391394e7fe6a0efc83b7b2383f28771a1cd6ca62be3b -DIST gnupg-2.5.13.tar.bz2 8227840 BLAKE2B d898a86d2c13a8daa4dc4ab96376610768710bfa719d4e21d77c97d41e377305aa606df20bab1ac8d9553783e67afe2c42970374f3be19128686a781fcc13f1f SHA512 76f355bae2b600935996a33597577f60e332c274ce72cfff936ef0435b0990b6c811942ad9ec58c2f0e518814b43ff1e301058ef2797b178404d2b3eb91dbaf9 -DIST gnupg-2.5.13.tar.bz2.sig 119 BLAKE2B 12a9a4a6d2a1cc8f38acf64e6c6d975e813a759d4de5ca6755fdc237c54b2497a60f355a2accf75623ea765a9238bfbf3b4bf58844a3d6059880b11deac51f01 SHA512 59a9f07cbc97272b87f43c7aba323616b7bcc6b5217e5a373a75ec24bdfc70e76d137ec4be57012298447fc3e21ff834a8600a8730de0e5539c731151379fffd +DIST gnupg-2.4.9.tar.bz2 8086407 BLAKE2B 5bbd278c570d3e389ab26dd37e1adac6c1b19f9bd369ebf30d75f48d0ab901c6f5fe4e4713b763f57b9e74efab654186ebff1a968348b0b9f70c82618b4b3b62 SHA512 4638016b390a0024fa0cbe14181c43a81991e4275043855397ef099b927985d175d32452fc15b06485623b9292662dd6da464b2e5def8b77b2e4e48a072ab521 +DIST gnupg-2.4.9.tar.bz2.sig 147 BLAKE2B fbf956c0659d9e2a5df9ceb6911ebea8591fd1b647d81e0f324b688271493519d7d25025d9d8d7906e706f57031429c8d8a3ba79c8ab7e300631137ebb38eedf SHA512 03328ba7de3faab1aab025784ef16cc04dd34d2cc09db2c513b7e38836b8036e04d2bb3c71aa64769b5a40a7a877373ee2d11b6e2bf8b67938216277dcd18a6f +DIST gnupg-2.5.16.tar.bz2 8304335 BLAKE2B 722c90ac88b2eeacb150dc6fa5f4d83b5577d0285871cd7d336463d25aabd1087cdca103a23b251b2067de6c3046615d9fcb552721ceef4826f4dd3e96c5525a SHA512 0a48628e9e7f8050022e5204bf9febd1f2db6ee9d55b573207884fc2ef2825d814015851141ba6851bd4466f0cc0827123e5f474003c054f3af55f4bd1440bf7 +DIST gnupg-2.5.16.tar.bz2.sig 119 BLAKE2B 5ef9b298b49049cd5cdb1bcc03cd09ad96015cd34060249fccff6d3ab4a0b950a545d631c05818484c52166ae89825f6def928787051f3eed010e8300945160e SHA512 295d37ecf4c1f5fc4531cd0a0901ecbacd521a744991b086e14573e1b5198e55476367767bc708b4eec38aac32a30c03265d13c0c5bd9c79c8254e408ef58aec diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/files/gnupg-2.4.5-revert-rfc4880bis.patch b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/files/gnupg-2.4.5-revert-rfc4880bis.patch deleted file mode 100644 index 57c00966d54..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/files/gnupg-2.4.5-revert-rfc4880bis.patch +++ /dev/null @@ -1,196 +0,0 @@ -https://lwn.net/Articles/953797/ -https://security.stackexchange.com/questions/275883/should-one-really-disable-aead-for-recent-gnupg-created-pgp-keys -https://lists.gnupg.org/pipermail/librepgp-discuss/2023/000001.html -https://bugs.gentoo.org/926186 - -From 1e4f1550996334d2a631a5d769e937d29ace47bb Mon Sep 17 00:00:00 2001 -From: Jakub Jelen -Date: Thu, 9 Feb 2023 16:38:58 +0100 -Subject: [PATCH gnupg] Revert the introduction of the RFC4880bis draft into - defaults - -This reverts commit 4583f4fe2 (gpg: Merge --rfc4880bis features into ---gnupg, 2022-10-31). ---- a/g10/gpg.c -+++ b/g10/gpg.c -@@ -247,6 +247,7 @@ enum cmd_and_opt_values - oGnuPG, - oRFC2440, - oRFC4880, -+ oRFC4880bis, - oOpenPGP, - oPGP7, - oPGP8, -@@ -636,6 +637,7 @@ static gpgrt_opt_t opts[] = { - ARGPARSE_s_n (oGnuPG, "no-pgp8", "@"), - ARGPARSE_s_n (oRFC2440, "rfc2440", "@"), - ARGPARSE_s_n (oRFC4880, "rfc4880", "@"), -+ ARGPARSE_s_n (oRFC4880bis, "rfc4880bis", "@"), - ARGPARSE_s_n (oOpenPGP, "openpgp", N_("use strict OpenPGP behavior")), - ARGPARSE_s_n (oPGP7, "pgp6", "@"), - ARGPARSE_s_n (oPGP7, "pgp7", "@"), -@@ -978,7 +980,6 @@ static gpgrt_opt_t opts[] = { - ARGPARSE_s_n (oNoop, "no-allow-multiple-messages", "@"), - ARGPARSE_s_s (oNoop, "aead-algo", "@"), - ARGPARSE_s_s (oNoop, "personal-aead-preferences","@"), -- ARGPARSE_s_n (oNoop, "rfc4880bis", "@"), - ARGPARSE_s_n (oNoop, "override-compliance-check", "@"), - - -@@ -2227,7 +2228,7 @@ static struct gnupg_compliance_option compliance_options[] = - { - { "gnupg", oGnuPG }, - { "openpgp", oOpenPGP }, -- { "rfc4880bis", oGnuPG }, -+ { "rfc4880bis", oRFC4880bis }, - { "rfc4880", oRFC4880 }, - { "rfc2440", oRFC2440 }, - { "pgp6", oPGP7 }, -@@ -2243,8 +2244,28 @@ static struct gnupg_compliance_option compliance_options[] = - static void - set_compliance_option (enum cmd_and_opt_values option) - { -+ opt.flags.rfc4880bis = 0; /* Clear because it is initially set. */ -+ - switch (option) - { -+ case oRFC4880bis: -+ opt.flags.rfc4880bis = 1; -+ opt.compliance = CO_RFC4880; -+ opt.flags.dsa2 = 1; -+ opt.flags.require_cross_cert = 1; -+ opt.rfc2440_text = 0; -+ opt.allow_non_selfsigned_uid = 1; -+ opt.allow_freeform_uid = 1; -+ opt.escape_from = 1; -+ opt.not_dash_escaped = 0; -+ opt.def_cipher_algo = 0; -+ opt.def_digest_algo = 0; -+ opt.cert_digest_algo = 0; -+ opt.compress_algo = -1; -+ opt.s2k_mode = 3; /* iterated+salted */ -+ opt.s2k_digest_algo = DIGEST_ALGO_SHA256; -+ opt.s2k_cipher_algo = CIPHER_ALGO_AES256; -+ break; - case oOpenPGP: - case oRFC4880: - /* This is effectively the same as RFC2440, but with -@@ -2288,6 +2309,7 @@ set_compliance_option (enum cmd_and_opt_values option) - case oPGP8: opt.compliance = CO_PGP8; break; - case oGnuPG: - opt.compliance = CO_GNUPG; -+ opt.flags.rfc4880bis = 1; - break; - - case oDE_VS: -@@ -2491,6 +2513,7 @@ main (int argc, char **argv) - opt.emit_version = 0; - opt.weak_digests = NULL; - opt.compliance = CO_GNUPG; -+ opt.flags.rfc4880bis = 1; - - /* Check special options given on the command line. */ - orig_argc = argc; -@@ -3033,6 +3056,7 @@ main (int argc, char **argv) - case oOpenPGP: - case oRFC2440: - case oRFC4880: -+ case oRFC4880bis: - case oPGP7: - case oPGP8: - case oGnuPG: -@@ -3862,6 +3886,11 @@ main (int argc, char **argv) - if( may_coredump && !opt.quiet ) - log_info(_("WARNING: program may create a core file!\n")); - -+ if (!opt.flags.rfc4880bis) -+ { -+ opt.mimemode = 0; /* This will use text mode instead. */ -+ } -+ - if (eyes_only) { - if (opt.set_filename) - log_info(_("WARNING: %s overrides %s\n"), -@@ -4078,7 +4107,7 @@ main (int argc, char **argv) - /* Check our chosen algorithms against the list of legal - algorithms. */ - -- if(!GNUPG) -+ if(!GNUPG && !opt.flags.rfc4880bis) - { - const char *badalg=NULL; - preftype_t badtype=PREFTYPE_NONE; ---- a/g10/keygen.c -+++ b/g10/keygen.c -@@ -404,7 +404,7 @@ keygen_set_std_prefs (const char *string,int personal) - strcat(dummy_string,"S7 "); - strcat(dummy_string,"S2 "); /* 3DES */ - -- if (!openpgp_aead_test_algo (AEAD_ALGO_OCB)) -+ if (opt.flags.rfc4880bis && !openpgp_aead_test_algo (AEAD_ALGO_OCB)) - strcat(dummy_string,"A2 "); - - if (personal) -@@ -889,7 +889,7 @@ keygen_upd_std_prefs (PKT_signature *sig, void *opaque) - /* Make sure that the MDC feature flag is set if needed. */ - add_feature_mdc (sig,mdc_available); - add_feature_aead (sig, aead_available); -- add_feature_v5 (sig, 1); -+ add_feature_v5 (sig, opt.flags.rfc4880bis); - add_keyserver_modify (sig,ks_modify); - keygen_add_keyserver_url(sig,NULL); - -@@ -3382,7 +3382,10 @@ parse_key_parameter_part (ctrl_t ctrl, - } - } - else if (!ascii_strcasecmp (s, "v5")) -- keyversion = 5; -+ { -+ if (opt.flags.rfc4880bis) -+ keyversion = 5; -+ } - else if (!ascii_strcasecmp (s, "v4")) - keyversion = 4; - else -@@ -3641,7 +3644,7 @@ parse_key_parameter_part (ctrl_t ctrl, - * ecdsa := Use algorithm ECDSA. - * eddsa := Use algorithm EdDSA. - * ecdh := Use algorithm ECDH. -- * v5 := Create version 5 key -+ * v5 := Create version 5 key (requires option --rfc4880bis) - * - * There are several defaults and fallbacks depending on the - * algorithm. PART can be used to select which part of STRING is -@@ -4513,9 +4516,9 @@ read_parameter_file (ctrl_t ctrl, const char *fname ) - } - } - -- if ((keywords[i].key == pVERSION -- || keywords[i].key == pSUBVERSION)) -- ; /* Ignore version. */ -+ if (!opt.flags.rfc4880bis && (keywords[i].key == pVERSION -+ || keywords[i].key == pSUBVERSION)) -+ ; /* Ignore version unless --rfc4880bis is active. */ - else - { - r = xmalloc_clear( sizeof *r + strlen( value ) ); -@@ -4610,11 +4613,14 @@ quickgen_set_para (struct para_data_s *para, int for_subkey, - para = r; - } - -- r = xmalloc_clear (sizeof *r + 20); -- r->key = for_subkey? pSUBVERSION : pVERSION; -- snprintf (r->u.value, 20, "%d", version); -- r->next = para; -- para = r; -+ if (opt.flags.rfc4880bis) -+ { -+ r = xmalloc_clear (sizeof *r + 20); -+ r->key = for_subkey? pSUBVERSION : pVERSION; -+ snprintf (r->u.value, 20, "%d", version); -+ r->next = para; -+ para = r; -+ } - - if (keytime) - { diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.45-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.45-r1.ebuild deleted file mode 100644 index fce92b609fd..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.45-r1.ebuild +++ /dev/null @@ -1,181 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Maintainers should: -# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/ -# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159 -# (find the one for the current release then subscribe to it + -# any subsequent ones linked within so you're covered for a while.) - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc -# in-source builds are not supported: https://dev.gnupg.org/T6313#166339 -inherit flag-o-matic out-of-source multiprocessing systemd toolchain-funcs verify-sig - -MY_P="${P/_/-}" - -DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation" -HOMEPAGE="https://gnupg.org/" -SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2" -SRC_URI+=" verify-sig? ( mirror://gnupg/gnupg/${P}.tar.bz2.sig )" -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-3+" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl test tofu tools usb user-socket wks-server" -RESTRICT="!test? ( test )" - -# Existence of executables is checked during configuration. -# Note: On each bump, update dep bounds on each version from configure.ac! -DEPEND=" - >=dev-libs/libassuan-2.5.0:= - >=dev-libs/libgcrypt-1.8.0:= - >=dev-libs/libgpg-error-1.38 - >=dev-libs/libksba-1.4.0 - >=dev-libs/npth-1.2 - virtual/zlib:= - bzip2? ( app-arch/bzip2 ) - ldap? ( net-nds/openldap:= ) - readline? ( sys-libs/readline:= ) - smartcard? ( usb? ( virtual/libusb:1 ) ) - ssl? ( >=net-libs/gnutls-3.0:= ) - tofu? ( >=dev-db/sqlite-3.7 ) -" -RDEPEND=" - ${DEPEND} - nls? ( virtual/libintl ) - selinux? ( sec-policy/selinux-gpg ) - wks-server? ( virtual/mta ) -" -PDEPEND=" - app-crypt/pinentry -" -BDEPEND=" - virtual/pkgconfig - doc? ( sys-apps/texinfo ) - nls? ( sys-devel/gettext ) - verify-sig? ( sec-keys/openpgp-keys-gnupg ) -" - -DOCS=( - ChangeLog NEWS README THANKS TODO VERSION - doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER -) - -PATCHES=( - "${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch - "${FILESDIR}"/${PN}-2.2.45-fix-status-output-LISTTRUSTED.patch -) - -src_prepare() { - default - - # Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode, - # idea borrowed from libdbus, see - # https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6 - # - # This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl', - # which in turn requires discovery in Autoconf, something that upstream deeply resents. - sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \ - -i doc/examples/systemd-user/gpg-agent-ssh.socket || die -} - -my_src_configure() { - # Upstream don't support LTO, bug #854222. - filter-lto - - local myconf=( - $(use_enable bzip2) - $(use_enable nls) - $(use_enable smartcard scdaemon) - $(use_enable ssl gnutls) - $(use_enable test all-tests) - $(use_enable test tests) - $(use_enable tofu) - $(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver') - $(use_enable wks-server wks-tools) - $(use_with ldap) - $(use_with readline) - - # Hardcode mailprog to /usr/libexec/sendmail even if it does not exist. - # As of GnuPG 2.3, the mailprog substitution is used for the binary called - # by wks-client & wks-server; and if it's autodetected but not not exist at - # build time, then then 'gpg-wks-client --send' functionality will not - # work. This has an unwanted side-effect in stage3 builds: there was a - # [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating - # the build where the install guide previously make the user chose the - # logger & mta early in the install. - --with-mailprog=/usr/libexec/sendmail - - --disable-ntbtls - --enable-gpg - --enable-gpgsm - --enable-large-secmem - - CC_FOR_BUILD="$(tc-getBUILD_CC)" - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - KSBA_CONFIG="${ESYSROOT}/usr/bin/ksba-config" - LIBASSUAN_CONFIG="${ESYSROOT}/usr/bin/libassuan-config" - LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config" - NPTH_CONFIG="${ESYSROOT}/usr/bin/npth-config" - - $("${S}/configure" --help | grep -o -- '--without-.*-prefix') - ) - - if use prefix && use usb; then - # bug #649598 - append-cppflags -I"${ESYSROOT}/usr/include/libusb-1.0" - fi - - # bug #663142 - if use user-socket; then - myconf+=( --enable-run-gnupg-user-socket ) - fi - - # glib fails and picks up clang's internal stdint.h causing weird errors - tc-is-clang && export gl_cv_absolute_stdint_h="${ESYSROOT}"/usr/include/stdint.h - - econf "${myconf[@]}" -} - -my_src_compile() { - default - - use doc && emake -C doc html -} - -my_src_test() { - export TESTFLAGS="--parallel=$(makeopts_jobs)" - - default -} - -my_src_install() { - emake DESTDIR="${D}" install - - use tools && dobin \ - tools/{gpg-zip,gpgconf,gpgsplit,gpg-check-pattern} \ - tools/make-dns-cert - - dosym gpg /usr/bin/gpg2 - dosym gpgv /usr/bin/gpgv2 - echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die - echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die - - dodir /etc/env.d - echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die - - use doc && dodoc doc/gnupg.html/* -} - -my_src_install_all() { - einstalldocs - - use tools && dobin tools/{convert-from-106,mail-signed-keys,lspgpot} - - use doc && dodoc doc/*.png - - systemd_douserunit doc/examples/systemd-user/*.{service,socket} -} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.8-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.8-r1.ebuild deleted file mode 100644 index 07bc435f294..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.8-r1.ebuild +++ /dev/null @@ -1,217 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Maintainers should: -# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/ -# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159 -# (find the one for the current release then subscribe to it + -# any subsequent ones linked within so you're covered for a while.) - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc -# in-source builds are not supported: https://dev.gnupg.org/T6313#166339 -inherit flag-o-matic out-of-source multiprocessing systemd toolchain-funcs verify-sig - -MY_P="${P/_/-}" - -DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation" -HOMEPAGE="https://gnupg.org/" -SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2" -SRC_URI+=" verify-sig? ( mirror://gnupg/gnupg/${P}.tar.bz2.sig )" -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" -IUSE="+alternatives bzip2 doc ldap nls readline selinux +smartcard ssl test +tofu tpm tools usb user-socket wks-server" -RESTRICT="!test? ( test )" -REQUIRED_USE="test? ( tofu )" - -# Existence of executables is checked during configuration. -# Note: On each bump, update dep bounds on each version from configure.ac! -DEPEND=" - >=dev-libs/libassuan-2.5.0:= - >=dev-libs/libgcrypt-1.9.1:= - >=dev-libs/libgpg-error-1.46 - >=dev-libs/libksba-1.6.3 - >=dev-libs/npth-1.2 - virtual/zlib:= - bzip2? ( app-arch/bzip2 ) - ldap? ( net-nds/openldap:= ) - readline? ( sys-libs/readline:0= ) - smartcard? ( usb? ( virtual/libusb:1 ) ) - tofu? ( >=dev-db/sqlite-3.27 ) - tpm? ( >=app-crypt/tpm2-tss-2.4.0:= ) - ssl? ( >=net-libs/gnutls-3.2:0= ) -" -RDEPEND=" - ${DEPEND} - nls? ( virtual/libintl ) - selinux? ( sec-policy/selinux-gpg ) - wks-server? ( virtual/mta ) -" -PDEPEND=" - app-crypt/pinentry - alternatives? ( - app-alternatives/gpg[-freepg(-)] - ) -" -BDEPEND=" - virtual/pkgconfig - doc? ( sys-apps/texinfo ) - nls? ( sys-devel/gettext ) - verify-sig? ( sec-keys/openpgp-keys-gnupg ) -" - -DOCS=( - ChangeLog NEWS README THANKS TODO VERSION - doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER -) - -PATCHES=( - "${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch -) - -src_prepare() { - default - - GNUPG_SYSTEMD_UNITS=( - dirmngr.service - dirmngr.socket - gpg-agent-browser.socket - gpg-agent-extra.socket - gpg-agent.service - gpg-agent.socket - gpg-agent-ssh.socket - ) - - cp "${GNUPG_SYSTEMD_UNITS[@]/#/${FILESDIR}/}" "${T}" || die - - # Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode, - # idea borrowed from libdbus, see - # https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6 - # - # This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl', - # which in turn requires discovery in Autoconf, something that upstream deeply resents. - sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \ - -i "${T}"/gpg-agent-ssh.socket || die -} - -my_src_configure() { - # Upstream don't support LTO, bug #854222. - filter-lto - - local myconf=( - $(use_enable bzip2) - $(use_enable nls) - $(use_enable smartcard scdaemon) - $(use_enable ssl gnutls) - $(use_enable test all-tests) - $(use_enable test tests) - $(use_enable tofu) - $(use_enable tofu keyboxd) - $(use_enable tofu sqlite) - $(usex tpm '--with-tss=intel' '--disable-tpm2d') - $(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver') - $(use_enable wks-server wks-tools) - $(use_with ldap) - $(use_with readline) - - # Hardcode mailprog to /usr/libexec/sendmail even if it does not exist. - # As of GnuPG 2.3, the mailprog substitution is used for the binary called - # by wks-client & wks-server; and if it's autodetected but not not exist at - # build time, then then 'gpg-wks-client --send' functionality will not - # work. This has an unwanted side-effect in stage3 builds: there was a - # [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating - # the build where the install guide previously make the user chose the - # logger & mta early in the install. - --with-mailprog=/usr/libexec/sendmail - - --disable-ntbtls - --enable-gpgsm - --enable-large-secmem - - CC_FOR_BUILD="$(tc-getBUILD_CC)" - GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" - - $("${S}/configure" --help | grep -o -- '--without-.*-prefix') - ) - - if use prefix && use usb; then - # bug #649598 - append-cppflags -I"${ESYSROOT}/usr/include/libusb-1.0" - fi - - if [[ ${CHOST} == *-solaris* ]] ; then - # https://dev.gnupg.org/T7368 - append-cppflags -D_XOPEN_SOURCE=500 - fi - - # bug #663142 - if use user-socket; then - myconf+=( --enable-run-gnupg-user-socket ) - fi - - # glib fails and picks up clang's internal stdint.h causing weird errors - tc-is-clang && export gl_cv_absolute_stdint_h="${ESYSROOT}"/usr/include/stdint.h - - econf "${myconf[@]}" -} - -my_src_compile() { - default - - use doc && emake -C doc html -} - -my_src_test() { - export TESTFLAGS="--parallel=$(makeopts_jobs)" - - default -} - -my_src_install() { - emake DESTDIR="${D}" install - - use tools && dobin tools/{gpgconf,gpgsplit,gpg-check-pattern} tools/make-dns-cert - - if use alternatives; then - # rename for app-alternatives/gpg - mv "${ED}"/usr/bin/gpg{,-reference} || die - mv "${ED}"/usr/bin/gpgv{,-reference} || die - else - dosym gpg /usr/bin/gpg2 - dosym gpgv /usr/bin/gpgv2 - fi - - echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die - echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die - - dodir /etc/env.d - echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die - - use doc && dodoc doc/gnupg.html/* -} - -my_src_install_all() { - einstalldocs - - use tools && dobin tools/{convert-from-106,mail-signed-keys,lspgpot} - use doc && dodoc doc/*.png - - # Dropped upstream in https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commitdiff;h=eae28f1bd4a5632e8f8e85b7248d1c4d4a10a5ed. - dodoc "${FILESDIR}"/README-systemd - systemd_douserunit "${GNUPG_SYSTEMD_UNITS[@]/#/${T}/}" -} - -pkg_postinst() { - # If /usr/bin/gpg and /usr/bin/gpgv do not exist, provide them. - if [[ ! -e ${EROOT}/usr/bin/gpg ]]; then - ln -sf -- gpg-reference "${EROOT}"/usr/bin/gpg || die - fi - - if [[ ! -e ${EROOT}/usr/bin/gpgv ]]; then - ln -sf -- gpgv-reference "${EROOT}"/usr/bin/gpgv || die - fi -} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.8-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.9.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.8-r2.ebuild rename to sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.9.ebuild index 073ea374a1f..cdf36c9bd4e 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.8-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.9.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="+alternatives bzip2 doc ldap nls readline selinux +smartcard ssl test +tofu tpm tools usb user-socket wks-server" RESTRICT="!test? ( test )" REQUIRED_USE="test? ( tofu )" @@ -33,7 +33,7 @@ REQUIRED_USE="test? ( tofu )" DEPEND=" >=dev-libs/libassuan-2.5.0:= >=dev-libs/libgcrypt-1.9.1:= - >=dev-libs/libgpg-error-1.46 + >=dev-libs/libgpg-error-1.48 >=dev-libs/libksba-1.6.3 >=dev-libs/npth-1.2 virtual/zlib:= diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.12-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.12-r1.ebuild deleted file mode 100644 index 6578dba2e6c..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.12-r1.ebuild +++ /dev/null @@ -1,200 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Maintainers should: -# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/ -# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159 -# (find the one for the current release then subscribe to it + -# any subsequent ones linked within so you're covered for a while.) - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc -# in-source builds are not supported: https://dev.gnupg.org/T6313#166339 -inherit flag-o-matic out-of-source multiprocessing systemd toolchain-funcs verify-sig - -MY_P="${P/_/-}" - -DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation" -HOMEPAGE="https://gnupg.org/" -SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2" -SRC_URI+=" verify-sig? ( mirror://gnupg/gnupg/${P}.tar.bz2.sig )" -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" -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 )" - -# Existence of executables is checked during configuration. -# Note: On each bump, update dep bounds on each version from configure.ac! -DEPEND=" - >=dev-libs/libassuan-3.0.0:= - >=dev-libs/libgcrypt-1.11.0:= - >=dev-libs/libgpg-error-1.51 - >=dev-libs/libksba-1.6.3 - >=dev-libs/npth-1.2 - virtual/zlib:= - bzip2? ( app-arch/bzip2 ) - ldap? ( net-nds/openldap:= ) - readline? ( sys-libs/readline:0= ) - smartcard? ( usb? ( virtual/libusb:1 ) ) - tofu? ( >=dev-db/sqlite-3.27 ) - tpm? ( >=app-crypt/tpm2-tss-2.4.0:= ) - ssl? ( >=net-libs/gnutls-3.2:0= ) -" -RDEPEND=" - ${DEPEND} - nls? ( virtual/libintl ) - selinux? ( sec-policy/selinux-gpg ) - wks-server? ( virtual/mta ) -" -PDEPEND=" - app-crypt/pinentry -" -BDEPEND=" - virtual/pkgconfig - doc? ( sys-apps/texinfo ) - nls? ( sys-devel/gettext ) - verify-sig? ( sec-keys/openpgp-keys-gnupg ) -" - -DOCS=( - ChangeLog NEWS README THANKS TODO VERSION - doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER -) - -PATCHES=( - "${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch -) - -src_prepare() { - default - - GNUPG_SYSTEMD_UNITS=( - dirmngr.service - dirmngr.socket - gpg-agent-browser.socket - gpg-agent-extra.socket - gpg-agent.service - gpg-agent.socket - gpg-agent-ssh.socket - ) - - cp "${GNUPG_SYSTEMD_UNITS[@]/#/${FILESDIR}/}" "${T}" || die - - # Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode, - # idea borrowed from libdbus, see - # https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6 - # - # This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl', - # which in turn requires discovery in Autoconf, something that upstream deeply resents. - sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \ - -i "${T}"/gpg-agent-ssh.socket || die - - # Since 2.5.3, --supervised is called --deprecated-supervised. See - # https://dev.gnupg.org/rGa019a0fcd8dfb9d1eae5bc991fdd54b7cf55641e - sed -i "s/--supervised/--deprecated-supervised/g" "${T}"/*.service || die -} - -my_src_configure() { - # Upstream don't support LTO, bug #854222. - filter-lto - - local myconf=( - $(use_enable bzip2) - $(use_enable nls) - $(use_enable smartcard scdaemon) - $(use_enable ssl gnutls) - $(use_enable test all-tests) - $(use_enable test tests) - $(use_enable tofu) - $(use_enable tofu keyboxd) - $(use_enable tofu sqlite) - $(usex tpm '--with-tss=intel' '--disable-tpm2d') - $(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver') - $(use_enable wks-server wks-tools) - $(use_with ldap) - $(use_with readline) - - # Hardcode mailprog to /usr/libexec/sendmail even if it does not exist. - # As of GnuPG 2.3, the mailprog substitution is used for the binary called - # by wks-client & wks-server; and if it's autodetected but not not exist at - # build time, then then 'gpg-wks-client --send' functionality will not - # work. This has an unwanted side-effect in stage3 builds: there was a - # [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating - # the build where the install guide previously make the user chose the - # logger & mta early in the install. - --with-mailprog=/usr/libexec/sendmail - - --disable-ntbtls - --enable-gpgsm - --enable-large-secmem - - CC_FOR_BUILD="$(tc-getBUILD_CC)" - GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" - - $("${S}/configure" --help | grep -o -- '--without-.*-prefix') - ) - - if use prefix && use usb; then - # bug #649598 - append-cppflags -I"${ESYSROOT}/usr/include/libusb-1.0" - fi - - if [[ ${CHOST} == *-solaris* ]] ; then - # https://dev.gnupg.org/T7368 - export ac_cv_should_define__xopen_source=yes - fi - - # bug #663142 - if use user-socket; then - myconf+=( --enable-run-gnupg-user-socket ) - fi - - # glib fails and picks up clang's internal stdint.h causing weird errors - tc-is-clang && export gl_cv_absolute_stdint_h="${ESYSROOT}"/usr/include/stdint.h - - econf "${myconf[@]}" -} - -my_src_compile() { - default - - use doc && emake -C doc html -} - -my_src_test() { - export TESTFLAGS="--parallel=$(makeopts_jobs)" - - default -} - -my_src_install() { - emake DESTDIR="${D}" install - - use tools && dobin tools/{gpgconf,gpgsplit,gpg-check-pattern} tools/make-dns-cert - - dosym gpg /usr/bin/gpg2 - dosym gpgv /usr/bin/gpgv2 - echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die - echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die - - dodir /etc/env.d - echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die - - use doc && dodoc doc/gnupg.html/* -} - -my_src_install_all() { - einstalldocs - - use tools && dobin tools/{convert-from-106,mail-signed-keys,lspgpot} - use doc && dodoc doc/*.png - - # Dropped upstream in https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commitdiff;h=eae28f1bd4a5632e8f8e85b7248d1c4d4a10a5ed. - dodoc "${FILESDIR}"/README-systemd - systemd_douserunit "${GNUPG_SYSTEMD_UNITS[@]/#/${T}/}" -} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.13-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.16-r1.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.13-r2.ebuild rename to sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.16-r1.ebuild index 6bc24b1ece0..4936cf13743 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.13-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.16-r1.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="+alternatives bzip2 doc ldap nls readline selinux +smartcard ssl test +tofu tpm tools usb user-socket wks-server" RESTRICT="!test? ( test )" REQUIRED_USE="test? ( tofu )" @@ -31,7 +31,7 @@ REQUIRED_USE="test? ( tofu )" # Existence of executables is checked during configuration. # Note: On each bump, update dep bounds on each version from configure.ac! DEPEND=" - >=dev-libs/libassuan-3.0.0:= + >=dev-libs/libassuan-3.0.0-r1:= >=dev-libs/libgcrypt-1.11.0:= >=dev-libs/libgpg-error-1.56 >=dev-libs/libksba-1.6.3 @@ -148,8 +148,10 @@ my_src_configure() { fi if [[ ${CHOST} == *-solaris* ]] ; then - # https://dev.gnupg.org/T7368 - export ac_cv_should_define__xopen_source=yes + # these somehow are treated as fatal, but Solaris has different + # types for getpeername with socket_t + append-flags -Wno-incompatible-pointer-types + append-flags -Wno-unused-label fi # bug #663142 @@ -193,9 +195,6 @@ my_src_install() { echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die fi - dodir /etc/env.d - echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die - use doc && dodoc doc/gnupg.html/* } diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.13-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.16.ebuild similarity index 91% rename from sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.13-r1.ebuild rename to sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.16.ebuild index b7dc16e83ca..391625c29b2 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.13-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.16.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="+alternatives bzip2 doc ldap nls readline selinux +smartcard ssl test +tofu tpm tools usb user-socket wks-server" RESTRICT="!test? ( test )" REQUIRED_USE="test? ( tofu )" @@ -31,7 +31,7 @@ REQUIRED_USE="test? ( tofu )" # Existence of executables is checked during configuration. # Note: On each bump, update dep bounds on each version from configure.ac! DEPEND=" - >=dev-libs/libassuan-3.0.0:= + >=dev-libs/libassuan-3.0.0-r1:= >=dev-libs/libgcrypt-1.11.0:= >=dev-libs/libgpg-error-1.56 >=dev-libs/libksba-1.6.3 @@ -148,8 +148,10 @@ my_src_configure() { fi if [[ ${CHOST} == *-solaris* ]] ; then - # https://dev.gnupg.org/T7368 - export ac_cv_should_define__xopen_source=yes + # these somehow are treated as fatal, but Solaris has different + # types for getpeername with socket_t + append-flags -Wno-incompatible-pointer-types + append-flags -Wno-unused-label fi # bug #663142 @@ -184,14 +186,15 @@ my_src_install() { # rename for app-alternatives/gpg mv "${ED}"/usr/bin/gpg{,-reference} || die mv "${ED}"/usr/bin/gpgv{,-reference} || die + mv "${ED}"/usr/share/man/man1/gpg{,-reference}.1 || die + mv "${ED}"/usr/share/man/man1/gpgv{,-reference}.1 || die else dosym gpg /usr/bin/gpg2 dosym gpgv /usr/bin/gpgv2 + echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die + echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die fi - echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die - echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die - dodir /etc/env.d echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.0.0.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.0.0.ebuild index 871ff4cfe26..2749511cd9b 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.0.0.ebuild @@ -27,7 +27,7 @@ LICENSE="GPL-2 LGPL-2.1" # Please check ABI on each bump, even if SONAMEs didn't change: bug #833355 # Subslot: SONAME of each: SLOT="1/45.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="common-lisp static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.0.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.0.1-r1.ebuild index ae4dbf625c1..4e90ec30ec8 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.0.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.0.1-r1.ebuild @@ -27,7 +27,7 @@ LICENSE="GPL-2 LGPL-2.1" # Please check ABI on each bump, even if SONAMEs didn't change: bug #833355 # Subslot: SONAME of each: SLOT="1/45.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="common-lisp static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/libb2/libb2-0.98.1-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/libb2/libb2-0.98.1-r3.ebuild index 6147c6eebb2..f6aafb8605d 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/libb2/libb2-0.98.1-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/libb2/libb2-0.98.1-r3.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/BLAKE2/libb2/archive/${GITHASH}.tar.gz -> ${P}.tar.g LICENSE="CC0-1.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="static-libs native-cflags openmp" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/libmd/libmd-1.0.4.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/libmd/libmd-1.0.4.ebuild index 5ad9111840e..c3a80c799a2 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/libmd/libmd-1.0.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/libmd/libmd-1.0.4.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://archive.hadrons.org/software/libmd/${P}.tar.xz" LICENSE="|| ( BSD BSD-2 ISC BEER-WARE public-domain )" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" PATCHES=( "${FILESDIR}/${P}-fix-version-script-linker-support-detection.patch" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/libmd/libmd-1.1.0.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/libmd/libmd-1.1.0.ebuild index a814533d6f6..7b7ee9176d3 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/libmd/libmd-1.1.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/libmd/libmd-1.1.0.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://archive.hadrons.org/software/libmd/${P}.tar.xz" LICENSE="|| ( BSD BSD-2 ISC BEER-WARE public-domain )" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" multilib_src_configure() { ECONF_SOURCE="${S}" econf diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/mit-krb5-1.21.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/mit-krb5-1.21.3-r1.ebuild index 2a6b2320ac9..7446719e381 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/mit-krb5-1.21.3-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/mit-krb5-1.21.3-r1.ebuild @@ -16,7 +16,7 @@ S=${WORKDIR}/${MY_P}/src LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )" 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="cpu_flags_x86_aes doc +keyutils lmdb nls openldap +pkinit selinux test xinetd" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.25.10.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.25.10.ebuild index 9aeea11aae6..3ef5cea7306 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.25.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.25.10.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/p11-glue/p11-kit/releases/download/${PV}/${P}.tar.xz LICENSE="MIT" 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 ~x64-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" IUSE="+libffi gtk-doc nls systemd test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.25.5.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.25.5.ebuild index 9847568d8d6..fa41b20915f 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.25.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.25.5.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/p11-glue/p11-kit/releases/download/${PV}/${P}.tar.xz LICENSE="MIT" 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 ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" IUSE="+libffi gtk-doc nls systemd test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.1-r1.ebuild index cb3e933691e..700fcdeb738 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.1-r1.ebuild @@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="caps efl emacs gtk keyring ncurses qt6 wayland X" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.2-r1.ebuild index 4fcc1a0d3be..6f36bf8224c 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.2-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.2-r1.ebuild @@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="caps efl emacs gtk keyring ncurses qt6 wayland X" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.2.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.2.ebuild index 751965cc73f..30637c28370 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.2.ebuild @@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="caps efl emacs gtk keyring ncurses qt6 wayland X" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.5.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.5.ebuild index f6708fd1b41..78b6aee79d2 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.5.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}/RHash-${PV}" LICENSE="0BSD" SLOT="0/1" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="debug nls ssl static-libs" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.6-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.6-r1.ebuild index 00e9f557a34..5e55e113ad4 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.6-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.6-r1.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}/RHash-${PV}" LICENSE="0BSD" SLOT="0/1" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="cpu_flags_x86_sha debug nls ssl static-libs" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/sbsigntools/files/sbsigntools-0.9.4-openssl3.patch b/sdk_container/src/third_party/portage-stable/app-crypt/sbsigntools/files/sbsigntools-0.9.4-openssl3.patch deleted file mode 100644 index 3fffe9b668e..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-crypt/sbsigntools/files/sbsigntools-0.9.4-openssl3.patch +++ /dev/null @@ -1,35 +0,0 @@ -Subject: [PATCH] Fix openssl-3.0 issue involving ASN1 xxx_it -From: Jeremi Piotrowski -Origin: https://groups.io/g/sbsigntools/message/54 - -Use ASN1_ITEM_rptr() instead of taking the address of IDC_PEID_it. - -openssl-3.0 changed the type of TYPE_it from `const ASN1_ITEM TYPE_it` to -`const ASN1_ITEM *TYPE_it(void)`. This was previously hidden behind -OPENSSL_EXPORT_VAR_AS_FUNCTION but in 3.0 only the function version is -available. This change should have been transparent to the application, but -only if the `ASN1_ITEM_rptr()` macro is used. - -This change passes `make check` with both openssl 1.1 and 3.0. - -Signed-off-by: Jeremi Piotrowski ---- - src/idc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/idc.c b/src/idc.c -index 6d87bd4..0a82218 100644 ---- a/src/idc.c -+++ b/src/idc.c -@@ -189,7 +189,7 @@ int IDC_set(PKCS7 *p7, PKCS7_SIGNER_INFO *si, struct image *image) - - idc->data->type = OBJ_nid2obj(peid_nid); - idc->data->value = ASN1_TYPE_new(); -- type_set_sequence(image, idc->data->value, peid, &IDC_PEID_it); -+ type_set_sequence(image, idc->data->value, peid, ASN1_ITEM_rptr(IDC_PEID)); - - idc->digest->alg->parameter = ASN1_TYPE_new(); - idc->digest->alg->algorithm = OBJ_nid2obj(NID_sha256); --- -2.25.1 - diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/Manifest b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/Manifest index c073b1ef67e..5b4d5eb3716 100644 --- a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/Manifest @@ -1,3 +1,4 @@ DIST eclass-manpages-20250711.tar.xz 499388 BLAKE2B 7f4df3869449444fbc8805f468ea06754b8942eef3aec362765a54ed1e81d644e104847f1ded853321b79d45bfb5f818c5da49bfa8fec9c9d482016a4d2f540c SHA512 e4922972cd282d851405f9f9a3223924df27f7edfda40f0faabcbe5d072936039998cf63823faac8e50c6fcf2851cde7d57c0eee9d291a9469c7c11d70aa5672 DIST eclass-manpages-20250730.tar.xz 502128 BLAKE2B f798b31c2ac69ab58015941c1cc4cb51b80d70e68f1b9eaf69dcbbe9cd0b488c3b66da2852eb0d8247b62ebfb7faddd13db7a9ddfc312162e3203b09d130263d SHA512 ef8514d5cf79b2549a0bf04deff844bf2bd039644f8a8f4c31201ee681ca94dc8182484685398b432169af7d6c93e3a2794329bc703635aa965414ab32f6823a DIST eclass-manpages-20250815.tar.xz 505524 BLAKE2B af3a3d4f98ed9de28c4c4555f556b03372a32a8e3d88d34f29917200a14347409f391736ea1eb60025fb8ac734d34de03407845c5d484ce99b0d6278f33ccc0d SHA512 3addcf0d7e24bb254bd720fb75a8385893174a4693dddab29a389e5a292e83a282abece87b1f237a2eab8f2c17227c9e3bea6bc6cbc7cc3d13cd0da03fc8af00 +DIST eclass-manpages-20251126.tar.xz 508084 BLAKE2B 8e65f8686708dfad983e01ad899f7696207503aa5bce5b94a2a64435db91be6a76b010ed3393fddc3dca5972c17ad23018a08e47c1b647671b93e7e7deb27045 SHA512 035afd8a45d11f835d1dbd0f96392fed56316ddd12b2750dbc3823914b913a7a9c01a1bc2b3a3a7a684bc11b79681e6841510b06ec8696152aef2181dd149e70 diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20250711.ebuild b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20250711.ebuild index 6c3c1fbe2f3..7a6c8d8b6f1 100644 --- a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20250711.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20250711.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" LICENSE="GPL-2" SLOT="0" # Keep the keywords stable. No need to change to ~arch. -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" BDEPEND="sys-apps/gawk" diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20250730.ebuild b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20250730.ebuild index 6c3c1fbe2f3..7a6c8d8b6f1 100644 --- a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20250730.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20250730.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" LICENSE="GPL-2" SLOT="0" # Keep the keywords stable. No need to change to ~arch. -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" BDEPEND="sys-apps/gawk" diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20250815.ebuild b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20250815.ebuild index 6c3c1fbe2f3..7a6c8d8b6f1 100644 --- a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20250815.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20250815.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" LICENSE="GPL-2" SLOT="0" # Keep the keywords stable. No need to change to ~arch. -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" BDEPEND="sys-apps/gawk" diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20251126.ebuild b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20251126.ebuild new file mode 100644 index 00000000000..7a6c8d8b6f1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20251126.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Instructions to make a dist tarball: +# git clone https://github.com/projg2/eclass-to-manpage.git +# cd eclass-to-manpage +# make dist ECLASSDIR=~/g/eclass/ + +DESCRIPTION="Collection of Gentoo eclass manpages" +HOMEPAGE="https://github.com/projg2/eclass-to-manpage" +SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +# Keep the keywords stable. No need to change to ~arch. +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" + +BDEPEND="sys-apps/gawk" + +src_install() { + emake install DESTDIR="${D}" PREFIX="${EPREFIX}/usr" +} diff --git a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.6.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.6.ebuild index bda4a0eadd3..ab2720ef44c 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.6.ebuild @@ -9,7 +9,7 @@ if [[ ${PV} == 9999 ]] ; then else MY_P="${PN}-${PV/_}" SRC_URI="https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="GNU GPL'd Pico clone with more functionality" diff --git a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.7.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.7.ebuild index 0bc01680eb5..ab2720ef44c 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.7.ebuild @@ -9,7 +9,7 @@ if [[ ${PV} == 9999 ]] ; then else MY_P="${PN}-${PV/_}" SRC_URI="https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="GNU GPL'd Pico clone with more functionality" diff --git a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-9999.ebuild index 0bc01680eb5..166cbbcd5a7 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-9999.ebuild @@ -9,7 +9,7 @@ if [[ ${PV} == 9999 ]] ; then else MY_P="${PN}-${PV/_}" SRC_URI="https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="GNU GPL'd Pico clone with more functionality" diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0794.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0794.ebuild index 72f3eae7090..f668fd39e2d 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0794.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0794.ebuild @@ -16,7 +16,7 @@ if [[ ${PV} == 9999* ]] ; then else SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz https://git.sr.ht/~xxc3nsoredxx/vim-patches/refs/download/vim-${VIM_PATCHES_VERSION}-patches/vim-${VIM_PATCHES_VERSION}-patches.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 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="vim and gvim shared files" 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 index d2e02747610..34fe3b0930a 100644 --- 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 @@ -17,7 +17,7 @@ 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="vim and gvim shared files" diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1436.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1436.ebuild index e1758d769b6..8e7c665af2d 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1436.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1436.ebuild @@ -17,7 +17,7 @@ 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="vim and gvim shared files" diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1500.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1500.ebuild index d2e02747610..34fe3b0930a 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1500.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1500.ebuild @@ -17,7 +17,7 @@ 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="vim and gvim shared files" diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1652-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1652-r1.ebuild index 96213c8c2dd..0410afeec37 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1652-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1652-r1.ebuild @@ -17,7 +17,7 @@ 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="vim and gvim shared files" diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1652-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1652-r2.ebuild index 45a2f23708d..e42b15db976 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1652-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1652-r2.ebuild @@ -17,7 +17,7 @@ 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="vim and gvim shared files" diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1652-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1652-r3.ebuild new file mode 100644 index 00000000000..35a644f8a9d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1652-r3.ebuild @@ -0,0 +1,235 @@ +# 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 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 ~arm64-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" + +RDEPEND="dev-util/xxd" +# 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 + +# unbundle xxd +PATCHES+=( "${FILESDIR}/vim-core-9.1.1652-r1-unbundle-xxd.patch" ) + +# 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-wayland + --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 +} + +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-r8 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 + + # 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-9.1.1652.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1652.ebuild index 8e38acb5943..25b6e388ea4 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1652.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1652.ebuild @@ -17,7 +17,7 @@ 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="vim and gvim shared files" 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 0df0a4048b3..33c4d2bce55 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 @@ -16,7 +16,7 @@ if [[ ${PV} == 9999* ]] ; then 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" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" fi DESCRIPTION="vim and gvim shared files" diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.0794.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.0794.ebuild index a11de4acfe1..a61b50d0ae1 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.0794.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.0794.ebuild @@ -21,7 +21,7 @@ if [[ ${PV} == 9999* ]] ; then else SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz https://git.sr.ht/~xxc3nsoredxx/vim-patches/refs/download/vim-${VIM_PATCHES_VERSION}-patches/vim-${VIM_PATCHES_VERSION}-patches.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 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="Vim, an improved vi-style text editor" 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 index 0327597dac1..dab363c4318 100644 --- 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 @@ -22,7 +22,7 @@ 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="Vim, an improved vi-style text editor" diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1436.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1436.ebuild index 8a9dbe8eaf0..deb6ee7ebc9 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1436.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1436.ebuild @@ -22,7 +22,7 @@ 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="Vim, an improved vi-style text editor" diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1500.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1500.ebuild index 0327597dac1..dab363c4318 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1500.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1500.ebuild @@ -22,7 +22,7 @@ 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="Vim, an improved vi-style text editor" diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1652-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1652-r1.ebuild index c37164c18d9..335b3961c04 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1652-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1652-r1.ebuild @@ -23,7 +23,7 @@ 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="Vim, an improved vi-style text editor" diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1652-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1652-r2.ebuild new file mode 100644 index 00000000000..7ca6f051a71 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1652-r2.ebuild @@ -0,0 +1,380 @@ +# 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_{11..14} ) +PYTHON_REQ_USE="threads(+)" +USE_RUBY="ruby31 ruby32" +GENTOO_DEPEND_ON_PERL=no + +inherit vim-doc flag-o-matic bash-completion-r1 lua-single perl-module 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 ~arm64-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 wayland ${GENTOO_PERL_USESTRING}" +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? ( + ${GENTOO_PERL_DEPSTRING} + 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= ) + wayland? ( dev-libs/wayland ) + 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-wayland + --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) + $(use_with wayland) + ) + + # --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_\)' + + echo "throw 'Skipped: needs X'" > src/testdir/test_clientserver.vim || die + echo "throw 'Skipped: needs X'" > src/testdir/test_vim9_builtin.vim || die + + 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-9.1.1652.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1652.ebuild index 4b281269b4b..8d4c06ff38e 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1652.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.1652.ebuild @@ -22,7 +22,7 @@ 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="Vim, an improved vi-style text editor" 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 5a45edb915f..716d3ae9c2a 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 @@ -22,7 +22,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz https://git.sr.ht/~xxc3nsoredxx/vim-patches/refs/download/vim-${VIM_PATCHES_VERSION}-patches/vim-${VIM_PATCHES_VERSION}-patches.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 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="Vim, an improved vi-style text editor" diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/Manifest b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/Manifest index bf999c76a70..e786367a6fb 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/Manifest @@ -1,17 +1,15 @@ DIST berkeley-softfloat-3-b64af41c3276f97f0e181920400ee056b9c88037.tar.bz2 84094 BLAKE2B 396f9df2e6ad559545054e89916915c3a3c8ff80e5e409498fec497b564d8b3ac9dd3cb966e26dce232ddff82af18a0e84e864ca18a80c2a2f4fe47e320249c2 SHA512 93c20d50a356c90f4293d8c7593611b2e0a9bc7567b6d946319f8ae06962ae1e297c8788f66fd38a1d3a0d44661bff9a07a63eaa84c8bb40ae01a45476be446c DIST berkeley-testfloat-3-e7af9751d9f9fd3b47911f51a5cfd08af256a9ab.tar.bz2 90020 BLAKE2B 3dda1ba90c4a5ad5cbce2acf35e93f7adbd387ae0e0f929b2cd4cbdf263f95183103118f32be38e8c80de49d7df44c26319ee2f465061d004ae7e64e43eeeb3e SHA512 65f41f42ea563b2cdceb6c71633f41e6694a79ffd02afed4540353a8e73668ae40118dfc108163aae751acbaa7c49630ed99f423465089503c03aee76b07f221 DIST keycodemapdb-f5772a62ec52591ff6870b7e8ef32482371f22c6.tar.bz2 27971 BLAKE2B 0ed69ad24c53bd459c8753565814bcc1cd858f20d3a046c38912a35bcb0ba6d388ef5d2b93157cd028959284b330caf5467d82071c3df56a405dd8e08fd177c7 SHA512 8f2cc14e8bd46cb045e3ebfe32e463793ab7472ebda9b57b8ea0b06fa107a1a99c3ebcacb9c4548e30698d8ec154c0e56f789385201182b680819b8068a103f2 +DIST qemu-10-termios2-patches.tar.xz 6376 BLAKE2B f45fcf463f441e081b5e063423604fd5d2bcb529175f748aef7324d33bc6f5ba15b4ee7b88e95d1108071a53b83d22a6993ee4a6d08a4d66594e514c553bd401 SHA512 bb88bcf4d2dcf00473fa5dd61803b5fbe49bbaa6bd2e7a48d523292a752b4c3e51d8c9406606ae8bf0cbcf109d123802538f7a26b5a9c4eb702ff8c82ff51dd0 DIST qemu-10.0.0-docs.tar.xz 2651472 BLAKE2B 38be083c0c046e975a829df28089428425904cf66a3ea99cebc99b6f51eebdedf10a60be0c4f6bfb9e6f6cbc5dff1724dcd3b8d0982b5c421158258d869db4f3 SHA512 5f9332340bf68b3c0da4b48174330674f5235b98c3e275792fcbeec4bacca2faa84865c01c0cdd1e95388d9656a5dbf1d6baca2d1c8b2996c42511c966d9edd7 -DIST qemu-10.0.0.tar.xz 135618260 BLAKE2B 3408c7b2a38ace7f0b2e0912411a26cab96cb23bcb03d7095f7b081cb88db55f36b004ff6458281d73190b9cc9006da85dde2a0b4b068c80662a8de205c29fda SHA512 2215458ed8be3ab0b0032fe2a96e79183f5fc2da323d927018412ea3d980b022a07ba87d4f446229eaaa7d1b19a577d438dbcaa3af3bd537c7720b56734a2d8b -DIST qemu-10.0.2.tar.xz 135678180 BLAKE2B be4ddf050d2102cefded5b4967222df749ee8af92c2427c31a9b29b3800fac8bb328daf2c38d11aa307b51eb7d7243f9b064b3bf24d446a001e5520359ee83c3 SHA512 7fda582c3845ea663aa5eda21bb38ebcfb6c25bccf8944ea6cdf8b5be6946b5a874b36674a7f5db3e325abb9cca0dd9bc0727837fdceb71a8c947d96169a9b20 -DIST qemu-10.0.3.tar.xz 135736600 BLAKE2B 382800d9a9f5241123ebeb43d8eaa6a4aaf9acae0df7a25f2c7831aa7eeb97014cff29886c53f03ea0a1ac98729b85bad1e4d5634e592a373af84f79a9219adc SHA512 7f37c2df5ac7048fb32f1d89a7c2da0929be9d2f5767bc209ca1e99167f196fb5867fc8b69f915c8c349c58089ce3d7e08c9a3f35a73223abff258b9a5bf3466 -DIST qemu-10.0.4.tar.xz 141652160 BLAKE2B 987b69f2d9f2e98a1447c321a00a5c8df7114285c2bfabe7e127d57afb8b1d0b56dc34967be9e161652fd07dc25a0b09135a01758a82973ef819d71a2d5c6748 SHA512 1737124306b293401362ce33b5ce226df237cc577466afdff510b7f8e851e16708c7ec8d282e86dce3d66b54d1ff14876ac448061faf43d59de375b817155a1e DIST qemu-10.0.5.tar.xz 141642600 BLAKE2B bd7abfd5a977cf47862f0a7b26ce4e36c857dd858e0d0def652c00e9186fe476f461005b673bac6031162b5de47d412c1b7faebdbf4456487501f6d4a37f69b7 SHA512 c87948868910f458aeb724ebfe71db10f0ca1e9e0e6b4c4f082c2776d1c8f64c36f65bc5714d4625f6919d4064452f4378a7578273b69db6d4295d90b75fc86f -DIST qemu-10.0.6.tar.xz 141762220 BLAKE2B 89ee1fd339b2ca047023b738415f839d2042cfbdb9305901fecc70142f2d8d208a34562d81e803ddd2438964adb36b7965ca92538f91f98291e97c43b61baa12 SHA512 7d5c2c28c74517909a1dcbf517cf88631241afc24e25e5a5bc8ead2af3c818360e1ce8241cb477deeae528aab3e198ba40a5bb78c6205b28430600c0f2f5294b +DIST qemu-10.0.7.tar.xz 141766020 BLAKE2B 13016dfe09da81417f3359f980b2b62a857a28e6acce2b01eba3f397b985c422e52f3c68724bfad73ce6fbeec65cabb02d2df09f08340f9dad68578d5e3f801e SHA512 6def50d5ed08fde787e982a5ae668f97323d40f1996bc299c4c79fbd2944eb14c3f4d1ceab977a0fe6f80298825a5285decc20afca1966a738900932fbfeb31d DIST qemu-10.1.0-docs.tar.xz 2788092 BLAKE2B c9f1138e6eb19966da05b5be6e28640cabf698cb7c4247e0a69b29ed71d462423ba356efc8c0f26a727a58b4adc84edc3eefbff12a35e0c93e475f0ab51e6ff7 SHA512 96d9133d83991014c3ce9a57273a017f45bf29ae3f7029c5b926c8c5fbfd0e8da80dbbecca038b981312cec68b931a0471837a0aebd3e5dbc1648eb49e28ecc9 -DIST qemu-10.1.0.tar.xz 141999456 BLAKE2B 025012e73cdd2468b1b0fdef9b34aae41893780cfcad0d52c05e7f67ff7a9969c8c596f006b8a7e6f1b59e39da8fdec07d6f241911c604502755acd26bb750b6 SHA512 20552a524b6b298181df1af7084b470ded3fe8d1505f05011dda3c33cbc3d91f518ce026b44ba1a8b7f34c64ae81afddceda383066f4772a3a2a6333a2638caf -DIST qemu-10.1.1.tar.xz 142046220 BLAKE2B 3617898fb4275e1e18f9567e9a9137ad0f3e3e3bc6a1b77301fd59614047757d77a9b810ece2e504ff47c1b98e2b9881a1ff551a4bc356c87c0d5d85f471a59b SHA512 72ca08894fb63c734163a53c6a836a6237de0f9f4ece4570e871bf80bcfba43fb5d4f11715564e0aef7244b7b3c4fe1890d5f10bbb05528b592d25cd95a57dfa DIST qemu-10.1.2.tar.xz 142050300 BLAKE2B 6e6e27c5de4f70f928a19ef64c00adbcb9723882db3eabd6acd7543f6b3d886db2862cf75ddcec86012c103d6927be464f03e2a3e91873b87cbbcafa0be95671 SHA512 4defbcb78f65ba3d8079466bdb3ab29e26f10129723e045d34901e7d524656e5ff729dc97fb33537febe2596eb0b21a02aadd88007eb5b226e599bd236213263 +DIST qemu-10.1.3.tar.xz 142006316 BLAKE2B d0e3781a7fe84190eb96e9dd34860222b74fd73da182684f289c359c2555e8b02c0f3e77d3342837fe2ff5c5ce3ad81dac642fae9eab1d9e52f2bcac28ffe6c0 SHA512 67608a5a422c93c494159d649a0afb296231ec2d96a6fc03b119375da4180162ba25a74bb6204a8cb36375709c1f682ef56c42961816dc2107f4d67bb8e10db4 +DIST qemu-10.2.0-docs.tar.xz 2858324 BLAKE2B 0c7a66f401ace63568cb9bb09fbfa4a456037f2d9712576211c57674d3aa6dacf9c22e92f1b92bc92794b61f0bc674fa4e1c415fd4873330df4befc492395382 SHA512 f078f0a219a52a3bcb18d046b3b0b297cfba5dc1181ee67db45919fede46db2c0d83288ab430bff1673fca8ae39cb99d10d9b770b52970e324f4b6d94374c937 +DIST qemu-10.2.0.tar.xz 141093360 BLAKE2B f0522a35221fbb4b2b2703c3a75be663e13a10357816ea60562323481c41bb18a93bf7202697df8a8b8f44e7685299ab3ffdc6bb791d785d8e4146658134d600 SHA512 cd910090cf8146fdd30151bded8bebe43d9e7fce8b84d9f87130a99d0bd908f310f4bef5484b53a56c29dd7a08410890d02d0a7ab90ce6af73522ff8ba5b364e DIST qemu-9.1.0-docs.tar.xz 2376072 BLAKE2B 31d13133b3a2e21a7d9b5af028407610ae8f2fa61dd296fc35e57fc12eb66cfd1a39ec5e3b5a3852095d10a388f424f8a38417b3ab58ca30d0817ece779328cf SHA512 5b705b577daad6aa010d5c713db9dc314114334b89901840ebcecc9032595a969f5ad9054e42b36b2be5ef9f5d6dc1159841ff46dbb08314b5c48491aa631040 DIST qemu-9.1.3.tar.xz 132492084 BLAKE2B 268c8fb91dd5fc4e393a46a578537338861e5d2a92c381517447c6c2fe67604ed9aacc96371c864dc7f4a800cc9b9f94118d17c5dcc24f3fac5be0a18ca553e5 SHA512 e7b938e72eb4a8a4a6680ce3b282a4e5cbd1ad30003bed959e51ea2621acea7434b4366ef6559e3622fac8865ad212702f393ba7698be38cf2fc8f264b951318 DIST qemu-9.2.0-docs.tar.xz 2431076 BLAKE2B 420148b9d7cafbdc9aea21b0d0a84a53ca0d17fb99fc34ae4c0786fa7d4ce40838f4b3173508b90742d6dfbfd4b58dda25b2e5cd1394241b0b56a64fe5705d9b SHA512 88816e326e9eac9acf0a1c73e677552845d6885e220b55e795241c40d2c1bd1b1994a22e56f95046e420225e0b7dc839d459f1c1e5318c8c36392727a86b3008 diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-5.2.0-disable-keymap.patch b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-5.2.0-disable-keymap.patch deleted file mode 100644 index 4b5676be4d2..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-5.2.0-disable-keymap.patch +++ /dev/null @@ -1,25 +0,0 @@ -Do not use system's 'qemu-keymap' in native case. ---- a/meson.build -+++ b/meson.build -@@ -337,6 +337,8 @@ if 'CONFIG_LIBCAP_NG' in config_host - endif - if get_option('xkbcommon').auto() and not have_system and not have_tools - xkbcommon = not_found -+elif get_option('xkbcommon').disabled() -+ xkbcommon = not_found - else - xkbcommon = dependency('xkbcommon', required: get_option('xkbcommon'), - method: 'pkg-config', static: enable_static) ---- a/pc-bios/keymaps/meson.build -+++ b/pc-bios/keymaps/meson.build -@@ -33,7 +33,9 @@ keymaps = { - 'tr': '-l tr', - } - --if meson.is_cross_build() or 'CONFIG_XKBCOMMON' not in config_host -+if meson.is_cross_build() - native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true) -+elif get_option('xkbcommon').disabled() -+ native_qemu_keymap = not_found - else - native_qemu_keymap = qemu_keymap diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-6.0.0-make.patch b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-6.0.0-make.patch deleted file mode 100644 index 2dac1ca11d9..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-6.0.0-make.patch +++ /dev/null @@ -1,14 +0,0 @@ -Allow MAKE='make V=1' and similar. - -https://bugs.gentoo.org/795678 ---- a/configure -+++ b/configure -@@ -1953,7 +1953,7 @@ if test -z "$python" - then - error_exit "Python not found. Use --python=/path/to/python" - fi --if ! has "$make" -+if ! has $make - then - error_exit "GNU make ($make) not found" - fi diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-7.1.0-also-build-virtfs-proxy-helper.patch b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-7.1.0-also-build-virtfs-proxy-helper.patch deleted file mode 100644 index b6f3078a690..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-7.1.0-also-build-virtfs-proxy-helper.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d02ea89239768c93651a161d057f2bf04d56a024 Mon Sep 17 00:00:00 2001 -From: Matthias Maier -Date: Mon, 4 Apr 2022 12:56:59 +0200 -Subject: [PATCH] also build virtfs-proxy-helper - -The Gentoo ebuild splits the qemu build into a softmmu, user and tool -phase in order to be able to build and link some of the qemu emulators -statically. This unfortunately has the consequence that we never -configure with "have_virtfs" and "have_tools" at the same time. - -As a workaround, simply build the virtfs userland unconditionally. After -all, it is a tiny executable ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 65a885ea69..29ce7a5a8e 100644 ---- a/meson.build -+++ b/meson.build -@@ -1684,7 +1684,7 @@ have_virtfs = get_option('virtfs') \ - .disable_auto_if(not have_tools and not have_system) \ - .allowed() - --have_virtfs_proxy_helper = targetos != 'darwin' and have_virtfs and have_tools -+have_virtfs_proxy_helper = have_tools and libattr.found() and libcap_ng.found() - - if get_option('block_drv_ro_whitelist') == '' - config_host_data.set('CONFIG_BDRV_RO_WHITELIST', '') --- -2.35.1 - diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-7.1.0-capstone-include-path.patch b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-7.1.0-capstone-include-path.patch deleted file mode 100644 index 585e798345f..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-7.1.0-capstone-include-path.patch +++ /dev/null @@ -1,31 +0,0 @@ -Forward ported from qemu-2.11.1-capstone_include_path.patch. -This time also fix the capstone.h header check to use the path we're -already patching in. - -Bug: https://bugs.gentoo.org/873157 -diff --git a/include/disas/capstone.h b/include/disas/capstone.h -index e29068dd97..d8fdc5d537 100644 ---- a/include/disas/capstone.h -+++ b/include/disas/capstone.h -@@ -3,7 +3,7 @@ - - #ifdef CONFIG_CAPSTONE - --#include -+#include - - #else - -diff --git a/meson.build b/meson.build -index 20fddbd707..50ce96bbd1 100644 ---- a/meson.build -+++ b/meson.build -@@ -2605,7 +2605,7 @@ if not get_option('capstone').auto() or have_system or have_user - # that reports a wrong -I path, causing the #include to - # fail later. If the system has such a broken version - # do not use it. -- if capstone.found() and not cc.compiles('#include ', -+ if capstone.found() and not cc.compiles('#include ', - dependencies: [capstone]) - capstone = not_found - if get_option('capstone').enabled() diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-7.2.0-disable-gmp.patch b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-7.2.0-disable-gmp.patch deleted file mode 100644 index 3050228b4e0..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-7.2.0-disable-gmp.patch +++ /dev/null @@ -1,45 +0,0 @@ -commit 433c2acd1b9c3f7f5903273e85fed9a7f9157b23 -Author: John Helmert III -Date: Wed Jan 4 12:25:08 2023 -0600 - - meson.build: disable gmp - - gmp isn't required, and we want to avoid linking to it automatigcally - in Gentoo. - - Bug: https://bugs.gentoo.org/886207 - Signed-off-by: John Helmert III - -diff --git a/meson.build b/meson.build -index 5c6b5a1c75..2f9550362d 100644 ---- a/meson.build -+++ b/meson.build -@@ -1234,15 +1234,6 @@ if not gnutls_crypto.found() - endif - endif - --gmp = dependency('gmp', required: false, method: 'pkg-config', kwargs: static_kwargs) --if nettle.found() and gmp.found() -- hogweed = dependency('hogweed', version: '>=3.4', -- method: 'pkg-config', -- required: get_option('nettle'), -- kwargs: static_kwargs) --endif -- -- - gtk = not_found - gtkx11 = not_found - vte = not_found -diff --git a/meson_options.txt b/meson_options.txt -index 4b749ca549..e06b274960 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -277,6 +277,8 @@ option('vduse_blk_export', type: 'feature', value: 'auto', - - option('capstone', type: 'feature', value: 'auto', - description: 'Whether and how to find the capstone library') -+option('gmp', type: 'feature', value: 'auto', -+ description: 'Whether or not to find the gmp library') - option('fdt', type: 'combo', value: 'auto', - choices: ['disabled', 'enabled', 'auto', 'system', 'internal'], - description: 'Whether and how to find the libfdt library') diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-8.0.0-disable-keymap.patch b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-8.0.0-disable-keymap.patch deleted file mode 100644 index 6a5437056e6..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-8.0.0-disable-keymap.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/meson.build b/meson.build -index c44d05a13..5c5c09894 100644 ---- a/meson.build -+++ b/meson.build -@@ -671,6 +671,8 @@ endif - - if get_option('xkbcommon').auto() and not have_system and not have_tools - xkbcommon = not_found -+elif get_option('xkbcommon').disabled() -+ xkbcommon = not_found - else - xkbcommon = dependency('xkbcommon', required: get_option('xkbcommon'), - method: 'pkg-config', kwargs: static_kwargs) -diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build -index 158a3b410..3bb318a23 100644 ---- a/pc-bios/keymaps/meson.build -+++ b/pc-bios/keymaps/meson.build -@@ -33,8 +33,10 @@ keymaps = { - 'tr': '-l tr', - } - --if meson.is_cross_build() or not xkbcommon.found() -+if meson.is_cross_build() - native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true) -+elif get_option('xkbcommon').disabled() -+ native_qemu_keymap = not_found - else - native_qemu_keymap = qemu_keymap - endif diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-8.1.0-also-build-virtfs-proxy-helper.patch b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-8.1.0-also-build-virtfs-proxy-helper.patch deleted file mode 100644 index 61ea0f36d90..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-8.1.0-also-build-virtfs-proxy-helper.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d02ea89239768c93651a161d057f2bf04d56a024 Mon Sep 17 00:00:00 2001 -From: Matthias Maier -Date: Mon, 4 Apr 2022 12:56:59 +0200 -Subject: [PATCH] also build virtfs-proxy-helper - -The Gentoo ebuild splits the qemu build into a softmmu, user and tool -phase in order to be able to build and link some of the qemu emulators -statically. This unfortunately has the consequence that we never -configure with "have_virtfs" and "have_tools" at the same time. - -As a workaround, simply build the virtfs userland unconditionally. After -all, it is a tiny executable ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 063c736aee..fda8639293 100644 ---- a/meson.build -+++ b/meson.build -@@ -2008,8 +2008,6 @@ have_virtfs = get_option('virtfs') \ - .allowed() - - have_virtfs_proxy_helper = get_option('virtfs_proxy_helper') \ -- .require(targetos != 'darwin', error_message: 'the virtfs proxy helper is incompatible with macOS') \ -- .require(have_virtfs, error_message: 'the virtfs proxy helper requires that virtfs is enabled') \ - .disable_auto_if(not have_tools) \ - .require(libcap_ng.found(), error_message: 'the virtfs proxy helper requires libcap-ng') \ - .allowed() --- -2.35.1 - diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.0.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.0.ebuild deleted file mode 100644 index 873d979e238..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.0.ebuild +++ /dev/null @@ -1,1000 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} -QEMU_DOCS_PREBUILT_DEV=sam -QEMU_DOCS_VERSION=$(ver_cut 1-2).0 -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -# bug #830088 -QEMU_DOC_USEFLAG="+doc" - -PYTHON_COMPAT=( python3_{11..13} ) -PYTHON_REQ_USE="ensurepip(-),ncurses,readline" - -FIRMWARE_ABI_VERSION="7.2.0" - -inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \ - readme.gentoo-r1 pax-utils xdg-utils - -if [[ ${PV} == *9999* ]]; then - QEMU_DOCS_PREBUILT=0 - - EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/" - EGIT_SUBMODULES=() - inherit git-r3 - declare -A SUBPROJECTS=( - [keycodemapdb]="f5772a62ec52591ff6870b7e8ef32482371f22c6" - [berkeley-softfloat-3]="b64af41c3276f97f0e181920400ee056b9c88037" - [berkeley-testfloat-3]="e7af9751d9f9fd3b47911f51a5cfd08af256a9ab" - ) - - for proj in "${!SUBPROJECTS[@]}"; do - c=${SUBPROJECTS[${proj}]} - SRC_URI+=" https://gitlab.com/qemu-project/${proj}/-/archive/${c}/${proj}-${c}.tar.bz2" - done -else - MY_P="${PN}-${PV/_rc/-rc}" - SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" - - if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )" - fi - - S="${WORKDIR}/${MY_P}" - [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" - -[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc" - -IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG} - +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring - jack jemalloc +jpeg keyutils - lzo multipath - ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire - plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux - +slirp - smartcard snappy spice ssh static-user systemtap test udev usb - usbredir vde +vhost-net virgl virtfs +vnc vte wayland X xattr xdp xen - zstd" - -COMMON_TARGETS=" - aarch64 - alpha - arm - hppa - i386 - loongarch64 - m68k - microblaze - microblazeel - mips - mips64 - mips64el - mipsel - or1k - ppc - ppc64 - riscv32 - riscv64 - s390x - sh4 - sh4eb - sparc - sparc64 - x86_64 - xtensa - xtensaeb -" -IUSE_SOFTMMU_TARGETS=" - ${COMMON_TARGETS} - avr - rx - tricore -" -IUSE_USER_TARGETS=" - ${COMMON_TARGETS} - aarch64_be - armeb - hexagon - mipsn32 - mipsn32el - ppc64le - sparc32plus -" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -RESTRICT="!test? ( test )" - -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - qemu_softmmu_targets_x86_64? ( fdt ) - sdl-image? ( sdl ) - static-user? ( !plugins ) - virgl? ( opengl ) - virtfs? ( xattr ) - vnc? ( gnutls ) - vte? ( gtk ) - multipath? ( udev ) - plugins? ( !static-user ) - xdp? ( bpf ) -" -for smname in ${IUSE_SOFTMMU_TARGETS} ; do - REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )" -done - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - dev-libs/glib:2[static-libs(+)] - virtual/zlib:=[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-debug/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] ) -" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bpf? ( >=dev-libs/libbpf-1.1.0:= ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:=[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] ) - fuse? ( >=sys-fs/fuse-3.1:3=[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - >=net-libs/gnutls-3.0:=[static-libs(+)] - dev-libs/nettle:=[static-libs(+)] - ) - gtk? ( - x11-libs/gtk+:3[wayland?,X?] - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( sys-cluster/rdma-core[static-libs(+)] ) - iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing:=[static-libs(+)] ) - jack? ( virtual/jack ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] ) - kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] ) - keyutils? ( sys-apps/keyutils[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - multipath? ( sys-fs/multipath-tools ) - ncurses? ( - sys-libs/ncurses:=[unicode(+)] - sys-libs/ncurses:=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl(+),gbm(+)] - ) - pam? ( sys-libs/pam ) - pipewire? ( >=media-video/pipewire-0.3.60 ) - png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] ) - pulseaudio? ( media-libs/libpulse ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[video] - media-libs/libsdl2[static-libs(+)] - ) - sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - slirp? ( net-libs/libslirp[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.14.0 - >=app-emulation/spice-0.14.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) - udev? ( virtual/libudev:= ) - usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xdp? ( net-libs/xdp-tools ) - xen? ( app-emulation/xen-tools:= ) - zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) -" - -EDK2_OVMF_VERSION="202202" -SEABIOS_VERSION="1.16.3" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ~sys-firmware/ipxe-1.21.1_p20230601[binary,qemu] - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ~sys-firmware/sgabios-0.1_pre10[binary] - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/edk2-${EDK2_OVMF_VERSION} - >=sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ) - sys-firmware/ipxe[qemu] - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - sys-firmware/sgabios - ) -" -PPC_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - ) -" - -# See bug #913084 for pip dep -BDEPEND=" - ${PYTHON_DEPS} - dev-python/distlib[${PYTHON_USEDEP}] - dev-lang/perl - >=dev-build/meson-0.63.0 - app-alternatives/ninja - virtual/pkgconfig - doc? ( - >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}] - dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] - ) - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - app-alternatives/bc - dev-libs/glib[utils] - dev-python/pycotap[${PYTHON_USEDEP}] - ) -" -CDEPEND=" - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) -" -DEPEND=" - ${CDEPEND} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static-user? ( ${ALL_DEPEND} ) -" -RDEPEND=" - ${CDEPEND} - acct-group/kvm - selinux? ( - sec-policy/selinux-qemu - sys-libs/libselinux - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch - "${FILESDIR}"/${PN}-9.2.0-capstone-include-path.patch - "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch - "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch - "${FILESDIR}"/${PN}-7.2.16-optionrom-pass-Wl-no-error-rwx-segments.patch -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/hppa-firmware64.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf - usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500 -" - -QA_WX_LOAD=" - usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32 -" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - $ gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - $ udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requires a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - use test && CONFIG_CHECK+=" IP_MULTICAST" - ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/configs/targets/ >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - for file in ${A}; do - unpack "${file}" - done - cd "${WORKDIR}" || die - for proj in "${!SUBPROJECTS[@]}"; do - mv "${proj}-${SUBPROJECTS[${proj}]}" "${S}/subprojects/${proj}" || die - done - cd "${S}" || die - meson subprojects packagefiles --apply || die - else - default - fi -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - default - - # Use correct toolchain to fix cross-compiling - tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS - export WINDRES=${CHOST}-windres - - # defang automagic dependencies - use X || append-flags -DGENTOO_GTK_HIDE_X11 - use wayland || append-flags -DGENTOO_GTK_HIDE_WAYLAND - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - cat >> "${S}"/configs/meson/linux.txt <<-EOF || die - [binaries] - dtrace='stap-dtrace' - EOF - fi - - # Verbose builds - MAKEOPTS+=" V=1" - - # Remove bundled modules - rm -r roms/*/ || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" || die - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --bindir=/usr/bin - --libdir=/usr/$(get_libdir) - --datadir=/usr/share - --docdir=/usr/share/doc/${PF}/html - --mandir=/usr/share/man - --localstatedir=/var - --disable-bsd-user - --disable-containers # bug #732972 - --disable-guest-agent - --disable-strip - --disable-download - --python="${PYTHON}" - - # bug #746752: TCG interpreter has a few limitations: - # - it does not support FPU - # - it's generally slower on non-self-modifying code - # It's advantage is support for host architectures - # where native codegeneration is not implemented. - # Gentoo has qemu keyworded only on targets with - # native code generation available. Avoid the interpreter. - --disable-tcg-interpreter - - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --objcc="$(tc-getCC)" - --host-cc="$(tc-getBUILD_CC)" - - $(use_enable alsa) - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - $(use_enable jack) - $(use_enable nls gettext) - $(use_enable oss) - $(use_enable pipewire) - $(use_enable plugins) - $(use_enable pulseaudio pa) - $(use_enable selinux) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - # Enable option only for softmmu build, but not 'user' or 'tools' - conf_softmmu() { - if [[ ${buildtype} == "softmmu" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Enable option only for tools build, but not 'user' or 'softmmu' - conf_tools() { - if [[ ${buildtype} == "tools" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Special case for the malloc flag, because the --disable flag does - # not exist and trying like above will break configuring. - conf_malloc() { - if [[ ! ${buildtype} == "user" ]] ; then - usex "${1}" "--enable-malloc=${1}" "" - fi - } - conf_opts+=( - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_softmmu bpf) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser curl) - $(conf_tools doc docs) - $(conf_notuser fdt) - $(conf_notuser fuse) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser io-uring linux-io-uring) - $(conf_malloc jemalloc) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser keyutils libkeyutils) - $(conf_notuser lzo) - $(conf_notuser multipath mpath) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser pam auth-pam) - $(conf_notuser png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_softmmu sdl-image) - $(conf_notuser seccomp) - $(conf_notuser slirp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh) - $(conf_notuser udev libudev) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser virgl virglrenderer) - $(conf_softmmu virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_softmmu xdp af-xdp) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - # use prebuilt keymaps, bug #759604 - --disable-xkbcommon - $(conf_notuser zstd) - ) - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts=( - # Note: backend order matters here: #716202 - # We iterate from higher-level to lower level. - $(usex pulseaudio pa "") - $(usev pipewire) - $(usev jack) - $(usev sdl) - $(usev alsa) - $(usev oss) - ) - conf_opts+=( - --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}") - ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-tools - --disable-cap-ng - --disable-seccomp - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - --enable-cap-ng - --enable-seccomp - --disable-libcbor - ) - local static_flag="none" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --enable-tools - --enable-cap-ng - ) - local static_flag="none" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTap - use systemtap && conf_opts+=( --enable-trace-backends="dtrace" ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if [[ ${static_flag} != "none" ]] && use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - # Meson will not use a cross-file unless cross_prefix is set. - tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) - - # Plumb through equivalent of EXTRA_ECONF to allow experiments - # like bug #747928. - conf_opts+=( ${EXTRA_CONF_QEMU} ) - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" || die - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - default - fi - - cd "${S}/tools-build" || die - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - pax-mark m */qemu-system-* #515550 - emake check - fi -} - -qemu_python_install() { - python_domodule "${S}/python/qemu" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dodoc check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" || die - emake DESTDIR="${ED}" install - - # If USE=doc, there'll be newly generated docs which we install instead. - if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8] - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null || die - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null || die - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" || die - dodoc MAINTAINERS - newdoc pc-bios/README README.pc-bios - - # Disallow stripping of prebuilt firmware files. - dostrip -x ${QA_PREBUILT} - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - - # PPC/PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - xdg_icon_cache_update - - [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps -m u+s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && ver_replacing -lt ${FIRMWARE_ABI_VERSION}; then - ewarn "This version of qemu pins new versions of firmware blobs:" - - if has_version 'sys-firmware/edk2-bin'; then - ewarn " $(best_version sys-firmware/edk2-bin)" - else - ewarn " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - ewarn " $(best_version sys-firmware/seabios-bin)" - else - ewarn " $(best_version sys-firmware/seabios)" - fi - - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - - if has_version 'sys-firmware/edk2-bin'; then - echo " $(best_version sys-firmware/edk2-bin)" - else - echo " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - echo " $(best_version sys-firmware/seabios-bin)" - else - echo " $(best_version sys-firmware/seabios)" - fi - - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/sgabios)" -} - -pkg_postrm() { - xdg_icon_cache_update - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.2-r50.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.2-r50.ebuild deleted file mode 100644 index bc60226762b..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.2-r50.ebuild +++ /dev/null @@ -1,1013 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} -QEMU_DOCS_PREBUILT_DEV=sam -QEMU_DOCS_VERSION=$(ver_cut 1-2).0 -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -# bug #830088 -QEMU_DOC_USEFLAG="+doc" - -PYTHON_COMPAT=( python3_{11..13} ) -PYTHON_REQ_USE="ensurepip(-),ncurses,readline" - -inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \ - readme.gentoo-r1 pax-utils xdg-utils - -if [[ ${PV} == *9999* ]]; then - QEMU_DOCS_PREBUILT=0 - - EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/" - EGIT_SUBMODULES=() - inherit git-r3 - declare -A SUBPROJECTS=( - [keycodemapdb]="f5772a62ec52591ff6870b7e8ef32482371f22c6" - [berkeley-softfloat-3]="b64af41c3276f97f0e181920400ee056b9c88037" - [berkeley-testfloat-3]="e7af9751d9f9fd3b47911f51a5cfd08af256a9ab" - ) - - for proj in "${!SUBPROJECTS[@]}"; do - c=${SUBPROJECTS[${proj}]} - SRC_URI+=" https://gitlab.com/qemu-project/${proj}/-/archive/${c}/${proj}-${c}.tar.bz2" - done -else - MY_P="${PN}-${PV/_rc/-rc}" - SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" - - if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )" - fi - - S="${WORKDIR}/${MY_P}" - [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" - -[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc" - -IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG} - +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring - jack jemalloc +jpeg keyutils - lzo multipath - ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire - plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux - +slirp - smartcard snappy spice ssh static-user systemtap test udev usb - usbredir vde +vhost-net virgl virtfs +vnc vte wayland X xattr xdp xen - zstd" - -COMMON_TARGETS=" - aarch64 - alpha - arm - hppa - i386 - loongarch64 - m68k - microblaze - microblazeel - mips - mips64 - mips64el - mipsel - or1k - ppc - ppc64 - riscv32 - riscv64 - s390x - sh4 - sh4eb - sparc - sparc64 - x86_64 - xtensa - xtensaeb -" -IUSE_SOFTMMU_TARGETS=" - ${COMMON_TARGETS} - avr - rx - tricore -" -IUSE_USER_TARGETS=" - ${COMMON_TARGETS} - aarch64_be - armeb - hexagon - mipsn32 - mipsn32el - ppc64le - sparc32plus -" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -RESTRICT="!test? ( test )" - -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - qemu_softmmu_targets_x86_64? ( fdt ) - sdl-image? ( sdl ) - static-user? ( !plugins ) - virgl? ( opengl ) - virtfs? ( xattr ) - vnc? ( gnutls ) - vte? ( gtk ) - multipath? ( udev ) - plugins? ( !static-user ) - xdp? ( bpf ) -" -for smname in ${IUSE_SOFTMMU_TARGETS} ; do - REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )" -done - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - dev-libs/glib:2[static-libs(+)] - virtual/zlib:=[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-debug/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] ) -" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bpf? ( >=dev-libs/libbpf-1.1.0:= ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:=[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] ) - fuse? ( >=sys-fs/fuse-3.1:3=[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - >=net-libs/gnutls-3.0:=[static-libs(+)] - dev-libs/nettle:=[static-libs(+)] - ) - gtk? ( - x11-libs/gtk+:3[wayland?,X?] - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( sys-cluster/rdma-core[static-libs(+)] ) - iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing:=[static-libs(+)] ) - jack? ( virtual/jack ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] ) - kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] ) - keyutils? ( sys-apps/keyutils[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - multipath? ( sys-fs/multipath-tools ) - ncurses? ( - sys-libs/ncurses:=[unicode(+)] - sys-libs/ncurses:=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl(+),gbm(+)] - ) - pam? ( sys-libs/pam ) - pipewire? ( >=media-video/pipewire-0.3.60 ) - png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] ) - pulseaudio? ( media-libs/libpulse ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[video] - media-libs/libsdl2[static-libs(+)] - ) - sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - slirp? ( net-libs/libslirp[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.14.0 - >=app-emulation/spice-0.14.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) - udev? ( virtual/libudev:= ) - usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xdp? ( net-libs/xdp-tools ) - xen? ( app-emulation/xen-tools:= ) - zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) -" - -# -# With USE=+pin-upstream-blobs we pin firmware versions to known good -# version in order to minimize the frequency of disruptive changes. This -# avoids unnecessary frustration on user side because changing the firmware -# version can break resume of hibernated guest, inhibit live migrations, -# and might have other unwanted consequences. For now, let us try to -# synchronize firmware blobs with the ones bundled in upstream qemu. Simply -# check the upstream git repository for any changes, for example: -# https://github.com/qemu/qemu/tree/v10.0.2/roms for the 10.0.2 release. -# -# When changing pinned firmware versions -# - create a separate ebuild with revision -r50 -# - update the FIRMWARE_ABI_VERSION to the current package version -# - -FIRMWARE_ABI_VERSION="10.0.2" -EDK2_OVMF_VERSION="202408" -SEABIOS_VERSION="1.16.3" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ~sys-firmware/ipxe-1.21.1_p20230601[binary,qemu] - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ~sys-firmware/sgabios-0.1_pre10[binary] - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/edk2-${EDK2_OVMF_VERSION} - >=sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ) - sys-firmware/ipxe[qemu] - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - sys-firmware/sgabios - ) -" -PPC_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - ) -" - -# See bug #913084 for pip dep -BDEPEND=" - ${PYTHON_DEPS} - dev-python/distlib[${PYTHON_USEDEP}] - dev-lang/perl - >=dev-build/meson-0.63.0 - app-alternatives/ninja - virtual/pkgconfig - doc? ( - >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}] - dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] - ) - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - app-alternatives/bc - dev-libs/glib[utils] - dev-python/pycotap[${PYTHON_USEDEP}] - ) -" -CDEPEND=" - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) -" -DEPEND=" - ${CDEPEND} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static-user? ( ${ALL_DEPEND} ) -" -RDEPEND=" - ${CDEPEND} - acct-group/kvm - selinux? ( - sec-policy/selinux-qemu - sys-libs/libselinux - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch - "${FILESDIR}"/${PN}-9.2.0-capstone-include-path.patch - "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch - "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch - "${FILESDIR}"/${PN}-7.2.16-optionrom-pass-Wl-no-error-rwx-segments.patch -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/hppa-firmware64.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf - usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500 -" - -QA_WX_LOAD=" - usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32 -" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - # gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - # udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requires a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - use test && CONFIG_CHECK+=" IP_MULTICAST" - ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/configs/targets/ >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - for file in ${A}; do - unpack "${file}" - done - cd "${WORKDIR}" || die - for proj in "${!SUBPROJECTS[@]}"; do - mv "${proj}-${SUBPROJECTS[${proj}]}" "${S}/subprojects/${proj}" || die - done - cd "${S}" || die - meson subprojects packagefiles --apply || die - else - default - fi -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - default - - # Use correct toolchain to fix cross-compiling - tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS - export WINDRES=${CHOST}-windres - - # defang automagic dependencies - use X || append-flags -DGENTOO_GTK_HIDE_X11 - use wayland || append-flags -DGENTOO_GTK_HIDE_WAYLAND - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - cat >> "${S}"/configs/meson/linux.txt <<-EOF || die - [binaries] - dtrace='stap-dtrace' - EOF - fi - - # Verbose builds - MAKEOPTS+=" V=1" - - # Remove bundled modules - rm -r roms/*/ || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" || die - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --bindir=/usr/bin - --libdir=/usr/$(get_libdir) - --datadir=/usr/share - --docdir=/usr/share/doc/${PF}/html - --mandir=/usr/share/man - --localstatedir=/var - --disable-bsd-user - --disable-containers # bug #732972 - --disable-guest-agent - --disable-strip - --disable-download - --python="${PYTHON}" - - # bug #746752: TCG interpreter has a few limitations: - # - it does not support FPU - # - it's generally slower on non-self-modifying code - # It's advantage is support for host architectures - # where native codegeneration is not implemented. - # Gentoo has qemu keyworded only on targets with - # native code generation available. Avoid the interpreter. - --disable-tcg-interpreter - - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --objcc="$(tc-getCC)" - --host-cc="$(tc-getBUILD_CC)" - - $(use_enable alsa) - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - $(use_enable jack) - $(use_enable nls gettext) - $(use_enable oss) - $(use_enable pipewire) - $(use_enable plugins) - $(use_enable pulseaudio pa) - $(use_enable selinux) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - # Enable option only for softmmu build, but not 'user' or 'tools' - conf_softmmu() { - if [[ ${buildtype} == "softmmu" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Enable option only for tools build, but not 'user' or 'softmmu' - conf_tools() { - if [[ ${buildtype} == "tools" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Special case for the malloc flag, because the --disable flag does - # not exist and trying like above will break configuring. - conf_malloc() { - if [[ ! ${buildtype} == "user" ]] ; then - usex "${1}" "--enable-malloc=${1}" "" - fi - } - conf_opts+=( - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_softmmu bpf) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser curl) - $(conf_tools doc docs) - $(conf_notuser fdt) - $(conf_notuser fuse) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser io-uring linux-io-uring) - $(conf_malloc jemalloc) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser keyutils libkeyutils) - $(conf_notuser lzo) - $(conf_notuser multipath mpath) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser pam auth-pam) - $(conf_notuser png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_softmmu sdl-image) - $(conf_notuser seccomp) - $(conf_notuser slirp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh) - $(conf_notuser udev libudev) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser virgl virglrenderer) - $(conf_softmmu virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_softmmu xdp af-xdp) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - # use prebuilt keymaps, bug #759604 - --disable-xkbcommon - $(conf_notuser zstd) - ) - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts=( - # Note: backend order matters here: #716202 - # We iterate from higher-level to lower level. - $(usex pulseaudio pa "") - $(usev pipewire) - $(usev jack) - $(usev sdl) - $(usev alsa) - $(usev oss) - ) - conf_opts+=( - --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}") - ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-tools - --disable-cap-ng - --disable-seccomp - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - --enable-cap-ng - --enable-seccomp - --disable-libcbor - ) - local static_flag="none" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --enable-tools - --enable-cap-ng - ) - local static_flag="none" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTap - use systemtap && conf_opts+=( --enable-trace-backends="dtrace" ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if [[ ${static_flag} != "none" ]] && use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - # Meson will not use a cross-file unless cross_prefix is set. - tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) - - # Plumb through equivalent of EXTRA_ECONF to allow experiments - # like bug #747928. - conf_opts+=( ${EXTRA_CONF_QEMU} ) - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" || die - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - default - fi - - cd "${S}/tools-build" || die - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - pax-mark m */qemu-system-* #515550 - emake check - fi -} - -qemu_python_install() { - python_domodule "${S}/python/qemu" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dodoc check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" || die - emake DESTDIR="${ED}" install - - # If USE=doc, there'll be newly generated docs which we install instead. - if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8] - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null || die - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null || die - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" || die - dodoc MAINTAINERS - newdoc pc-bios/README README.pc-bios - - # Disallow stripping of prebuilt firmware files. - dostrip -x ${QA_PREBUILT} - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - - # PPC/PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - xdg_icon_cache_update - - [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps -m u+s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && ver_replacing -lt ${FIRMWARE_ABI_VERSION}; then - ewarn "This version of qemu pins new versions of firmware blobs:" - - if has_version 'sys-firmware/edk2-bin'; then - ewarn " $(best_version sys-firmware/edk2-bin)" - else - ewarn " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - ewarn " $(best_version sys-firmware/seabios-bin)" - else - ewarn " $(best_version sys-firmware/seabios)" - fi - - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - - if has_version 'sys-firmware/edk2-bin'; then - echo " $(best_version sys-firmware/edk2-bin)" - else - echo " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - echo " $(best_version sys-firmware/seabios-bin)" - else - echo " $(best_version sys-firmware/seabios)" - fi - - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/sgabios)" -} - -pkg_postrm() { - xdg_icon_cache_update - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.2.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.2.ebuild deleted file mode 100644 index 757ca18112c..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.2.ebuild +++ /dev/null @@ -1,1000 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} -QEMU_DOCS_PREBUILT_DEV=sam -QEMU_DOCS_VERSION=$(ver_cut 1-2).0 -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -# bug #830088 -QEMU_DOC_USEFLAG="+doc" - -PYTHON_COMPAT=( python3_{11..13} ) -PYTHON_REQ_USE="ensurepip(-),ncurses,readline" - -FIRMWARE_ABI_VERSION="7.2.0" - -inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \ - readme.gentoo-r1 pax-utils xdg-utils - -if [[ ${PV} == *9999* ]]; then - QEMU_DOCS_PREBUILT=0 - - EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/" - EGIT_SUBMODULES=() - inherit git-r3 - declare -A SUBPROJECTS=( - [keycodemapdb]="f5772a62ec52591ff6870b7e8ef32482371f22c6" - [berkeley-softfloat-3]="b64af41c3276f97f0e181920400ee056b9c88037" - [berkeley-testfloat-3]="e7af9751d9f9fd3b47911f51a5cfd08af256a9ab" - ) - - for proj in "${!SUBPROJECTS[@]}"; do - c=${SUBPROJECTS[${proj}]} - SRC_URI+=" https://gitlab.com/qemu-project/${proj}/-/archive/${c}/${proj}-${c}.tar.bz2" - done -else - MY_P="${PN}-${PV/_rc/-rc}" - SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" - - if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )" - fi - - S="${WORKDIR}/${MY_P}" - [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" - -[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc" - -IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG} - +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring - jack jemalloc +jpeg keyutils - lzo multipath - ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire - plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux - +slirp - smartcard snappy spice ssh static-user systemtap test udev usb - usbredir vde +vhost-net virgl virtfs +vnc vte wayland X xattr xdp xen - zstd" - -COMMON_TARGETS=" - aarch64 - alpha - arm - hppa - i386 - loongarch64 - m68k - microblaze - microblazeel - mips - mips64 - mips64el - mipsel - or1k - ppc - ppc64 - riscv32 - riscv64 - s390x - sh4 - sh4eb - sparc - sparc64 - x86_64 - xtensa - xtensaeb -" -IUSE_SOFTMMU_TARGETS=" - ${COMMON_TARGETS} - avr - rx - tricore -" -IUSE_USER_TARGETS=" - ${COMMON_TARGETS} - aarch64_be - armeb - hexagon - mipsn32 - mipsn32el - ppc64le - sparc32plus -" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -RESTRICT="!test? ( test )" - -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - qemu_softmmu_targets_x86_64? ( fdt ) - sdl-image? ( sdl ) - static-user? ( !plugins ) - virgl? ( opengl ) - virtfs? ( xattr ) - vnc? ( gnutls ) - vte? ( gtk ) - multipath? ( udev ) - plugins? ( !static-user ) - xdp? ( bpf ) -" -for smname in ${IUSE_SOFTMMU_TARGETS} ; do - REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )" -done - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - dev-libs/glib:2[static-libs(+)] - virtual/zlib:=[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-debug/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] ) -" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bpf? ( >=dev-libs/libbpf-1.1.0:= ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:=[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] ) - fuse? ( >=sys-fs/fuse-3.1:3=[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - >=net-libs/gnutls-3.0:=[static-libs(+)] - dev-libs/nettle:=[static-libs(+)] - ) - gtk? ( - x11-libs/gtk+:3[wayland?,X?] - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( sys-cluster/rdma-core[static-libs(+)] ) - iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing:=[static-libs(+)] ) - jack? ( virtual/jack ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] ) - kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] ) - keyutils? ( sys-apps/keyutils[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - multipath? ( sys-fs/multipath-tools ) - ncurses? ( - sys-libs/ncurses:=[unicode(+)] - sys-libs/ncurses:=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl(+),gbm(+)] - ) - pam? ( sys-libs/pam ) - pipewire? ( >=media-video/pipewire-0.3.60 ) - png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] ) - pulseaudio? ( media-libs/libpulse ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[video] - media-libs/libsdl2[static-libs(+)] - ) - sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - slirp? ( net-libs/libslirp[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.14.0 - >=app-emulation/spice-0.14.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) - udev? ( virtual/libudev:= ) - usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xdp? ( net-libs/xdp-tools ) - xen? ( app-emulation/xen-tools:= ) - zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) -" - -EDK2_OVMF_VERSION="202202" -SEABIOS_VERSION="1.16.3" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ~sys-firmware/ipxe-1.21.1_p20230601[binary,qemu] - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ~sys-firmware/sgabios-0.1_pre10[binary] - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/edk2-${EDK2_OVMF_VERSION} - >=sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ) - sys-firmware/ipxe[qemu] - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - sys-firmware/sgabios - ) -" -PPC_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - ) -" - -# See bug #913084 for pip dep -BDEPEND=" - ${PYTHON_DEPS} - dev-python/distlib[${PYTHON_USEDEP}] - dev-lang/perl - >=dev-build/meson-0.63.0 - app-alternatives/ninja - virtual/pkgconfig - doc? ( - >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}] - dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] - ) - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - app-alternatives/bc - dev-libs/glib[utils] - dev-python/pycotap[${PYTHON_USEDEP}] - ) -" -CDEPEND=" - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) -" -DEPEND=" - ${CDEPEND} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static-user? ( ${ALL_DEPEND} ) -" -RDEPEND=" - ${CDEPEND} - acct-group/kvm - selinux? ( - sec-policy/selinux-qemu - sys-libs/libselinux - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch - "${FILESDIR}"/${PN}-9.2.0-capstone-include-path.patch - "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch - "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch - "${FILESDIR}"/${PN}-7.2.16-optionrom-pass-Wl-no-error-rwx-segments.patch -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/hppa-firmware64.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf - usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500 -" - -QA_WX_LOAD=" - usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32 -" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - # gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - # udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requires a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - use test && CONFIG_CHECK+=" IP_MULTICAST" - ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/configs/targets/ >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - for file in ${A}; do - unpack "${file}" - done - cd "${WORKDIR}" || die - for proj in "${!SUBPROJECTS[@]}"; do - mv "${proj}-${SUBPROJECTS[${proj}]}" "${S}/subprojects/${proj}" || die - done - cd "${S}" || die - meson subprojects packagefiles --apply || die - else - default - fi -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - default - - # Use correct toolchain to fix cross-compiling - tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS - export WINDRES=${CHOST}-windres - - # defang automagic dependencies - use X || append-flags -DGENTOO_GTK_HIDE_X11 - use wayland || append-flags -DGENTOO_GTK_HIDE_WAYLAND - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - cat >> "${S}"/configs/meson/linux.txt <<-EOF || die - [binaries] - dtrace='stap-dtrace' - EOF - fi - - # Verbose builds - MAKEOPTS+=" V=1" - - # Remove bundled modules - rm -r roms/*/ || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" || die - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --bindir=/usr/bin - --libdir=/usr/$(get_libdir) - --datadir=/usr/share - --docdir=/usr/share/doc/${PF}/html - --mandir=/usr/share/man - --localstatedir=/var - --disable-bsd-user - --disable-containers # bug #732972 - --disable-guest-agent - --disable-strip - --disable-download - --python="${PYTHON}" - - # bug #746752: TCG interpreter has a few limitations: - # - it does not support FPU - # - it's generally slower on non-self-modifying code - # It's advantage is support for host architectures - # where native codegeneration is not implemented. - # Gentoo has qemu keyworded only on targets with - # native code generation available. Avoid the interpreter. - --disable-tcg-interpreter - - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --objcc="$(tc-getCC)" - --host-cc="$(tc-getBUILD_CC)" - - $(use_enable alsa) - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - $(use_enable jack) - $(use_enable nls gettext) - $(use_enable oss) - $(use_enable pipewire) - $(use_enable plugins) - $(use_enable pulseaudio pa) - $(use_enable selinux) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - # Enable option only for softmmu build, but not 'user' or 'tools' - conf_softmmu() { - if [[ ${buildtype} == "softmmu" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Enable option only for tools build, but not 'user' or 'softmmu' - conf_tools() { - if [[ ${buildtype} == "tools" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Special case for the malloc flag, because the --disable flag does - # not exist and trying like above will break configuring. - conf_malloc() { - if [[ ! ${buildtype} == "user" ]] ; then - usex "${1}" "--enable-malloc=${1}" "" - fi - } - conf_opts+=( - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_softmmu bpf) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser curl) - $(conf_tools doc docs) - $(conf_notuser fdt) - $(conf_notuser fuse) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser io-uring linux-io-uring) - $(conf_malloc jemalloc) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser keyutils libkeyutils) - $(conf_notuser lzo) - $(conf_notuser multipath mpath) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser pam auth-pam) - $(conf_notuser png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_softmmu sdl-image) - $(conf_notuser seccomp) - $(conf_notuser slirp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh) - $(conf_notuser udev libudev) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser virgl virglrenderer) - $(conf_softmmu virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_softmmu xdp af-xdp) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - # use prebuilt keymaps, bug #759604 - --disable-xkbcommon - $(conf_notuser zstd) - ) - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts=( - # Note: backend order matters here: #716202 - # We iterate from higher-level to lower level. - $(usex pulseaudio pa "") - $(usev pipewire) - $(usev jack) - $(usev sdl) - $(usev alsa) - $(usev oss) - ) - conf_opts+=( - --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}") - ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-tools - --disable-cap-ng - --disable-seccomp - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - --enable-cap-ng - --enable-seccomp - --disable-libcbor - ) - local static_flag="none" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --enable-tools - --enable-cap-ng - ) - local static_flag="none" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTap - use systemtap && conf_opts+=( --enable-trace-backends="dtrace" ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if [[ ${static_flag} != "none" ]] && use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - # Meson will not use a cross-file unless cross_prefix is set. - tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) - - # Plumb through equivalent of EXTRA_ECONF to allow experiments - # like bug #747928. - conf_opts+=( ${EXTRA_CONF_QEMU} ) - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" || die - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - default - fi - - cd "${S}/tools-build" || die - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - pax-mark m */qemu-system-* #515550 - emake check - fi -} - -qemu_python_install() { - python_domodule "${S}/python/qemu" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dodoc check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" || die - emake DESTDIR="${ED}" install - - # If USE=doc, there'll be newly generated docs which we install instead. - if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8] - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null || die - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null || die - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" || die - dodoc MAINTAINERS - newdoc pc-bios/README README.pc-bios - - # Disallow stripping of prebuilt firmware files. - dostrip -x ${QA_PREBUILT} - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - - # PPC/PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - xdg_icon_cache_update - - [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps -m u+s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && ver_replacing -lt ${FIRMWARE_ABI_VERSION}; then - ewarn "This version of qemu pins new versions of firmware blobs:" - - if has_version 'sys-firmware/edk2-bin'; then - ewarn " $(best_version sys-firmware/edk2-bin)" - else - ewarn " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - ewarn " $(best_version sys-firmware/seabios-bin)" - else - ewarn " $(best_version sys-firmware/seabios)" - fi - - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - - if has_version 'sys-firmware/edk2-bin'; then - echo " $(best_version sys-firmware/edk2-bin)" - else - echo " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - echo " $(best_version sys-firmware/seabios-bin)" - else - echo " $(best_version sys-firmware/seabios)" - fi - - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/sgabios)" -} - -pkg_postrm() { - xdg_icon_cache_update - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.3.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.3.ebuild deleted file mode 100644 index bc60226762b..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.3.ebuild +++ /dev/null @@ -1,1013 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} -QEMU_DOCS_PREBUILT_DEV=sam -QEMU_DOCS_VERSION=$(ver_cut 1-2).0 -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -# bug #830088 -QEMU_DOC_USEFLAG="+doc" - -PYTHON_COMPAT=( python3_{11..13} ) -PYTHON_REQ_USE="ensurepip(-),ncurses,readline" - -inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \ - readme.gentoo-r1 pax-utils xdg-utils - -if [[ ${PV} == *9999* ]]; then - QEMU_DOCS_PREBUILT=0 - - EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/" - EGIT_SUBMODULES=() - inherit git-r3 - declare -A SUBPROJECTS=( - [keycodemapdb]="f5772a62ec52591ff6870b7e8ef32482371f22c6" - [berkeley-softfloat-3]="b64af41c3276f97f0e181920400ee056b9c88037" - [berkeley-testfloat-3]="e7af9751d9f9fd3b47911f51a5cfd08af256a9ab" - ) - - for proj in "${!SUBPROJECTS[@]}"; do - c=${SUBPROJECTS[${proj}]} - SRC_URI+=" https://gitlab.com/qemu-project/${proj}/-/archive/${c}/${proj}-${c}.tar.bz2" - done -else - MY_P="${PN}-${PV/_rc/-rc}" - SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" - - if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )" - fi - - S="${WORKDIR}/${MY_P}" - [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" - -[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc" - -IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG} - +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring - jack jemalloc +jpeg keyutils - lzo multipath - ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire - plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux - +slirp - smartcard snappy spice ssh static-user systemtap test udev usb - usbredir vde +vhost-net virgl virtfs +vnc vte wayland X xattr xdp xen - zstd" - -COMMON_TARGETS=" - aarch64 - alpha - arm - hppa - i386 - loongarch64 - m68k - microblaze - microblazeel - mips - mips64 - mips64el - mipsel - or1k - ppc - ppc64 - riscv32 - riscv64 - s390x - sh4 - sh4eb - sparc - sparc64 - x86_64 - xtensa - xtensaeb -" -IUSE_SOFTMMU_TARGETS=" - ${COMMON_TARGETS} - avr - rx - tricore -" -IUSE_USER_TARGETS=" - ${COMMON_TARGETS} - aarch64_be - armeb - hexagon - mipsn32 - mipsn32el - ppc64le - sparc32plus -" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -RESTRICT="!test? ( test )" - -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - qemu_softmmu_targets_x86_64? ( fdt ) - sdl-image? ( sdl ) - static-user? ( !plugins ) - virgl? ( opengl ) - virtfs? ( xattr ) - vnc? ( gnutls ) - vte? ( gtk ) - multipath? ( udev ) - plugins? ( !static-user ) - xdp? ( bpf ) -" -for smname in ${IUSE_SOFTMMU_TARGETS} ; do - REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )" -done - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - dev-libs/glib:2[static-libs(+)] - virtual/zlib:=[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-debug/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] ) -" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bpf? ( >=dev-libs/libbpf-1.1.0:= ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:=[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] ) - fuse? ( >=sys-fs/fuse-3.1:3=[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - >=net-libs/gnutls-3.0:=[static-libs(+)] - dev-libs/nettle:=[static-libs(+)] - ) - gtk? ( - x11-libs/gtk+:3[wayland?,X?] - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( sys-cluster/rdma-core[static-libs(+)] ) - iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing:=[static-libs(+)] ) - jack? ( virtual/jack ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] ) - kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] ) - keyutils? ( sys-apps/keyutils[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - multipath? ( sys-fs/multipath-tools ) - ncurses? ( - sys-libs/ncurses:=[unicode(+)] - sys-libs/ncurses:=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl(+),gbm(+)] - ) - pam? ( sys-libs/pam ) - pipewire? ( >=media-video/pipewire-0.3.60 ) - png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] ) - pulseaudio? ( media-libs/libpulse ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[video] - media-libs/libsdl2[static-libs(+)] - ) - sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - slirp? ( net-libs/libslirp[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.14.0 - >=app-emulation/spice-0.14.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) - udev? ( virtual/libudev:= ) - usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xdp? ( net-libs/xdp-tools ) - xen? ( app-emulation/xen-tools:= ) - zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) -" - -# -# With USE=+pin-upstream-blobs we pin firmware versions to known good -# version in order to minimize the frequency of disruptive changes. This -# avoids unnecessary frustration on user side because changing the firmware -# version can break resume of hibernated guest, inhibit live migrations, -# and might have other unwanted consequences. For now, let us try to -# synchronize firmware blobs with the ones bundled in upstream qemu. Simply -# check the upstream git repository for any changes, for example: -# https://github.com/qemu/qemu/tree/v10.0.2/roms for the 10.0.2 release. -# -# When changing pinned firmware versions -# - create a separate ebuild with revision -r50 -# - update the FIRMWARE_ABI_VERSION to the current package version -# - -FIRMWARE_ABI_VERSION="10.0.2" -EDK2_OVMF_VERSION="202408" -SEABIOS_VERSION="1.16.3" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ~sys-firmware/ipxe-1.21.1_p20230601[binary,qemu] - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ~sys-firmware/sgabios-0.1_pre10[binary] - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/edk2-${EDK2_OVMF_VERSION} - >=sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ) - sys-firmware/ipxe[qemu] - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - sys-firmware/sgabios - ) -" -PPC_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - ) -" - -# See bug #913084 for pip dep -BDEPEND=" - ${PYTHON_DEPS} - dev-python/distlib[${PYTHON_USEDEP}] - dev-lang/perl - >=dev-build/meson-0.63.0 - app-alternatives/ninja - virtual/pkgconfig - doc? ( - >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}] - dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] - ) - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - app-alternatives/bc - dev-libs/glib[utils] - dev-python/pycotap[${PYTHON_USEDEP}] - ) -" -CDEPEND=" - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) -" -DEPEND=" - ${CDEPEND} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static-user? ( ${ALL_DEPEND} ) -" -RDEPEND=" - ${CDEPEND} - acct-group/kvm - selinux? ( - sec-policy/selinux-qemu - sys-libs/libselinux - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch - "${FILESDIR}"/${PN}-9.2.0-capstone-include-path.patch - "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch - "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch - "${FILESDIR}"/${PN}-7.2.16-optionrom-pass-Wl-no-error-rwx-segments.patch -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/hppa-firmware64.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf - usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500 -" - -QA_WX_LOAD=" - usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32 -" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - # gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - # udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requires a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - use test && CONFIG_CHECK+=" IP_MULTICAST" - ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/configs/targets/ >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - for file in ${A}; do - unpack "${file}" - done - cd "${WORKDIR}" || die - for proj in "${!SUBPROJECTS[@]}"; do - mv "${proj}-${SUBPROJECTS[${proj}]}" "${S}/subprojects/${proj}" || die - done - cd "${S}" || die - meson subprojects packagefiles --apply || die - else - default - fi -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - default - - # Use correct toolchain to fix cross-compiling - tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS - export WINDRES=${CHOST}-windres - - # defang automagic dependencies - use X || append-flags -DGENTOO_GTK_HIDE_X11 - use wayland || append-flags -DGENTOO_GTK_HIDE_WAYLAND - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - cat >> "${S}"/configs/meson/linux.txt <<-EOF || die - [binaries] - dtrace='stap-dtrace' - EOF - fi - - # Verbose builds - MAKEOPTS+=" V=1" - - # Remove bundled modules - rm -r roms/*/ || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" || die - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --bindir=/usr/bin - --libdir=/usr/$(get_libdir) - --datadir=/usr/share - --docdir=/usr/share/doc/${PF}/html - --mandir=/usr/share/man - --localstatedir=/var - --disable-bsd-user - --disable-containers # bug #732972 - --disable-guest-agent - --disable-strip - --disable-download - --python="${PYTHON}" - - # bug #746752: TCG interpreter has a few limitations: - # - it does not support FPU - # - it's generally slower on non-self-modifying code - # It's advantage is support for host architectures - # where native codegeneration is not implemented. - # Gentoo has qemu keyworded only on targets with - # native code generation available. Avoid the interpreter. - --disable-tcg-interpreter - - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --objcc="$(tc-getCC)" - --host-cc="$(tc-getBUILD_CC)" - - $(use_enable alsa) - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - $(use_enable jack) - $(use_enable nls gettext) - $(use_enable oss) - $(use_enable pipewire) - $(use_enable plugins) - $(use_enable pulseaudio pa) - $(use_enable selinux) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - # Enable option only for softmmu build, but not 'user' or 'tools' - conf_softmmu() { - if [[ ${buildtype} == "softmmu" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Enable option only for tools build, but not 'user' or 'softmmu' - conf_tools() { - if [[ ${buildtype} == "tools" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Special case for the malloc flag, because the --disable flag does - # not exist and trying like above will break configuring. - conf_malloc() { - if [[ ! ${buildtype} == "user" ]] ; then - usex "${1}" "--enable-malloc=${1}" "" - fi - } - conf_opts+=( - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_softmmu bpf) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser curl) - $(conf_tools doc docs) - $(conf_notuser fdt) - $(conf_notuser fuse) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser io-uring linux-io-uring) - $(conf_malloc jemalloc) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser keyutils libkeyutils) - $(conf_notuser lzo) - $(conf_notuser multipath mpath) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser pam auth-pam) - $(conf_notuser png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_softmmu sdl-image) - $(conf_notuser seccomp) - $(conf_notuser slirp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh) - $(conf_notuser udev libudev) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser virgl virglrenderer) - $(conf_softmmu virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_softmmu xdp af-xdp) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - # use prebuilt keymaps, bug #759604 - --disable-xkbcommon - $(conf_notuser zstd) - ) - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts=( - # Note: backend order matters here: #716202 - # We iterate from higher-level to lower level. - $(usex pulseaudio pa "") - $(usev pipewire) - $(usev jack) - $(usev sdl) - $(usev alsa) - $(usev oss) - ) - conf_opts+=( - --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}") - ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-tools - --disable-cap-ng - --disable-seccomp - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - --enable-cap-ng - --enable-seccomp - --disable-libcbor - ) - local static_flag="none" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --enable-tools - --enable-cap-ng - ) - local static_flag="none" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTap - use systemtap && conf_opts+=( --enable-trace-backends="dtrace" ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if [[ ${static_flag} != "none" ]] && use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - # Meson will not use a cross-file unless cross_prefix is set. - tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) - - # Plumb through equivalent of EXTRA_ECONF to allow experiments - # like bug #747928. - conf_opts+=( ${EXTRA_CONF_QEMU} ) - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" || die - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - default - fi - - cd "${S}/tools-build" || die - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - pax-mark m */qemu-system-* #515550 - emake check - fi -} - -qemu_python_install() { - python_domodule "${S}/python/qemu" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dodoc check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" || die - emake DESTDIR="${ED}" install - - # If USE=doc, there'll be newly generated docs which we install instead. - if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8] - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null || die - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null || die - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" || die - dodoc MAINTAINERS - newdoc pc-bios/README README.pc-bios - - # Disallow stripping of prebuilt firmware files. - dostrip -x ${QA_PREBUILT} - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - - # PPC/PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - xdg_icon_cache_update - - [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps -m u+s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && ver_replacing -lt ${FIRMWARE_ABI_VERSION}; then - ewarn "This version of qemu pins new versions of firmware blobs:" - - if has_version 'sys-firmware/edk2-bin'; then - ewarn " $(best_version sys-firmware/edk2-bin)" - else - ewarn " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - ewarn " $(best_version sys-firmware/seabios-bin)" - else - ewarn " $(best_version sys-firmware/seabios)" - fi - - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - - if has_version 'sys-firmware/edk2-bin'; then - echo " $(best_version sys-firmware/edk2-bin)" - else - echo " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - echo " $(best_version sys-firmware/seabios-bin)" - else - echo " $(best_version sys-firmware/seabios)" - fi - - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/sgabios)" -} - -pkg_postrm() { - xdg_icon_cache_update - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.5.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.5.ebuild index 2a2578da944..8ef7bd39958 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.5.ebuild @@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0 # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{12..13} ) PYTHON_REQ_USE="ensurepip(-),ncurses,readline" inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \ @@ -44,7 +44,7 @@ else fi S="${WORKDIR}/${MY_P}" - [[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv x86" + [[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86" fi DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" @@ -421,7 +421,7 @@ pkg_pretend() { use test && CONFIG_CHECK+=" IP_MULTICAST" ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if use amd64 || use x86; then if grep -q AuthenticAMD /proc/cpuinfo; then CONFIG_CHECK+=" ~KVM_AMD" elif grep -q GenuineIntel /proc/cpuinfo; then diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.4.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.7.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.4.ebuild rename to sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.7.ebuild index bc60226762b..48f9d389036 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.7.ebuild @@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0 # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{12..13} ) PYTHON_REQ_USE="ensurepip(-),ncurses,readline" inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \ @@ -420,7 +420,7 @@ pkg_pretend() { use test && CONFIG_CHECK+=" IP_MULTICAST" ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if use amd64 || use x86; then if grep -q AuthenticAMD /proc/cpuinfo; then CONFIG_CHECK+=" ~KVM_AMD" elif grep -q GenuineIntel /proc/cpuinfo; then diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.1.2.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.1.2.ebuild index ad5a1c7e751..b2769d44c59 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.1.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.1.2.ebuild @@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0 # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{12..13} ) PYTHON_REQ_USE="ensurepip(-),ncurses,readline" inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \ @@ -423,7 +423,7 @@ pkg_pretend() { use test && CONFIG_CHECK+=" IP_MULTICAST" ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if use amd64 || use x86; then if grep -q AuthenticAMD /proc/cpuinfo; then CONFIG_CHECK+=" ~KVM_AMD" elif grep -q GenuineIntel /proc/cpuinfo; then @@ -900,6 +900,9 @@ src_install() { pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 popd >/dev/null || die + # suid in src_install to allow FEATURES=suidctl to work properly + fperms u+s /usr/libexec/qemu-bridge-helper + # Install config file example for qemu-bridge-helper insinto "/etc/qemu" doins "${FILESDIR}/bridge.conf" @@ -963,7 +966,7 @@ pkg_postinst() { xdg_icon_cache_update [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps -m u+s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper + fcaps -M u-s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper DISABLE_AUTOFORMATTING=true readme.gentoo_print_elog diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.1.0.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.1.3-r1.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.1.0.ebuild rename to sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.1.3-r1.ebuild index b700e2ad46f..864338802d9 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.1.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.1.3-r1.ebuild @@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0 # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{12..13} ) PYTHON_REQ_USE="ensurepip(-),ncurses,readline" inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \ @@ -332,6 +332,7 @@ RDEPEND=" " PATCHES=( + "${FILESDIR}"/${PN}-10.1.2-fix_passt.patch "${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch "${FILESDIR}"/${PN}-9.2.0-capstone-include-path.patch "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch @@ -422,7 +423,7 @@ pkg_pretend() { use test && CONFIG_CHECK+=" IP_MULTICAST" ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if use amd64 || use x86; then if grep -q AuthenticAMD /proc/cpuinfo; then CONFIG_CHECK+=" ~KVM_AMD" elif grep -q GenuineIntel /proc/cpuinfo; then @@ -665,6 +666,10 @@ qemu_src_configure() { ) if [[ ! ${buildtype} == "user" ]] ; then + # used by passt and spice, enable it because glib is required anyway + conf_opts+=( + --enable-gio + ) # audio options local audio_opts=( # Note: backend order matters here: #716202 @@ -898,6 +903,9 @@ src_install() { pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 popd >/dev/null || die + # suid in src_install to allow FEATURES=suidctl to work properly + fperms u+s /usr/libexec/qemu-bridge-helper + # Install config file example for qemu-bridge-helper insinto "/etc/qemu" doins "${FILESDIR}/bridge.conf" @@ -961,7 +969,7 @@ pkg_postinst() { xdg_icon_cache_update [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps -m u+s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper + fcaps -M u-s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper DISABLE_AUTOFORMATTING=true readme.gentoo_print_elog diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.6.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.0-r1.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.6.ebuild rename to sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.0-r1.ebuild index bc60226762b..e02c8f48db2 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0 # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{12..14} ) PYTHON_REQ_USE="ensurepip(-),ncurses,readline" inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \ @@ -47,6 +47,11 @@ else [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" fi +# this is still required to support glibc-2.42 in qemu-user, bug 961307 +# source: https://gitlab.com/qemu-project/qemu/-/issues/3065#note_2969046870 +# +SRC_URI+=" https://dev.gentoo.org/~dilfridge/distfiles/qemu-10-termios2-patches.tar.xz" + DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" @@ -59,11 +64,11 @@ IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG} +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring jack jemalloc +jpeg keyutils lzo multipath - ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire + ncurses nfs nls numa opengl +oss pam passt +pin-upstream-blobs pipewire plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux +slirp smartcard snappy spice ssh static-user systemtap test udev usb - usbredir vde +vhost-net virgl virtfs +vnc vte wayland X xattr xdp xen + usbredir valgrind vde +vhost-net virgl virtfs +vnc vte wayland X xattr xdp xen zstd" COMMON_TARGETS=" @@ -177,8 +182,8 @@ SOFTMMU_TOOLS_DEPEND=" fuse? ( >=sys-fs/fuse-3.1:3=[static-libs(+)] ) glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) gnutls? ( - >=net-libs/gnutls-3.0:=[static-libs(+)] - dev-libs/nettle:=[static-libs(+)] + >=net-libs/gnutls-3.7.5:=[static-libs(+)] + >=dev-libs/nettle-3.7.3:=[static-libs(+)] ) gtk? ( x11-libs/gtk+:3[wayland?,X?] @@ -207,6 +212,7 @@ SOFTMMU_TOOLS_DEPEND=" media-libs/mesa[egl(+),gbm(+)] ) pam? ( sys-libs/pam ) + passt? ( net-misc/passt ) pipewire? ( >=media-video/pipewire-0.3.60 ) png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] ) pulseaudio? ( media-libs/libpulse ) @@ -319,6 +325,7 @@ DEPEND=" ${CDEPEND} kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) static-user? ( ${ALL_DEPEND} ) + valgrind? ( dev-debug/valgrind ) " RDEPEND=" ${CDEPEND} @@ -330,6 +337,7 @@ RDEPEND=" " PATCHES=( + "${FILESDIR}"/${PN}-10.1.2-fix_passt.patch "${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch "${FILESDIR}"/${PN}-9.2.0-capstone-include-path.patch "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch @@ -420,7 +428,7 @@ pkg_pretend() { use test && CONFIG_CHECK+=" IP_MULTICAST" ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if use amd64 || use x86; then if grep -q AuthenticAMD /proc/cpuinfo; then CONFIG_CHECK+=" ~KVM_AMD" elif grep -q GenuineIntel /proc/cpuinfo; then @@ -488,6 +496,9 @@ src_prepare() { default + # this is still required to support glibc-2.42 in qemu-user + eapply "${WORKDIR}/termios2-patches"/*.patch + # Use correct toolchain to fix cross-compiling tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS export WINDRES=${CHOST}-windres @@ -570,6 +581,7 @@ qemu_src_configure() { $(use_enable pulseaudio pa) $(use_enable selinux) $(use_enable xattr attr) + $(use_enable valgrind) ) # Disable options not used by user targets. This simplifies building @@ -632,6 +644,7 @@ qemu_src_configure() { $(conf_notuser numa) $(conf_notuser opengl) $(conf_notuser pam auth-pam) + $(conf_notuser passt) $(conf_notuser png) $(conf_notuser rbd) $(conf_notuser sasl vnc-sasl) @@ -661,6 +674,10 @@ qemu_src_configure() { ) if [[ ! ${buildtype} == "user" ]] ; then + # used by passt and spice, enable it because glib is required anyway + conf_opts+=( + --enable-gio + ) # audio options local audio_opts=( # Note: backend order matters here: #716202 @@ -894,6 +911,9 @@ src_install() { pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 popd >/dev/null || die + # suid in src_install to allow FEATURES=suidctl to work properly + fperms u+s /usr/libexec/qemu-bridge-helper + # Install config file example for qemu-bridge-helper insinto "/etc/qemu" doins "${FILESDIR}/bridge.conf" @@ -957,7 +977,7 @@ pkg_postinst() { xdg_icon_cache_update [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps -m u+s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper + fcaps -M u-s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper DISABLE_AUTOFORMATTING=true readme.gentoo_print_elog diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.1.1.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.0.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.1.1.ebuild rename to sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.0.ebuild index b79195b65bc..5afd9cdf740 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.1.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0 # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{12..14} ) PYTHON_REQ_USE="ensurepip(-),ncurses,readline" inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \ @@ -177,8 +177,8 @@ SOFTMMU_TOOLS_DEPEND=" fuse? ( >=sys-fs/fuse-3.1:3=[static-libs(+)] ) glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) gnutls? ( - >=net-libs/gnutls-3.0:=[static-libs(+)] - dev-libs/nettle:=[static-libs(+)] + >=net-libs/gnutls-3.7.5:=[static-libs(+)] + >=dev-libs/nettle-3.7.3:=[static-libs(+)] ) gtk? ( x11-libs/gtk+:3[wayland?,X?] @@ -332,12 +332,12 @@ RDEPEND=" " PATCHES=( + "${FILESDIR}"/${PN}-10.1.2-fix_passt.patch "${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch "${FILESDIR}"/${PN}-9.2.0-capstone-include-path.patch "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch "${FILESDIR}"/${PN}-7.2.16-optionrom-pass-Wl-no-error-rwx-segments.patch - "${FILESDIR}"/${PN}-10.0.5-hppa1.1.patch ) QA_PREBUILT=" @@ -423,7 +423,7 @@ pkg_pretend() { use test && CONFIG_CHECK+=" IP_MULTICAST" ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if use amd64 || use x86; then if grep -q AuthenticAMD /proc/cpuinfo; then CONFIG_CHECK+=" ~KVM_AMD" elif grep -q GenuineIntel /proc/cpuinfo; then @@ -666,6 +666,10 @@ qemu_src_configure() { ) if [[ ! ${buildtype} == "user" ]] ; then + # used by passt and spice, enable it because glib is required anyway + conf_opts+=( + --enable-gio + ) # audio options local audio_opts=( # Note: backend order matters here: #716202 @@ -899,6 +903,9 @@ src_install() { pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 popd >/dev/null || die + # suid in src_install to allow FEATURES=suidctl to work properly + fperms u+s /usr/libexec/qemu-bridge-helper + # Install config file example for qemu-bridge-helper insinto "/etc/qemu" doins "${FILESDIR}/bridge.conf" @@ -962,7 +969,7 @@ pkg_postinst() { xdg_icon_cache_update [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps -m u+s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper + fcaps -M u-s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper DISABLE_AUTOFORMATTING=true readme.gentoo_print_elog diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.3-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.3-r2.ebuild index 1f989068935..1d4209c8685 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.3-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.3-r2.ebuild @@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0 # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{12..13} ) PYTHON_REQ_USE="ensurepip(-),ncurses,readline" FIRMWARE_ABI_VERSION="7.2.0" @@ -408,7 +408,7 @@ pkg_pretend() { use test && CONFIG_CHECK+=" IP_MULTICAST" ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if use amd64 || use x86; then if grep -q AuthenticAMD /proc/cpuinfo; then CONFIG_CHECK+=" ~KVM_AMD" elif grep -q GenuineIntel /proc/cpuinfo; then diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.2.3-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.2.3-r3.ebuild index 7630902ccbb..8029491c960 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.2.3-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.2.3-r3.ebuild @@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0 # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{12..13} ) PYTHON_REQ_USE="ensurepip(-),ncurses,readline" FIRMWARE_ABI_VERSION="7.2.0" @@ -407,7 +407,7 @@ pkg_pretend() { use test && CONFIG_CHECK+=" IP_MULTICAST" ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if use amd64 || use x86; then if grep -q AuthenticAMD /proc/cpuinfo; then CONFIG_CHECK+=" ~KVM_AMD" elif grep -q GenuineIntel /proc/cpuinfo; then diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.2.4.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.2.4.ebuild index 0ed0f5ee874..75088f8913d 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.2.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.2.4.ebuild @@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0 # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{12..13} ) PYTHON_REQ_USE="ensurepip(-),ncurses,readline" FIRMWARE_ABI_VERSION="7.2.0" @@ -406,7 +406,7 @@ pkg_pretend() { use test && CONFIG_CHECK+=" IP_MULTICAST" ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if use amd64 || use x86; then if grep -q AuthenticAMD /proc/cpuinfo; then CONFIG_CHECK+=" ~KVM_AMD" elif grep -q GenuineIntel /proc/cpuinfo; then diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9999.ebuild index bc2a24d8ee1..e02c8f48db2 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -8,12 +8,12 @@ EAPI=8 # (the construct below is to allow overriding from env for script) QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} QEMU_DOCS_PREBUILT_DEV=sam -QEMU_DOCS_VERSION=$(ver_cut 1-3) +QEMU_DOCS_VERSION=$(ver_cut 1-2).0 # Default to generating docs (inc. man pages) if no prebuilt; overridden later # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{12..14} ) PYTHON_REQ_USE="ensurepip(-),ncurses,readline" inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \ @@ -47,6 +47,11 @@ else [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" fi +# this is still required to support glibc-2.42 in qemu-user, bug 961307 +# source: https://gitlab.com/qemu-project/qemu/-/issues/3065#note_2969046870 +# +SRC_URI+=" https://dev.gentoo.org/~dilfridge/distfiles/qemu-10-termios2-patches.tar.xz" + DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" @@ -177,8 +182,8 @@ SOFTMMU_TOOLS_DEPEND=" fuse? ( >=sys-fs/fuse-3.1:3=[static-libs(+)] ) glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) gnutls? ( - >=net-libs/gnutls-3.0:=[static-libs(+)] - dev-libs/nettle:=[static-libs(+)] + >=net-libs/gnutls-3.7.5:=[static-libs(+)] + >=dev-libs/nettle-3.7.3:=[static-libs(+)] ) gtk? ( x11-libs/gtk+:3[wayland?,X?] @@ -332,6 +337,7 @@ RDEPEND=" " PATCHES=( + "${FILESDIR}"/${PN}-10.1.2-fix_passt.patch "${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch "${FILESDIR}"/${PN}-9.2.0-capstone-include-path.patch "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch @@ -422,7 +428,7 @@ pkg_pretend() { use test && CONFIG_CHECK+=" IP_MULTICAST" ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if use amd64 || use x86; then if grep -q AuthenticAMD /proc/cpuinfo; then CONFIG_CHECK+=" ~KVM_AMD" elif grep -q GenuineIntel /proc/cpuinfo; then @@ -490,6 +496,9 @@ src_prepare() { default + # this is still required to support glibc-2.42 in qemu-user + eapply "${WORKDIR}/termios2-patches"/*.patch + # Use correct toolchain to fix cross-compiling tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS export WINDRES=${CHOST}-windres @@ -636,7 +645,6 @@ qemu_src_configure() { $(conf_notuser opengl) $(conf_notuser pam auth-pam) $(conf_notuser passt) - $(conf_notuser passt gio) $(conf_notuser png) $(conf_notuser rbd) $(conf_notuser sasl vnc-sasl) @@ -666,6 +674,10 @@ qemu_src_configure() { ) if [[ ! ${buildtype} == "user" ]] ; then + # used by passt and spice, enable it because glib is required anyway + conf_opts+=( + --enable-gio + ) # audio options local audio_opts=( # Note: backend order matters here: #716202 @@ -899,6 +911,9 @@ src_install() { pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 popd >/dev/null || die + # suid in src_install to allow FEATURES=suidctl to work properly + fperms u+s /usr/libexec/qemu-bridge-helper + # Install config file example for qemu-bridge-helper insinto "/etc/qemu" doins "${FILESDIR}/bridge.conf" @@ -962,7 +977,7 @@ pkg_postinst() { xdg_icon_cache_update [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps -m u+s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper + fcaps -M u-s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper DISABLE_AUTOFORMATTING=true readme.gentoo_print_elog diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/Manifest b/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/Manifest index e30218c5589..2e4225830b7 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/Manifest @@ -1,2 +1,3 @@ DIST virt_firmware-24.11.tar.gz 115385 BLAKE2B 2edfe718fd60dcd8a13b143f9fcf5f6beb604737ef4855cb0f16376e625f5bf2965bb08b7ddd037a6b8b6420c928abceefe1034135ab66763695fa8c359786b5 SHA512 0c6b4d34d518835b4489404c784b263cd6ac8348834ba654d27ae3741d3d229ea5f6036870399390fa4fa33e01c8113d64faba0c6068e4b2fb5bbdd9429bf72f +DIST virt_firmware-25.10.tar.gz 137685 BLAKE2B d1ab74eae907048549e2129aa256597752c5219110606bd623e0e6f0b90f88dd38226d8b7a992fe05ef49ab8c4ddf3a917184051715ebd6224cdbda4303754a5 SHA512 2fdf609f0ba335d6064cb595c5e4b465b0a148f258f87292f0b82d1aa653f5bfd1f9b851d36f1c46a94fb8be36d6cd6c5c3f5d633e86d34b8f6159186f872908 DIST virt_firmware-25.4.1.tar.gz 120061 BLAKE2B ef22266944cae225cf817c9b67a7aae5ee95908be419b870f451f6eba391998be082b1cf8f2dad62ed84551323cb56854b785a93d0c0ff83340fdb9a5f571aeb SHA512 2f82299415a0bf5dd8874764fe7d71cfe9a12e489657237f6a889288294e69fed9076219ae91a2d60084ae1ffac6bc4f3e2760999e8030aad045cb59ea152367 diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/virt-firmware-25.10.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/virt-firmware-25.10.ebuild new file mode 100644 index 00000000000..3481311f677 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/virt-firmware-25.10.ebuild @@ -0,0 +1,55 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) +DISTUTILS_USE_PEP517=setuptools + +inherit distutils-r1 optfeature pypi systemd + +DESCRIPTION="Tools for ovmf/armvirt firmware volumes" +HOMEPAGE=" + https://gitlab.com/kraxel/virt-firmware + https://pypi.org/project/virt-firmware/ +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" + +RDEPEND=" + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/pefile[${PYTHON_USEDEP}] +" + +# Need systemd-detect-virt +BDEPEND=" + test? ( + sys-apps/systemd + ) +" + +distutils_enable_tests unittest + +python_test() { + eunittest tests +} + +python_install_all() { + distutils-r1_python_install_all + + doman man/*.1 + + doinitd "${FILESDIR}/kernel-bootcfg-boot-successful" + systemd_dounit systemd/kernel-bootcfg-boot-successful.service + + # Use our own provided by sys-kernel/installkernel[efistub,systemd] + #exeinto /usr/lib/kernel/install.d + #doexe systemd/99-uki-uefi-setup.install +} + +pkg_postinst() { + optfeature "automatically updating UEFI configuration on each kernel installation or removal" \ + "sys-kernel/installkernel[systemd,efistub]" +} diff --git a/sdk_container/src/third_party/portage-stable/app-eselect/eselect-lib-bin-symlink/eselect-lib-bin-symlink-0.1.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-eselect/eselect-lib-bin-symlink/eselect-lib-bin-symlink-0.1.1-r1.ebuild index d1dcc71ddb8..279577849e8 100644 --- a/sdk_container/src/third_party/portage-stable/app-eselect/eselect-lib-bin-symlink/eselect-lib-bin-symlink-0.1.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-eselect/eselect-lib-bin-symlink/eselect-lib-bin-symlink-0.1.1-r1.ebuild @@ -11,7 +11,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 ~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 ~x64-macos ~x64-solaris" RDEPEND=" app-admin/eselect diff --git a/sdk_container/src/third_party/portage-stable/app-eselect/eselect-pinentry/eselect-pinentry-0.7.4.ebuild b/sdk_container/src/third_party/portage-stable/app-eselect/eselect-pinentry/eselect-pinentry-0.7.4.ebuild index 812e5773f6d..07c76a6f73d 100644 --- a/sdk_container/src/third_party/portage-stable/app-eselect/eselect-pinentry/eselect-pinentry-0.7.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-eselect/eselect-pinentry/eselect-pinentry-0.7.4.ebuild @@ -9,7 +9,7 @@ S="${WORKDIR}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=">=app-eselect/eselect-lib-bin-symlink-0.1.1" diff --git a/sdk_container/src/third_party/portage-stable/app-eselect/eselect-python/eselect-python-20200719.ebuild b/sdk_container/src/third_party/portage-stable/app-eselect/eselect-python/eselect-python-20200719.ebuild index b3b1526f8c5..6a7ee6a44ac 100644 --- a/sdk_container/src/third_party/portage-stable/app-eselect/eselect-python/eselect-python-20200719.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-eselect/eselect-python/eselect-python-20200719.ebuild @@ -8,7 +8,7 @@ if [[ ${PV} == "99999999" ]] ; then EGIT_REPO_URI="https://anongit.gentoo.org/proj/${PN}.git" else SRC_URI="https://dev.gentoo.org/~chutzpah/dist/misc/${P}.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" fi DESCRIPTION="Eselect module for management of multiple Python versions" diff --git a/sdk_container/src/third_party/portage-stable/app-eselect/eselect-vi/eselect-vi-20221122.ebuild b/sdk_container/src/third_party/portage-stable/app-eselect/eselect-vi/eselect-vi-20221122.ebuild index 8adf727e16f..779d376731a 100644 --- a/sdk_container/src/third_party/portage-stable/app-eselect/eselect-vi/eselect-vi-20221122.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-eselect/eselect-vi/eselect-vi-20221122.ebuild @@ -9,6 +9,6 @@ SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~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 ~x64-macos ~x64-solaris" RDEPEND="app-admin/eselect" diff --git a/sdk_container/src/third_party/portage-stable/app-misc/c_rehash/c_rehash-1.7-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-misc/c_rehash/c_rehash-1.7-r1.ebuild index 84dba689cbc..3343403b618 100644 --- a/sdk_container/src/third_party/portage-stable/app-misc/c_rehash/c_rehash-1.7-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-misc/c_rehash/c_rehash-1.7-r1.ebuild @@ -10,7 +10,7 @@ S="${WORKDIR}" LICENSE="openssl" 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 ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" RDEPEND="!Build GLEP-78 gpkg support in qpkg Build gtree repository cache support Build qmanifest applet, this adds additional dependencies for GPG, OpenSSL and BLAKE2B hashing - Build qtegrity applet, this adds additional dependencies for OpenSSL proj/portage-utils diff --git a/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-0.95-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-0.95-r1.ebuild deleted file mode 100644 index 2bc5f96ae97..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-0.95-r1.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic toolchain-funcs - -DESCRIPTION="Small and fast Portage helper tools written in C" -HOMEPAGE="https://wiki.gentoo.org/wiki/Portage-utils" - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 autotools - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage-utils.git" -else - SRC_URI="https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="openmp +qmanifest +qtegrity static" - -RDEPEND=" - openmp? ( || ( - sys-devel/gcc:*[openmp] - llvm-runtimes/openmp - ) ) - qmanifest? ( - !static? ( - app-crypt/gpgme:= - app-crypt/libb2:= - dev-libs/openssl:= - virtual/zlib:= - ) - ) - qtegrity? ( - !static? ( - dev-libs/openssl:= - ) - )" -DEPEND="${RDEPEND} - qmanifest? ( - static? ( - app-crypt/gpgme[static-libs] - app-crypt/libb2[static-libs] - dev-libs/openssl[static-libs] - virtual/zlib:=[static-libs] - ) - ) - qtegrity? ( - static? ( - dev-libs/openssl[static-libs] - ) - )" -BDEPEND="virtual/pkgconfig" - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -src_prepare() { - default - [[ ${PV} == *9999 ]] && eautoreconf -} - -src_configure() { - use static && append-ldflags -static - - econf \ - --disable-maintainer-mode \ - --with-eprefix="${EPREFIX}" \ - $(use_enable qmanifest) \ - $(use_enable qtegrity) \ - $(use_enable openmp) -} diff --git a/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-0.96-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-0.96-r1.ebuild deleted file mode 100644 index 2bc5f96ae97..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-0.96-r1.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic toolchain-funcs - -DESCRIPTION="Small and fast Portage helper tools written in C" -HOMEPAGE="https://wiki.gentoo.org/wiki/Portage-utils" - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 autotools - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage-utils.git" -else - SRC_URI="https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="openmp +qmanifest +qtegrity static" - -RDEPEND=" - openmp? ( || ( - sys-devel/gcc:*[openmp] - llvm-runtimes/openmp - ) ) - qmanifest? ( - !static? ( - app-crypt/gpgme:= - app-crypt/libb2:= - dev-libs/openssl:= - virtual/zlib:= - ) - ) - qtegrity? ( - !static? ( - dev-libs/openssl:= - ) - )" -DEPEND="${RDEPEND} - qmanifest? ( - static? ( - app-crypt/gpgme[static-libs] - app-crypt/libb2[static-libs] - dev-libs/openssl[static-libs] - virtual/zlib:=[static-libs] - ) - ) - qtegrity? ( - static? ( - dev-libs/openssl[static-libs] - ) - )" -BDEPEND="virtual/pkgconfig" - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -src_prepare() { - default - [[ ${PV} == *9999 ]] && eautoreconf -} - -src_configure() { - use static && append-ldflags -static - - econf \ - --disable-maintainer-mode \ - --with-eprefix="${EPREFIX}" \ - $(use_enable qmanifest) \ - $(use_enable qtegrity) \ - $(use_enable openmp) -} diff --git a/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-0.97.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-0.97.ebuild index 46da0dbb617..4da9374ddac 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-0.97.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-0.97.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]]; then EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage-utils.git" else SRC_URI="https://dev.gentoo.org/~grobian/distfiles/${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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-0.96.1.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-0.99.ebuild similarity index 64% rename from sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-0.96.1.ebuild rename to sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-0.99.ebuild index 73c1d31bf35..f2dde63249a 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-0.96.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-0.99.ebuild @@ -13,14 +13,26 @@ if [[ ${PV} == *9999 ]]; then EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage-utils.git" else SRC_URI="https://dev.gentoo.org/~grobian/distfiles/${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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" SLOT="0" -IUSE="openmp +qmanifest +qtegrity static" +IUSE="+gpkg gtree openmp +qmanifest static" RDEPEND=" + gpkg? ( + !static? ( + app-crypt/gpgme:= + app-arch/libarchive:= + ) + ) + gtree? ( + !static? ( + app-crypt/gpgme:= + app-arch/libarchive:=[zstd] + ) + ) openmp? ( || ( sys-devel/gcc:*[openmp] llvm-runtimes/openmp @@ -29,33 +41,38 @@ RDEPEND=" !static? ( app-crypt/gpgme:= app-crypt/libb2:= - dev-libs/openssl:= virtual/zlib:= ) - ) - qtegrity? ( - !static? ( - dev-libs/openssl:= - ) )" DEPEND="${RDEPEND} - qmanifest? ( + gpkg? ( static? ( app-crypt/gpgme[static-libs] - app-crypt/libb2[static-libs] - dev-libs/openssl[static-libs] - virtual/zlib:=[static-libs] + app-arch/libarchive[static-libs] ) ) - qtegrity? ( + gtree? ( static? ( - dev-libs/openssl[static-libs] + app-crypt/gpgme[static-libs] + app-arch/libarchive[static-libs,zstd] + ) + ) + qmanifest? ( + static? ( + app-crypt/gpgme[static-libs] + app-crypt/libb2[static-libs] + virtual/zlib:=[static-libs] ) )" BDEPEND="virtual/pkgconfig" -# bug #898362, gnulib check explicitly looks for MIN in some headers -QA_CONFIG_IMPL_DECL_SKIP="MIN" +# bug #898362, gnulib explicit checks +QA_CONFIG_IMPL_DECL_SKIP=( + "MIN" + "unreachable" + "alignof" + "static_assert" +) pkg_setup() { [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp @@ -72,7 +89,8 @@ src_configure() { econf \ --disable-maintainer-mode \ --with-eprefix="${EPREFIX}" \ + $(use_enable gpkg) \ + $(use_enable gtree) \ $(use_enable qmanifest) \ - $(use_enable qtegrity) \ $(use_enable openmp) } diff --git a/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-9999.ebuild index 534435c8499..3d8a079dc14 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/portage-utils/portage-utils-9999.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]]; then EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage-utils.git" else SRC_URI="https://dev.gentoo.org/~grobian/distfiles/${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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.14.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.14.0-r1.ebuild index 964c1bc98eb..843338ef77c 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.14.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.14.0-r1.ebuild @@ -19,7 +19,7 @@ SRC_URI=" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~x64-macos" IUSE="+eselect test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.15.0.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.15.0.ebuild index ecedd0d2234..56919cabad5 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.15.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.15.0.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 ~x64-macos" IUSE="+eselect test" RESTRICT="!test? ( test )" 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 c885b38bb52..04984d330e7 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 ~x64-macos" IUSE="+eselect test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.16.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.16.0-r2.ebuild index f636c184804..f8e9799ad81 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.16.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.16.0-r2.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 ~x64-macos" IUSE="+eselect test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.16.0-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.16.0-r3.ebuild index 0b8a97472bd..a397eda403d 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.16.0-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.16.0-r3.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 ~x64-macos" IUSE="+eselect test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.16.0.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.16.0.ebuild index 2dca60bb018..eb000a9acc8 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.16.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.16.0.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 ~x64-macos" IUSE="+eselect test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.17.0.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.17.0.ebuild index 3efe57a595f..7fd4d5e12f0 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.17.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.17.0.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 ~x64-macos" IUSE="+eselect test" RESTRICT="!test? ( test )" 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 0ac247e17a3..98a1ea99105 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest @@ -25,6 +25,9 @@ DIST bash-5.2.tar.gz.sig 95 BLAKE2B 2991b7c46ef1cdca08062f419be47fca7551f4c5d9aa DIST bash-5.3.tar.gz 11355854 BLAKE2B 82d1b54322bbd1e8c2a93380f1b2888a42a1d7186e504f41cee705a0fdd41463d8f20baa1755051e1396192f8ebd089524767d933a9e0b5fb76f2588601539bb SHA512 426702c8b0fb9e0c9956259973ce5b657890fd47f4f807a64febf20077bb48d0b91474ed6e843d2ef277186b46c5fffa79b808da9b48d4ec027d5e2de1b28ed8 DIST bash-5.3.tar.gz.sig 95 BLAKE2B 2fb04e4f699fdee6e583581821cf9a5fa435a00febf7893a344371f11ccb964545386c98dfb2d8f5d0efc74aafe9d491b544e90ae4716bdc286ac48d942430f0 SHA512 c77c0898f03e80a042574a486686cc296b96426f6cdb7a6d2376ecd5182ba03477bfcbd95ea3db499c11866d3f4ae99012a37662ccb6f83dfd6b59f671349dc7 DIST bash-5.4_alpha_pre20251027-c299f535be51179b1e0c989ad9ba4365e182ec28.tar.gz 16575720 BLAKE2B d3bc83b5ad252f84037d9639b1eaee13e56a006f2c0fe4b4bc00c662f05067965d8f26dca886137947f80bd923491fb5feaebb992e1f7515b7298715237b35dc SHA512 52698edc1d70029c8212a23457b5384942614e05c225cf66cea34290aacaf2e85f07ca4106f2ce242dff84d89ed45051f79cb4646cb2a22c4f74513f62c6393d +DIST bash-5.4_alpha_pre20251119-bcac47f08a6e8f04893f3f282bb841ddc07fc2e8.tar.gz 16577303 BLAKE2B 4a19a480deee6ce1d160081bb0b40c7dbcbd25ae8cb5bf06149c5f270ca4a8bad4f76263d65b2a7cd4ef2f70108536f71f5d0c1502b0b72f9ec1f0d6b6efa795 SHA512 ae5139f300bcee7434df202754ba6b8fea263ee25b5fa8dd69e2ac828d1004a8ab903660dc80dec379283bebc0bc7b7148b7277dc66c0c2141feb2b05c3422ce +DIST bash-5.4_alpha_pre20251124-4e705ed53ac364ee110f0b2fbeeab9d3301fcb6b.tar.gz 16578133 BLAKE2B 2208bbb4c81fe9d844bbf91e24226bf03e2f9f21fd736fa4f8703b050ea18ab7fa2301ec697687d768138cf0641a26b33829312426c5d5b47eff875e0c5c2aa6 SHA512 460b8992abfde82be90b50f46ecb32ae92bb0052c888591e0b16c7523eb4290d6b1594c1ab3c6a9ec33c23da5847ace4bf8dceb6036e7e33bbb5c712a95044c2 +DIST bash-5.4_alpha_pre20251202-5a104e96d869e2bbf0f7f364f45d21e6fc151721.tar.gz 16555426 BLAKE2B b8c28236cbc70c54b8aacb2e0826904e4cc6a00d9385c99aa07241c98f921fdb2d3f1ce8499103e30ca512b2a65b2654d956eabc3b5126b047c0941f976e9302 SHA512 31f5d9e1576c8652281e13a4bf975beefefc0cf11fb218e70cdfcb4ea48333d7d9f3208adac6b89a3b2cbf02bea8f75df8e17ec57412071abfcec88553f88601 DIST bash205b-001 1132 BLAKE2B 0c5eef29777d54ef05957ea3d63b1556fb380bd20c238dc28993d822b37bc4e78ff4048ad069f6b8cd25da77ccdeb7aecd86c4349cb9d81e5e94c7001eeae5e6 SHA512 5ce4357468821b05e747201f3aa57225ad8f540c9e2c87051720490e039c30b478b9b662a68f14a0800fefe40184e4495e2645665200f9d75e9a115b2ac08071 DIST bash205b-002 755 BLAKE2B 6a6ed5679d451f02f8104b345c1722d11718ce3b4043b581c17786d40d8da69a34786fb56d0c363dba277b8e9dd33f12f70c9cc73a9fc39ba4a8319406f0458d SHA512 46947b0229478d5c2cfeff68b8ebc00e4ef0c8b94e336ca12f72b4490ba3622c0240c01c17c1641c3b07adc2c64ec94d6d780365e8990768ec8888f3a9526883 DIST bash205b-003 2356 BLAKE2B b7887d00d92fd298cd07a15e1c73b516dabd22ecd74c97091636dd97a0cd55024ed698e5cc924c4311d994dd326b1ad074bea35e7650cf9cf4e25c60d2713fa7 SHA512 74528ca5d165b812d299f1c69b47757bd677c0b22ce4217e155cd641708b02364a93c6709fb57b546b376b36da74429a61493921c7c199563da40ddcf1c1f399 @@ -455,3 +458,15 @@ DIST bash53-002 2635 BLAKE2B fec52c475b8126774290eab7a514f8145ae51edab150d413c09 DIST bash53-002.sig 95 BLAKE2B 576dd4535af85d122f62e310ddae5cf7eec4ada59b5c73c5a891f3bc50cb6bbad8b47cd74d8c7a868381d340d1c7391f52f7a6f34ae99caf6b4ee290d2808849 SHA512 bd64fc61e5516a636a039c51a33f72e9adb7761d4e4101584b7dc3b43198be026c4165d6a34ca77e1ea5d4122b942dc853803a0c836bffc618aae9f7f8c008aa DIST bash53-003 2683 BLAKE2B 6bb6f6679726d65f95c11b4ac1fb0729eaebfeef02de06e9fda4e3ac2bb3d328cc6f7fd6e29976a0907390ed6709cd5a0a6046682acbed73eb0470143bf144e1 SHA512 3d4004653cb3f2cba984e67b8e7ae54c19351e176b62bb415f88fdd482ae04be063dacf6303c8343ab6c8bf4f2388026c1742ac603a5cd5c330db22a4b76f4cb DIST bash53-003.sig 95 BLAKE2B 9827f23ea927f39dd20316eec8b311bc7692c5645a77e15eba31d17252a0035d401f620ed9b51b62f643ae0c6c1ed9340e413564151da884b9361d8026557a06 SHA512 f128a82d19d83da70a8c72f3fca52a376a96a31be2b8e94ffd073329a254c5e9f3a231a4b29d33efe12c0b9a20a4c293331c5fc55767fb3538a6208996b7e2bb +DIST bash53-004 1266 BLAKE2B 6f3dcb7ca264868b235e25296b778152383e0f728a87f462fafb30d3c3e0334f8ac8bd862ed82e117641b34f4bd5bbb89ff118462f8a4d716049b651e6c4b0a6 SHA512 d3c7c83ae0742f2a4e1bc96e8fdb3f05c8c0a7e631d3473922ac245f83194925ae443e761269fa6a519298b1123ee4008bcbcdaf9180dff0a0df7fbe5e029bbb +DIST bash53-004.sig 95 BLAKE2B 2da9dd8bbeb7f8615b41eb18d46189579860cdce4252520cafc6a79b27a1754ebde2bd636711a363d211cacc7e52665f4b70812776bfc20381e00f112d4cc788 SHA512 c7a1394d1fb2bc473b788600a61d1191f6236ed12da7eb225e0a00d7aef22df0df40fb43cb89cd32d5598754536454e95b071a9f6e5d8b5b31df585eba247ef2 +DIST bash53-005 1072 BLAKE2B 792a8f489f36537da9ac1c986ceeed99465cca1740a865c15f8c4942afcc9ee413117f789e18f13daeacd94079425ce0089edbfd4f9f30af56bec0ed15a02dc4 SHA512 e81b43b084c1e9d59acd174d0792a93053780bdef61e7f4072d90b425d99a3fb7d35ef4c0ab79c4fb24bb6b38a8d9e99aad2fceac6efddf723a2cd123b32f0ea +DIST bash53-005.sig 95 BLAKE2B 8f85955384ff676aaa3824b8318433bd91158a865c54479b5a9276955548ec6ca771147e0a6c956280314031c6ac84807b06135bf101927a188d9c5b6cc8ae22 SHA512 7a0b3778d89733e2baeb84f6f689d040740cc3cbe9f5c1a27a11f4d1c3102cae3a65d307be2b2696362e37aee1a656b2ef80ac5af5314da302870914b1478192 +DIST bash53-006 1346 BLAKE2B 92e1cac8784c463f143a1bbad088cb6a4451ef5d864f04205831ffe8835b3d5723e4bfc3ca864a77074afcdb14f627c728f796cb85c050c21916c16d1f990f18 SHA512 f7e303405571635e20c26507c46f9ae0a61ea1328fa0492f2eba2095d398f799e62c1dbf0c07b440c290244f2c54186691ef4aaa2d65f2de101f9888386e2391 +DIST bash53-006.sig 95 BLAKE2B 0633d27828ff484c4e04ac8c3030d040ac27866ef017444a5a873030779b055e1eb41cdc1c1fa7a0d7f037eb8a020b15b2221fb5de954ea83ea163ead6e60110 SHA512 bb7d0d21b5a8e1a05c138dbedd885ab32101aca6159502b42b4a76aec0aa97b27d2c52e006ba72cd90b610c43410f07fb6607184e261119820c584b8b152c433 +DIST bash53-007 1437 BLAKE2B 5939ba2b3e0dbd83ecb51b47e71f35e32e7647fad1bedf0f00b73cc279b91de977b1cae7314b87483f62cbc0888a739b39528f0ca882a26bc81cc9b9898336e3 SHA512 5f9419b34c759b92a29f25d97e5da3f02603b3138afc11523c7bd304139db0cd02ff82a093cf78a338a7f9d88cb50a880fa6a105be83f8ca85ea8ff7d5c5d80b +DIST bash53-007.sig 95 BLAKE2B b3e5a71a632524d2cbd01b152e2188ca09386616d3dc68a3f71df571ed09a04a74baa2673c469692c8629cea844e3f61ce3494fe1b796c569b5452140857c790 SHA512 7807de92f84a3b755d9c0e9cc312cad7abbad222a268580082b2e1b3492ee5714ba246a6fa2b86560ee96d8ad99accb31317938aa0eecfc7e7cfd2da04f4b057 +DIST bash53-008 5717 BLAKE2B 7ebe5ac77d3697da01ad7beb88a8fdaeac3ac2fb671cc5151ce10428044b4f5fd7ea13e35c91eef1a7d6027f9053a57a27864d5f6a935d48d6cd2be6a9239233 SHA512 094b7dc2abe6fc41c62494c6b69640fbd8c6bd93e7cde0618504bb8589fc51fec2fb1686b2729c37e430d336d93ec174233d78f23c82026aca49a240a00477c1 +DIST bash53-008.sig 95 BLAKE2B 729bf597066d09ebe386832df6717c785333e05d03b14fa073949cf9404450b777bb0f63dcea47909fbcd20bdfa13b82b9c673ab53771e11347f7231820f6bfb SHA512 21e796bcdd25bdf2bd70768d93a2cb8a53dc5f070168bfbf97fc9a4312a710b422ac38cbe5925669a8e8abfebe22ce44a14a1aa7ce1770e91ad8148d74391660 +DIST bash53-009 2468 BLAKE2B 09ddf6b605d409142a4107bd52c8b48a91a225d65b867b5074c8b5359d0b1012d2f50e54d1d5636b3413431cf4840d6bd34f9c84f062f3ead96eeaf912127532 SHA512 07f37cee118e510ae58ea408f9d97b942017e1378532d4e3cd5a4d7405994ddadaba5d3ddb4bbda6b375760967faa51add7f46914ba919a27c14e7036f64f3be +DIST bash53-009.sig 95 BLAKE2B dcbdd9e7646ff83d94f3b5fa5d26cc9221871b6e0b95132516ca01de8a802001d6df1b5b55e8f3a9363ec0712a74bc1f73861713e8555d32dcd566bbcbad28c6 SHA512 f20bb74e3d7074425387a65678f0d4c28cedf48065a857c1b4c59ae74195f41937ea780919174945d9af5e4b83ccb3bfbfa2c4e2561a8a62f60129d79a28aefd diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.4_p23-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.4_p23-r2.ebuild index 92131bc4904..76fe9c20294 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.4_p23-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.4_p23-r2.ebuild @@ -51,7 +51,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="GPL-3" SLOT="${MY_PV}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.0_p18-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.0_p18-r3.ebuild index 2c2025428dc..4be5c744f32 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.0_p18-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.0_p18-r3.ebuild @@ -51,7 +51,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="GPL-3" SLOT="${MY_PV}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r14.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r14.ebuild index 886312e185f..8e3559b3a0a 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r14.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r14.ebuild @@ -65,7 +65,7 @@ S=${WORKDIR}/${MY_P} LICENSE="GPL-3+" SLOT="${MY_PV}" 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 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37-r5.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37-r5.ebuild index b110e09a650..daa46acf601 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37-r5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37-r5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -75,7 +75,7 @@ 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" @@ -457,7 +457,7 @@ EOF cat <<'EOF' The window title setting behaviour has been improved. It is now formatted as "\u@\h \W", in accordance with the prompting mechanism of bash. For example, -after switching to the home directory, the current working directly will be +after switching to the home directory, the current working directory will be shown as the character. The value of PROMPT_DIRTRIM is now respected. If this variable is unset, the diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p3-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p3-r3.ebuild index 1c0532ea8e3..8ab4ea18714 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p3-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p3-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -75,7 +75,7 @@ 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" @@ -439,7 +439,7 @@ EOF cat <<'EOF' The window title setting behaviour has been improved. It is now formatted as "\u@\h \W", in accordance with the prompting mechanism of bash. For example, -after switching to the home directory, the current working directly will be +after switching to the home directory, the current working directory will be shown as the character. The value of PROMPT_DIRTRIM is now respected. If this variable is unset, the diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p8.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p8.ebuild new file mode 100644 index 00000000000..b33b1c6d4e1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p8.ebuild @@ -0,0 +1,463 @@ +# Copyright 1999-2026 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 https://ftp.gnu.org/gnu/bash/bash-5.3-patches/. +case ${PV} in + 9999|*_alpha*|*_beta*|*_rc*) + # Set a negative patchlevel to indicate that it's a pre-release. + PLEVEL=-1 + if [[ ${PV} =~ _pre[0-9]{8}$ ]]; then + BASH_COMMIT= + fi + ;; + *_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" + +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 )) && [[ ${BASH_COMMIT} ]]; 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. + 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 ~arm64-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 )) && [[ ${BASH_COMMIT} ]]; 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[@]}" + + # 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. Chet also advises against use of byacc: + # https://lists.gnu.org/archive/html/bug-bash/2025-08/msg00115.html + 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\"\' \ + -DDEFAULT_LOADABLE_BUILTINS_PATH=\'\""${EPREFIX}"/usr/local/$(get_libdir)/bash:"${EPREFIX}"/usr/$(get_libdir)/bash\"\' \ + -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-r2 | 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-r3.bash 10-gentoo-title.bash + + insinto /etc/profile.d + doins "${FILESDIR}/profile.d/00-prompt-command.sh" + + insinto /etc/skel + for f in bash{_logout,_profile,rc}; do + newins "${FILESDIR}/skel/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 IFS old_ver ver + local -a versions + + # If /bin/sh does not exist, provide it. + if [[ ! -e ${EROOT}/bin/sh ]]; then + ln -sf -- bash "${EROOT}"/bin/sh || die + fi + + if [[ -e ${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash ]]; then + ewarn "The following file is no longer packaged and can safely be deleted:" + ewarn "${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash" + fi + + read -rd '' -a versions <<<"${REPLACING_VERSIONS}" + for ver in "${versions[@]}"; do + if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; then + old_ver=${ver} + fi + done + + if [[ ! ${old_ver} ]]; then + return + fi + + { + if ver_test "${old_ver}" -ge "5.2" \ + && ver_test "${old_ver}" -ge "5.2_p26-r8" + then + : + elif ver_test "${old_ver}" -lt "5.2" \ + && ver_test "${old_ver}" -ge "5.1_p16-r8" + then + : + else + cat <<'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 + fi + + if ver_test "${old_ver}" -ge "5.3" \ + && ver_test "${old_ver}" -ge "5.3_p3-r3" + then + : + elif ver_test "${old_ver}" -lt "5.3" \ + && ver_test "${old_ver}" -ge "5.2_p37-r5" + then + : + else + cat <<'EOF' +The window title setting behaviour has been improved. It is now formatted as +"\u@\h \W", in accordance with the prompting mechanism of bash. For example, +after switching to the home directory, the current working directory will be +shown as the character. + +The value of PROMPT_DIRTRIM is now respected. If this variable is unset, the +use of the \W prompt string escape will prevail, with the current working +directory typically being shown as its basename. If set to 0 or greater, \w +will be used instead, which may be trimmed. This also means that the title +can be made to show the full path by setting PROMPT_DIRTRIM=0. + +For further information, run info '(bash)Bash Variables' or visit +https://www.gnu.org/software/bash/manual/bash.html#index-PROMPT_005fDIRTRIM. +EOF + fi + } \ + | if [[ ${COLUMNS} == [1-9]*([0-9]) ]] && (( COLUMNS > 80 )); then + fmt -w "$(( COLUMNS - 3 ))" + else + cat + fi \ + | while read -r; do + ewarn "${REPLY}" + done +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p9.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p9.ebuild new file mode 100644 index 00000000000..0c65da5eec0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p9.ebuild @@ -0,0 +1,463 @@ +# Copyright 1999-2026 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 https://ftp.gnu.org/gnu/bash/bash-5.3-patches/. +case ${PV} in + 9999|*_alpha*|*_beta*|*_rc*) + # Set a negative patchlevel to indicate that it's a pre-release. + PLEVEL=-1 + if [[ ${PV} =~ _pre[0-9]{8}$ ]]; then + BASH_COMMIT= + fi + ;; + *_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" + +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 )) && [[ ${BASH_COMMIT} ]]; 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. + 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 ~arm64-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 )) && [[ ${BASH_COMMIT} ]]; 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[@]}" + + # 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. Chet also advises against use of byacc: + # https://lists.gnu.org/archive/html/bug-bash/2025-08/msg00115.html + 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\"\' \ + -DDEFAULT_LOADABLE_BUILTINS_PATH=\'\""${EPREFIX}"/usr/local/$(get_libdir)/bash:"${EPREFIX}"/usr/$(get_libdir)/bash\"\' \ + -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-r2 | 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-r3.bash 10-gentoo-title.bash + + insinto /etc/profile.d + doins "${FILESDIR}/profile.d/00-prompt-command.sh" + + insinto /etc/skel + for f in bash{_logout,_profile,rc}; do + newins "${FILESDIR}/skel/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 IFS old_ver ver + local -a versions + + # If /bin/sh does not exist, provide it. + if [[ ! -e ${EROOT}/bin/sh ]]; then + ln -sf -- bash "${EROOT}"/bin/sh || die + fi + + if [[ -e ${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash ]]; then + ewarn "The following file is no longer packaged and can safely be deleted:" + ewarn "${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash" + fi + + read -rd '' -a versions <<<"${REPLACING_VERSIONS}" + for ver in "${versions[@]}"; do + if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; then + old_ver=${ver} + fi + done + + if [[ ! ${old_ver} ]]; then + return + fi + + { + if ver_test "${old_ver}" -ge "5.2" \ + && ver_test "${old_ver}" -ge "5.2_p26-r8" + then + : + elif ver_test "${old_ver}" -lt "5.2" \ + && ver_test "${old_ver}" -ge "5.1_p16-r8" + then + : + else + cat <<'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 + fi + + if ver_test "${old_ver}" -ge "5.3" \ + && ver_test "${old_ver}" -ge "5.3_p3-r3" + then + : + elif ver_test "${old_ver}" -lt "5.3" \ + && ver_test "${old_ver}" -ge "5.2_p37-r5" + then + : + else + cat <<'EOF' +The window title setting behaviour has been improved. It is now formatted as +"\u@\h \W", in accordance with the prompting mechanism of bash. For example, +after switching to the home directory, the current working directory will be +shown as the character. + +The value of PROMPT_DIRTRIM is now respected. If this variable is unset, the +use of the \W prompt string escape will prevail, with the current working +directory typically being shown as its basename. If set to 0 or greater, \w +will be used instead, which may be trimmed. This also means that the title +can be made to show the full path by setting PROMPT_DIRTRIM=0. + +For further information, run info '(bash)Bash Variables' or visit +https://www.gnu.org/software/bash/manual/bash.html#index-PROMPT_005fDIRTRIM. +EOF + fi + } \ + | if [[ ${COLUMNS} == [1-9]*([0-9]) ]] && (( COLUMNS > 80 )); then + fmt -w "$(( COLUMNS - 3 ))" + else + cat + fi \ + | while read -r; do + ewarn "${REPLY}" + done +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20251027.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20251027.ebuild index b3b33c5f22c..af1b788c12b 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20251027.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20251027.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -75,7 +75,7 @@ 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" # As of 5.4_alpha_pre20251016, bash tests finally exit non-0 on failure. @@ -443,7 +443,7 @@ EOF cat <<'EOF' The window title setting behaviour has been improved. It is now formatted as "\u@\h \W", in accordance with the prompting mechanism of bash. For example, -after switching to the home directory, the current working directly will be +after switching to the home directory, the current working directory will be shown as the character. The value of PROMPT_DIRTRIM is now respected. If this variable is unset, the diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20251119.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20251119.ebuild new file mode 100644 index 00000000000..0992b56e7d7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20251119.ebuild @@ -0,0 +1,468 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc +inherit flag-o-matic toolchain-funcs prefix verify-sig + +# Uncomment if we have a patchset. +#GENTOO_PATCH_DEV="sam" +#GENTOO_PATCH_VER="${PV}" + +MY_PV=${PV/_p*} +MY_PV=${MY_PV/_/-} +MY_P=${PN}-${MY_PV} +MY_PATCHES=() + +# Determine the patchlevel. +case ${PV} in + 9999|*_alpha*|*_beta*|*_rc*) + # Set a negative patchlevel to indicate that it's a pre-release. + PLEVEL=-1 + if [[ ${PV} =~ _pre[0-9]{8}$ ]]; then + BASH_COMMIT="bcac47f08a6e8f04893f3f282bb841ddc07fc2e8" + fi + ;; + *_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" + +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 )) && [[ ${BASH_COMMIT} ]]; 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. + 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 ~arm64-macos ~x64-macos ~x64-solaris" +fi +IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" +# As of 5.4_alpha_pre20251016, bash tests finally exit non-0 on failure. +# The differences look harmless but need investigation and fixing. +RESTRICT="test" + +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 )) && [[ ${BASH_COMMIT} ]]; 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[@]}" + + # 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. Chet also advises against use of byacc: + # https://lists.gnu.org/archive/html/bug-bash/2025-08/msg00115.html + 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\"\' \ + -DDEFAULT_LOADABLE_BUILTINS_PATH=\'\""${EPREFIX}"/usr/local/$(get_libdir)/bash:"${EPREFIX}"/usr/$(get_libdir)/bash\"\' \ + -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 + + # Testsuite isn't expected to pass for bash right now, but it + # also doesn't matter for PGO. + nonfatal 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-r2 | 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-r3.bash 10-gentoo-title.bash + + insinto /etc/profile.d + doins "${FILESDIR}/profile.d/00-prompt-command.sh" + + insinto /etc/skel + for f in bash{_logout,_profile,rc}; do + newins "${FILESDIR}/skel/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 IFS old_ver ver + local -a versions + + # If /bin/sh does not exist, provide it. + if [[ ! -e ${EROOT}/bin/sh ]]; then + ln -sf -- bash "${EROOT}"/bin/sh || die + fi + + if [[ -e ${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash ]]; then + ewarn "The following file is no longer packaged and can safely be deleted:" + ewarn "${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash" + fi + + read -rd '' -a versions <<<"${REPLACING_VERSIONS}" + for ver in "${versions[@]}"; do + if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; then + old_ver=${ver} + fi + done + + if [[ ! ${old_ver} ]]; then + return + fi + + { + if ver_test "${old_ver}" -ge "5.2" \ + && ver_test "${old_ver}" -ge "5.2_p26-r8" + then + : + elif ver_test "${old_ver}" -lt "5.2" \ + && ver_test "${old_ver}" -ge "5.1_p16-r8" + then + : + else + cat <<'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 + fi + + if ver_test "${old_ver}" -ge "5.3" \ + && ver_test "${old_ver}" -ge "5.3_p3-r3" + then + : + elif ver_test "${old_ver}" -lt "5.3" \ + && ver_test "${old_ver}" -ge "5.2_p37-r5" + then + : + else + cat <<'EOF' +The window title setting behaviour has been improved. It is now formatted as +"\u@\h \W", in accordance with the prompting mechanism of bash. For example, +after switching to the home directory, the current working directory will be +shown as the character. + +The value of PROMPT_DIRTRIM is now respected. If this variable is unset, the +use of the \W prompt string escape will prevail, with the current working +directory typically being shown as its basename. If set to 0 or greater, \w +will be used instead, which may be trimmed. This also means that the title +can be made to show the full path by setting PROMPT_DIRTRIM=0. + +For further information, run info '(bash)Bash Variables' or visit +https://www.gnu.org/software/bash/manual/bash.html#index-PROMPT_005fDIRTRIM. +EOF + fi + } \ + | if [[ ${COLUMNS} == [1-9]*([0-9]) ]] && (( COLUMNS > 80 )); then + fmt -w "$(( COLUMNS - 3 ))" + else + cat + fi \ + | while read -r; do + ewarn "${REPLY}" + done +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20251124.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20251124.ebuild new file mode 100644 index 00000000000..06a1ffffd9a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20251124.ebuild @@ -0,0 +1,468 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc +inherit flag-o-matic toolchain-funcs prefix verify-sig + +# Uncomment if we have a patchset. +#GENTOO_PATCH_DEV="sam" +#GENTOO_PATCH_VER="${PV}" + +MY_PV=${PV/_p*} +MY_PV=${MY_PV/_/-} +MY_P=${PN}-${MY_PV} +MY_PATCHES=() + +# Determine the patchlevel. +case ${PV} in + 9999|*_alpha*|*_beta*|*_rc*) + # Set a negative patchlevel to indicate that it's a pre-release. + PLEVEL=-1 + if [[ ${PV} =~ _pre[0-9]{8}$ ]]; then + BASH_COMMIT="4e705ed53ac364ee110f0b2fbeeab9d3301fcb6b" + fi + ;; + *_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" + +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 )) && [[ ${BASH_COMMIT} ]]; 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. + 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 ~arm64-macos ~x64-macos ~x64-solaris" +fi +IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" +# As of 5.4_alpha_pre20251016, bash tests finally exit non-0 on failure. +# The differences look harmless but need investigation and fixing. +RESTRICT="test" + +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 )) && [[ ${BASH_COMMIT} ]]; 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[@]}" + + # 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. Chet also advises against use of byacc: + # https://lists.gnu.org/archive/html/bug-bash/2025-08/msg00115.html + 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\"\' \ + -DDEFAULT_LOADABLE_BUILTINS_PATH=\'\""${EPREFIX}"/usr/local/$(get_libdir)/bash:"${EPREFIX}"/usr/$(get_libdir)/bash\"\' \ + -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 + + # Testsuite isn't expected to pass for bash right now, but it + # also doesn't matter for PGO. + nonfatal 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-r2 | 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-r3.bash 10-gentoo-title.bash + + insinto /etc/profile.d + doins "${FILESDIR}/profile.d/00-prompt-command.sh" + + insinto /etc/skel + for f in bash{_logout,_profile,rc}; do + newins "${FILESDIR}/skel/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 IFS old_ver ver + local -a versions + + # If /bin/sh does not exist, provide it. + if [[ ! -e ${EROOT}/bin/sh ]]; then + ln -sf -- bash "${EROOT}"/bin/sh || die + fi + + if [[ -e ${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash ]]; then + ewarn "The following file is no longer packaged and can safely be deleted:" + ewarn "${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash" + fi + + read -rd '' -a versions <<<"${REPLACING_VERSIONS}" + for ver in "${versions[@]}"; do + if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; then + old_ver=${ver} + fi + done + + if [[ ! ${old_ver} ]]; then + return + fi + + { + if ver_test "${old_ver}" -ge "5.2" \ + && ver_test "${old_ver}" -ge "5.2_p26-r8" + then + : + elif ver_test "${old_ver}" -lt "5.2" \ + && ver_test "${old_ver}" -ge "5.1_p16-r8" + then + : + else + cat <<'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 + fi + + if ver_test "${old_ver}" -ge "5.3" \ + && ver_test "${old_ver}" -ge "5.3_p3-r3" + then + : + elif ver_test "${old_ver}" -lt "5.3" \ + && ver_test "${old_ver}" -ge "5.2_p37-r5" + then + : + else + cat <<'EOF' +The window title setting behaviour has been improved. It is now formatted as +"\u@\h \W", in accordance with the prompting mechanism of bash. For example, +after switching to the home directory, the current working directory will be +shown as the character. + +The value of PROMPT_DIRTRIM is now respected. If this variable is unset, the +use of the \W prompt string escape will prevail, with the current working +directory typically being shown as its basename. If set to 0 or greater, \w +will be used instead, which may be trimmed. This also means that the title +can be made to show the full path by setting PROMPT_DIRTRIM=0. + +For further information, run info '(bash)Bash Variables' or visit +https://www.gnu.org/software/bash/manual/bash.html#index-PROMPT_005fDIRTRIM. +EOF + fi + } \ + | if [[ ${COLUMNS} == [1-9]*([0-9]) ]] && (( COLUMNS > 80 )); then + fmt -w "$(( COLUMNS - 3 ))" + else + cat + fi \ + | while read -r; do + ewarn "${REPLY}" + done +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20251202.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20251202.ebuild new file mode 100644 index 00000000000..6fec1496d1b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20251202.ebuild @@ -0,0 +1,468 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc +inherit flag-o-matic toolchain-funcs prefix verify-sig + +# Uncomment if we have a patchset. +#GENTOO_PATCH_DEV="sam" +#GENTOO_PATCH_VER="${PV}" + +MY_PV=${PV/_p*} +MY_PV=${MY_PV/_/-} +MY_P=${PN}-${MY_PV} +MY_PATCHES=() + +# Determine the patchlevel. +case ${PV} in + 9999|*_alpha*|*_beta*|*_rc*) + # Set a negative patchlevel to indicate that it's a pre-release. + PLEVEL=-1 + if [[ ${PV} =~ _pre[0-9]{8}$ ]]; then + BASH_COMMIT="5a104e96d869e2bbf0f7f364f45d21e6fc151721" + fi + ;; + *_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" + +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 )) && [[ ${BASH_COMMIT} ]]; 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. + 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 ~arm64-macos ~x64-macos ~x64-solaris" +fi +IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" +# As of 5.4_alpha_pre20251016, bash tests finally exit non-0 on failure. +# The differences look harmless but need investigation and fixing. +RESTRICT="test" + +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 )) && [[ ${BASH_COMMIT} ]]; 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[@]}" + + # 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. Chet also advises against use of byacc: + # https://lists.gnu.org/archive/html/bug-bash/2025-08/msg00115.html + 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\"\' \ + -DDEFAULT_LOADABLE_BUILTINS_PATH=\'\""${EPREFIX}"/usr/local/$(get_libdir)/bash:"${EPREFIX}"/usr/$(get_libdir)/bash\"\' \ + -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 + + # Testsuite isn't expected to pass for bash right now, but it + # also doesn't matter for PGO. + nonfatal 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-r2 | 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-r3.bash 10-gentoo-title.bash + + insinto /etc/profile.d + doins "${FILESDIR}/profile.d/00-prompt-command.sh" + + insinto /etc/skel + for f in bash{_logout,_profile,rc}; do + newins "${FILESDIR}/skel/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 IFS old_ver ver + local -a versions + + # If /bin/sh does not exist, provide it. + if [[ ! -e ${EROOT}/bin/sh ]]; then + ln -sf -- bash "${EROOT}"/bin/sh || die + fi + + if [[ -e ${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash ]]; then + ewarn "The following file is no longer packaged and can safely be deleted:" + ewarn "${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash" + fi + + read -rd '' -a versions <<<"${REPLACING_VERSIONS}" + for ver in "${versions[@]}"; do + if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; then + old_ver=${ver} + fi + done + + if [[ ! ${old_ver} ]]; then + return + fi + + { + if ver_test "${old_ver}" -ge "5.2" \ + && ver_test "${old_ver}" -ge "5.2_p26-r8" + then + : + elif ver_test "${old_ver}" -lt "5.2" \ + && ver_test "${old_ver}" -ge "5.1_p16-r8" + then + : + else + cat <<'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 + fi + + if ver_test "${old_ver}" -ge "5.3" \ + && ver_test "${old_ver}" -ge "5.3_p3-r3" + then + : + elif ver_test "${old_ver}" -lt "5.3" \ + && ver_test "${old_ver}" -ge "5.2_p37-r5" + then + : + else + cat <<'EOF' +The window title setting behaviour has been improved. It is now formatted as +"\u@\h \W", in accordance with the prompting mechanism of bash. For example, +after switching to the home directory, the current working directory will be +shown as the character. + +The value of PROMPT_DIRTRIM is now respected. If this variable is unset, the +use of the \W prompt string escape will prevail, with the current working +directory typically being shown as its basename. If set to 0 or greater, \w +will be used instead, which may be trimmed. This also means that the title +can be made to show the full path by setting PROMPT_DIRTRIM=0. + +For further information, run info '(bash)Bash Variables' or visit +https://www.gnu.org/software/bash/manual/bash.html#index-PROMPT_005fDIRTRIM. +EOF + fi + } \ + | if [[ ${COLUMNS} == [1-9]*([0-9]) ]] && (( COLUMNS > 80 )); then + fmt -w "$(( COLUMNS - 3 ))" + else + cat + fi \ + | while read -r; do + ewarn "${REPLY}" + done +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild index 4f70ef30921..58734d9d40c 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -75,7 +75,7 @@ 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" # As of 5.4_alpha_pre20251016, bash tests finally exit non-0 on failure. @@ -443,7 +443,7 @@ EOF cat <<'EOF' The window title setting behaviour has been improved. It is now formatted as "\u@\h \W", in accordance with the prompting mechanism of bash. For example, -after switching to the home directory, the current working directly will be +after switching to the home directory, the current working directory will be shown as the character. The value of PROMPT_DIRTRIM is now respected. If this variable is unset, the diff --git a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20240625.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20240625.ebuild index 90a0f08a885..161d4171313 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20240625.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20240625.ebuild @@ -11,7 +11,7 @@ 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" src_install() { emake DESTDIR="${D}" install \ 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 index 90a0f08a885..161d4171313 100644 --- 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 @@ -11,7 +11,7 @@ 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" src_install() { emake DESTDIR="${D}" install \ diff --git a/sdk_container/src/third_party/portage-stable/app-text/asciidoc/asciidoc-10.2.1.ebuild b/sdk_container/src/third_party/portage-stable/app-text/asciidoc/asciidoc-10.2.1.ebuild index f64f2d915b0..cfd71dfd870 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/asciidoc/asciidoc-10.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/asciidoc/asciidoc-10.2.1.ebuild @@ -17,7 +17,7 @@ SRC_URI="https://github.com/asciidoc-py/asciidoc-py/releases/download/${PV}/${P} 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 ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" RDEPEND=" app-text/docbook-xml-dtd:4.5 diff --git a/sdk_container/src/third_party/portage-stable/app-text/build-docbook-catalog/build-docbook-catalog-2.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-text/build-docbook-catalog/build-docbook-catalog-2.3-r1.ebuild index 354ddb3a611..4f48e246167 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/build-docbook-catalog/build-docbook-catalog-2.3-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/build-docbook-catalog/build-docbook-catalog-2.3-r1.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://gitweb.gentoo.org/proj/build-docbook-catalog.git/snapshot/${P}. LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=" dev-libs/libxml2 @@ -34,5 +34,5 @@ src_configure() { pkg_postinst() { # New version -> regen files # See bug #816303 for rationale behind die - build-docbook-catalog || die "Failed to regenerate docbook catalog." + "${EROOT}"/usr/sbin/build-docbook-catalog || die "Failed to regenerate docbook catalog." } diff --git a/sdk_container/src/third_party/portage-stable/app-text/build-docbook-catalog/build-docbook-catalog-2.4.ebuild b/sdk_container/src/third_party/portage-stable/app-text/build-docbook-catalog/build-docbook-catalog-2.4.ebuild index 354ddb3a611..868df2f6fbc 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/build-docbook-catalog/build-docbook-catalog-2.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/build-docbook-catalog/build-docbook-catalog-2.4.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://gitweb.gentoo.org/proj/build-docbook-catalog.git/snapshot/${P}. LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=" dev-libs/libxml2 @@ -34,5 +34,7 @@ src_configure() { pkg_postinst() { # New version -> regen files # See bug #816303 for rationale behind die - build-docbook-catalog || die "Failed to regenerate docbook catalog." + # build-docbook-catalog needs not to be in PATH when using ROOT or + # cross-EPREFIX merging + "${EROOT}"/usr/sbin/build-docbook-catalog || die "Failed to regenerate docbook catalog." } diff --git a/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.1.2-r7.ebuild b/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.1.2-r7.ebuild index c8245c85bfa..b5c75f07722 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.1.2-r7.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.1.2-r7.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://docbook.org/xml/${PV}/${MY_P}.zip" LICENSE="docbook" SLOT="${PV}" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="" RDEPEND=">=app-text/docbook-xsl-stylesheets-1.65 @@ -57,12 +57,12 @@ pkg_postinst() { fi # See bug #816303 for rationale behind die - build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" + "${EROOT}"/usr/sbin/build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" sgml-catalog-r1_pkg_postinst } pkg_postrm() { # See bug #816303 for rationale behind die - build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" + "${EROOT}"/usr/sbin/build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" sgml-catalog-r1_pkg_postrm } diff --git a/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.2-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.2-r3.ebuild index dbaf0f1c3db..c4bc6bf5026 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.2-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.2-r3.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://docbook.org/xml/${PV}/${MY_P}.zip" LICENSE="docbook" SLOT="${PV}" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="" RDEPEND=">=app-text/docbook-xsl-stylesheets-1.65 @@ -57,12 +57,12 @@ pkg_postinst() { fi # See bug #816303 for rationale behind die - build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" + "${EROOT}"/usr/sbin/build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" sgml-catalog-r1_pkg_postinst } pkg_postrm() { # See bug #816303 for rationale behind die - build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" + "${EROOT}"/usr/sbin/build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" sgml-catalog-r1_pkg_postrm } diff --git a/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.3-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.3-r2.ebuild index dbaf0f1c3db..c4bc6bf5026 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.3-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.3-r2.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://docbook.org/xml/${PV}/${MY_P}.zip" LICENSE="docbook" SLOT="${PV}" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="" RDEPEND=">=app-text/docbook-xsl-stylesheets-1.65 @@ -57,12 +57,12 @@ pkg_postinst() { fi # See bug #816303 for rationale behind die - build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" + "${EROOT}"/usr/sbin/build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" sgml-catalog-r1_pkg_postinst } pkg_postrm() { # See bug #816303 for rationale behind die - build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" + "${EROOT}"/usr/sbin/build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" sgml-catalog-r1_pkg_postrm } diff --git a/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.4-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.4-r3.ebuild index ad762db256a..402f3d5949e 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.4-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.4-r3.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://docbook.org/xml/${PV}/${MY_P}.zip" LICENSE="docbook" SLOT="${PV}" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="" RDEPEND=">=app-text/docbook-xsl-stylesheets-1.65 @@ -58,12 +58,12 @@ pkg_postinst() { fi # See bug #816303 for rationale behind die - build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" + "${EROOT}"/usr/sbin/build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" sgml-catalog-r1_pkg_postinst } pkg_postrm() { # See bug #816303 for rationale behind die - build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" + "${EROOT}"/usr/sbin/build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" sgml-catalog-r1_pkg_postrm } diff --git a/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.5-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.5-r2.ebuild index ad762db256a..402f3d5949e 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.5-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/docbook-xml-dtd/docbook-xml-dtd-4.5-r2.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://docbook.org/xml/${PV}/${MY_P}.zip" LICENSE="docbook" SLOT="${PV}" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="" RDEPEND=">=app-text/docbook-xsl-stylesheets-1.65 @@ -58,12 +58,12 @@ pkg_postinst() { fi # See bug #816303 for rationale behind die - build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" + "${EROOT}"/usr/sbin/build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" sgml-catalog-r1_pkg_postinst } pkg_postrm() { # See bug #816303 for rationale behind die - build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" + "${EROOT}"/usr/sbin/build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" sgml-catalog-r1_pkg_postrm } diff --git a/sdk_container/src/third_party/portage-stable/app-text/docbook-xsl-ns-stylesheets/docbook-xsl-ns-stylesheets-1.79.1.ebuild b/sdk_container/src/third_party/portage-stable/app-text/docbook-xsl-ns-stylesheets/docbook-xsl-ns-stylesheets-1.79.1.ebuild index 39ee587c375..af23f5e4f21 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/docbook-xsl-ns-stylesheets/docbook-xsl-ns-stylesheets-1.79.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/docbook-xsl-ns-stylesheets/docbook-xsl-ns-stylesheets-1.79.1.ebuild @@ -73,10 +73,10 @@ EOF pkg_postinst() { # See bug #816303 for rationale behind die - build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" + "${EROOT}"/usr/sbin/build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" } pkg_postrm() { # See bug #816303 for rationale behind die - build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" + "${EROOT}"/usr/sbin/build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" } diff --git a/sdk_container/src/third_party/portage-stable/app-text/docbook-xsl-stylesheets/docbook-xsl-stylesheets-1.79.1-r4.ebuild b/sdk_container/src/third_party/portage-stable/app-text/docbook-xsl-stylesheets/docbook-xsl-stylesheets-1.79.1-r4.ebuild index 5c3b44931e3..58c0af4d815 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/docbook-xsl-stylesheets/docbook-xsl-stylesheets-1.79.1-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/docbook-xsl-stylesheets/docbook-xsl-stylesheets-1.79.1-r4.ebuild @@ -17,7 +17,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="ruby" # Makefile is broken since 1.76.0 RESTRICT="test" @@ -88,10 +88,10 @@ src_install() { pkg_postinst() { # See bug #816303 for rationale behind die - build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" + "${EROOT}"/usr/sbin/build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" } pkg_postrm() { # See bug #816303 for rationale behind die - build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" + "${EROOT}"/usr/sbin/build-docbook-catalog || die "Failed to regenerate docbook catalog. Is /run mounted?" } diff --git a/sdk_container/src/third_party/portage-stable/app-text/mandoc/mandoc-1.14.6-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-text/mandoc/mandoc-1.14.6-r1.ebuild new file mode 100644 index 00000000000..563e6bc3b27 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-text/mandoc/mandoc-1.14.6-r1.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Suite of tools compiling mdoc and man" +HOMEPAGE="https://mdocml.bsd.lv/" +SRC_URI="https://mdocml.bsd.lv/snapshots/${P}.tar.gz" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="cgi selinux system-man test" +RESTRICT="!test? ( test )" + +RDEPEND="virtual/zlib:= + system-man? ( !sys-apps/man-db ) +" +DEPEND="${RDEPEND} + cgi? ( virtual/zlib:=[static-libs] ) +" +BDEPEND=" + cgi? ( app-text/highlight ) + test? ( dev-lang/perl ) +" +RDEPEND+=" selinux? ( sec-policy/selinux-makewhatis )" + +QA_CONFIG_IMPL_DECL_SKIP=( + # BSD, provided by compat_progname.c + getprogname + # BSD, not required + pledge + # BSD, provided by compat_recallocarray.c + recallocarray + # BSD, provided by compat_strtonum.c + strtonum + # tested by configure w/o and then w/ _GNU_SOURCE + # avoid the warn for the first check + strcasestr # for musl + strptime + wcwidth +) + +PATCHES=( + "${FILESDIR}"/${PN}-1.14.5-r1-www-install.patch +) + +pkg_pretend() { + if use system-man ; then + # only support uncompressed and gzip + [[ -n ${PORTAGE_COMPRESS+unset} ]] && \ + [[ "${PORTAGE_COMPRESS}" == "gzip" || "${PORTAGE_COMPRESS}" == "" ]] || \ + ewarn "only PORTAGE_COMPRESS=gzip or '' is supported, man pages will not be indexed" + fi +} + +src_prepare() { + default + + cat <<-EOF > "configure.local" + PREFIX="${EPREFIX}/usr" + BINDIR="${EPREFIX}/usr/bin" + SBINDIR="${EPREFIX}/usr/sbin" + LIBDIR="${EPREFIX}/usr/$(get_libdir)" + MANDIR="${EPREFIX}/usr/share/man" + INCLUDEDIR="${EPREFIX}/usr/include/mandoc" + EXAMPLEDIR="${EPREFIX}/usr/share/examples/mandoc" + MANPATH_DEFAULT="${EPREFIX}/usr/man:${EPREFIX}/usr/share/man:${EPREFIX}/usr/local/man:${EPREFIX}/usr/local/share/man" + + CFLAGS="${CFLAGS} ${CPPFLAGS}" + LDFLAGS="${LDFLAGS}" + AR="$(tc-getAR)" + CC="$(tc-getCC)" + # The STATIC variable is only used by man.cgi. + STATIC= + + # conflicts with sys-apps/groff + BINM_SOELIM=msoelim + MANM_ROFF=mandoc_roff + # conflicts with sys-apps/man-pages + MANM_MAN=mandoc_man + + # fix utf-8 locale on musl + $(usex elibc_musl UTF8_LOCALE=C.UTF-8 '') + EOF + use system-man || cat <<-EOF >> "configure.local" + BINM_MAN=mman + BINM_APROPOS=mapropos + BINM_WHATIS=mwhatis + BINM_MAKEWHATIS=mmakewhatis + MANM_MDOC=mandoc_mdoc + MANM_EQN=mandoc_eqn + MANM_TBL=mandoc_tbl + MANM_MANCONF=mman.conf + EOF + # Assuming modern Linux + glibc/musl and not BSD. + tc-is-cross-compiler && cat <<-EOF >> "configure.local" + HAVE_ATTRIBUTE=1 + HAVE_CMSG=1 + HAVE_DIRENT_NAMLEN=0 + HAVE_EFTYPE=0 + HAVE_ENDIAN=1 + HAVE_ERR=1 + HAVE_FTS_COMPARE_CONST=0 + HAVE_FTS=$(usex elibc_glibc 1 0) + HAVE_GETLINE=1 + HAVE_GETSUBOPT=1 + HAVE_ISBLANK=1 + HAVE_LESS_T=1 + HAVE_MKDTEMP=1 + HAVE_MKSTEMPS=1 + HAVE_NANOSLEEP=1 + HAVE_NTOHL=1 + HAVE_O_DIRECTORY=1 + HAVE_OHASH=0 + HAVE_PATH_MAX=1 + HAVE_PLEDGE=0 + HAVE_PROGNAME=0 + HAVE_REALLOCARRAY=1 + HAVE_RECALLOCARRAY=0 + HAVE_RECVMSG=1 + HAVE_REWB_BSD=0 + HAVE_REWB_SYSV=1 + HAVE_SANDBOX_INIT=0 + HAVE_STRCASESTR=$(usex elibc_glibc 1 0) + HAVE_STRINGLIST=0 + HAVE_STRLCAT=$(usex elibc_glibc 1 0) + HAVE_STRLCPY=$(usex elibc_glibc 1 0) + HAVE_STRPTIME=1 + HAVE_STRSEP=1 + HAVE_STRTONUM=0 + HAVE_SYS_ENDIAN=0 + HAVE_VASPRINTF=1 + HAVE_WCHAR=1 + NEED_GNU_SOURCE=1 + EOF + if use cgi; then + cp cgi.h{.example,} || die + fi + if [[ -n "${MANDOC_CGI_H}" ]]; then + cp "${MANDOC_CGI_H}" cgi.h || die + fi +} + +src_compile() { + default + use cgi && emake man.cgi +} + +src_test() { + emake regress +} + +src_install() { + emake DESTDIR="${D}" install + use cgi && emake DESTDIR="${D}" cgi-install www-install + + if use system-man ; then + exeinto /etc/cron.daily + newexe "${FILESDIR}"/mandoc.cron-r0 mandoc + fi +} + +pkg_postinst() { + if use system-man ; then + elog "Generating mandoc database" + makewhatis || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/app-text/manpager/manpager-1.ebuild b/sdk_container/src/third_party/portage-stable/app-text/manpager/manpager-1.ebuild index 1047d36823a..23d2e43a9b1 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/manpager/manpager-1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/manpager/manpager-1.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" S=${WORKDIR} diff --git a/sdk_container/src/third_party/portage-stable/app-text/scdoc/scdoc-1.11.4.ebuild b/sdk_container/src/third_party/portage-stable/app-text/scdoc/scdoc-1.11.4.ebuild index 34f6a166864..6e51ab50d4c 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/scdoc/scdoc-1.11.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/scdoc/scdoc-1.11.4.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then inherit git-r3 else SRC_URI="https://git.sr.ht/~sircmpwn/scdoc/archive/${PV}.tar.gz -> ${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="MIT" diff --git a/sdk_container/src/third_party/portage-stable/app-text/sgml-common/sgml-common-0.6.3-r7.ebuild b/sdk_container/src/third_party/portage-stable/app-text/sgml-common/sgml-common-0.6.3-r7.ebuild index 4ee5d817405..54717a46c96 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/sgml-common/sgml-common-0.6.3-r7.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/sgml-common/sgml-common-0.6.3-r7.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://dev.gentoo.org/~floppym/dist/${PN}/${P}-gentoo.tar.gz" LICENSE="FDL-1.1+ 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="" DEPEND="" diff --git a/sdk_container/src/third_party/portage-stable/app-text/xmlto/xmlto-0.0.28-r11.ebuild b/sdk_container/src/third_party/portage-stable/app-text/xmlto/xmlto-0.0.28-r11.ebuild index 4991f4c3f84..b880bdd3044 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/xmlto/xmlto-0.0.28-r11.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/xmlto/xmlto-0.0.28-r11.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://releases.pagure.org/${PN}/${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 ~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 ~x64-macos ~x64-solaris" IUSE="latex text" RDEPEND=" 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 index 51ff6801be0..a1fa6381160 100644 --- 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 @@ -11,7 +11,7 @@ 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="ignore-glep31" VIM_PLUGIN_HELPFILES="gentoo-syntax" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/autoconf-archive-2023.02.20.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/autoconf-archive-2023.02.20.ebuild index 7055530f8e9..a42e0793e7c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/autoconf-archive-2023.02.20.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/autoconf-archive-2023.02.20.ebuild @@ -9,7 +9,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" 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 ~arm64-macos ~x64-macos ~x64-solaris" # File collisions, bug #540246 RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/autoconf-archive-2024.10.16-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/autoconf-archive-2024.10.16-r1.ebuild index 2ce69fab724..8111545027f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/autoconf-archive-2024.10.16-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/autoconf-archive-2024.10.16-r1.ebuild @@ -12,7 +12,7 @@ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches. 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 ~arm64-macos ~x64-macos ~x64-solaris" # File collisions, bug #540246 RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/autoconf-archive-2024.10.16-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/autoconf-archive-2024.10.16-r2.ebuild index e4e1a682fa0..14e86289e65 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/autoconf-archive-2024.10.16-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/autoconf-archive-2024.10.16-r2.ebuild @@ -12,7 +12,7 @@ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches. 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 ~arm64-macos ~x64-macos ~x64-solaris" # File collisions, bug #540246 RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf-wrapper/autoconf-wrapper-20231224.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-wrapper/autoconf-wrapper-20231224.ebuild index 520ab0fec55..3acaa430826 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf-wrapper/autoconf-wrapper-20231224.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-wrapper/autoconf-wrapper-20231224.ebuild @@ -20,7 +20,7 @@ else SRC_URI="https://gitweb.gentoo.org/proj/autotools-wrappers.git/snapshot/${MY_P}.tar.gz" S="${WORKDIR}/${MY_P}" - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf-wrapper/autoconf-wrapper-99999999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-wrapper/autoconf-wrapper-99999999.ebuild index 766fa1d80c7..c9a396206d4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf-wrapper/autoconf-wrapper-99999999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-wrapper/autoconf-wrapper-99999999.ebuild @@ -20,7 +20,7 @@ else SRC_URI="https://gitweb.gentoo.org/proj/autotools-wrappers.git/snapshot/${MY_P}.tar.gz" S="${WORKDIR}/${MY_P}" - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.13-r8.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.13-r8.ebuild index 3313111af32..f1829133606 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.13-r8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.13-r8.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" LICENSE="GPL-2" SLOT="${PV:0:3}" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.69-r10.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.69-r10.ebuild index c0cf1711a75..fbcb629182a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.69-r10.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.69-r10.ebuild @@ -17,7 +17,7 @@ else https://dev.gentoo.org/~polynomial-c/dist/${P}-runstatedir_patches.tar.xz verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) " - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-m4 )" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.71-r6.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.71-r6.ebuild index 2a98b4303c9..9d2597c5574 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.71-r6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.71-r6.ebuild @@ -16,7 +16,7 @@ else #SRC_URI+=" https://dev.gentoo.org/~polynomial-c/${PATCH_TARBALL_NAME}.tar.xz" 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 ~arm64-macos ~x64-macos ~x64-solaris" fi S="${WORKDIR}"/${MY_P} fi diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.71-r8.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.71-r8.ebuild index 7838a74a454..c55177336a6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.71-r8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.71-r8.ebuild @@ -24,7 +24,7 @@ else S="${WORKDIR}"/${MY_P} 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 ~arm64-macos ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( sec-keys/openpgp-keys-zackweinberg )" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r1.ebuild index 7d5211645bc..d9838276756 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r1.ebuild @@ -29,7 +29,7 @@ else S="${WORKDIR}"/${MY_P} if [[ ${PV} != *_beta* ]] && ! [[ $(ver_cut 3) =~ [a-z] ]] ; 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 ~arm64-macos ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( sec-keys/openpgp-keys-zackweinberg )" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r4.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r4.ebuild index db5c6107805..5e5ee6c5ea9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r4.ebuild @@ -29,7 +29,7 @@ else S="${WORKDIR}"/${MY_P} if [[ ${PV} != *_beta* ]] && ! [[ $(ver_cut 3) =~ [a-z] ]] ; 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 ~arm64-macos ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( sec-keys/openpgp-keys-zackweinberg )" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r6.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r6.ebuild new file mode 100644 index 00000000000..187306c0636 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r6.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Bumping notes: +# * Remember to modify LAST_KNOWN_VER 'upstream' in dev-build/autoconf-wrapper +# on new autoconf releases, as well as the dependency in RDEPEND below too. +# * Update _WANT_AUTOCONF and _autoconf_atom case statement in autotools.eclass. + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/autoconf.git" + inherit git-r3 +else + # For _beta handling replace with real version number + MY_PV="${PV}" + MY_P="${PN}-${MY_PV}" + #PATCH_TARBALL_NAME="${PN}-2.70-patches-01" + + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/zackweinberg.asc + inherit verify-sig + + SRC_URI=" + mirror://gnu/${PN}/${MY_P}.tar.xz + https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz + https://meyering.net/ac/${P}.tar.xz + verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.xz.sig ) + " + S="${WORKDIR}"/${MY_P} + + if [[ ${PV} != *_beta* ]] && ! [[ $(ver_cut 3) =~ [a-z] ]] ; then + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-zackweinberg )" +fi + +inherit toolchain-autoconf multiprocessing + +DESCRIPTION="Used to create autoconfiguration files" +HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html" + +LICENSE="GPL-3+" +SLOT="$(ver_cut 1-2)" + +BDEPEND+=" + >=dev-lang/perl-5.10 + >=sys-devel/m4-1.4.16 +" +RDEPEND=" + ${BDEPEND} + >=dev-build/autoconf-wrapper-20231224 + sys-devel/gnuconfig + !~${CATEGORY}/${P}:2.5 +" +[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3" + +PATCHES=( + "${FILESDIR}"/${PN}-2.72-gettext-0.25-autoreconf-Invoke-autopoint-in-more-situations.patch + "${FILESDIR}"/${PN}-2.72-gettext-0.25-autoreconf-Adapt-to-the-on-disk-situation-after-auto.patch + "${FILESDIR}"/${PN}-2.72-Port-C11-test-to-C-20.patch + "${FILESDIR}"/${PN}-2.72-Port-AC_SYS_LARGEFILE-to-CXX.patch +) + +src_prepare() { + if [[ ${PV} == *9999 ]] ; then + # Avoid the "dirty" suffix in the git version by generating it + # before we run later stages which might modify source files. + local ver=$(./build-aux/git-version-gen .tarball-version) + echo "${ver}" > .tarball-version || die + + autoreconf -f -i || die + fi + + # usr/bin/libtool is provided by binutils-apple, need gnu libtool + if [[ ${CHOST} == *-darwin* ]] ; then + PATCHES+=( "${FILESDIR}"/${PN}-2.71-darwin.patch ) + fi + + # Save timestamp to avoid later makeinfo call + touch -r doc/{,old_}autoconf.texi || die + + toolchain-autoconf_src_prepare + + # Restore timestamp to avoid makeinfo call + # We already have an up to date autoconf.info page at this point. + touch -r doc/{old_,}autoconf.texi || die +} + +src_test() { + emake check TESTSUITEFLAGS="--jobs=$(get_makeopts_jobs)" +} + +src_install() { + toolchain-autoconf_src_install + + # dissuade Portage from removing our dir file + touch "${ED}"/usr/share/${P}/info/.keepinfodir || die + + local f + for f in config.{guess,sub} ; do + ln -fs ../../gnuconfig/${f} \ + "${ED}"/usr/share/autoconf-*/build-aux/${f} || die + done +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-9999.ebuild index 26e402dba62..f4d209e6760 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-9999.ebuild @@ -29,7 +29,7 @@ else S="${WORKDIR}"/${MY_P} if [[ ${PV} != *_beta* ]] && ! [[ $(ver_cut 3) =~ [a-z] ]] ; 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 ~arm64-macos ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( sec-keys/openpgp-keys-zackweinberg )" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/files/autoconf-2.72-Port-AC_SYS_LARGEFILE-to-CXX.patch b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/files/autoconf-2.72-Port-AC_SYS_LARGEFILE-to-CXX.patch new file mode 100644 index 00000000000..438c032dbc0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/files/autoconf-2.72-Port-AC_SYS_LARGEFILE-to-CXX.patch @@ -0,0 +1,87 @@ +From b71143738516017f0e0d347a4025301c06c40254 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Wed, 24 Apr 2024 14:47:56 -0700 +Subject: Port AC_SYS_LARGEFILE to C++ +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Problem reported by Zack Weinberg +. +* lib/autoconf/specific.m4 (_AC_SYS_YEAR2038_PROBE) +(_AC_SYS_LARGEFILE_PROBE): +In chatter, say it’s a CPPFLAGS option, not a CC option. +(_AC_SYS_LARGEFILE_OPTIONS): Omit -n32, as we no longer +need to worry about IRIX. +(_AC_SYS_LARGEFILE_PROBE): Fiddle with CPPFLAGS, not CC, +and don’t worry about -n32. +--- + lib/autoconf/specific.m4 | 18 +++++++----------- + 1 file changed, 7 insertions(+), 11 deletions(-) + +diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 +index a0e1fa8d..0d0191a8 100644 +--- a/lib/autoconf/specific.m4 ++++ b/lib/autoconf/specific.m4 +@@ -132,7 +132,7 @@ m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize( + # If you change this macro you may also need to change + # _AC_SYS_YEAR2038_OPTIONS. + AC_DEFUN([_AC_SYS_YEAR2038_PROBE], +-[AC_CACHE_CHECK([for $CC option for timestamps after 2038], ++[AC_CACHE_CHECK([for $CPPFLAGS option for timestamps after 2038], + [ac_cv_sys_year2038_opts], + [ac_save_CPPFLAGS="$CPPFLAGS" + ac_opt_found=no +@@ -262,7 +262,6 @@ m4_define([_AC_SYS_LARGEFILE_OPTIONS], m4_normalize( + ["none needed"] dnl Most current systems + ["-D_FILE_OFFSET_BITS=64"] dnl X/Open LFS spec + ["-D_LARGE_FILES=1"] dnl 32-bit AIX 4.2.1+, 32-bit z/OS +- ["-n32"] dnl 32-bit IRIX 6, SGI cc (obsolete) + )) + + # _AC_SYS_LARGEFILE_PROBE +@@ -279,25 +278,25 @@ m4_define([_AC_SYS_LARGEFILE_OPTIONS], m4_normalize( + # If you change this macro you may also need to change + # _AC_SYS_LARGEFILE_OPTIONS. + AC_DEFUN([_AC_SYS_LARGEFILE_PROBE], +-[AC_CACHE_CHECK([for $CC option to enable large file support], ++[AC_CACHE_CHECK([for $CPPFLAGS option for large files], + [ac_cv_sys_largefile_opts], +- [ac_save_CC="$CC" ++ [ac_save_CPPFLAGS=$CPPFLAGS + ac_opt_found=no + for ac_opt in _AC_SYS_LARGEFILE_OPTIONS; do + AS_IF([test x"$ac_opt" != x"none needed"], +- [CC="$ac_save_CC $ac_opt"]) ++ [CPPFLAGS="$ac_save_CPPFLAGS $ac_opt"]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_CODE])], + [AS_IF([test x"$ac_opt" = x"none needed"], + [# GNU/Linux s390x and alpha need _FILE_OFFSET_BITS=64 for wide ino_t. +- CC="$CC -DFTYPE=ino_t" ++ CPPFLAGS="$CPPFLAGS -DFTYPE=ino_t" + AC_COMPILE_IFELSE([], [], +- [CC="$CC -D_FILE_OFFSET_BITS=64" ++ [CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64" + AC_COMPILE_IFELSE([], [ac_opt='-D_FILE_OFFSET_BITS=64'])])]) + ac_cv_sys_largefile_opts=$ac_opt + ac_opt_found=yes]) + test $ac_opt_found = no || break + done +- CC="$ac_save_CC" ++ CPPFLAGS=$ac_save_CPPFLAGS + dnl Gnulib implements large file support for native Windows, based on the + dnl variables WINDOWS_64_BIT_OFF_T, WINDOWS_64_BIT_ST_SIZE. + m4_ifdef([gl_LARGEFILE], [ +@@ -327,9 +326,6 @@ AS_CASE([$ac_cv_sys_largefile_opts], + [AC_DEFINE([_LARGE_FILES], [1], + [Define to 1 on platforms where this makes off_t a 64-bit type.])], + +- ["-n32"], +- [CC="$CC -n32"], +- + [AC_MSG_ERROR( + [internal error: bad value for \$ac_cv_sys_largefile_opts])]) + +-- +cgit v1.2.3 + diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/files/autoconf-2.72-Port-C11-test-to-C-20.patch b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/files/autoconf-2.72-Port-C11-test-to-C-20.patch new file mode 100644 index 00000000000..798e2936e4d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/files/autoconf-2.72-Port-C11-test-to-C-20.patch @@ -0,0 +1,28 @@ +From e6c9cb69c8c0a4ef9ce0538d7b4106dad3d7ad47 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Sun, 26 May 2024 07:04:19 -0700 +Subject: [PATCH] Port C11 test to C++20 + +Trivial fix suggested by Peter Johansson in: +https://lists.gnu.org/r/autoconf/2024-05/msg00004.html +* lib/autoconf/c.m4 (_AC_CXX_CXX11_TEST_MAIN): +Do not test assigning u8"..." to char const *, as this +runs afoul of C++20. +--- + lib/autoconf/c.m4 | 3 +-- + 1 files changed, 1 insertions(+), 2 deletions(-) + +diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4 +index d4f7fbe..673d62e 100644 +--- a/lib/autoconf/c.m4 ++++ b/lib/autoconf/c.m4 +@@ -2638,8 +2638,7 @@ ac_cxx_conftest_cxx11_main=' + test_template<::test_template> v(test_template(12)); + } + { +- // Unicode literals +- char const *utf8 = u8"UTF-8 string \u2500"; ++ // Unicode literals. Do not test u8"..." as C++20 would reject it. + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; + } diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-20240607.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-20240607.ebuild index f2eb810cfd6..808a95e7c34 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-20240607.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-20240607.ebuild @@ -20,7 +20,7 @@ else SRC_URI="https://gitweb.gentoo.org/proj/autotools-wrappers.git/snapshot/${MY_P}.tar.gz" S="${WORKDIR}"/${MY_P} - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-20250528.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-20250528.ebuild index f2eb810cfd6..808a95e7c34 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-20250528.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-20250528.ebuild @@ -20,7 +20,7 @@ else SRC_URI="https://gitweb.gentoo.org/proj/autotools-wrappers.git/snapshot/${MY_P}.tar.gz" S="${WORKDIR}"/${MY_P} - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-99999999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-99999999.ebuild index abfdf204974..c965d04d8ff 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-99999999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-99999999.ebuild @@ -20,7 +20,7 @@ else SRC_URI="https://gitweb.gentoo.org/proj/autotools-wrappers.git/snapshot/${MY_P}.tar.gz" S="${WORKDIR}"/${MY_P} - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.17-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.17-r2.ebuild index 22b6780f1aa..ad8bc564232 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.17-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.17-r2.ebuild @@ -35,7 +35,7 @@ else mirror://gnu/${PN}/${P}.tar.xz.sig ) " - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi 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 index 730dd6a935f..c8668492bc5 100644 --- 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 @@ -35,7 +35,7 @@ else mirror://gnu/${PN}/${P}.tar.xz.sig ) " - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-9999.ebuild index 8d2944b514e..c43cf2af555 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-9999.ebuild @@ -35,7 +35,7 @@ else mirror://gnu/${PN}/${P}.tar.xz.sig ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest index 75467989d02..3d091833f75 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest @@ -1,4 +1,7 @@ DIST cmake-3.31.0-docs.tar.xz 562756 BLAKE2B ef1d145658fd197ea515f05fbbad54b213bf458f3068829634242bc43bdb4f97bd45fcc45c9958919d2a78276ffc1d14d507822831f44fe9be5080ecc62e75fe SHA512 b4025633a0f42003005dfacdaea55c67e08d8f9082c8c6c564540b4d536246acedece41adb76cb00042d2f25f85b3817d23f70e393eb22a0857693d51ca60748 +DIST cmake-3.31.10-SHA-256.txt 1663 BLAKE2B 4994c30970db219a9c8f2ecce9bcb53e9caebca4b38d411b4a12b8e1e72cebd14342faa73e26170eff11b5122d4792a6310ef61d13c6988e7da5c38c61500e4d SHA512 9406075dc8ab2cfab30b7164806b978c99a2139d126c3636702a38ad0ee4322495ddd27ca88a748ccf1138e0e80c556eaa5a3083f9393c81a7ee69c4f8cadd6d +DIST cmake-3.31.10-SHA-256.txt.asc 833 BLAKE2B d48b5faa4180da4b8e9f2e665dff2e105d9eba4d7175b15992c9f5c62aad6a62c4db32af6a127a6ae1ec7be845dd417a74a870a494b4797220e9edc9ff4d5a71 SHA512 da7f3efd071b57007d41a555fa00fa10b7eec1c4b3e9963dc3a3c27babb8c98c47544df5f8e565e5befe146886bbb50938b953d1638505a63eb5e94fb83f00f5 +DIST cmake-3.31.10.tar.gz 11715172 BLAKE2B cb93ad802d8a047463aa1cbb1ab67aa50101168335db1c260c4a89b0cb5e0608af0696fc93b4c04e2f17a3d75d52b6819b11cb48a9f5a2fc483fdacfe5befbc9 SHA512 ae1eed42c143b5afd70124853367dab130b3a668fd161a8fd794a44d2eb42f0a64367d152eb43edbf167ffa95612ffe10f8f18c6db9410ff473b97d4f04a978e DIST cmake-3.31.9-SHA-256.txt 1646 BLAKE2B 0806782ad7afaafa600e185a8e84ccb9cd4456d65eb8686be4f71f10fffc16996b3dfecc3f5620036b534040d0abf6253a3ae0b7a2e4ad7350b6f7df2bfe75be SHA512 cfe75c647578ed4a60267d08d3794c35ba738ee7f358e969fea067b56f688946dfe2c737ca06fb175f524a7f6af7ffd5b391d48ab9516a280fee41a2c0d8aa2a DIST cmake-3.31.9-SHA-256.txt.asc 833 BLAKE2B d168612ca7bf09b4ee1c12342c147a5fd129719c48c4ca785f0ccb81df61ef61d61cec517d7a0ed6cf408efb2194ff23d7ddbb1f0553ef3e598c92505ba0c7ca SHA512 6dfc53cf097bb3d0563623e6f1170fe31c337049dbb82b3fc3d1f2a7598738a096b5653fd839ff6ad33dbd37eb847f7677ff58a049557c488d6ef47bbddf2a61 DIST cmake-3.31.9.tar.gz 11714375 BLAKE2B cfbc9aeff695b99134234171fd515c49eaac8c875b2a84b305da08392d7b886bef756c60ca00ba57b427127fc0a2307b4e9b00cfb1382995466cc0092b549b1f SHA512 4fff8d02d3d1d938184f6a62b7b436404bdbb97a13e697bb10e325a0559e214a6010120f309fd1ed363a6e23b3042bc52a21d5da5b39732537af8bb37f4d4591 @@ -6,3 +9,12 @@ DIST cmake-4.0.0_rc1-docs.tar.xz 577536 BLAKE2B 74a742ffef8e1af1652746e1c177d419 DIST cmake-4.1.2-SHA-256.txt 2015 BLAKE2B f627a8089da03f59bf257d79751f2f46ce48a95eebe79e597faf7f541eef5cb17dde4bb01db3d269efa18167a0c177e808085d813dde72f5d85aa73216ecb81c SHA512 47d8530ec08caaef28f949e0b23dc4a155898b9e72e9f8d038785f74284df0dfc7fb22ffbad3f7d0d17ceeafdc1784090d7c1fca8177dcd9f88d15916d5beeb4 DIST cmake-4.1.2-SHA-256.txt.asc 833 BLAKE2B e14f3140aeddc3a63dc2c2a86f6188631a26740d24529508ea363942d12da0565c428da13148108a4fcc6ef79938f14f48e04eade66ec0e3a8c7073242e77023 SHA512 3344bed89dd64533bb74b805af9044af27d490449d2d4eb8491b9c3591e04c86d06bd10955753fd0ad14eef83e26428bb221c88b1eff341dee0d1ba4b2652e1c DIST cmake-4.1.2.tar.gz 12048810 BLAKE2B a15dcfa25d22373bcd0a92109fe9e4a42b37ee4d9bcc1a635cadd13d18f9bafe3a7b08db2cdd0fa0a5269655b873159fffac617ecd7a610f1516c9545691e9a3 SHA512 169b8ebfbd2c880a1f3ed8c3da8d4b8e9252a5a1ff9f0011e39bb3bb84d183f0379eea880b80e2e052c333db91e49b80e5a65131f71fc8582709b604e94bf280 +DIST cmake-4.1.3-SHA-256.txt 2015 BLAKE2B d87dc222c3aee5c92e880142d115e9debc0cbdc7567c08e6d3425431c5fcba32f54ca63382d01829aa5f8389d6aca5dbdfded006ea8174eaa9d7f4a776c86f26 SHA512 408e03535cc0377123b0c17ba46955e45e6ca23849b48536253ff9d2b2268cc8f44f3365c79ebfe3861a5fd68f8dfc61d005ed77f2fa262477b5103060ecacb1 +DIST cmake-4.1.3-SHA-256.txt.asc 833 BLAKE2B e6327f6ef0b18048340c17a5ba53dc76632d2834c8cd831e9456996da6bac3bf67edf64364e4cf6d75b3a7955c72e412f665847ab3f33715697cd727adada0f2 SHA512 f3ca38fecd65020c80cc870a9ef5926d28ac5cc8de716c446b7aca3a6614e5163931f1721e166f1d50038478eb2d7dcc054cb740aaace141c0dadc91f2e037b3 +DIST cmake-4.1.3.tar.gz 12049989 BLAKE2B fa220d86e9fc8f9bdfb20123b6b326f47fced48fddbd0e05dade82b0273fcb936ea727bb2bfb87495600e2b8212235e58a737d9d480d7c1f951bbc12b28b9ff7 SHA512 98623542c1076c425aad68ee31b13f60da2374a44b6fc8f60ca5eee7f5c4e941bfc97d14f7856fd3b7b0e1f6263f2a881795d410d5519226a24976059fb8ec77 +DIST cmake-4.1.4-SHA-256.txt 2015 BLAKE2B 6e8b2f7c769fbf7b5dbdec081edd8c9169f80fb9b16119b5ace3e5596a14394abe8287f45c537dc2ded972e521745c909d9b33e242c1d8fe34abda9791cec71d SHA512 c806bc17dbad51b5bd90354bf3df31232bd39f7a8dee30205807cc7e2ba63eaddc1138f8512c860e86d21cc7075f58cda85f4f9f3f9001810a243e6ebef0261c +DIST cmake-4.1.4-SHA-256.txt.asc 833 BLAKE2B e2685feadb1565a5d14eea89eb5e505dd3988a10f3539d40d44411f425db7baba7fea7cabe894a706e86f58ff8c7332ed26a56711113d099ab27f874177036c3 SHA512 b316dec0ed3f5df1d03b8fdd17afa997df5da723072c4958fe728d4abf5156b36c9e79e0344735a20d31d4a2366aa22b4ae23f334b831ce67ed6bf23183631da +DIST cmake-4.1.4.tar.gz 12051840 BLAKE2B 0d43042b70b1fe27bb1e1eeb2bda1b24923887cb0fdaca2fff11771c980b7a9b24637559315f58c53066a53aa40dd3e2127de8cf4fd7eb0d25844e27a7a08f17 SHA512 c8a5eb269f98f70db1f52675822e1b371864fa86037ed4f1714f77abaf5c7b3fae307bfc4392add29c2c600b502d8876d7d1bb260e331ee6607cb02356a7e8a8 +DIST cmake-4.2.1-SHA-256.txt 2015 BLAKE2B 6896490b0da207448bdcda863296b47fa6be38069743f00e77065427cd68bd7fb7b8893ce4e6dc6213f9d7fe34bc764bd5e48cf32fccbaf24350870188a7dc33 SHA512 1adeac1b105bd16b9f593e87ba3d8ffbf285ec78a36f565549b97c2e796a4bbb594f00184809e0118ad71137b33c9d3298a673d296cf42b7a37ab32b9c05b882 +DIST cmake-4.2.1-SHA-256.txt.asc 833 BLAKE2B 8dbb976c39be74f680070cb9b23689d334daf7518317548fe3ab8eace7007329161b6307aca441238222a8f1cd5674f01e117bab143364eb87876a50e5ca6b1a SHA512 4a07deb385ab72aa20b1fe7d5defa790101e0e6454ef66bdf125feab5ab363e58e856884ebcdbe75677978a616dc99eb181dfdeb9bcc4a67fd8a28ce48019410 +DIST cmake-4.2.1.tar.gz 12341564 BLAKE2B ba5f7acf8b0c8acadab93b159171b12ee866215a2f16f01d424c05520b97dcc7ad19acb19ed047d38cd4e5766e4676b43df0d092ae18db6be7218df58c4933cc SHA512 75617692e975f5974bc015d62983e48d0dedaed2daa1e25d93807d25c6ed836e73e37de064e1e924078162fc20f38f9210ac1c4d699c9bd795050119abc848ce diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.10.ebuild new file mode 100644 index 00000000000..1a4175d323e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.10.ebuild @@ -0,0 +1,317 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs +# Set to 1 if prebuilt, 0 if not +# (the construct below is to allow overriding from env for script) +: ${CMAKE_DOCS_PREBUILT:=1} + +CMAKE_DOCS_PREBUILT_DEV=sam +CMAKE_DOCS_VERSION=$(ver_cut 1-2).0 +# Default to generating docs (inc. man pages) if no prebuilt; overridden later +# See bug #784815 +CMAKE_DOCS_USEFLAG="+doc" + +CMAKE_QA_COMPAT_SKIP=1 # bug #964514; cmake itself is the last pkg we worry about + +# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja +# ... but seems fine as of 3.22.3? +# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759. +CMAKE_MAKEFILE_GENERATOR="emake" +CMAKE_REMOVE_MODULES_LIST=() +inherit bash-completion-r1 cmake flag-o-matic multiprocessing \ + toolchain-funcs xdg-utils + +MY_P="${P/_/-}" + +DESCRIPTION="Cross platform Make" +HOMEPAGE="https://cmake.org/" +if [[ ${PV} == *9999* ]] ; then + CMAKE_DOCS_PREBUILT=0 + + EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git" + inherit git-r3 +else + SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz" + + if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then + SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )" + fi + + if [[ ${PV} != *_rc* ]] ; then + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc + inherit verify-sig + + SRC_URI+=" verify-sig? ( + https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt + https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc + )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20240902 )" + fi +fi + +[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc" + +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD" +SLOT="0" +IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses test" +RESTRICT="!test? ( test )" + +# >= 1.51.0-r1 for ppc32 workaround (bug #941738) +RDEPEND=" + >=app-arch/libarchive-3.3.3:= + app-crypt/rhash:0= + >=dev-libs/expat-2.0.1 + >=dev-libs/jsoncpp-1.9.2-r2:0= + >=dev-libs/libuv-1.51.0-r1:= + >=net-misc/curl-7.21.5[ssl] + virtual/zlib:= + virtual/pkgconfig + dap? ( dev-cpp/cppdap ) + gui? ( dev-qt/qtbase:6[gui,widgets] ) + ncurses? ( sys-libs/ncurses:= ) +" +DEPEND="${RDEPEND}" +BDEPEND+=" + doc? ( + dev-python/requests + dev-python/sphinx + ) + test? ( app-arch/libarchive[zstd] ) +" + +SITEFILE="50${PN}-gentoo.el" + +PATCHES=( + # Prefix + "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch + "${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch + # Misc + "${FILESDIR}"/${PN}-3.31.6-Prefer-pkgconfig-in-FindBLAS.patch + "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch + "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch + # Cuda + "${FILESDIR}"/${PN}-3.30.3-cudahostld.patch + + # Upstream fixes (can usually be removed with a version bump) + "${FILESDIR}"/${PN}-3.31.7-hdf5.patch +) + +cmake_src_bootstrap() { + # disable running of cmake in bootstrap command + sed -i \ + -e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \ + bootstrap || die "sed failed" + + # execinfo.h on Solaris isn't quite what it is on Darwin + if [[ ${CHOST} == *-solaris* ]] ; then + sed -i -e 's/execinfo\.h/blablabla.h/' \ + Source/kwsys/CMakeLists.txt || die + fi + + # bootstrap script isn't exactly /bin/sh compatible + tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \ + --prefix="${T}/cmakestrap/" \ + --parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \ + || die "Bootstrap failed" +} + +pkg_pretend() { + if [[ -z ${EPREFIX} ]] ; then + local file + local errant_files=() + + # See bug #599684 and bug #753581 (at least) + for file in /etc/arch-release /etc/redhat-release /etc/debian_version ; do + if [[ -e ${file} ]]; then + errant_files+=( "${file}" ) + fi + done + + # If errant files exist + if [[ ${#errant_files[@]} -gt 0 ]]; then + eerror "Errant files found!" + eerror "The presence of these files is known to confuse CMake's" + eerror "library path logic. Please (re)move these files:" + + for file in "${errant_files[@]}"; do + eerror " mv ${file} ${file}.bak" + done + + die "Stray files found in /etc/, see above message" + fi + fi +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then + default + else + cd "${DISTDIR}" || die + + # See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature + verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc} + verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz + + cd "${WORKDIR}" || die + + default + fi +} + +src_prepare() { + cmake_src_prepare + + if [[ ${CHOST} == *-darwin* ]] ; then + # Disable Xcode hooks, bug #652134 + sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \ + Source/CMakeLists.txt || die + sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \ + -e '/cmGlobalXCodeGenerator.h/d' \ + Source/cmake.cxx || die + # Disable system integration, bug #933744 + sed -i -e 's/__APPLE__/__DISABLED__/' \ + Source/cmFindProgramCommand.cxx \ + Source/CPack/cmCPackGeneratorFactory.cxx || die + sed -i -e 's/__MAC_OS_X_VERSION_MIN_REQUIRED/__DISABLED__/' \ + Source/cmMachO.cxx || die + sed -i -e 's:CPack/cmCPack\(Bundle\|DragNDrop\|PKG\|ProductBuild\)Generator.cxx::' \ + Source/CMakeLists.txt || die + + # Disable isysroot usage with GCC, we've properly instructed + # where things are via GCC configuration and ldwrapper + sed -i -e '/cmake_gnu_set_sysroot_flag/d' \ + Modules/Platform/Apple-GNU-*.cmake || die + # Disable isysroot usage with clang as well + sed -i -e '/_SYSROOT_FLAG/d' \ + Modules/Platform/Apple-Clang.cmake || die + # Don't set a POSIX standard, system headers don't like that, #757426 + sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ + Source/cmLoadCommandCommand.cxx \ + Source/cmStandardLexer.h \ + Source/cmSystemTools.cxx \ + Source/cmTimestamp.cxx + sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ + Source/cmStandardLexer.h + fi + + # Add gcc libs to the default link paths + sed -i \ + -e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \ + -e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \ + -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \ + Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed" + + ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must* + ## handle them as part of bootstrapping, sadly. + + # Fix linking on Solaris + [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl + + # ODR warnings, bug #858335 + # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 + filter-lto + + if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then + CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" + cmake_src_bootstrap + fi +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_USE_SYSTEM_LIBRARIES=ON + -DCMake_ENABLE_DEBUGGER=$(usex dap) + -DCMAKE_DOC_DIR=/share/doc/${PF} + -DCMAKE_MAN_DIR=/share/man + -DCMAKE_DATA_DIR=/share/${PN} + -DSPHINX_MAN=$(usex doc) + -DSPHINX_HTML=$(usex doc) + -DBUILD_CursesDialog="$(usex ncurses)" + -DBUILD_TESTING=$(usex test) + -DBUILD_QtDialog=$(usex gui) + ) + + use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=6 ) + + cmake_src_configure +} + +src_test() { + # Fix OutDir and SelectLibraryConfigurations tests + # these are altered thanks to our eclass + sed -i -e 's:^#_cmake_modify_IGNORE ::g' \ + "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \ + || die + + unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS + + pushd "${BUILD_DIR}" > /dev/null || die + + # Excluded tests: + # BootstrapTest: we actually bootstrap it every time so why test it? + # BundleUtilities: bundle creation broken + # CMakeOnly.AllFindModules: pthread issues + # CTest.updatecvs: which fails to commit as root + # Fortran: requires fortran + # RunCMake.CompilerLauncher: also requires fortran + # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because + # debugedit binary is not in the expected location + # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because + # it can't find a deb package that owns libc + # TestUpload, which requires network access + # RunCMake.CMP0125, known failure reported upstream (bug #829414) + local myctestargs=( + --output-on-failure + -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \ + ) + + local -x QT_QPA_PLATFORM=offscreen + + cmake_src_test +} + +src_install() { + cmake_src_install + + # If USE=doc, there'll be newly generated docs which we install instead. + if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then + doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8] + fi + + insinto /usr/share/vim/vimfiles/syntax + doins Auxiliary/vim/syntax/cmake.vim + + insinto /usr/share/vim/vimfiles/indent + doins Auxiliary/vim/indent/cmake.vim + + insinto /usr/share/vim/vimfiles/ftdetect + doins "${FILESDIR}/${PN}.vim" + + dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack} +} + +pkg_postinst() { + if use gui; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} + +pkg_postrm() { + if use gui; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.9-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.9-r1.ebuild index 4cdfeefd540..0eea8fdda4d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.9-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.9-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -20,7 +20,7 @@ CMAKE_QA_COMPAT_SKIP=1 # bug #964514; cmake itself is the last pkg we worry abou # ... but seems fine as of 3.22.3? # TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759. CMAKE_MAKEFILE_GENERATOR="emake" -CMAKE_REMOVE_MODULES_LIST=( none ) +CMAKE_REMOVE_MODULES_LIST=() inherit bash-completion-r1 cmake flag-o-matic multiprocessing \ toolchain-funcs xdg-utils @@ -49,7 +49,7 @@ else https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc )" - 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 ~arm64-macos ~x64-macos ~x64-solaris" BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20240902 )" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.1.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.1.2-r1.ebuild index a1882e88264..aadcc889f5c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.1.2-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.1.2-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -22,7 +22,7 @@ CMAKE_QA_COMPAT_SKIP=1 # bug #964514; cmake itself is the last pkg we worry abou # ... but seems fine as of 3.22.3? # TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759. CMAKE_MAKEFILE_GENERATOR="emake" -CMAKE_REMOVE_MODULES_LIST=( none ) +CMAKE_REMOVE_MODULES_LIST=() inherit bash-completion-r1 cmake flag-o-matic multiprocessing \ toolchain-funcs xdg-utils @@ -53,7 +53,7 @@ else )" 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20250904 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.1.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.1.3.ebuild new file mode 100644 index 00000000000..0d6efc533ee --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.1.3.ebuild @@ -0,0 +1,324 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs +# Set to 1 if prebuilt, 0 if not +# (the construct below is to allow overriding from env for script) +: ${CMAKE_DOCS_PREBUILT:=1} + +CMAKE_DOCS_PREBUILT_DEV=sam +CMAKE_DOCS_VERSION=4.0.0_rc1 +#CMAKE_DOCS_VERSION=${PV} +#CMAKE_DOCS_VERSION=$(ver_cut 1-2).0 +# Default to generating docs (inc. man pages) if no prebuilt; overridden later +# See bug #784815 +CMAKE_DOCS_USEFLAG="+doc" + +CMAKE_QA_COMPAT_SKIP=1 # bug #964514; cmake itself is the last pkg we worry about + +# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja +# ... but seems fine as of 3.22.3? +# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759. +CMAKE_MAKEFILE_GENERATOR="emake" +CMAKE_REMOVE_MODULES_LIST=() +inherit bash-completion-r1 cmake flag-o-matic multiprocessing \ + toolchain-funcs xdg-utils + +MY_P="${P/_/-}" + +DESCRIPTION="Cross platform Make" +HOMEPAGE="https://cmake.org/" +if [[ ${PV} == *9999* ]] ; then + CMAKE_DOCS_PREBUILT=0 + + EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git" + inherit git-r3 +else + SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz" + + if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then + SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )" + fi + + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc + inherit verify-sig + + SRC_URI+=" verify-sig? ( + https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt + https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt.asc + https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt + https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt.asc + )" + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi + + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20250904 )" +fi + +[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc" + +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD" +SLOT="0" +IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses test" +RESTRICT="!test? ( test )" + +# >= 1.51.0-r1 for ppc32 workaround (bug #941738) +RDEPEND=" + >=app-arch/libarchive-3.3.3:= + app-crypt/rhash:0= + >=dev-libs/expat-2.0.1 + >=dev-libs/jsoncpp-1.9.2-r2:0= + >=dev-libs/libuv-1.51.0-r1:= + >=net-misc/curl-7.21.5[ssl] + virtual/zlib:= + virtual/pkgconfig + dap? ( dev-cpp/cppdap ) + gui? ( dev-qt/qtbase:6[gui,widgets] ) + ncurses? ( sys-libs/ncurses:= ) +" +DEPEND="${RDEPEND}" +BDEPEND+=" + doc? ( + dev-python/requests + dev-python/sphinx + ) + test? ( app-arch/libarchive[zstd] ) +" + +SITEFILE="50${PN}-gentoo.el" + +PATCHES=( + # Prefix + "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch + "${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch + # Misc + "${FILESDIR}"/${PN}-3.31.6-Prefer-pkgconfig-in-FindBLAS.patch + "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch + "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch + # Cuda + "${FILESDIR}/${PN}-3.30.3-cudahostld.patch" + + # Upstream fixes (can usually be removed with a version bump) +) + +cmake_src_bootstrap() { + # disable running of cmake in bootstrap command + sed -i \ + -e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \ + bootstrap || die "sed failed" + + # execinfo.h on Solaris isn't quite what it is on Darwin + if [[ ${CHOST} == *-solaris* ]] ; then + sed -i -e 's/execinfo\.h/blablabla.h/' \ + Source/kwsys/CMakeLists.txt || die + fi + + # bootstrap script isn't exactly /bin/sh compatible + tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \ + --prefix="${T}/cmakestrap/" \ + --parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \ + || die "Bootstrap failed" +} + +pkg_pretend() { + if [[ -z ${EPREFIX} ]] ; then + local file + local errant_files=() + + # See bug #599684 and bug #753581 (at least) + for file in /etc/arch-release /etc/redhat-release /etc/debian_version ; do + if [[ -e ${file} ]]; then + errant_files+=( "${file}" ) + fi + done + + # If errant files exist + if [[ ${#errant_files[@]} -gt 0 ]]; then + eerror "Errant files found!" + eerror "The presence of these files is known to confuse CMake's" + eerror "library path logic. Please (re)move these files:" + + for file in "${errant_files[@]}"; do + eerror " mv ${file} ${file}.bak" + done + + die "Stray files found in /etc/, see above message" + fi + fi +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then + default + else + cd "${DISTDIR}" || die + + # See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature + verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc} + verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz + + cd "${WORKDIR}" || die + + default + fi +} + +src_prepare() { + cmake_src_prepare + + if [[ ${CHOST} == *-darwin* ]] ; then + # Disable Xcode hooks, bug #652134 + sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \ + Source/CMakeLists.txt || die + sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \ + -e '/cmGlobalXCodeGenerator.h/d' \ + Source/cmake.cxx || die + # Disable system integration, bug #933744 + sed -i -e 's/__APPLE__/__DISABLED__/' \ + Source/cmFindProgramCommand.cxx \ + Source/CPack/cmCPackGeneratorFactory.cxx || die + sed -i -e 's/__MAC_OS_X_VERSION_MIN_REQUIRED/__DISABLED__/' \ + Source/cmMachO.cxx || die + sed -i -e 's:CPack/cmCPack\(Bundle\|DragNDrop\|PKG\|ProductBuild\)Generator.cxx::' \ + Source/CMakeLists.txt || die + + # Disable isysroot usage with GCC, we've properly instructed + # where things are via GCC configuration and ldwrapper + sed -i -e '/cmake_gnu_set_sysroot_flag/d' \ + Modules/Platform/Apple-GNU-*.cmake || die + # Disable isysroot usage with clang as well + sed -i -e '/_SYSROOT_FLAG/d' \ + Modules/Platform/Apple-Clang.cmake || die + # Don't set a POSIX standard, system headers don't like that, #757426 + sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ + Source/cmLoadCommandCommand.cxx \ + Source/cmStandardLexer.h \ + Source/cmSystemTools.cxx \ + Source/cmTimestamp.cxx + sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ + Source/cmStandardLexer.h + fi + + # Add gcc libs to the default link paths + sed -i \ + -e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \ + -e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \ + -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \ + Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed" + + ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must* + ## handle them as part of bootstrapping, sadly. + + # Fix linking on Solaris + [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl + + # ODR warnings, bug #858335 + # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 + filter-lto + + # 4.0.0_rc1 is missing this, fails to configure + # https://gitlab.kitware.com/cmake/cmake/-/issues/26712 + touch .clang-tidy Utilities/.clang-tidy || die + + if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then + CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" + cmake_src_bootstrap + fi +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_USE_SYSTEM_LIBRARIES=ON + -DCMake_ENABLE_DEBUGGER=$(usex dap) + -DCMAKE_DOC_DIR=/share/doc/${PF} + -DCMAKE_MAN_DIR=/share/man + -DCMAKE_DATA_DIR=/share/${PN} + -DSPHINX_MAN=$(usex doc) + -DSPHINX_HTML=$(usex doc) + -DBUILD_CursesDialog="$(usex ncurses)" + -DBUILD_TESTING=$(usex test) + -DBUILD_QtDialog=$(usex gui) + ) + + use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=6 ) + + cmake_src_configure +} + +src_test() { + # Fix OutDir and SelectLibraryConfigurations tests + # these are altered thanks to our eclass + sed -i -e 's:^#_cmake_modify_IGNORE ::g' \ + "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \ + || die + + unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS + + pushd "${BUILD_DIR}" > /dev/null || die + + # Excluded tests: + # BootstrapTest: we actually bootstrap it every time so why test it? + # BundleUtilities: bundle creation broken + # CMakeOnly.AllFindModules: pthread issues + # CTest.updatecvs: which fails to commit as root + # Fortran: requires fortran + # RunCMake.CompilerLauncher: also requires fortran + # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because + # debugedit binary is not in the expected location + # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because + # it can't find a deb package that owns libc + # TestUpload, which requires network access + # RunCMake.CMP0125, known failure reported upstream (bug #829414) + local myctestargs=( + --output-on-failure + -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \ + ) + + local -x QT_QPA_PLATFORM=offscreen + + cmake_src_test +} + +src_install() { + cmake_src_install + + # If USE=doc, there'll be newly generated docs which we install instead. + if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then + doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8] + fi + + insinto /usr/share/vim/vimfiles/syntax + doins Auxiliary/vim/syntax/cmake.vim + + insinto /usr/share/vim/vimfiles/indent + doins Auxiliary/vim/indent/cmake.vim + + insinto /usr/share/vim/vimfiles/ftdetect + doins "${FILESDIR}/${PN}.vim" + + dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack} +} + +pkg_postinst() { + if use gui; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} + +pkg_postrm() { + if use gui; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.1.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.1.4.ebuild new file mode 100644 index 00000000000..ed81b01d705 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.1.4.ebuild @@ -0,0 +1,324 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs +# Set to 1 if prebuilt, 0 if not +# (the construct below is to allow overriding from env for script) +: ${CMAKE_DOCS_PREBUILT:=1} + +CMAKE_DOCS_PREBUILT_DEV=sam +CMAKE_DOCS_VERSION=4.0.0_rc1 +#CMAKE_DOCS_VERSION=${PV} +#CMAKE_DOCS_VERSION=$(ver_cut 1-2).0 +# Default to generating docs (inc. man pages) if no prebuilt; overridden later +# See bug #784815 +CMAKE_DOCS_USEFLAG="+doc" + +CMAKE_QA_COMPAT_SKIP=1 # bug #964514; cmake itself is the last pkg we worry about + +# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja +# ... but seems fine as of 3.22.3? +# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759. +CMAKE_MAKEFILE_GENERATOR="emake" +CMAKE_REMOVE_MODULES_LIST=() +inherit bash-completion-r1 cmake flag-o-matic multiprocessing \ + toolchain-funcs xdg-utils + +MY_P="${P/_/-}" + +DESCRIPTION="Cross platform Make" +HOMEPAGE="https://cmake.org/" +if [[ ${PV} == *9999* ]] ; then + CMAKE_DOCS_PREBUILT=0 + + EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git" + inherit git-r3 +else + SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz" + + if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then + SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )" + fi + + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc + inherit verify-sig + + SRC_URI+=" verify-sig? ( + https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt + https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt.asc + https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt + https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt.asc + )" + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi + + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20250904 )" +fi + +[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc" + +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD" +SLOT="0" +IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses test" +RESTRICT="!test? ( test )" + +# >= 1.51.0-r1 for ppc32 workaround (bug #941738) +RDEPEND=" + >=app-arch/libarchive-3.3.3:= + app-crypt/rhash:0= + >=dev-libs/expat-2.0.1 + >=dev-libs/jsoncpp-1.9.2-r2:0= + >=dev-libs/libuv-1.51.0-r1:= + >=net-misc/curl-7.21.5[ssl] + virtual/zlib:= + virtual/pkgconfig + dap? ( dev-cpp/cppdap ) + gui? ( dev-qt/qtbase:6[gui,widgets] ) + ncurses? ( sys-libs/ncurses:= ) +" +DEPEND="${RDEPEND}" +BDEPEND+=" + doc? ( + dev-python/requests + dev-python/sphinx + ) + test? ( app-arch/libarchive[zstd] ) +" + +SITEFILE="50${PN}-gentoo.el" + +PATCHES=( + # Prefix + "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch + "${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch + # Misc + "${FILESDIR}"/${PN}-3.31.6-Prefer-pkgconfig-in-FindBLAS.patch + "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch + "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch + # Cuda + "${FILESDIR}/${PN}-3.30.3-cudahostld.patch" + + # Upstream fixes (can usually be removed with a version bump) +) + +cmake_src_bootstrap() { + # disable running of cmake in bootstrap command + sed -i \ + -e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \ + bootstrap || die "sed failed" + + # execinfo.h on Solaris isn't quite what it is on Darwin + if [[ ${CHOST} == *-solaris* ]] ; then + sed -i -e 's/execinfo\.h/blablabla.h/' \ + Source/kwsys/CMakeLists.txt || die + fi + + # bootstrap script isn't exactly /bin/sh compatible + tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \ + --prefix="${T}/cmakestrap/" \ + --parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \ + || die "Bootstrap failed" +} + +pkg_pretend() { + if [[ -z ${EPREFIX} ]] ; then + local file + local errant_files=() + + # See bug #599684 and bug #753581 (at least) + for file in /etc/arch-release /etc/redhat-release /etc/debian_version ; do + if [[ -e ${file} ]]; then + errant_files+=( "${file}" ) + fi + done + + # If errant files exist + if [[ ${#errant_files[@]} -gt 0 ]]; then + eerror "Errant files found!" + eerror "The presence of these files is known to confuse CMake's" + eerror "library path logic. Please (re)move these files:" + + for file in "${errant_files[@]}"; do + eerror " mv ${file} ${file}.bak" + done + + die "Stray files found in /etc/, see above message" + fi + fi +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then + default + else + cd "${DISTDIR}" || die + + # See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature + verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc} + verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz + + cd "${WORKDIR}" || die + + default + fi +} + +src_prepare() { + cmake_src_prepare + + if [[ ${CHOST} == *-darwin* ]] ; then + # Disable Xcode hooks, bug #652134 + sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \ + Source/CMakeLists.txt || die + sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \ + -e '/cmGlobalXCodeGenerator.h/d' \ + Source/cmake.cxx || die + # Disable system integration, bug #933744 + sed -i -e 's/__APPLE__/__DISABLED__/' \ + Source/cmFindProgramCommand.cxx \ + Source/CPack/cmCPackGeneratorFactory.cxx || die + sed -i -e 's/__MAC_OS_X_VERSION_MIN_REQUIRED/__DISABLED__/' \ + Source/cmMachO.cxx || die + sed -i -e 's:CPack/cmCPack\(Bundle\|DragNDrop\|PKG\|ProductBuild\)Generator.cxx::' \ + Source/CMakeLists.txt || die + + # Disable isysroot usage with GCC, we've properly instructed + # where things are via GCC configuration and ldwrapper + sed -i -e '/cmake_gnu_set_sysroot_flag/d' \ + Modules/Platform/Apple-GNU-*.cmake || die + # Disable isysroot usage with clang as well + sed -i -e '/_SYSROOT_FLAG/d' \ + Modules/Platform/Apple-Clang.cmake || die + # Don't set a POSIX standard, system headers don't like that, #757426 + sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ + Source/cmLoadCommandCommand.cxx \ + Source/cmStandardLexer.h \ + Source/cmSystemTools.cxx \ + Source/cmTimestamp.cxx + sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ + Source/cmStandardLexer.h + fi + + # Add gcc libs to the default link paths + sed -i \ + -e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \ + -e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \ + -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \ + Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed" + + ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must* + ## handle them as part of bootstrapping, sadly. + + # Fix linking on Solaris + [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl + + # ODR warnings, bug #858335 + # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 + filter-lto + + # 4.0.0_rc1 is missing this, fails to configure + # https://gitlab.kitware.com/cmake/cmake/-/issues/26712 + touch .clang-tidy Utilities/.clang-tidy || die + + if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then + CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" + cmake_src_bootstrap + fi +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_USE_SYSTEM_LIBRARIES=ON + -DCMake_ENABLE_DEBUGGER=$(usex dap) + -DCMAKE_DOC_DIR=/share/doc/${PF} + -DCMAKE_MAN_DIR=/share/man + -DCMAKE_DATA_DIR=/share/${PN} + -DSPHINX_MAN=$(usex doc) + -DSPHINX_HTML=$(usex doc) + -DBUILD_CursesDialog="$(usex ncurses)" + -DBUILD_TESTING=$(usex test) + -DBUILD_QtDialog=$(usex gui) + ) + + use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=6 ) + + cmake_src_configure +} + +src_test() { + # Fix OutDir and SelectLibraryConfigurations tests + # these are altered thanks to our eclass + sed -i -e 's:^#_cmake_modify_IGNORE ::g' \ + "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \ + || die + + unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS + + pushd "${BUILD_DIR}" > /dev/null || die + + # Excluded tests: + # BootstrapTest: we actually bootstrap it every time so why test it? + # BundleUtilities: bundle creation broken + # CMakeOnly.AllFindModules: pthread issues + # CTest.updatecvs: which fails to commit as root + # Fortran: requires fortran + # RunCMake.CompilerLauncher: also requires fortran + # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because + # debugedit binary is not in the expected location + # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because + # it can't find a deb package that owns libc + # TestUpload, which requires network access + # RunCMake.CMP0125, known failure reported upstream (bug #829414) + local myctestargs=( + --output-on-failure + -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \ + ) + + local -x QT_QPA_PLATFORM=offscreen + + cmake_src_test +} + +src_install() { + cmake_src_install + + # If USE=doc, there'll be newly generated docs which we install instead. + if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then + doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8] + fi + + insinto /usr/share/vim/vimfiles/syntax + doins Auxiliary/vim/syntax/cmake.vim + + insinto /usr/share/vim/vimfiles/indent + doins Auxiliary/vim/indent/cmake.vim + + insinto /usr/share/vim/vimfiles/ftdetect + doins "${FILESDIR}/${PN}.vim" + + dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack} +} + +pkg_postinst() { + if use gui; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} + +pkg_postrm() { + if use gui; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.2.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.2.1-r1.ebuild new file mode 100644 index 00000000000..f9c756e86b3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.2.1-r1.ebuild @@ -0,0 +1,323 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs +# Set to 1 if prebuilt, 0 if not +# (the construct below is to allow overriding from env for script) +: ${CMAKE_DOCS_PREBUILT:=1} + +CMAKE_DOCS_PREBUILT_DEV=sam +CMAKE_DOCS_VERSION=4.0.0_rc1 +#CMAKE_DOCS_VERSION=${PV} +#CMAKE_DOCS_VERSION=$(ver_cut 1-2).0 +# Default to generating docs (inc. man pages) if no prebuilt; overridden later +# See bug #784815 +CMAKE_DOCS_USEFLAG="+doc" + +CMAKE_QA_COMPAT_SKIP=1 # bug #964514; cmake itself is the last pkg we worry about + +# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja +# ... but seems fine as of 3.22.3? +# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759. +CMAKE_MAKEFILE_GENERATOR="emake" +CMAKE_REMOVE_MODULES_LIST=() +inherit bash-completion-r1 cmake flag-o-matic multiprocessing \ + toolchain-funcs xdg-utils + +MY_P="${P/_/-}" + +DESCRIPTION="Cross platform Make" +HOMEPAGE="https://cmake.org/" +if [[ ${PV} == *9999* ]] ; then + CMAKE_DOCS_PREBUILT=0 + + EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git" + inherit git-r3 +else + SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz" + + if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then + SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )" + fi + + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc + inherit verify-sig + + SRC_URI+=" verify-sig? ( + https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt + https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt.asc + https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt + https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt.asc + )" + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi + + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20250904 )" +fi + +[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc" + +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD" +SLOT="0" +IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses test" +RESTRICT="!test? ( test )" + +# >= 1.51.0-r1 for ppc32 workaround (bug #941738) +RDEPEND=" + >=app-arch/libarchive-3.3.3:= + app-crypt/rhash:0= + >=dev-libs/expat-2.0.1 + >=dev-libs/jsoncpp-1.9.2-r2:0= + >=dev-libs/libuv-1.51.0-r1:= + >=net-misc/curl-7.21.5[ssl] + virtual/zlib:= + virtual/pkgconfig + dap? ( dev-cpp/cppdap ) + gui? ( dev-qt/qtbase:6[gui,widgets] ) + ncurses? ( sys-libs/ncurses:= ) +" +DEPEND="${RDEPEND}" +BDEPEND+=" + doc? ( + dev-python/requests + dev-python/sphinx + ) + test? ( app-arch/libarchive[zstd] ) +" + +SITEFILE="50${PN}-gentoo.el" + +PATCHES=( + # Prefix + "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch + "${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch + # Misc + "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch + "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch + # Cuda + "${FILESDIR}/${PN}-3.30.3-cudahostld.patch" + + # Upstream fixes (can usually be removed with a version bump) +) + +cmake_src_bootstrap() { + # disable running of cmake in bootstrap command + sed -i \ + -e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \ + bootstrap || die "sed failed" + + # execinfo.h on Solaris isn't quite what it is on Darwin + if [[ ${CHOST} == *-solaris* ]] ; then + sed -i -e 's/execinfo\.h/blablabla.h/' \ + Source/kwsys/CMakeLists.txt || die + fi + + # bootstrap script isn't exactly /bin/sh compatible + tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \ + --prefix="${T}/cmakestrap/" \ + --parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \ + || die "Bootstrap failed" +} + +pkg_pretend() { + if [[ -z ${EPREFIX} ]] ; then + local file + local errant_files=() + + # See bug #599684 and bug #753581 (at least) + for file in /etc/arch-release /etc/redhat-release /etc/debian_version ; do + if [[ -e ${file} ]]; then + errant_files+=( "${file}" ) + fi + done + + # If errant files exist + if [[ ${#errant_files[@]} -gt 0 ]]; then + eerror "Errant files found!" + eerror "The presence of these files is known to confuse CMake's" + eerror "library path logic. Please (re)move these files:" + + for file in "${errant_files[@]}"; do + eerror " mv ${file} ${file}.bak" + done + + die "Stray files found in /etc/, see above message" + fi + fi +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then + default + else + cd "${DISTDIR}" || die + + # See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature + verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc} + verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz + + cd "${WORKDIR}" || die + + default + fi +} + +src_prepare() { + cmake_src_prepare + + if [[ ${CHOST} == *-darwin* ]] ; then + # Disable Xcode hooks, bug #652134 + sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \ + Source/CMakeLists.txt || die + sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \ + -e '/cmGlobalXCodeGenerator.h/d' \ + Source/cmake.cxx || die + # Disable system integration, bug #933744 + sed -i -e 's/__APPLE__/__DISABLED__/' \ + Source/cmFindProgramCommand.cxx \ + Source/CPack/cmCPackGeneratorFactory.cxx || die + sed -i -e 's/__MAC_OS_X_VERSION_MIN_REQUIRED/__DISABLED__/' \ + Source/cmMachO.cxx || die + sed -i -e 's:CPack/cmCPack\(Bundle\|DragNDrop\|PKG\|ProductBuild\)Generator.cxx::' \ + Source/CMakeLists.txt || die + + # Disable isysroot usage with GCC, we've properly instructed + # where things are via GCC configuration and ldwrapper + sed -i -e '/cmake_gnu_set_sysroot_flag/d' \ + Modules/Platform/Apple-GNU-*.cmake || die + # Disable isysroot usage with clang as well + sed -i -e '/_SYSROOT_FLAG/d' \ + Modules/Platform/Apple-Clang.cmake || die + # Don't set a POSIX standard, system headers don't like that, #757426 + sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ + Source/cmLoadCommandCommand.cxx \ + Source/cmStandardLexer.h \ + Source/cmSystemTools.cxx \ + Source/cmTimestamp.cxx + sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ + Source/cmStandardLexer.h + fi + + # Add gcc libs to the default link paths + sed -i \ + -e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \ + -e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \ + -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \ + Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed" + + ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must* + ## handle them as part of bootstrapping, sadly. + + # Fix linking on Solaris + [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl + + # ODR warnings, bug #858335 + # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 + filter-lto + + # 4.0.0_rc1 is missing this, fails to configure + # https://gitlab.kitware.com/cmake/cmake/-/issues/26712 + touch .clang-tidy Utilities/.clang-tidy || die + + if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then + CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" + cmake_src_bootstrap + fi +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_USE_SYSTEM_LIBRARIES=ON + -DCMake_ENABLE_DEBUGGER=$(usex dap) + -DCMAKE_DOC_DIR=/share/doc/${PF} + -DCMAKE_MAN_DIR=/share/man + -DCMAKE_DATA_DIR=/share/${PN} + -DSPHINX_MAN=$(usex doc) + -DSPHINX_HTML=$(usex doc) + -DBUILD_CursesDialog="$(usex ncurses)" + -DBUILD_TESTING=$(usex test) + -DBUILD_QtDialog=$(usex gui) + ) + + use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=6 ) + + cmake_src_configure +} + +src_test() { + # Fix OutDir and SelectLibraryConfigurations tests + # these are altered thanks to our eclass + sed -i -e 's:^#_cmake_modify_IGNORE ::g' \ + "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \ + || die + + unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS + + pushd "${BUILD_DIR}" > /dev/null || die + + # Excluded tests: + # BootstrapTest: we actually bootstrap it every time so why test it? + # BundleUtilities: bundle creation broken + # CMakeOnly.AllFindModules: pthread issues + # CTest.updatecvs: which fails to commit as root + # Fortran: requires fortran + # RunCMake.CompilerLauncher: also requires fortran + # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because + # debugedit binary is not in the expected location + # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because + # it can't find a deb package that owns libc + # TestUpload, which requires network access + # RunCMake.CMP0125, known failure reported upstream (bug #829414) + local myctestargs=( + --output-on-failure + -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \ + ) + + local -x QT_QPA_PLATFORM=offscreen + + cmake_src_test +} + +src_install() { + cmake_src_install + + # If USE=doc, there'll be newly generated docs which we install instead. + if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then + doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8] + fi + + insinto /usr/share/vim/vimfiles/syntax + doins Auxiliary/vim/syntax/cmake.vim + + insinto /usr/share/vim/vimfiles/indent + doins Auxiliary/vim/indent/cmake.vim + + insinto /usr/share/vim/vimfiles/ftdetect + doins "${FILESDIR}/${PN}.vim" + + dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack} +} + +pkg_postinst() { + if use gui; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} + +pkg_postrm() { + if use gui; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-9999.ebuild index f33baf3549c..f9c756e86b3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -22,7 +22,7 @@ CMAKE_QA_COMPAT_SKIP=1 # bug #964514; cmake itself is the last pkg we worry abou # ... but seems fine as of 3.22.3? # TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759. CMAKE_MAKEFILE_GENERATOR="emake" -CMAKE_REMOVE_MODULES_LIST=( none ) +CMAKE_REMOVE_MODULES_LIST=() inherit bash-completion-r1 cmake flag-o-matic multiprocessing \ toolchain-funcs xdg-utils @@ -53,7 +53,7 @@ else )" 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20250904 )" @@ -98,7 +98,6 @@ PATCHES=( "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch # Misc - "${FILESDIR}"/${PN}-3.31.6-Prefer-pkgconfig-in-FindBLAS.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch # Cuda diff --git a/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/Manifest index 0bd282af026..ca58663a651 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/Manifest @@ -1,2 +1 @@ -DIST gtk-doc-1.33.2.tar.xz 507852 BLAKE2B dea3030060ecec89433fe3783dfacc2f58373780c49560a48ab1a32bedfe888692183de8396c92414255e4c8f537358cbc373fd307638ab8e7dbfd9ae44de58f SHA512 f50f68ab6b4bc59f55e84b49c1481f05700171cbf79eca9ba8f3a142a30a4ba88fe096983ebb8d117a9ef8bcea40934674096683d956f5c54cae457d31f651ab DIST gtk-doc-1.34.0.tar.xz 494116 BLAKE2B cb8550debed9f32b967de9d4ebdde8dbe83551eb8527221d2d788355431f34e62a4beedda3e7f5722516ae8e23794a56b97a4f761ede0f7f2c0ef288624b5f7a SHA512 d962fe31949b5f7c70122c7ebbd98f4d21725697804bf5dd75fd7a6662753a91c9350fd1e8bed22a58a957b173f35e200fcbb4c7c2ebc45ccbc0db2e916b27ea diff --git a/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/gtk-doc-am-1.33.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/gtk-doc-am-1.33.2.ebuild deleted file mode 100644 index c8061c549de..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/gtk-doc-am-1.33.2.ebuild +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -GNOME_ORG_MODULE="gtk-doc" - -inherit gnome.org - -DESCRIPTION="Automake files from gtk-doc" -HOMEPAGE="https://wiki.gnome.org/DocumentationProject/GtkDoc" - -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" - -RDEPEND="!/dev/null) + + ${EPYTHON} -u run_tests.py + ) || die "Testing failed with ${EPYTHON}" +} + +python_install_all() { + distutils-r1_python_install_all + + insinto /usr/share/vim/vimfiles + doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax} + + dozshcomp data/shell-completions/zsh/_meson + dobashcomp data/shell-completions/bash/meson + + if [[ ${PV} = *9999* ]]; then + DESTDIR="${ED}" eninja -C docs/builddir install + else + newman "${DISTDIR}"/meson-reference-${MY_PV}.3 meson-reference.3 + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.2.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.2.3.ebuild index 011dddac203..0f224856e43 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.2.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.2.3.ebuild @@ -24,7 +24,7 @@ else VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.3.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.3.2.ebuild index 80bd92a7909..a6f1cf8ebca 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.3.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.3.2.ebuild @@ -24,7 +24,7 @@ else VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.2.ebuild index cb7e98ccdf6..3045d66bbb5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.2.ebuild @@ -33,7 +33,7 @@ else VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.2.ebuild index 9f3410151f0..b3882be5ccd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.2.ebuild @@ -33,7 +33,7 @@ else VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.6.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.6.1.ebuild index 6374d670b45..f0b7aaf713d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.6.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.6.1.ebuild @@ -33,7 +33,7 @@ else VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.7.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.7.2.ebuild index 75349bcb256..b49c4b5b84a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.7.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.7.2.ebuild @@ -36,7 +36,7 @@ else VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/eschwartz.asc 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.8.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.8.5.ebuild index 7f4db2fe718..20b5cab3933 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.8.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.8.5.ebuild @@ -37,7 +37,7 @@ else #VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.9.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.9.1.ebuild index d22327fe5ef..f3b1db77320 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.9.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.9.1.ebuild @@ -37,7 +37,7 @@ else #VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.9.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.9.2.ebuild new file mode 100644 index 00000000000..59d302bd834 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.9.2.ebuild @@ -0,0 +1,232 @@ +# Copyright 2016-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} pypy3_11 ) +DISTUTILS_USE_PEP517=setuptools + +inherit shell-completion edo distutils-r1 flag-o-matic toolchain-funcs + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://github.com/mesonbuild/meson" + inherit ninja-utils git-r3 + + BDEPEND=" + ${NINJA_DEPEND} + $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') + " + +else + inherit verify-sig + + MY_PV=${PV/_/} + MY_P=${P/_/} + S=${WORKDIR}/${MY_P} + + SRC_URI=" + https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz + verify-sig? ( https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz.asc ) + https://github.com/mesonbuild/meson/releases/download/${MY_PV}/meson-reference.3 -> meson-reference-${MY_PV}.3 + " + # Releases may be signed by those listed in Releasing.md. Jussi + # remains the default release manager. + # https://github.com/mesonbuild/meson/commit/c2d795735fa1c46c54d6aed4d4a30f36a1f853cb + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-eschwartz-20250723-r1 sec-keys/openpgp-keys-jpakkane )" + #VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/eschwartz.asc + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi +fi + +DESCRIPTION="Open source build system" +HOMEPAGE="https://mesonbuild.com/" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="test test-full" +RESTRICT="!test? ( test )" +REQUIRED_USE="test-full? ( test )" + +DEPEND=" + test? ( + dev-libs/glib:2 + >=dev-libs/gobject-introspection-1.82.0-r2 + app-alternatives/ninja + dev-vcs/git + virtual/zlib:=[static-libs(+)] + virtual/pkgconfig + dev-build/cmake + ) + test-full? ( + || ( dev-lang/rust dev-lang/rust-bin ) + dev-lang/nasm + >=dev-lang/pypy-3 + dev-lang/vala + dev-python/cython + virtual/fortran + virtual/jdk + + app-text/doxygen + dev-cpp/gtest + dev-libs/protobuf + dev-util/bindgen + dev-util/gtk-doc + dev-util/itstool + llvm-core/llvm + media-libs/libsdl2 + media-libs/libwmf + net-libs/libpcap + sci-libs/hdf5[cxx,fortran] + sci-libs/netcdf + sys-cluster/openmpi[fortran] + sys-devel/bison + sys-devel/flex + + dev-qt/linguist-tools:5 + dev-qt/qtwidgets:5 + dev-qt/qtbase:6[gui,widgets] + dev-qt/qtdeclarative:6 + dev-qt/qttools:6 + dev-util/gdbus-codegen + x11-libs/gtk+:3 + + dev-libs/wayland + dev-util/wayland-scanner + ) +" +RDEPEND=" + !/dev/null) + + ${EPYTHON} -u run_tests.py + ) || die "Testing failed with ${EPYTHON}" +} + +python_install_all() { + distutils-r1_python_install_all + + insinto /usr/share/vim/vimfiles + doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax} + + dozshcomp data/shell-completions/zsh/_meson + dobashcomp data/shell-completions/bash/meson + + if [[ ${PV} = *9999* ]]; then + DESTDIR="${ED}" eninja -C docs/builddir install + else + newman "${DISTDIR}"/meson-reference-${MY_PV}.3 meson-reference.3 + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-9999.ebuild index e9fe46ecf7c..d6479e2e5a7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-9999.ebuild @@ -32,11 +32,12 @@ else # Releases may be signed by those listed in Releasing.md. Jussi # remains the default release manager. # https://github.com/mesonbuild/meson/commit/c2d795735fa1c46c54d6aed4d4a30f36a1f853cb - BDEPEND="verify-sig? ( sec-keys/openpgp-keys-jpakkane )" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-eschwartz-20250723-r1 sec-keys/openpgp-keys-jpakkane )" + #VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/eschwartz.asc VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi 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 bb223e83f81..1b75adec5ae 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,6 +1,3 @@ -DIST gtest-1.14.0.tar.gz 867764 BLAKE2B c457f55ac572b9fb1553eee3df7eeeaf1e7dd2c3d747dd5e90dd279038fa5c71bb7b7d9ba1cf7e6143898b2a1d24d100584bd2a48ded41a426870c4825eec1b2 SHA512 765c326ccc1b87a01027385e69238266e356361cd4ee3e18e3c9d137a5d11fa5d657c164d02dd1be8fe693c8e10f2b580588dbfa57d27f070e2750f50d3e662c DIST gtest-1.16.0.tar.gz 876245 BLAKE2B e5f301987fd4b73cfc8e900ac476b38444994c63bd2f334fdc58704f9e6e966cc03a2dba7ddc033624e89853a15b2592530a1180c3e56be7a28928ed370a9e27 SHA512 bec8dad2a5abbea8e9e5f0ceedd8c9dbdb8939e9f74785476b0948f21f5db5901018157e78387e106c6717326558d6642fc0e39379c62af57bf1205a9df8a18b -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 DIST ninja-1.13.1.tar.gz 292098 BLAKE2B 610faa82e23ad23ec949f8a75cb4d8533c654bbfea63f2105e214d49cbf739af29d3ceebb4ead52693c7d925220817970073cd14ac8e948c5130b9ecfbac26ba SHA512 ec94d42967b962d66ab0747fcb9d095510117159de0473ec08df47a657895aa2523f920798e4608d0c6cf0e2e382512c14aec8a54ea58b6cd4b01edd3a7c8e62 +DIST ninja-1.13.2.tar.gz 292385 BLAKE2B 3418c756386a277f2a280b39f378e1bb944c4f9664254c69066de0d73a274b7faa9b688c475337b28ef24e279b5533ed990479c0cc900dcf38b0562acbdaa322 SHA512 c0b401b4db91a2eea01a474ee979b2c6f1daa97b4c8d1f856871ce5f6d567c4b26d6246bc57e2a5f914329302abcd9c00ab0d4394a25f2ad502b6b00a07903d2 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/files/ninja-1.12.1-restore-tests-bootstrap.patch b/sdk_container/src/third_party/portage-stable/dev-build/ninja/files/ninja-1.12.1-restore-tests-bootstrap.patch deleted file mode 100644 index 94aa8ab5b39..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/ninja/files/ninja-1.12.1-restore-tests-bootstrap.patch +++ /dev/null @@ -1,135 +0,0 @@ -https://bugs.gentoo.org/929221 -https://github.com/ninja-build/ninja/issues/2447 -https://github.com/ninja-build/ninja/commit/afcd4a146fb82843f6ff695f89504ce4ca65ddfd - -From afcd4a146fb82843f6ff695f89504ce4ca65ddfd Mon Sep 17 00:00:00 2001 -From: David 'Digit' Turner -Date: Sun, 12 May 2024 23:45:28 +0200 -Subject: [PATCH] configure.py: Support --gtest-source-dir to build tests. - -Allow the Ninja build plan generated by configure.py to -build `ninja_test` by compiling GoogleTest from source if -the path to the library if passed through the new option -`--gtest-source-dir` or the GTEST_SOURCE_DIR environment -variable. - -For simplicity, probing for an installed version of the -library, and linking to it, is not supported (use the -CMake build for this). - -This also removes the obsolete `--gtest-dir` option. - -Fixes #2447 ---- - configure.py | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++- - 2 files changed, 95 insertions(+), 1 deletion(-) - -diff --git a/configure.py b/configure.py -index f9e49f9cdf..2b16618c43 100755 ---- a/configure.py -+++ b/configure.py -@@ -223,7 +223,10 @@ def _run_command(self, cmdline: str) -> None: - parser.add_option('--profile', metavar='TYPE', - choices=profilers, - help='enable profiling (' + '/'.join(profilers) + ')',) --parser.add_option('--with-gtest', metavar='PATH', help='ignored') -+parser.add_option('--gtest-source-dir', metavar='PATH', -+ help='Path to GoogleTest source directory. If not provided ' + -+ 'GTEST_SOURCE_DIR will be probed in the environment. ' + -+ 'Tests will not be built without a value.') - parser.add_option('--with-python', metavar='EXE', - help='use EXE as the Python interpreter', - default=os.path.basename(sys.executable)) -@@ -435,6 +438,7 @@ def shell_escape(str: str) -> str: - if 'LDFLAGS' in configure_env: - ldflags.append(configure_env['LDFLAGS']) - n.variable('ldflags', ' '.join(shell_escape(flag) for flag in ldflags)) -+ - n.newline() - - if platform.is_msvc(): -@@ -592,6 +596,83 @@ def has_re2c() -> bool: - # build.ninja file. - n = ninja_writer - -+# Build the ninja_test executable only if the GTest source directory -+# is provided explicitly. Either from the environment with GTEST_SOURCE_DIR -+# or with the --gtest-source-dir command-line option. -+# -+# Do not try to look for an installed binary version, and link against it -+# because doing so properly is platform-specific (use the CMake build for -+# this). -+if options.gtest_source_dir: -+ gtest_src_dir = options.gtest_source_dir -+else: -+ gtest_src_dir = os.environ.get('GTEST_SOURCE_DIR') -+ -+if gtest_src_dir: -+ # Verify GoogleTest source directory, and add its include directory -+ # to the global include search path (even for non-test sources) to -+ # keep the build plan generation simple. -+ gtest_all_cc = os.path.join(gtest_src_dir, 'googletest', 'src', 'gtest-all.cc') -+ if not os.path.exists(gtest_all_cc): -+ print('ERROR: Missing GoogleTest source file: %s' % gtest_all_cc) -+ sys.exit(1) -+ -+ n.comment('Tests all build into ninja_test executable.') -+ -+ # Test-specific version of cflags, must include the GoogleTest -+ # include directory. Also GoogleTest can only build with a C++14 compiler. -+ test_cflags = [f.replace('std=c++11', 'std=c++14') for f in cflags] -+ test_cflags.append('-I' + os.path.join(gtest_src_dir, 'googletest', 'include')) -+ -+ test_variables = [('cflags', test_cflags)] -+ if platform.is_msvc(): -+ test_variables += [('pdb', 'ninja_test.pdb')] -+ -+ test_names = [ -+ 'build_log_test', -+ 'build_test', -+ 'clean_test', -+ 'clparser_test', -+ 'depfile_parser_test', -+ 'deps_log_test', -+ 'disk_interface_test', -+ 'dyndep_parser_test', -+ 'edit_distance_test', -+ 'graph_test', -+ 'json_test', -+ 'lexer_test', -+ 'manifest_parser_test', -+ 'ninja_test', -+ 'state_test', -+ 'string_piece_util_test', -+ 'subprocess_test', -+ 'test', -+ 'util_test', -+ ] -+ if platform.is_windows(): -+ test_names += [ -+ 'includes_normalize_test', -+ 'msvc_helper_test', -+ ] -+ -+ objs = [] -+ for name in test_names: -+ objs += cxx(name, variables=test_variables) -+ -+ # Build GTest as a monolithic source file. -+ # This requires one extra include search path, so replace the -+ # value of 'cflags' in our list. -+ gtest_all_variables = test_variables[1:] + [ -+ ('cflags', test_cflags + ['-I' + os.path.join(gtest_src_dir, 'googletest') ]), -+ ] -+ # Do not use cxx() directly to ensure the object file is under $builddir. -+ objs += n.build(built('gtest_all' + objext), 'cxx', gtest_all_cc, variables=gtest_all_variables) -+ -+ ninja_test = n.build(binary('ninja_test'), 'link', objs, implicit=ninja_lib, -+ variables=[('libs', libs)]) -+ n.newline() -+ all_targets += ninja_test -+ - n.comment('Ancillary executables.') - - if platform.is_aix() and '-maix64' not in ldflags: - diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/files/ninja-1.13.2-allow-psuedo-fifo.patch b/sdk_container/src/third_party/portage-stable/dev-build/ninja/files/ninja-1.13.2-allow-psuedo-fifo.patch new file mode 100644 index 00000000000..612038a1c58 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/ninja/files/ninja-1.13.2-allow-psuedo-fifo.patch @@ -0,0 +1,88 @@ +https://github.com/ninja-build/ninja/pull/2692 + +From 9f1f01d7d03b84342dda511aad0ef3e3fcf4ea7c Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Sat, 22 Nov 2025 12:49:35 +0000 +Subject: [PATCH] Don't require a FIFO to be identifiable as such + +The jobserver specification [0] currently suggests that the FIFO must be a +genuine FIFO. + +For some work we're doing [1][2], we're emulating a FIFO using CUSE/FUSE to allow +tracking when consumers disappear to avoid lost tokens. nixos had a similar +idea in the past too [3]. + +There doesn't seem to be a good reason to check that any FIFO passed by +the user is actually identifiable as such by `stat()`, so drop the check. + +make already does not perform such a check, just the specification isn't +clear about it, so we've asked them to clarify it [4]. + +[0] https://www.gnu.org/software/make/manual/html_node/POSIX-Jobserver.html +[1] https://codeberg.org/amonakov/guildmaster +[2] https://gitweb.gentoo.org/proj/steve.git/ +[3] https://github.com/NixOS/nixpkgs/pull/314888 +[4] https://savannah.gnu.org/bugs/index.php?67726 +--- + src/jobserver-posix.cc | 12 ------------ + src/jobserver_test.cc | 10 +--------- + 2 files changed, 1 insertion(+), 21 deletions(-) + +diff --git a/src/jobserver-posix.cc b/src/jobserver-posix.cc +index 0e3c7e250c..95208c09b6 100644 +--- a/src/jobserver-posix.cc ++++ b/src/jobserver-posix.cc +@@ -26,13 +26,6 @@ + + namespace { + +-// Return true if |fd| is a fifo or pipe descriptor. +-bool IsFifoDescriptor(int fd) { +- struct stat info; +- int ret = ::fstat(fd, &info); +- return (ret == 0) && ((info.st_mode & S_IFMT) == S_IFIFO); +-} +- + // Implementation of Jobserver::Client for Posix systems + class PosixJobserverClient : public Jobserver::Client { + public: +@@ -89,11 +82,6 @@ class PosixJobserverClient : public Jobserver::Client { + std::string("Error opening fifo for reading: ") + strerror(errno); + return false; + } +- if (!IsFifoDescriptor(read_fd_)) { +- *error = "Not a fifo path: " + fifo_path; +- // Let destructor close read_fd_. +- return false; +- } + write_fd_ = ::open(fifo_path.c_str(), O_WRONLY | O_NONBLOCK | O_CLOEXEC); + if (write_fd_ < 0) { + *error = +diff --git a/src/jobserver_test.cc b/src/jobserver_test.cc +index 850a8b13fd..9e180e6e39 100644 +--- a/src/jobserver_test.cc ++++ b/src/jobserver_test.cc +@@ -379,21 +379,13 @@ TEST(Jobserver, PosixFifoClientWithWrongPath) { + ASSERT_GE(fd, 0) << "Could not create file: " << strerror(errno); + ::close(fd); + +- // Create new client instance, passing the file path for the fifo. ++ // Create new client instance, with an empty file path. + Jobserver::Config config; + config.mode = Jobserver::Config::kModePosixFifo; +- config.path = file_path; +- + std::string error; + std::unique_ptr client = + Jobserver::Client::Create(config, &error); +- EXPECT_FALSE(client.get()); +- EXPECT_FALSE(error.empty()); +- EXPECT_EQ("Not a fifo path: " + file_path, error); + +- // Do the same with an empty file path. +- error.clear(); +- config.path.clear(); + client = Jobserver::Client::Create(config, &error); + EXPECT_FALSE(client.get()); + EXPECT_FALSE(error.empty()); + diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.11.1-r5.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.11.1-r5.ebuild deleted file mode 100644 index 683bd11e437..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.11.1-r5.ebuild +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright 2012-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) - -inherit edo bash-completion-r1 python-any-r1 toolchain-funcs - -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 - -DESCRIPTION="A small build system similar to make" -HOMEPAGE="https://ninja-build.org/" - -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 - ) - test? ( dev-cpp/gtest ) -" -PDEPEND=" - app-alternatives/ninja -" - -PATCHES=( - "${FILESDIR}"/ninja-cflags.patch -) - -run_for_build() { - 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 - echo "$@" >&2 - "$@" -} - -src_compile() { - tc-export AR CXX - - # configure.py appends CFLAGS to CXXFLAGS - unset CFLAGS - - local -x CXXFLAGS="${CXXFLAGS} -D_FILE_OFFSET_BITS=64" - - run_for_build ${EPYTHON} configure.py --bootstrap --verbose || die - - if tc-is-cross-compiler; then - mv ninja ninja-build || die - ${EPYTHON} configure.py || die - ./ninja-build -v ninja || die - else - ln ninja ninja-build || die - fi - - if use doc; then - ./ninja-build -v doxygen manual || die - 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() { - dodoc README.md CONTRIBUTING.md - - if use doc; then - docinto html - dodoc -r doc/doxygen/html/. - dodoc doc/manual.html - fi - - newbin ninja ninja-reference - - 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 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.13.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.13.1.ebuild index 4a0ac4d0305..ff1e6134e3d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.13.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.13.1.ebuild @@ -15,7 +15,7 @@ if [[ ${PV} == 9999 ]]; then 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi GTEST_VER=1.16.0 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.13.2-r1.ebuild similarity index 85% rename from sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.13.2-r1.ebuild index ef0104e63a3..2290412da8d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.13.2-r1.ebuild @@ -15,10 +15,10 @@ if [[ ${PV} == 9999 ]]; then 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi -GTEST_VER=1.14.0 +GTEST_VER=1.16.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" @@ -42,7 +42,7 @@ PDEPEND=" PATCHES=( "${FILESDIR}"/ninja-cflags.patch - "${FILESDIR}"/${P}-restore-tests-bootstrap.patch + "${FILESDIR}"/${PN}-1.13.2-allow-psuedo-fifo.patch ) pkg_setup() { @@ -66,17 +66,14 @@ bootstrap() { local -x LDFLAGS=${BUILD_LDFLAGS} fi - local args=( + local bootstrap_args=( --with-python=python --bootstrap --verbose + $(usev test --gtest-source-dir="${WORKDIR}"/googletest-${GTEST_VER}) ) - if use test; then - args+=( --gtest-source-dir="${WORKDIR}"/googletest-${GTEST_VER} ) - fi - - edo ${EPYTHON} configure.py "${args[@]}" + edo ${EPYTHON} configure.py "${bootstrap_args[@]}" } src_compile() { 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.2.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.13.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.13.2.ebuild index 8185b7a0c88..2324ea73d5b 100644 --- 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.2.ebuild @@ -15,10 +15,10 @@ if [[ ${PV} == 9999 ]]; then 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi -GTEST_VER=1.14.0 +GTEST_VER=1.16.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" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-9999.ebuild index 06ee36ddd77..2324ea73d5b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-9999.ebuild @@ -15,7 +15,7 @@ if [[ ${PV} == 9999 ]]; then 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi GTEST_VER=1.16.0 diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/gflags/gflags-2.2.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/gflags/gflags-2.2.2-r1.ebuild index 828e155ac4e..6beca478a0f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-cpp/gflags/gflags-2.2.2-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/gflags/gflags-2.2.2-r1.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == *9999* ]]; then EGIT_REPO_URI="https://github.com/gflags/gflags" else SRC_URI="https://github.com/gflags/gflags/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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi DESCRIPTION="Google's C++ argument parsing library" diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/gflags/gflags-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/gflags/gflags-9999.ebuild index 2dca97cfe29..9cfbb3ca8e0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-cpp/gflags/gflags-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/gflags/gflags-9999.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == *9999* ]]; then EGIT_REPO_URI="https://github.com/gflags/gflags" else SRC_URI="https://github.com/gflags/gflags/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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi DESCRIPTION="Google's C++ argument parsing library" diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.5.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.5.0.ebuild index 4a54a63a949..a77fce16b22 100644 --- a/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.5.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.5.0.ebuild @@ -21,7 +21,7 @@ fi LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="gflags +libunwind llvm-libunwind test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.6.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.6.0-r1.ebuild index 7b3f727eaae..ee9f161d6d8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.6.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.6.0-r1.ebuild @@ -14,7 +14,7 @@ if [[ ${PV} == 9999 ]]; then else SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - 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" fi LICENSE="BSD" diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.6.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.6.0.ebuild index 1f7acaf083d..259c361ffcf 100644 --- a/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.6.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.6.0.ebuild @@ -21,7 +21,7 @@ fi LICENSE="BSD" SLOT="0/1" -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" IUSE="gflags +libunwind llvm-libunwind test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.7.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.7.1.ebuild index 478208ff707..51cde4ee2d2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.7.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.7.1.ebuild @@ -14,7 +14,7 @@ if [[ ${PV} == 9999 ]]; then else SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - 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" fi LICENSE="BSD" diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0-r2.ebuild index ac2c9d17c97..30adeb65db2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0-r2.ebuild @@ -21,7 +21,7 @@ else -> ${P}.tar.gz" S="${WORKDIR}"/googletest-${GOOGLETEST_COMMIT} fi - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="Google C++ Testing Framework" @@ -52,7 +52,7 @@ multilib_src_configure() { -Dgtest_build_tests=$(usex test) ) if use test; then - if use x86 || use x86-linux; then + if use x86; then append-cxxflags -ffloat-store # bug #905007 fi mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" ) diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.17.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.17.0.ebuild index 2bc9400cc07..138c1d4e356 100644 --- a/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.17.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.17.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -21,7 +21,7 @@ else -> ${P}.tar.gz" S="${WORKDIR}"/googletest-${GOOGLETEST_COMMIT} fi - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="Google C++ Testing Framework" @@ -65,7 +65,7 @@ multilib_src_configure() { -Dgtest_build_tests=$(usex test) ) if use test; then - if use x86 || use x86-linux; then + if use x86; then append-cxxflags -ffloat-store # bug #905007 fi mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" ) diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-9999.ebuild index 2bc9400cc07..08ac21f25db 100644 --- a/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-9999.ebuild @@ -21,7 +21,7 @@ else -> ${P}.tar.gz" S="${WORKDIR}"/googletest-${GOOGLETEST_COMMIT} fi - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="Google C++ Testing Framework" @@ -65,7 +65,7 @@ multilib_src_configure() { -Dgtest_build_tests=$(usex test) ) if use test; then - if use x86 || use x86-linux; then + if use x86; then append-cxxflags -ffloat-store # bug #905007 fi mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" ) diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/Manifest b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/Manifest index 0aa64fc6542..a05cf6bd33a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/Manifest @@ -1,4 +1,4 @@ DIST sqlite-doc-3500400.zip 11398708 BLAKE2B a179191767c86b10604ad03ebd6408ebc3e6b14ce5a85d7dd14cfc933da8e92b76a7ad8b40616699c54022259ba852e30e6f7eeb34640326d51623a7c52c0065 SHA512 24db55ec5d29a6389cf930e3fa3c7205ca47973f5857f7cc5444166bd10d00109cbe4141e87cbb94f75711cb981e60bde286b15c0384cdcfb41337f0f0eaa446 -DIST sqlite-doc-3510000.zip 11439141 BLAKE2B 0d93547c478648a153684c282b58c021f8eacd054d0f31a8602c1cfb7e7bc275ab6b98a7b54b4fd91ec33476a4de81276096c850c829dadf7fc178ed1cbf311c SHA512 31171a5a9dba07b043373a2003d563a762bbb4897de5cfd085b2ceccde8b097f6e8d05394b9c98d2559dde232756c59223a0000ac385e120b3d6be718f260433 +DIST sqlite-doc-3510100.zip 11481722 BLAKE2B d0f2a746c9c6e946bd1086854ce6720b29e29fcfc4af0aa780b6fdc3003dc630133b1f95ac045aa0cdfd63086a9fa5ee62af3bb1fb58c853c6798fde349ffe62 SHA512 fc6b4441d833c6ad988fbd5ce6793a4f259e5a8d5925182828a49e7ca3ce85ad5279af155450f77c8cbdfd5b3c9e066ae70e0d76ba8d595ffd9f3da0f347195e DIST sqlite-src-3500400.zip 14393367 BLAKE2B e94589cb80ce64b5b8c0a2d28582b223a7cb9355424366fc3135c261ca33b4a93dcdeafb86252deeb9beca0ea94490ec6461ba5ab9e8f16b33e9628a85a19813 SHA512 003b03ddc4dd9618b48370e2aaf339c12c3384963f142f1f97110d6ed74f45aa7477477f53bc8b24b6d9f473b899ecb5d13889f52b8cd4fbdce2e6e5fa24502f -DIST sqlite-src-3510000.zip 14193571 BLAKE2B cfe2cee16a1d16450c0d962d9a7ae63395e460a1a74e829cea11f78111ef95459a4af4906dd3ea6d6fdc3d646bd6c5a891bacd83715d93e78302f23176744b3f SHA512 49f84c79030b2bd9141d1a6834201858493e782363a48b73dc7b7f46bd1d3dd1849dbe859671f84a1d5ef923568e00231be4c1ff4d611bbe0b0f8b69820f30d5 +DIST sqlite-src-3510100.zip 14200172 BLAKE2B a9e163d8a4fae948fc5eed4de41b2c4842b0642af555176bbc34df4e0affe8600d8f9f8e81e1a1868dbda2d09709c58f274dab2d5c6a2ac07dab4a5d06f816bc SHA512 43f4e50a2e0257bfb6c7694e7226d120ec122e3c8558ace547452d381f72a3484037e79d7e27db05ea6ad256012fd2f660b595591e127db4db7bf74301c9503f diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.50.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.50.4.ebuild index c6a8a2fb685..daa1b6ce244 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.50.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.50.4.ebuild @@ -24,7 +24,7 @@ else " S="${WORKDIR}/${PN}-src-${SRC_PV}" - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="public-domain" diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.51.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.51.1.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.51.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.51.1.ebuild index da7d09c61a8..e0cf37ae80c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.51.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.51.1.ebuild @@ -24,7 +24,7 @@ else " S="${WORKDIR}/${PN}-src-${SRC_PV}" - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="public-domain" diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-9999.ebuild index 7241fbd3ed2..009295ba563 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-9999.ebuild @@ -24,7 +24,7 @@ else " S="${WORKDIR}/${PN}-src-${SRC_PV}" - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="public-domain" diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/Manifest b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/Manifest index 544d900289b..17dbb4dac38 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/Manifest @@ -1 +1,2 @@ DIST gdb-16.3.tar.xz 24434444 BLAKE2B a75c8655b39580a7f6e0d85ef663f60932fbed9a92ade6d58a2e99bc8b1416b36f8410c66c23bdada83e221a65c1cdfdeb7bb7ae9a930c443557864a1769dbee SHA512 fffd6689c3405466a179670b04720dc825e4f210a761f63dd2b33027432f8cd5d1c059c431a5ec9e165eedd1901220b5329d73c522f9a444788888c731b29e9c +DIST gdb-17.1.tar.xz 24663896 BLAKE2B 35de074a50c747e6ed42faee8a87b3898b57d33e9667c9001eaf8b54c8cce555f7b16642d1583c1b4aabb45fc5e5db8c33d9f5786351e736f2db2f90d28a07ed SHA512 f1a6751e439a2128fecf3eae8b57c1608a0dc7cfe79b4356a937874e5a42bb2df0aba36eb6a9452c41966908b9a59076c7cad9720f684688ab956b65080f1d7c diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-16.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-16.3.ebuild index 9700d398093..4c359466640 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-16.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-16.3.ebuild @@ -79,7 +79,7 @@ LICENSE="GPL-3+ LGPL-2.1+" SLOT="0" IUSE="babeltrace 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" fi REQUIRED_USE=" guile? ( ${GUILE_REQUIRED_USE} ) diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-17.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-17.1.ebuild new file mode 100644 index 00000000000..35d537e2113 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-17.1.ebuild @@ -0,0 +1,351 @@ +# 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_{11..14} ) +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 + https://git.sr.ht/~sourceware/binutils-gdb + https://gitlab.com/x86-binutils/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="babeltrace 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 ~x64-macos ~x64-solaris" +fi +REQUIRED_USE=" + guile? ( ${GUILE_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + rocm? ( multitarget ) +" +RESTRICT="!test? ( test )" + +# -Date: Thu, 03 Apr 2025 03:26:25 +0000 -Subject: [PATCH] [release-branch.go1.24] runtime: cleanup M vgetrandom state before dropping P - -When an M is destroyed, we put its vgetrandom state back on the shared -list for another M to reuse. This list is simply a slice, so appending -to the slice may allocate. Currently this operation is performed in -mdestroy, after the P is released, meaning allocation is not allowed. - -More the cleanup earlier in mdestroy when allocation is still OK. - -Also add //go:nowritebarrierrec to mdestroy since it runs without a P, -which would have caught this bug. - -Fixes #73144. -For #73141. - -Change-Id: I6a6a636c3fbf5c6eec09d07a260e39dbb4d2db12 -Reviewed-on: https://go-review.googlesource.com/c/go/+/662455 -Reviewed-by: Jason Donenfeld -LUCI-TryBot-Result: Go LUCI -Reviewed-by: Keith Randall -Reviewed-by: Keith Randall -(cherry picked from commit 0b31e6d4cc804ab76ae8ced151ee2f50657aec14) ---- - -diff --git a/src/runtime/os3_solaris.go b/src/runtime/os3_solaris.go -index cf163a6..ded821b 100644 ---- a/src/runtime/os3_solaris.go -+++ b/src/runtime/os3_solaris.go -@@ -234,8 +234,11 @@ - getg().m.procid = 0 - } - --// Called from exitm, but not from drop, to undo the effect of thread-owned -+// Called from mexit, but not from dropm, to undo the effect of thread-owned - // resources in minit, semacreate, or elsewhere. Do not take locks after calling this. -+// -+// This always runs without a P, so //go:nowritebarrierrec is required. -+//go:nowritebarrierrec - func mdestroy(mp *m) { - } - -diff --git a/src/runtime/os_aix.go b/src/runtime/os_aix.go -index 93464cb..1b483c2 100644 ---- a/src/runtime/os_aix.go -+++ b/src/runtime/os_aix.go -@@ -186,8 +186,11 @@ - getg().m.procid = 0 - } - --// Called from exitm, but not from drop, to undo the effect of thread-owned -+// Called from mexit, but not from dropm, to undo the effect of thread-owned - // resources in minit, semacreate, or elsewhere. Do not take locks after calling this. -+// -+// This always runs without a P, so //go:nowritebarrierrec is required. -+//go:nowritebarrierrec - func mdestroy(mp *m) { - } - -diff --git a/src/runtime/os_darwin.go b/src/runtime/os_darwin.go -index 0ecbea7..6eab3b5 100644 ---- a/src/runtime/os_darwin.go -+++ b/src/runtime/os_darwin.go -@@ -344,8 +344,11 @@ - getg().m.procid = 0 - } - --// Called from exitm, but not from drop, to undo the effect of thread-owned -+// Called from mexit, but not from dropm, to undo the effect of thread-owned - // resources in minit, semacreate, or elsewhere. Do not take locks after calling this. -+// -+// This always runs without a P, so //go:nowritebarrierrec is required. -+//go:nowritebarrierrec - func mdestroy(mp *m) { - } - -diff --git a/src/runtime/os_dragonfly.go b/src/runtime/os_dragonfly.go -index a02696e..9b32350 100644 ---- a/src/runtime/os_dragonfly.go -+++ b/src/runtime/os_dragonfly.go -@@ -216,8 +216,11 @@ - getg().m.procid = 0 - } - --// Called from exitm, but not from drop, to undo the effect of thread-owned -+// Called from mexit, but not from dropm, to undo the effect of thread-owned - // resources in minit, semacreate, or elsewhere. Do not take locks after calling this. -+// -+// This always runs without a P, so //go:nowritebarrierrec is required. -+//go:nowritebarrierrec - func mdestroy(mp *m) { - } - -diff --git a/src/runtime/os_linux.go b/src/runtime/os_linux.go -index 8b3c4d0..fb46b81 100644 ---- a/src/runtime/os_linux.go -+++ b/src/runtime/os_linux.go -@@ -412,13 +412,12 @@ - getg().m.procid = 0 - } - --// Called from exitm, but not from drop, to undo the effect of thread-owned -+// Called from mexit, but not from dropm, to undo the effect of thread-owned - // resources in minit, semacreate, or elsewhere. Do not take locks after calling this. -+// -+// This always runs without a P, so //go:nowritebarrierrec is required. -+//go:nowritebarrierrec - func mdestroy(mp *m) { -- if mp.vgetrandomState != 0 { -- vgetrandomPutState(mp.vgetrandomState) -- mp.vgetrandomState = 0 -- } - } - - // #ifdef GOARCH_386 -diff --git a/src/runtime/os_netbsd.go b/src/runtime/os_netbsd.go -index 735ace2..a06e5fe 100644 ---- a/src/runtime/os_netbsd.go -+++ b/src/runtime/os_netbsd.go -@@ -320,8 +320,11 @@ - // must continue working after unminit. - } - --// Called from exitm, but not from drop, to undo the effect of thread-owned -+// Called from mexit, but not from dropm, to undo the effect of thread-owned - // resources in minit, semacreate, or elsewhere. Do not take locks after calling this. -+// -+// This always runs without a P, so //go:nowritebarrierrec is required. -+//go:nowritebarrierrec - func mdestroy(mp *m) { - } - -diff --git a/src/runtime/os_openbsd.go b/src/runtime/os_openbsd.go -index 574bfa8..4ce4c3c 100644 ---- a/src/runtime/os_openbsd.go -+++ b/src/runtime/os_openbsd.go -@@ -182,8 +182,11 @@ - getg().m.procid = 0 - } - --// Called from exitm, but not from drop, to undo the effect of thread-owned -+// Called from mexit, but not from dropm, to undo the effect of thread-owned - // resources in minit, semacreate, or elsewhere. Do not take locks after calling this. -+// -+// This always runs without a P, so //go:nowritebarrierrec is required. -+//go:nowritebarrierrec - func mdestroy(mp *m) { - } - -diff --git a/src/runtime/os_plan9.go b/src/runtime/os_plan9.go -index 2dbb42a..3b5965a 100644 ---- a/src/runtime/os_plan9.go -+++ b/src/runtime/os_plan9.go -@@ -217,8 +217,11 @@ - func unminit() { - } - --// Called from exitm, but not from drop, to undo the effect of thread-owned -+// Called from mexit, but not from dropm, to undo the effect of thread-owned - // resources in minit, semacreate, or elsewhere. Do not take locks after calling this. -+// -+// This always runs without a P, so //go:nowritebarrierrec is required. -+//go:nowritebarrierrec - func mdestroy(mp *m) { - } - -diff --git a/src/runtime/os_windows.go b/src/runtime/os_windows.go -index 7183e79..54407a3 100644 ---- a/src/runtime/os_windows.go -+++ b/src/runtime/os_windows.go -@@ -906,9 +906,11 @@ - mp.procid = 0 - } - --// Called from exitm, but not from drop, to undo the effect of thread-owned -+// Called from mexit, but not from dropm, to undo the effect of thread-owned - // resources in minit, semacreate, or elsewhere. Do not take locks after calling this. - // -+// This always runs without a P, so //go:nowritebarrierrec is required. -+//go:nowritebarrierrec - //go:nosplit - func mdestroy(mp *m) { - if mp.highResTimer != 0 { -diff --git a/src/runtime/proc.go b/src/runtime/proc.go -index e9873e5..21bee4d 100644 ---- a/src/runtime/proc.go -+++ b/src/runtime/proc.go -@@ -1935,6 +1935,9 @@ - mp.gsignal = nil - } - -+ // Free vgetrandom state. -+ vgetrandomDestroy(mp) -+ - // Remove m from allm. - lock(&sched.lock) - for pprev := &allm; *pprev != nil; pprev = &(*pprev).alllink { -diff --git a/src/runtime/vgetrandom_linux.go b/src/runtime/vgetrandom_linux.go -index a6ec4b7..40be022 100644 ---- a/src/runtime/vgetrandom_linux.go -+++ b/src/runtime/vgetrandom_linux.go -@@ -73,9 +73,16 @@ - return state - } - --func vgetrandomPutState(state uintptr) { -+// Free vgetrandom state from the M (if any) prior to destroying the M. -+// -+// This may allocate, so it must have a P. -+func vgetrandomDestroy(mp *m) { -+ if mp.vgetrandomState == 0 { -+ return -+ } -+ - lock(&vgetrandomAlloc.statesLock) -- vgetrandomAlloc.states = append(vgetrandomAlloc.states, state) -+ vgetrandomAlloc.states = append(vgetrandomAlloc.states, mp.vgetrandomState) - unlock(&vgetrandomAlloc.statesLock) - } - -diff --git a/src/runtime/vgetrandom_unsupported.go b/src/runtime/vgetrandom_unsupported.go -index 070392c..43c53e1 100644 ---- a/src/runtime/vgetrandom_unsupported.go -+++ b/src/runtime/vgetrandom_unsupported.go -@@ -13,6 +13,6 @@ - return -1, false - } - --func vgetrandomPutState(state uintptr) {} -+func vgetrandomDestroy(mp *m) {} - - func vgetrandomInit() {} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/files/go-1.24.9-ipv6-validation.patch b/sdk_container/src/third_party/portage-stable/dev-lang/go/files/go-1.24.9-ipv6-validation.patch deleted file mode 100644 index f9db3f7ee89..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/files/go-1.24.9-ipv6-validation.patch +++ /dev/null @@ -1,86 +0,0 @@ -From e02a9d02d0181394e243cbc3b356e86896a78e2c Mon Sep 17 00:00:00 2001 -From: Roland Shoemaker -Date: Wed, 08 Oct 2025 17:13:12 -0700 -Subject: [PATCH] [release-branch.go1.24] net/url: allow IP-literals with IPv4-mapped IPv6 addresses - -The security fix we applied in CL709857 was overly broad. It applied -rules from RFC 2732, which disallowed IPv4-mapped IPv6 addresses, but -these were later allowed in RFC 3986, which is the canonical URI syntax -RFC. - -Revert the portion of CL709857 which restricted IPv4-mapped addresses, -and update the related tests. - -Updates #75815 -Fixes #75831 - -Change-Id: I3192f2275ad5c386f5c15006a6716bdb5282919d -Reviewed-on: https://go-review.googlesource.com/c/go/+/710375 -LUCI-TryBot-Result: Go LUCI -Reviewed-by: Ethan Lee -Auto-Submit: Roland Shoemaker -(cherry picked from commit 9db7e30bb42eed9912f5e7e9e3959f3b38879d5b) ---- - -diff --git a/src/net/url/url.go b/src/net/url/url.go -index c686239..1d9c1cd 100644 ---- a/src/net/url/url.go -+++ b/src/net/url/url.go -@@ -670,13 +670,13 @@ - - // Per RFC 3986, only a host identified by a valid - // IPv6 address can be enclosed by square brackets. -- // This excludes any IPv4 or IPv4-mapped addresses. -+ // This excludes any IPv4, but notably not IPv4-mapped addresses. - addr, err := netip.ParseAddr(unescapedHostname) - if err != nil { - return "", fmt.Errorf("invalid host: %w", err) - } -- if addr.Is4() || addr.Is4In6() { -- return "", errors.New("invalid IPv6 host") -+ if addr.Is4() { -+ return "", errors.New("invalid IP-literal") - } - return "[" + unescapedHostname + "]" + unescapedColonPort, nil - } else if i := strings.LastIndex(host, ":"); i != -1 { -diff --git a/src/net/url/url_test.go b/src/net/url/url_test.go -index 3206558..6084fac 100644 ---- a/src/net/url/url_test.go -+++ b/src/net/url/url_test.go -@@ -726,7 +726,7 @@ - {"https://[2001:db8::1]/path", true}, // compressed IPv6 address with path - {"https://[fe80::1%25eth0]/path?query=1", true}, // link-local with zone, path, and query - -- {"https://[::ffff:192.0.2.1]", false}, -+ {"https://[::ffff:192.0.2.1]", true}, - {"https://[:1] ", false}, - {"https://[1:2:3:4:5:6:7:8:9]", false}, - {"https://[1::1::1]", false}, -@@ -1672,16 +1672,17 @@ - {"cache_object:foo/bar", true}, - {"cache_object/:foo/bar", false}, - -- {"http://[192.168.0.1]/", true}, // IPv4 in brackets -- {"http://[192.168.0.1]:8080/", true}, // IPv4 in brackets with port -- {"http://[::ffff:192.168.0.1]/", true}, // IPv4-mapped IPv6 in brackets -- {"http://[::ffff:192.168.0.1]:8080/", true}, // IPv4-mapped IPv6 in brackets with port -- {"http://[::ffff:c0a8:1]/", true}, // IPv4-mapped IPv6 in brackets (hex) -- {"http://[not-an-ip]/", true}, // invalid IP string in brackets -- {"http://[fe80::1%foo]/", true}, // invalid zone format in brackets -- {"http://[fe80::1", true}, // missing closing bracket -- {"http://fe80::1]/", true}, // missing opening bracket -- {"http://[test.com]/", true}, // domain name in brackets -+ {"http://[192.168.0.1]/", true}, // IPv4 in brackets -+ {"http://[192.168.0.1]:8080/", true}, // IPv4 in brackets with port -+ {"http://[::ffff:192.168.0.1]/", false}, // IPv4-mapped IPv6 in brackets -+ {"http://[::ffff:192.168.0.1000]/", true}, // Out of range IPv4-mapped IPv6 in brackets -+ {"http://[::ffff:192.168.0.1]:8080/", false}, // IPv4-mapped IPv6 in brackets with port -+ {"http://[::ffff:c0a8:1]/", false}, // IPv4-mapped IPv6 in brackets (hex) -+ {"http://[not-an-ip]/", true}, // invalid IP string in brackets -+ {"http://[fe80::1%foo]/", true}, // invalid zone format in brackets -+ {"http://[fe80::1", true}, // missing closing bracket -+ {"http://fe80::1]/", true}, // missing opening bracket -+ {"http://[test.com]/", true}, // domain name in brackets - } - for _, tt := range tests { - u, err := Parse(tt.in) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/files/go-1.25-strip-top-level-const.patch b/sdk_container/src/third_party/portage-stable/dev-lang/go/files/go-1.25-strip-top-level-const.patch new file mode 100644 index 00000000000..1531263e3ed --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/files/go-1.25-strip-top-level-const.patch @@ -0,0 +1,94 @@ +From 7a6e3f07acfd822aa1d62f1c715125e30d67d089 Mon Sep 17 00:00:00 2001 +From: Ian Lance Taylor +Date: Mon, 03 Nov 2025 15:54:39 -0800 +Subject: [PATCH] cmd/cgo: strip top-level const qualifier from argument frame struct + +Otherwise we can't assign to it. + +Fixes #75751 + +Change-Id: Iba680db672297bca1a1d1a33912b80863da66a08 +--- + +diff --git a/src/cmd/cgo/internal/test/test.go b/src/cmd/cgo/internal/test/test.go +index 9626407..e83e367 100644 +--- a/src/cmd/cgo/internal/test/test.go ++++ b/src/cmd/cgo/internal/test/test.go +@@ -953,6 +953,12 @@ + } issue69086struct; + static int issue690861(issue69086struct* p) { p->b = 1234; return p->c; } + static int issue690862(unsigned long ul1, unsigned long ul2, unsigned int u, issue69086struct s) { return (int)(s.b); } ++ ++char issue75751v = 1; ++char * const issue75751p = &issue75751v; ++#define issue75751m issue75751p ++char * const volatile issue75751p2 = &issue75751v; ++#define issue75751m2 issue75751p2 + */ + import "C" + +@@ -2396,3 +2402,8 @@ + t.Errorf("call: got %d, want 1234", got) + } + } ++ ++// Issue 75751: no runtime test, just make sure it compiles. ++func test75751() int { ++ return int(*C.issue75751m) + int(*C.issue75751m2) ++} +diff --git a/src/cmd/cgo/out.go b/src/cmd/cgo/out.go +index 394e766..05d9dcf 100644 +--- a/src/cmd/cgo/out.go ++++ b/src/cmd/cgo/out.go +@@ -457,6 +457,33 @@ + // Also assumes that gc convention is to word-align the + // input and output parameters. + func (p *Package) structType(n *Name) (string, int64) { ++ // It's possible for us to see a type with a top-level const here, ++ // which will give us an unusable struct type. See #75751. ++ // The top-level const will always appear as a final qualifier, ++ // constructed by typeConv.loadType in the dwarf.QualType case. ++ // The top-level const is meaningless here and can simply be removed. ++ stripConst := func(s string) string { ++ i := strings.LastIndex(s, "const") ++ if i == -1 { ++ return s ++ } ++ ++ // A top-level const can only be followed by other qualifiers. ++ if r, ok := strings.CutSuffix(s, "const"); ok { ++ return r ++ } ++ ++ for _, f := range strings.Fields(s[i:]) { ++ switch f { ++ case "const", "restrict", "volatile": ++ default: ++ return s ++ } ++ } ++ ++ return strings.TrimSpace(s[:i]) + strings.TrimSpace(s[i+len("const"):]) ++ } ++ + var buf strings.Builder + fmt.Fprint(&buf, "struct {\n") + off := int64(0) +@@ -468,7 +495,7 @@ + } + c := t.Typedef + if c == "" { +- c = t.C.String() ++ c = stripConst(t.C.String()) + } + fmt.Fprintf(&buf, "\t\t%s p%d;\n", c, i) + off += t.Size +@@ -484,7 +511,7 @@ + fmt.Fprintf(&buf, "\t\tchar __pad%d[%d];\n", off, pad) + off += pad + } +- fmt.Fprintf(&buf, "\t\t%s r;\n", t.C) ++ fmt.Fprintf(&buf, "\t\t%s r;\n", stripConst(t.C.String())) + off += t.Size + } + if off%p.PtrSize != 0 { diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/files/go-1.25.3-ipv6-validation.patch b/sdk_container/src/third_party/portage-stable/dev-lang/go/files/go-1.25.3-ipv6-validation.patch deleted file mode 100644 index 4f162b2b09a..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/files/go-1.25.3-ipv6-validation.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 83449b7e2f261c94ea46842012c0992a3a714ce5 Mon Sep 17 00:00:00 2001 -From: Roland Shoemaker -Date: Wed, 08 Oct 2025 17:13:12 -0700 -Subject: [PATCH] [release-branch.go1.25] net/url: allow IP-literals with IPv4-mapped IPv6 addresses - -The security fix we applied in CL709857 was overly broad. It applied -rules from RFC 2732, which disallowed IPv4-mapped IPv6 addresses, but -these were later allowed in RFC 3986, which is the canonical URI syntax -RFC. - -Revert the portion of CL709857 which restricted IPv4-mapped addresses, -and update the related tests. - -Updates #75815 -Fixes #75832 - -Change-Id: I3192f2275ad5c386f5c15006a6716bdb5282919d -Reviewed-on: https://go-review.googlesource.com/c/go/+/710375 -LUCI-TryBot-Result: Go LUCI -Reviewed-by: Ethan Lee -Auto-Submit: Roland Shoemaker -(cherry picked from commit 9db7e30bb42eed9912f5e7e9e3959f3b38879d5b) ---- - -diff --git a/src/net/url/url.go b/src/net/url/url.go -index 40faa7c..1c50e06 100644 ---- a/src/net/url/url.go -+++ b/src/net/url/url.go -@@ -673,13 +673,13 @@ - - // Per RFC 3986, only a host identified by a valid - // IPv6 address can be enclosed by square brackets. -- // This excludes any IPv4 or IPv4-mapped addresses. -+ // This excludes any IPv4, but notably not IPv4-mapped addresses. - addr, err := netip.ParseAddr(unescapedHostname) - if err != nil { - return "", fmt.Errorf("invalid host: %w", err) - } -- if addr.Is4() || addr.Is4In6() { -- return "", errors.New("invalid IPv6 host") -+ if addr.Is4() { -+ return "", errors.New("invalid IP-literal") - } - return "[" + unescapedHostname + "]" + unescapedColonPort, nil - } else if i := strings.LastIndex(host, ":"); i != -1 { -diff --git a/src/net/url/url_test.go b/src/net/url/url_test.go -index 3206558..6084fac 100644 ---- a/src/net/url/url_test.go -+++ b/src/net/url/url_test.go -@@ -726,7 +726,7 @@ - {"https://[2001:db8::1]/path", true}, // compressed IPv6 address with path - {"https://[fe80::1%25eth0]/path?query=1", true}, // link-local with zone, path, and query - -- {"https://[::ffff:192.0.2.1]", false}, -+ {"https://[::ffff:192.0.2.1]", true}, - {"https://[:1] ", false}, - {"https://[1:2:3:4:5:6:7:8:9]", false}, - {"https://[1::1::1]", false}, -@@ -1672,16 +1672,17 @@ - {"cache_object:foo/bar", true}, - {"cache_object/:foo/bar", false}, - -- {"http://[192.168.0.1]/", true}, // IPv4 in brackets -- {"http://[192.168.0.1]:8080/", true}, // IPv4 in brackets with port -- {"http://[::ffff:192.168.0.1]/", true}, // IPv4-mapped IPv6 in brackets -- {"http://[::ffff:192.168.0.1]:8080/", true}, // IPv4-mapped IPv6 in brackets with port -- {"http://[::ffff:c0a8:1]/", true}, // IPv4-mapped IPv6 in brackets (hex) -- {"http://[not-an-ip]/", true}, // invalid IP string in brackets -- {"http://[fe80::1%foo]/", true}, // invalid zone format in brackets -- {"http://[fe80::1", true}, // missing closing bracket -- {"http://fe80::1]/", true}, // missing opening bracket -- {"http://[test.com]/", true}, // domain name in brackets -+ {"http://[192.168.0.1]/", true}, // IPv4 in brackets -+ {"http://[192.168.0.1]:8080/", true}, // IPv4 in brackets with port -+ {"http://[::ffff:192.168.0.1]/", false}, // IPv4-mapped IPv6 in brackets -+ {"http://[::ffff:192.168.0.1000]/", true}, // Out of range IPv4-mapped IPv6 in brackets -+ {"http://[::ffff:192.168.0.1]:8080/", false}, // IPv4-mapped IPv6 in brackets with port -+ {"http://[::ffff:c0a8:1]/", false}, // IPv4-mapped IPv6 in brackets (hex) -+ {"http://[not-an-ip]/", true}, // invalid IP string in brackets -+ {"http://[fe80::1%foo]/", true}, // invalid zone format in brackets -+ {"http://[fe80::1", true}, // missing closing bracket -+ {"http://fe80::1]/", true}, // missing opening bracket -+ {"http://[test.com]/", true}, // domain name in brackets - } - for _, tt := range tests { - u, err := Parse(tt.in) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/files/go-sets.conf b/sdk_container/src/third_party/portage-stable/dev-lang/go/files/go-sets.conf deleted file mode 100644 index f38edb71a6f..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/files/go-sets.conf +++ /dev/null @@ -1,7 +0,0 @@ -# Installed packages for which vdb *DEPEND includes dev-lang/go. -# This is useful after a dev-lang/go version change to rebuild all -# software written in Go. -[golang-rebuild] -class = portage.sets.dbapi.VariableSet -variable = BDEPEND -includes = dev-lang/go diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.11.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.10.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.11.ebuild index a83581377f7..8e2a906df10 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.11.ebuild @@ -20,7 +20,7 @@ case ${PV} in *) SRC_URI="https://go.dev/dl/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 ~x64-macos ~x64-solaris" ;; esac diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.9.ebuild deleted file mode 100644 index 3d6ed30afad..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.9.ebuild +++ /dev/null @@ -1,130 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -# See "Bootstrap" in release notes -GO_BOOTSTRAP_MIN=1.22.12 -MY_PV=${PV/_/} - -inherit go-env toolchain-funcs - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://go.dev/dl/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" - ;; -esac - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://go.dev" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="cpu_flags_x86_sse2" - -BDEPEND="|| ( - >=dev-lang/go-${GO_BOOTSTRAP_MIN} - >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" - -# the *.syso files have writable/executable stacks -QA_EXECSTACK='*.syso' - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# This package triggers "unrecognized elf file(s)" notices on riscv. -# https://bugs.gentoo.org/794046 -QA_PREBUILT="*" -QA_PRESTRIPPED="*.syso" - -DOCS=( - CONTRIBUTING.md - PATENTS - README.md - SECURITY.md -) - -go_tuple() { - echo "$(go-env_goos $@)_$(go-env_goarch $@)" -} - -go_cross_compile() { - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -PATCHES=( - "${FILESDIR}"/go-1.24-skip-gdb-tests.patch - "${FILESDIR}"/go-1.24-dont-force-gold-arm.patch - "${FILESDIR}"/go-1.24.9-ipv6-validation.patch # https://go-review.googlesource.com/c/go/+/712142 - "${FILESDIR}"/go-never-download-newer-toolchains.patch -) - -src_compile() { - if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" - elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" - else - eerror "Go cannot be built without go or go-bootstrap installed" - die "Should not be here, please report a bug" - fi - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go-env_goarch ${CBUILD}) - export GOHOSTOS=$(go-env_goos ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go-env_goarch) - export GOOS=$(go-env_goos) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - use arm && export GOARM=$(go-env_goarm) - use x86 && export GO386=$(go-env_go386) - - cd src - bash -x ./make.bash || die "build failed" -} - -src_test() { - go_cross_compile && return 0 - cd src - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild -k || die "tests failed" -} - -src_install() { - dodir /usr/lib/go - # The use of cp is deliberate in order to retain permissions - cp -R . "${ED}"/usr/lib/go - einstalldocs - - # testdata directories are not needed on the installed system - # The other files we remove are installed by einstalldocs - rm -r $(find "${ED}"/usr/lib/go -iname testdata -type d -print) || die - rm "${ED}"/usr/lib/go/{CONTRIBUTING.md,PATENTS,README.md} || die - rm "${ED}"/usr/lib/go/{SECURITY.md,codereview.cfg,LICENSE} || die - - local bin_path - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - local f x - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done -} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.3.ebuild deleted file mode 100644 index 4f6f1729fb2..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.3.ebuild +++ /dev/null @@ -1,131 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -# See "Bootstrap" in release notes -GO_BOOTSTRAP_MIN=1.22.12 -MY_PV=${PV/_/} - -inherit go-env toolchain-funcs - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://go.dev/dl/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" - ;; -esac - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://go.dev" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="cpu_flags_x86_sse2" - -BDEPEND="|| ( - >=dev-lang/go-${GO_BOOTSTRAP_MIN} - >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" - -# the *.syso files have writable/executable stacks -QA_EXECSTACK='*.syso' - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# This package triggers "unrecognized elf file(s)" notices on riscv. -# https://bugs.gentoo.org/794046 -QA_PREBUILT="*" -QA_PRESTRIPPED="*.syso" - -DOCS=( - CONTRIBUTING.md - PATENTS - README.md - SECURITY.md -) - -go_tuple() { - echo "$(go-env_goos $@)_$(go-env_goarch $@)" -} - -go_cross_compile() { - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -PATCHES=( - "${FILESDIR}"/go-1.24-skip-gdb-tests.patch - "${FILESDIR}"/go-1.24-dont-force-gold-arm.patch - "${FILESDIR}"/go-1.25-no-dwarf5.patch - "${FILESDIR}"/go-1.25.3-ipv6-validation.patch # https://go-review.googlesource.com/c/go/+/712240 - "${FILESDIR}"/go-never-download-newer-toolchains.patch -) - -src_compile() { - if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" - elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" - else - eerror "Go cannot be built without go or go-bootstrap installed" - die "Should not be here, please report a bug" - fi - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go-env_goarch ${CBUILD}) - export GOHOSTOS=$(go-env_goos ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go-env_goarch) - export GOOS=$(go-env_goos) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - use arm && export GOARM=$(go-env_goarm) - use x86 && export GO386=$(go-env_go386) - - cd src - bash -x ./make.bash || die "build failed" -} - -src_test() { - go_cross_compile && return 0 - cd src - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild -k || die "tests failed" -} - -src_install() { - dodir /usr/lib/go - # The use of cp is deliberate in order to retain permissions - cp -R . "${ED}"/usr/lib/go - einstalldocs - - # testdata directories are not needed on the installed system - # The other files we remove are installed by einstalldocs - rm -r $(find "${ED}"/usr/lib/go -iname testdata -type d -print) || die - rm "${ED}"/usr/lib/go/{CONTRIBUTING.md,PATENTS,README.md} || die - rm "${ED}"/usr/lib/go/{SECURITY.md,codereview.cfg,LICENSE} || die - - local bin_path - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - local f x - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done -} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.5.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.4.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.5.ebuild index db79fcb9053..21b21ffb02b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.5.ebuild @@ -20,7 +20,7 @@ case ${PV} in *) SRC_URI="https://go.dev/dl/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 ~x64-macos ~x64-solaris" ;; esac @@ -68,6 +68,7 @@ PATCHES=( "${FILESDIR}"/go-1.24-skip-gdb-tests.patch "${FILESDIR}"/go-1.24-dont-force-gold-arm.patch "${FILESDIR}"/go-1.25-no-dwarf5.patch + "${FILESDIR}"/go-1.25-strip-top-level-const.patch "${FILESDIR}"/go-never-download-newer-toolchains.patch ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-9999.ebuild index 16a403f5dc9..8931e941a39 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-9999.ebuild @@ -20,7 +20,7 @@ case ${PV} in *) SRC_URI="https://go.dev/dl/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 ~x64-macos ~x64-solaris" ;; esac diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.03.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.03.ebuild index 2543c5ac05d..e9685fd52d8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.03.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.03.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}"/${P/_} LICENSE="BSD-2" SLOT="0" -KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86" IUSE="doc" QA_CONFIG_IMPL_DECL_SKIP=( diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-3.01.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-3.01.ebuild index 96bf7306dbf..7ff1e5c1443 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-3.01.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-3.01.ebuild @@ -12,7 +12,7 @@ S=${WORKDIR}/${P/_} LICENSE="BSD-2" SLOT="0" -KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86" IUSE="doc" QA_CONFIG_IMPL_DECL_SKIP=( 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 98441c039f7..e38604ded99 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 @@ -6,4 +6,5 @@ DIST perl-5.42.0-patches-1.tar.xz 17108 BLAKE2B 0ac95f8c2665a087215dc896c3e00ccf DIST perl-5.42.0.tar.xz 14400988 BLAKE2B 51c31bfd924e6fb4fca5e149986575cb9b455a40ae2a3e03935423612b34491c8382866ca2f3b1ea9cb6ed415f0c570c817612265335bff2603be721c145da61 SHA512 b10f74d1245a879ae51d3ad93ad519a148df126ec865715474c801548ccfc3f542ef3bbb1f59568cea2ec77302d428dc772aba605357d7faf13eb6a351917275 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.3.tar.gz 121133 BLAKE2B 2362a53928230e13c607dd481e5614f80b210f7a5127cac05baa3daf69a263410d05eb50855f063b1bd7d4e3693d01369fdb512fb713c854beda2eece71844d1 SHA512 eb8aa2d57121ef288e253f9443bd4f53ad8b23152096265a0f8211ca4f2a61fdf3fdd03ca1e7d1e1c4a8a408421c7254cfaf12d1f81333aa4a0bf53d74cfa223 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/files/5.42.0/0001-newFOROP-fix-crash-when-optimizing-2-var-for-over-bu.patch b/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/5.42.0/0001-newFOROP-fix-crash-when-optimizing-2-var-for-over-bu.patch new file mode 100644 index 00000000000..873a6e49872 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/5.42.0/0001-newFOROP-fix-crash-when-optimizing-2-var-for-over-bu.patch @@ -0,0 +1,83 @@ +From 7dbc795b44eb54d41e1c6b30d8796525d65d52b5 Mon Sep 17 00:00:00 2001 +Message-ID: <7dbc795b44eb54d41e1c6b30d8796525d65d52b5.1763833678.git.sam@gentoo.org> +From: Lukas Mai +Date: Fri, 11 Jul 2025 09:07:00 +0200 +Subject: [PATCH 1/4] newFOROP: fix crash when optimizing 2-var for over + builtin::indexed + +OP_ENTERSUB isn't necessarily a LISTOP, apparently, so we can't just +grab its op_last. Instead, copy/paste logic from elsewhere in op.c to +find the cvop. + +Also, avoid crashing on "fake" pad entries that represent lexical subs +from outer scopes by climbing up the scope chain until we reach a real +pad entry. + +Fixes #23405. + +(cherry picked from commit 96673a4bb36a973a9a4c5cd0e5727a799789a32c) +Signed-off-by: Sam James +--- + op.c | 14 +++++++++++--- + t/op/for-many.t | 13 +++++++++++++ + 2 files changed, 24 insertions(+), 3 deletions(-) + +diff --git a/op.c b/op.c +index f616532c49..3c316ea8b4 100644 +--- a/op.c ++++ b/op.c +@@ -9665,7 +9665,7 @@ S_op_is_cv_xsub(pTHX_ OP *o, XSUBADDR_t xsub) + } + + case OP_PADCV: +- cv = (CV *)PAD_SVl(o->op_targ); ++ cv = find_lexical_cv(o->op_targ); + assert(cv && SvTYPE(cv) == SVt_PVCV); + break; + +@@ -9683,10 +9683,18 @@ S_op_is_cv_xsub(pTHX_ OP *o, XSUBADDR_t xsub) + static bool + S_op_is_call_to_cv_xsub(pTHX_ OP *o, XSUBADDR_t xsub) + { +- if(o->op_type != OP_ENTERSUB) ++ if (o->op_type != OP_ENTERSUB) + return false; + +- OP *cvop = cLISTOPx(cUNOPo->op_first)->op_last; ++ /* entersub may be a UNOP, not a LISTOP, so we can't just use op_last */ ++ OP *aop = cUNOPo->op_first; ++ if (!OpHAS_SIBLING(aop)) { ++ aop = cUNOPx(aop)->op_first; ++ } ++ aop = OpSIBLING(aop); ++ OP *cvop; ++ for (cvop = aop; OpHAS_SIBLING(cvop); cvop = OpSIBLING(cvop)) ; ++ + return op_is_cv_xsub(cvop, xsub); + } + +diff --git a/t/op/for-many.t b/t/op/for-many.t +index 2f6790aee7..035d1da07e 100644 +--- a/t/op/for-many.t ++++ b/t/op/for-many.t +@@ -498,4 +498,17 @@ is($continue, 'xx', 'continue reached twice'); + is("@have", "Pointy end Up Flamey end Down", 'for my ($one, $two)'); + } + ++# GH #23405 - segfaults when compiling 2-var for loops ++{ ++ my $dummy = sub {}; ++ for my ($x, $y) (main->$dummy) {} ++ pass '2-var for does not crash on method calls'; ++ ++ my sub dummy {} ++ sub { ++ for my ($x, $y) (dummy) {} ++ }->(); ++ pass '2-var for does not crash on lexical sub calls'; ++} ++ + done_testing(); +-- +2.52.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/5.42.0/0002-class.c-gracefully-handle-reader-writer-after-strict.patch b/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/5.42.0/0002-class.c-gracefully-handle-reader-writer-after-strict.patch new file mode 100644 index 00000000000..5932329b7ee --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/5.42.0/0002-class.c-gracefully-handle-reader-writer-after-strict.patch @@ -0,0 +1,87 @@ +From 7ec9aea1c525aee1e1a638f943c4374945ea5b17 Mon Sep 17 00:00:00 2001 +Message-ID: <7ec9aea1c525aee1e1a638f943c4374945ea5b17.1763833678.git.sam@gentoo.org> +In-Reply-To: <7dbc795b44eb54d41e1c6b30d8796525d65d52b5.1763833678.git.sam@gentoo.org> +References: <7dbc795b44eb54d41e1c6b30d8796525d65d52b5.1763833678.git.sam@gentoo.org> +From: Lukas Mai +Date: Wed, 30 Jul 2025 23:09:54 +0200 +Subject: [PATCH 2/4] class.c: gracefully handle reader/writer after 'strict' + error + +Fixes #23511. + +(cherry picked from commit 4e22a3d0e5f933b38e3fa1b98c904fe224001b63) +--- + MANIFEST | 1 + + class.c | 6 ++++-- + t/class/gh23511.t | 23 +++++++++++++++++++++++ + 3 files changed, 28 insertions(+), 2 deletions(-) + create mode 100644 t/class/gh23511.t + +diff --git a/MANIFEST b/MANIFEST +index f530320dcc..d8c7b04816 100644 +--- a/MANIFEST ++++ b/MANIFEST +@@ -5997,6 +5997,7 @@ t/class/construct.t See if class constructors work + t/class/destruct.t See if class destruction works + t/class/field.t See if class field declarations work + t/class/gh22169.t Test defining a class that previously failed to define ++t/class/gh23511.t Test defining a reader after a strict 'vars' violation + t/class/inherit.t See if class inheritance works + t/class/method.t See if class method declarations work + t/class/phasers.t See if class phaser blocks work +diff --git a/class.c b/class.c +index d6d801928d..a91656d469 100644 +--- a/class.c ++++ b/class.c +@@ -1140,7 +1140,8 @@ apply_field_attribute_reader(pTHX_ PADNAME *pn, SV *value) + OP *nameop = newSVOP(OP_CONST, 0, value); + + CV *cv = newATTRSUB(floor_ix, nameop, NULL, NULL, ops); +- CvIsMETHOD_on(cv); ++ if (cv) ++ CvIsMETHOD_on(cv); + } + + /* If '@_' is called "snail", then elements of it can be called "slugs"; i.e. +@@ -1238,7 +1239,8 @@ apply_field_attribute_writer(pTHX_ PADNAME *pn, SV *value) + OP *nameop = newSVOP(OP_CONST, 0, value); + + CV *cv = newATTRSUB(floor_ix, nameop, NULL, NULL, ops); +- CvIsMETHOD_on(cv); ++ if (cv) ++ CvIsMETHOD_on(cv); + } + + static struct { +diff --git a/t/class/gh23511.t b/t/class/gh23511.t +new file mode 100644 +index 0000000000..ae66269003 +--- /dev/null ++++ b/t/class/gh23511.t +@@ -0,0 +1,23 @@ ++#!./perl ++ ++BEGIN { ++ chdir 't' if -d 't'; ++ require './test.pl'; ++ set_up_inc('../lib'); ++} ++ ++use v5.36; ++use feature 'class'; ++no warnings 'experimental::class'; ++ ++# this used to segfault: GH #23511 ++eval <<'CLASS'; ++class MyTest { ++ $id = 6; ++ field $f1 :reader; ++ field $f2 :writer; ++} ++CLASS ++like $@, qr/^Global symbol "\$id" requires explicit package name /, "we get the expected 'undeclared variable' error"; ++ ++done_testing; +-- +2.52.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/5.42.0/0003-use-5.41-affects-current-line-source-encoding.patch b/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/5.42.0/0003-use-5.41-affects-current-line-source-encoding.patch new file mode 100644 index 00000000000..bfec7d86a21 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/5.42.0/0003-use-5.41-affects-current-line-source-encoding.patch @@ -0,0 +1,52 @@ +From 0e0b91d4881226a5532f166662a27ba58f4f718b Mon Sep 17 00:00:00 2001 +Message-ID: <0e0b91d4881226a5532f166662a27ba58f4f718b.1763833678.git.sam@gentoo.org> +In-Reply-To: <7dbc795b44eb54d41e1c6b30d8796525d65d52b5.1763833678.git.sam@gentoo.org> +References: <7dbc795b44eb54d41e1c6b30d8796525d65d52b5.1763833678.git.sam@gentoo.org> +From: Yitzchak Scott-Thoennes +Date: Fri, 31 Oct 2025 05:05:33 -0600 +Subject: [PATCH 3/4] 'use 5.41' affects current line source::encoding + +Previously it didn't take effect until subsequent lines + +Fixes #23881 + +(cherry picked from commit 5d62050d173f59a343236c6259b5c821d58268d2) +--- + lib/source/source_encoding.t | 7 ++++++- + op.c | 1 + + 2 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/lib/source/source_encoding.t b/lib/source/source_encoding.t +index a08489637e..a11b1ca45b 100644 +--- a/lib/source/source_encoding.t ++++ b/lib/source/source_encoding.t +@@ -44,8 +44,13 @@ if (fresh_perl_like(<<~'EOT', + EOT + "", + { }, "source encoding can be turned off"); ++ fresh_perl_like(<<~'EOT', ++ use v5.41.0; my $var = "¶"; ++ EOT ++ qr/Use of non-ASCII character 0x[[:xdigit:]]{2} illegal/, ++ { }, ">= 'use statement affects rest of current line'"); + } +-else { # Above test depends on the previous one; if that failed, use this ++else { # Above tests depend on the previous one; if that failed, use this + # alternate one + fresh_perl_is(<<~'EOT', + use source::encoding 'ascii'; +diff --git a/op.c b/op.c +index 3c316ea8b4..f51eeb3945 100644 +--- a/op.c ++++ b/op.c +@@ -8341,6 +8341,7 @@ Perl_utilize(pTHX_ int aver, I32 floor, OP *version, OP *idop, OP *arg) + else { + PL_hints &= ~HINT_ASCII_ENCODING; + } ++ notify_parser_that_encoding_changed(); + + PL_prevailing_version = shortver; + } +-- +2.52.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/5.42.0/0004-Turn-off-POSIX-2008-locales-on-AIX.patch b/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/5.42.0/0004-Turn-off-POSIX-2008-locales-on-AIX.patch new file mode 100644 index 00000000000..59eb6c80321 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/5.42.0/0004-Turn-off-POSIX-2008-locales-on-AIX.patch @@ -0,0 +1,33 @@ +From 8c90537ed9c2dcac79bac7b3f9b457f1ad3abfa3 Mon Sep 17 00:00:00 2001 +Message-ID: <8c90537ed9c2dcac79bac7b3f9b457f1ad3abfa3.1763833678.git.sam@gentoo.org> +In-Reply-To: <7dbc795b44eb54d41e1c6b30d8796525d65d52b5.1763833678.git.sam@gentoo.org> +References: <7dbc795b44eb54d41e1c6b30d8796525d65d52b5.1763833678.git.sam@gentoo.org> +From: Karl Williamson +Date: Thu, 9 Oct 2025 17:27:31 -0600 +Subject: [PATCH 4/4] Turn off POSIX 2008 locales on AIX + +Fixes #23825 + +From the discussion in that ticket, it appears that the problem is the +OS. + +(cherry picked from commit 1f9d9f8d5ef1241dab5c762f1d6569567377cf87) +--- + hints/aix.sh | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/hints/aix.sh b/hints/aix.sh +index 279365c85b..3e54e450fb 100644 +--- a/hints/aix.sh ++++ b/hints/aix.sh +@@ -700,4 +700,7 @@ case "$osvers" in + ;; + esac + ++# GH #23825 ++d_duplocale='undef' ++ + # EOF +-- +2.52.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.42.0-cross-rebase.patch b/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.42.0-cross-rebase.patch deleted file mode 100644 index 7b0b0184a6b..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.42.0-cross-rebase.patch +++ /dev/null @@ -1,191 +0,0 @@ -https://github.com/arsv/perl-cross/pull/165 - -From add39339ed09334e6809b48b3f8474c01a7ea1a1 Mon Sep 17 00:00:00 2001 -From: Pavlo Kleymonov -Date: Fri, 5 Sep 2025 17:03:23 +0200 -Subject: [PATCH] patches for perl-5.42.0 - ---- - cnf/configure_func.sh | 1 + - cnf/diffs/perl5-5.42.0/constant.patch | 1 + - cnf/diffs/perl5-5.42.0/dynaloader.patch | 1 + - cnf/diffs/perl5-5.42.0/findext.patch | 1 + - cnf/diffs/perl5-5.42.0/installscripts.patch | 1 + - cnf/diffs/perl5-5.42.0/liblist.patch | 70 +++++++++++++++++++++ - cnf/diffs/perl5-5.42.0/makemaker.patch | 1 + - cnf/diffs/perl5-5.42.0/posix-makefile.patch | 1 + - cnf/diffs/perl5-5.42.0/test-checkcase.patch | 1 + - cnf/diffs/perl5-5.42.0/test-makemaker.patch | 1 + - cnf/diffs/perl5-5.42.0/xconfig.patch | 1 + - 11 files changed, 80 insertions(+) - create mode 120000 cnf/diffs/perl5-5.42.0/constant.patch - create mode 120000 cnf/diffs/perl5-5.42.0/dynaloader.patch - create mode 120000 cnf/diffs/perl5-5.42.0/findext.patch - create mode 120000 cnf/diffs/perl5-5.42.0/installscripts.patch - create mode 100644 cnf/diffs/perl5-5.42.0/liblist.patch - create mode 120000 cnf/diffs/perl5-5.42.0/makemaker.patch - create mode 120000 cnf/diffs/perl5-5.42.0/posix-makefile.patch - create mode 120000 cnf/diffs/perl5-5.42.0/test-checkcase.patch - create mode 120000 cnf/diffs/perl5-5.42.0/test-makemaker.patch - create mode 120000 cnf/diffs/perl5-5.42.0/xconfig.patch - -diff --git a/cnf/configure_func.sh b/cnf/configure_func.sh -index 4c13e4c..20f9cdf 100644 ---- a/cnf/configure_func.sh -+++ b/cnf/configure_func.sh -@@ -82,6 +82,7 @@ checkfunc d_fchmod 'fchmod' "0,0" 'unistd.h sys/stat.h' - checkfunc d_fchmodat 'fchmodat' "0,NULL,0,0" 'unistd.h sys/stat.h' - checkfunc d_fchown 'fchown' "0,0,0" 'unistd.h' - checkfunc d_fcntl 'fcntl' "0,0" 'unistd.h fcntl.h' -+checkfunc d_fdopendir 'fdopendir' "0" 'dirent.h sys/types.h' - checkfunc d_fdclose 'fdclose' "NULL,NULL" 'stdio.h' - checkfunc d_ffs 'ffs' "0" 'strings.h' - checkfunc d_ffsl 'ffsl' "0" 'strings.h' -diff --git a/cnf/diffs/perl5-5.42.0/constant.patch b/cnf/diffs/perl5-5.42.0/constant.patch -new file mode 120000 -index 0000000..065e198 ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/constant.patch -@@ -0,0 +1 @@ -+../perl5-5.22.3/constant.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/dynaloader.patch b/cnf/diffs/perl5-5.42.0/dynaloader.patch -new file mode 120000 -index 0000000..ffb73eb ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/dynaloader.patch -@@ -0,0 +1 @@ -+../perl5-5.22.3/dynaloader.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/findext.patch b/cnf/diffs/perl5-5.42.0/findext.patch -new file mode 120000 -index 0000000..9efbe5b ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/findext.patch -@@ -0,0 +1 @@ -+../perl5-5.22.3/findext.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/installscripts.patch b/cnf/diffs/perl5-5.42.0/installscripts.patch -new file mode 120000 -index 0000000..1c05e0f ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/installscripts.patch -@@ -0,0 +1 @@ -+../perl5-5.36.0/installscripts.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/liblist.patch b/cnf/diffs/perl5-5.42.0/liblist.patch -new file mode 100644 -index 0000000..1dae0bb ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/liblist.patch -@@ -0,0 +1,70 @@ -+diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm -+index fbdc79aea2..976fd268aa 100644 -+--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm -++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm -+@@ -20,9 +20,10 @@ use File::Basename; -+ use File::Spec; -+ -+ sub ext { -+- if ( $^O eq 'VMS' ) { goto &_vms_ext; } -+- elsif ( $^O eq 'MSWin32' ) { goto &_win32_ext; } -+- else { goto &_unix_os2_ext; } -++ if ( $Config{usemmldlt} ){ goto &_ld_ext; } -++ elsif ( $^O eq 'VMS' ) { goto &_vms_ext; } -++ elsif ( $^O eq 'MSWin32' ) { goto &_win32_ext; } -++ else { goto &_unix_os2_ext; } -+ } -+ -+ sub _space_dirs_split { -+@@ -643,4 +644,51 @@ sub _vms_ext { -+ wantarray ? ( $lib, '', $ldlib, '', ( $give_libs ? \@flibs : () ) ) : $lib; -+ } -+ -++# A direct test for -l validity. -++# Because guessing real file names for -llib options when dealing -++# with a cross compiler is generally a BAD IDEA^tm. -++sub _ld_ext { -++ my($self,$potential_libs, $verbose, $give_libs) = @_; -++ $verbose ||= 0; -++ -++ if ($^O =~ 'os2' and $Config{perllibs}) { -++ # Dynamic libraries are not transitive, so we may need including -++ # the libraries linked against perl.dll again. -++ -++ $potential_libs .= " " if $potential_libs; -++ $potential_libs .= $Config{perllibs}; -++ } -++ return ("", "", "", "", ($give_libs ? [] : ())) unless $potential_libs; -++ warn "Potential libraries are '$potential_libs':\n" if $verbose; -++ -++ my($ld) = $Config{ld}; -++ my($ldflags) = $Config{ldflags}; -++ my($libs) = defined $Config{perllibs} ? $Config{perllibs} : $Config{libs}; -++ -++ my $try = 'try_mm.c'; -++ my $tryx = 'try_mm.x'; -++ open(TRY, '>', $try) || die "Can't create MakeMaker test file $try: $!\n"; -++ print TRY "int main(void) { return 0; }\n"; -++ close(TRY); -++ -++ my $testlibs = ''; -++ my @testlibs = (); -++ foreach my $thislib (split ' ', $potential_libs) { -++ $testlibs = join(' ', @testlibs); -++ if($thislib =~ /^-L/) { -++ push(@testlibs, $thislib); -++ next -++ }; -++ my $cmd = "$ld $ldflags -o $tryx $try $testlibs $thislib >/dev/null 2>&1"; -++ my $ret = system($cmd); -++ warn "Warning (mostly harmless): " . "No library found for $thislib\n" if $ret; -++ next if $ret; -++ push @testlibs, $thislib; -++ } -++ unlink($try); -++ unlink($tryx); -++ -++ return (join(' ', @testlibs), '', join(' ', @testlibs), ''); -++} -++ -+ 1; -diff --git a/cnf/diffs/perl5-5.42.0/makemaker.patch b/cnf/diffs/perl5-5.42.0/makemaker.patch -new file mode 120000 -index 0000000..d7bd609 ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/makemaker.patch -@@ -0,0 +1 @@ -+../perl5-5.38.0/makemaker.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/posix-makefile.patch b/cnf/diffs/perl5-5.42.0/posix-makefile.patch -new file mode 120000 -index 0000000..29463b7 ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/posix-makefile.patch -@@ -0,0 +1 @@ -+../perl5-5.22.3/posix-makefile.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/test-checkcase.patch b/cnf/diffs/perl5-5.42.0/test-checkcase.patch -new file mode 120000 -index 0000000..36c5186 ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/test-checkcase.patch -@@ -0,0 +1 @@ -+../perl5-5.22.3/test-checkcase.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/test-makemaker.patch b/cnf/diffs/perl5-5.42.0/test-makemaker.patch -new file mode 120000 -index 0000000..4e970ff ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/test-makemaker.patch -@@ -0,0 +1 @@ -+../perl5-5.34.0/test-makemaker.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/xconfig.patch b/cnf/diffs/perl5-5.42.0/xconfig.patch -new file mode 120000 -index 0000000..1c22c96 ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/xconfig.patch -@@ -0,0 +1 @@ -+../perl5-5.41.3/xconfig.patch -\ No newline at end of file diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.0-r1.ebuild index 28808797145..2b4c76bb9de 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.0-r1.ebuild @@ -55,7 +55,7 @@ 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="berkdb perl_features_debug doc gdbm perl_features_ithreads minimal perl_features_quadmath" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.1.ebuild index 0ca4939f1ec..a5eba21c6ab 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.1.ebuild @@ -55,7 +55,7 @@ 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="berkdb perl_features_debug doc gdbm perl_features_ithreads minimal perl_features_quadmath" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.2.ebuild index 975213d51e4..b54c9b487ed 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.2.ebuild @@ -55,7 +55,7 @@ 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="berkdb perl_features_debug doc gdbm perl_features_ithreads minimal perl_features_quadmath" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0-r1.ebuild new file mode 100644 index 00000000000..445607f0744 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0-r1.ebuild @@ -0,0 +1,881 @@ +# 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.3 +PATCH_BASE="perl-5.42.0-patches-${PATCH_VER}" +PATCH_DEV=dilfridge + +DIST_AUTHOR=BOOK + +# 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=" + 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 ~arm64-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 + >=virtual/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.507.20 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 to a new major version the installed Perl modules" + ewarn "have to be re-installed. In most cases, this is done automatically" + ewarn "by the package manager." + ewarn + ewarn "ONLY if you encounter problems, call perl-cleaner to clean up any old files" + ewarn "and trigger any 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" + + # Backports from 5.42.0-votes.xml as of 2025-11-22 + add_patch "${FILESDIR}/5.42.0/0001-newFOROP-fix-crash-when-optimizing-2-var-for-over-bu.patch" \ + "100-newFOROP-fix-crash-when-optimizing-2-var-for-over-bu.patch" \ + "Fix for keyword segfaulting when iterating over multiple values at a time" \ + "https://bugs.gentoo.org/964379" "https://github.com/Perl/perl5/issues/23405" + add_patch "${FILESDIR}/5.42.0/0002-class.c-gracefully-handle-reader-writer-after-strict.patch" \ + "101-class.c-gracefully-handle-reader-writer-after-strict.patch" \ + "Gracefully handle reader definition after strict error" \ + "https://github.com/Perl/perl5/issues/23511" + add_patch "${FILESDIR}/5.42.0/0003-use-5.41-affects-current-line-source-encoding.patch" \ + "102-use-5.41-affects-current-line-source-encoding.patch" \ + "5.41 use affects current line source::encoding" \ + "https://github.com/Perl/perl5/issues/23881" + add_patch "${FILESDIR}/5.42.0/0004-Turn-off-POSIX-2008-locales-on-AIX.patch" \ + "103-Turn-off-POSIX-2008-locales-on-AIX.patch" \ + "Turn off POSIX 2008 locales on AIX" \ + "https://github.com/Perl/perl5/issues/23825" + + 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.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0.ebuild index f429c613eae..2bd1cb3cf5e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0.ebuild @@ -55,7 +55,7 @@ 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="berkdb perl_features_debug doc gdbm perl_features_ithreads minimal perl_features_quadmath" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python-exec-conf/python-exec-conf-2.4.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python-exec-conf/python-exec-conf-2.4.6.ebuild index 6a5bf900934..f5097e76d72 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python-exec-conf/python-exec-conf-2.4.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python-exec-conf/python-exec-conf-2.4.6.ebuild @@ -13,7 +13,7 @@ S=${WORKDIR}/${MY_P} LICENSE="BSD-2" 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 ~arm64-macos ~x64-macos ~x64-solaris" # Internal Python project hack. Do not copy it. Ever. IUSE="${_PYTHON_ALL_IMPLS[@]/#/python_targets_}" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python-exec/python-exec-2.4.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python-exec/python-exec-2.4.10.ebuild index bd96e2b9dcd..a9327f8a18a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python-exec/python-exec-2.4.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python-exec/python-exec-2.4.10.ebuild @@ -16,7 +16,7 @@ SRC_URI="https://github.com/projg2/python-exec/releases/download/v${PV}/${P}.tar LICENSE="BSD-2" 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 ~arm64-macos ~x64-macos ~x64-solaris" # Internal Python project hack. Do not copy it. Ever. IUSE="${_PYTHON_ALL_IMPLS[@]/#/python_targets_} +native-symlinks test" RESTRICT="!test? ( test )" 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 16a9bf8ae59..8f6935c3e35 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 @@ -12,6 +12,10 @@ DIST Python-3.12.11.tar.xz 20525812 BLAKE2B 08eed9d91fe0be305fe9832f5fae5ed4ffdb DIST Python-3.12.11.tar.xz.asc 963 BLAKE2B 4c7eea750312ba996f88c452e51b58c0176d53f43e5bd30fd41a931540320b598b6d1e93d79996ce30dfa22858c4c3ed2cb24d16ba0a891a146fbf81ec60b07b SHA512 3589deba17c5adcfcd614387a5207ad20db56cd9c7937eb44e21035a8745f1c6bb9a1b7cfe8bc5b58ecc7cca09ed49fd4c2878f65baecb2514e79c666f85a22e DIST Python-3.12.12.tar.xz 20798712 BLAKE2B 3ce140b5b2c5e3b055118c8595385c7d79582c64cd8dfe9dbd062f8e38a7a995bf51f7c61e1faa768bd36c315c3493d27cd81c7425c7416454f41f77431eac0f SHA512 4b99d240dd96a6e154909dcffe87f8bb38193d634cd80a1c3d9e819b7a63af2afa46d5e6423e81f00dd388840dc29a4a71580f6aa1ce9a12e559c1d63f65a205 DIST Python-3.12.12.tar.xz.asc 963 BLAKE2B 243d7e8000768b562ff771ec8dd8fdc6be2bc36174a1f0f8b00038df2264c9d1c8a14913d07df2826fead822a16db18ef08b40d553f6a9bdc0ea39645d6d798a SHA512 32c10fd427c6f9f11595493d1b4d4c3cade85bffd439fe11e8b0b2c619e06734097b6aaedfdb4fe035b7fdd7196714dba77cdc806923e4454d5bcf60056991a0 +DIST Python-3.13.10.tar.xz 22714348 BLAKE2B 3668feb55810ea9d1b47972060b38dde476008df1c759875f1433a7540a95483d11097024e5f8b0b46ba31078995fa32ec5a854ad10614934a42103a3a439bd6 SHA512 7edf3c1008b1df3a067bf03b8218fbd9f5da7226ba17d8ec54e54a30aca5051e6435eb447a999a9665097dbe65fde27356103c3ea5227b5605b233482e037b07 +DIST Python-3.13.10.tar.xz.asc 963 BLAKE2B 3a6339d73ce3ed847ea6d227ad471d1da96aaacf261d93b1e57dacd7902ed4c63efbb81a2fea35d8abe63a4aa139f8ea47e1e1c2a370093947c7578e44c7284a SHA512 b7ef2e4fe9d206e1d20c166224401f6b9bd782323d424e996e0a1cd38a0b7407b994bcc13a63bfa3558482c6775470769c4f11f873b515b8072b75c4cf835011 +DIST Python-3.13.11.tar.xz 22704352 BLAKE2B 6c9c4dddcda36a0210155b759c01101b0429b17622d76a50881533b454335298e9f71ba300710afea2039425a08e4e1ea7eab27a18dc871950c3a32ad93ce663 SHA512 11a910785bb3edeb3888331f29d2514d539f08b07d3125186364ab0e261dab29c7e7c70fe08d89718c38b6053cbe932ac4a6062ac291871e6f4173d29425264a +DIST Python-3.13.11.tar.xz.asc 963 BLAKE2B a6e21908f8161ed014455a609004b9bce461cae61f1b3b26d56c2582e01134f7adb1634c12dc99a8c3a290564a42e5b1bdbec6cb6faaf3ea41245e8a2e17ed1c SHA512 10beaba6d0e84f0335c0add480114e98a64133ec70d320593349de86091ccbdd69743559297f9c8c5e9926089890fd0e7881388e86084f46a413e9579c59d23c DIST Python-3.13.5.tar.xz 22856016 BLAKE2B 9caacad8745dcd238b208022cb140a6655ae57ae0b7f5ac88efc84a96635c310102a5de20cbaa43ef3c329f454b142a0a019141279d49a4d657be5682a1d6521 SHA512 2a058072e87b614b204bd1321b2bfa9c4b6614dbd5ded98dc0ee51c0d6b81504f902b7c003ad14295b371a37918f6975dc37d5a9c836dd9c30f8b086e4759193 DIST Python-3.13.5.tar.xz.asc 963 BLAKE2B 2db0162d18129ec42b48393108a72c28e7f8f8c3fa40b2e231c87fe0bdc3c166fb6ca4a1c1dfb3fffe1aa0c2618c7ccb245513beb7a0919b4aaca5ec7eb23b36 SHA512 07c1a2ec2d6ba2805680b7f1dc262fdc5dc3eec4503780ecdc08cd570ccbb5f1efa736ee03c83d36bdb33ce87db06be5892cf5a6eaf4018d5fe78fff99e615ae DIST Python-3.13.7.tar.xz 22769492 BLAKE2B 8654588ed12e8cd1d691a1869ed1db0d4b9dbb8e265bb0189cfb3cd1f21a298c1d8e9678e27c23b31e6c7f86478f33f3fc6bb66488a550bed60d64b7a801e65a SHA512 73fa04db860e8b98c204f84d403598fcb802b19bfc8f2675df2fddb6b153b1643daf081746a043f57c8fa71b950a439581aa5204c2bfadb8cfd8864ca4f42f0d @@ -22,8 +26,16 @@ DIST Python-3.13.9.tar.xz 22681368 BLAKE2B 8fbf9b9e0dcc480a5bac82d5c18d6fdb63076 DIST Python-3.13.9.tar.xz.asc 963 BLAKE2B 7989940e3dfc62c553016f9d2b9aef447e770d63b2508f287e14495ba3e98326279d2bdb3b96bbc65ff2a859253bc43d8ce5387873842f656a66abef8380a3b7 SHA512 c33fba3a6b22dccc08beb7f13bd61a25a30f609a54da7c8dfd3b3b4a3490a7b24c11f9617a835388f22709fb09375d35febc417cf104a18f5bec3b43ec999e82 DIST Python-3.14.0.tar.xz 23595844 BLAKE2B 0fe495d62819c9066240927ceff022dc36920cfd9aa7f80f09fd82a6baf42fe0ef85aed7087418ad9769504e62dc0592cf9c06a542335d83ab65fc6399b5ac76 SHA512 46e9e205c3a084cba68bf7f267ab2fd0862a05430165e0eb713f2d6b3a1a4452f72f563de5de55caea824be9df56f66dd568f4814941667a9bb0954229772c53 DIST Python-3.14.0.tar.xz.sigstore 5374 BLAKE2B 50ed6dada3a7dfcfeb47e0cc55568c0e2ea01a5710f341d6423bb5b0982897b13a7a7c91d8b7c995499f687b17a6cf432fdcd3338b0ac658d19a8ad032438957 SHA512 147bf060a55b9108efb6f6a7f478c0b4dc1e7b1e215b842fb8adfe1b96bbe8d1b49ad352455e047d694638130f8533e3ea1c3a246e9ed0fde0d08e80113a6c44 +DIST Python-3.14.1.tar.xz 23563532 BLAKE2B c75d6048ca6b504217578041a6777b507a783f639736d580e0a2964a7d0411011d025a4562c38f68ffe46ee2f35135426f6c6c5d070c1d9106477421d6f92266 SHA512 b5ec011190536126fedade5c33a4afabc081a133ad5c734f4b872769d376735775219d63a482812d139fdd90c46707927065ab9dc733d0bce2d1ebc59fe705a2 +DIST Python-3.14.1.tar.xz.sigstore 5123 BLAKE2B b20634370ea0915c564c586b7537cfc19b8fb6f032fd6ad5df795fe818eea85e78375a32f3f079afdcd86e9aa4e5c2eae8933a326e0699e5c16ba094c39ddd94 SHA512 5b668deafa301d6eb69a7ffb03627c89d2f5de794be292f34cf44f6a1d81b46778f469282a746147a6ca5767a7b4c093b89d25a3a14fcb8f3b9c3e4f40808b27 +DIST Python-3.14.2.tar.xz 23566248 BLAKE2B f010a11192ba8e2e4a5e6e3b1aa67c56e67af3114892b3f7741a3b6fa7b8465b4f4ed573968a17e45ec39e90e44e8af11e98f4087d134065c789126efa26c691 SHA512 165256b4c713e0262767cd7a2c65622f3f086423524646a39bfa64912376be9e5b70863d5a3c95224b516152d0b79e7ccbfe2f2cf35b809d132f2c38ebb3ab3b +DIST Python-3.14.2.tar.xz.sigstore 5119 BLAKE2B 7a975c9a2956cc672889bb08cacbae3f1d6024df72ef47de3a1438a7561daae3b67489c04851a97199f82ee047bac8cec00c3964deb80e9849a3a5373aa9dc9b SHA512 85e62f237d03d6065dcb0d0d7fdadfc6a3b9f55fd96bc3312178a1359c08b1931fd288a87f215b19ed610aeae3316cd4ee1ceda079d8447dd076fd867008c7f5 DIST Python-3.15.0a1.tar.xz 23646768 BLAKE2B 63ccff58638d59b8c0061bf0a91c437c441bb2c08c6a76f51d38021c9122ea884474d52643389e10cddfa37644da69c3fd4267358c5dcf0bd86d4a3aaf5786a6 SHA512 5b86de5c935403b46b718d3a151f26c18e6ff5e468ee03c4dd09fd49c31b57560523ea24b5cd2e5283bbc0daf5621c7145d0af4ba67a23671b0652ce5cdad483 DIST Python-3.15.0a1.tar.xz.sigstore 5138 BLAKE2B 58268279c2f1db2e0350a3219300c2a96780df8d9f524db1526e3792c8b2ca94d1088ca8dabca8a583eeca7a0f429f90687643b5fe4c8e20414e68a3b138d969 SHA512 3f77187359658235c016dd8a8f42e87b23e1e1f5fd7c693e612267344e00aa8e464995f197ab8b0d44a0cf1c53311ecdf323ae670e6e7ee0375e01c80a7de37a +DIST Python-3.15.0a2.tar.xz 23728836 BLAKE2B 56d655bc9ae7bbac97345c156b252667a8e0fcb2c017df6528e87464db7cdfc2731d095362849386eae1013e1468f42918f0cedf6cb59d87c6f97bbe3e5bc3dd SHA512 17187961b8cdcba2971ad1a523d4fc8b6339c19fac0e284e02622fa905c7fce93b1d68bf15c0966e0d6f731e7957291aea056e62f8a64fd36f7fbb9877a4f917 +DIST Python-3.15.0a2.tar.xz.sigstore 5171 BLAKE2B 89adb64b047d96a5e1683eb52085ed6348bfbdbf9be950d111920311f890d9bd845ad1f1e9b6494d683cb85ca22d5492470a8ea87c0a3f75f30971377f6cac6a SHA512 fcaaab5a7f06bfa5e7d26adcce7fdb5bd4aa981f00963ff0934baed16c18c7e49e25ced7934efc5f6f26eb90faa92d323bca1f322418747f399b6330dac1214f +DIST Python-3.15.0a3.tar.xz 34723712 BLAKE2B a1ec08eeefdcdbd8da2311961b0c4fd8cef0b23138e8dd5e727edee15127cedee4592e5d1b16cc95bf250b6de4fe46064d8869c95870871b56966de1f66ff17c SHA512 6c37053be1276d09ac040bd413150ab0b90c9be419aaf0803ccf45f4c7a44001d4beebf3ed687a6d5d823fa94cf9e7589cea4fef4d69ae6c0f1b00a4660adfeb +DIST Python-3.15.0a3.tar.xz.sigstore 5215 BLAKE2B 89e37210adc451036ac0e7f91e0292bf021d757d53b8dc72f0ca7a43658e9b9c46900e07def55f86c45928d011bc5fc462a6b4d2521e0d04acb8b0d89bdb5b0f SHA512 ea22f5fab86050b066cb299e642b49fb9c162087ba7de1cb3c0e146e906b0dcc29670d4c6f1dec3504b40916d2c9f02fd1d10a230a312292c03f20fe863bda00 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.23.tar.xz 19659284 BLAKE2B 17c7c9acec1e2f2e9d146b2c35738ea05cf16609f267dd784668ab43bcce7be93e164c14106f9640a060326ebb2b8bd4ee4e58086bdced4ca611d7f96dbb3699 SHA512 ad2eb2eebff286a16ad631339bc0890b0686cf5e669d28905a98f96e9b1af6673d255f36bf19e146aa4de8d012587dc6b3193e903718f9cdba4b97041318f418 @@ -42,6 +54,8 @@ DIST python-gentoo-patches-3.11.14.tar.xz 15968 BLAKE2B 5bd091046feee03afd59a87b DIST python-gentoo-patches-3.12.11.tar.xz 12020 BLAKE2B b419d32b1d7bef9408027edda7eac9a920a877e1b8f521483df595199bad1bbadd9dd9500079c09beab63286a801bfb25da5f93a5d31462ed3e457a6e40ad6af SHA512 1b0eaff4c0df06554525a50576da7eadb4067c4f2970851e5c9e3e527a9ccc4216cbd65c45fd562af4a1cedc2c66278a74bee5cf5c1a65df8feb22f34f5a19e4 DIST python-gentoo-patches-3.12.11_p1.tar.xz 23276 BLAKE2B 794485d0fa596f0f2797e2aa505f888a05e2ef63840068b3214efbe51b592586bcfdf193b71e239beb3c3037f01ca086b6b97aeff092b2a344e74d962fb9dffc SHA512 1402b0bbeb189ed4a16364398495fcccc31da0aad4fc88e30978e7754575fbd8f51974dcd97d2a57a581072f083233dfb00b30af687455ad170fc3c64875a9d5 DIST python-gentoo-patches-3.12.12.tar.xz 12012 BLAKE2B 4a030f976e73160f74dd760a8cac55a5889bf821e998b717962aac8b79780c314dfbabf93a6919daa75565c3ef31dcf6af87f3ec6768db0ff02154c4c112ab08 SHA512 d5ee32b93fb4a1910a8e3aa0486ae284885c05bd03ada3540f4990b4f12c837cd154e76511db663542dde74d652c3d1d279098319dcc991e7195e8db5befea12 +DIST python-gentoo-patches-3.13.10.tar.xz 8948 BLAKE2B 015f92b6522be1087bfe796d3b1bc93ec46997d618367b871ef1c43bc6a2401f55e95a16ce2e72d6553931e99d7c0991fdc953faf7a99795a511944dd7c650d2 SHA512 691c2ead6f6c63cb714c989d5a1cd2fe6073c96fe244ba7768abf79678aa1ecc7039ee11e137678d793f6b43c742655546d7f65efe38d39b5a35a81d7ddfae8f +DIST python-gentoo-patches-3.13.11.tar.xz 8948 BLAKE2B bb6402400f931fed5d0fa2530f816ba78d7f6aff766e72692884a391929df76cedcc9a9b7a709d8ebffb38fe9256dd78a2b668d49951e07bf61a5388bce49b34 SHA512 f184a682a888a8781aa1a4eb3983d5861d4eec2d0c0729ab95f867aa4a901c65865cc429e9b871c62d5d113509c3f621c7c81d7c7e4600b8a712a8ec256270a9 DIST python-gentoo-patches-3.13.4.tar.xz 8912 BLAKE2B e3d9f2a12f801dc75e09c5301757f35216d712b5e5394f2ec3ce1d79d0cb57571dbca525e3d5c35b90fa059c2b78ee24341b6a51cbe9691deac84c9ee0578824 SHA512 1a7141accb7aa70c7bd8dd12528f7de031dfeab9ff089f3d044da0b7b52461e2d6d7d1467161e0fe1e259d9fa06d70bcf107d86ad3590e8cf73aa1132ef3aaf9 DIST python-gentoo-patches-3.13.5_p1.tar.xz 19756 BLAKE2B ecc594573bbe3a28364d541d5e1014778c342b6e8ecb09e5e9def238ce73d51f178d02ae91bedce3f7aee4a753f2653aee4f4035f238fa60d603baa59ce4e89b SHA512 a60f3cf65b57aa6c85f59dc5f36fbabe1fa19a5225c3e224c99696bb3d1186b54bdad94627638a3a73b66ceb5958b3a5dcb2b83d13357c71ded04c98ad7da0b9 DIST python-gentoo-patches-3.13.7_p1.tar.xz 8944 BLAKE2B f7d7769328fc5cb83f03a8e30602a556be032b71bf068871d22a2ae234fbe865a8f3801300c959d216274025b824fa1d0e5c8cc866c5e6ab38c0b484dc1c1b75 SHA512 a102b66d3b1766261b5bc56ed08c88dc0b34480750177b1d6051bc8b5e9e51df956dc604c5e3509b02fb0dd09d00473f7955652d41cf76299537e18c9bc16389 @@ -50,7 +64,11 @@ DIST python-gentoo-patches-3.13.9.tar.xz 8952 BLAKE2B 9941b3dd241adcdde64b38bdc3 DIST python-gentoo-patches-3.14.0.tar.xz 7992 BLAKE2B 8faff97c198abc1549d7c871c82ff649bbdbe18f9cfdad31aa7b6535391fff8e6adc387a120a6298ede8842421bc103cfae27da807e651c9898d4edb192f4fd7 SHA512 7bc425a89d0f3ebbdab4f52ce1300e16512bda4f08968222e8e68f22d3a794fc7d32a00644f4949810ebb41da0ffd4a5a962dcbee86c7660cd4214406ad16b01 DIST python-gentoo-patches-3.14.0_p1.tar.xz 8952 BLAKE2B d53c5a055be72e3f92a63e18cf75d2f6eb1e352a7529f7ce8256aaf0fa5ac92443646fe07bdbc707a28c1ed395c4c2edd29db0b8fc591679c7602aedfc968489 SHA512 ec03a259281d675063ad82dfd9c0fcb08402120663b9c2a56e37de45bb03e678fccd0c3723b6deffc4f5b8ea4ad17492040a98c7434853da2007f31cdb549bdd DIST python-gentoo-patches-3.14.0b1.tar.xz 5680 BLAKE2B 514b3edc3025e5bf675d371b5ada17dea426856edf1fb6095c2ee400eae95bd4265ef81fe593ae9338e801e7d0a25b1d5ba2d05ca563fd9dd020114b13575746 SHA512 74289e42cf532b54bb1b66a283ec19156f8a36ba38764209c133842314c9efb2ce2ebcba5aa9213bcf7fc0c8a5ca9b6e7adbd5dbfa4397233136d7cd55f53ee7 +DIST python-gentoo-patches-3.14.1.tar.xz 8008 BLAKE2B 52b47d49126a9e93ccc8425322fb3055337cacd8b913104cfec320acae267d44140286b8be720fa5a98b146257e4847b8df46a6f9124d8e81368a1ad24194c0e SHA512 28f6a746dd5e06e432a79eef33fc80faa8ac589f1d328e4e86fdd9e6aa5012f248c81e47204c1fe64ed16cc15038eafef27d6fffb947dbbc4705b559d5639b13 +DIST python-gentoo-patches-3.14.2.tar.xz 8008 BLAKE2B aa454e26901a36a34dedb1deabfc4f6766ef2ee099443ea2d155061f1d005f883528d4a6984d22af0f3feaaee6fc1acf66f144ae701ce60b1e5b0b225600f42e SHA512 3cee495d3b7d579a75a30ed8747d7ba1fe70c0abc06b868d68b26e64452b014c7c6c51ff9782673702375ece87abf8a3e3f5dbd2ea48257ea14416fa8794ea53 DIST python-gentoo-patches-3.15.0a1.tar.xz 3820 BLAKE2B 1ee2ae65f079807d2665b050d4fbd744e71a7db8b14b80f52c32ae0c4593220037f0f7793cb8889fa3cde08b27ca8a2325e578bdf594f0eb1d1fdba90598369c SHA512 ddd00f3d6e22e7757ffe7c55ef7137e8d69377524c4047796594aca73f8d430efef2cb4a6dfe48b6d0fbef3cfae4812ead888ed49270d9b951e872879d2396ab +DIST python-gentoo-patches-3.15.0a2.tar.xz 3812 BLAKE2B cef6e13033d90f119e24d560b27849ccc5082b6eb4fe13959bdc01d084c381ea5aa0d179b044b36f457bec9e2cdf794b2e3c0b94dd6dff31eb98edafec00657f SHA512 6858c320c86a4ca65be918a2c579a9cf62af861d5f3f052b5529de0b8e2905f3a80ff39b22c1860305d1682b8cc61d8f09bb3b42eaf309998a6a0f96953ac45e +DIST python-gentoo-patches-3.15.0a3.tar.xz 3392 BLAKE2B 0d52593060a07638da0da60894172a5c03260f79f81aa65b44ff493267d1cc1fdf73749a6b9e5d20bab2e86b092cd4a8284df360d7e028de62e154105da38724 SHA512 3f77cc17868673febcfe83e19cec1f113c18d64e4946ae3bb19ad8b0e1f7e8ec8ef4d88ddfa79f580256c4a7b8ff48c5f52acb44ff05776cea77111cfa6a7770 DIST python-gentoo-patches-3.8.20_p7.tar.xz 54544 BLAKE2B e31fc9fb5e98b62b0f70165670ec58ed4fa932cfc95d5287c249015a3a372fdbf0d1ba08cb98f63c2dc500700edfd6ffea6db670385d2c86a4fdb92ffb991192 SHA512 a9e7e4976be226931a503af2c986da207d060d4ce436af61f5e8427da513639adbed32bb0061963b83fef275a5de91707ab13b7a9abf3a7472ee0e2c5310eda1 DIST python-gentoo-patches-3.9.23.tar.xz 37148 BLAKE2B a7c0514037169b9938b2180ec2dd22063621d532367f6febfa47da43f47534559baab992d9c5257271121af755b8445346d4d92582e7e11b6468a1c359f28bf2 SHA512 73ef00a7aa671016de396c9e1c4bb5f5c1a97dc735739f806d809f987e802ec440370bf4c85468097547284a5d2b476cbffcec3cf219b7cb6fc890d5029eb5bd DIST python-gentoo-patches-3.9.23_p2.tar.xz 48060 BLAKE2B 2d4ddd3aa48fc52b9f63fbc6020e534234b4183366d121e836544cab93632cd05439205893a11bb505f679946b0690f0962eb0fc029e624cb1c61bc0936127be SHA512 61b3e2c7e8629e1c522c9de8ce9384ee8d1f90ca5ef0f7b902e6315c80196e5f13e0258f8002405a2a752e1c9b5e60f5c3c767c07554d83635fa074bce8a86bd diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.10.ebuild new file mode 100644 index 00000000000..b87de46d79e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.10.ebuild @@ -0,0 +1,611 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic linux-info +inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit verify-sig + +REAL_PV=${PV#0.} +MY_PV=${REAL_PV} +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.asc + ) +" +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 debug +ensurepip examples gdbm libedit +ncurses pgo + +readline +sqlite +ssl test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=virtual/zlib-1.1.3:= + virtual/libintl + 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 + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi +PDEPEND=" + ensurepip? ( dev-python/ensurepip-pip ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER%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 + + ewarn "Freethreading build 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. Instead," + ewarn "please consider reporting freethreading problems upstream." +} + +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{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes + 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=( + # running gdb inside an ebuild as non-root, within sandbox, + # and possibly within a container is unreliable + -x test_gdb + # 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 + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + 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 + # 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 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 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.11.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.11.ebuild new file mode 100644 index 00000000000..b87de46d79e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.11.ebuild @@ -0,0 +1,611 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic linux-info +inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit verify-sig + +REAL_PV=${PV#0.} +MY_PV=${REAL_PV} +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.asc + ) +" +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 debug +ensurepip examples gdbm libedit +ncurses pgo + +readline +sqlite +ssl test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=virtual/zlib-1.1.3:= + virtual/libintl + 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 + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi +PDEPEND=" + ensurepip? ( dev-python/ensurepip-pip ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER%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 + + ewarn "Freethreading build 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. Instead," + ewarn "please consider reporting freethreading problems upstream." +} + +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{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes + 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=( + # running gdb inside an ebuild as non-root, within sandbox, + # and possibly within a container is unreliable + -x test_gdb + # 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 + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + 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 + # 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 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 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.1.ebuild new file mode 100644 index 00000000000..231a1c6034f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.1.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/_/} +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 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:= + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=virtual/zlib-1.1.3:= + virtual/libintl + 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 + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + tail-call-interp? ( + || ( + >=sys-devel/gcc-15:* + >=llvm-core/clang-19:* + ) + ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi +PDEPEND=" + ensurepip? ( dev-python/ensurepip-pip ) +" + +# 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 + if use tail-call-interp; then + tc-check-min_ver gcc 15 + tc-check-min_ver clang 19 + 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=( + # running gdb inside an ebuild as non-root, within sandbox, + # and possibly within a container is unreliable + -x test_gdb + # 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 + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + 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 + # 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 + + # Test terminates abruptly which corrupts written profile data + # bug #964023 + -x test_pyrepl + ) + + 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 0.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.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.2.ebuild new file mode 100644 index 00000000000..49f80accee9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.2.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/_/} +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 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:= + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=virtual/zlib-1.1.3:= + virtual/libintl + 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 + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + tail-call-interp? ( + || ( + >=sys-devel/gcc-16:* + >=llvm-core/clang-19:* + ) + ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi +PDEPEND=" + ensurepip? ( dev-python/ensurepip-pip ) +" + +# 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 + if use tail-call-interp; then + tc-check-min_ver gcc 16 + tc-check-min_ver clang 19 + 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=( + # running gdb inside an ebuild as non-root, within sandbox, + # and possibly within a container is unreliable + -x test_gdb + # 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 + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + 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 + # 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 + + # Test terminates abruptly which corrupts written profile data + # bug #964023 + -x test_pyrepl + ) + + 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 0.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 bf971437aa2..1a0b596f689 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 @@ -79,7 +79,7 @@ BDEPEND=" virtual/pkgconfig tail-call-interp? ( || ( - >=sys-devel/gcc-15:* + >=sys-devel/gcc-16:* >=llvm-core/clang-19:* ) ) @@ -129,7 +129,7 @@ pkg_setup() { linux-info_pkg_setup fi if use tail-call-interp; then - tc-check-min_ver gcc 15 + tc-check-min_ver gcc 16 tc-check-min_ver clang 19 fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha1.ebuild index 8774bf6a9d4..d4df9a53af7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha1.ebuild @@ -87,7 +87,7 @@ BDEPEND=" virtual/pkgconfig tail-call-interp? ( || ( - >=sys-devel/gcc-15:* + >=sys-devel/gcc-16:* >=llvm-core/clang-19:* ) ) @@ -136,7 +136,7 @@ pkg_setup() { linux-info_pkg_setup fi if use tail-call-interp; then - tc-check-min_ver gcc 15 + tc-check-min_ver gcc 16 tc-check-min_ver clang 19 fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha2.ebuild new file mode 100644 index 00000000000..d4df9a53af7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha2.ebuild @@ -0,0 +1,598 @@ +# 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 flag-o-matic linux-info +inherit multiprocessing pax-utils toolchain-funcs verify-sig + +REAL_PV=${PV#0.} +MY_PV=${REAL_PV/_alpha/a} +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}" +IUSE=" + bluetooth 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:= + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=virtual/zlib-1.1.3:= + virtual/libintl + 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 + tail-call-interp? ( + || ( + >=sys-devel/gcc-16:* + >=llvm-core/clang-19:* + ) + ) +" +PDEPEND=" + ensurepip? ( dev-python/ensurepip-pip ) +" + +# 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 + + ewarn "Freethreading build 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. Instead," + ewarn "please consider reporting freethreading problems upstream." +} + +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 + if use tail-call-interp; then + tc-check-min_ver gcc 16 + tc-check-min_ver clang 19 + 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=( + # running gdb inside an ebuild as non-root, within sandbox, + # and possibly within a container is unreliable + -x test_gdb + # 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 + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + 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 + # 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 + + # Test terminates abruptly which corrupts written profile data + # bug #964023 + -x test_pyrepl + ) + + 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" +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha3.ebuild new file mode 100644 index 00000000000..d4df9a53af7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha3.ebuild @@ -0,0 +1,598 @@ +# 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 flag-o-matic linux-info +inherit multiprocessing pax-utils toolchain-funcs verify-sig + +REAL_PV=${PV#0.} +MY_PV=${REAL_PV/_alpha/a} +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}" +IUSE=" + bluetooth 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:= + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=virtual/zlib-1.1.3:= + virtual/libintl + 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 + tail-call-interp? ( + || ( + >=sys-devel/gcc-16:* + >=llvm-core/clang-19:* + ) + ) +" +PDEPEND=" + ensurepip? ( dev-python/ensurepip-pip ) +" + +# 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 + + ewarn "Freethreading build 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. Instead," + ewarn "please consider reporting freethreading problems upstream." +} + +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 + if use tail-call-interp; then + tc-check-min_ver gcc 16 + tc-check-min_ver clang 19 + 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=( + # running gdb inside an ebuild as non-root, within sandbox, + # and possibly within a container is unreliable + -x test_gdb + # 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 + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + 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 + # 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 + + # Test terminates abruptly which corrupts written profile data + # bug #964023 + -x test_pyrepl + ) + + 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" +} 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 f80ecebdeab..d5b63511549 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 @@ -79,7 +79,7 @@ BDEPEND=" virtual/pkgconfig tail-call-interp? ( || ( - >=sys-devel/gcc-15:* + >=sys-devel/gcc-16:* >=llvm-core/clang-19:* ) ) @@ -124,7 +124,7 @@ pkg_setup() { linux-info_pkg_setup fi if use tail-call-interp; then - tc-check-min_ver gcc 15 + tc-check-min_ver gcc 16 tc-check-min_ver clang 19 fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.19.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.19.ebuild index c9ec812fa95..38b550df491 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.19.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.19.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 debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.14.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.14.ebuild index 6da765705c5..83a4e1b54b2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.14.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.14.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 debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.12.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.12.ebuild index ffc8c25d669..07f18eaa382 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.12.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 debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.10.ebuild new file mode 100644 index 00000000000..7f49f2d3cf7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.10.ebuild @@ -0,0 +1,616 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 18 ) +LLVM_OPTIONAL=1 +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic linux-info llvm-r1 +inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit verify-sig + +MY_PV=${PV} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth debug +ensurepip examples gdbm jit libedit +ncurses pgo + +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=virtual/zlib-1.1.3:= + virtual/libintl + 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 + ) + 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} + ') + ) + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi +PDEPEND=" + ensurepip? ( dev-python/ensurepip-pip ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +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{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes + 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=( + # running gdb inside an ebuild as non-root, within sandbox, + # and possibly within a container is unreliable + -x test_gdb + # 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 + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + 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 + # 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 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 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.11.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.11.ebuild new file mode 100644 index 00000000000..7f49f2d3cf7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.11.ebuild @@ -0,0 +1,616 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 18 ) +LLVM_OPTIONAL=1 +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic linux-info llvm-r1 +inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit verify-sig + +MY_PV=${PV} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth debug +ensurepip examples gdbm jit libedit +ncurses pgo + +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=virtual/zlib-1.1.3:= + virtual/libintl + 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 + ) + 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} + ') + ) + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi +PDEPEND=" + ensurepip? ( dev-python/ensurepip-pip ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +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{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes + 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=( + # running gdb inside an ebuild as non-root, within sandbox, + # and possibly within a container is unreliable + -x test_gdb + # 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 + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + 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 + # 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 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 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9.ebuild index 7f49f2d3cf7..9193ed8daa1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9.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 debug +ensurepip examples gdbm jit libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_p1.ebuild index 3ac6844a46b..ee0b5302fe8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_p1.ebuild @@ -33,7 +33,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 debug +ensurepip examples gdbm jit libedit +ncurses pgo +readline +sqlite +ssl tail-call-interp test tk valgrind diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.1.ebuild new file mode 100644 index 00000000000..23b36510447 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.1.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/_/} +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 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:= + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=virtual/zlib-1.1.3:= + virtual/libintl + 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 + ) + 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} + ') + ) + tail-call-interp? ( + || ( + >=sys-devel/gcc-15:* + >=llvm-core/clang-19:* + ) + ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi +PDEPEND=" + ensurepip? ( dev-python/ensurepip-pip ) +" + +# 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 + if use tail-call-interp; then + tc-check-min_ver gcc 15 + tc-check-min_ver clang 19 + 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=( + # running gdb inside an ebuild as non-root, within sandbox, + # and possibly within a container is unreliable + -x test_gdb + # 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 + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + 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 + # 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 + + # Test terminates abruptly which corrupts written profile data + # bug #964023 + -x test_pyrepl + ) + + 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.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.2.ebuild new file mode 100644 index 00000000000..a22feaa7581 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.2.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/_/} +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 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:= + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=virtual/zlib-1.1.3:= + virtual/libintl + 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 + ) + 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} + ') + ) + tail-call-interp? ( + || ( + >=sys-devel/gcc-16:* + >=llvm-core/clang-19:* + ) + ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi +PDEPEND=" + ensurepip? ( dev-python/ensurepip-pip ) +" + +# 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 + if use tail-call-interp; then + tc-check-min_ver gcc 16 + tc-check-min_ver clang 19 + 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=( + # running gdb inside an ebuild as non-root, within sandbox, + # and possibly within a container is unreliable + -x test_gdb + # 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 + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + 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 + # 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 + + # Test terminates abruptly which corrupts written profile data + # bug #964023 + -x test_pyrepl + ) + + 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 11bbf0f3dde..43c772c7b08 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 @@ -88,7 +88,7 @@ BDEPEND=" ) tail-call-interp? ( || ( - >=sys-devel/gcc-15:* + >=sys-devel/gcc-16:* >=llvm-core/clang-19:* ) ) @@ -141,7 +141,7 @@ pkg_setup() { linux-info_pkg_setup fi if use tail-call-interp; then - tc-check-min_ver gcc 15 + tc-check-min_ver gcc 16 tc-check-min_ver clang 19 fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha1.ebuild index 21cd4d1869f..aa17c91c384 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha1.ebuild @@ -95,7 +95,7 @@ BDEPEND=" ) tail-call-interp? ( || ( - >=sys-devel/gcc-15:* + >=sys-devel/gcc-16:* >=llvm-core/clang-19:* ) ) @@ -147,7 +147,7 @@ pkg_setup() { linux-info_pkg_setup fi if use tail-call-interp; then - tc-check-min_ver gcc 15 + tc-check-min_ver gcc 16 tc-check-min_ver clang 19 fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha2.ebuild new file mode 100644 index 00000000000..aa17c91c384 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha2.ebuild @@ -0,0 +1,603 @@ +# 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 flag-o-matic linux-info llvm-r1 +inherit multiprocessing pax-utils toolchain-funcs verify-sig + +MY_PV=${PV/_alpha/a} +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}" +IUSE=" + bluetooth 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:= + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=virtual/zlib-1.1.3:= + virtual/libintl + 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} + ') + ) + tail-call-interp? ( + || ( + >=sys-devel/gcc-16:* + >=llvm-core/clang-19:* + ) + ) +" +PDEPEND=" + ensurepip? ( dev-python/ensurepip-pip ) +" + +# 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 + if use tail-call-interp; then + tc-check-min_ver gcc 16 + tc-check-min_ver clang 19 + 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=( + # running gdb inside an ebuild as non-root, within sandbox, + # and possibly within a container is unreliable + -x test_gdb + # 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 + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + 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 + # 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 + + # Test terminates abruptly which corrupts written profile data + # bug #964023 + -x test_pyrepl + ) + + 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" +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha3.ebuild new file mode 100644 index 00000000000..aa17c91c384 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha3.ebuild @@ -0,0 +1,603 @@ +# 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 flag-o-matic linux-info llvm-r1 +inherit multiprocessing pax-utils toolchain-funcs verify-sig + +MY_PV=${PV/_alpha/a} +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}" +IUSE=" + bluetooth 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:= + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=virtual/zlib-1.1.3:= + virtual/libintl + 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} + ') + ) + tail-call-interp? ( + || ( + >=sys-devel/gcc-16:* + >=llvm-core/clang-19:* + ) + ) +" +PDEPEND=" + ensurepip? ( dev-python/ensurepip-pip ) +" + +# 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 + if use tail-call-interp; then + tc-check-min_ver gcc 16 + tc-check-min_ver clang 19 + 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=( + # running gdb inside an ebuild as non-root, within sandbox, + # and possibly within a container is unreliable + -x test_gdb + # 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 + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + 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 + # 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 + + # Test terminates abruptly which corrupts written profile data + # bug #964023 + -x test_pyrepl + ) + + 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" +} 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 35e0d5a5708..f324d6a8d61 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 @@ -88,7 +88,7 @@ BDEPEND=" ) tail-call-interp? ( || ( - >=sys-devel/gcc-15:* + >=sys-devel/gcc-16:* >=llvm-core/clang-19:* ) ) @@ -136,7 +136,7 @@ pkg_setup() { linux-info_pkg_setup fi if use tail-call-interp; then - tc-check-min_ver gcc 15 + tc-check-min_ver gcc 16 tc-check-min_ver clang 19 fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.25.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.25.ebuild index 64c6412b21c..669020f55da 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.25.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.25.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 debug +ensurepip examples gdbm +ncurses pgo +readline +sqlite +ssl test tk valgrind 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 1ef5bf3ed9f..e37a9c538ee 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 @@ -701,6 +701,43 @@ DIST rust-1.91.0-x86_64-unknown-linux-gnu.tar.xz 192170744 BLAKE2B a06c63e3c534e DIST rust-1.91.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4bfa68287897a1b5916c04a56909aaeaa305cbdc4a9bef377295429221e48451a6f4670929c9d35e80a0d40478352702673bdae4958a924d4124c26e888ff561 SHA512 35e678a3d164b5f198e5aac2ed1c1a6af8fde83b84c84be6e3ce51a7099ae0a3e7d25510b45a1b2d6bb99599cda0f18ceec46883982bdca6ece94eb1e381ed0b DIST rust-1.91.0-x86_64-unknown-linux-musl.tar.xz 295368056 BLAKE2B 3057d8cc29bc789bd1c4d9d0779a0b2ef4b26c2278373960558a316061db72a77edf37e330eefe5c3ec66b69cf184fb46a14641162ba6ecf96f909d3ac7db100 SHA512 98a03725e216687be237358b1a6598470e98322af6cf51fc51d7ede23ae58b0107872a7f8ee2e4e69e9531b821be7145a975c86899a97728e809260b35ab7f23 DIST rust-1.91.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B a8fb18793e536aec99626bf3d85890cbbbd8c2ee5e2a2917999543bd3153b026db1072419ad464e35ecc508e3e3fcb9cae450b4f590359589545fe9adbbcc26d SHA512 0c3bce48b1ddc7d97946ad5e27f8dde91dd14743577fe60056f7c6558139bab7d8aec4ce76901abd2633a61eb122bc30595779cea047ff7a714e83fda2921cb9 +DIST rust-1.92.0-aarch64-unknown-linux-gnu.tar.xz 169667388 BLAKE2B 268524a8066b68dfc2aa4fa524679b3ecc1bf47f74aab47b794eeb0a3ecc76255b7056ad1a852512a52a06802a2dc457bba8c60107d0cb9b464215c344c5430d SHA512 ade2921e938d7bc76638f7f3a47c23c35078cc9d92dbe4a6f032c74204ee41029e276479726154094d06f21e085a44b3a494649940e136a375b066952599eee0 +DIST rust-1.92.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B af7d38ab3fe8656c6234bb7bfd6129e52107b8f55f2cab7b234b74bd7219c9f8de7becc15b8f26dfb424085a15652876b62f8d8bacaadf612b4137a36c642eb4 SHA512 38ddf0d10ec9ad6b859b676c95c93736f8f5135235d0723aafec59b1a2d55e077e549d3b97fecf4b1794d120e3ecc4ed1828170df53b0ca4ea89fc252c500539 +DIST rust-1.92.0-aarch64-unknown-linux-musl.tar.xz 243864176 BLAKE2B 1f204b6b324aca414854f823bc16279444e27e9317092fe7a52f87420a1abcc3e56496baa9f69db00da3af8e81685b1fdeee53537f22910c26513fb7a4a6f6fd SHA512 c86001441d76110a5cfe79c4928997ca7d6211928607fa25f2cbbe06a279ab410d285f24c40dd112ec7d707a71d205b5b784cb465aaccbfb040895a4de44995d +DIST rust-1.92.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 2e1d204cd5b420b28dcd8058c573a923df355cb6115804c8f763838d77cb4a430843f5aa44e7b58150ce4aac4920d8e74180ed94a9c2533530dfca472764822c SHA512 27d817e6390c7dede11133b75ca42d839179a62829c1376a866d2c9435c0f5f669fd55d5e8a357cfd359c3a0fffdf7315f296652a44818f313c70b76dc118a35 +DIST rust-1.92.0-arm-unknown-linux-gnueabi.tar.xz 226603088 BLAKE2B 7515c103ba35a953ec1ff76e346d4468ebc9e468896b8b63217536dd60ebc069a55d0a3a0dcea378993edbc9b80c1bf38b0cd3b6d36d3798dffc759845023f63 SHA512 af5b205a4f8cf4216adc7ba842e33165ccd9b6837d28c886a0c781310ef5afb0707826ada83fbd478c02a7365d5e784f3aad0df5526ffe64747ac3df85f5ccab +DIST rust-1.92.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B bda65222f9cd8e8197e69de7916ba20a53ed7e2a3eda62582b24eb39dbf39c76fe4b0034b3b89ef1d84fafcb7ece0c4884ccc90a4d84b5bbb1381f1cd5166c07 SHA512 c6c8b81c2e20a71eea1a6dff526708f6b6868c13f102ffe7178329f481183321f55a8e99d9edc5047dbbe33bee4ac0bb5fcb5c91abc4113b61252c84947c8845 +DIST rust-1.92.0-arm-unknown-linux-gnueabihf.tar.xz 226977168 BLAKE2B 001e8ef2b098b796801aa5d544c69325d771f5ceae18bd49666d6075d0075987e31e13bd22d8be8049850818070a0d2a371606f94a859bcb8074433c68d5cdd0 SHA512 373bbf25efae00e3f0ba291434facd0a1493dbe5732675cadf9c083be434a58faa93e0701281018e30495ecbb9181bf1dcd5440be167ac47b208fe6ff4b9ce28 +DIST rust-1.92.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B e91a70eae027b9232a8d795403addce6c9ce93aa6955602ab1395921812e8279de7351fdef3386973d08cd210c78d98f6ffd6f84e01b8c42fac488e43e9c4843 SHA512 85c3cfab75724a454a6cd4e3e4acbbefbc9a424093fbb8428c3e7d61d9eff06a4d6a82ae7289b340422cf2b670fbec1d04d4134ffbf765309a941a4ed7f5e16b +DIST rust-1.92.0-armv7-unknown-linux-gnueabihf.tar.xz 229391128 BLAKE2B 0f8f124c535ffb2fee7ab3ed4a5d66ca2c80093e835ab579c2e66eb87c1014c2fa3c3e4a112976de259760fc362d8f0f181af491d0b5ad3b7a54f2219baf1361 SHA512 973e1c93f06a9db6270d2af195c74a0bb78bdb0a62661ffd5b3980c425190a4497fa4ce75cefabdc040c266fa58e65f08df6bbac480baeb67244baf00a9214dc +DIST rust-1.92.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 34d7bf789aad9769c935c8128ce27d25d60c1f2929a2be1a00454d90b332c8786a2d67f730c3964c5263e7d30bb4f102ed83d0f1e11ecddf12520ca823080347 SHA512 8d0ca423952b5ebd512f73204c0024665781c9dc827d2e0a1b3faebf721c6ea6bb2b03f4eadfba0dca6168b01f023c8bc2efcfd2e3aab8e7d757a52e394e58d8 +DIST rust-1.92.0-i686-unknown-linux-gnu.tar.xz 266952280 BLAKE2B 4bab20abbd86eecbaba177beba98cda7458bb78de8b7544bda6b645f0aef57112953135d9c6561b0563924a9d01d0e9b8d4930446f2bc7b1bfad2148b9fe4a21 SHA512 44af49ebaba392c9cab6f21fcc31bff69f4aa4ff56621909cb23970da94b774daff7716692a7b6d5913372f27c7081edc572fbc352c1984bb9bc62fb4b4d176c +DIST rust-1.92.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8b18e860fae047b69b0ca2bb76e720ff545852045267a30a1a9e40a24af1671031eb4d14749fa84a1286ec3aa0a70dff438b1698081e9f6efdddba3ff08608d5 SHA512 c24bcc5da2b0672fdb9f096a9c44c3dbf31bbae6b7339d5404912b50da8210cc49288e1391e9bb6e8b161b6248975e3b2c7a8b1d776c2b0658b25af253636529 +DIST rust-1.92.0-loongarch64-unknown-linux-gnu.tar.xz 260244032 BLAKE2B 360823455bdc56f1c12539c4c0ef24a2cca0b083355fc872eb065db02b8e78c74472770253db40b1bce593c8e397e8701f279f42c78b296a444d28926ff34e8c SHA512 889dad9bd4dc2076fc6d917fe00f8ec0ae97c5cbac73d7a83c0d6206d5463ca43eff8301bfb9a653a102eba3ac4c8b50db291667d00dca9c9e259d759208f2f8 +DIST rust-1.92.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0491bebf5609afdd7f9e7479db3e52b0742f8cc3e4ccfcb425214f047bbd8461a4c3bc99646c5f9a466f9aaac2cf0432879b2571e06b8c678b78efa2d16e55f6 SHA512 434165ef1019cf87ddcff0e9784739e2670c1c2a59a813d250a7b433aa34f2682095675bd17203abc0a4f8a7ea01c904913679c224e6c8c5495ed53a172135e7 +DIST rust-1.92.0-mips-unknown-linux-gnu.tar.xz 82016976 BLAKE2B 15dde9b85bc683723c8b6dda39138fc4bda6295af1eaf515c6b067e72b0ec8a74b4f0b16a5d63e75b7893d4e7ffe00873978e5ffdc2a36165f3c631b65bbc7f5 SHA512 379f80f789622e9e2ea8b15577c8e198dd4f82beec1a484aa5f7397ea79ab223ea26ee5d198c7894894c13f55cd6b0aa2c98974c6b4f38f3b75a92d91b8832be +DIST rust-1.92.0-mips64-unknown-linux-gnuabi64.tar.xz 82092776 BLAKE2B a3cdcd4b4c47ee44674479e83b5afca4e209b95bb6452d2373b08740c4fbe07980c47b3e50f7884a9f72a8c81c3e422b605b8cf35c4c4878116845554d4ed96d SHA512 7a065206e68b0f12284b05285599f134b5c572ef5cd510ccbf2be4e674deee04b577040df55e39475340e753363453ca9f81006ca641af574e833dc10b155643 +DIST rust-1.92.0-mips64el-unknown-linux-gnuabi64.tar.xz 83838412 BLAKE2B 85836e242e5dcf15cd8aa267a66882a8f9ba431a8f71ab22d4344d3d41f646aa97d34bc6880aea376c1d65370611f3509460a27c84916422d416a20ce840666a SHA512 cd8ef43f198fdfd9e84a01d0d9e9a8eb876cabb8b1ec635eae8c7355bacda665e9c46832a515f16695380e2a4d72fc32888641d2e3c197be95651e35a89e6cc2 +DIST rust-1.92.0-mipsel-unknown-linux-gnu.tar.xz 83807360 BLAKE2B 04aa94167f7939afcd7cad0299fd1b0458b374fce2eb16c52a428b2ac687b699e68ddcc45404b7ea6225bffb71e48d6e318278729669c67ad71ac6cb0f7a77a7 SHA512 51f58a1c2908a4101fcbbd4a4cbb894b7aa421c2cb9fae3814e2f8ec45c868389f7d8686228595234a973f017c247f754457891af999e8871951c1bb151ad514 +DIST rust-1.92.0-powerpc-unknown-linux-gnu.tar.xz 249263952 BLAKE2B 8cacfb3bcbba699f280b754d489e0fdb917fcd2e1e1083fdd10467392d29c56eb597d0bd31e98592963fa82bb507c8838763a5aba209a909b2dfb5ab3f27c3cb SHA512 6f4fb3fdbfee99bb7f2dbc70cab055c237e2e0223fa46e2272a96c2592a1160b71268b2895b95093a048e6ff784fe07ecca2709e6475c68cde8a32ab3f6bb480 +DIST rust-1.92.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a3ea0070162418a06e866ea70b60d3cf63a0e739ad916295e7dc692d12aa5a303bdc08cdc72a78f51e865f1914ded82cf2f3545f91b5b453a8fcac58cdc76554 SHA512 39d4434f767d5ce3fe869f9574ab3fd371f8687fbc1b28c1aad9fbac4e5ce8342574b97b24013e2c718936194e97e37e419919c376f531cb7f5d5a139ed3e0c9 +DIST rust-1.92.0-powerpc64-unknown-linux-gnu.tar.xz 251652784 BLAKE2B 66a6c1ce7155e33c8f75d882f746601db13b9c932cdfcab824bcc352205062998d0ca0f1b9c58f709692d344be43a0058d0228a58f34dbafa59d9d3421412b5a SHA512 090dfc19fb0ee9f156c3a24ca4965f4385c20551dfe2c6b248d335ebe6d9a12bfca3916ea27f571f67aea00e1d89371e92e5a6b128ed10bb590a8a2c10b0aafe +DIST rust-1.92.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e1100d2ba8cf241fa3fce2219e07428a0591815afc1cd4fb192cb062f6bd99ed3bc45d97c74d07a31ca27d9af2872e8dad9a8641ff66deddc6e9a7b56ae3877e SHA512 360662ba1a7b9db74136569ae8ec4e4ebefee336c35b1c85e0f0cc0a25a5caa1ecc5e4d0c6477346bff8234a8849bb3330c3c9201e3765beff8662d8fb226bdb +DIST rust-1.92.0-powerpc64-unknown-linux-musl.tar.xz 85719136 BLAKE2B 5453f9d6c2d8f991ca379a557cfdd9f61f037122f0755296acb2d7a6e92e5d53240f551acb3fc723531c144e5d001051b663f9262f499e702368ae9ff702042b SHA512 0efa6791c270e3894e4790fb8fdbc312f25b6256cfc3b38987a20d8e8e1570dc112c708d967f5fb4948be07001be0d82f176a96f1ffd79761762671e8e49bdad +DIST rust-1.92.0-powerpc64le-unknown-linux-gnu.tar.xz 270620124 BLAKE2B ae766b234b330a7b16d641c376e42fa3680e33b78e7f0778ff5da61eca0b0c8e2142701cf50cd31848d750f10fe876d5494a99a7b694ede30f9aff2dc2bb8f41 SHA512 8687e2958583db9b18ab6ee9b6905b2ee571d96fed4e7de31b00e44eed75fdfe995a87aea2c09d195cbdfd5aaca1efe1a7b2d795b157992c538b678b0f036137 +DIST rust-1.92.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5fef628626696646cfda28da753336c8c6864c59a8aa20d2aecbe6c9e1009c2b49f877ceb434a4f18179ea44a68149a5bd7f82c134b05abcb18e47ecd13e1688 SHA512 d3bebb5aaaa440075c822e65fe5b5adef37180a48c39ac89dc95f97ff660ccb96928be34422535d2a24cb63ab8ff8a05f5388a696060b32a5df3ae5a8566f36a +DIST rust-1.92.0-powerpc64le-unknown-linux-musl.tar.xz 268016416 BLAKE2B 307cc8a271330dc45360b0f8cea85ad87ca2cd1523e8824a6766c6857e350c79e1ea7376fa042df1a0677fbccd9fdefa3d656aa752ec2abed72a6882af1141ae SHA512 a731bde7fac6d33575411cbdb14df72360855d014289bbc97fbf6d78cf41fec217bbf2e42733bedfcd234de7545fceb3d3d2ad9498747a6ea08367dd5dd439aa +DIST rust-1.92.0-powerpc64le-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 63eaf91d14e4664fda093f25e1b450e0c513476d4df612f4f97168719c3c697e0d3c057165eb7ce8f0d968fe39c242da31ba7df6526162b3cddb1d2f5e6bb0e4 SHA512 ade94bec00188aacd8490ca05a3c3e9099f31bba8ba4fec74c1d3790422d1dc165b62977eb8894b8e72ec65936470dc52f08a0ec8fa43fa6ddf3c30d0acf2603 +DIST rust-1.92.0-riscv64gc-unknown-linux-gnu.tar.xz 248195844 BLAKE2B e9b200abbd0e294019cd99bb3c6768615ce0bbb7609b3c723a0a57a0d697bdc438c691523f8487b14a9c9397eff0f56b02662b0eb78e057d03100d1ab8d888d6 SHA512 f032be2d3da472a989fdd47dc8ac0d2327139efc2a1b06d53e2c9a3d56eaeb82c3017f8b01ab5ef577278e51236783274db3e1dd728b079acb685bb227a68eec +DIST rust-1.92.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9be219123b6ac03badc12b9f0da92179944158c7e9f7c993e14018dfb8d1b1098845a12590b70108f264dde00d91063a2c18593e6726316e4d719952687b2eea SHA512 d42936ebfc388c03006307d897cbf938cddba4cffecbb2974afe27867207956ad6b4480d93a2f3a1272dd5bca6fde62dbc881764c85e62262e855586f5cad897 +DIST rust-1.92.0-riscv64gc-unknown-linux-musl.tar.xz 90061672 BLAKE2B 3e3cf19f0dcaf616d874bbabf4c27726b4f4f9621d858c17d115dc99d08228a1589381592b19bccc47286d82fac3b556e21550d5feed9a4de8875dd0b4480c51 SHA512 74e7c76c40817cff5da66c8669bb93ffcf62edaa75ec60930c8fe071d321f6570274e084b6a1fccf561decb1b4e22770a522e2486a6adb1ab8a84d47dd31d1a9 +DIST rust-1.92.0-s390x-unknown-linux-gnu.tar.xz 239174100 BLAKE2B 4067b615e0ccd321e11f475f3773336420006cc670787d9aa69185cce029961b04b53bc5f8059d2b6ebf029353b5f9af45c8873c3d63a686d00ffcb820dc2eff SHA512 d94f7e6311dd22cd169b6f60ead6b651d4b9cabf81b4bc56d9e3a306909fa21327526272231726ab57208682915089486d7055776340f05b5626e45006bccc90 +DIST rust-1.92.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3f9dbec921e6f5a2918a1f90983fd80a9fd67cb0630c66ee7cdf9dd02f9076cb3953653bd38037b31e2ad65f533d4794cc434dd503603601f239f66ce20c9445 SHA512 11be5cfd5dcf5cfee52fb7dbb7dd11eea4e4ffca534984d37b8b9aa4512917f39fcd2bc7fcbc71c8b6d406419721df39504b2af5ba551550b7d8de2105a6e3f4 +DIST rust-1.92.0-sparc64-unknown-linux-gnu.tar.xz 79718480 BLAKE2B f28ed53171231fd379af0ab49703654f92ad615f6838a2719d455053ab21e7456f2b8e84167a00774c368595bbb84a1e8e43c13d3f42ef6ad3656fbdb3b7bd9c SHA512 cfa835581c2cec452546005e1f390076d4b93b8a764abbaeea6afee2367eec666f6272cba009e52c09c9315966f7545a855ce3e4588565d680c22b034cc87a4e +DIST rust-1.92.0-x86_64-unknown-linux-gnu.tar.xz 192171372 BLAKE2B a4d300f49db610ec30123c68f7b29ea72cf24e543e14f00d3ffafd7a41a25b699fef7b9d62be06a327d4aa08a191c3deca4b7472b7c0c99a0aefa16c7027a7de SHA512 cfef78f2a26fc5858120f5c56548bcbb720c0a25236ddba5470611e2b5c8e518e0a594b9f2a125e35e48def11c40a4f8116c21cc802a298c20e9b36773e7978e +DIST rust-1.92.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6b5705cee0a257eb54836da4c351bc3e5367938cdf8dc317137c13b88a52b63361b647602c5a2f087fc145c1d490e40513ee74e232f0f5c304d71c55c4f55dc0 SHA512 15a54c497a450211e09701e7c4158dff3b4a32ed4bbc5dc36e6920de1d2a42563b7bca69180b3456b088e5079b9d07d2bd0656f1a9491e4445a4aa9eeb45140a +DIST rust-1.92.0-x86_64-unknown-linux-musl.tar.xz 295461400 BLAKE2B 9eb8a7ab9c3bbd4ab8f6bb1d6cec7c2f47461ec48144cb9bf3c6f71dc63e0db79d3fb9eddf5373626259e1bfc60a7c693d0dc7908ed651dea0478067985f9c32 SHA512 974e589f2f530b98cf378593a0b6a5fdcc39b6f163bb252ab8a7dec4270465830fd72b60b9d0bbcff44feb354a004fd2e2e2aef45dac51533a905a01e35a061a +DIST rust-1.92.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B e23b48bf40fe709084f8792c563d47f1ede9e91e78d6e270b05dc58ac60ce71277ad8f72b2d67b81d7434c0f73df4d97f4eb5896c2d1864964344ab341b41125 SHA512 f427c992b45585b484fa6171d35bf56d47cdb05199ff8af35cee76e6ecb2138df31b383e3b4b786846cfdc38ebed370c4dec9573434d941c0a03ef16f9aa8945 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 @@ -721,3 +758,4 @@ DIST rust-src-1.88.0.tar.xz 3155272 BLAKE2B bca923d2264337366b8013c45f3a40cbdfc1 DIST rust-src-1.89.0.tar.xz 3461444 BLAKE2B b1e43def4cc0f47f0e776d383954b339a62b3efa77d5db71180b7b7620a67bd2d2714afe0b08ae26a06d7d8c785eed03f545d91813d074cbe6641e883a2d40dd SHA512 055c09854e47d1bdfc7f393ac6f2783d35cb8cf13100deb227598ad91020f1d91e4cec1658d8e71db3c266dc6e267ab4172dc1007428cb05105dc4aac57bf89d DIST rust-src-1.90.0.tar.xz 3473408 BLAKE2B 09e9d17af7acb38b99e33874cd4b14ad7e0e15b0580846cc32bc78657432b13091bcbf3fe95494c520bcdbabd5491b9445cb3ce3177fa149d0b89991b67b06e3 SHA512 88dd1a5f1a69ab9e4586fee4a31d7dea51a664ac32b501cab771739b8127eb4ac873d2353e819ef057734522c1bcd64d664bda3d1ff957b1448b4653be766638 DIST rust-src-1.91.0.tar.xz 3509292 BLAKE2B b1cf99db4cbd864fda34c2068a19e8b36c99f6bb5c2fa3c22ef7aa006d4c084bd706fff872a7f87a0ded3db3dead5927153183e4425ffd90e51af468a29db48e SHA512 8d7c5a3aa11b42d5b89b38d1167f6be64de49288738e0fd949d1fe9ac3312830301d578a13de2030b45a7c51179b5adb934deb52e1070afa76520944050baa2e +DIST rust-src-1.92.0.tar.xz 3530724 BLAKE2B 1385e8cc8062dffa69829e4ffeee7daaaeddc35c20c5e841e5183952d2eb8e3c33fe64deff46a7017057723ac3623f1b918d6a61ba2efadc6501bae36241c161 SHA512 be31d704b936d421dae7774dd7243d2a2668c54eac07f3e8d6c289a994c9e238a6e775be2735c4b609e710d8bbb1afe9bf028375e573e5d16def58a53ebc4ba7 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.84.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.84.0-r2.ebuild index 8db5ba34713..b58f47c4690 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.84.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.84.0-r2.ebuild @@ -40,7 +40,7 @@ SRC_URI+=" ppc64? ( elibc_musl? ( LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.85.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.85.0-r1.ebuild index 851b72b1201..bfe1fc7943e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.85.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.85.0-r1.ebuild @@ -27,7 +27,7 @@ else $(rust_arch_uri powerpc64le-unknown-linux-musl rust-${PV}) ) ) ) " - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi DESCRIPTION="Systems programming language from Mozilla" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.90.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.90.0.ebuild index 5bd7c7a55a8..f6a4d93ce57 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.90.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.90.0.ebuild @@ -27,7 +27,7 @@ else $(rust_arch_uri powerpc64le-unknown-linux-musl rust-${PV}) ) ) ) " - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + 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 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.91.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.91.0.ebuild index f3860b45732..a475876a763 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.91.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.91.0.ebuild @@ -27,7 +27,7 @@ else $(rust_arch_uri powerpc64le-unknown-linux-musl rust-${PV}) ) ) ) " - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + 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 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.92.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.92.0.ebuild new file mode 100644 index 00000000000..6263ae968e1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.92.0.ebuild @@ -0,0 +1,339 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 21 ) +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 "rust-${PV}") + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2025-12-11/rust-src-${PV}.tar.xz ) + ppc64? ( elibc_musl? ( !big-endian? ( + $(rust_arch_uri powerpc64le-unknown-linux-musl rust-${PV}) + ) ) ) + " + 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 ) + ) )" +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" + +# net-misc/curl is needed for our own bootstrapped rustc, since cross-compiling bundled curl is not supported +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + net-misc/curl + 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) + + 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 + + local v + for v in $(multilib_get_enabled_abi_pairs); do + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + rust_bin_url=$(grep "xz_url.*rust-nightly-${rust_target}" "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + einfo "Using nightly Rust from ${rust_bin_url} for ${rust_target}" + + einfo "Fetching nightly Rust tarball for ${rust_target} ..." + curl --progress-bar -L "${rust_bin_url}" -O || die "Failed to fetch nightly tarball for ${rust_target}" + if use verify-sig; then + einfo "Fetching nightly signature for ${rust_target} ..." + curl --progress-bar -L "${rust_bin_url}.asc" -O || die "Failed to fetch nightly signature for ${rust_target}" + verify-sig_verify_detached "${WORKDIR}/rust-nightly-${rust_target}.tar.xz" \ + "${WORKDIR}/rust-nightly-${rust_target}.tar.xz.asc" + fi + + tar -xf "${WORKDIR}/rust-nightly-${rust_target}.tar.xz" || die "Failed to unpack nightly tarball for ${rust_target}" + done + 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 + + # We only want to do this for the native ABI. Non-native ABIs are + # handled differently in multilib_src_install. + 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 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" ) + if use rust-analyzer; then + local analysis="$(grep 'analysis' ./components || die "analysis not found in components")" + components+=( "rust-analyzer-preview" "${analysis}" ) + fi + # 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/rust-bin-${SLOT}/bin" + find "${ED}/opt/rust-bin-${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 version + case ${PV} in + *9999*) + version=nightly + ;; + *beta*) + version=beta + ;; + *) + version=${PV} + ;; + esac + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${version}-${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 +} 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 1ded4ec686c..f52ff1998e5 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 @@ -20,3 +20,5 @@ DIST rustc-1.90.0-src.tar.xz 272348992 BLAKE2B 82dbbe3b5fe79f623c74fb81a4c4372b1 DIST rustc-1.90.0-src.tar.xz.asc 801 BLAKE2B 1e84c6134c4fedbbd52610c259c1bdacb45bc97e8cce7a6b5a8c92827a072c88fcf8984893a5e6aa28c2d5d82bd849bb9d38390c783cfaa503a18c99bcaabcde SHA512 fc8f6dfbb4b50777ae8e499883f95b64861db0ca37119b34b3670b4adf51dd248b0b33daafee90e0f22f66b1d8bd8ae6a6107106e95e73f5c2c5a8dc29532e2e DIST rustc-1.91.0-src.tar.xz 270987196 BLAKE2B 18ea8075c288d1c2cc8c247120ae5fa157d0144f6dc8f0e30ce48eb068b2440604733b5230fcea6fcb9aa4630de03aa4af632227c5f3e62733254ee45e2a478d SHA512 1e4c7a2435dc5bccfc63f34f5d210f7cafb0113787a4b5069d61f03528a32cd0a29ac516673cbc0eb564089f1dc5e13b962e6c3714bd0109de664c22ed340fb3 DIST rustc-1.91.0-src.tar.xz.asc 801 BLAKE2B 11b157fafcfa9887b591ffff8b87641f62e81e44d32d5c4ae99a410179905ae64fe760d6c3a6614bd479f51457542a57b171aaa53baad73d5030e496e62f1e67 SHA512 17c99b273d7e84c54b40817448cb7f543b61a5b262d2bfb1c2d1ff108ccf010295c42ae1ae74593fdab1d6caa3cd3f6713e9966a9a5057c01cd85ae3f24a6f89 +DIST rustc-1.92.0-src.tar.xz 271887480 BLAKE2B 765e0f216dde8d375e19ca5b1cd3e051b182cc058e16a1307e82e60bac06de6919d18b6506cb14b3ff5e29c2730ef7d1c6e0d86c3bbf6b8148bbf683048eb99b SHA512 a2c0b127933595b9bc2063d7b7c88d9af512c4664b18f29d44c9a6e2c68d194b87a3071717e8f1b7c858ae940baca888e10be95cd31e0201916d0bfc312a3b15 +DIST rustc-1.92.0-src.tar.xz.asc 801 BLAKE2B 0d223a763b4a3bf0583c4c2c19b2a30dfbe48b6b06c17a764c894ec29d1d0543201a78a263df3c1314c4ad9e050009e1cacb580633f8c2a8e6b2bf35d9a87fce SHA512 7355e5d641ac6f1d27decdf24dbf4af5640ae4f3177a678f8c040aa7288e660c87ed3de33efdcf4e881691b1c13cd9b2a0b6ff3067892aaed1649a4b73b610df diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.90.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.90.0.ebuild index 26c4792d0fb..b065b8ebea1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.90.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.90.0.ebuild @@ -32,7 +32,7 @@ else 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" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" fi LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.91.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.91.0.ebuild index 26c4792d0fb..b065b8ebea1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.91.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.91.0.ebuild @@ -32,7 +32,7 @@ else 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" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" fi LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.92.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.92.0.ebuild new file mode 100644 index 00000000000..26c4792d0fb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.92.0.ebuild @@ -0,0 +1,73 @@ +# 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 +} 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 a4fda1e1b77..fb8814c5d2a 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 @@ -18,6 +18,7 @@ DIST rust-patches-1.88.0.tar.bz2 4062 BLAKE2B 64168ffa608f2edf2e0b3d079152c3b5dd DIST rust-patches-1.89.0.tar.bz2 4091 BLAKE2B 0fea3488a39d2b00627084f6b192dfbd7ed49bdceabbb1141d1a849ba053f786e31115e00365679b1b6fb5b0ccdf5dc0dc0803057cbffbcf0ae3d75ae9830d94 SHA512 de6c9b693bdd719d06605b5da730ee5d9cf9a1d88d58194a0ba48bd378a951c66723f561e39181222d28abb38e974a2921e14ea1f40156caf7b903778cf65790 DIST rust-patches-1.90.0_p1.tar.bz2 6095 BLAKE2B d94899021a2ad0bd2de00c15a04b6a5437fa156f7a1b0b18d31e9487312004dfb2d9cb487eacd30592066ef168e088608bd4fc0c7e383c2fe5ec0a8bfd666b0b SHA512 351ea7dcdea3767b7affe40dc3d2684b7fc56cd0dcd06a6feb86ecb5d62d0451083fae20f878eb1a04c0f8cb31c6f7c96cb5bc84fc22844328fbcfcdf0ae03fb DIST rust-patches-1.91.0.tar.bz2 6041 BLAKE2B 7ebc846e0ae7b496b4ed89a8b0a5c397923e4dd6c83a1289e0b98f57477feea35978224b9c4ae19a129282a8c53bdd68f8ab615821f62e4bb5fda8e39b03eeb9 SHA512 fee179ec4e4c90aacfc7f8de2b4d41c80472e1fee17dbfc5ebf384d0fb8ec5afb3f8110a429abaf5a74a924fd1926ab69b29d1b2bafd3b5014b2ad360ca24cce +DIST rust-patches-1.92.0_p1.tar.bz2 5993 BLAKE2B aa3183a46834b9442fd79fcda61a308b6b1831c9eab6c5a48c6fca7eef49267af815a3d53c0f17563483dbb58e4c4cb9ab09e4f00c32c37b5411d184e222079b SHA512 c2ec50796e8037b1bb1074c516816c9edc815db503ccac0cde4884a7f190e186897cb91ecbad7e1bb7e34b6753d2ccbbc59e83c8efdff452c1ed446850347000 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 @@ -58,3 +59,5 @@ DIST rustc-1.90.0-src.tar.xz 272348992 BLAKE2B 82dbbe3b5fe79f623c74fb81a4c4372b1 DIST rustc-1.90.0-src.tar.xz.asc 801 BLAKE2B 1e84c6134c4fedbbd52610c259c1bdacb45bc97e8cce7a6b5a8c92827a072c88fcf8984893a5e6aa28c2d5d82bd849bb9d38390c783cfaa503a18c99bcaabcde SHA512 fc8f6dfbb4b50777ae8e499883f95b64861db0ca37119b34b3670b4adf51dd248b0b33daafee90e0f22f66b1d8bd8ae6a6107106e95e73f5c2c5a8dc29532e2e DIST rustc-1.91.0-src.tar.xz 270987196 BLAKE2B 18ea8075c288d1c2cc8c247120ae5fa157d0144f6dc8f0e30ce48eb068b2440604733b5230fcea6fcb9aa4630de03aa4af632227c5f3e62733254ee45e2a478d SHA512 1e4c7a2435dc5bccfc63f34f5d210f7cafb0113787a4b5069d61f03528a32cd0a29ac516673cbc0eb564089f1dc5e13b962e6c3714bd0109de664c22ed340fb3 DIST rustc-1.91.0-src.tar.xz.asc 801 BLAKE2B 11b157fafcfa9887b591ffff8b87641f62e81e44d32d5c4ae99a410179905ae64fe760d6c3a6614bd479f51457542a57b171aaa53baad73d5030e496e62f1e67 SHA512 17c99b273d7e84c54b40817448cb7f543b61a5b262d2bfb1c2d1ff108ccf010295c42ae1ae74593fdab1d6caa3cd3f6713e9966a9a5057c01cd85ae3f24a6f89 +DIST rustc-1.92.0-src.tar.xz 271887480 BLAKE2B 765e0f216dde8d375e19ca5b1cd3e051b182cc058e16a1307e82e60bac06de6919d18b6506cb14b3ff5e29c2730ef7d1c6e0d86c3bbf6b8148bbf683048eb99b SHA512 a2c0b127933595b9bc2063d7b7c88d9af512c4664b18f29d44c9a6e2c68d194b87a3071717e8f1b7c858ae940baca888e10be95cd31e0201916d0bfc312a3b15 +DIST rustc-1.92.0-src.tar.xz.asc 801 BLAKE2B 0d223a763b4a3bf0583c4c2c19b2a30dfbe48b6b06c17a764c894ec29d1d0543201a78a263df3c1314c4ad9e050009e1cacb580633f8c2a8e6b2bf35d9a87fce SHA512 7355e5d641ac6f1d27decdf24dbf4af5640ae4f3177a678f8c040aa7288e660c87ed3de33efdcf4e881691b1c13cd9b2a0b6ff3067892aaed1649a4b73b610df diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.84.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.84.0-r2.ebuild index 9636c4a6600..24b815f9d0f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.84.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.84.0-r2.ebuild @@ -40,7 +40,7 @@ else 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" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" fi DESCRIPTION="Systems programming language from Mozilla" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.85.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.85.0-r2.ebuild index 8b8bbebb1fd..5f97575485e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.85.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.85.0-r2.ebuild @@ -51,7 +51,7 @@ else 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" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" fi DESCRIPTION="Systems programming language originally developed by Mozilla" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.87.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.87.0-r1.ebuild index b3d7c2ea430..f6082c35657 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.87.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.87.0-r1.ebuild @@ -64,8 +64,8 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai 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 ) +# https://github.com/rust-lang/llvm-project/blob/rustc-1.87.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k Xtensa ) declare -A ALL_RUST_EXPERIMENTAL_TARGETS for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.88.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.88.0.ebuild index 6ec2d80acf3..dfd6438b22c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.88.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.88.0.ebuild @@ -55,8 +55,8 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai 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 ) +# https://github.com/rust-lang/llvm-project/blob/rustc-1.87.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k Xtensa ) declare -A ALL_RUST_EXPERIMENTAL_TARGETS for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.89.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.89.0.ebuild index 6ec2d80acf3..dfd6438b22c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.89.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.89.0.ebuild @@ -55,8 +55,8 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai 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 ) +# https://github.com/rust-lang/llvm-project/blob/rustc-1.87.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k Xtensa ) declare -A ALL_RUST_EXPERIMENTAL_TARGETS for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.90.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.90.0-r1.ebuild index da1dca06e5d..23b3deb58e8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.90.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.90.0-r1.ebuild @@ -45,7 +45,7 @@ else 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" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" fi DESCRIPTION="Systems programming language originally developed by Mozilla" @@ -58,8 +58,8 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai 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 ) +# https://github.com/rust-lang/llvm-project/blob/rustc-1.87.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k Xtensa ) declare -A ALL_RUST_EXPERIMENTAL_TARGETS for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.91.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.91.0.ebuild index 75b38f83a63..c88a61d4333 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.91.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.91.0.ebuild @@ -44,7 +44,7 @@ else 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" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" fi DESCRIPTION="Systems programming language originally developed by Mozilla" @@ -57,8 +57,8 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai 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 ) +# https://github.com/rust-lang/llvm-project/blob/rustc-1.87.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k Xtensa ) declare -A ALL_RUST_EXPERIMENTAL_TARGETS for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 @@ -72,7 +72,7 @@ ALL_RUST_SYSROOTS=( "${ALL_RUST_SYSROOTS[@]/#/rust_sysroots_}" ) 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 ${ALL_LLVM_TARGETS[*]} ${ALL_RUST_SYSROOTS[*]}" +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto rustfmt rust-analyzer rust-src +system-llvm test ${ALL_LLVM_TARGETS[*]} ${ALL_RUST_SYSROOTS[*]}" if [[ ${PV} = *9999* ]]; then # These USE flags require nightly rust diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.92.0_p1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.92.0_p1-r1.ebuild new file mode 100644 index 00000000000..6086b58e2f2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.92.0_p1-r1.ebuild @@ -0,0 +1,885 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Bump notes: https://wiki.gentoo.org/wiki/Project:Rust/Rust_bump + +LLVM_COMPAT=( 21 ) +PYTHON_COMPAT=( python3_{11..14} ) + +# Patches are kept in rust-patches.git, see its README.rst for the versioning +# scheme. +# +# We use _pN from the ebuild version for the patchset but it can be overridden +# in the ebuild for changes that don't require a revbump. +# +# Uncomment this line when the ebuild needs a patchset update but no revbump. +#RUST_PATCH_VER=${PV}-1 + +RUST_MAX_VER=${PV%%_*} +RUST_PV=${PV%%_p*} +RUST_P=${PN}-${RUST_PV} +[[ -z ${RUST_PATCH_VER} ]] && RUST_PATCH_VER=${PV} + +if [[ ${PV} == *9999* ]]; then + # Update this as new `beta` releases come out. + RUST_MIN_VER="1.88.0" +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 +inherit multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs +inherit 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-${RUST_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-${RUST_PV}-src.tar.xz.asc + ) + " + S="${WORKDIR}/${MY_P}-src" +else + MY_P="rustc-${RUST_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 ) +ALL_LLVM_TARGETS+=( LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV ) +ALL_LLVM_TARGETS+=( 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.87.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +# Bare metal targets which can be built on the host system and have no +# dependency on compiler runtime, libc and unwinder. +ALL_RUST_SYSROOTS=( bpf wasm ) +ALL_RUST_SYSROOTS=( "${ALL_RUST_SYSROOTS[@]/#/rust_sysroots_}" ) + +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" +IUSE+=" rustfmt rust-analyzer rust-src +system-llvm test" +IUSE+=" ${ALL_LLVM_TARGETS[*]} ${ALL_RUST_SYSROOTS[*]}" + +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+=( " rust_sysroots_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 + ) + ) ) + rust_sysroots_wasm? ( llvm-core/clang ) + !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] + virtual/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[*]} ) + rust_sysroots_bpf? ( llvm_targets_BPF ) + rust_sysroots_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 rust_sysroots_bpf 256 0) + ${M} )) + M=$(( $(usex rust_sysroots_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-${RUST_PV}-src.tar.xz{,.asc} + default + else + default + fi +} + +src_prepare() { + # Commit patches to the appropriate branch in proj/rust-patches.git + # then cut a new tag / tarball. Don't add patches to ${FILESDIR} + 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 rust_sysroots_bpf; then + rust_targets+=",\"bpfeb-unknown-none\",\"bpfel-unknown-none\"" + fi + if use rust_sysroots_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 + + # TODO: Add optimized-compiler-builtins for system-llvm to avoid + # building bundled compiler-rt. + 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" + description = "gentoo" + 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}" + 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 rust_sysroots_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 rust_sysroots_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 rust_sysroots_wasm; then + wasm_target="wasm32-unknown-unknown" + if tc-is-clang; then + local wasm_cc=$(tc-getCC) + local wasm_cxx=$(tc-getCXX) + else + local wasm_cc=${CHOST}-clang + local wasm_cxx=${CHOST}-clang++ + fi + export CFLAGS_${wasm_target//-/_}="$( + CC="${wasm_cc} --target=wasm32-unknown-unknown" + filter-flags '-mcpu*' '-march*' '-mtune*' + strip-unsupported-flags + echo "${CFLAGS}" + )" + cat <<- _EOF_ >> "${S}"/bootstrap.toml + [target.wasm32-unknown-unknown] + cc = "${wasm_cc}" + cxx = "${wasm_cxx}" + 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/ + + # bash-completion files are installed by dev-lang/rust-common instead + # 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}-${RUST_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/${RUST_P}" + + newenvd - "50${RUST_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-${RUST_P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${RUST_P}" + fi + if [[ ${SLOT} == *9999* ]] && use miri; then + echo /usr/bin/miri >> "${T}/provider-${RUST_P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${RUST_P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${RUST_P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${RUST_P}" + fi + if use rust-analyzer; then + echo /usr/lib/rust/libexec >> "${T}/provider-${RUST_P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${RUST_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}-${RUST_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 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-9999.ebuild index eaaec6dd115..6086b58e2f2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-9999.ebuild @@ -8,11 +8,23 @@ EAPI=8 LLVM_COMPAT=( 21 ) PYTHON_COMPAT=( python3_{11..14} ) -RUST_PATCH_VER=${PV#*_p} +# Patches are kept in rust-patches.git, see its README.rst for the versioning +# scheme. +# +# We use _pN from the ebuild version for the patchset but it can be overridden +# in the ebuild for changes that don't require a revbump. +# +# Uncomment this line when the ebuild needs a patchset update but no revbump. +#RUST_PATCH_VER=${PV}-1 + RUST_MAX_VER=${PV%%_*} +RUST_PV=${PV%%_p*} +RUST_P=${PN}-${RUST_PV} +[[ -z ${RUST_PATCH_VER} ]] && RUST_PATCH_VER=${PV} if [[ ${PV} == *9999* ]]; then - RUST_MIN_VER="1.91.0" # Update this as new `beta` releases come out. + # Update this as new `beta` releases come out. + RUST_MIN_VER="1.88.0" 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" @@ -20,8 +32,9 @@ 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 +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature +inherit multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs +inherit verify-sig if [[ ${PV} = *9999* ]]; then inherit git-r3 @@ -31,19 +44,24 @@ elif [[ ${PV} == *beta* ]]; then 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 + SRC_URI=" + https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${RUST_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 ) + verify-sig? ( + https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${RUST_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 + MY_P="rustc-${RUST_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 @@ -51,14 +69,14 @@ 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=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ) +ALL_LLVM_TARGETS+=( LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV ) +ALL_LLVM_TARGETS+=( 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 ) +# https://github.com/rust-lang/llvm-project/blob/rustc-1.87.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k Xtensa ) declare -A ALL_RUST_EXPERIMENTAL_TARGETS for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 @@ -72,7 +90,9 @@ ALL_RUST_SYSROOTS=( "${ALL_RUST_SYSROOTS[@]/#/rust_sysroots_}" ) 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 ${ALL_LLVM_TARGETS[*]} ${ALL_RUST_SYSROOTS[*]}" +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto" +IUSE+=" rustfmt rust-analyzer rust-src +system-llvm test" +IUSE+=" ${ALL_LLVM_TARGETS[*]} ${ALL_RUST_SYSROOTS[*]}" if [[ ${PV} = *9999* ]]; then # These USE flags require nightly rust @@ -91,7 +111,8 @@ LLVM_DEPEND+=( " rust_sysroots_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} +BDEPEND=" + ${PYTHON_DEPS} app-eselect/eselect-rust dev-libs/oniguruma || ( @@ -104,6 +125,7 @@ BDEPEND="${PYTHON_DEPS} sys-devel/mold ) ) ) + rust_sysroots_wasm? ( llvm-core/clang ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja @@ -128,7 +150,8 @@ DEPEND=" ) " -RDEPEND="${DEPEND} +RDEPEND=" + ${DEPEND} app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release @@ -136,7 +159,8 @@ RDEPEND="${DEPEND} !dev-lang/rust-bin:stable " -REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) +REQUIRED_USE=" + || ( ${ALL_LLVM_TARGETS[*]} ) rust-analyzer? ( rust-src ) test? ( ${ALL_LLVM_TARGETS[*]} ) rust_sysroots_bpf? ( llvm_targets_BPF ) @@ -316,7 +340,7 @@ src_unpack() { _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} + verify-sig_verify_detached "${DISTDIR}"/rustc-${RUST_PV}-src.tar.xz{,.asc} default else default @@ -564,9 +588,23 @@ src_configure() { done if use rust_sysroots_wasm; then wasm_target="wasm32-unknown-unknown" - export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + if tc-is-clang; then + local wasm_cc=$(tc-getCC) + local wasm_cxx=$(tc-getCXX) + else + local wasm_cc=${CHOST}-clang + local wasm_cxx=${CHOST}-clang++ + fi + export CFLAGS_${wasm_target//-/_}="$( + CC="${wasm_cc} --target=wasm32-unknown-unknown" + filter-flags '-mcpu*' '-march*' '-mtune*' + strip-unsupported-flags + echo "${CFLAGS}" + )" cat <<- _EOF_ >> "${S}"/bootstrap.toml [target.wasm32-unknown-unknown] + cc = "${wasm_cc}" + cxx = "${wasm_cxx}" linker = "$(usex system-llvm lld rust-lld)" # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 profiler = false @@ -759,7 +797,7 @@ src_install() { # 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%%_*}" + local ver_i="${i}-${RUST_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 @@ -775,9 +813,9 @@ src_install() { 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}" + dosym "../../lib/${PN}/${SLOT}/share/doc/rust" "/usr/share/doc/${RUST_P}" - newenvd - "50${P}" <<-_EOF_ + newenvd - "50${RUST_P}" <<-_EOF_ MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}" _EOF_ @@ -799,20 +837,20 @@ src_install() { _EOF_ if use clippy; then - echo /usr/bin/clippy-driver >> "${T}/provider-${P}" - echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + echo /usr/bin/clippy-driver >> "${T}/provider-${RUST_P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${RUST_P}" fi if [[ ${SLOT} == *9999* ]] && use miri; then - echo /usr/bin/miri >> "${T}/provider-${P}" - echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + echo /usr/bin/miri >> "${T}/provider-${RUST_P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${RUST_P}" fi if use rustfmt; then - echo /usr/bin/rustfmt >> "${T}/provider-${P}" - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + echo /usr/bin/rustfmt >> "${T}/provider-${RUST_P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${RUST_P}" fi if use rust-analyzer; then - echo /usr/lib/rust/libexec >> "${T}/provider-${P}" - echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + echo /usr/lib/rust/libexec >> "${T}/provider-${RUST_P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${RUST_P}" fi insinto /etc/env.d/rust @@ -826,12 +864,11 @@ src_install() { } 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}." + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${RUST_PV}." fi if has_version app-editors/emacs; then diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.1.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.1.1-r1.ebuild index 1062b5ed6c6..6005fe89774 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.1.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.1.1-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" LICENSE="GPL-3+ BSD BSD-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="ccache doc pcre test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.2.1.ebuild index 5b943659e47..63d49485b5c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.2.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" LICENSE="GPL-3+ BSD BSD-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="ccache doc pcre test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.3.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.3.1.ebuild index c04e57f2171..2d4985d3b87 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.3.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.3.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" LICENSE="GPL-3+ BSD BSD-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="ccache doc pcre test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.13-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.13-r1.ebuild index 36906075bf4..ebe525b85d5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.13-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.13-r1.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://downloads.sourceforge.net/tcl/${PN}-core${PV}-src.tar.gz" LICENSE="tcltk Spencer-99" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="debug +threads" RDEPEND=">=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.14.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.14.ebuild index 55028089ef4..8718582df35 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.14.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.14.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://downloads.sourceforge.net/tcl/${PN}-core${PV}-src.tar.gz" LICENSE="tcltk Spencer-99" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="debug +threads" RDEPEND=">=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.15.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.15.ebuild index 0dc1436425e..dabb62d11cd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.15.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.15.ebuild @@ -18,7 +18,7 @@ S="${SPARENT}"/unix LICENSE="tcltk Spencer-99" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="debug +threads" RDEPEND=">=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.16.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.16.ebuild index 0dc1436425e..dabb62d11cd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.16.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.16.ebuild @@ -18,7 +18,7 @@ S="${SPARENT}"/unix LICENSE="tcltk Spencer-99" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="debug +threads" RDEPEND=">=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.17.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.17.ebuild index d1360d18443..a488a256fa6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.17.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.17.ebuild @@ -18,7 +18,7 @@ S="${SPARENT}"/unix LICENSE="tcltk Spencer-99" 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" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="debug +threads" RDEPEND=">=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/yasm/yasm-1.3.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/yasm/yasm-1.3.0-r2.ebuild index f489f09a68a..0fba699ca4c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/yasm/yasm-1.3.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/yasm/yasm-1.3.0-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -10,7 +10,7 @@ if [[ ${PV} == 9999* ]] ; then inherit autotools git-r3 else SRC_URI="https://www.tortall.net/projects/yasm/releases/${P}.tar.gz" - KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos ~x64-solaris" + KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="An assembler for x86 and x86_64 instruction sets" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/cJSON-1.7.19.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/cJSON-1.7.19.ebuild index 176cc23023f..7425d9e1fe5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/cJSON-1.7.19.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/cJSON-1.7.19.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/DaveGamble/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.g LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild index 6066ffaef9c..556b79f2dd2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild @@ -14,7 +14,7 @@ SRC_URI+=" https://dev.gentoo.org/~grobian/distfiles/${MY_PATCH_VER}.tar.xz" LICENSE="BSD-with-attribution" SLOT="2" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~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 ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="authdaemond berkdb gdbm kerberos ldapdb openldap mysql pam postgres sample selinux sqlite srp ssl static-libs urandom" REQUIRED_USE="ldapdb? ( openldap )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r5.ebuild index dfebae0552b..603972f0678 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r5.ebuild @@ -14,7 +14,7 @@ SRC_URI+=" https://dev.gentoo.org/~grobian/distfiles/${MY_PATCH_VER}.tar.xz" LICENSE="BSD-with-attribution" SLOT="2" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~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 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="authdaemond berkdb gdbm kerberos ldapdb openldap mysql pam postgres sample selinux sqlite srp ssl static-libs urandom" REQUIRED_USE="ldapdb? ( openldap )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/dbus-glib/dbus-glib-0.114.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/dbus-glib/dbus-glib-0.114.ebuild index 0743c504503..7c103b5de50 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/dbus-glib/dbus-glib-0.114.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/dbus-glib/dbus-glib-0.114.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://dbus.freedesktop.org/releases/${PN}/${P}.tar.gz" LICENSE="|| ( GPL-2 AFL-2.1 )" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="debug static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/ding-libs/ding-libs-0.6.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/ding-libs/ding-libs-0.6.2-r1.ebuild index 2c1808bdc6b..cd427884975 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/ding-libs/ding-libs-0.6.2-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/ding-libs/ding-libs-0.6.2-r1.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://github.com/SSSD/ding-libs/releases/download/${PV}/${P}.tar.gz" LICENSE="LGPL-3 GPL-3" SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193-r1.ebuild index 67312849c8d..af128279f7b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193-r1.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" BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-elfutils-20240301 )" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194.ebuild index fe2a99d4bfe..6f34b761289 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194.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" BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-elfutils-20240301 )" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-9999.ebuild index fe6a1fad191..1aa4e2bbb7d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-9999.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" BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-elfutils-20240301 )" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.3.ebuild index 21da37a002d..167e8b0a4a9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.3.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/ex 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="examples static-libs test unicode" RESTRICT="!test? ( test )" BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.4.ebuild index 21da37a002d..167e8b0a4a9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.4.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/ex 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="examples static-libs test unicode" RESTRICT="!test? ( test )" BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.0.ebuild index 21da37a002d..167e8b0a4a9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.0.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/ex 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="examples static-libs test unicode" RESTRICT="!test? ( test )" BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.1.ebuild index 21da37a002d..167e8b0a4a9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/ex 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="examples static-libs test unicode" RESTRICT="!test? ( test )" BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.2.ebuild index b1f4eada191..7c2d7fa1570 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.2.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/ex 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" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="examples static-libs test unicode" RESTRICT="!test? ( test )" BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.3.ebuild index 21da37a002d..167e8b0a4a9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.3.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/ex 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="examples static-libs test unicode" RESTRICT="!test? ( test )" BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/glib/Manifest index 72978f815cd..b20b9c34a66 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/Manifest @@ -1,5 +1,3 @@ -DIST glib-2.82.5.tar.xz 5554704 BLAKE2B e7853034be1137f8b793483df9e9ce1465dd10a990eb9b3cb9ac76c9f8f86ccc6fda85645b04b35963b28c33e0f6c02df4f3d03e06cc278b8515e588d6bd05f6 SHA512 a6b035c32a42b9d6f4c031a29da405848002619654b58c9205f2f78dbb9698cd5866f31ab213adc04aa214d2c48840a9592c0a1e9201e6851ebd435635f393ae -DIST glib-2.84.3.tar.xz 5615704 BLAKE2B 48444b91be68530de05667e2e009dcdc63af2f95cc978a461d930b943772e52b6c9d0e797aea3a9a5713758f22ee60a190c7d601b170c6c853fce624e5c327d7 SHA512 73f2d67d2ef5b4dc8cd2f6df9ce7903853ec619924e2927adbc73d706974a7d660afea55be18e12ccb0dee1145cf4149b743278d2b128fd466e3df2bbf90ef57 DIST glib-2.84.4.tar.xz 5618200 BLAKE2B 5faee382433085cd598545a99e2e95ce430be4ac5ca10106b70f2404ddacf328f4223bc092a23025f9bf8b936619a88a9dfb220674a07e9250cf4213c6213be9 SHA512 2de9b2f7376c0e5f6ee585087090675d597c474199a10d04aad18df688b6ca77d17e93a86ec07482898663f51c82121992272496318138f77ca5ad2c340a4bd3 DIST glib-2.86.1.tar.xz 5673928 BLAKE2B 571f8738e7ca5568ee9a71f0fddb9eba0eba0ec33cad7540515eb744c3104f69ffe02d5966e47eb568abd04cd111e0b3b004d7c2817177fd5f7bc26e354dec0a SHA512 b2e9a3a35cd4cbe0bb6ca493a4250df480eeb0570a0877880ff4ec6d7f1f98d828249b3b60f839b81f17a33494d95be9d42b5f20fa6bb1acb15bcf5734adba51 DIST gobject-introspection-1.82.0.tar.xz 1052872 BLAKE2B 8336ae26d48a71a203655d9d268076f603055ceabb55dbfa676f2c67b4096b83afc106d485dc45d02b3a8be806f9ef50d54806a82e61f2a252ae59543c61e934 SHA512 e139fadb4174c72b648914f3774d89fc0e5eaee45bba0c13edf05de883664dad8276dbc34006217bb09871ed4bad23adab51ff232a17b9eb131329b2926cafb7 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/files/glib-2.86-MR-4912.patch b/sdk_container/src/third_party/portage-stable/dev-libs/glib/files/glib-2.86-MR-4912.patch new file mode 100644 index 00000000000..4fdbb3a3119 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/files/glib-2.86-MR-4912.patch @@ -0,0 +1,186 @@ +From d3a16bc03c58a4f7c3222462110509e39c209ebf Mon Sep 17 00:00:00 2001 +From: Jehan +Date: Fri, 7 Nov 2025 12:09:43 +0100 +Subject: [PATCH] Issue #3819: G_FILE_MONITOR_WATCH_HARD_LINK does not monitor + files on Windows. + +Current code was clearly considering the case of having only a filename +as a directory monitoring, instead of a hard-link monitoring. As I +assume that hard links don't exist on Windows, this case should simply +revert back to the basic file monitoring code path. +--- + gio/win32/gwin32fsmonitorutils.c | 121 ++++++++++++++++--------------- + 1 file changed, 63 insertions(+), 58 deletions(-) + +diff --git a/gio/win32/gwin32fsmonitorutils.c b/gio/win32/gwin32fsmonitorutils.c +index d06dc458a0..cc2a60b116 100644 +--- a/gio/win32/gwin32fsmonitorutils.c ++++ b/gio/win32/gwin32fsmonitorutils.c +@@ -245,9 +245,9 @@ g_win32_fs_monitor_init (GWin32FSMonitorPrivate *monitor, + const gchar *filename, + gboolean isfile) + { +- wchar_t *wdirname_with_long_prefix = NULL; ++ gchar *dirname_with_long_prefix; ++ wchar_t *wdirname_with_long_prefix; + const gchar LONGPFX[] = "\\\\?\\"; +- gchar *fullpath_with_long_prefix, *dirname_with_long_prefix; + DWORD notify_filter = isfile ? + (FILE_NOTIFY_CHANGE_FILE_NAME | + FILE_NOTIFY_CHANGE_ATTRIBUTES | +@@ -260,83 +260,88 @@ g_win32_fs_monitor_init (GWin32FSMonitorPrivate *monitor, + gboolean success_attribs; + WIN32_FILE_ATTRIBUTE_DATA attrib_data = {0, }; + ++ g_return_if_fail ((filename && isfile) || (dirname && ! isfile)); + + if (dirname != NULL) + { + dirname_with_long_prefix = g_strconcat (LONGPFX, dirname, NULL); +- wdirname_with_long_prefix = g_utf8_to_utf16 (dirname_with_long_prefix, -1, NULL, NULL, NULL); +- +- if (isfile) +- { +- gchar *fullpath; +- wchar_t wlongname[MAX_PATH_LONG]; +- wchar_t wshortname[MAX_PATH_LONG]; +- wchar_t *wfullpath, *wbasename_long, *wbasename_short; ++ } ++ else ++ { ++ gchar *tmp_dirname = g_path_get_dirname (filename); ++ dirname_with_long_prefix = g_strconcat (LONGPFX, tmp_dirname, NULL); ++ g_free (tmp_dirname); ++ } ++ wdirname_with_long_prefix = g_utf8_to_utf16 (dirname_with_long_prefix, -1, NULL, NULL, NULL); + +- fullpath = g_build_filename (dirname, filename, NULL); +- fullpath_with_long_prefix = g_strconcat (LONGPFX, fullpath, NULL); ++ if (isfile) ++ { ++ gchar *fullpath; ++ gchar *fullpath_with_long_prefix; ++ wchar_t wlongname[MAX_PATH_LONG]; ++ wchar_t wshortname[MAX_PATH_LONG]; ++ wchar_t *wfullpath, *wbasename_long, *wbasename_short; ++ ++ if (dirname) ++ fullpath = g_build_filename (dirname, filename, NULL); ++ else ++ fullpath = g_strdup (filename); + +- wfullpath = g_utf8_to_utf16 (fullpath, -1, NULL, NULL, NULL); ++ fullpath_with_long_prefix = g_strconcat (LONGPFX, fullpath, NULL); + +- monitor->wfullpath_with_long_prefix = +- g_utf8_to_utf16 (fullpath_with_long_prefix, -1, NULL, NULL, NULL); ++ wfullpath = g_utf8_to_utf16 (fullpath, -1, NULL, NULL, NULL); + +- /* ReadDirectoryChangesW() can return the normal filename or the +- * "8.3" format filename, so we need to keep track of both these names +- * so that we can check against them later when it returns +- */ +- if (GetLongPathNameW (monitor->wfullpath_with_long_prefix, wlongname, MAX_PATH_LONG) == 0) +- { +- wbasename_long = wcsrchr (monitor->wfullpath_with_long_prefix, L'\\'); +- monitor->wfilename_long = wbasename_long != NULL ? +- wcsdup (wbasename_long + 1) : +- wcsdup (wfullpath); +- } +- else +- { +- wbasename_long = wcsrchr (wlongname, L'\\'); +- monitor->wfilename_long = wbasename_long != NULL ? +- wcsdup (wbasename_long + 1) : +- wcsdup (wlongname); ++ monitor->wfullpath_with_long_prefix = ++ g_utf8_to_utf16 (fullpath_with_long_prefix, -1, NULL, NULL, NULL); + +- } ++ /* ReadDirectoryChangesW() can return the normal filename or the ++ * "8.3" format filename, so we need to keep track of both these names ++ * so that we can check against them later when it returns ++ */ ++ if (GetLongPathNameW (monitor->wfullpath_with_long_prefix, wlongname, MAX_PATH_LONG) == 0) ++ { ++ wbasename_long = wcsrchr (monitor->wfullpath_with_long_prefix, L'\\'); ++ monitor->wfilename_long = wbasename_long != NULL ? ++ wcsdup (wbasename_long + 1) : ++ wcsdup (wfullpath); ++ } ++ else ++ { ++ wbasename_long = wcsrchr (wlongname, L'\\'); ++ monitor->wfilename_long = wbasename_long != NULL ? ++ wcsdup (wbasename_long + 1) : ++ wcsdup (wlongname); + +- if (GetShortPathNameW (monitor->wfullpath_with_long_prefix, wshortname, MAX_PATH_LONG) == 0) +- { +- wbasename_short = wcsrchr (monitor->wfullpath_with_long_prefix, L'\\'); +- monitor->wfilename_short = wbasename_short != NULL ? +- wcsdup (wbasename_short + 1) : +- wcsdup (wfullpath); +- } +- else +- { +- wbasename_short = wcsrchr (wshortname, L'\\'); +- monitor->wfilename_short = wbasename_short != NULL ? +- wcsdup (wbasename_short + 1) : +- wcsdup (wshortname); +- } ++ } + +- g_free (wfullpath); +- g_free (fullpath); ++ if (GetShortPathNameW (monitor->wfullpath_with_long_prefix, wshortname, MAX_PATH_LONG) == 0) ++ { ++ wbasename_short = wcsrchr (monitor->wfullpath_with_long_prefix, L'\\'); ++ monitor->wfilename_short = wbasename_short != NULL ? ++ wcsdup (wbasename_short + 1) : ++ wcsdup (wfullpath); + } + else + { +- monitor->wfilename_short = NULL; +- monitor->wfilename_long = NULL; +- monitor->wfullpath_with_long_prefix = g_utf8_to_utf16 (dirname_with_long_prefix, -1, NULL, NULL, NULL); ++ wbasename_short = wcsrchr (wshortname, L'\\'); ++ monitor->wfilename_short = wbasename_short != NULL ? ++ wcsdup (wbasename_short + 1) : ++ wcsdup (wshortname); + } + +- monitor->isfile = isfile; ++ g_free (wfullpath); ++ g_free (fullpath); ++ g_free (fullpath_with_long_prefix); + } + else + { +- dirname_with_long_prefix = g_strconcat (LONGPFX, filename, NULL); +- monitor->wfullpath_with_long_prefix = g_utf8_to_utf16 (dirname_with_long_prefix, -1, NULL, NULL, NULL); +- monitor->wfilename_long = NULL; + monitor->wfilename_short = NULL; +- monitor->isfile = FALSE; ++ monitor->wfilename_long = NULL; ++ monitor->wfullpath_with_long_prefix = g_utf8_to_utf16 (dirname_with_long_prefix, -1, NULL, NULL, NULL); + } + ++ monitor->isfile = isfile; ++ + success_attribs = GetFileAttributesExW (monitor->wfullpath_with_long_prefix, + GetFileExInfoStandard, + &attrib_data); +@@ -345,7 +350,7 @@ g_win32_fs_monitor_init (GWin32FSMonitorPrivate *monitor, + else + monitor->file_attribs = INVALID_FILE_ATTRIBUTES; + monitor->pfni_prev = NULL; +- monitor->hDirectory = CreateFileW (wdirname_with_long_prefix != NULL ? wdirname_with_long_prefix : monitor->wfullpath_with_long_prefix, ++ monitor->hDirectory = CreateFileW (wdirname_with_long_prefix, + FILE_LIST_DIRECTORY, + FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE, + NULL, +-- +GitLab + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/files/glib-2.86-MR-4915-CVE-2025-13601.patch b/sdk_container/src/third_party/portage-stable/dev-libs/glib/files/glib-2.86-MR-4915-CVE-2025-13601.patch new file mode 100644 index 00000000000..acba3fd7bd2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/files/glib-2.86-MR-4915-CVE-2025-13601.patch @@ -0,0 +1,261 @@ +From 9bcd65ba5fa1b92ff0fb8380faea335ccef56253 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 13 Nov 2025 18:27:22 +0000 +Subject: [PATCH 1/2] gconvert: Error out if g_escape_uri_string() would + overflow +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If the string to escape contains a very large number of unacceptable +characters (which would need escaping), the calculation of the length of +the escaped string could overflow, leading to a potential write off the +end of the newly allocated string. + +In addition to that, the number of unacceptable characters was counted +in a signed integer, which would overflow to become negative, making it +easier for an attacker to craft an input string which would cause an +out-of-bounds write. + +Fix that by validating the allocation length, and using an unsigned +integer to count the number of unacceptable characters. + +Spotted by treeplus. Thanks to the Sovereign Tech Resilience programme +from the Sovereign Tech Agency. ID: #YWH-PGM9867-134 + +Signed-off-by: Philip Withnall + +Fixes: #3827 + +Backport 2.86: Changed the translatable error message to re-use an +existing translatable string, to avoid adding new translatable strings +to a stable branch. The re-used string doesn’t perfectly match the +error, but it’s good enough given that no users will ever see it. +--- + glib/gconvert.c | 36 +++++++++++++++++++++++++----------- + 1 file changed, 25 insertions(+), 11 deletions(-) + +diff --git a/glib/gconvert.c b/glib/gconvert.c +index 7ad8ca018f..367e9b4661 100644 +--- a/glib/gconvert.c ++++ b/glib/gconvert.c +@@ -1336,8 +1336,9 @@ static const gchar hex[] = "0123456789ABCDEF"; + /* Note: This escape function works on file: URIs, but if you want to + * escape something else, please read RFC-2396 */ + static gchar * +-g_escape_uri_string (const gchar *string, +- UnsafeCharacterSet mask) ++g_escape_uri_string (const gchar *string, ++ UnsafeCharacterSet mask, ++ GError **error) + { + #define ACCEPTABLE(a) ((a)>=32 && (a)<128 && (acceptable[(a)-32] & use_mask)) + +@@ -1345,7 +1346,7 @@ g_escape_uri_string (const gchar *string, + gchar *q; + gchar *result; + int c; +- gint unacceptable; ++ size_t unacceptable; + UnsafeCharacterSet use_mask; + + g_return_val_if_fail (mask == UNSAFE_ALL +@@ -1362,7 +1363,14 @@ g_escape_uri_string (const gchar *string, + if (!ACCEPTABLE (c)) + unacceptable++; + } +- ++ ++ if (unacceptable >= (G_MAXSIZE - (p - string)) / 2) ++ { ++ g_set_error_literal (error, G_CONVERT_ERROR, G_CONVERT_ERROR_BAD_URI, ++ _("Invalid hostname")); ++ return NULL; ++ } ++ + result = g_malloc (p - string + unacceptable * 2 + 1); + + use_mask = mask; +@@ -1387,12 +1395,13 @@ g_escape_uri_string (const gchar *string, + + + static gchar * +-g_escape_file_uri (const gchar *hostname, +- const gchar *pathname) ++g_escape_file_uri (const gchar *hostname, ++ const gchar *pathname, ++ GError **error) + { + char *escaped_hostname = NULL; +- char *escaped_path; +- char *res; ++ char *escaped_path = NULL; ++ char *res = NULL; + + #ifdef G_OS_WIN32 + char *p, *backslash; +@@ -1413,10 +1422,14 @@ g_escape_file_uri (const gchar *hostname, + + if (hostname && *hostname != '\0') + { +- escaped_hostname = g_escape_uri_string (hostname, UNSAFE_HOST); ++ escaped_hostname = g_escape_uri_string (hostname, UNSAFE_HOST, error); ++ if (escaped_hostname == NULL) ++ goto out; + } + +- escaped_path = g_escape_uri_string (pathname, UNSAFE_PATH); ++ escaped_path = g_escape_uri_string (pathname, UNSAFE_PATH, error); ++ if (escaped_path == NULL) ++ goto out; + + res = g_strconcat ("file://", + (escaped_hostname) ? escaped_hostname : "", +@@ -1424,6 +1437,7 @@ g_escape_file_uri (const gchar *hostname, + escaped_path, + NULL); + ++out: + #ifdef G_OS_WIN32 + g_free ((char *) pathname); + #endif +@@ -1757,7 +1771,7 @@ g_filename_to_uri (const gchar *filename, + hostname = NULL; + #endif + +- escaped_uri = g_escape_file_uri (hostname, filename); ++ escaped_uri = g_escape_file_uri (hostname, filename, error); + + return escaped_uri; + } +-- +GitLab + + +From 7e5489cb921d0531ee4ebc9938da30a02084b2fa Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 13 Nov 2025 18:31:43 +0000 +Subject: [PATCH 2/2] fuzzing: Add fuzz tests for g_filename_{to,from}_uri() + +These functions could be called on untrusted input data, and since they +do URI escaping/unescaping, they have non-trivial string handling code. + +Signed-off-by: Philip Withnall + +See: #3827 +--- + fuzzing/fuzz_filename_from_uri.c | 40 ++++++++++++++++++++++++++++++++ + fuzzing/fuzz_filename_to_uri.c | 40 ++++++++++++++++++++++++++++++++ + fuzzing/meson.build | 2 ++ + 3 files changed, 82 insertions(+) + create mode 100644 fuzzing/fuzz_filename_from_uri.c + create mode 100644 fuzzing/fuzz_filename_to_uri.c + +diff --git a/fuzzing/fuzz_filename_from_uri.c b/fuzzing/fuzz_filename_from_uri.c +new file mode 100644 +index 0000000000..9b7a715f07 +--- /dev/null ++++ b/fuzzing/fuzz_filename_from_uri.c +@@ -0,0 +1,40 @@ ++/* ++ * Copyright 2025 GNOME Foundation, Inc. ++ * ++ * SPDX-License-Identifier: LGPL-2.1-or-later ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, see . ++ */ ++ ++#include "fuzz.h" ++ ++int ++LLVMFuzzerTestOneInput (const unsigned char *data, size_t size) ++{ ++ unsigned char *nul_terminated_data = NULL; ++ char *filename = NULL; ++ GError *local_error = NULL; ++ ++ fuzz_set_logging_func (); ++ ++ /* ignore @size (g_filename_from_uri() doesn’t support it); ensure @data is nul-terminated */ ++ nul_terminated_data = (unsigned char *) g_strndup ((const char *) data, size); ++ filename = g_filename_from_uri ((const char *) nul_terminated_data, NULL, &local_error); ++ g_free (nul_terminated_data); ++ ++ g_free (filename); ++ g_clear_error (&local_error); ++ ++ return 0; ++} +diff --git a/fuzzing/fuzz_filename_to_uri.c b/fuzzing/fuzz_filename_to_uri.c +new file mode 100644 +index 0000000000..acb3192035 +--- /dev/null ++++ b/fuzzing/fuzz_filename_to_uri.c +@@ -0,0 +1,40 @@ ++/* ++ * Copyright 2025 GNOME Foundation, Inc. ++ * ++ * SPDX-License-Identifier: LGPL-2.1-or-later ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, see . ++ */ ++ ++#include "fuzz.h" ++ ++int ++LLVMFuzzerTestOneInput (const unsigned char *data, size_t size) ++{ ++ unsigned char *nul_terminated_data = NULL; ++ char *uri = NULL; ++ GError *local_error = NULL; ++ ++ fuzz_set_logging_func (); ++ ++ /* ignore @size (g_filename_to_uri() doesn’t support it); ensure @data is nul-terminated */ ++ nul_terminated_data = (unsigned char *) g_strndup ((const char *) data, size); ++ uri = g_filename_to_uri ((const char *) nul_terminated_data, NULL, &local_error); ++ g_free (nul_terminated_data); ++ ++ g_free (uri); ++ g_clear_error (&local_error); ++ ++ return 0; ++} +diff --git a/fuzzing/meson.build b/fuzzing/meson.build +index addbe90717..05f936eeb2 100644 +--- a/fuzzing/meson.build ++++ b/fuzzing/meson.build +@@ -25,6 +25,8 @@ fuzz_targets = [ + 'fuzz_date_parse', + 'fuzz_date_time_new_from_iso8601', + 'fuzz_dbus_message', ++ 'fuzz_filename_from_uri', ++ 'fuzz_filename_to_uri', + 'fuzz_get_locale_variants', + 'fuzz_inet_address_mask_new_from_string', + 'fuzz_inet_address_new_from_string', +-- +GitLab + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/files/glib-2.86-MR-4934-CVE-2025-14087.patch b/sdk_container/src/third_party/portage-stable/dev-libs/glib/files/glib-2.86-MR-4934-CVE-2025-14087.patch new file mode 100644 index 00000000000..018c4fbffcd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/files/glib-2.86-MR-4934-CVE-2025-14087.patch @@ -0,0 +1,459 @@ +From 3e72fe0fbb32c18a66486c4da8bc851f656af287 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Tue, 25 Nov 2025 19:02:56 +0000 +Subject: [PATCH 1/3] gvariant-parser: Fix potential integer overflow parsing + (byte)strings + +The termination condition for parsing string and bytestring literals in +GVariant text format input was subject to an integer overflow for input +string (or bytestring) literals longer than `INT_MAX`. + +Fix that by counting as a `size_t` rather than as an `int`. The counter +can never correctly be negative. + +Spotted by treeplus. Thanks to the Sovereign Tech Resilience programme +from the Sovereign Tech Agency. ID: #YWH-PGM9867-145 + +Signed-off-by: Philip Withnall +Fixes: #3834 +--- + glib/gvariant-parser.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/glib/gvariant-parser.c b/glib/gvariant-parser.c +index 2f1d3db9f6..2d6e9856f8 100644 +--- a/glib/gvariant-parser.c ++++ b/glib/gvariant-parser.c +@@ -609,7 +609,7 @@ ast_resolve (AST *ast, + { + GVariant *value; + gchar *pattern; +- gint i, j = 0; ++ size_t i, j = 0; + + pattern = ast_get_pattern (ast, error); + +@@ -1637,9 +1637,9 @@ string_free (AST *ast) + */ + static gboolean + unicode_unescape (const gchar *src, +- gint *src_ofs, ++ size_t *src_ofs, + gchar *dest, +- gint *dest_ofs, ++ size_t *dest_ofs, + gsize length, + SourceRef *ref, + GError **error) +@@ -1700,7 +1700,7 @@ string_parse (TokenStream *stream, + gsize length; + gchar quote; + gchar *str; +- gint i, j; ++ size_t i, j; + + token_stream_start_ref (stream, &ref); + token = token_stream_get (stream); +@@ -1833,7 +1833,7 @@ bytestring_parse (TokenStream *stream, + gsize length; + gchar quote; + gchar *str; +- gint i, j; ++ size_t i, j; + + token_stream_start_ref (stream, &ref); + token = token_stream_get (stream); +-- +GitLab + + +From 6fe481cec709ec65b5846113848723bc25a8782a Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Tue, 25 Nov 2025 19:19:16 +0000 +Subject: [PATCH 2/3] gvariant-parser: Use size_t to count numbers of child + elements +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Rather than using `gint`, which could overflow for arrays (or dicts, or +tuples) longer than `INT_MAX`. There may be other limits which prevent +parsed containers becoming that long, but we might as well make the type +system reflect the programmer’s intention as best it can anyway. + +For arrays and tuples this is straightforward. For dictionaries, it’s +slightly complicated by the fact that the code used +`dict->n_children == -1` to indicate that the `Dictionary` struct in +question actually represented a single freestanding dict entry. In +GVariant text format, that would be `{1, "one"}`. + +The implementation previously didn’t define the semantics of +`dict->n_children < -1`. + +Now, instead, change `Dictionary.n_children` to `size_t`, and define a +magic value `DICTIONARY_N_CHILDREN_FREESTANDING_ENTRY` to indicate that +the `Dictionary` represents a single freestanding dict entry. + +This magic value is `SIZE_MAX`, and given that a dictionary entry takes +more than one byte to represent in GVariant text format, that means it’s +not possible to have that many entries in a parsed dictionary, so this +magic value won’t be hit by a normal dictionary. An assertion checks +this anyway. + +Spotted while working on #3834. + +Signed-off-by: Philip Withnall +--- + glib/gvariant-parser.c | 58 ++++++++++++++++++++++++------------------ + 1 file changed, 33 insertions(+), 25 deletions(-) + +diff --git a/glib/gvariant-parser.c b/glib/gvariant-parser.c +index 2d6e9856f8..519baa3f36 100644 +--- a/glib/gvariant-parser.c ++++ b/glib/gvariant-parser.c +@@ -662,9 +662,9 @@ static AST *parse (TokenStream *stream, + GError **error); + + static void +-ast_array_append (AST ***array, +- gint *n_items, +- AST *ast) ++ast_array_append (AST ***array, ++ size_t *n_items, ++ AST *ast) + { + if ((*n_items & (*n_items - 1)) == 0) + *array = g_renew (AST *, *array, *n_items ? 2 ** n_items : 1); +@@ -673,10 +673,10 @@ ast_array_append (AST ***array, + } + + static void +-ast_array_free (AST **array, +- gint n_items) ++ast_array_free (AST **array, ++ size_t n_items) + { +- gint i; ++ size_t i; + + for (i = 0; i < n_items; i++) + ast_free (array[i]); +@@ -685,11 +685,11 @@ ast_array_free (AST **array, + + static gchar * + ast_array_get_pattern (AST **array, +- gint n_items, ++ size_t n_items, + GError **error) + { + gchar *pattern; +- gint i; ++ size_t i; + + /* Find the pattern which applies to all children in the array, by l-folding a + * coalesce operation. +@@ -721,7 +721,7 @@ ast_array_get_pattern (AST **array, + * pair of values. + */ + { +- int j = 0; ++ size_t j = 0; + + while (TRUE) + { +@@ -969,7 +969,7 @@ typedef struct + AST ast; + + AST **children; +- gint n_children; ++ size_t n_children; + } Array; + + static gchar * +@@ -1002,7 +1002,7 @@ array_get_value (AST *ast, + Array *array = (Array *) ast; + const GVariantType *childtype; + GVariantBuilder builder; +- gint i; ++ size_t i; + + if (!g_variant_type_is_array (type)) + return ast_type_error (ast, type, error); +@@ -1088,7 +1088,7 @@ typedef struct + AST ast; + + AST **children; +- gint n_children; ++ size_t n_children; + } Tuple; + + static gchar * +@@ -1098,7 +1098,7 @@ tuple_get_pattern (AST *ast, + Tuple *tuple = (Tuple *) ast; + gchar *result = NULL; + gchar **parts; +- gint i; ++ size_t i; + + parts = g_new (gchar *, tuple->n_children + 4); + parts[tuple->n_children + 1] = (gchar *) ")"; +@@ -1128,7 +1128,7 @@ tuple_get_value (AST *ast, + Tuple *tuple = (Tuple *) ast; + const GVariantType *childtype; + GVariantBuilder builder; +- gint i; ++ size_t i; + + if (!g_variant_type_is_tuple (type)) + return ast_type_error (ast, type, error); +@@ -1320,9 +1320,16 @@ typedef struct + + AST **keys; + AST **values; +- gint n_children; ++ ++ /* Iff this is DICTIONARY_N_CHILDREN_FREESTANDING_ENTRY then this struct ++ * represents a single freestanding dict entry (`{1, "one"}`) rather than a ++ * full dict. In the freestanding case, @keys and @values have exactly one ++ * member each. */ ++ size_t n_children; + } Dictionary; + ++#define DICTIONARY_N_CHILDREN_FREESTANDING_ENTRY ((size_t) -1) ++ + static gchar * + dictionary_get_pattern (AST *ast, + GError **error) +@@ -1337,7 +1344,7 @@ dictionary_get_pattern (AST *ast, + return g_strdup ("Ma{**}"); + + key_pattern = ast_array_get_pattern (dict->keys, +- abs (dict->n_children), ++ (dict->n_children == DICTIONARY_N_CHILDREN_FREESTANDING_ENTRY) ? 1 : dict->n_children, + error); + + if (key_pattern == NULL) +@@ -1368,7 +1375,7 @@ dictionary_get_pattern (AST *ast, + return NULL; + + result = g_strdup_printf ("M%s{%c%s}", +- dict->n_children > 0 ? "a" : "", ++ (dict->n_children > 0 && dict->n_children != DICTIONARY_N_CHILDREN_FREESTANDING_ENTRY) ? "a" : "", + key_char, value_pattern); + g_free (value_pattern); + +@@ -1382,7 +1389,7 @@ dictionary_get_value (AST *ast, + { + Dictionary *dict = (Dictionary *) ast; + +- if (dict->n_children == -1) ++ if (dict->n_children == DICTIONARY_N_CHILDREN_FREESTANDING_ENTRY) + { + const GVariantType *subtype; + GVariantBuilder builder; +@@ -1415,7 +1422,7 @@ dictionary_get_value (AST *ast, + { + const GVariantType *entry, *key, *val; + GVariantBuilder builder; +- gint i; ++ size_t i; + + if (!g_variant_type_is_subtype_of (type, G_VARIANT_TYPE_DICTIONARY)) + return ast_type_error (ast, type, error); +@@ -1456,12 +1463,12 @@ static void + dictionary_free (AST *ast) + { + Dictionary *dict = (Dictionary *) ast; +- gint n_children; ++ size_t n_children; + +- if (dict->n_children > -1) +- n_children = dict->n_children; +- else ++ if (dict->n_children == DICTIONARY_N_CHILDREN_FREESTANDING_ENTRY) + n_children = 1; ++ else ++ n_children = dict->n_children; + + ast_array_free (dict->keys, n_children); + ast_array_free (dict->values, n_children); +@@ -1479,7 +1486,7 @@ dictionary_parse (TokenStream *stream, + maybe_wrapper, dictionary_get_value, + dictionary_free + }; +- gint n_keys, n_values; ++ size_t n_keys, n_values; + gboolean only_one; + Dictionary *dict; + AST *first; +@@ -1522,7 +1529,7 @@ dictionary_parse (TokenStream *stream, + goto error; + + g_assert (n_keys == 1 && n_values == 1); +- dict->n_children = -1; ++ dict->n_children = DICTIONARY_N_CHILDREN_FREESTANDING_ENTRY; + + return (AST *) dict; + } +@@ -1555,6 +1562,7 @@ dictionary_parse (TokenStream *stream, + } + + g_assert (n_keys == n_values); ++ g_assert (n_keys != DICTIONARY_N_CHILDREN_FREESTANDING_ENTRY); + dict->n_children = n_keys; + + return (AST *) dict; +-- +GitLab + + +From dd333a40aa95819720a01caf6de564cd8a4a6310 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Tue, 25 Nov 2025 19:25:58 +0000 +Subject: [PATCH 3/3] gvariant-parser: Convert error handling code to use + size_t + +The error handling code allows for printing out the range of input bytes +related to a parsing error. This was previously done using `gint`, but +the input could be longer than `INT_MAX`, so it should really be done +using `size_t`. + +Spotted while working on #3834. + +Signed-off-by: Philip Withnall +--- + glib/gvariant-parser.c | 36 +++++++++++++++++++++++------------- + 1 file changed, 23 insertions(+), 13 deletions(-) + +diff --git a/glib/gvariant-parser.c b/glib/gvariant-parser.c +index 519baa3f36..1b1ddd654b 100644 +--- a/glib/gvariant-parser.c ++++ b/glib/gvariant-parser.c +@@ -91,7 +91,9 @@ g_variant_parser_get_error_quark (void) + + typedef struct + { +- gint start, end; ++ /* Offsets from the start of the input, in bytes. Can be equal when referring ++ * to a point rather than a range. The invariant `end >= start` always holds. */ ++ size_t start, end; + } SourceRef; + + G_GNUC_PRINTF(5, 0) +@@ -106,14 +108,16 @@ parser_set_error_va (GError **error, + GString *msg = g_string_new (NULL); + + if (location->start == location->end) +- g_string_append_printf (msg, "%d", location->start); ++ g_string_append_printf (msg, "%" G_GSIZE_FORMAT, location->start); + else +- g_string_append_printf (msg, "%d-%d", location->start, location->end); ++ g_string_append_printf (msg, "%" G_GSIZE_FORMAT "-%" G_GSIZE_FORMAT, ++ location->start, location->end); + + if (other != NULL) + { + g_assert (other->start != other->end); +- g_string_append_printf (msg, ",%d-%d", other->start, other->end); ++ g_string_append_printf (msg, ",%" G_GSIZE_FORMAT "-%" G_GSIZE_FORMAT, ++ other->start, other->end); + } + g_string_append_c (msg, ':'); + +@@ -140,11 +144,15 @@ parser_set_error (GError **error, + + typedef struct + { ++ /* We should always have the following ordering constraint: ++ * start <= this <= stream <= end ++ * Additionally, unless in an error or EOF state, `this < stream`. ++ */ + const gchar *start; + const gchar *stream; + const gchar *end; + +- const gchar *this; ++ const gchar *this; /* (nullable) */ + } TokenStream; + + +@@ -175,7 +183,7 @@ token_stream_set_error (TokenStream *stream, + static gboolean + token_stream_prepare (TokenStream *stream) + { +- gint brackets = 0; ++ gssize brackets = 0; + const gchar *end; + + if (stream->this != NULL) +@@ -407,7 +415,7 @@ static void + pattern_copy (gchar **out, + const gchar **in) + { +- gint brackets = 0; ++ gssize brackets = 0; + + while (**in == 'a' || **in == 'm' || **in == 'M') + *(*out)++ = *(*in)++; +@@ -2765,7 +2773,7 @@ g_variant_builder_add_parsed (GVariantBuilder *builder, + static gboolean + parse_num (const gchar *num, + const gchar *limit, +- guint *result) ++ size_t *result) + { + gchar *endptr; + gint64 bignum; +@@ -2775,10 +2783,12 @@ parse_num (const gchar *num, + if (endptr != limit) + return FALSE; + ++ /* The upper bound here is more restrictive than it technically needs to be, ++ * but should be enough for any practical situation: */ + if (bignum < 0 || bignum > G_MAXINT) + return FALSE; + +- *result = (guint) bignum; ++ *result = (size_t) bignum; + + return TRUE; + } +@@ -2789,7 +2799,7 @@ add_last_line (GString *err, + { + const gchar *last_nl; + gchar *chomped; +- gint i; ++ size_t i; + + /* This is an error at the end of input. If we have a file + * with newlines, that's probably the empty string after the +@@ -2934,7 +2944,7 @@ g_variant_parse_error_print_context (GError *error, + + if (dash == NULL || colon < dash) + { +- guint point; ++ size_t point; + + /* we have a single point */ + if (!parse_num (error->message, colon, &point)) +@@ -2952,7 +2962,7 @@ g_variant_parse_error_print_context (GError *error, + /* We have one or two ranges... */ + if (comma && comma < colon) + { +- guint start1, end1, start2, end2; ++ size_t start1, end1, start2, end2; + const gchar *dash2; + + /* Two ranges */ +@@ -2968,7 +2978,7 @@ g_variant_parse_error_print_context (GError *error, + } + else + { +- guint start, end; ++ size_t start, end; + + /* One range */ + if (!parse_num (error->message, dash, &start) || !parse_num (dash + 1, colon, &end)) +-- +GitLab + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/files/glib-2.86-MR-4936.patch b/sdk_container/src/third_party/portage-stable/dev-libs/glib/files/glib-2.86-MR-4936.patch new file mode 100644 index 00000000000..ce1d9b1328f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/files/glib-2.86-MR-4936.patch @@ -0,0 +1,69 @@ +From 4f0399c0aaf3ffc86b5625424580294bc7460404 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 4 Dec 2025 16:37:19 +0000 +Subject: [PATCH] gfileattribute: Fix integer overflow calculating escaping for + byte strings + +The number of invalid characters in the byte string (characters which +would have to be percent-encoded) was only stored in an `int`, which +gave the possibility of a long string largely full of invalid +characters overflowing this and allowing an attacker-controlled buffer +size to be allocated. + +This could be triggered by an attacker controlled file attribute (of +type `G_FILE_ATTRIBUTE_TYPE_BYTE_STRING`), such as +`G_FILE_ATTRIBUTE_THUMBNAIL_PATH` or `G_FILE_ATTRIBUTE_STANDARD_NAME`, +being read by user code. + +Spotted by Codean Labs. + +Signed-off-by: Philip Withnall + +Fixes: #3845 +--- + gio/gfileattribute.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/gio/gfileattribute.c b/gio/gfileattribute.c +index c6fde60fa9..d3083e5bd8 100644 +--- a/gio/gfileattribute.c ++++ b/gio/gfileattribute.c +@@ -22,6 +22,7 @@ + + #include "config.h" + ++#include + #include + + #include "gfileattribute.h" +@@ -166,11 +167,12 @@ valid_char (char c) + return c >= 32 && c <= 126 && c != '\\'; + } + ++/* Returns NULL on error */ + static char * + escape_byte_string (const char *str) + { + size_t i, len; +- int num_invalid; ++ size_t num_invalid; + char *escaped_val, *p; + unsigned char c; + const char hex_digits[] = "0123456789abcdef"; +@@ -188,7 +190,12 @@ escape_byte_string (const char *str) + return g_strdup (str); + else + { +- escaped_val = g_malloc (len + num_invalid*3 + 1); ++ /* Check for overflow. We want to check the inequality: ++ * !(len + num_invalid * 3 + 1 > SIZE_MAX) */ ++ if (num_invalid >= (SIZE_MAX - len) / 3) ++ return NULL; ++ ++ escaped_val = g_malloc (len + num_invalid * 3 + 1); + + p = escaped_val; + for (i = 0; i < len; i++) +-- +GitLab + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.82.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.82.5.ebuild deleted file mode 100644 index 5619b94f9d1..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.82.5.ebuild +++ /dev/null @@ -1,479 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_REQ_USE="xml(+)" -PYTHON_COMPAT=( python3_{11..13} ) - -inherit dot-a eapi9-ver gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg - -DESCRIPTION="The GLib library of C routines" -HOMEPAGE="https://www.gtk.org/" - -INTROSPECTION_PN="gobject-introspection" -INTROSPECTION_PV="1.82.0" -INTROSPECTION_P="${INTROSPECTION_PN}-${INTROSPECTION_PV}" -SRC_URI=" - ${SRC_URI} - introspection? ( mirror://gnome/sources/gobject-introspection/${INTROSPECTION_PV%.*}/gobject-introspection-${INTROSPECTION_PV}.tar.${GNOME_TARBALL_SUFFIX} ) -" -INTROSPECTION_SOURCE_DIR="${WORKDIR}/${INTROSPECTION_P}" -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" -IUSE="dbus debug +elf doc +introspection +mime selinux static-libs sysprof systemtap test utils xattr" -RESTRICT="!test? ( test )" - -# * elfutils (via libelf) does not build on Windows. gresources are not embedded -# within ELF binaries on that platform anyway and inspecting ELF binaries from -# other platforms is not that useful so exclude the dependency in this case. -# * Technically static-libs is needed on zlib, util-linux and perhaps more, but -# these are used by GIO, which glib[static-libs] consumers don't really seem -# to need at all, thus not imposing the deps for now and once some consumers -# are actually found to static link libgio-2.0.a, we can revisit and either add -# them or just put the (build) deps in that rare consumer instead of recursive -# RDEPEND here (due to lack of recursive DEPEND). -RDEPEND=" - !=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] - >=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?] - >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}] - >=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}] - >=virtual/libintl-0-r2[${MULTILIB_USEDEP}] - introspection? ( - >=dev-libs/gobject-introspection-common-${INTROSPECTION_PV} - ) - kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] ) - selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] ) - xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) ) - elf? ( virtual/libelf:0= ) - sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] ) -" -DEPEND="${RDEPEND}" -# libxml2 used for optional tests that get automatically skipped -BDEPEND=" - app-text/docbook-xsl-stylesheets - dev-libs/libxslt - >=sys-devel/gettext-0.19.8 - doc? ( >=dev-util/gi-docgen-2023.1 ) - dev-python/docutils - systemtap? ( >=dev-debug/systemtap-1.3 ) - ${PYTHON_DEPS} - test? ( >=sys-apps/dbus-1.2.14 ) - virtual/pkgconfig - - introspection? ( - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - virtual/pkgconfig - sys-devel/bison - app-alternatives/lex - ${PYTHON_DEPS} - ) -" -# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen - -PDEPEND=" - dbus? ( gnome-base/dconf ) - mime? ( x11-misc/shared-mime-info ) -" -# shared-mime-info needed for gio/xdgmime, bug #409481 -# dconf is needed to be able to save settings, bug #498436 - -MULTILIB_CHOST_TOOLS=( - /usr/bin/gio-querymodules$(get_exeext) -) - -PATCHES=( - "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch -) - -python_check_deps() { - if use introspection ; then - python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" - fi -} - -pkg_setup() { - if use kernel_linux ; then - CONFIG_CHECK="~INOTIFY_USER" - if use test ; then - CONFIG_CHECK="~IPV6" - WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them." - fi - linux-info_pkg_setup - fi - python-any-r1_pkg_setup -} - -src_prepare() { - if use test; then - # TODO: Review the test exclusions, especially now with meson - # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163 - if ! has_version dev-util/desktop-file-utils ; then - ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system," - ewarn "think on installing it to get these tests run." - sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die - sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die - fi - - # gdesktopappinfo requires existing terminal (gnome-terminal or any - # other), falling back to xterm if one doesn't exist - #if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then - # ewarn "Some tests will be skipped due to missing terminal program" - # These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson - # Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready - # for backport (or in a bump) and file new issue if still fails - sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die - # desktop-app-info/launch* might fail similarly - sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die - #fi - - # https://bugzilla.gnome.org/show_bug.cgi?id=722604 - sed -i -e "/timer\/stop/d" glib/tests/timer.c || die - sed -i -e "/timer\/basic/d" glib/tests/timer.c || die - - ewarn "Tests for search-utils have been skipped" - sed -i -e "/search-utils/d" glib/tests/meson.build || die - - # Play nice with network-sandbox, but this approach would defeat the purpose of the test - #sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die - else - # Don't build tests, also prevents extra deps, bug #512022 - sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die - fi - - # Don't build fuzzing binaries - not used - sed -i -e '/subdir.*fuzzing/d' meson.build || die - - # gdbus-codegen is a separate package - sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die - sed -i -e '/install : true/d' gio/gdbus-2.0/codegen/meson.build || die - - # Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon - sed -i -e '/install_dir/d' gio/tests/meson.build || die - - cat > "${T}/glib-test-ld-wrapper" <<-EOF - #!/usr/bin/env sh - exec \${LD:-ld} "\$@" - EOF - chmod a+x "${T}/glib-test-ld-wrapper" || die - sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die - - # make default sane for us - if use prefix ; then - sed -i -e "s:/usr/local:${EPREFIX}/usr:" gio/xdgmime/xdgmime.c || die - # bug #308609, without path, bug #314057 - export PERL=perl - fi - - if [[ ${CHOST} == *-solaris* ]] ; then - # fix standards conflicts - sed -i \ - -e 's/\<\(_XOPEN_SOURCE_EXTENDED\)\>/_POSIX_PTHREAD_SEMANTICS/' \ - -e '/\<_XOPEN_SOURCE\>/s/\<2\>/600/' \ - meson.build || die - sed -i -e '/#define\s\+_POSIX_SOURCE/d' \ - glib/giounix.c || die - fi - - # disable native macOS integrations - sed -i -e '/glib_conf.set(.HAVE_\(CARBON\|COCOA\).,/s/true/false/' \ - meson.build || die - sed -i \ - -e '/AvailabilityMacros.h/d' \ - gio/giomodule.c || die - - # Link the glib source to the introspection subproject directory so it can be built there first - if use introspection ; then - ln -s "${S}" "${INTROSPECTION_SOURCE_DIR}/subprojects/glib" - fi - - default - gnome2_environment_reset - # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only -} - -src_configure() { - lto-guarantee-fat - meson-multilib_src_configure -} - -multilib_src_configure() { - # TODO: figure a way to pass appropriate values for all cross properties - # that glib uses (search for get_cross_property) - #if tc-is-cross-compiler ; then - # https://bugzilla.gnome.org/show_bug.cgi?id=756473 - # TODO-meson: This should be in meson cross file as 'growing_stack' - # property; and more, look at get_cross_property - #case ${CHOST} in - #hppa*|metag*) export glib_cv_stack_grows=yes ;; - #*) export glib_cv_stack_grows=no ;; - #esac - #fi - - _need_bootstrap_gi() { - if ! multilib_native_use introspection ; then - return 1 - fi - - if ! has_version ">=dev-libs/${INTROSPECTION_P}" ; then - return 0 - fi - - # Is the installed gobject-introspection usable? - if ! g-ir-scanner --version &> /dev/null ; then - return 0 - fi - - # Do we somehow have a dev-libs/gobject-introspection installed - # with an unsatisfied dependency? (bug #951487) - if ! $(tc-getPKG_CONFIG) --cflags gobject-introspection-1.0 &> /dev/null ; then - return 0 - fi - - # Make sure has_version didn't lie to us while at it as well, - # given bug #951487. - if ! $(tc-getPKG_CONFIG) --atleast-version=${INTROSPECTION_PV} gobject-introspection-1.0 &> /dev/null ; then - return 0 - fi - - return 1 - } - - # Build internal copy of gobject-introspection to avoid circular dependency (built for native abi only) - if _need_bootstrap_gi ; then - einfo "Bootstrapping gobject-introspection..." - INTROSPECTION_BIN_DIR="${T}/bootstrap-gi-prefix/usr/bin" - INTROSPECTION_LIB_DIR="${T}/bootstrap-gi-prefix/usr/$(get_libdir)" - - local emesonargs=( - --prefix="${T}/bootstrap-gi-prefix/usr" - -Dpython="${EPYTHON}" - -Dbuild_introspection_data=true - # Build an internal copy of glib for the internal copy of gobject-introspection - --force-fallback-for=glib - # Make the paths in pkgconfig files relative as we used to not - # do a proper install here and it seems less risky to keep it - # this way. - -Dpkgconfig.relocatable=true - - # We want as minimal a build as possible here to speed things up - # and reduce the risk of failures. - -Dglib:selinux=disabled - -Dglib:xattr=false - -Dglib:libmount=disabled - -Dglib:man-pages=disabled - -Dglib:dtrace=disabled - -Dglib:systemtap=disabled - -Dglib:sysprof=disabled - -Dglib:documentation=false - -Dglib:tests=false - -Dglib:installed_tests=false - -Dglib:nls=disabled - -Dglib:oss_fuzz=disabled - -Dglib:libelf=disabled - -Dglib:multiarch=false - ) - - ORIG_SOURCE_DIR=${EMESON_SOURCE} - EMESON_SOURCE=${INTROSPECTION_SOURCE_DIR} - - # g-ir-scanner has some relocatable logic but it searches - # for 'lib', not 'lib64', so it can't find itself and eventually - # falls back to the system installation. See bug #946221. - sed -i -e "/^pylibdir =/s:'lib:'$(get_libdir):" "${EMESON_SOURCE}"/tools/g-ir-tool-template.in || die - - ORIG_BUILD_DIR=${BUILD_DIR} - BUILD_DIR=${INTROSPECTION_BUILD_DIR} - - pushd ${INTROSPECTION_SOURCE_DIR} || die - - meson_src_configure - meson_src_compile - # We already provide a prefix in ${T} above. Blank DESTDIR - # as it may be set in the environment by Portage (though not - # guaranteed in src_configure). - meson_src_install --destdir "" - - popd || die - - EMESON_SOURCE=${ORIG_SOURCE_DIR} - BUILD_DIR=${ORIG_BUILD_DIR} - - # Add gobject-introspection binaries and pkgconfig files to path - export PATH="${INTROSPECTION_BIN_DIR}:${PATH}" - - # Override primary pkgconfig search paths to prioritize our internal copy - export PKG_CONFIG_LIBDIR="${INTROSPECTION_LIB_DIR}/pkgconfig:${INTROSPECTION_BUILD_DIR}/meson-private" - - # Set the normal primary pkgconfig search paths as secondary - # (We also need to prepend our just-built one for later use of - # g-ir-scanner to use the new one and to help workaround bugs like - # bug #946221.) - export PKG_CONFIG_PATH="${PKG_CONFIG_LIBDIR}:$(pkg-config --variable pc_path pkg-config)" - - # Add the paths to the built glib libraries to the library path so that gobject-introspection can load them - for gliblib in glib gobject gthread gmodule gio girepository; do - export LD_LIBRARY_PATH="${BUILD_DIR}/${gliblib}:${LD_LIBRARY_PATH}" - done - - # Add the path to introspection libraries so that glib can call gir utilities - export LD_LIBRARY_PATH="${INTROSPECTION_LIB_DIR}:${LD_LIBRARY_PATH}" - - # Add the paths to the gobject-introspection python modules to python path so they can be imported - export PYTHONPATH="${INTROSPECTION_LIB_DIR}/gobject-introspection:${PYTHONPATH}" - fi - - # TODO: Can this be cleaned up now we have -Dglib_debug? (bug #946485) - use debug && EMESON_BUILD_TYPE=debug - - local emesonargs=( - -Ddefault_library=$(usex static-libs both shared) - -Druntime_dir="${EPREFIX}"/run - $(meson_feature debug glib_debug) - $(meson_feature selinux) - $(meson_use xattr) - -Dlibmount=enabled # only used if host_system == 'linux' - -Dman-pages=enabled - $(meson_feature systemtap dtrace) - $(meson_feature systemtap) - $(meson_feature sysprof) - $(meson_use doc documentation) - $(meson_use test tests) - -Dinstalled_tests=false - -Dnls=enabled - -Doss_fuzz=disabled - $(meson_native_use_feature elf libelf) - -Dmultiarch=false - $(meson_native_use_feature introspection) - ) - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - local native_file="${T}"/meson.${CHOST}.ini.local - cat >> ${native_file} <<-EOF || die - [binaries] - dtrace='stap-dtrace' - EOF - emesonargs+=( --native-file "${native_file}" ) - fi - - meson_src_configure -} - -multilib_src_test() { - export XDG_CONFIG_DIRS=/etc/xdg - export XDG_DATA_DIRS=/usr/local/share:/usr/share - # TODO: Use ${ABI} here to be unique for multilib? - export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp" - export LC_TIME=C # bug #411967 - export TZ=UTC - unset GSETTINGS_BACKEND # bug #596380 - python_setup - - # https://bugs.gentoo.org/839807 - local -x SANDBOX_PREDICT=${SANDBOX_PREDICT} - addpredict /usr/b - - # Related test is a bit nitpicking - mkdir -p "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" || die - chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" || die - - meson_src_test --timeout-multiplier 20 --no-suite flaky -} - -multilib_src_install() { - meson_src_install - keepdir /usr/$(get_libdir)/gio/modules -} - -multilib_src_install_all() { - strip-lto-bytecode - - # These are installed by dev-util/glib-utils - # TODO: With patching we might be able to get rid of the python-any deps - # and removals, and test depend on glib-utils instead; revisit now with - # meson - rm "${ED}/usr/bin/glib-genmarshal" || die - rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die - rm "${ED}/usr/bin/glib-mkenums" || die - rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die - rm "${ED}/usr/bin/gtester-report" || die - rm "${ED}/usr/share/man/man1/gtester-report.1" || die - # gdbus-codegen manpage installed by dev-util/gdbus-codegen - rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die -} - -pkg_preinst() { - xdg_pkg_preinst - - # Make gschemas.compiled belong to glib alone - local cache="/usr/share/glib-2.0/schemas/gschemas.compiled" - - if [[ -e ${EROOT}${cache} ]]; then - cp "${EROOT}"${cache} "${ED}"/${cache} || die - else - touch "${ED}"${cache} || die - fi - - multilib_pkg_preinst() { - # Make giomodule.cache belong to glib alone - local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache" - - if [[ -e ${EROOT}${cache} ]]; then - cp "${EROOT}"${cache} "${ED}"${cache} || die - else - touch "${ED}"${cache} || die - fi - } - - # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache - # file due to inability to create it and GIO might not look at any of the modules there - if ! tc-is-cross-compiler ; then - multilib_foreach_abi multilib_pkg_preinst - fi -} - -pkg_postinst() { - xdg_pkg_postinst - # glib installs no schemas itself, but we force update for fresh install in case - # something has dropped in a schemas file without direct glib dep; and for upgrades - # in case the compiled schema format could have changed - gnome2_schemas_update - - multilib_pkg_postinst() { - gnome2_giomodule_cache_update \ - || die "Update GIO modules cache failed (for ${ABI})" - } - if ! tc-is-cross-compiler ; then - multilib_foreach_abi multilib_pkg_postinst - else - ewarn "Updating of GIO modules cache skipped due to cross-compilation." - ewarn "You might want to run gio-querymodules manually on the target for" - ewarn "your final image for performance reasons and re-run it when packages" - ewarn "installing GIO modules get upgraded or added to the image." - fi - - if ver_replacing "-lt" "2.63.6"; then - ewarn "glib no longer installs the gio-launch-desktop binary. You may need" - ewarn "to restart your session for \"Open With\" dialogs to work." - fi -} - -pkg_postrm() { - xdg_pkg_postrm - gnome2_schemas_update - - if [[ -z ${REPLACED_BY_VERSION} ]]; then - multilib_pkg_postrm() { - rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache || die - } - multilib_foreach_abi multilib_pkg_postrm - rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled || die - fi -} 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.4-r1.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.4-r1.ebuild index 8c1caa97ef3..f6f213fa087 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.4-r1.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="dbus debug +elf doc +introspection +mime selinux static-libs sysprof systemtap test utils xattr" RESTRICT="!test? ( test )" @@ -91,6 +91,11 @@ MULTILIB_CHOST_TOOLS=( PATCHES=( "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch + "${FILESDIR}"/${PN}-2.84.4-libpcre2-10.47.patch + "${FILESDIR}"/${PN}-2.86-MR-4912.patch + "${FILESDIR}"/${PN}-2.86-MR-4915-CVE-2025-13601.patch + "${FILESDIR}"/${PN}-2.86-MR-4934-CVE-2025-14087.patch + "${FILESDIR}"/${PN}-2.86-MR-4936.patch ) python_check_deps() { @@ -305,15 +310,16 @@ multilib_src_configure() { export PATH="${INTROSPECTION_BIN_DIR}:${PATH}" # Override primary pkgconfig search paths to prioritize our internal copy - export PKG_CONFIG_LIBDIR="${INTROSPECTION_LIB_DIR}/pkgconfig:${INTROSPECTION_BUILD_DIR}/meson-private" + local -x PKG_CONFIG_LIBDIR="${INTROSPECTION_LIB_DIR}/pkgconfig:${INTROSPECTION_BUILD_DIR}/meson-private:$($(tc-getPKG_CONFIG) --variable pc_system_libdirs pkg-config)" # Set the normal primary pkgconfig search paths as secondary # (We also need to prepend our just-built one for later use of # g-ir-scanner to use the new one and to help workaround bugs like # bug #946221.) - export PKG_CONFIG_PATH="${PKG_CONFIG_LIBDIR}:$(pkg-config --variable pc_path pkg-config)" + local -x PKG_CONFIG_PATH="${PKG_CONFIG_LIBDIR}:$($(tc-getPKG_CONFIG) --variable pc_path pkg-config)" # Add the paths to the built glib libraries to the library path so that gobject-introspection can load them + local gliblib for gliblib in glib gobject gthread gmodule gio girepository; do export LD_LIBRARY_PATH="${BUILD_DIR}/${gliblib}:${LD_LIBRARY_PATH}" done diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.4.ebuild index ab262beeb30..70f333647b6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.4.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="dbus debug +elf doc +introspection +mime selinux static-libs sysprof systemtap test utils xattr" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.86.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.86.1.ebuild index 3098800874b..dad63c11782 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.86.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.86.1.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="dbus debug +elf doc +introspection +mime selinux static-libs sysprof systemtap test utils xattr" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/gmp/gmp-6.3.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/gmp/gmp-6.3.0-r1.ebuild index 07a1985676f..d265cbc8e80 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/gmp/gmp-6.3.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/gmp/gmp-6.3.0-r1.ebuild @@ -25,7 +25,7 @@ S="${WORKDIR}"/${MY_P%a} LICENSE="|| ( LGPL-3+ GPL-2+ )" # The subslot reflects the C & C++ SONAMEs. SLOT="0/10.4" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="+asm doc +cpudetection +cxx pic static-libs" REQUIRED_USE="cpudetection? ( asm )" RESTRICT="!cpudetection? ( bindist )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/gobject-introspection-common-1.82.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/gobject-introspection-common-1.82.0.ebuild index 513c2b55919..7ef467e5a6c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/gobject-introspection-common-1.82.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/gobject-introspection-common-1.82.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 ~arm64-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: 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 513c2b55919..7ef467e5a6c 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 ~arm64-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: diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/gobject-introspection-common-1.86.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/gobject-introspection-common-1.86.0.ebuild index ac499b93cec..1365fa70714 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/gobject-introspection-common-1.86.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/gobject-introspection-common-1.86.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 ~arm64-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: 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 2ca7a20abff..18183966526 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 @@ -14,7 +14,7 @@ if [[ ${PV} == 9999 ]] ; then else SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi LICENSE="MIT" 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 10b5af025f3..d9853738ac3 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 @@ -14,7 +14,7 @@ if [[ ${PV} == 9999 ]] ; then else SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi LICENSE="MIT" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/jsoncpp/jsoncpp-1.9.6-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/jsoncpp/jsoncpp-1.9.6-r2.ebuild index fa7f531e763..e756909b163 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/jsoncpp/jsoncpp-1.9.6-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/jsoncpp/jsoncpp-1.9.6-r2.ebuild @@ -16,7 +16,7 @@ SRC_URI=" LICENSE="|| ( public-domain MIT )" SLOT="0/26" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="doc test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libaio/libaio-0.3.113-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libaio/libaio-0.3.113-r1.ebuild index 6133e511591..f2c3e807c2c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libaio/libaio-0.3.113-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libaio/libaio-0.3.113-r1.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://pagure.io/libaio.git" else SRC_URI="https://releases.pagure.org/${PN}/${P}.tar.gz" - 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" fi LICENSE="LGPL-2" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libaio/libaio-0.3.113-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libaio/libaio-0.3.113-r2.ebuild index d335d711e7b..446b349145b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libaio/libaio-0.3.113-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libaio/libaio-0.3.113-r2.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://pagure.io/libaio.git" else SRC_URI="https://releases.pagure.org/${PN}/${P}.tar.gz" - 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" fi LICENSE="LGPL-2" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libaio/libaio-0.3.113_p8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libaio/libaio-0.3.113_p8.ebuild index 986cf5c317e..c3dd8e38fba 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libaio/libaio-0.3.113_p8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libaio/libaio-0.3.113_p8.ebuild @@ -20,7 +20,7 @@ else fi S="${WORKDIR}"/${P%_p*} - 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" fi LICENSE="LGPL-2" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libaio/libaio-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libaio/libaio-9999.ebuild index 986cf5c317e..7f625fe8b69 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libaio/libaio-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libaio/libaio-9999.ebuild @@ -20,7 +20,7 @@ else fi S="${WORKDIR}"/${P%_p*} - 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" fi LICENSE="LGPL-2" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-2.5.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-2.5.7.ebuild index 6c1e9950551..37dd70b679d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-2.5.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-2.5.7.ebuild @@ -19,7 +19,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="GPL-3 LGPL-2.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 ~arm64-macos ~x64-macos ~x64-solaris" # Note: On each bump, update dep bounds on each version from configure.ac! RDEPEND=">=dev-libs/libgpg-error-1.33" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.0-r1.ebuild index be5e0992663..75c539c9a1f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.0-r1.ebuild @@ -19,7 +19,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="GPL-3 LGPL-2.1" SLOT="0/$(ver_cut 1-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 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=">=dev-libs/libgpg-error-1.33" DEPEND="${RDEPEND}" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.1-r1.ebuild index e1abcba6fe6..77b0fd1add4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.1-r1.ebuild @@ -19,7 +19,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="GPL-3 LGPL-2.1" SLOT="0/$(ver_cut 1-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 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=">=dev-libs/libgpg-error-1.33" DEPEND="${RDEPEND}" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libbsd/libbsd-0.11.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libbsd/libbsd-0.11.8.ebuild index 2337df3de91..e7a2a69a2b2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libbsd/libbsd-0.11.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libbsd/libbsd-0.11.8.ebuild @@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( https://${PN}.freedesktop.org/releases/${P}.tar.xz.asc LICENSE="BEER-WARE BSD BSD-2 BSD-4 ISC MIT" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="static-libs" RDEPEND="app-crypt/libmd[${MULTILIB_USEDEP}]" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libbsd/libbsd-0.12.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libbsd/libbsd-0.12.1.ebuild index 9f2517d30bf..ae39adf3ff9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libbsd/libbsd-0.12.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libbsd/libbsd-0.12.1.ebuild @@ -14,7 +14,7 @@ SRC_URI+=" verify-sig? ( https://${PN}.freedesktop.org/releases/${P}.tar.xz.asc LICENSE="BEER-WARE BSD BSD-2 BSD-4 ISC MIT" SLOT="0" # Unkeyworded until figured out a solution for bug #925663 -#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" IUSE="static-libs" RDEPEND="app-crypt/libmd[${MULTILIB_USEDEP}]" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libdnet/libdnet-1.18.0-r3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libdnet/libdnet-1.18.0-r3.ebuild index 367acc250b2..030698667a9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libdnet/libdnet-1.18.0-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libdnet/libdnet-1.18.0-r3.ebuild @@ -17,7 +17,7 @@ S="${WORKDIR}/${PN}-${P}" LICENSE="LGPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86" IUSE="python test" RESTRICT="!test? ( test )" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libev/libev-4.33.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libev/libev-4.33.ebuild index 9449801b526..e90c2fa810b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libev/libev-4.33.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libev/libev-4.33.ebuild @@ -12,7 +12,7 @@ SRC_URI="http://dist.schmorp.de/libev/${P}.tar.gz LICENSE="|| ( BSD 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 ~x64-macos" IUSE="static-libs" DOCS=( Changes README ) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libevent/libevent-2.1.12-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libevent/libevent-2.1.12-r1.ebuild index 2e4cfddd064..064d9d2d22a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libevent/libevent-2.1.12-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libevent/libevent-2.1.12-r1.ebuild @@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P} LICENSE="BSD" SLOT="0/2.1-7" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" IUSE=" +clock-gettime debug malloc-replacement +ssl static-libs test verbose-debug 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 index 0384626a0c3..dcf12292dca 100644 --- 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 @@ -18,7 +18,7 @@ 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi S="${WORKDIR}"/${MY_P} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.5.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.5.1.ebuild index 8f0ac2870c9..3f603dfeda5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.5.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.5.1.ebuild @@ -19,7 +19,7 @@ else SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz" if [[ ${PV} != *@(alpha|beta|pre|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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.5.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.5.2.ebuild index 8f0ac2870c9..3f603dfeda5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.5.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.5.2.ebuild @@ -19,7 +19,7 @@ else SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz" if [[ ${PV} != *@(alpha|beta|pre|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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-9999.ebuild index 441ddca3e01..babb8c5e641 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-9999.ebuild @@ -19,7 +19,7 @@ else SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz" if [[ ${PV} != *@(alpha|beta|pre|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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest index b815865a75d..0326787e528 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest @@ -1,10 +1,2 @@ -DIST libgcrypt-1.10.2.tar.bz2 3795164 BLAKE2B c86b29648664aae3fb694b20ad258828d2cecbb09db2b83df00fbdebd5d74228c92015c50f659c250cb0768ccaef7949294d9b7cdcd47e1387b7dce81d35da19 SHA512 3a850baddfe8ffe8b3e96dc54af3fbb9e1dab204db1f06b9b90b8fbbfb7fb7276260cd1e61ba4dde5a662a2385385007478834e62e95f785d2e3d32652adb29e -DIST libgcrypt-1.10.2.tar.bz2.sig 119 BLAKE2B 3753134a1ed1fd2bfd2c64f175c3745db02791359646b3f0229c80ce4ccedbb147ee889a6b8c4fe4bf7e9067d804ee18a8411cd347026cd1656ad1d4d5686bec SHA512 9350444a0bcfa49217815a831f2286ccea470311673257bd809eb5dedbe97d2a5543b0bc7fb752312df69adeb7ac5f064e433f2545a8bf3e494027986cd8020c -DIST libgcrypt-1.10.3.tar.bz2 3783827 BLAKE2B 1a228e02820e886016eb55dee75936c4422a15fb4f95a2f9bcd1e4faac4015d4321c7c8d23f164eb08ece5d62935ab3b3d3104eabfdd22db997ab3e5689dfa6f SHA512 8a8d4c61a6622d8481ceb9edc88ec43f58da32e316f79f8d4775325a48f8936aaa9eb355923b39e2c267b784e9c390600daeb62e0c94f00e30bbadb0d8c0865d -DIST libgcrypt-1.10.3.tar.bz2.sig 238 BLAKE2B 216baebca91b2e940f60d70a4260b6b6b8221ef88cfb42b020bc7b3743a465ef2cf105316648ed1e689cbbf7d79da421aa9f08b5af21c5b862734cf01f377214 SHA512 73795781a458c334ec6daade1b86ae8b788dd5da0b7198b46b8e54a103c5ec4c65a5dd7e6a9d173d136889f24e7f5721992f59117334f39bd1c8a94e3b55a048 -DIST libgcrypt-1.11.0.tar.bz2 4180345 BLAKE2B fe3f42480c0b9a0c50c24f4c54197404b4e1056d8baa9c0c07c671c9c05b90777580b4cbcde931b50ecb4dd93f5ddad89cea99aa36a35f86f796a003e3816f7d SHA512 8e093e69e3c45d30838625ca008e995556f0d5b272de1c003d44ef94633bcc0d0ef5d95e8725eb531bfafb4490ac273488633e0c801200d4666194f86c3e270e -DIST libgcrypt-1.11.0.tar.bz2.sig 119 BLAKE2B e64d59dae5556e2826f6d297988a3300c36d05aeecfe19544c5092b5f7b777b9b3f37c5ddcfcba5a916ae237cf981efdd9e3bdec482f7c36b12ac5c70f9d4c52 SHA512 8c5ceb50d70ccdedcc1ff4b31a65a07198567b85f582e3e67699cc3e5d012bebf7b1d4903652d11905a9cd845976ad7d3642474804777d0bdc46c6847d92fe38 -DIST libgcrypt-1.11.1.tar.bz2 4233557 BLAKE2B 6416c6a782665e8a8d1c7993d94e620c586cfb65f273bde3d609bd7ca729a92d7ac3e156dabea42c34dbe50af7ce9b16333f63115f968aebb2b4a6dd37d4b99c SHA512 85846d62ce785e4250a2bf8a2b13ec24837e48ab8e10d537ad4a18d650d2cca747f82fd1501feab47ad3114b9593b36c9fa7a892f48139e2a71ef61295a47678 -DIST libgcrypt-1.11.1.tar.bz2.sig 238 BLAKE2B fb625c167b6939eaf795858cbbb3b09787c92b53f94a328611e7dc3c565d623ecf0ccbaddc656cb98f617723147978184c8a7a1dd072fa6477eb06a6a873518c SHA512 832119acbc094346b5648520ac6991a90a944db80886c31001f49bc17c77bf1e2c26dc99180c25c0ef4de010b159fc7b7576b8d80fba284acebc6da1706067db DIST libgcrypt-1.11.2.tar.bz2 4237802 BLAKE2B 8ad2dd84e8ec2bddb5c008c6823a6d72b8f2d6237972966bc590be0d89bb6b50a5cbba1b42631d0950c4bea125a6d9a845fbf703b756a38088f66054712efa9c SHA512 b706cea602cc8f0896e57ce979643bf78974b05faec27c1b053b773c57d8b04250e30e95a4ef5899e1df981d01d8d08f0a36e10b5820a5ec4183e74c02e5f1f0 DIST libgcrypt-1.11.2.tar.bz2.sig 147 BLAKE2B 5126fa06a9a67b2b71711f76ecbf9f3596f300f97256378961768a2f3c3927321da649eb0df4ddfb653e4503712b8b3c363c252bcb83ca53c7eea89a3ac8d4d4 SHA512 73b1d6d53e2f9061f06628a0fe983919f745c1c92930fd6a9871a0a3a589878efe68ec48b4e17e3fd3c1e098bc38c38cc8895246cee25463377a8bfa8590b164 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.2-darwin.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.2-darwin.patch deleted file mode 100644 index 6153f1840b9..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.2-darwin.patch +++ /dev/null @@ -1,20 +0,0 @@ -https://dev.gnupg.org/T6442 - -Patch as suggested by Werned in https://dev.gnupg.org/T6442#169396 - ---- a/random/rndgetentropy.c -+++ b/random/rndgetentropy.c -@@ -94,8 +94,13 @@ - * and might not be applicable on other FIPS modules not running - * RHEL kernel. - */ -+#ifdef GRND_RANDOM - nbytes = length < 32 ? length : 32; - ret = getrandom (buffer, nbytes, GRND_RANDOM); -+#else -+ ret = -1; -+ gpg_err_set_errno (ENOSYS); -+#endif - } - else - { diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.3-hppa.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.3-hppa.patch deleted file mode 100644 index daa1bba9f43..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.3-hppa.patch +++ /dev/null @@ -1,110 +0,0 @@ -https://bugs.gentoo.org/925284 -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=75e9bcccb69a9dea67d90840bd295bbd1749cea3 - -From 75e9bcccb69a9dea67d90840bd295bbd1749cea3 Mon Sep 17 00:00:00 2001 -From: NIIBE Yutaka -Date: Mon, 4 Mar 2024 09:00:59 +0900 -Subject: [PATCH] mpi: Fix ECC computation on hppa. - -* mpi/ec-inline.h [__hppa] (ADD4_LIMB32, SUB4_LIMB32): New. -* mpi/longlong.h [__hppa] (add_ssaaaa, sub_ddmmss): Add __CLOBBER_CC. - --- - -Cherry-pick master commit of: - b757f4130af987bdfc769b754b6e9e27882c349c - -GnuPG-bug-id: 7022 -Signed-off-by: NIIBE Yutaka ---- - mpi/ec-inline.h | 40 ++++++++++++++++++++++++++++++++++++++++ - mpi/longlong.h | 12 ++++++------ - 2 files changed, 46 insertions(+), 6 deletions(-) - -diff --git a/mpi/ec-inline.h b/mpi/ec-inline.h -index 0ffdf8eb..c24d5352 100644 ---- a/mpi/ec-inline.h -+++ b/mpi/ec-inline.h -@@ -921,6 +921,46 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - - #endif /* HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS */ - -+#if defined (__hppa) && __GNUC__ >= 4 -+#define ADD4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \ -+ __asm__ ("add %7,%11,%3\n\t" \ -+ "addc %6,%10,%2\n\t" \ -+ "addc %5,%9,%1\n\t" \ -+ "addc %4,%8,%0" \ -+ : "=r" (A3), \ -+ "=&r" (A2), \ -+ "=&r" (A1), \ -+ "=&r" (A0) \ -+ : "rM" ((mpi_limb_t)(B3)), \ -+ "rM" ((mpi_limb_t)(B2)), \ -+ "rM" ((mpi_limb_t)(B1)), \ -+ "rM" ((mpi_limb_t)(B0)), \ -+ "rM" ((mpi_limb_t)(C3)), \ -+ "rM" ((mpi_limb_t)(C2)), \ -+ "rM" ((mpi_limb_t)(C1)), \ -+ "rM" ((mpi_limb_t)(C0)) \ -+ : "cc") -+ -+#define SUB4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \ -+ __asm__ ("sub %7,%11,%3\n\t" \ -+ "subb %6,%10,%2\n\t" \ -+ "subb %5,%9,%1\n\t" \ -+ "subb %4,%8,%0\n\t" \ -+ : "=r" (A3), \ -+ "=&r" (A2), \ -+ "=&r" (A1), \ -+ "=&r" (A0) \ -+ : "rM" ((mpi_limb_t)(B3)), \ -+ "rM" ((mpi_limb_t)(B2)), \ -+ "rM" ((mpi_limb_t)(B1)), \ -+ "rM" ((mpi_limb_t)(B0)), \ -+ "rM" ((mpi_limb_t)(C3)), \ -+ "rM" ((mpi_limb_t)(C2)), \ -+ "rM" ((mpi_limb_t)(C1)), \ -+ "rM" ((mpi_limb_t)(C0)) \ -+ : "cc") -+ -+#endif /* __hppa */ - - /* Common 32-bit arch addition/subtraction macros. */ - -diff --git a/mpi/longlong.h b/mpi/longlong.h -index c299534c..1ab70e7e 100644 ---- a/mpi/longlong.h -+++ b/mpi/longlong.h -@@ -394,23 +394,23 @@ extern UDItype __udiv_qrnnd (); - ***************************************/ - #if defined (__hppa) && W_TYPE_SIZE == 32 - # define add_ssaaaa(sh, sl, ah, al, bh, bl) \ -- __asm__ (" add %4,%5,%1\n" \ -- " addc %2,%3,%0" \ -+ __asm__ ("add %4,%5,%1\n\t" \ -+ "addc %2,%3,%0" \ - : "=r" ((USItype)(sh)), \ - "=&r" ((USItype)(sl)) \ - : "%rM" ((USItype)(ah)), \ - "rM" ((USItype)(bh)), \ - "%rM" ((USItype)(al)), \ -- "rM" ((USItype)(bl))) -+ "rM" ((USItype)(bl)) __CLOBBER_CC) - # define sub_ddmmss(sh, sl, ah, al, bh, bl) \ -- __asm__ (" sub %4,%5,%1\n" \ -- " subb %2,%3,%0" \ -+ __asm__ ("sub %4,%5,%1\n\t" \ -+ "subb %2,%3,%0" \ - : "=r" ((USItype)(sh)), \ - "=&r" ((USItype)(sl)) \ - : "rM" ((USItype)(ah)), \ - "rM" ((USItype)(bh)), \ - "rM" ((USItype)(al)), \ -- "rM" ((USItype)(bl))) -+ "rM" ((USItype)(bl)) __CLOBBER_CC) - # if defined (_PA_RISC1_1) - # define umul_ppmm(wh, wl, u, v) \ - do { \ --- -2.30.2 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86-refactor.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86-refactor.patch deleted file mode 100644 index 52715067109..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86-refactor.patch +++ /dev/null @@ -1,428 +0,0 @@ -https://bugs.gentoo.org/915060 -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=07f0563d325c6589ca1560525d3b22291feec227 - -From 07f0563d325c6589ca1560525d3b22291feec227 Mon Sep 17 00:00:00 2001 -From: Jussi Kivilinna -Date: Tue, 19 Dec 2023 20:23:47 +0200 -Subject: [PATCH] mpi/ec-inline: refactor i386 assembly to reduce register - usage - -* mpi/ec-inline.h [__i386__] (ADD2_LIMB32_CARRY_OUT) -(ADD2_LIMB32_CARRY_IN_OUT, ADD2_LIB32_CARRY_IN, SUB2_LIMB32_CARRY_OUT) -(SUB2_LIMB32_CARRY_IN_OUT, SUB2_LIB32_CARRY_IN, ADD8_LIMB32) -(ADD10_LIMB32, ADD14_LIMB32, SUB8_LIMB32, SUB10_LIMB32) -(SUB14_LIMB32): New. -[__i386__] (ADD4_LIMB32, ADD6_LIMB32, SUB4_LIMB32, SUB6_LIMB32): Rewrite -to use new *_CARRY_* macros. -[BYTES_PER_MPI_LIMB == 4] (ADD4_LIMB64): Use ADD8_LIMB32 if available. -[BYTES_PER_MPI_LIMB == 4] (ADD5_LIMB64): Use ADD10_LIMB32 if available. -[BYTES_PER_MPI_LIMB == 4] (ADD7_LIMB64): Use ADD14_LIMB32 if available. -[BYTES_PER_MPI_LIMB == 4] (SUB4_LIMB64): Use SUB8_LIMB32 if available. -[BYTES_PER_MPI_LIMB == 4] (SUB5_LIMB64): Use SUB10_LIMB32 if available. -[BYTES_PER_MPI_LIMB == 4] (SUB7_LIMB64): Use SUB14_LIMB32 if available. --- - -Cherry pick of master commit: - 956f1ed4ec6ead59dc56f574f943f1fe25dac723 - -This commit reduces number register operands and register pressure -at i386 assembly used in `ec-nist.c` NIST-P192, P224, P256, and P384. -Performance stays relatively same, with P192 being ~2% slower -than before and P384 being ~5% faster. - -GnuPG-bug-id: T6892 -Signed-off-by: Jussi Kivilinna ---- - mpi/ec-inline.h | 327 +++++++++++++++++++++++++++++++++--------------- - 1 file changed, 229 insertions(+), 98 deletions(-) - -diff --git a/mpi/ec-inline.h b/mpi/ec-inline.h -index a07826e3..0ffdf8eb 100644 ---- a/mpi/ec-inline.h -+++ b/mpi/ec-inline.h -@@ -641,116 +641,192 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - /* i386 addition/subtraction helpers. */ - #if defined (__i386__) && defined(HAVE_CPU_ARCH_X86) && __GNUC__ >= 4 - --#define ADD4_LIMB32(a3, a2, a1, a0, b3, b2, b1, b0, c3, c2, c1, c0) \ -- __asm__ ("addl %11, %3\n" \ -- "adcl %10, %2\n" \ -- "adcl %9, %1\n" \ -- "adcl %8, %0\n" \ -- : "=r" (a3), \ -- "=&r" (a2), \ -+#define ADD2_LIMB32_CARRY_OUT(carry, a1, a0, b1, b0, c1, c0) \ -+ __asm__ ("addl %7, %2\n" \ -+ "adcl %6, %1\n" \ -+ "sbbl %0, %0\n" \ -+ : "=r" (carry), \ - "=&r" (a1), \ - "=&r" (a0) \ -- : "0" ((mpi_limb_t)(b3)), \ -- "1" ((mpi_limb_t)(b2)), \ -- "2" ((mpi_limb_t)(b1)), \ -- "3" ((mpi_limb_t)(b0)), \ -- "g" ((mpi_limb_t)(c3)), \ -- "g" ((mpi_limb_t)(c2)), \ -- "g" ((mpi_limb_t)(c1)), \ -- "g" ((mpi_limb_t)(c0)) \ -+ : "0" ((mpi_limb_t)(0)), \ -+ "1" ((mpi_limb_t)(b1)), \ -+ "2" ((mpi_limb_t)(b0)), \ -+ "re" ((mpi_limb_t)(c1)), \ -+ "re" ((mpi_limb_t)(c0)) \ - : "cc") - -+#define ADD2_LIMB32_CARRY_IN_OUT(a1, a0, b1, b0, c1, c0, carry) \ -+ __asm__ ("addl $1, %0\n" \ -+ "adcl %7, %2\n" \ -+ "adcl %6, %1\n" \ -+ "sbbl %0, %0\n" \ -+ : "=r" (carry), \ -+ "=&r" (a1), \ -+ "=&r" (a0) \ -+ : "0" ((mpi_limb_t)(carry)), \ -+ "1" ((mpi_limb_t)(b1)), \ -+ "2" ((mpi_limb_t)(b0)), \ -+ "re" ((mpi_limb_t)(c1)), \ -+ "re" ((mpi_limb_t)(c0)) \ -+ : "cc") -+ -+#define ADD2_LIMB32_CARRY_IN(a1, a0, b1, b0, c1, c0, carry) \ -+ __asm__ ("addl $1, %2\n" \ -+ "adcl %7, %1\n" \ -+ "adcl %6, %0\n" \ -+ : "=r" (a1), \ -+ "=&r" (a0), \ -+ "=&g" (carry) \ -+ : "0" ((mpi_limb_t)(b1)), \ -+ "1" ((mpi_limb_t)(b0)), \ -+ "2" ((mpi_limb_t)(carry)), \ -+ "re" ((mpi_limb_t)(c1)), \ -+ "re" ((mpi_limb_t)(c0)) \ -+ : "cc") -+ -+#define ADD4_LIMB32(a3, a2, a1, a0, b3, b2, b1, b0, c3, c2, c1, c0) do { \ -+ mpi_limb_t __carry4_32; \ -+ ADD2_LIMB32_CARRY_OUT(__carry4_32, a1, a0, b1, b0, c1, c0); \ -+ ADD2_LIMB32_CARRY_IN(a3, a2, b3, b2, c3, c2, __carry4_32); \ -+ } while (0) -+ - #define ADD6_LIMB32(a5, a4, a3, a2, a1, a0, b5, b4, b3, b2, b1, b0, \ - c5, c4, c3, c2, c1, c0) do { \ - mpi_limb_t __carry6_32; \ -- __asm__ ("addl %10, %3\n" \ -- "adcl %9, %2\n" \ -- "adcl %8, %1\n" \ -- "sbbl %0, %0\n" \ -- : "=r" (__carry6_32), \ -- "=&r" (a2), \ -- "=&r" (a1), \ -- "=&r" (a0) \ -- : "0" ((mpi_limb_t)(0)), \ -- "1" ((mpi_limb_t)(b2)), \ -- "2" ((mpi_limb_t)(b1)), \ -- "3" ((mpi_limb_t)(b0)), \ -- "g" ((mpi_limb_t)(c2)), \ -- "g" ((mpi_limb_t)(c1)), \ -- "g" ((mpi_limb_t)(c0)) \ -- : "cc"); \ -- __asm__ ("addl $1, %3\n" \ -- "adcl %10, %2\n" \ -- "adcl %9, %1\n" \ -- "adcl %8, %0\n" \ -- : "=r" (a5), \ -- "=&r" (a4), \ -- "=&r" (a3), \ -- "=&r" (__carry6_32) \ -- : "0" ((mpi_limb_t)(b5)), \ -- "1" ((mpi_limb_t)(b4)), \ -- "2" ((mpi_limb_t)(b3)), \ -- "3" ((mpi_limb_t)(__carry6_32)), \ -- "g" ((mpi_limb_t)(c5)), \ -- "g" ((mpi_limb_t)(c4)), \ -- "g" ((mpi_limb_t)(c3)) \ -- : "cc"); \ -+ ADD2_LIMB32_CARRY_OUT(__carry6_32, a1, a0, b1, b0, c1, c0); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry6_32); \ -+ ADD2_LIMB32_CARRY_IN(a5, a4, b5, b4, c5, c4, __carry6_32); \ -+ } while (0) -+ -+#define ADD8_LIMB32(a7, a6, a5, a4, a3, a2, a1, a0, \ -+ b7, b6, b5, b4, b3, b2, b1, b0, \ -+ c7, c6, c5, c4, c3, c2, c1, c0) do { \ -+ mpi_limb_t __carry8_32; \ -+ ADD2_LIMB32_CARRY_OUT(__carry8_32, a1, a0, b1, b0, c1, c0); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry8_32); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry8_32); \ -+ ADD2_LIMB32_CARRY_IN(a7, a6, b7, b6, c7, c6, __carry8_32); \ - } while (0) - --#define SUB4_LIMB32(a3, a2, a1, a0, b3, b2, b1, b0, c3, c2, c1, c0) \ -- __asm__ ("subl %11, %3\n" \ -- "sbbl %10, %2\n" \ -- "sbbl %9, %1\n" \ -- "sbbl %8, %0\n" \ -- : "=r" (a3), \ -- "=&r" (a2), \ -+#define ADD10_LIMB32(a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, \ -+ b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, \ -+ c9, c8, c7, c6, c5, c4, c3, c2, c1, c0) do { \ -+ mpi_limb_t __carry10_32; \ -+ ADD2_LIMB32_CARRY_OUT(__carry10_32, a1, a0, b1, b0, c1, c0); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry10_32); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry10_32); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a7, a6, b7, b6, c7, c6, __carry10_32); \ -+ ADD2_LIMB32_CARRY_IN(a9, a8, b9, b8, c9, c8, __carry10_32); \ -+ } while (0) -+ -+#define ADD14_LIMB32(a13, a12, a11, a10, a9, a8, a7, \ -+ a6, a5, a4, a3, a2, a1, a0, \ -+ b13, b12, b11, b10, b9, b8, b7, \ -+ b6, b5, b4, b3, b2, b1, b0, \ -+ c13, c12, c11, c10, c9, c8, c7, \ -+ c6, c5, c4, c3, c2, c1, c0) do { \ -+ mpi_limb_t __carry14_32; \ -+ ADD2_LIMB32_CARRY_OUT(__carry14_32, a1, a0, b1, b0, c1, c0); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry14_32); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry14_32); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a7, a6, b7, b6, c7, c6, __carry14_32); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a9, a8, b9, b8, c9, c8, __carry14_32); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a11, a10, b11, b10, c11, c10, __carry14_32); \ -+ ADD2_LIMB32_CARRY_IN(a13, a12, b13, b12, c13, c12, __carry14_32); \ -+ } while (0) -+ -+#define SUB2_LIMB32_CARRY_OUT(carry, a1, a0, b1, b0, c1, c0) \ -+ __asm__ ("subl %7, %2\n" \ -+ "sbbl %6, %1\n" \ -+ "sbbl %0, %0\n" \ -+ : "=r" (carry), \ - "=&r" (a1), \ - "=&r" (a0) \ -- : "0" ((mpi_limb_t)(b3)), \ -- "1" ((mpi_limb_t)(b2)), \ -- "2" ((mpi_limb_t)(b1)), \ -- "3" ((mpi_limb_t)(b0)), \ -- "g" ((mpi_limb_t)(c3)), \ -- "g" ((mpi_limb_t)(c2)), \ -- "g" ((mpi_limb_t)(c1)), \ -- "g" ((mpi_limb_t)(c0)) \ -+ : "0" ((mpi_limb_t)(0)), \ -+ "1" ((mpi_limb_t)(b1)), \ -+ "2" ((mpi_limb_t)(b0)), \ -+ "re" ((mpi_limb_t)(c1)), \ -+ "re" ((mpi_limb_t)(c0)) \ -+ : "cc") -+ -+#define SUB2_LIMB32_CARRY_IN_OUT(a1, a0, b1, b0, c1, c0, carry) \ -+ __asm__ ("addl $1, %0\n" \ -+ "sbbl %7, %2\n" \ -+ "sbbl %6, %1\n" \ -+ "sbbl %0, %0\n" \ -+ : "=r" (carry), \ -+ "=&r" (a1), \ -+ "=&r" (a0) \ -+ : "0" ((mpi_limb_t)(carry)), \ -+ "1" ((mpi_limb_t)(b1)), \ -+ "2" ((mpi_limb_t)(b0)), \ -+ "re" ((mpi_limb_t)(c1)), \ -+ "re" ((mpi_limb_t)(c0)) \ -+ : "cc") -+ -+#define SUB2_LIMB32_CARRY_IN(a1, a0, b1, b0, c1, c0, carry) \ -+ __asm__ ("addl $1, %2\n" \ -+ "sbbl %7, %1\n" \ -+ "sbbl %6, %0\n" \ -+ : "=r" (a1), \ -+ "=&r" (a0), \ -+ "=&g" (carry) \ -+ : "0" ((mpi_limb_t)(b1)), \ -+ "1" ((mpi_limb_t)(b0)), \ -+ "2" ((mpi_limb_t)(carry)), \ -+ "re" ((mpi_limb_t)(c1)), \ -+ "re" ((mpi_limb_t)(c0)) \ - : "cc") - -+#define SUB4_LIMB32(a3, a2, a1, a0, b3, b2, b1, b0, c3, c2, c1, c0) do { \ -+ mpi_limb_t __carry4_32; \ -+ SUB2_LIMB32_CARRY_OUT(__carry4_32, a1, a0, b1, b0, c1, c0); \ -+ SUB2_LIMB32_CARRY_IN(a3, a2, b3, b2, c3, c2, __carry4_32); \ -+ } while (0) -+ - #define SUB6_LIMB32(a5, a4, a3, a2, a1, a0, b5, b4, b3, b2, b1, b0, \ - c5, c4, c3, c2, c1, c0) do { \ -- mpi_limb_t __borrow6_32; \ -- __asm__ ("subl %10, %3\n" \ -- "sbbl %9, %2\n" \ -- "sbbl %8, %1\n" \ -- "sbbl %0, %0\n" \ -- : "=r" (__borrow6_32), \ -- "=&r" (a2), \ -- "=&r" (a1), \ -- "=&r" (a0) \ -- : "0" ((mpi_limb_t)(0)), \ -- "1" ((mpi_limb_t)(b2)), \ -- "2" ((mpi_limb_t)(b1)), \ -- "3" ((mpi_limb_t)(b0)), \ -- "g" ((mpi_limb_t)(c2)), \ -- "g" ((mpi_limb_t)(c1)), \ -- "g" ((mpi_limb_t)(c0)) \ -- : "cc"); \ -- __asm__ ("addl $1, %3\n" \ -- "sbbl %10, %2\n" \ -- "sbbl %9, %1\n" \ -- "sbbl %8, %0\n" \ -- : "=r" (a5), \ -- "=&r" (a4), \ -- "=&r" (a3), \ -- "=&r" (__borrow6_32) \ -- : "0" ((mpi_limb_t)(b5)), \ -- "1" ((mpi_limb_t)(b4)), \ -- "2" ((mpi_limb_t)(b3)), \ -- "3" ((mpi_limb_t)(__borrow6_32)), \ -- "g" ((mpi_limb_t)(c5)), \ -- "g" ((mpi_limb_t)(c4)), \ -- "g" ((mpi_limb_t)(c3)) \ -- : "cc"); \ -+ mpi_limb_t __carry6_32; \ -+ SUB2_LIMB32_CARRY_OUT(__carry6_32, a1, a0, b1, b0, c1, c0); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry6_32); \ -+ SUB2_LIMB32_CARRY_IN(a5, a4, b5, b4, c5, c4, __carry6_32); \ -+ } while (0) -+ -+#define SUB8_LIMB32(a7, a6, a5, a4, a3, a2, a1, a0, \ -+ b7, b6, b5, b4, b3, b2, b1, b0, \ -+ c7, c6, c5, c4, c3, c2, c1, c0) do { \ -+ mpi_limb_t __carry8_32; \ -+ SUB2_LIMB32_CARRY_OUT(__carry8_32, a1, a0, b1, b0, c1, c0); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry8_32); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry8_32); \ -+ SUB2_LIMB32_CARRY_IN(a7, a6, b7, b6, c7, c6, __carry8_32); \ -+ } while (0) -+ -+#define SUB10_LIMB32(a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, \ -+ b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, \ -+ c9, c8, c7, c6, c5, c4, c3, c2, c1, c0) do { \ -+ mpi_limb_t __carry10_32; \ -+ SUB2_LIMB32_CARRY_OUT(__carry10_32, a1, a0, b1, b0, c1, c0); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry10_32); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry10_32); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a7, a6, b7, b6, c7, c6, __carry10_32); \ -+ SUB2_LIMB32_CARRY_IN(a9, a8, b9, b8, c9, c8, __carry10_32); \ -+ } while (0) -+ -+#define SUB14_LIMB32(a13, a12, a11, a10, a9, a8, a7, \ -+ a6, a5, a4, a3, a2, a1, a0, \ -+ b13, b12, b11, b10, b9, b8, b7, \ -+ b6, b5, b4, b3, b2, b1, b0, \ -+ c13, c12, c11, c10, c9, c8, c7, \ -+ c6, c5, c4, c3, c2, c1, c0) do { \ -+ mpi_limb_t __carry14_32; \ -+ SUB2_LIMB32_CARRY_OUT(__carry14_32, a1, a0, b1, b0, c1, c0); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry14_32); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry14_32); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a7, a6, b7, b6, c7, c6, __carry14_32); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a9, a8, b9, b8, c9, c8, __carry14_32); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a11, a10, b11, b10, c11, c10, __carry14_32); \ -+ SUB2_LIMB32_CARRY_IN(a13, a12, b13, b12, c13, c12, __carry14_32); \ - } while (0) - - #endif /* __i386__ */ -@@ -820,7 +896,6 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - "Ir" ((mpi_limb_t)(C0)) \ - : "cc") - -- - #define SUB6_LIMB32(A5, A4, A3, A2, A1, A0, B5, B4, B3, B2, B1, B0, \ - C5, C4, C3, C2, C1, C0) do { \ - mpi_limb_t __borrow6_32; \ -@@ -875,7 +950,13 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo) - #endif - --#if defined(ADD6_LIMB32) -+#if defined(ADD8_LIMB32) -+/* A[0..3] = B[0..3] + C[0..3] */ -+#define ADD4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \ -+ ADD8_LIMB32(A3.hi, A3.lo, A2.hi, A2.lo, A1.hi, A1.lo, A0.hi, A0.lo, \ -+ B3.hi, B3.lo, B2.hi, B2.lo, B1.hi, B1.lo, B0.hi, B0.lo, \ -+ C3.hi, C3.lo, C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo) -+#elif defined(ADD6_LIMB32) - /* A[0..3] = B[0..3] + C[0..3] */ - #define ADD4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) do { \ - mpi_limb_t __carry4; \ -@@ -888,6 +969,28 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - } while (0) - #endif - -+#if defined(ADD10_LIMB32) -+/* A[0..4] = B[0..4] + C[0..4] */ -+#define ADD5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \ -+ C4, C3, C2, C1, C0) \ -+ ADD10_LIMB32(A4.hi, A4.lo, A3.hi, A3.lo, A2.hi, A2.lo, A1.hi, A1.lo, \ -+ A0.hi, A0.lo, B4.hi, B4.lo, B3.hi, B3.lo, B2.hi, B2.lo, \ -+ B1.hi, B1.lo, B0.hi, B0.lo, C4.hi, C4.lo, C3.hi, C3.lo, \ -+ C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo) -+#endif -+ -+#if defined(ADD14_LIMB32) -+/* A[0..6] = B[0..6] + C[0..6] */ -+#define ADD7_LIMB64(A6, A5, A4, A3, A2, A1, A0, B6, B5, B4, B3, B2, B1, B0, \ -+ C6, C5, C4, C3, C2, C1, C0) \ -+ ADD14_LIMB32(A6.hi, A6.lo, A5.hi, A5.lo, A4.hi, A4.lo, A3.hi, A3.lo, \ -+ A2.hi, A2.lo, A1.hi, A1.lo, A0.hi, A0.lo, B6.hi, B6.lo, \ -+ B5.hi, B5.lo, B4.hi, B4.lo, B3.hi, B3.lo, B2.hi, B2.lo, \ -+ B1.hi, B1.lo, B0.hi, B0.lo, C6.hi, C6.lo, C5.hi, C5.lo, \ -+ C4.hi, C4.lo, C3.hi, C3.lo, C2.hi, C2.lo, C1.hi, C1.lo, \ -+ C0.hi, C0.lo) -+#endif -+ - #if defined(SUB4_LIMB32) - /* A[0..1] = B[0..1] - C[0..1] */ - #define SUB2_LIMB64(A1, A0, B1, B0, C1, C0) \ -@@ -914,7 +1017,13 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo) - #endif - --#if defined(SUB6_LIMB32) -+#if defined(SUB8_LIMB32) -+/* A[0..3] = B[0..3] - C[0..3] */ -+#define SUB4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \ -+ SUB8_LIMB32(A3.hi, A3.lo, A2.hi, A2.lo, A1.hi, A1.lo, A0.hi, A0.lo, \ -+ B3.hi, B3.lo, B2.hi, B2.lo, B1.hi, B1.lo, B0.hi, B0.lo, \ -+ C3.hi, C3.lo, C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo) -+#elif defined(SUB6_LIMB32) - /* A[0..3] = B[0..3] - C[0..3] */ - #define SUB4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) do { \ - mpi_limb_t __borrow4; \ -@@ -927,6 +1036,28 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - } while (0) - #endif - -+#if defined(SUB10_LIMB32) -+/* A[0..4] = B[0..4] - C[0..4] */ -+#define SUB5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \ -+ C4, C3, C2, C1, C0) \ -+ SUB10_LIMB32(A4.hi, A4.lo, A3.hi, A3.lo, A2.hi, A2.lo, A1.hi, A1.lo, \ -+ A0.hi, A0.lo, B4.hi, B4.lo, B3.hi, B3.lo, B2.hi, B2.lo, \ -+ B1.hi, B1.lo, B0.hi, B0.lo, C4.hi, C4.lo, C3.hi, C3.lo, \ -+ C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo) -+#endif -+ -+#if defined(SUB14_LIMB32) -+/* A[0..6] = B[0..6] - C[0..6] */ -+#define SUB7_LIMB64(A6, A5, A4, A3, A2, A1, A0, B6, B5, B4, B3, B2, B1, B0, \ -+ C6, C5, C4, C3, C2, C1, C0) \ -+ SUB14_LIMB32(A6.hi, A6.lo, A5.hi, A5.lo, A4.hi, A4.lo, A3.hi, A3.lo, \ -+ A2.hi, A2.lo, A1.hi, A1.lo, A0.hi, A0.lo, B6.hi, B6.lo, \ -+ B5.hi, B5.lo, B4.hi, B4.lo, B3.hi, B3.lo, B2.hi, B2.lo, \ -+ B1.hi, B1.lo, B0.hi, B0.lo, C6.hi, C6.lo, C5.hi, C5.lo, \ -+ C4.hi, C4.lo, C3.hi, C3.lo, C2.hi, C2.lo, C1.hi, C1.lo, \ -+ C0.hi, C0.lo) -+#endif -+ - #endif /* BYTES_PER_MPI_LIMB == 4 */ - - --- -2.30.2 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86.patch deleted file mode 100644 index 51ea0047c4e..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86.patch +++ /dev/null @@ -1,94 +0,0 @@ -https://bugs.gentoo.org/915060 -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=08b88b4012f7837736b8d29a3689ce3fff2a10c8 - -From 08b88b4012f7837736b8d29a3689ce3fff2a10c8 Mon Sep 17 00:00:00 2001 -From: Jussi Kivilinna -Date: Sat, 16 Dec 2023 19:50:23 +0200 -Subject: [PATCH] mpi/ec-nist: fix for -Og build failure on i386 - -* mpi/ec-nist.c (_gcry_mpi_ec_nist256_mod) -(_gcry_mpi_ec_nist384_mod): Load p_mult constant with carry offset -to stack. --- - -Cherry pick master commit of: - 90097bd2f41c217dc5c666570e5680f432cf92d3 - -Patch fixes compilation error on i386 with -Og optimization level. - -In file included from ../../mpi/ec-nist.c:34: -../../mpi/ec-nist.c: In function '_gcry_mpi_ec_nist256_mod': -../../mpi/ec-inline.h:701:3: error: 'asm' operand has impossible constraints - 701 | __asm__ ("subl %11, %3\n" \ - | ^~~~~~~ -../../mpi/ec-inline.h:894:9: note: in expansion of macro 'SUB4_LIMB32' - 894 | SUB4_LIMB32(A1.hi, A1.lo, A0.hi, A0.lo, \ - | ^~~~~~~~~~~ -../../mpi/ec-inline.h:1009:5: note: in expansion of macro 'SUB2_LIMB64' - 1009 | SUB2_LIMB64(A4, A3, B4, B3, C4, C3); \ - | ^~~~~~~~~~~ -../../mpi/ec-nist.c:474:3: note: in expansion of macro 'SUB5_LIMB64' - 474 | SUB5_LIMB64 (s[4], s[3], s[2], s[1], s[0], - | ^~~~~~~~~~~ - -Appears that in problematic function, too many registers end up being -allocated for addressing and there is not enough register left for -asm input/output (4 registers needed for this block). Problem can be -workaround by reducing needed addressing registers by pushing -`p_mult[carry + ...]` values to stack. On other compiler flag levels -and architectures, compiler should be able to optimize away this -extra copying and have not effect on performance. - -GnuPG-bug-id: T6892 -Signed-off-by: Jussi Kivilinna ---- - mpi/ec-nist.c | 23 ++++++++++++++++------- - 1 file changed, 16 insertions(+), 7 deletions(-) - -diff --git a/mpi/ec-nist.c b/mpi/ec-nist.c -index f792405c..559d02d9 100644 ---- a/mpi/ec-nist.c -+++ b/mpi/ec-nist.c -@@ -471,11 +471,15 @@ _gcry_mpi_ec_nist256_mod (gcry_mpi_t w, mpi_ec_t ctx) - - carry = LO32_LIMB64(s[4]); - -+ /* Load values to stack to ease register pressure on i386. */ -+ e[0] = p_mult[carry + 4][0]; -+ e[1] = p_mult[carry + 4][1]; -+ e[2] = p_mult[carry + 4][2]; -+ e[3] = p_mult[carry + 4][3]; -+ e[4] = p_mult[carry + 4][4]; - SUB5_LIMB64 (s[4], s[3], s[2], s[1], s[0], - s[4], s[3], s[2], s[1], s[0], -- p_mult[carry + 4][4], p_mult[carry + 4][3], -- p_mult[carry + 4][2], p_mult[carry + 4][1], -- p_mult[carry + 4][0]); -+ e[4], e[3], e[2], e[1], e[0]); - - /* Add 1*P */ - ADD5_LIMB64 (d[4], d[3], d[2], d[1], d[0], -@@ -749,12 +753,17 @@ _gcry_mpi_ec_nist384_mod (gcry_mpi_t w, mpi_ec_t ctx) - - carry = LO32_LIMB64(s[6]); - -+ /* Load values to stack to ease register pressure on i386. */ -+ x[0] = p_mult[carry + 3][0]; -+ x[1] = p_mult[carry + 3][1]; -+ x[2] = p_mult[carry + 3][2]; -+ x[3] = p_mult[carry + 3][3]; -+ x[4] = p_mult[carry + 3][4]; -+ x[5] = p_mult[carry + 3][5]; -+ x[6] = p_mult[carry + 3][6]; - SUB7_LIMB64 (s[6], s[5], s[4], s[3], s[2], s[1], s[0], - s[6], s[5], s[4], s[3], s[2], s[1], s[0], -- p_mult[carry + 3][6], p_mult[carry + 3][5], -- p_mult[carry + 3][4], p_mult[carry + 3][3], -- p_mult[carry + 3][2], p_mult[carry + 3][1], -- p_mult[carry + 3][0]); -+ x[6], x[5], x[4], x[3], x[2], x[1], x[0]); - - ADD7_LIMB64 (d[6], d[5], d[4], d[3], d[2], d[1], d[0], - s[6], s[5], s[4], s[3], s[2], s[1], s[0], --- -2.30.2 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.0-arm.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.0-arm.patch deleted file mode 100644 index e288d9c5afd..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.0-arm.patch +++ /dev/null @@ -1,127 +0,0 @@ -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=9c93b4607adcf9b3efd53aba43e2d33bf5aef9df - -From 9c93b4607adcf9b3efd53aba43e2d33bf5aef9df Mon Sep 17 00:00:00 2001 -From: Jussi Kivilinna -Date: Sun, 4 Aug 2024 18:04:49 +0300 -Subject: [PATCH] mpi/ec-inline: reduce register pressure on 32-bit ARM - -* mpi/ec-inline.h [HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS] (ADD4_LIMB32) -(ADD6_LIMB32, SUB4_LIMB32, SUB6_LIMB32): Reuse input registers -as output (use just two unique operators). --- - -This fixes building ec-nist.c with GCC-14 on 32-bit ARM. - -GnuPG-bug-id: 7226 -Signed-off-by: Jussi Kivilinna ---- a/mpi/ec-inline.h -+++ b/mpi/ec-inline.h -@@ -836,18 +836,18 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - #ifdef HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS - - #define ADD4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \ -- __asm__ ("adds %3, %7, %11\n" \ -- "adcs %2, %6, %10\n" \ -- "adcs %1, %5, %9\n" \ -- "adc %0, %4, %8\n" \ -+ __asm__ ("adds %3, %3, %11\n" \ -+ "adcs %2, %2, %10\n" \ -+ "adcs %1, %1, %9\n" \ -+ "adc %0, %0, %8\n" \ - : "=r" (A3), \ - "=&r" (A2), \ - "=&r" (A1), \ - "=&r" (A0) \ -- : "r" ((mpi_limb_t)(B3)), \ -- "r" ((mpi_limb_t)(B2)), \ -- "r" ((mpi_limb_t)(B1)), \ -- "r" ((mpi_limb_t)(B0)), \ -+ : "0" ((mpi_limb_t)(B3)), \ -+ "1" ((mpi_limb_t)(B2)), \ -+ "2" ((mpi_limb_t)(B1)), \ -+ "3" ((mpi_limb_t)(B0)), \ - "Ir" ((mpi_limb_t)(C3)), \ - "Ir" ((mpi_limb_t)(C2)), \ - "Ir" ((mpi_limb_t)(C1)), \ -@@ -857,18 +857,18 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - #define ADD6_LIMB32(A5, A4, A3, A2, A1, A0, B5, B4, B3, B2, B1, B0, \ - C5, C4, C3, C2, C1, C0) do { \ - mpi_limb_t __carry6_32; \ -- __asm__ ("adds %3, %7, %10\n" \ -- "adcs %2, %6, %9\n" \ -- "adcs %1, %5, %8\n" \ -- "adc %0, %4, %4\n" \ -+ __asm__ ("adds %3, %3, %10\n" \ -+ "adcs %2, %2, %9\n" \ -+ "adcs %1, %1, %8\n" \ -+ "adc %0, %0, %0\n" \ - : "=r" (__carry6_32), \ - "=&r" (A2), \ - "=&r" (A1), \ - "=&r" (A0) \ -- : "r" ((mpi_limb_t)(0)), \ -- "r" ((mpi_limb_t)(B2)), \ -- "r" ((mpi_limb_t)(B1)), \ -- "r" ((mpi_limb_t)(B0)), \ -+ : "0" ((mpi_limb_t)(0)), \ -+ "1" ((mpi_limb_t)(B2)), \ -+ "2" ((mpi_limb_t)(B1)), \ -+ "3" ((mpi_limb_t)(B0)), \ - "Ir" ((mpi_limb_t)(C2)), \ - "Ir" ((mpi_limb_t)(C1)), \ - "Ir" ((mpi_limb_t)(C0)) \ -@@ -878,18 +878,18 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - } while (0) - - #define SUB4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \ -- __asm__ ("subs %3, %7, %11\n" \ -- "sbcs %2, %6, %10\n" \ -- "sbcs %1, %5, %9\n" \ -- "sbc %0, %4, %8\n" \ -+ __asm__ ("subs %3, %3, %11\n" \ -+ "sbcs %2, %2, %10\n" \ -+ "sbcs %1, %1, %9\n" \ -+ "sbc %0, %0, %8\n" \ - : "=r" (A3), \ - "=&r" (A2), \ - "=&r" (A1), \ - "=&r" (A0) \ -- : "r" ((mpi_limb_t)(B3)), \ -- "r" ((mpi_limb_t)(B2)), \ -- "r" ((mpi_limb_t)(B1)), \ -- "r" ((mpi_limb_t)(B0)), \ -+ : "0" ((mpi_limb_t)(B3)), \ -+ "1" ((mpi_limb_t)(B2)), \ -+ "2" ((mpi_limb_t)(B1)), \ -+ "3" ((mpi_limb_t)(B0)), \ - "Ir" ((mpi_limb_t)(C3)), \ - "Ir" ((mpi_limb_t)(C2)), \ - "Ir" ((mpi_limb_t)(C1)), \ -@@ -899,18 +899,17 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - #define SUB6_LIMB32(A5, A4, A3, A2, A1, A0, B5, B4, B3, B2, B1, B0, \ - C5, C4, C3, C2, C1, C0) do { \ - mpi_limb_t __borrow6_32; \ -- __asm__ ("subs %3, %7, %10\n" \ -- "sbcs %2, %6, %9\n" \ -- "sbcs %1, %5, %8\n" \ -- "sbc %0, %4, %4\n" \ -+ __asm__ ("subs %3, %3, %9\n" \ -+ "sbcs %2, %2, %8\n" \ -+ "sbcs %1, %1, %7\n" \ -+ "sbc %0, %0, %0\n" \ - : "=r" (__borrow6_32), \ - "=&r" (A2), \ - "=&r" (A1), \ - "=&r" (A0) \ -- : "r" ((mpi_limb_t)(0)), \ -- "r" ((mpi_limb_t)(B2)), \ -- "r" ((mpi_limb_t)(B1)), \ -- "r" ((mpi_limb_t)(B0)), \ -+ : "1" ((mpi_limb_t)(B2)), \ -+ "2" ((mpi_limb_t)(B1)), \ -+ "3" ((mpi_limb_t)(B0)), \ - "Ir" ((mpi_limb_t)(C2)), \ - "Ir" ((mpi_limb_t)(C1)), \ - "Ir" ((mpi_limb_t)(C0)) \ --- -2.30.2 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.0-o-flag-munging.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.0-o-flag-munging.patch deleted file mode 100644 index 161e4ad5c13..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.0-o-flag-munging.patch +++ /dev/null @@ -1,53 +0,0 @@ -https://bugs.gentoo.org/934801 -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=patch;h=e96df0c - -From e96df0c82e086bf348753d2d0fa37fa6191b4b14 Mon Sep 17 00:00:00 2001 -From: "simit.ghane" -Date: Tue, 11 Jun 2024 07:22:28 +0530 -Subject: [PATCH] random:cipher: handle substitution in sed command - -* cipher/Makefile.am (o_flag_munging): Add 'g' flag for first sed -expression. -* random/Makefile.am (o_flag_munging): Likewise. --- - -It was there earlier and accidentally removed from -Makefile.am of cipher and random - -Signed-off-by: simit.ghane -[jk: add changelog to commit message] -Signed-off-by: Jussi Kivilinna ---- - cipher/Makefile.am | 2 +- - random/Makefile.am | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/cipher/Makefile.am b/cipher/Makefile.am -index ea9014cc..149c9f21 100644 ---- a/cipher/Makefile.am -+++ b/cipher/Makefile.am -@@ -169,7 +169,7 @@ gost-s-box$(EXEEXT_FOR_BUILD): gost-s-box.c - - - if ENABLE_O_FLAG_MUNGING --o_flag_munging = sed -e 's/[[:blank:]]-O\([2-9sgz][2-9sgz]*\)/ -O1 /' -e 's/[[:blank:]]-Ofast/ -O1 /g' -+o_flag_munging = sed -e 's/[[:blank:]]-O\([2-9sgz][2-9sgz]*\)/ -O1 /g' -e 's/[[:blank:]]-Ofast/ -O1 /g' - else - o_flag_munging = cat - endif -diff --git a/random/Makefile.am b/random/Makefile.am -index c7100ef8..a42e4306 100644 ---- a/random/Makefile.am -+++ b/random/Makefile.am -@@ -56,7 +56,7 @@ jitterentropy-base.c jitterentropy.h jitterentropy-base-user.h - - # The rndjent module needs to be compiled without optimization. */ - if ENABLE_O_FLAG_MUNGING --o_flag_munging = sed -e 's/[[:blank:]]-O\([1-9sgz][1-9sgz]*\)/ -O0 /' -e 's/[[:blank:]]-Ofast/ -O0 /g' -+o_flag_munging = sed -e 's/[[:blank:]]-O\([1-9sgz][1-9sgz]*\)/ -O0 /g' -e 's/[[:blank:]]-Ofast/ -O0 /g' - else - o_flag_munging = cat - endif --- -2.30.2 - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.0-s390x.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.0-s390x.patch deleted file mode 100644 index 6d306423df5..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.0-s390x.patch +++ /dev/null @@ -1,59 +0,0 @@ -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=2486d9b5ae015c1786cb84466a751da4bc0d7122 - -From 2486d9b5ae015c1786cb84466a751da4bc0d7122 Mon Sep 17 00:00:00 2001 -From: Jussi Kivilinna -Date: Thu, 20 Jun 2024 20:10:09 +0300 -Subject: [PATCH] Disable SHA3 s390x acceleration for CSHAKE - -* cipher/keccak.c (keccak_final_s390x): Add assert check for -expected SHAKE suffix. -(_gcry_cshake_customize, cshake_hash_buffers): Disable s390x -acceleration when selecting CSHAKE suffix. --- - -Signed-off-by: Jussi Kivilinna ---- a/cipher/keccak.c -+++ b/cipher/keccak.c -@@ -745,6 +745,8 @@ keccak_final_s390x (void *context) - } - else - { -+ gcry_assert(ctx->suffix == SHAKE_DELIMITED_SUFFIX); -+ - klmd_shake_execute (ctx->kimd_func, &ctx->state, NULL, 0, ctx->buf, - ctx->count); - ctx->count = 0; -@@ -1497,9 +1499,14 @@ _gcry_cshake_customize (void *context, struct gcry_cshake_customization *p) - /* No customization */ - return 0; - -+ ctx->suffix = CSHAKE_DELIMITED_SUFFIX; -+#ifdef USE_S390X_CRYPTO -+ /* CSHAKE suffix is not supported by s390x/kimd. */ -+ ctx->kimd_func = 0; -+#endif -+ - len_written = cshake_input_n (ctx, p->n, p->n_len); - cshake_input_s (ctx, p->s, p->s_len, len_written); -- ctx->suffix = CSHAKE_DELIMITED_SUFFIX; - return 0; - } - -@@ -1536,9 +1543,14 @@ cshake_hash_buffers (const gcry_md_spec_t *spec, void *outbuf, size_t nbytes, - size_t s_len = iov[1].len; - size_t len; - -+ ctx.suffix = CSHAKE_DELIMITED_SUFFIX; -+#ifdef USE_S390X_CRYPTO -+ /* CSHAKE suffix is not supported by s390x/kimd. */ -+ ctx.kimd_func = 0; -+#endif -+ - len = cshake_input_n (&ctx, n, n_len); - cshake_input_s (&ctx, s, s_len, len); -- ctx.suffix = CSHAKE_DELIMITED_SUFFIX; - } - iovcnt -= 2; - iov += 2; --- -2.30.2 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.1-riscv.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.1-riscv.patch deleted file mode 100644 index 9cab5f78b13..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.1-riscv.patch +++ /dev/null @@ -1,53 +0,0 @@ -https://bugs.gentoo.org/955813 -diff '--color=auto' --text --new-file --unified libgcrypt-1.11.1/cipher/simd-common-riscv.h libgcrypt/cipher/simd-common-riscv.h ---- a/cipher/simd-common-riscv.h 1970-01-01 08:00:00.000000000 +0800 -+++ b/cipher/simd-common-riscv.h 2025-05-13 08:06:01.221102266 +0800 -@@ -0,0 +1,48 @@ -+/* simd-common-riscv.h - Common macros for RISC-V vector code -+ * -+ * Copyright (C) 2025 Jussi Kivilinna -+ * -+ * This file is part of Libgcrypt. -+ * -+ * Libgcrypt is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU Lesser General Public License as -+ * published by the Free Software Foundation; either version 2.1 of -+ * the License, or (at your option) any later version. -+ * -+ * Libgcrypt is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this program; if not, see . -+ */ -+ -+#ifndef GCRY_SIMD_COMMON_RISCV_H -+#define GCRY_SIMD_COMMON_RISCV_H -+ -+#include -+ -+#define memory_barrier_with_vec(a) __asm__("" : "+vr"(a) :: "memory") -+ -+#define clear_vec_regs() __asm__ volatile("vsetvli zero, %0, e8, m1, ta, ma;\n" \ -+ "vmv.v.i v0, 0;\n" \ -+ "vmv.v.i v1, 0;\n" \ -+ "vmv2r.v v2, v0;\n" \ -+ "vmv4r.v v4, v0;\n" \ -+ "vmv8r.v v8, v0;\n" \ -+ "vmv8r.v v16, v0;\n" \ -+ "vmv8r.v v24, v0;\n" \ -+ : \ -+ : "r" (~0) \ -+ : "memory", "vl", "vtype", \ -+ "v0", "v1", "v2", "v3", \ -+ "v4", "v5", "v6", "v7", \ -+ "v8", "v9", "v10", "v11", \ -+ "v12", "v13", "v14", "v15", \ -+ "v16", "v17", "v18", "v19", \ -+ "v20", "v21", "v22", "v23", \ -+ "v24", "v25", "v26", "v27", \ -+ "v28", "v29", "v30", "v31") -+ -+#endif /* GCRY_SIMD_COMMON_RISCV_H */ diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.9.4-no-fgrep-libgcrypt-config.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.9.4-no-fgrep-libgcrypt-config.patch deleted file mode 100644 index 738eac1631b..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.9.4-no-fgrep-libgcrypt-config.patch +++ /dev/null @@ -1,21 +0,0 @@ -https://bugs.gentoo.org/868384 ---- a/src/libgcrypt-config.in -+++ b/src/libgcrypt-config.in -@@ -154,7 +154,7 @@ if test "$echo_cflags" = "yes"; then - - tmp="" - for i in $includes $cflags_final; do -- if echo "$tmp" | fgrep -v -- "$i" >/dev/null; then -+ if echo "$tmp" | grep -F -v -- "$i" >/dev/null; then - tmp="$tmp $i" - fi - done -@@ -178,7 +178,7 @@ if test "$echo_libs" = "yes"; then - - tmp="" - for i in $libdirs $libs_final; do -- if echo "$tmp" | fgrep -v -- "$i" >/dev/null; then -+ if echo "$tmp" | grep -F -v -- "$i" >/dev/null; then - tmp="$tmp $i" - fi - done diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild deleted file mode 100644 index 7b768094661..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild +++ /dev/null @@ -1,177 +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/gnupg.asc -inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="General purpose crypto library based on the code used in GnuPG" -HOMEPAGE="https://www.gnupg.org/" -SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" -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" -IUSE="+asm 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_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc +getentropy static-libs" - -# Build system only has --disable-arm-crypto-support right now -# If changing this, update src_configure logic too. -# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions, -# but this looks like it might change in future. This is just a safety check -# in case people somehow do have a CPU which only supports some. They must -# for now disable them all if that's the case. -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 ) - cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec ) -" - -RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}] - getentropy? ( - kernel_linux? ( - elibc_glibc? ( >=sys-libs/glibc-2.25 ) - elibc_musl? ( >=sys-libs/musl-1.1.20 ) - ) - )" -DEPEND="${RDEPEND}" -BDEPEND="doc? ( virtual/texi2dvi ) - verify-sig? ( sec-keys/openpgp-keys-gnupg )" - -PATCHES=( - "${FILESDIR}"/${PN}-multilib-syspath.patch - "${FILESDIR}"/${PN}-powerpc-darwin.patch - "${FILESDIR}"/${PN}-1.9.4-no-fgrep-libgcrypt-config.patch - "${FILESDIR}"/${P}-darwin.patch # upstream T6442 -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/libgcrypt-config -) - -pkg_pretend() { - if [[ ${MERGE_TYPE} == buildonly ]]; then - return - fi - if use kernel_linux && use getentropy; then - unset KV_FULL - get_running_version - if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then - eerror "The getentropy function requires the getrandom syscall." - eerror "This was introduced in Linux 3.17." - eerror "Your system is currently running Linux ${KV_FULL}." - eerror "Disable the 'getentropy' USE flag or upgrade your kernel." - die "Kernel is too old for getentropy" - fi - fi -} - -pkg_setup() { - : -} - -src_prepare() { - default - eautoreconf -} - -src_configure() { - # Sensitive to optimisation; parts of the codebase are built with - # -O0 already. Don't risk it with UB. - strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - if [[ ${CHOST} == *86*-solaris* ]] ; then - # ASM code uses GNU ELF syntax, divide in particular, we need to - # allow this via ASFLAGS, since we don't have a flag-o-matic - # function for that, we'll have to abuse cflags for this - append-cflags -Wa,--divide - fi - - if [[ ${CHOST} == powerpc* ]] ; then - # ./configure does a lot of automagic, prevent that - # generic ppc32+ppc64 altivec - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no - # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support - use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no - # power9 vector extension, aka arch 3.00 ISA - use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no - fi - - # ideally we want !tc-ld-is-bfd for best future-proofing, but it needs - # https://github.com/gentoo/gentoo/pull/28355 - # mold needs this too but right now tc-ld-is-mold is also not available - if tc-ld-is-lld; then - append-ldflags -Wl,--undefined-version - fi - - local myeconfargs=( - CC_FOR_BUILD="$(tc-getBUILD_CC)" - - --enable-noexecstack - $(use_enable cpu_flags_arm_neon neon-support) - # See REQUIRED_USE comment above - $(use_enable cpu_flags_arm_aes arm-crypto-support) - $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support) - $(use_enable cpu_flags_x86_aes aesni-support) - $(use_enable cpu_flags_x86_avx avx-support) - $(use_enable cpu_flags_x86_avx2 avx2-support) - $(use_enable cpu_flags_x86_padlock padlock-support) - $(use_enable cpu_flags_x86_sha shaext-support) - $(use_enable cpu_flags_x86_sse4_1 sse41-support) - # required for sys-power/suspend[crypt], bug 751568 - $(use_enable static-libs static) - - # disabled due to various applications requiring privileges - # after libgcrypt drops them (bug #468616) - --without-capabilities - - $(use asm || echo "--disable-asm") - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" - ) - - if use kernel_linux; then - # --enable-random=getentropy requires getentropy/getrandom. - # --enable-random=linux enables legacy code that tries getrandom - # and falls back to reading /dev/random. - myeconfargs+=( --enable-random=$(usex getentropy getentropy linux) ) - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \ - $("${S}/configure" --help | grep -o -- '--without-.*-prefix') -} - -multilib_src_compile() { - default - multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf -} - -multilib_src_test() { - # t-secmem and t-sexp need mlock which requires extra privileges; nspawn - # at least disallows that by default. - local -x GCRYPT_IN_ASAN_TEST=1 - # Avoid running (very) expensive bench-slope test. On hppa, it - # takes at least 7 hours. - local -x GCRYPT_NO_BENCHMARKS=1 - - default -} - -multilib_src_install() { - emake DESTDIR="${D}" install - multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf -} - -multilib_src_install_all() { - default - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild deleted file mode 100644 index 461f0fe8e93..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild +++ /dev/null @@ -1,175 +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/gnupg.asc -inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="General purpose crypto library based on the code used in GnuPG" -HOMEPAGE="https://www.gnupg.org/" -SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" -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" -IUSE="+asm 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_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc +getentropy static-libs" - -# Build system only has --disable-arm-crypto-support right now -# If changing this, update src_configure logic too. -# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions, -# but this looks like it might change in future. This is just a safety check -# in case people somehow do have a CPU which only supports some. They must -# for now disable them all if that's the case. -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 ) - cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec ) -" - -RDEPEND=" - >=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}] - getentropy? ( - kernel_linux? ( - elibc_glibc? ( >=sys-libs/glibc-2.25 ) - elibc_musl? ( >=sys-libs/musl-1.1.20 ) - ) - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - doc? ( virtual/texi2dvi ) - verify-sig? ( sec-keys/openpgp-keys-gnupg ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-multilib-syspath.patch - "${FILESDIR}"/${PN}-powerpc-darwin.patch - "${FILESDIR}"/${PN}-1.9.4-no-fgrep-libgcrypt-config.patch -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/libgcrypt-config -) - -pkg_pretend() { - if [[ ${MERGE_TYPE} == buildonly ]]; then - return - fi - if use kernel_linux && use getentropy; then - unset KV_FULL - get_running_version - if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then - eerror "The getentropy function requires the getrandom syscall." - eerror "This was introduced in Linux 3.17." - eerror "Your system is currently running Linux ${KV_FULL}." - eerror "Disable the 'getentropy' USE flag or upgrade your kernel." - die "Kernel is too old for getentropy" - fi - fi -} - -pkg_setup() { - : -} - -src_prepare() { - default - eautoreconf -} - -src_configure() { - # Sensitive to optimisation; parts of the codebase are built with - # -O0 already. Don't risk it with UB. - strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - if [[ ${CHOST} == *86*-solaris* ]] ; then - # ASM code uses GNU ELF syntax, divide in particular, we need to - # allow this via ASFLAGS, since we don't have a flag-o-matic - # function for that, we'll have to abuse cflags for this - append-cflags -Wa,--divide - fi - - if [[ ${CHOST} == powerpc* ]] ; then - # ./configure does a lot of automagic, prevent that - # generic ppc32+ppc64 altivec - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no - # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support - use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no - # power9 vector extension, aka arch 3.00 ISA - use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no - fi - - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - local myeconfargs=( - CC_FOR_BUILD="$(tc-getBUILD_CC)" - - --enable-noexecstack - $(use_enable cpu_flags_arm_neon neon-support) - # See REQUIRED_USE comment above - $(use_enable cpu_flags_arm_aes arm-crypto-support) - $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support) - $(use_enable cpu_flags_x86_aes aesni-support) - $(use_enable cpu_flags_x86_avx avx-support) - $(use_enable cpu_flags_x86_avx2 avx2-support) - $(use_enable cpu_flags_x86_padlock padlock-support) - $(use_enable cpu_flags_x86_sha shaext-support) - $(use_enable cpu_flags_x86_sse4_1 sse41-support) - # required for sys-power/suspend[crypt], bug 751568 - $(use_enable static-libs static) - - # disabled due to various applications requiring privileges - # after libgcrypt drops them (bug #468616) - --without-capabilities - - $(use asm || echo "--disable-asm") - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" - ) - - if use kernel_linux; then - # --enable-random=getentropy requires getentropy/getrandom. - # --enable-random=linux enables legacy code that tries getrandom - # and falls back to reading /dev/random. - myeconfargs+=( --enable-random=$(usex getentropy getentropy linux) ) - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \ - $("${S}/configure" --help | grep -o -- '--without-.*-prefix') -} - -multilib_src_compile() { - default - multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf -} - -multilib_src_test() { - # t-secmem and t-sexp need mlock which requires extra privileges; nspawn - # at least disallows that by default. - local -x GCRYPT_IN_ASAN_TEST=1 - # Avoid running (very) expensive bench-slope test. On hppa, it - # takes at least 7 hours. - local -x GCRYPT_NO_BENCHMARKS=1 - - default -} - -multilib_src_install() { - emake DESTDIR="${D}" install - multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf -} - -multilib_src_install_all() { - default - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild deleted file mode 100644 index b7c7ff42e69..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild +++ /dev/null @@ -1,181 +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/gnupg.asc -inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="General purpose crypto library based on the code used in GnuPG" -HOMEPAGE="https://www.gnupg.org/" -SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" -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" -IUSE="+asm 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_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc +getentropy static-libs" - -# Build system only has --disable-arm-crypto-support right now -# If changing this, update src_configure logic too. -# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions, -# but this looks like it might change in future. This is just a safety check -# in case people somehow do have a CPU which only supports some. They must -# for now disable them all if that's the case. -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 ) - cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec ) -" - -RDEPEND=" - >=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}] - getentropy? ( - kernel_linux? ( - elibc_glibc? ( >=sys-libs/glibc-2.25 ) - elibc_musl? ( >=sys-libs/musl-1.1.20 ) - ) - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - doc? ( virtual/texi2dvi ) - verify-sig? ( sec-keys/openpgp-keys-gnupg ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-multilib-syspath.patch - "${FILESDIR}"/${PN}-powerpc-darwin.patch - "${FILESDIR}"/${PN}-1.9.4-no-fgrep-libgcrypt-config.patch - "${FILESDIR}"/${PN}-1.10.3-x86.patch - "${FILESDIR}"/${PN}-1.10.3-x86-refactor.patch - "${FILESDIR}"/${PN}-1.10.3-hppa.patch -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/libgcrypt-config -) - -pkg_pretend() { - if [[ ${MERGE_TYPE} == buildonly ]]; then - return - fi - if use kernel_linux && use getentropy; then - unset KV_FULL - get_running_version - if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then - eerror "The getentropy function requires the getrandom syscall." - eerror "This was introduced in Linux 3.17." - eerror "Your system is currently running Linux ${KV_FULL}." - eerror "Disable the 'getentropy' USE flag or upgrade your kernel." - die "Kernel is too old for getentropy" - fi - fi -} - -pkg_setup() { - : -} - -src_prepare() { - default - eautoreconf -} - -src_configure() { - # Sensitive to optimisation; parts of the codebase are built with - # -O0 already. Don't risk it with UB. - strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - if [[ ${CHOST} == *86*-solaris* ]] ; then - # ASM code uses GNU ELF syntax, divide in particular, we need to - # allow this via ASFLAGS, since we don't have a flag-o-matic - # function for that, we'll have to abuse cflags for this - append-cflags -Wa,--divide - fi - - if [[ ${CHOST} == powerpc* ]] ; then - # ./configure does a lot of automagic, prevent that - # generic ppc32+ppc64 altivec - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no - # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support - use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no - # power9 vector extension, aka arch 3.00 ISA - use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no - fi - - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - local myeconfargs=( - CC_FOR_BUILD="$(tc-getBUILD_CC)" - - --enable-noexecstack - $(use_enable cpu_flags_arm_neon neon-support) - # See REQUIRED_USE comment above - $(use_enable cpu_flags_arm_aes arm-crypto-support) - $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support) - $(use_enable cpu_flags_x86_aes aesni-support) - $(use_enable cpu_flags_x86_avx avx-support) - $(use_enable cpu_flags_x86_avx2 avx2-support) - $(use_enable cpu_flags_x86_padlock padlock-support) - $(use_enable cpu_flags_x86_sha shaext-support) - $(use_enable cpu_flags_x86_sse4_1 sse41-support) - # required for sys-power/suspend[crypt], bug 751568 - $(use_enable static-libs static) - - # disabled due to various applications requiring privileges - # after libgcrypt drops them (bug #468616) - --without-capabilities - - # http://trac.videolan.org/vlc/ticket/620 - $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm") - - $(use asm || echo "--disable-asm") - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" - ) - - if use kernel_linux; then - # --enable-random=getentropy requires getentropy/getrandom. - # --enable-random=linux enables legacy code that tries getrandom - # and falls back to reading /dev/random. - myeconfargs+=( --enable-random=$(usex getentropy getentropy linux) ) - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \ - $("${S}/configure" --help | grep -o -- '--without-.*-prefix') -} - -multilib_src_compile() { - default - multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf -} - -multilib_src_test() { - # t-secmem and t-sexp need mlock which requires extra privileges; nspawn - # at least disallows that by default. - local -x GCRYPT_IN_ASAN_TEST=1 - # Avoid running (very) expensive bench-slope test. On hppa, it - # takes at least 7 hours. - local -x GCRYPT_NO_BENCHMARKS=1 - - default -} - -multilib_src_install() { - emake DESTDIR="${D}" install - multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf -} - -multilib_src_install_all() { - default - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0-r1.ebuild deleted file mode 100644 index 976242e767f..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0-r1.ebuild +++ /dev/null @@ -1,175 +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/gnupg.asc -inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="General purpose crypto library based on the code used in GnuPG" -HOMEPAGE="https://www.gnupg.org/" -SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" -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" -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" -IUSE+=" cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1" - -# Build system only has --disable-arm-crypto-support right now -# If changing this, update src_configure logic too. -# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions, -# but this looks like it might change in future. This is just a safety check -# in case people somehow do have a CPU which only supports some. They must -# for now disable them all if that's the case. -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 ) - cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec ) -" - -RDEPEND=" - >=dev-libs/libgpg-error-1.49[${MULTILIB_USEDEP}] - getentropy? ( - kernel_linux? ( - elibc_glibc? ( >=sys-libs/glibc-2.25 ) - elibc_musl? ( >=sys-libs/musl-1.1.20 ) - ) - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - doc? ( virtual/texi2dvi ) - verify-sig? ( sec-keys/openpgp-keys-gnupg ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-multilib-syspath.patch - "${FILESDIR}"/${PN}-powerpc-darwin.patch - "${FILESDIR}"/${P}-s390x.patch - "${FILESDIR}"/${P}-o-flag-munging.patch - "${FILESDIR}"/${P}-arm.patch -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/libgcrypt-config -) - -pkg_pretend() { - if [[ ${MERGE_TYPE} == buildonly ]]; then - return - fi - if use kernel_linux && use getentropy; then - unset KV_FULL - get_running_version - if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then - eerror "The getentropy function requires the getrandom syscall." - eerror "This was introduced in Linux 3.17." - eerror "Your system is currently running Linux ${KV_FULL}." - eerror "Disable the 'getentropy' USE flag or upgrade your kernel." - die "Kernel is too old for getentropy" - fi - fi -} - -pkg_setup() { - : -} - -src_prepare() { - default - eautoreconf -} - -src_configure() { - # Sensitive to optimisation; parts of the codebase are built with - # -O0 already. Don't risk it with UB. - strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - if [[ ${CHOST} == powerpc* ]] ; then - # ./configure does a lot of automagic, prevent that - # generic ppc32+ppc64 altivec - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no - # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support - use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no - # power9 vector extension, aka arch 3.00 ISA - use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no - fi - - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - local myeconfargs=( - CC_FOR_BUILD="$(tc-getBUILD_CC)" - - --enable-noexecstack - $(use_enable cpu_flags_arm_neon neon-support) - # See REQUIRED_USE comment above - $(use_enable cpu_flags_arm_aes arm-crypto-support) - $(use_enable cpu_flags_arm_sve sve-support) - $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support) - $(use_enable cpu_flags_x86_aes aesni-support) - $(use_enable cpu_flags_x86_avx avx-support) - $(use_enable cpu_flags_x86_avx2 avx2-support) - $(use_enable cpu_flags_x86_avx512f avx512-support) - $(use_enable cpu_flags_x86_padlock padlock-support) - $(use_enable cpu_flags_x86_sha shaext-support) - $(use_enable cpu_flags_x86_sse4_1 sse41-support) - # required for sys-power/suspend[crypt], bug 751568 - $(use_enable static-libs static) - - # disabled due to various applications requiring privileges - # after libgcrypt drops them (bug #468616) - --without-capabilities - - $(use asm || echo "--disable-asm") - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" - ) - - if use kernel_linux; then - # --enable-random=getentropy requires getentropy/getrandom. - # --enable-random=linux enables legacy code that tries getrandom - # and falls back to reading /dev/random. - myeconfargs+=( --enable-random=$(usex getentropy getentropy linux) ) - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \ - $("${S}/configure" --help | grep -o -- '--without-.*-prefix') -} - -multilib_src_compile() { - default - multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf -} - -multilib_src_test() { - # t-secmem and t-sexp need mlock which requires extra privileges; nspawn - # at least disallows that by default. - local -x GCRYPT_IN_ASAN_TEST=1 - # Avoid running (very) expensive bench-slope test. On hppa, it - # takes at least 7 hours. - local -x GCRYPT_NO_BENCHMARKS=1 - - default -} - -multilib_src_install() { - emake DESTDIR="${D}" install - multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf -} - -multilib_src_install_all() { - default - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0-r2.ebuild deleted file mode 100644 index a69a2ad7df2..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0-r2.ebuild +++ /dev/null @@ -1,182 +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/gnupg.asc -inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="General purpose crypto library based on the code used in GnuPG" -HOMEPAGE="https://www.gnupg.org/" -SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" -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" -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" -IUSE+=" cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1" - -# Build system only has --disable-arm-crypto-support right now -# If changing this, update src_configure logic too. -# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions, -# but this looks like it might change in future. This is just a safety check -# in case people somehow do have a CPU which only supports some. They must -# for now disable them all if that's the case. -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 ) - cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec ) -" - -RDEPEND=" - >=dev-libs/libgpg-error-1.49[${MULTILIB_USEDEP}] - getentropy? ( - kernel_linux? ( - elibc_glibc? ( >=sys-libs/glibc-2.25 ) - elibc_musl? ( >=sys-libs/musl-1.1.20 ) - ) - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - doc? ( virtual/texi2dvi ) - verify-sig? ( sec-keys/openpgp-keys-gnupg ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-multilib-syspath.patch - "${FILESDIR}"/${PN}-powerpc-darwin.patch - "${FILESDIR}"/${P}-s390x.patch - "${FILESDIR}"/${P}-o-flag-munging.patch - "${FILESDIR}"/${P}-arm.patch -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/libgcrypt-config -) - -pkg_pretend() { - if [[ ${MERGE_TYPE} == buildonly ]]; then - return - fi - if use kernel_linux && use getentropy; then - unset KV_FULL - get_running_version - if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then - eerror "The getentropy function requires the getrandom syscall." - eerror "This was introduced in Linux 3.17." - eerror "Your system is currently running Linux ${KV_FULL}." - eerror "Disable the 'getentropy' USE flag or upgrade your kernel." - die "Kernel is too old for getentropy" - fi - fi -} - -pkg_setup() { - : -} - -src_prepare() { - default - eautoreconf -} - -src_configure() { - # Sensitive to optimisation; parts of the codebase are built with - # -O0 already. Don't risk it with UB. - strip-flags - - # Hardcodes the path to FGREP in libgcrypt-config - export ac_cv_path_SED="sed" - export ac_cv_path_EGREP="grep -E" - export ac_cv_path_EGREP_TRADITIONAL="grep -E" - export ac_cv_path_FGREP="grep -F" - export ac_cv_path_GREP="grep" - - multilib-minimal_src_configure -} - -multilib_src_configure() { - if [[ ${CHOST} == powerpc* ]] ; then - # ./configure does a lot of automagic, prevent that - # generic ppc32+ppc64 altivec - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no - # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support - use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no - # power9 vector extension, aka arch 3.00 ISA - use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no - fi - - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - local myeconfargs=( - CC_FOR_BUILD="$(tc-getBUILD_CC)" - - --enable-noexecstack - $(use_enable cpu_flags_arm_neon neon-support) - # See REQUIRED_USE comment above - $(use_enable cpu_flags_arm_aes arm-crypto-support) - $(use_enable cpu_flags_arm_sve sve-support) - $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support) - $(use_enable cpu_flags_x86_aes aesni-support) - $(use_enable cpu_flags_x86_avx avx-support) - $(use_enable cpu_flags_x86_avx2 avx2-support) - $(use_enable cpu_flags_x86_avx512f avx512-support) - $(use_enable cpu_flags_x86_padlock padlock-support) - $(use_enable cpu_flags_x86_sha shaext-support) - $(use_enable cpu_flags_x86_sse4_1 sse41-support) - # required for sys-power/suspend[crypt], bug 751568 - $(use_enable static-libs static) - - # disabled due to various applications requiring privileges - # after libgcrypt drops them (bug #468616) - --without-capabilities - - $(use asm || echo "--disable-asm") - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" - ) - - if use kernel_linux; then - # --enable-random=getentropy requires getentropy/getrandom. - # --enable-random=linux enables legacy code that tries getrandom - # and falls back to reading /dev/random. - myeconfargs+=( --enable-random=$(usex getentropy getentropy linux) ) - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \ - $("${S}/configure" --help | grep -o -- '--without-.*-prefix') -} - -multilib_src_compile() { - default - multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf -} - -multilib_src_test() { - # t-secmem and t-sexp need mlock which requires extra privileges; nspawn - # at least disallows that by default. - local -x GCRYPT_IN_ASAN_TEST=1 - # Avoid running (very) expensive bench-slope test. On hppa, it - # takes at least 7 hours. - local -x GCRYPT_NO_BENCHMARKS=1 - - default -} - -multilib_src_install() { - emake DESTDIR="${D}" install - multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf -} - -multilib_src_install_all() { - default - find "${ED}" -type f -name '*.la' -delete || die -} 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.2-r1.ebuild similarity index 90% rename from sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.2-r1.ebuild index 7723c5ad7e5..2e0c41f539d 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.2-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -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 ~arm64-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" @@ -51,7 +51,6 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-multilib-syspath.patch "${FILESDIR}"/${PN}-powerpc-darwin.patch - "${FILESDIR}"/${PN}-1.11.1-riscv.patch ) MULTILIB_CHOST_TOOLS=( @@ -85,25 +84,16 @@ src_prepare() { } src_configure() { - # Sensitive to optimisation; parts of the codebase are built with - # -O0 already. Don't risk it with UB. - strip-flags - # Temporary workaround for a build failure (known gcc issue): - # # * https://bugs.gentoo.org/956605 - # * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110812 - # + # * https://gcc.gnu.org/PR110812 use riscv && filter-lto - # Temporary workaround for mfpmath=sse on x86 cauing issues when -msse is + # Temporary workaround for mfpmath=sse on x86 causing issues when -msse is # stripped as it's not clear cut on how to handle in flag-o-matic we can at # least solve it the ebuild see https://bugs.gentoo.org/959349 use x86 && filter-flags -mfpmath=sse - # Temporary workaround for build failures with gcc-15, see bug 951267 - append-cflags -std=gnu17 - # Hardcodes the path to FGREP in libgcrypt-config export ac_cv_path_SED="sed" export ac_cv_path_EGREP="grep -E" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.2.ebuild index 2289611c5d5..407248536bc 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.2.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 ~arm64-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" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/Manifest index e3b7a53f930..0be659d86a8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/Manifest @@ -1,8 +1,6 @@ -DIST libgpg-error-1.51.tar.bz2 1085510 BLAKE2B 8727a993fb5e589beceafce9d06d843b28ceff80398c33a5655608bdcd3d92ee363389bc209a1dff675b9f78d56f13b78d77e55696c0736612b09275ae0da7f3 SHA512 4489f615c6a0389577a7d1fd7d3917517bb2fe032abd9a6d87dfdbd165dabcf53f8780645934020bf27517b67a064297475888d5b368176cf06bc22f1e735e2b -DIST libgpg-error-1.51.tar.bz2.sig 119 BLAKE2B 34bacbe1923aebc015ea1b975616836dd80278c8edc293474f83633fef59326edfe4043419729de4c8f26c49a6292f7d13a23c3ccda8aea3d1923913df616a5e SHA512 fc793d674c0f5b26efdc71a4420e9743e9dcf8ab646577be3561dc46f15343be42991cf3fe5c49d049f49e929618e7c05dbd32f9e4ceb1d58b90263058621a9e -DIST libgpg-error-1.53.tar.bz2 1106986 BLAKE2B 9c00543c086f963cf84507ba1a33e4df67a1a401fd313789372f489fd2d7eb77d0a4eb22f002325c9a1386f8aab2893e5dca1d9d2c1c674d7190b56aa37bdc91 SHA512 e42b013eaa4af3bbd7085eff4b9fa980052f7efebe98e512728b6079be85ae156f040acbb0bb16f0b9113b512e0c7e6fb4762c0593a4a154183965901e81f552 -DIST libgpg-error-1.53.tar.bz2.sig 119 BLAKE2B 421d1a3babc1a0916c8b95ade4550c5003137cc86295ee10d595e2d879057959637e760b4f66b5b5c5edfa5367199b02685c734dafbcb2369abc85fb3998d28f SHA512 62000a0e154219834e3891285f41357cfabdd95c1888f7703c76159529eac73bd2c9b7cd290a287ff93e052bd3ca6c70597b2250ed786c329823d34a0fc3d8cf -DIST libgpg-error-1.55.tar.bz2 1109437 BLAKE2B ae8bf5d17ebd252b32b05b9686baf2d2e027f5e827dbd7db6fea37570aeeeea2625d416aaea96fbcdfd64fd08de589ef054843b2e3619d22fc8a052a6b5c7e0a SHA512 d3f6ca9d9abefe81f5cbbc195fbe259d3362119018c535ad2621ee407cad3487011325a9f4c4a15442a9ac5a0fe7ce86dafd7b3d891a446516362ba6b7b9047b -DIST libgpg-error-1.55.tar.bz2.sig 238 BLAKE2B 62d461984fd658a9722183e08b8805c8f48dca06a37de9f8f76e19d3946099ec252c8ef1df76e20f9ea49f5413d87ce4a00b8dd967664125d93089617a42894a SHA512 dee5152818ff9f65d2e7165c378f10a7d07ef58848c7290e98c87ce17aaed37fea82df0c3005b159da2ce8a48a1396037f43b22c5ee9857c01bc86b77181e7a1 DIST libgpg-error-1.56.tar.bz2 1116017 BLAKE2B 2c84fe5cef8c77dc01f481aeacada815baf7fff85369a9c877dc4a11f2e3f84f37ad69a04213bc79765677dd2829a5074d7c8239b298429484378234cb4d2a66 SHA512 ff4160f4133cf1a90eddf5f59d6248214b59db4f021f124302be37bf04fa1f2eb665560914cbe289095e630a31ba141252e7a72a8e6dbbc622cb135a2066259a DIST libgpg-error-1.56.tar.bz2.sig 147 BLAKE2B 13a2642c4b891ab92abfc0d9022b06a1a545b09bb86b460485d26e5626ce7f87f0c08cc2563ddf78153ad35ff68223acec3a87a60aa75192b964e5d17bbc6e9b SHA512 20f3d0af54948479a8d878fe580f6929cad097ca388c7ae314a716574e9edb976b53cd0e5cdb0164485a832dd9961101bbb1a86b053a1492e05717710a14e303 +DIST libgpg-error-1.57.tar.bz2 1123531 BLAKE2B fb48564c32d2f7dc47eaf4ac26b88d47b0df71c69ff62921965033c6f209011052673b7a09eeb44605653f21255d40cd0fb8492fe02eaacab84f76b98c77eb6b SHA512 d45d2ba1539d99f2886fd568cc29642b12a028d26d13b494e5f6df5b3ed5cdec04a861b29e310ba3fa2ef6d1bbeca3e0ae922a230d4769756492ab912bd6902c +DIST libgpg-error-1.57.tar.bz2.sig 147 BLAKE2B 9c6ca75160daff73c99b6807d9c89c1195288bc507df1f53b0f01d42a3d530c32b62bf51d4c3a4c6b741a39136855bd42b5fb43f4278d778b0d1f5228bef03ab SHA512 136818c9f2c9bddd3b91b8dbf08ae63dd8e6f9924b06883dc37238a3ee8e5a975f7e8c6749fcb972039642050d181167ccee9efcd73c2c068941127c8a81235f +DIST libgpg-error-1.58.tar.bz2 1123899 BLAKE2B 7d1c0d54094d870e9e92aebadc4a8a3cf0e7a1ae7841b445896105583a8885439ca8364b2e364639759912ea46f801b41e5025db9aa292c4fce43713430711e1 SHA512 4f4cb7f24e6cf4266c30da3985b9e62d4ab6012d8f43e9969d6edfd344d2a08f6277ab10610627597f6c58d064b3127fd286ae678381b84610d611645db5bbb4 +DIST libgpg-error-1.58.tar.bz2.sig 147 BLAKE2B edef17d406ea390d2463e06ec0dc3f1dbc1304198bdcd0079b2cbeba8d0078c89574a658697710844dd38ac8af4e6efa9936901fc85d8541f6745ca9c82af244 SHA512 8c3ecc7fe9616bc00ff1d9b4ea7adac8eaa63778d757c9fff1b143ecf1542d95b0fbce1e3de4e3ee1112fab30558419489dc3b97abd8030c838d0eb64fd27d40 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.55.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.55.ebuild deleted file mode 100644 index 43580d85220..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.55.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Maintainers should: -# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/ -# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159 -# (find the one for the current release then subscribe to it + -# any subsequent ones linked within so you're covered for a while.) - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc -inherit libtool multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="Contains error handling functions used by GnuPG software" -HOMEPAGE="https://www.gnupg.org/related_software/libgpg-error/" -SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" -SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" - -LICENSE="GPL-2 LGPL-2.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" -IUSE="common-lisp nls static-libs test" -RESTRICT="!test? ( test )" - -RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND}" -BDEPEND=" - nls? ( sys-devel/gettext ) - verify-sig? ( sec-keys/openpgp-keys-gnupg ) -" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/gpg-error.h - /usr/include/gpgrt.h -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/gpg-error-config - /usr/bin/gpgrt-config -) - -src_prepare() { - default - elibtoolize - - if use prefix ; then - # don't hardcode /usr/xpg4/bin/sh as shell on Solaris - sed -i -e 's:INSTALLSHELLPATH=/usr/xpg4/bin/sh:INSTALLSHELLPATH=/bin/sh:g' configure.ac configure || die - fi - - # This check breaks multilib - cat <<-EOF > src/gpg-error-config-test.sh.in || die - #!@INSTALLSHELLPATH@ - exit 0 - EOF - - # only necessary for as long as we run eautoreconf, configure.ac - # uses ./autogen.sh to generate PACKAGE_VERSION, but autogen.sh is - # not a pure /bin/sh script, so it fails on some hosts - #sed -i -e "1s:.*:#\!${BASH}:" autogen.sh || die - #eautoreconf -} - -multilib_src_configure() { - local myeconfargs=( - $(multilib_is_native_abi || echo --disable-languages) - $(use_enable common-lisp languages) - $(use_enable nls) - # required for sys-power/suspend[crypt], bug 751568 - $(use_enable static-libs static) - $(use_enable test tests) - - # See bug #699206 and its duplicates wrt gpgme-config - # Upstream no longer install this by default and we should - # seek to disable it at some point. - --enable-install-gpg-error-config - - --enable-threads - CC_FOR_BUILD="$(tc-getBUILD_CC)" - $("${S}/configure" --help | grep -o -- '--without-.*-prefix') - ) - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_install_all() { - einstalldocs - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.56.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.56.ebuild index 43580d85220..8fb77cd1f21 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.56.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.56.ebuild @@ -19,7 +19,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="GPL-2 LGPL-2.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="common-lisp nls static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.51.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.57.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.51.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.57.ebuild index 43580d85220..6be1b0353b5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.51.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.57.ebuild @@ -19,7 +19,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="GPL-2 LGPL-2.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="common-lisp nls static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.53.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.58.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.53.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.58.ebuild index 43580d85220..6be1b0353b5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.53.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.58.ebuild @@ -19,7 +19,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="GPL-2 LGPL-2.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="common-lisp nls static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.6.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.6.7.ebuild index c0c8449f815..dc68c68df43 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.6.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.6.7.ebuild @@ -20,7 +20,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="LGPL-3+ GPL-2+ 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="static-libs" RDEPEND=">=dev-libs/libgpg-error-1.33" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.5.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.5.4.ebuild index c10d1fa09aa..de5758d91f0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.5.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.5.4.ebuild @@ -15,7 +15,7 @@ if false && ! [[ $(( $(ver_cut 2) % 2 )) -eq 0 ]] ; then SRC_URI="https://alpha.gnu.org/gnu/libtool/${MY_P}.tar.xz" else SRC_URI="mirror://gnu/libtool/${MY_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 ~arm64-macos ~x64-macos ~x64-solaris" fi S="${WORKDIR}"/${MY_P}/libltdl diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.6.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.6.0.ebuild index d065fe983f3..192de805336 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.6.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.6.0.ebuild @@ -16,7 +16,7 @@ if true || ! [[ $(( $(ver_cut 2) % 2 )) -eq 0 ]] ; then SRC_URI="https://alpha.gnu.org/gnu/libtool/${MY_P}.tar.xz" else SRC_URI="mirror://gnu/libtool/${MY_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 ~arm64-macos ~x64-macos ~x64-solaris" fi S="${WORKDIR}"/${MY_P}/libltdl diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-3.10.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-3.10.0.ebuild index a1c0120c596..eadd323d9b6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-3.10.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-3.10.0.ebuild @@ -22,7 +22,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/thom311/${PN}/releases/download/${PN}${LIBNL_DIR}/${P/_rc/-rc}.tar.gz" - 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" S="${WORKDIR}/${LIBNL_P}" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-3.11.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-3.11.0.ebuild index 7087ab65b13..3cd69d2292b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-3.11.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-3.11.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -22,7 +22,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/thom311/${PN}/releases/download/${PN}${LIBNL_DIR}/${P/_rc/-rc}.tar.gz" - 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" S="${WORKDIR}/${LIBNL_P}" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-9999.ebuild index 5d4ac2e9b24..f7369de736a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-9999.ebuild @@ -22,7 +22,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/thom311/${PN}/releases/download/${PN}${LIBNL_DIR}/${P/_rc/-rc}.tar.gz" - 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" S="${WORKDIR}/${LIBNL_P}" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.45.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.45.ebuild index f1a161e2bf7..f303a22b155 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.45.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.45.ebuild @@ -21,7 +21,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="BSD" SLOT="0/3" # libpcre2-posix.so version 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="bzip2 +jit libedit +pcre16 +pcre32 +readline static-libs unicode valgrind zlib" REQUIRED_USE="?? ( libedit readline )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.46.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.46.ebuild index 8e8a778c599..3f565dbeb21 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.46.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.46.ebuild @@ -22,7 +22,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="BSD" SLOT="0/3" # libpcre2-posix.so version 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="bzip2 +jit libedit +pcre16 +pcre32 +readline static-libs unicode valgrind zlib" REQUIRED_USE="?? ( libedit readline )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.47.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.47.ebuild index 9c3fe22c579..60412f7e6a6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.47.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.47.ebuild @@ -22,7 +22,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="BSD" SLOT="0/3" # libpcre2-posix.so version 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="bzip2 +jit libedit +pcre16 +pcre32 +readline static-libs unicode valgrind zlib" REQUIRED_USE="?? ( libedit readline )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpipeline/libpipeline-1.5.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpipeline/libpipeline-1.5.8.ebuild index 220a89b822b..ac03cc4e16a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpipeline/libpipeline-1.5.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpipeline/libpipeline-1.5.8.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild deleted file mode 100644 index 153de17d96f..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) -inherit libtool pam python-r1 - -DESCRIPTION="Library for password quality checking and generating random passwords" -HOMEPAGE="https://github.com/libpwquality/libpwquality" -SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2" - -LICENSE="|| ( BSD GPL-2 )" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE="pam python static-libs" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -BDEPEND=" - >=sys-devel/gettext-0.18.2 - virtual/pkgconfig -" -RDEPEND=" - >=sys-libs/cracklib-2.8:=[static-libs(+)?] - pam? ( sys-libs/pam ) - python? ( ${PYTHON_DEPS} ) -" -DEPEND="${RDEPEND}" - -src_prepare() { - default - elibtoolize - - if use python ; then - # bug #830397 - export SETUPTOOLS_USE_DISTUTILS=stdlib - python_copy_sources - fi -} - -src_configure() { - # Install library in /lib for pam - configuring() { - local sitedir - econf \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - $(use_enable pam) \ - --with-securedir="${EPREFIX}/$(getpam_mod_dir)" \ - $(use_enable python python-bindings) \ - $(usex python "--with-pythonsitedir=$(use python && python_get_sitedir)" "") \ - $(use_enable static-libs static) - } - if_use_python_python_foreach_impl configuring -} - -src_compile() { - if_use_python_python_foreach_impl default -} - -src_test() { - if_use_python_python_foreach_impl default -} - -src_install() { - if_use_python_python_foreach_impl default - find "${ED}" -name '*.la' -delete || die -} - -if_use_python_python_foreach_impl() { - if use python; then - python_foreach_impl run_in_build_dir "$@" - else - "$@" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtasn1/libtasn1-4.19.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libtasn1/libtasn1-4.19.0.ebuild index 1ad3130a468..ad3fc556158 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtasn1/libtasn1-4.19.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libtasn1/libtasn1-4.19.0.ebuild @@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.gz.sig )" LICENSE="LGPL-2.1+" SLOT="0/6" # subslot = libtasn1 soname 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtasn1/libtasn1-4.20.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libtasn1/libtasn1-4.20.0.ebuild index 390cc6c40bb..759b12fe07f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtasn1/libtasn1-4.20.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libtasn1/libtasn1-4.20.0.ebuild @@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.gz.sig )" LICENSE="LGPL-2.1+" SLOT="0/6" # subslot = libtasn1 soname 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/Manifest index c1a70e93e33..b58fae6a95e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/Manifest @@ -1,3 +1,4 @@ -DIST libtraceevent-1.7.3.tar.gz 152363 BLAKE2B dcbca01f2246045f4f2377f91118e2468bca4344686b9e0349d04270543fea5648d5c227bdaf6e716d623bab8d03cec7a869bf67d03ca6a7836014854bbe40b8 SHA512 81302cb24a3fc71e8bd6a0ba975a2699eaa629ac0e90837bf8fc8e23e04156827d19b25544cdb506b0bf76d5f08699264c9ecb979f9218bdee6b0b0e7339b1e0 DIST libtraceevent-1.8.3.tar.gz 156029 BLAKE2B 91df67b7ba2bb76f594b9b6ab457394d3fad8e1db5ec2206e58c821ebf8101c4e1c87adb00aa7c59520d1ac2b0820f43ebe01a062e5c0bb586a4f99078c1b3f4 SHA512 25aebdd3f8bd5f9e0fadf4f03af73effdfe6e40c5667dfbe5011f4bfaf536657dde1c085e7c26d13a9da04fa8ce2d7c27210a5d3ab8aabc7e7a485a46a4456ea DIST libtraceevent-1.8.4.tar.gz 156227 BLAKE2B da8be57eba0003f0fde8dc19f7c6987b0cd3c79bf006093191a1884e535828661d0384309b7ac9cee7870f8e7de51ba4527a9e44ed70d44ad2c95819633443f9 SHA512 8db691d1d8e96c73a30a79aa498fead2d9df2b41fd7b39865a3299a603e8c73a3268930a42324cef38d79b0a87f4f13a43ebf146a8e31aee91ede459d8da7b84 +DIST libtraceevent-1.8.6.tar.gz 157164 BLAKE2B 4b5d0604e0b31b4560ca913de8e9d18a2e4a4152e6b59cc99f0eaae95143fb9716ddd9e4d9611c6252fd1a642953c52c9fc4ca1fdfa7e1f6b1de380e42fa72f2 SHA512 36b04bf78c1c8b984dfb5a5f32037ae3862f195d8e91c79d5efb410c0c9315037b0e6f7d5c0022d0089785be6c2c6efd0b9eff0f820f3e39f245711faae68355 +DIST libtraceevent-1.8.7.tar.gz 157556 BLAKE2B 15d32abe2128587ab3f887fca00a1196068fce2f366ffa53a964e87e82aeae211c03c972f334701aa12c01e2e968b7fd9f21ab61a45487c9597172ac3c9b8524 SHA512 63c520794effe8e570bef80b7e81696b59de0e095c8a184722e79450856ebaed5e9e89c1c679a010da75043e80db2b2968a9af47da1f436f844ca7112e1d0451 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.7.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.8.6.ebuild similarity index 86% rename from sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.7.3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.8.6.ebuild index d0704b3afcc..e5bc0a853e9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.7.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.8.6.ebuild @@ -1,4 +1,4 @@ -# Copyright 2019-2024 Gentoo Authors +# Copyright 2019-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ if [[ ${PV} =~ [9]{4,} ]]; then inherit git-r3 else SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.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" @@ -33,6 +33,7 @@ BDEPEND=" src_configure() { local emesonargs=( -Dasciidoctor=false + -Ddoc=$(usex doc true false) ) # TODO: get docs & tests optional upstream diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.7.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.8.7.ebuild similarity index 50% rename from sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.7.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.8.7.ebuild index 6fa7cdc9b50..f4a5155786e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.7.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.8.7.ebuild @@ -1,43 +1,39 @@ -# Copyright 2019-2024 Gentoo Authors +# Copyright 2019-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit meson -DESCRIPTION="Linux kernel trace file system library" +DESCRIPTION="Linux kernel trace event library" HOMEPAGE="https://www.trace-cmd.org/" if [[ ${PV} =~ [9]{4,} ]]; then - EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/" + EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/" inherit git-r3 else - SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" + SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/snapshot/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" fi LICENSE="LGPL-2.1" SLOT="0" +IUSE="doc test" +RESTRICT="!test? ( test )" -# Please double check the minimum libtraceevent version! RDEPEND=" - !=dev-libs/libtraceevent-1.7.0 + ! ${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 ~arm64-macos ~x64-macos ~x64-solaris" S="${WORKDIR}/${PN}-v${PV}" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0-r1.ebuild index 51b018e5ffb..967992cd41c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0-r1.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 ~arm64-macos ~x64-macos ~x64-solaris" S="${WORKDIR}/${PN}-v${PV}" fi 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 119f34e05a1..02c7239099f 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 ~arm64-macos ~x64-macos ~x64-solaris" S="${WORKDIR}/${PN}-v${PV}" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-9999.ebuild index 859c1fae34d..409e662ffe8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-9999.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 ~arm64-macos ~x64-macos ~x64-solaris" S="${WORKDIR}/${PN}-v${PV}" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.9.ebuild index b35b63d0b51..04b3d0fb406 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.9.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 ~arm64-macos ~x64-macos ~x64-solaris" fi SRC_URI+=" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.14.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.14.6.ebuild index a26ddf7022f..9f6d6856e95 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.14.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.14.6.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 ~arm64-macos ~x64-macos ~x64-solaris" fi SRC_URI+=" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.15.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.15.0-r1.ebuild index a085029da01..51385fe0c5c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.15.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.15.0-r1.ebuild @@ -16,7 +16,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 ~arm64-macos ~x64-macos ~x64-solaris" fi S="${WORKDIR}/${PN}-${PV%_rc*}" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.15.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.15.1.ebuild index 333f56e75fc..8308d22ec57 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.15.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.15.1.ebuild @@ -16,7 +16,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 ~arm64-macos ~x64-macos ~x64-solaris" fi S="${WORKDIR}/${PN}-${PV%_rc*}" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild index b8894da192e..f7c5436b189 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild @@ -16,7 +16,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 ~arm64-macos ~x64-macos ~x64-solaris" fi S="${WORKDIR}/${PN}-${PV%_rc*}" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest index ce7f9f87444..dcf1b033014 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest @@ -1,2 +1,3 @@ DIST libxslt-1.1.43-patches.tar.xz 8296 BLAKE2B 198c01ad6848bda4ce210750a8a8dfb617b5f6b1f74a38d90873a72ecbef77a771de88cbf31c552a7ef73cf90823ecc5859c3846298a50cea065e51cd0995afc SHA512 625d3b99a04bbe653e5a6140d7837b1029ff5b09883258c5075e1298402112af9b9272a7863c32a0751f16fc71e84142cfb5ac134ffbef0731fe0a1ddf4ec0b7 DIST libxslt-1.1.43.tar.xz 1518364 BLAKE2B 84d1cff32c78c4eeff4db614214ee1808bcf958d55711b08e7e2191a4343fb61d38d6b3d9b43f6f12be2dc909fced0a5b5905fa2c5ec7761c83125007e1ce265 SHA512 96110b0397a8f5791f489127574e2143845feb61bea0581d7b7e3c1101fd0718483bae81a7ce417b971bd678293bfd95daddad0dadd3e256c87d41a69faed85a +DIST libxslt-1.1.45.tar.xz 1519992 BLAKE2B ab93de7b37c03b99bd170e0e781bce262c9e0f107bc1d47998995cdacbaa5ee0163692c2758d4240bcb260f8376055541f378f428da63f63b3d2c9d12bb92efb SHA512 8f0608aad7250ccfe62808169d464a1641535b41a73b4fbbc1eeec9c9e785bbd8f4860d571eb567ee1e7abbd89ac3d707a5f3e3a9e836ecaf38155793ce47d78 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.43-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.43-r1.ebuild index 21476289a90..f79d0e9b511 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.43-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.43-r1.ebuild @@ -15,7 +15,7 @@ if [[ ${PV} == 9999 ]] ; then inherit autotools git-r3 else inherit libtool 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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="MIT" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.43-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.43-r2.ebuild index e87289ef20b..b1df2ee0aa1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.43-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.43-r2.ebuild @@ -17,7 +17,7 @@ else inherit libtool gnome.org SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches.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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="MIT" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.45.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.45.ebuild new file mode 100644 index 00000000000..a03e63c187a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.45.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Note: Please bump this in sync with dev-libs/libxml2. + +PYTHON_COMPAT=( python3_{11..14} ) +inherit python-r1 multilib-minimal + +DESCRIPTION="XSLT libraries and tools" +HOMEPAGE="https://gitlab.gnome.org/GNOME/libxslt" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxslt" + inherit autotools git-r3 +else + inherit libtool gnome.org + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="crypt debug debugger examples python static-libs" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +BDEPEND=">=virtual/pkgconfig-1" +RDEPEND=" + >=dev-libs/libxml2-2.15.1:2=[${MULTILIB_USEDEP}] + crypt? ( >=dev-libs/libgcrypt-1.5.3:=[${MULTILIB_USEDEP}] ) + python? ( + ${PYTHON_DEPS} + >=dev-libs/libxml2-2.13:2=[${MULTILIB_USEDEP},python,${PYTHON_USEDEP}] + ) +" +DEPEND="${RDEPEND}" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/xslt-config +) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/libxslt/xsltconfig.h +) + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + else + # Prefix always needs elibtoolize if not eautoreconf'd. + elibtoolize + fi +} + +multilib_src_configure() { + libxslt_configure() { + ECONF_SOURCE="${S}" econf \ + --without-python \ + $(use_with crypt crypto) \ + $(use_with debug) \ + $(use_with debugger) \ + $(use_enable static-libs static) \ + "$@" + } + + # Build Python bindings separately + libxslt_configure --without-python + + if multilib_is_native_abi && use python ; then + NATIVE_BUILD_DIR="${BUILD_DIR}" + python_foreach_impl run_in_build_dir libxslt_configure --with-python + fi +} + +libxslt_py_emake() { + pushd "${BUILD_DIR}"/python >/dev/null || die + + emake top_builddir="${NATIVE_BUILD_DIR}" "$@" + + popd >/dev/null || die +} + +multilib_src_compile() { + default + + if multilib_is_native_abi && use python ; then + python_foreach_impl run_in_build_dir libxslt_py_emake all + fi +} + +multilib_src_test() { + default + + if multilib_is_native_abi && use python ; then + python_foreach_impl run_in_build_dir libxslt_py_emake check + fi +} + +multilib_src_install() { + # "default" does not work here - docs are installed by multilib_src_install_all + emake DESTDIR="${D}" install + + if multilib_is_native_abi && use python; then + python_foreach_impl run_in_build_dir libxslt_py_emake \ + DESTDIR="${D}" \ + install + + # Hack until automake release is made for the optimise fix + # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097 + python_foreach_impl python_optimize + fi +} + +multilib_src_install_all() { + einstalldocs + + if ! use examples ; then + rm -rf "${ED}"/usr/share/doc/${PF}/tutorial{,2} || die + rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die + fi + + find "${ED}" -type f -name "*.la" -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-9999.ebuild index e7e3c233dfb..a03e63c187a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-9999.ebuild @@ -15,7 +15,7 @@ if [[ ${PV} == 9999 ]] ; then inherit autotools git-r3 else inherit libtool 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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="MIT" @@ -25,7 +25,7 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" BDEPEND=">=virtual/pkgconfig-1" RDEPEND=" - >=dev-libs/libxml2-2.13:2=[${MULTILIB_USEDEP}] + >=dev-libs/libxml2-2.15.1:2=[${MULTILIB_USEDEP}] crypt? ( >=dev-libs/libgcrypt-1.5.3:=[${MULTILIB_USEDEP}] ) python? ( ${PYTHON_DEPS} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libyaml/libyaml-0.2.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libyaml/libyaml-0.2.2.ebuild index bf6f13f508a..963ac831093 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libyaml/libyaml-0.2.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libyaml/libyaml-0.2.2.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/yaml/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" IUSE="doc static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libyaml/libyaml-0.2.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libyaml/libyaml-0.2.5.ebuild index 4de93957e4b..6bb48dbcab2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libyaml/libyaml-0.2.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libyaml/libyaml-0.2.5.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/yaml/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="doc static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/lzo/lzo-2.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/lzo/lzo-2.10.ebuild index 47854a901e6..aba4b77fb8b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/lzo/lzo-2.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/lzo/lzo-2.10.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.oberhumer.com/opensource/lzo/download/${P}.tar.gz" LICENSE="GPL-2+" 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="examples static-libs" multilib_src_configure() { diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/mpc/mpc-1.3.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/mpc/mpc-1.3.1.ebuild index 51a838c6ba8..05bd1660274 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/mpc/mpc-1.3.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/mpc/mpc-1.3.1.ebuild @@ -14,7 +14,7 @@ if [[ ${PV} == *_rc* ]] ; then else SRC_URI="mirror://gnu/${PN}/${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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="LGPL-3+ FDL-1.3+" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/mpfr/mpfr-4.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/mpfr/mpfr-4.2.1.ebuild index 3800b06f187..b0e43e8dd87 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/mpfr/mpfr-4.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/mpfr/mpfr-4.2.1.ebuild @@ -48,7 +48,7 @@ LICENSE="LGPL-3+" # preserve-libs.eclass usage to pkg_*inst! See e.g. the readline ebuild. SLOT="0/6" # libmpfr.so version 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="static-libs" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/mpfr/mpfr-4.2.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/mpfr/mpfr-4.2.2.ebuild index 3800b06f187..b0e43e8dd87 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/mpfr/mpfr-4.2.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/mpfr/mpfr-4.2.2.ebuild @@ -48,7 +48,7 @@ LICENSE="LGPL-3+" # preserve-libs.eclass usage to pkg_*inst! See e.g. the readline ebuild. SLOT="0/6" # libmpfr.so version 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="static-libs" 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 92d1b5165ba..5a65c3c361f 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 @@ -14,7 +14,7 @@ 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-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=" 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 index 6a2054e35db..793746068f0 100644 --- 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 @@ -14,7 +14,7 @@ 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-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=" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/npth/npth-1.7-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/npth/npth-1.7-r1.ebuild index b1a6eb0b8ed..d4d1fd5ccba 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/npth/npth-1.7-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/npth/npth-1.7-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" LICENSE="LGPL-2.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/npth/npth-1.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/npth/npth-1.8.ebuild index 2bab444b2b3..dc626884cc8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/npth/npth-1.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/npth/npth-1.8.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" LICENSE="LGPL-2.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.36.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.36.ebuild index bf0accc2a1c..a00cd43bfaa 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.36.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.36.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz" LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" IUSE="debug" MULTILIB_CHOST_TOOLS=( diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.37.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.37.ebuild index bf0accc2a1c..a00cd43bfaa 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.37.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.37.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz" LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" IUSE="debug" MULTILIB_CHOST_TOOLS=( diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.38.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.38.2.ebuild index e631f62365a..a50b8c57707 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.38.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.38.2.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz" LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" IUSE="debug" MULTILIB_CHOST_TOOLS=( diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.38.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.38.ebuild index e631f62365a..a50b8c57707 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.38.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.38.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz" LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" IUSE="debug" MULTILIB_CHOST_TOOLS=( diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.10.ebuild index 5f3231d8c07..6378091b7ab 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.10.ebuild @@ -21,7 +21,7 @@ fi LICENSE="BSD-2" SLOT="0/5" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~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 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="crnl-as-line-terminator static-libs" BDEPEND="" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.9-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.9-r1.ebuild index 97b563b60da..e260c4771a5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.9-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.9-r1.ebuild @@ -21,7 +21,7 @@ fi LICENSE="BSD-2" SLOT="0/5" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~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 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="crnl-as-line-terminator static-libs" BDEPEND="" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.9.ebuild index 5f3231d8c07..6378091b7ab 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.9.ebuild @@ -21,7 +21,7 @@ fi LICENSE="BSD-2" SLOT="0/5" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~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 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="crnl-as-line-terminator static-libs" BDEPEND="" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/files/gentoo.config-1.0.2 b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/files/gentoo.config-1.0.2 index caa569588f3..66a8b368170 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/files/gentoo.config-1.0.2 +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/files/gentoo.config-1.0.2 @@ -64,6 +64,7 @@ case ${CHOST} in *-winnt*) system="winnt";; x86_64-*-mingw*) system="mingw64";; *mingw*) system="mingw";; + *-gnu*) system="hurd";; *) exit 0;; esac @@ -165,6 +166,13 @@ mingw*) # special case ... no xxx-yyy style name echo ${system} ;; +hurd) + case ${chost_machine} in + i[0-9]86*) machine=x86;; + x86_64*) machine=x86_64;; + *) machine=generic32;; + esac + ;; esac diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/files/gentoo.config-1.0.4 b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/files/gentoo.config-1.0.4 index d32ce877a34..7754d9e5aaf 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/files/gentoo.config-1.0.4 +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/files/gentoo.config-1.0.4 @@ -65,6 +65,7 @@ case ${CHOST} in *-winnt*) system="winnt";; x86_64-*-mingw*) system="mingw64";; *mingw*) system="mingw";; + *-gnu*) system="hurd";; *) exit 0;; esac @@ -179,6 +180,13 @@ mingw*) # special case ... no xxx-yyy style name echo ${system} ;; +hurd) + case ${chost_machine} in + i[0-9]86*) machine=x86;; + x86_64*) machine=x86_64;; + *) machine=generic32;; + esac + ;; esac diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-1.0.2u-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-1.0.2u-r1.ebuild index 8c8bf760af3..d0c876578de 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-1.0.2u-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-1.0.2u-r1.ebuild @@ -33,7 +33,7 @@ SRC_URI="mirror://openssl/source/${MY_P}.tar.gz LICENSE="openssl" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux ~arm64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos" IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 sslv2 +sslv3 static-libs test tls-compression +tls-heartbeat vanilla" RESTRICT="!bindist? ( bindist ) !test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-1.1.1w.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-1.1.1w.ebuild index decd6d6f72e..c8826028e09 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-1.1.1w.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-1.1.1w.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="openssl" SLOT="0/1.1" # .so version of libssl/libcrypto if [[ ${PV} != *_pre* ]] ; 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 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="+asm rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-compression tls-heartbeat vanilla verify-sig weak-ssl-ciphers" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.0.18.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.0.18.ebuild index f266c2160c0..3395bae6620 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.0.18.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.0.18.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 ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.0.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.0.9999.ebuild index 3c8a3d72b5c..65cd17e6318 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.0.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.0.9999.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 ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.2.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.2.6.ebuild index 26701d0aba7..3036c7f3992 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.2.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.2.6.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 ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.2.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.2.9999.ebuild index 328c0c8ecbb..dfa2ed35554 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.2.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.2.9999.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 ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.3.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.3.5.ebuild index 93fa05beaac..3813d5430f0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.3.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.3.5.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 ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.3.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.3.9999.ebuild index 75a0f3d1ed0..3acab3cf171 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.3.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.3.9999.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 ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.3.ebuild index 6ba98c253b2..a0741999964 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.3.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 ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.9999.ebuild index 75a0f3d1ed0..3acab3cf171 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.9999.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 ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.4.ebuild index 2301ee94bf7..42a318f0f28 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.4.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 ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.9999.ebuild index d9a8c4906df..2de7e8ce8aa 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.9999.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 ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.6.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.6.0.ebuild index 5a21b39ec70..6dc7d4179ae 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.6.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.6.0.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 ~x64-macos ~x64-solaris" #fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.6.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.6.9999.ebuild index d9a8c4906df..2de7e8ce8aa 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.6.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.6.9999.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 ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/popt/popt-1.19-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/popt/popt-1.19-r1.ebuild index d0cd1e51546..5259a7847fa 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/popt/popt-1.19-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/popt/popt-1.19-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="http://ftp.rpm.org/${PN}/releases/${PN}-1.x/${P}.tar.gz" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="nls static-libs" RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest index 67c0bf15390..800cacbf58b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest @@ -6,3 +6,4 @@ DIST protobuf-30.2.tar.gz 9506934 BLAKE2B 3a7d6bfa38500b16b1ce52b244fd9448fe7be2 DIST protobuf-31.1.tar.gz 9583956 BLAKE2B cd15fc6d25bee71681602cf97c19dc04de9900594b0c0648decf418bdcc0cf787315b2238c18cb0b1eaf7b163ddbbfb7853cc5cff635b4841fcb8b20d94825fd SHA512 5bf730e37183defcb29cf4831128f536ad8bcdce2b2b46b297d95f3de4a037b9ff3b6c57df66a039256dcefd828ba9d43c32b01a7a82aa5c881a9ae12cadb643 DIST protobuf-32.1.tar.gz 9676391 BLAKE2B f6c1faa260ecb57c0a1a5d4be7d56e431cac9e325a02b86d9eecd0318a0964618063db218a4720fcb1121614016f112ba00880a5b743a5c34f19f79ea4420735 SHA512 e7f8fe01912ba30cc7ce101beac1cfbd089bcb57b159a57d4d90cabd1b29d978ad322f0607e1b955617f035a6b68d4e7bc940fa4afa67d255a21f513a2c62172 DIST protobuf-33.0.tar.gz 6872665 BLAKE2B 5d456c000117b590dea5b7e721a8b8d00d9e7067ba2156f082e4959a17fcf8d4f2e306f90335aad97e1a94dfd2491544d67cb29670f0022034fde574140a8066 SHA512 2956270a81631895ab6ed8c3c2a22b353a461b0827ee17a1c569b24374307a8e2525a06db6728140bff759a40e47a1d2a291cfb34293b364fe279f10468f3cb9 +DIST protobuf-33.1.tar.gz 6865436 BLAKE2B 101bf4a67fe0d08ab5f6b3c984193e8b031c521b374bd1bc134f9c2df90f995af73c7689de03d3b4b2d8ce77fc94392fc552942d158df9d2c65ce3e74ac47d0a SHA512 c0b8bd54fe7bd287b2225c3e50e995bc0160d7c0a7712fd047325361613ffb917f4ab838933b1505b07d404e1adb80ea681503bdfc83ce9846d03f5539b481be diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-21.12.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-21.12.ebuild index 7912dd34f6d..b9c2051f4b2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-21.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-21.12.ebuild @@ -12,7 +12,7 @@ if [[ "${PV}" == *9999 ]]; then EGIT_SUBMODULES=() else SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc64 ~riscv x86 ~x64-macos" fi DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" 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 10e05a1724e..ae8b721f052 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 ~ppc ~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 ~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-28.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-28.0.ebuild index 2a1b6d8e443..70bc6a2a846 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 @@ -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 ppc64 ~riscv ~s390 ~sparc x86 ~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-29.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-29.5.ebuild index d504a4e7e9f..c4b79c15ae0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-29.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-29.5.ebuild @@ -16,7 +16,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 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~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-30.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-30.2.ebuild index 485bb045d2a..f1cd9cdbe8d 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 @@ -16,7 +16,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 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~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-31.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-31.1.ebuild index 00904e67394..2103e50c0c4 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 @@ -16,7 +16,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 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~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-32.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-32.1.ebuild index c8f1615d658..bdd63d45ef1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-32.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-32.1.ebuild @@ -16,7 +16,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 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~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-33.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-33.0.ebuild index c8f1615d658..bdd63d45ef1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-33.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-33.0.ebuild @@ -16,7 +16,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 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~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-33.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-33.1.ebuild new file mode 100644 index 00000000000..bdd63d45ef1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-33.1.ebuild @@ -0,0 +1,200 @@ +# Copyright 2008-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib dot-a elisp-common flag-o-matic multilib toolchain-funcs + +# NOTE from https://github.com/protocolbuffers/protobuf/blob/main/cmake/dependencies.cmake +ABSEIL_MIN_VER="20250127.0" + +if [[ "${PV}" == *9999 ]]; then + EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" + EGIT_SUBMODULES=( '-*' ) + SLOT="0/9999" + + inherit git-r3 +else + SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v${PV}/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" + SLOT="0/$(ver_cut 1-2).0" +fi + +DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" +HOMEPAGE="https://protobuf.dev/" + +LICENSE="BSD" +IUSE="conformance debug emacs examples +libprotoc +libupb +protobuf +protoc test zlib" + +# Require protobuf for the time being +REQUIRED_USE=" + protobuf + protobuf? ( protoc ) + examples? ( protobuf ) + libprotoc? ( protobuf ) + libupb? ( protobuf ) + protoc? ( libupb ) +" + +RESTRICT="!test? ( test )" + +BDEPEND=" + emacs? ( app-editors/emacs:* ) +" + +COMMON_DEPEND=" + >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}] + zlib? ( virtual/zlib:=[${MULTILIB_USEDEP}] ) +" + +DEPEND=" + ${COMMON_DEPEND} + conformance? ( dev-libs/jsoncpp[${MULTILIB_USEDEP}] ) + test? ( + || ( + dev-cpp/abseil-cpp[test-helpers(-)] + dev-cpp/abseil-cpp[test] + ) + dev-cpp/gtest[${MULTILIB_USEDEP}] + ) +" +RDEPEND=" + ${COMMON_DEPEND} + ${BDEPEND} +" + +PATCHES=( + "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" + "${FILESDIR}/${PN}-30.0-findJsonCpp.patch" +) + +DOCS=( CONTRIBUTORS.txt README.md ) + +src_prepare() { + cmake_src_prepare + + cp "${FILESDIR}/FindJsonCpp.cmake" "${S}/cmake" || die +} + +multilib_src_configure() { + # bug #963340 (seems to only happen when upgrading from older pb, + # possibly w/o tests too). + use libupb && filter-lto + + # 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)" + -Dprotobuf_BUILD_LIBUPB="$(usex libupb)" + -Dprotobuf_BUILD_PROTOBUF_BINARIES="$(usex protobuf)" + -Dprotobuf_BUILD_PROTOC_BINARIES="$(usex protoc)" + -Dprotobuf_BUILD_SHARED_LIBS="yes" + -Dprotobuf_BUILD_TESTS="$(usex test)" + + -Dprotobuf_DISABLE_RTTI="no" + + -Dprotobuf_INSTALL="yes" + -Dprotobuf_TEST_XML_OUTDIR="$(usex test)" + + -Dprotobuf_WITH_ZLIB="$(usex zlib)" + -Dprotobuf_VERBOSE="$(usex debug)" + -DCMAKE_MODULE_PATH="${S}/cmake" + + -Dprotobuf_LOCAL_DEPENDENCIES_ONLY="yes" + # -Dprotobuf_FORCE_FETCH_DEPENDENCIES="no" + ) + if use protobuf ; then + if use examples ; then + mycmakeargs+=( + -Dprotobuf_BUILD_EXAMPLES="$(usex examples)" + -Dprotobuf_INSTALL_EXAMPLES="$(usex examples)" + ) + fi + fi + + cmake_src_configure +} + +src_compile() { + cmake-multilib_src_compile + + if use emacs; then + elisp-compile editors/protobuf-mode.el + fi +} + +# we override here to inject env vars +multilib_src_test() { + local -x TEST_TMPDIR="${T%/}/TEST_TMPDIR_${ABI}" + mkdir -p -m 770 "${TEST_TMPDIR}" || die + + ln -srf "${S}/src" "${BUILD_DIR}/include" || die + + cmake_src_test "${_cmake_args[@]}" +} + +src_test() { + local -x srcdir="${S}/src" + + local GTEST_SKIP_TESTS=( + "PackedTest/12.DecodeEmptyPackedField" + ) + + if tc-is-lto; then + # Do headstands for LTO # 942985 + GTEST_SKIP_TESTS+=( + "FileDescriptorSetSource/EncodeDecodeTest*" + "LazilyBuildDependenciesTest.GeneratedFile" + "PythonGeneratorTest/PythonGeneratorTest.PythonWithCppFeatures/*" + ) + fi + + if [[ ! -v GTEST_FILTER ]]; then + local -x GTEST_FILTER + fi + + [[ -n ${GTEST_RUN_TESTS[*]} ]] && GTEST_FILTER+="$(IFS=':' ; echo "${GTEST_SKIP_TESTS[*]}")" + [[ -n ${GTEST_SKIP_TESTS[*]} ]] && GTEST_FILTER+="${GTEST_FILTER+:}-$(IFS=':' ; echo "${GTEST_SKIP_TESTS[*]}")" + + cmake-multilib_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 + eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \ + "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf$(get_libname "${SLOT#*/}")" + die "Please update SLOT variable" + fi + + insinto /usr/share/vim/vimfiles/syntax + doins editors/proto.vim + insinto /usr/share/vim/vimfiles/ftdetect + doins "${FILESDIR}/proto.vim" + + if use emacs; then + elisp-install "${PN}" editors/protobuf-mode.el* + elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el" + fi + + if use examples; then + DOCS+=(examples) + docompress -x "/usr/share/doc/${PF}/examples" + fi + + einstalldocs +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild index c8f1615d658..bdd63d45ef1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild @@ -16,7 +16,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 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" SLOT="0/$(ver_cut 1-2).0" fi 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 85b81b75ee1..c55b7ceb061 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,3 +1,4 @@ DIST tree-sitter-bash-0.21.0.tar.gz 557096 BLAKE2B bfbdb4db0f75c292567043a47d32e26c6ec119ed70fa9b77675eb57e686c072315fc114befecc430730c8eec20238544d13836402f2264a1b6657e0387d4987c SHA512 9585ea80f85bc7010444a91142bc943486ade68982c7ca367a6cbe65619af2bdaa1acd8b6ee698cdf74b84d62a7f44acc4676ddb4b6007035eb9eea4768f122d 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 +DIST tree-sitter-bash-0.25.1.tar.gz 543006 BLAKE2B 285629664bf30594b81403485fbda68d8f97731bf810488dbf5fb491c84d84fab2c4bee2a51535cc594f9b4aca8596a9f0efef71d44d32cfeb7c1dbdd01479f3 SHA512 5e0d1ad5fa3736a7ab27d1667af66e5e454d590b1eafca471f83d3037f1d2d871104d1c4cf8c35661883d41e0906081e6177280206ad49b6faed805c66c9a35b diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/metadata.xml index 235b9835b8f..8ac9917bd16 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/metadata.xml @@ -1,10 +1,6 @@ - - matthew@gentoo.org - Matthew Smith - pkgcore@gentoo.org Pkgcore diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.25.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.25.1.ebuild new file mode 100644 index 00000000000..25e75f3a11a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.25.1.ebuild @@ -0,0 +1,15 @@ +# Copyright 1999-2026 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/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/metadata.xml index d5880247882..215986f5bc5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/metadata.xml @@ -5,10 +5,6 @@ abdelqaderali@protonmail.com Ali Abdel-Qader - - matthew@gentoo.org - Matthew Smith - pkgcore@gentoo.org Pkgcore diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.25.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.25.10.ebuild index 7121e61d879..20863acffab 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.25.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.25.10.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999* ]]; then EGIT_REPO_URI="https://github.com/${PN}/${PN}" else SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" fi LICENSE="MIT" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/Manifest index ebb5ffeba54..aff40d77f29 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/Manifest @@ -1,6 +1,2 @@ -DIST userspace-rcu-0.14.0.tar.bz2 661322 BLAKE2B ba9fa4c6dec693d2616234187db531f00fc0ade65f7e2a57182d9441728ddfa6f3e9d4544b824ca5edf7c027a43c9231d998a309c01f4bbab1eeefe856344f77 SHA512 7297e51012f4c44ee27c0e18ed9d87bf24be34db68a5398394c1e683a045bb561cf74aa913398404c0ed5cb8011af728ea12947717fa5f27627e5ca78e63a40f -DIST userspace-rcu-0.14.1.tar.bz2 669999 BLAKE2B 6ae6a98020f731b5dc3bef5e7cf1a0b590087dbaff8836a4d2b694ad8d0d76b298261d99bea4281907cb516980b69c673d80baac17ae244e2f4fe690fc539293 SHA512 46137525854164df05326202909689b62f8f3aa6e04127eb9157a83aed8180f35a68332ec66e4e4fc9b0c046b64c64b492caed4b64f86f87a31579e4209ec345 -DIST userspace-rcu-0.15.0.tar.bz2 683414 BLAKE2B 3502cd0acd6e8e1370a2fd369207a305b3138b0db3186a37a9511bcf2f9ba362787274b030b0138111fe1d4805acd95bbae00c4d2332f1a0761f02bdc7f89e38 SHA512 a0b543dcc6d1ace34c4f159074a439926bcec6708fde66db14022cfa6e8082d5d0430ad02dc036cc3902304357439bbacd89b3fc5f4ed9911716f2f0480af3e4 -DIST userspace-rcu-0.15.1.tar.bz2 682998 BLAKE2B c2b20099a4a9284f44031bb2d5f87ab03292896739115fdc741493d7f7c714b306a1981c1ff8164fb39ddf200634ddefdb757582b4891aa04cadd9dd8b51260a SHA512 164d369cc1375b6b71eaa26812aff8a294bfbdffde65c2668e5c559d215d74c1973681f8083bfde39e280ca6fe8e92aadc7c867f966a5769548b754c92389616 -DIST userspace-rcu-0.15.2.tar.bz2 684018 BLAKE2B 40b21b482acf26b4478b02ef1d6e7612504c0ab869c1ae8c5b1974decf5512a6240fe2f3817b29830eea0b94836b5ba6324fb0246b3355241d5a215c11de0060 SHA512 ded62f0cb4d6c78adf06235ca4dee36a213efcbfd9cc4e24525d8d29b1d746075f0fbe22d5cee1e38bca9920e0641f94507b640569a84c937e4bae99f53be7c1 DIST userspace-rcu-0.15.3.tar.bz2 684175 BLAKE2B e636b04fe3bac7bb8f4afff0a7b2153e38d396a9c08e8ca19e705fcda81adda5256817db87305382c7adc3630ef5b1d25ff81af818a6b8c70232df11c9bee862 SHA512 9461f5f1ebfcfdb28bc9548738a030d0a29e754ae5340581d057c405c0fa5c17560a251fa15a20cf14d35f1fcc9aceac80841b37a5f348698da52a71ee4d4fe5 +DIST userspace-rcu-0.15.5.tar.bz2 685498 BLAKE2B 3e0ad236f77f1146ac3e7fe93ae8f3ea86632af38b78c6648a19c9df33959ff08e42779f6d34b47dfd3f7188efc39f8f4daaba81d702743e357d3bd9327000fc SHA512 48c7e137b986c1a33d91ecd8e5101ed8783b7c4e15b8324660c72bce9879373b80ffd97aca0c3b8015a47dfe2c11b5f4acf9d4a065185d9ba405d4e50a2b58d8 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/files/userspace-rcu-0.13.1-loong.patch b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/files/userspace-rcu-0.13.1-loong.patch deleted file mode 100644 index c21d2c02a10..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/files/userspace-rcu-0.13.1-loong.patch +++ /dev/null @@ -1,181 +0,0 @@ -This is https://github.com/loongarch64/userspace-rcu/pull/2, yet to be -upstreamed but already reviewed and accepted by the LoongArch porting -community. - -(and https://github.com/urcu/userspace-rcu/pull/11) - -From 213197eea1a711da2f7cc0c04cdf33acb1b3c50e Mon Sep 17 00:00:00 2001 -From: Wang Jing -Date: Tue, 8 Jun 2021 19:44:49 +0800 -Subject: [PATCH] Add LoongArch support - ---- a/LICENSE -+++ b/LICENSE -@@ -44,6 +44,7 @@ MIT/X11 (BSD like) license apply to: - compiler.h - arch/s390.h - uatomic/alpha.h -+uatomic/loongarch.h - uatomic/mips.h - uatomic/nios2.h - uatomic/s390.h ---- a/README.md -+++ b/README.md -@@ -51,6 +51,7 @@ Currently, the following architectures are supported: - - hppa/PA-RISC - - m68k - - RISC-V -+ - LoongArch - - Tested on: - ---- a/include/Makefile.am -+++ b/include/Makefile.am -@@ -7,6 +7,7 @@ nobase_include_HEADERS = \ - urcu/arch.h \ - urcu/arch/hppa.h \ - urcu/arch/ia64.h \ -+ urcu/arch/loongarch.h \ - urcu/arch/m68k.h \ - urcu/arch/mips.h \ - urcu/arch/nios2.h \ -@@ -67,6 +68,7 @@ nobase_include_HEADERS = \ - urcu/uatomic.h \ - urcu/uatomic/hppa.h \ - urcu/uatomic/ia64.h \ -+ urcu/uatomic/loongarch.h \ - urcu/uatomic/m68k.h \ - urcu/uatomic/mips.h \ - urcu/uatomic/nios2.h \ ---- a/include/urcu/arch.h -+++ b/include/urcu/arch.h -@@ -49,6 +49,7 @@ - * URCU_ARCH_HPPA : All HP PA-RISC variants - * URCU_ARCH_M68K : All Motorola 68000 variants - * URCU_ARCH_RISCV : All RISC-V variants -+ * URCU_ARCH_LOONGARCH : All LoongArch variants - */ - - #if (defined(__INTEL_OFFLOAD) || defined(__TARGET_ARCH_MIC) || defined(__MIC__)) -@@ -157,6 +158,11 @@ - #define URCU_ARCH_RISCV 1 - #include - -+#elif defined(__loongarch__) -+ -+#define URCU_ARCH_LOONGARCH 1 -+#include -+ - #else - #error "Cannot build: unrecognized architecture, see ." - #endif ---- /dev/null -+++ b/include/urcu/arch/loongarch.h -@@ -0,0 +1,49 @@ -+#ifndef _URCU_ARCH_LOONGARCH_H -+#define _URCU_ARCH_LOONGARCH_H -+ -+/* -+ * arch/loongarch.h: trivial definitions for the LoongArch architecture. -+ * -+ * Copyright (c) 2021 Wang Jing -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ */ -+ -+#include -+#include -+#include -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include -+#include -+ -+/* -+ * On Linux, define the membarrier system call number if not yet available in -+ * the system headers. -+ */ -+#if (defined(__linux__) && !defined(__NR_membarrier)) -+#define __NR_membarrier 283 -+#endif -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#include -+ -+#endif /* _URCU_ARCH_LOONGARCH_H */ ---- a/include/urcu/uatomic.h -+++ b/include/urcu/uatomic.h -@@ -51,6 +51,8 @@ - #include - #elif defined(URCU_ARCH_RISCV) - #include -+#elif defined(URCU_ARCH_LOONGARCH) -+#include - #else - #error "Cannot build: unrecognized architecture, see ." - #endif ---- /dev/null -+++ b/include/urcu/uatomic/loongarch.h -@@ -0,0 +1,44 @@ -+#ifndef _URCU_UATOMIC_ARCH_LOONGARCH_H -+#define _URCU_UATOMIC_ARCH_LOONGARCH_H -+ -+/* -+ * Atomic exchange operations for the LoongArch architecture. Let GCC do it. -+ * -+ * Copyright (c) 2021 Wang Jing -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a copy -+ * of this software and associated documentation files (the "Software"), to -+ * deal in the Software without restriction, including without limitation the -+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -+ * sell copies of the Software, and to permit persons to whom the Software is -+ * furnished to do so, subject to the following conditions: -+ * -+ * The above copyright notice and this permission notice shall be included in -+ * all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -+ * IN THE SOFTWARE. -+ */ -+ -+#include -+#include -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#define UATOMIC_HAS_ATOMIC_BYTE -+#define UATOMIC_HAS_ATOMIC_SHORT -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#include -+ -+#endif /* _URCU_UATOMIC_ARCH_LOONGARCH_H */ diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/files/userspace-rcu-0.14.0-c11.patch b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/files/userspace-rcu-0.14.0-c11.patch deleted file mode 100644 index c931e052c43..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/files/userspace-rcu-0.14.0-c11.patch +++ /dev/null @@ -1,61 +0,0 @@ -https://github.com/urcu/userspace-rcu/commit/6fa8b4f80f1d2efbc90fc6d2a5fb0dc1d7fd2a19 - -From 6fa8b4f80f1d2efbc90fc6d2a5fb0dc1d7fd2a19 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= -Date: Fri, 17 Mar 2023 16:44:10 +0100 -Subject: [PATCH] Fix: use __noreturn__ for C11-compatibility -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The noreturn convenience macro provided by stdnoreturn.h might get -included before urcu headers, use __noreturn__ for better compatibility -with code using header. - -Signed-off-by: Ondřej Surý -Signed-off-by: Mathieu Desnoyers ---- a/include/urcu/uatomic/generic.h -+++ b/include/urcu/uatomic/generic.h -@@ -38,7 +38,7 @@ extern "C" { - #endif - - #if !defined __OPTIMIZE__ || defined UATOMIC_NO_LINK_ERROR --static inline __attribute__((always_inline, noreturn)) -+static inline __attribute__((always_inline, __noreturn__)) - void _uatomic_link_error(void) - { - #ifdef ILLEGAL_INSTR ---- a/src/urcu-call-rcu-impl.h -+++ b/src/urcu-call-rcu-impl.h -@@ -1064,7 +1064,7 @@ void urcu_register_rculfhash_atfork(struct urcu_atfork *atfork) - * This unregistration function is deprecated, meant only for internal - * use by rculfhash. - */ --__attribute__((noreturn)) -+__attribute__((__noreturn__)) - void urcu_unregister_rculfhash_atfork(struct urcu_atfork *atfork __attribute__((unused))) - { - urcu_die(EPERM); ---- a/tests/regression/rcutorture.h -+++ b/tests/regression/rcutorture.h -@@ -572,7 +572,7 @@ int stresstest(int nreaders) - */ - - static --void usage(char *argv[]) __attribute__((noreturn)); -+void usage(char *argv[]) __attribute__((__noreturn__)); - - static - void usage(char *argv[]) ---- a/tests/utils/tap.h -+++ b/tests/utils/tap.h -@@ -41,7 +41,7 @@ __attribute__((format(TAP_PRINTF_FORMAT, 5, 6))) - unsigned int _gen_result(int, const char *, const char *, unsigned int, const char *, ...); - - int plan_no_plan(void); --__attribute__((noreturn)) -+__attribute__((__noreturn__)) - int plan_skip_all(const char *); - int plan_tests(unsigned int); - - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/files/userspace-rcu-0.14.0-noreturn.patch b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/files/userspace-rcu-0.14.0-noreturn.patch deleted file mode 100644 index c8798092f15..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/files/userspace-rcu-0.14.0-noreturn.patch +++ /dev/null @@ -1,51 +0,0 @@ -https://github.com/urcu/userspace-rcu/commit/106ed13754b1b836f4b59405f4e02aea4bf5eef0 - -From 106ed13754b1b836f4b59405f4e02aea4bf5eef0 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson -Date: Thu, 23 Mar 2023 14:23:55 -0400 -Subject: [PATCH] fix: warning 'noreturn' function does return on ppc - -On a ppc64 system with gcc 9.5.0 I get the following error when building -with -O0 : - -/usr/include/urcu/uatomic/generic.h: In function 'void _uatomic_link_error()': -/usr/include/urcu/uatomic/generic.h:53:1: warning: 'noreturn' function does return - 53 | } - | ^ - -Split the inline function in 2 variants and apply the noreturn attribute -only on the builtin_trap one. - -Change-Id: I5ae8e764c4cc27af0463924a653b9eaa9f698c34 -Signed-off-by: Michael Jeanson -Signed-off-by: Mathieu Desnoyers ---- a/include/urcu/uatomic/generic.h -+++ b/include/urcu/uatomic/generic.h -@@ -38,19 +38,23 @@ extern "C" { - #endif - - #if !defined __OPTIMIZE__ || defined UATOMIC_NO_LINK_ERROR --static inline __attribute__((always_inline, __noreturn__)) -+#ifdef ILLEGAL_INSTR -+static inline __attribute__((always_inline)) - void _uatomic_link_error(void) - { --#ifdef ILLEGAL_INSTR - /* - * generate an illegal instruction. Cannot catch this with - * linker tricks when optimizations are disabled. - */ - __asm__ __volatile__(ILLEGAL_INSTR); -+} - #else -+static inline __attribute__((always_inline, __noreturn__)) -+void _uatomic_link_error(void) -+{ - __builtin_trap(); --#endif - } -+#endif - - #else /* #if !defined __OPTIMIZE__ || defined UATOMIC_NO_LINK_ERROR */ - extern void _uatomic_link_error(void); - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.14.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.14.0.ebuild deleted file mode 100644 index 94c1788c118..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.14.0.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools - -DESCRIPTION="Userspace RCU (read-copy-update) library" -HOMEPAGE="https://liburcu.org/" -SRC_URI="https://lttng.org/files/urcu/${P}.tar.bz2" - -LICENSE="LGPL-2.1" -SLOT="0/8" # subslot = soname version -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE="static-libs test" -RESTRICT="!test? ( test )" - -BDEPEND="test? ( sys-process/time )" - -PATCHES=( - "${FILESDIR}"/${PN}-0.13.1-tests-no-benchmark.patch - "${FILESDIR}"/${PN}-0.13.1-loong.patch - "${FILESDIR}"/${P}-c11.patch - "${FILESDIR}"/${P}-noreturn.patch -) - -src_prepare() { - default - - # Needed for tests patch - # ... and refresh libtool (see https://github.com/gentoo/gentoo/pull/23973) - # ... and for build on loong (see https://github.com/gentoo/gentoo/pull/25189) - eautoreconf -} - -src_configure() { - local myeconfargs=( - --enable-shared - $(use_enable static-libs static) - ) - - econf "${myeconfargs[@]}" -} - -src_test() { - default - - emake -C tests/regression regtest - - # We don't run the benchmark tests. - rm tests/benchmark/test-suite.log || die -} - -src_install() { - default - - find "${ED}" -type f -name "*.la" -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.14.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.14.1.ebuild deleted file mode 100644 index ebf0e263092..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.14.1.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 - -inherit autotools - -DESCRIPTION="Userspace RCU (read-copy-update) library" -HOMEPAGE="https://liburcu.org/" -SRC_URI="https://lttng.org/files/urcu/${P}.tar.bz2" - -LICENSE="LGPL-2.1" -SLOT="0/8" # subslot = soname version -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE="static-libs test" -RESTRICT="!test? ( test )" - -BDEPEND="test? ( sys-process/time )" - -PATCHES=( - "${FILESDIR}"/${PN}-0.13.1-tests-no-benchmark.patch - "${FILESDIR}"/${PN}-0.14.1-replace-assert-by-urcu_posix_assert.patch -) - -src_prepare() { - default - - # Needed for tests patch - # ... and refresh libtool (see https://github.com/gentoo/gentoo/pull/23973) - # ... and for build on loong (see https://github.com/gentoo/gentoo/pull/25189) - eautoreconf -} - -src_configure() { - local myeconfargs=( - --enable-shared - $(use_enable static-libs static) - ) - - econf "${myeconfargs[@]}" -} - -src_test() { - default - - emake -C tests/regression regtest - - # We don't run the benchmark tests. - rm tests/benchmark/test-suite.log || die -} - -src_install() { - default - - find "${ED}" -type f -name "*.la" -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.15.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.15.0.ebuild deleted file mode 100644 index 834c2c734ae..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.15.0.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools - -DESCRIPTION="Userspace RCU (read-copy-update) library" -HOMEPAGE="https://liburcu.org/" -SRC_URI="https://lttng.org/files/urcu/${P}.tar.bz2" - -LICENSE="LGPL-2.1" -SLOT="0/8" # subslot = soname version -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="static-libs test" -RESTRICT="!test? ( test )" - -BDEPEND="test? ( sys-process/time )" - -PATCHES=( - "${FILESDIR}"/${PN}-0.13.1-tests-no-benchmark.patch - "${FILESDIR}"/${PN}-0.14.1-replace-assert-by-urcu_posix_assert.patch -) - -src_prepare() { - default - - # Needed for tests patch - # ... and refresh libtool (see https://github.com/gentoo/gentoo/pull/23973) - eautoreconf -} - -src_configure() { - local myeconfargs=( - --enable-shared - $(use_enable static-libs static) - ) - - econf "${myeconfargs[@]}" -} - -src_test() { - default - - emake -C tests/regression regtest - - # We don't run the benchmark tests. - rm tests/benchmark/test-suite.log || die -} - -src_install() { - default - - find "${ED}" -type f -name "*.la" -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.15.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.15.2.ebuild deleted file mode 100644 index ee806704c6e..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.15.2.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools - -DESCRIPTION="Userspace RCU (read-copy-update) library" -HOMEPAGE="https://liburcu.org/" -SRC_URI="https://lttng.org/files/urcu/${P}.tar.bz2" - -LICENSE="LGPL-2.1" -SLOT="0/8" # subslot = soname version -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE="static-libs test" -RESTRICT="!test? ( test )" - -BDEPEND="test? ( sys-process/time )" - -PATCHES=( - "${FILESDIR}"/${PN}-0.13.1-tests-no-benchmark.patch - "${FILESDIR}"/${PN}-0.14.1-replace-assert-by-urcu_posix_assert.patch -) - -src_prepare() { - default - - # Needed for tests patch - # ... and refresh libtool (see https://github.com/gentoo/gentoo/pull/23973) - eautoreconf -} - -src_configure() { - local myeconfargs=( - --enable-shared - $(use_enable static-libs static) - ) - - econf "${myeconfargs[@]}" -} - -src_test() { - default - - emake -C tests/regression regtest - - # We don't run the benchmark tests. - rm tests/benchmark/test-suite.log || die -} - -src_install() { - default - - find "${ED}" -type f -name "*.la" -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.15.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.15.5.ebuild similarity index 90% rename from sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.15.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.15.5.ebuild index ee806704c6e..4be56081932 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.15.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.15.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -19,7 +19,6 @@ BDEPEND="test? ( sys-process/time )" PATCHES=( "${FILESDIR}"/${PN}-0.13.1-tests-no-benchmark.patch - "${FILESDIR}"/${PN}-0.14.1-replace-assert-by-urcu_posix_assert.patch ) src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/xxhash-0.8.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/xxhash-0.8.3-r1.ebuild new file mode 100644 index 00000000000..ca5f8b1f492 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/xxhash-0.8.3-r1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic multilib-minimal toolchain-funcs + +DESCRIPTION="Extremely fast non-cryptographic hash algorithm" +HOMEPAGE="https://xxhash.com/" +SRC_URI="https://github.com/Cyan4973/xxHash/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S=${WORKDIR}/xxHash-${PV} + +LICENSE="BSD-2 GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + +src_prepare() { + default + + multilib_copy_sources +} + +src_configure() { + # Needed for -Og to be buildable, otherwise fails a/ always_inline (bug #961093) + # https://github.com/Cyan4973/xxHash?tab=readme-ov-file#binary-size-control + is-flagq '-Og' && append-cppflags -DXXH_NO_INLINE_HINTS + multilib-minimal_src_configure +} + +myemake() { + # need LIBDIR set during compile too for Darwin, bug #966267 + emake \ + AR="$(tc-getAR)" \ + CC="$(tc-getCC)" \ + PREFIX="${EPREFIX}"/usr \ + LIBDIR="${EPREFIX}"/usr/$(get_libdir) \ + MANDIR='$(man1dir)' \ + "${@}" +} + +multilib_src_compile() { + myemake +} + +multilib_src_test() { + # Injecting CPPFLAGS into CFLAGS is needed for test_sanity + myemake CFLAGS="${CPPFLAGS} ${CFLAGS}" check +} + +multilib_src_install() { + myemake DESTDIR="${D}" install + einstalldocs + + rm "${ED}"/usr/$(get_libdir)/libxxhash.a || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/xxhash-0.8.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/xxhash-0.8.3.ebuild index ef8732bc66c..ecb717e792e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/xxhash-0.8.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/xxhash-0.8.3.ebuild @@ -12,7 +12,7 @@ S=${WORKDIR}/xxHash-${PV} LICENSE="BSD-2 GPL-2+" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" src_prepare() { default diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/yajl/yajl-2.1.0-r6.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/yajl/yajl-2.1.0-r6.ebuild index 65d5806d3cc..02cc90a5068 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/yajl/yajl-2.1.0-r6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/yajl/yajl-2.1.0-r6.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/lloyd/yajl/archive/refs/tags/${PV}.tar.gz -> ${P}-r5 LICENSE="ISC" SLOT="0/2" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" IUSE="" PATCHES=( diff --git a/sdk_container/src/third_party/portage-stable/dev-perl/File-Slurper/File-Slurper-0.14.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-perl/File-Slurper/File-Slurper-0.14.0-r1.ebuild index 69274c7d67f..894c454bd69 100644 --- a/sdk_container/src/third_party/portage-stable/dev-perl/File-Slurper/File-Slurper-0.14.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-perl/File-Slurper/File-Slurper-0.14.0-r1.ebuild @@ -11,7 +11,7 @@ inherit perl-module DESCRIPTION="A simple, sane and efficient module to slurp a file" 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="minimal" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-perl/File-Slurper/File-Slurper-0.14.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-perl/File-Slurper/File-Slurper-0.14.0.ebuild index 49b070a7ef6..68be6a4a614 100644 --- a/sdk_container/src/third_party/portage-stable/dev-perl/File-Slurper/File-Slurper-0.14.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-perl/File-Slurper/File-Slurper-0.14.0.ebuild @@ -11,7 +11,7 @@ inherit perl-module DESCRIPTION="A simple, sane and efficient module to slurp a file" 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 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=" dev-perl/PerlIO-utf8_strict diff --git a/sdk_container/src/third_party/portage-stable/dev-perl/Parse-Yapp/Parse-Yapp-1.210.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-perl/Parse-Yapp/Parse-Yapp-1.210.0-r1.ebuild index 954a8e139a2..cbd9b6db70f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-perl/Parse-Yapp/Parse-Yapp-1.210.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-perl/Parse-Yapp/Parse-Yapp-1.210.0-r1.ebuild @@ -11,7 +11,7 @@ inherit perl-module DESCRIPTION="Compiles yacc-like LALR grammars to generate Perl OO parser modules" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86" RDEPEND=" ! - - - - perl@gentoo.org - Gentoo Perl Project - - - PerlIO-utf8_strict - PerlIO::utf8_strict - - diff --git a/sdk_container/src/third_party/portage-stable/dev-python/certifi/certifi-3024.7.22.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/certifi/certifi-3024.7.22.ebuild index f8389b6a5b1..1bc566c605c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/certifi/certifi-3024.7.22.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/certifi/certifi-3024.7.22.ebuild @@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P} LICENSE="MPL-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 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=" app-misc/ca-certificates diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cffi/cffi-1.17.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cffi/cffi-1.17.1.ebuild index e845c03a504..081f538a02f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cffi/cffi-1.17.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cffi/cffi-1.17.1.ebuild @@ -20,7 +20,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0/${PV}" -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 ~arm64-macos ~x64-macos ~x64-solaris" # Needs recent libffi for HPPA fixes DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cffi/cffi-2.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cffi/cffi-2.0.0.ebuild index e5a7c990f9c..022eab5bd79 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cffi/cffi-2.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cffi/cffi-2.0.0.ebuild @@ -20,7 +20,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0/${PV}" -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 ~arm64-macos ~x64-macos ~x64-solaris" # Needs recent libffi for HPPA fixes DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/chardet/chardet-5.2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/chardet/chardet-5.2.0.ebuild index bb61b3ed234..ed4bbbb264d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/chardet/chardet-5.2.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/chardet/chardet-5.2.0.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.4-r1.ebuild new file mode 100644 index 00000000000..78e01117778 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.4-r1.ebuild @@ -0,0 +1,45 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 8 -- sys-apps/portage dep +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +DISTUTILS_EXT=1 +PYPI_VERIFY_REPO=https://github.com/jawah/charset_normalizer +PYTHON_COMPAT=( python3_{11..14} pypy3_11 ) + +inherit distutils-r1 pypi + +DESCRIPTION="The Real First Universal Charset Detector" +HOMEPAGE=" + https://pypi.org/project/charset-normalizer/ + https://github.com/jawah/charset_normalizer/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +IUSE="+native-extensions" + +BDEPEND=" + native-extensions? ( + $(python_gen_cond_dep ' + dev-python/mypy[${PYTHON_USEDEP}] + ' python3.{11..14}) + ) + dev-python/setuptools[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_compile() { + local -x CHARSET_NORMALIZER_USE_MYPYC=$(usex native-extensions 1 0) + + distutils-r1_python_compile +} + +python_test() { + epytest -o addopts= +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.4.ebuild index f99ddf5ba37..e1103f33c10 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.4.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" BDEPEND=" dev-python/setuptools[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/metadata.xml index 687e12988cd..5fc9281fe60 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/metadata.xml @@ -4,7 +4,6 @@ python@gentoo.org - jawah/charset_normalizer charset-normalizer diff --git a/sdk_container/src/third_party/portage-stable/dev-python/colorama/colorama-0.4.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/colorama/colorama-0.4.6.ebuild index 2c8667dcbb8..42a55f0ff6e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/colorama/colorama-0.4.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/colorama/colorama-0.4.6.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="examples" distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/Manifest index 5c14b8f39fa..5a9ad5073f0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/Manifest @@ -12,13 +12,9 @@ DIST cc-1.2.37.crate 90111 BLAKE2B c97656ab4642b180af1adf16736de03b5117774a2fd85 DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff DIST cfg-if-1.0.3.crate 8719 BLAKE2B 5cd0ac122110740895b45cdf8e0f738f2de1882d5a06c696d08e906765e4ddcd72a866dcc115da52d9fece205c9ad15dc25ad98dff36b32517012a7586e986ee SHA512 afe424a191c2aaaffec3d114e0116d0324d12117aeb22df78e47ad6752444bc5acb074ab0a174476b71e584a37743f9dcc2b0e8036d590fcc5afc7c55f86122b DIST cryptography-45.0.6.tar.gz 744949 BLAKE2B 271143188d0a7485066b5c89fc0397e6f9e5f5219844961a85e9fd382fb0b05521a093fb943252ea2985bb89645a285345fcf66a6022a58176fe809a83376a81 SHA512 2c675834fa26db0773fe51855c248927a2a7d45963e07144afdfa73573ce1e6940d40849d23fb45f7599c0821e4dbbec956ce2bd993c614617312b8e67fe7f1f -DIST cryptography-45.0.7.tar.gz 744980 BLAKE2B 4df55f24e60a2d8f9da9532c1b8000b835feb5d9ecb2cc6ed3d047652d353a296350ee1e98416c56877b36d71274b2e60637d017d03efd0cff1ccee8ed48c3b2 SHA512 a5149bc43b4c172d6ca17f2e6dabb4b11295970205b1cd4fcb897e58bef4ca154ceeb384ac29a568dfcfd3ba75326c2a1d7e9e590c617a154b12b2e7922bd824 -DIST cryptography-46.0.1.tar.gz 749198 BLAKE2B 291ad3070f257082e620e4452b977b8600a4f53a0c40d526afe98f86689b32bd49e472dd128a6401e4fb926f94bca17e381c03bd9707047fb48faa9b5fe74983 SHA512 5d0ebdc3c86c03507389b2223f668818ce8c5b35ac506feb67fca9dbb43d38e684983cb9b805930caa9cea0c53e9f324354eef03bf8b651140c07e39ac4f8c07 DIST cryptography-46.0.2.tar.gz 749293 BLAKE2B 15b519da25b4ab61db084d577b3045c4f00e3a8d51eedcdfcd73e282222ad0eb3c5b3cec73641ba16d3585699d9188e4421d3bbb6f68c18b5e495a5e98e12405 SHA512 f9bac5e4cc22c5c2914604bae596548356a4b62c0242ae9ffc11014167eb33fcac8b14c2c18778e2272424a80ffc2cd0ae97bea3ea61e2a143bc8c63664bab03 DIST cryptography-46.0.3.tar.gz 749258 BLAKE2B aa7eab6b6a39551034c8ade545a0b8c52d2d778a9e74dbf306eada2dc5314e3cdc7dee23af2fba8d2aa14ece260e3ace920f890f3e02370e8e86b20001ade2ee SHA512 b4e1af6e8ef676396e25806c64a981bb70372ca0162c2fe7d6a242243686d9fed35262080a3d0241afbf71963fc7d753a46fd31489fff3a734ef6c1203b64d02 DIST cryptography_vectors-45.0.6.tar.gz 35344645 BLAKE2B 78e8cc7b27eefdf9f499ce64479c67be9ea320967fa6791f19e89c298b783972845728fe43b3c7e6d37fbe1bcd894b268a63cf47be7cc10c5487612cd3587cc5 SHA512 0571c8b5b6e6f7b8787f6bcd395f75460ef615cb9cfd2c779b11326c74b38f285dcb1d84123d3a7996530976fdda78ec266d5c849ea9d6c51835c5ef933b9bfa -DIST cryptography_vectors-45.0.7.tar.gz 35344680 BLAKE2B 4e6586777fcd24ed38f33a6dc7bdb60f959b22a96d7b8ef66c2172aec72f48b7afa99a4a2d58463bf2d5d07dc0b808eb6dfe8808435c03694416d348834c7bd6 SHA512 8f2d06fcc3192d6c3c54c8114d79f6d96faa61e11c81d9a8551b783db9afba6d972a1a91bc97dfac388661ff975bcd570a1291bd81abba575d5f04807e2d9294 -DIST cryptography_vectors-46.0.1.tar.gz 33809230 BLAKE2B 40e4f411c85c98175d246a6a089e5a0adb02b5944de23f75f2e4225f250344f994f3afa097e6e761303d1626ff21a839fc5f511dc971c11801501295e3d544bf SHA512 60a6cc937ef1d819343ea90894c16655e6c3f932684ad5d602d55c6af776c8aaa43214868d04d9bde4ff19bb0b9d0d4e2eed8e3aaccc7b6f277f5f0aa8aac893 DIST cryptography_vectors-46.0.2.tar.gz 33809237 BLAKE2B 8f12b78e8fd5e4e8c28315fd7e3883669fd8a88f6e29cb03e41d98d4fc0327a1cabb836c77f9ac638a5dce0cc24b445c09ecccd7f1210fc2635d89c27631d54a SHA512 842f9886aa6e02e6cb7f105c705678ef1a6fef1c68397422aa27d93074f072fafb218f71f1d8900f69885b0068639dbb9beda80104bcc41d22b6f6b313fa36d5 DIST cryptography_vectors-46.0.3.tar.gz 33809245 BLAKE2B c5832c11ba23fd44c745cd766a83ceb39a622ebbaca0dc463785776dd36d4d8065a4780894b7ff8260408893527a86e5f90367cf6b26f50c99a2f0db325e64e9 SHA512 6ebb80c4040143484bcc69239144362e7cef479dab2b9ebd68993ade3da1ed812cc1b7f3c41dc1a9a7ae0874c2e794e32f2762c896e768507ac55596fa45d765 DIST find-msvc-tools-0.1.1.crate 30228 BLAKE2B 9f6d84697a0310021a59789a0aebcf5895490e4dd719a2ef820ddf2f225ecd13c814e2c03e8d4de4089a2d1599b469a900c0c1072f9b57dcce9fb8634dcea6b2 SHA512 cc91ce79858db4a6feb3ff0fe24d7b29a523285247116a42b27affacc3f034afc0d458ac8716922f5fec5f23deafd62e875ec899d4ea58531d028535c22e137e diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-45.0.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-45.0.7.ebuild deleted file mode 100644 index c157835b21c..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-45.0.7.ebuild +++ /dev/null @@ -1,133 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CARGO_OPTIONAL=yes -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( python3_{11..14} pypy3_11 ) -PYTHON_REQ_USE="threads(+)" - -CRATES=" - asn1@0.21.3 - asn1_derive@0.21.3 - autocfg@1.4.0 - base64@0.22.1 - bitflags@2.9.1 - cc@1.2.23 - cfg-if@1.0.0 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - heck@0.5.0 - indoc@2.0.6 - itoa@1.0.15 - libc@0.2.172 - memoffset@0.9.1 - once_cell@1.21.3 - openssl-macros@0.1.1 - openssl-sys@0.9.108 - openssl@0.10.72 - pem@3.0.5 - pkg-config@0.3.32 - portable-atomic@1.11.0 - proc-macro2@1.0.95 - pyo3-build-config@0.25.0 - pyo3-ffi@0.25.0 - pyo3-macros-backend@0.25.0 - pyo3-macros@0.25.0 - pyo3@0.25.0 - quote@1.0.40 - self_cell@1.2.0 - shlex@1.3.0 - syn@2.0.101 - target-lexicon@0.13.2 - unicode-ident@1.0.18 - unindent@0.2.4 - vcpkg@0.2.15 -" - -inherit cargo distutils-r1 flag-o-matic pypi - -VEC_P=cryptography_vectors-$(ver_cut 1-3) -DESCRIPTION="Library providing cryptographic recipes and primitives" -HOMEPAGE=" - https://github.com/pyca/cryptography/ - https://pypi.org/project/cryptography/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} - test? ( - $(pypi_sdist_url cryptography_vectors "$(ver_cut 1-3)") - ) -" - -LICENSE="|| ( Apache-2.0 BSD ) PSF-2" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0 -" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -RDEPEND=" - >=dev-libs/openssl-1.0.2o-r6:0= - $(python_gen_cond_dep ' - >=dev-python/cffi-1.8:=[${PYTHON_USEDEP}] - ' 'python*') -" -DEPEND=" - ${RDEPEND} -" - -BDEPEND=" - ${RUST_DEPEND} - >=dev-util/maturin-1.8.6[${PYTHON_USEDEP}] - dev-python/setuptools[${PYTHON_USEDEP}] - test? ( - dev-python/certifi[${PYTHON_USEDEP}] - dev-python/iso8601[${PYTHON_USEDEP}] - dev-python/pretend[${PYTHON_USEDEP}] - dev-python/pyasn1-modules[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - ) -" - -# Files built without CFLAGS/LDFLAGS, acceptable for rust -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cryptography/hazmat/bindings/_rust.*.so" - -EPYTEST_PLUGINS=( hypothesis pytest-subtests ) -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -src_unpack() { - cargo_src_unpack -} - -src_prepare() { - distutils-r1_src_prepare - - sed -i -e 's:--benchmark-disable::' pyproject.toml || die - - # work around availability macros not supported in GCC (yet) - if [[ ${CHOST} == *-darwin* ]] ; then - local darwinok=0 - if [[ ${CHOST##*-darwin} -ge 16 ]] ; then - darwinok=1 - fi - sed -i -e 's/__builtin_available(macOS 10\.12, \*)/'"${darwinok}"'/' \ - src/_cffi_src/openssl/src/osrandom_engine.c || die - fi -} - -python_configure_all() { - filter-lto # bug #903908 -} - -python_test() { - local -x PYTHONPATH="${PYTHONPATH}:${WORKDIR}/cryptography_vectors-${PV}" - local EPYTEST_IGNORE=( - tests/bench - ) - epytest -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-46.0.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-46.0.1.ebuild deleted file mode 100644 index 36d6d42b6e9..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-46.0.1.ebuild +++ /dev/null @@ -1,134 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CARGO_OPTIONAL=yes -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( python3_{11..14} pypy3_11 ) -PYTHON_REQ_USE="threads(+)" - -CRATES=" - asn1@0.22.0 - asn1_derive@0.22.0 - autocfg@1.5.0 - base64@0.22.1 - bitflags@2.9.4 - cc@1.2.37 - cfg-if@1.0.3 - find-msvc-tools@0.1.1 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - heck@0.5.0 - indoc@2.0.6 - itoa@1.0.15 - libc@0.2.175 - memoffset@0.9.1 - once_cell@1.21.3 - openssl-macros@0.1.1 - openssl-sys@0.9.109 - openssl@0.10.73 - pem@3.0.5 - pkg-config@0.3.32 - portable-atomic@1.11.1 - proc-macro2@1.0.101 - pyo3-build-config@0.26.0 - pyo3-ffi@0.26.0 - pyo3-macros-backend@0.26.0 - pyo3-macros@0.26.0 - pyo3@0.26.0 - quote@1.0.40 - self_cell@1.2.0 - shlex@1.3.0 - syn@2.0.106 - target-lexicon@0.13.3 - unicode-ident@1.0.19 - unindent@0.2.4 - vcpkg@0.2.15 -" - -inherit cargo distutils-r1 flag-o-matic pypi - -VEC_P=cryptography_vectors-$(ver_cut 1-3) -DESCRIPTION="Library providing cryptographic recipes and primitives" -HOMEPAGE=" - https://github.com/pyca/cryptography/ - https://pypi.org/project/cryptography/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} - test? ( - $(pypi_sdist_url cryptography_vectors "$(ver_cut 1-3)") - ) -" - -LICENSE="|| ( Apache-2.0 BSD ) PSF-2" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0 -" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -RDEPEND=" - >=dev-libs/openssl-1.0.2o-r6:0= - $(python_gen_cond_dep ' - >=dev-python/cffi-2.0.0:=[${PYTHON_USEDEP}] - ' 'python*') -" -DEPEND=" - ${RDEPEND} -" - -BDEPEND=" - ${RUST_DEPEND} - >=dev-util/maturin-1.9.4[${PYTHON_USEDEP}] - dev-python/setuptools[${PYTHON_USEDEP}] - test? ( - dev-python/certifi[${PYTHON_USEDEP}] - dev-python/iso8601[${PYTHON_USEDEP}] - dev-python/pretend[${PYTHON_USEDEP}] - dev-python/pyasn1-modules[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - ) -" - -# Files built without CFLAGS/LDFLAGS, acceptable for rust -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cryptography/hazmat/bindings/_rust.*.so" - -EPYTEST_PLUGINS=( hypothesis pytest-subtests ) -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -src_unpack() { - cargo_src_unpack -} - -src_prepare() { - distutils-r1_src_prepare - - sed -i -e 's:--benchmark-disable::' pyproject.toml || die - - # work around availability macros not supported in GCC (yet) - if [[ ${CHOST} == *-darwin* ]] ; then - local darwinok=0 - if [[ ${CHOST##*-darwin} -ge 16 ]] ; then - darwinok=1 - fi - sed -i -e 's/__builtin_available(macOS 10\.12, \*)/'"${darwinok}"'/' \ - src/_cffi_src/openssl/src/osrandom_engine.c || die - fi -} - -python_configure_all() { - filter-lto # bug #903908 -} - -python_test() { - local -x PYTHONPATH="${PYTHONPATH}:${WORKDIR}/cryptography_vectors-${PV}" - local EPYTEST_IGNORE=( - tests/bench - ) - epytest -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-46.0.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-46.0.3.ebuild index bafdd1e51e0..87baa82c34d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-46.0.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-46.0.3.ebuild @@ -69,7 +69,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/cython/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest index d14b279b9a8..1c7d694c2ca 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest @@ -1,6 +1,5 @@ DIST cython-3.1.4.tar.gz 3190778 BLAKE2B 7e554db21ba009dc70157ad03b414091f9bba15586c5fa842b23cc28c116dc153857e99c9981dd0f783f696b6afa3b2689424231b88ae89bcf9233fa8006b9c9 SHA512 dd524d7de59f949a8bac1cb944a7a2b4eb26b13107db4fd6f9af000d5af18dd08ac5768253721e3513f5b4c1593fdd8cf055f4ffc17d541b2b90ca461522e8f1 -DIST cython-3.1.5.tar.gz 3192050 BLAKE2B c076c14685cc0d01d3f70dd35c8dd6c8c6c285f0a7cd575b4b20d6b4ce941e8cc70e1859b4185e0bc485c6963e74e5b33fe9030ec9feb881cc8692434f497ae8 SHA512 cff0cebd3b72b47f92a0bb8f77e564655a966ee58442b7fe76db2263b8b0d5b3636bfb0a561b1f27fd10cfd113e52388b32971bea66f4d2cb6dbf8580465b873 -DIST cython-3.1.6.tar.gz 3192329 BLAKE2B 78ea2c33ce38441574c0566b2c093ed91c01b523812484a8da5f426c46d64d0e4c67c2b3e1bf8122c399a9c18372fe93ff63d20fcc2907e0a84c79fd1107d79d SHA512 29950bcb02b2000ffd278a881d91e9c99f554375238a1ea1e7866d6fff120233bca8d7a7c05de93136fddacdb4c071652de8c3b63b6c312dff43435193fe7b89 DIST cython-3.1.7.tar.gz 3192740 BLAKE2B ed0d15e387389de3e2b35d03326032a0ca112b24b0245ed764e5acbedcc0df07f50561ef18715679bf29fd2da6a288621033722741b2fc25809b43964e856786 SHA512 0d1ab6b0d53168588ea03116a5a2f4106f87266bca0fc46ec9ebc7c881da7ee2a83d9d7d841b551add73aedab7b2ca94419e87f6a387b1ab7ba850030a981fb1 -DIST cython-3.2.0.tar.gz 3267264 BLAKE2B 86aa3698f28c0859d0a846025698d4739deebdbabbf0f6bd9134b4a01fce3fce4b87b1db726c2ab490b0a41091185183f41a67424dfd555067167a4b257c6aa7 SHA512 902f8389792bfa7937f5e1c024a537561e7e0367d1e6e6eefa84ebc25e961968e95bda5095b1cf2b26e994b4b14c0a039b97df80066620c166368a3f0ebd7f4b -DIST cython-3.2.1.tar.gz 3270455 BLAKE2B 10eb8e6e027b3cc594c997efed4e98ded445f666c44ff7d9d027ae32bead6826df22508bbc78241684e7dcdcbe178a70b5d909c5ab541b5c49660f961f2abe26 SHA512 b6f64b2c32c355a9c5a3586fdea768ad1924cb4b421d4395d443dadc1cf06e2fe4f3f85d237789eb0a68c9857750cbefefb022475ed7f3d8787551bea3d2fb7d +DIST cython-3.1.8.tar.gz 3193040 BLAKE2B 7cd6c2b196d4a6a69d11b4bc68daf8abe77606f306579a3a2287adc69797472a88ceaa0b5d84f5bbf8675c70fe407c86be03537cdcb94b097e95d47deae906f3 SHA512 6d1816c169d5d1113a76dbc29ba8f236588479fcd9f56be4883d51260bc5d010143a59f8f148cbf59e09370927fb946eee92b40022cbc5b67146d4bdad2726e9 +DIST cython-3.2.3.tar.gz 3276650 BLAKE2B 4f527760e1c658d0ace5b5f268e6cc73f823f3703830bf8a458f6bcd2a488eaa0d869c02358d2ec3d469b34de4f3b9b7a1c415f159dca22197c3fcb8d732856f SHA512 00bf2244da9c544fd3ea110cd1ab2aeadeb7e1df16fff4fdc926b90759c75f312c11171513d55dad6b5489f77c7c462905b789242641d6d6807b172db1a57b87 +DIST cython-3.2.4.tar.gz 3280291 BLAKE2B f6f4baf07426ba46757a7b12ec05dd6781088e30d402d39dbe7e7e43b711ec11b9ecefd8bdca8e4c6a2920bc1c670e348328dc53ea074879b5e4e87159905d65 SHA512 bea1b21227632aa6d01239779e584e06d462ef76ae284abb36c0a70074260bd4909ee69d94db4e8c8fc9416d6949c3b53411844531a86cdbca75881b97f5d84b diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.4.ebuild index a71d9d567a4..438ec2a0f49 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.4.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 ~arm64-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.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.6.ebuild deleted file mode 100644 index df3f0a82889..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.6.ebuild +++ /dev/null @@ -1,128 +0,0 @@ -# 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_FULLY_TESTED=( python3_{11..14} ) -PYTHON_TESTED=( "${PYTHON_FULLY_TESTED[@]}" pypy3_11 ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_{13,14}t ) -PYTHON_REQ_USE="threads(+)" - -inherit distutils-r1 multiprocessing pypi toolchain-funcs - -DESCRIPTION="A Python to C compiler" -HOMEPAGE=" - https://cython.org/ - https://github.com/cython/cython/ - https://pypi.org/project/Cython/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="test test-full" -RESTRICT="!test? ( test )" - -BDEPEND=" - ${RDEPEND} - test? ( - test-full? ( - $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - ' "${PYTHON_FULLY_TESTED[@]}") - ) - ) -" - -PATCHES=( - "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch" -) - -distutils_enable_sphinx docs \ - dev-python/jinja2 \ - dev-python/sphinx-issues \ - dev-python/sphinx-tabs - -python_compile() { - # Python gets confused when it is in sys.path before build. - local -x PYTHONPATH= - - if use elibc_musl ; then - # Workaround for bug #925318 - local -x LDFLAGS="${LDFLAGS} -Wl,-z,stack-size=2097152" - fi - - distutils-r1_python_compile -} - -python_test() { - # PYTHON_TESTED controls whether we expect the testsuite to - # pass at all, while PYTHON_FULLY_TESTED allows skipping before - # numpy is ported (and possibly other deps in future). - if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then - einfo "Skipping tests on ${EPYTHON} (xfail)" - return - fi - - # Needed to avoid confusing cache tests - unset CYTHON_FORCE_REGEN - - tc-export CC - - local testargs=( - -vv - -j "$(makeopts_jobs)" - --work-dir "${BUILD_DIR}"/tests - - --no-examples - --no-code-style - - # Fails to find embedded.c - --exclude 'embedded' - # coverage_installed_pkg needs dev-python/pip and doesn't like - # 'externally-managed' (bug #927995), but we don't really - # want automagic test dependencies at all, so just skip - # unimportant-for-us coverage tests entirely. - --exclude 'run.coverage*' - --exclude 'Cython.Coverage' - # Automagic on dev-python/python-tests, could add this in future - --exclude 'run.test_exceptions' - # TODO: Unpackaged dev-python/interpreters-pep-734 (interpreters_backport) - # This only shows up as a failure with >=3.13. - --exclude 'subinterpreters_threading_stress_test' - - # The fix for https://github.com/cython/cython/issues/6938 - # changes these tests s.t. they break with our build layout. - --exclude 'build.depfile*' - ) - - if [[ ${EPYTHON} == pypy3* ]] ; then - testargs+=( - # Recursion issue - --exclude 'run.if_else_expr' - --exclude 'run.test_patma*' - # Slight output difference (missing '<') - --exclude 'run.cpp_exception_ptr_just_handler' - - ) - fi - - # Keep test-full for numpy as it's large and doesn't pass tests itself - # on niche arches. - if ! use test-full || ! has "${EPYTHON/./_}" "${PYTHON_FULLY_TESTED[@]}"; then - testargs+=( - --exclude 'run.numpy*' - --exclude 'run.ufunc' - --exclude 'numpy*' - ) - fi - - "${PYTHON}" runtests.py "${testargs[@]}" || die "Tests fail with ${EPYTHON}" -} - -python_install_all() { - local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt ) - distutils-r1_python_install_all -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.7.ebuild index df3f0a82889..5b79d143300 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.7.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test test-full" RESTRICT="!test? ( test )" @@ -69,6 +69,10 @@ python_test() { # Needed to avoid confusing cache tests unset CYTHON_FORCE_REGEN + # uses $(nproc) to additionally parallelize many OpenMP-based jobs, + # leading to overcommitting + local -x OMP_NUM_THREADS=1 + tc-export CC local testargs=( diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.8.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.5.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.8.ebuild index df3f0a82889..cea99bf4105 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.8.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test test-full" RESTRICT="!test? ( test )" @@ -69,6 +69,10 @@ python_test() { # Needed to avoid confusing cache tests unset CYTHON_FORCE_REGEN + # uses $(nproc) to additionally parallelize many OpenMP-based jobs, + # leading to overcommitting + local -x OMP_NUM_THREADS=1 + tc-export CC local testargs=( diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.3.ebuild similarity index 91% rename from sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.3.ebuild index df3f0a82889..1d9399568f5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test test-full" RESTRICT="!test? ( test )" @@ -69,6 +69,10 @@ python_test() { # Needed to avoid confusing cache tests unset CYTHON_FORCE_REGEN + # uses $(nproc) to additionally parallelize many OpenMP-based jobs, + # leading to overcommitting + local -x OMP_NUM_THREADS=1 + tc-export CC local testargs=( @@ -105,7 +109,8 @@ python_test() { --exclude 'run.test_patma*' # Slight output difference (missing '<') --exclude 'run.cpp_exception_ptr_just_handler' - + # No freethreading here + --exclude 'run.freethreaded_list_indexing_stress_test' ) fi diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.4.ebuild similarity index 91% rename from sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.4.ebuild index df3f0a82889..1d9399568f5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test test-full" RESTRICT="!test? ( test )" @@ -69,6 +69,10 @@ python_test() { # Needed to avoid confusing cache tests unset CYTHON_FORCE_REGEN + # uses $(nproc) to additionally parallelize many OpenMP-based jobs, + # leading to overcommitting + local -x OMP_NUM_THREADS=1 + tc-export CC local testargs=( @@ -105,7 +109,8 @@ python_test() { --exclude 'run.test_patma*' # Slight output difference (missing '<') --exclude 'run.cpp_exception_ptr_just_handler' - + # No freethreading here + --exclude 'run.freethreaded_list_indexing_stress_test' ) fi diff --git a/sdk_container/src/third_party/portage-stable/dev-python/distlib/distlib-0.4.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/distlib/distlib-0.4.0.ebuild index aaa6aa02723..a157e262c0c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/distlib/distlib-0.4.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/distlib/distlib-0.4.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2021-2025 Gentoo Authors +# Copyright 2021-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -33,7 +33,7 @@ BDEPEND=" src_prepare() { local PATCHES=( # use system pypiserver instead of bundled one - "${FILESDIR}/distlib-0.3.9-system-pypiserver.py" + "${FILESDIR}/distlib-0.3.9-system-pypiserver.patch" # https://github.com/pypa/distlib/commit/6286442857de9f734686d08f0e59ca8048ee357a "${FILESDIR}/${P}-py314-test.patch" ) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/distlib/files/distlib-0.3.9-system-pypiserver.py b/sdk_container/src/third_party/portage-stable/dev-python/distlib/files/distlib-0.3.9-system-pypiserver.patch similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-python/distlib/files/distlib-0.3.9-system-pypiserver.py rename to sdk_container/src/third_party/portage-stable/dev-python/distlib/files/distlib-0.3.9-system-pypiserver.patch diff --git a/sdk_container/src/third_party/portage-stable/dev-python/distro/distro-1.9.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/distro/distro-1.9.0.ebuild index 876dfba9802..6847893c144 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/distro/distro-1.9.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/distro/distro-1.9.0.ebuild @@ -17,6 +17,6 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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" distutils_enable_tests pytest 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 d10995021f5..54d7cdde87a 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.22.2.tar.gz 2289092 BLAKE2B cef7861efe59766fc4883f945d7c52d026b6dae378f95fac074698e31ef2a32bece572e09f2307a1f1ebc7b63f963b53cd5a5e09538a7fe5bcdec9864ecfd4d4 SHA512 dfa6825fe1c5f870719da054badc3af69854b64b9e1057210b7aa6ecd2eff0f809fa311d3d30b1eb4fa542f68eacc26b6be314f1897c8a7cb423ab91f8f15102 DIST docutils-0.22.3.tar.gz 2290153 BLAKE2B 78b4ee1dd643de2b1e97757592ca2962eb11beb7beb2cf6c718857b1533a55240c44993e840b720eb4cfa327cafa6a9b1ebdea46eac2f0f6a3f9d06d1eb4851a SHA512 097e4dd76c984ba6789b44b971db046e29941791f1deaf7899ccc239f8ec96db47ef204f72bf93f3e11ff42b2e30ee21a59cb323ecfab0b6063f2f9be036c241 +DIST docutils-0.22.4.tar.gz 2291750 BLAKE2B ec9ef492f067d91a3300a7707a88426d08714b85ff2970d6bdf8f94e8a7a42c576364445c0997dee5d19a76ab763793465ed131bb6ce6453c058d61371aed61c SHA512 80f4450f1ab81eb2425e246e1436cecda1ecd0c0ff70c24d34c2f651ab70afd55577a809b50ccd73d41e098790582fdc3b6594511308b51efe0c3005edbdcf72 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.21.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.21.2.ebuild index a50e2669ced..bb5c2fbd723 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.21.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.21.2.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" # GPL-3+ only for emacs/rst.el LICENSE="BSD BSD-2 GPL-3+ PSF-2.4 public-domain" 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 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=" dev-python/pillow[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.22.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.22.2.ebuild index b3dc6d0c9d3..80cb5fafbea 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.22.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.22.2.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" # GPL-3+ only for emacs/rst.el LICENSE="BSD BSD-2 GPL-3+ PSF-2.4 public-domain" 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 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=" dev-python/pillow[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.22.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.22.3.ebuild index 00820ad3bd1..5012dfcda78 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.22.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.22.3.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" # GPL-3+ only for emacs/rst.el LICENSE="BSD BSD-2 GPL-3+ PSF-2.4 public-domain" 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 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=" dev-python/pillow[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.22.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.22.4.ebuild new file mode 100644 index 00000000000..5012dfcda78 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.22.4.ebuild @@ -0,0 +1,62 @@ +# 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" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + +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 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/editables/editables-0.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/editables/editables-0.5.ebuild index 6374e391605..21574c3065f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/editables/editables-0.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/editables/editables-0.5.ebuild @@ -20,6 +20,6 @@ SRC_URI=" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-25.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-25.2.ebuild index 6c753ed8420..795aa03abe7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-25.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-25.2.ebuild @@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P} 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test test-rust" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-25.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-25.3.ebuild index 4073ff7c4e2..52b52013ad9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-25.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-25.3.ebuild @@ -29,7 +29,7 @@ S=${WORKDIR}/${MY_P} 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test test-rust" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-79.0.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-79.0.1.ebuild index 8861c39b370..ffe5f412fbe 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-79.0.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-79.0.1.ebuild @@ -12,7 +12,7 @@ S=${DISTDIR} 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" src_install() { insinto /usr/lib/python/ensurepip diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.9.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.9.0-r1.ebuild index fef863a9dd1..f4b959d98c8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.9.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.9.0-r1.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.20.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.20.ebuild index c868a8b8d1a..8dad92c454e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.20.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.20.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..14} ) inherit distutils-r1 @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" BDEPEND=" test? ( diff --git a/sdk_container/src/third_party/portage-stable/dev-python/flit-core/flit-core-3.12.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/flit-core/flit-core-3.12.0.ebuild index 9a86e21c90f..f10cb335e91 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/flit-core/flit-core-3.12.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/flit-core/flit-core-3.12.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~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 ~x64-macos ~x64-solaris" BDEPEND=" test? ( dev-python/testpath[${PYTHON_USEDEP}] ) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/gentoo-common/gentoo-common-1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/gentoo-common/gentoo-common-1.ebuild index bf3d0da96fa..0dacf832f6b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/gentoo-common/gentoo-common-1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/gentoo-common/gentoo-common-1.ebuild @@ -9,7 +9,7 @@ S=${WORKDIR} LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" src_install() { insinto /usr/lib/python diff --git a/sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-19.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-19.ebuild index 1ddb50bc970..f4312018151 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-19.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-19.ebuild @@ -21,7 +21,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 ~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 ~x64-macos ~x64-solaris" RDEPEND=" >=dev-python/installer-0.5.0[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/Manifest index 90878d78594..e81a36e877e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/Manifest @@ -1 +1,2 @@ DIST hatch-hatchling-v1.27.0.gh.tar.gz 5275714 BLAKE2B 5db266a4efa8d315ac991b4f109834cbe3710d6b944de78591f3707d1552a60ac24c1970c093190c2b3fdb8515d7ed5f4af7a32a1a364cefe9f4c08eef84b369 SHA512 d519428c4c7c21950df2484f38332b5c89525347f3557ff21a55a85811955c8466f6eb4f919d824ab7a576cd35d8a59e4a5e7827100f6ea1e38c10c0f1864a29 +DIST hatch-hatchling-v1.28.0.gh.tar.gz 5296066 BLAKE2B 2def4eee372b0fbf2019c716f63fdd35b110ce6a17a0fcfd4208a52334cd16ab1db9bd73d3a46ab652dd43ac8be02fb1bd4f5b7df44016895523f7900001ab99 SHA512 cbf29be0d0e2e0053c39034a697b4bebce4754205713c9dc35c9f3c9ea9be2652924664c0d11b90869443995c6f9f06ce20ca06afe10a2ac174a0e9dc2e737a2 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.27.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.27.0.ebuild index 87724882a97..afeb21abdba 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.27.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.27.0.ebuild @@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P}/backend 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.28.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.28.0.ebuild new file mode 100644 index 00000000000..44e7f59ad80 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.28.0.ebuild @@ -0,0 +1,101 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYTHON_TESTED=( pypy3_11 python3_{11..14} ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_{13,14}t ) + +inherit distutils-r1 + +TAG=${P/-/-v} +MY_P=hatch-${TAG} +DESCRIPTION="Modern, extensible Python build backend" +HOMEPAGE=" + https://pypi.org/project/hatchling/ + https://github.com/pypa/hatch/ +" +SRC_URI=" + https://github.com/pypa/hatch/archive/${TAG}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P}/backend + +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="test" +RESTRICT="!test? ( test )" + +# deps are listed in backend/src/hatchling/ouroboros.py +# editables are optional but required for editable installs +RDEPEND=" + >=dev-python/editables-0.3[${PYTHON_USEDEP}] + >=dev-python/packaging-24.2[${PYTHON_USEDEP}] + >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}] + >=dev-python/pluggy-1.0.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}] + ' 3.10) + dev-python/trove-classifiers[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( + $(python_gen_cond_dep ' + dev-python/atomicwrites[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + dev-python/platformdirs[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/rich[${PYTHON_USEDEP}] + dev-python/tomli-w[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + ' "${PYTHON_TESTED[@]}") + ) +" + +src_test() { + # top-level "tests" directory contains tests both for hatch + # and hatchling + cd "${WORKDIR}/${MY_P}" || die + + # sigh; standalone test suites are overrated, right? + echo "__version__ = '${PV}'" > src/hatch/_version.py || die + local -x PYTHONPATH="src:${PYTHONPATH}" + + # do not require uv for portability, sigh + mkdir "${T}/bin" || die + cat > "${T}/bin/uv" <<-EOF || die + #!/bin/sh + exit 127 + EOF + chmod +x "${T}/bin/uv" || die + local -x PATH=${T}/bin:${PATH} + + # tests mock cargo subprocess call but the backend raises if CARGO + # is not set and shutil.which() can't find it + local -x CARGO=cargo + + distutils-r1_src_test +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping tests on ${EPYTHON}" + return + fi + + local -x EPYTEST_DESELECT=( + # most of these run uv to install stuff + # the few remaining tests aren't worth running + tests/backend/dep/test_core.py + # broken if CARGO is set + tests/backend/builders/test_binary.py::TestBuildBootstrap::test_no_cargo + ) + + local EPYTEST_PLUGINS=( pytest-mock ) + epytest tests/backend +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/idna/idna-3.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/idna/idna-3.10.ebuild index 03662227a0b..621533bb780 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/idna/idna-3.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/idna/idna-3.10.ebuild @@ -17,6 +17,6 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" distutils_enable_tests unittest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/idna/idna-3.11.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/idna/idna-3.11.ebuild index 593b1fc022a..621533bb780 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/idna/idna-3.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/idna/idna-3.11.ebuild @@ -17,6 +17,6 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" distutils_enable_tests unittest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/installer/installer-0.7.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/installer/installer-0.7.0.ebuild index 2c9969e3723..80c144eee74 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/installer/installer-0.7.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/installer/installer-0.7.0.ebuild @@ -21,7 +21,7 @@ SRC_URI+=" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" BDEPEND=" app-arch/unzip 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 index c3702786a44..6bb5317fa20 100644 --- 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 @@ -17,7 +17,7 @@ HOMEPAGE=" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=" dev-python/jaraco-text[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/Manifest index 162d7ccb4b2..5db39c7dea7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/Manifest @@ -1 +1,2 @@ DIST jaraco_context-6.0.1.tar.gz 13912 BLAKE2B e249916d41e936c4f261e5e4330f3d6b26b159772a1284521168313f41ef296ca82930e46837ae8ea7c895f7471bc039d5b42a8d4eceb0718056ff4b82d79cba SHA512 5711f581a616a18f7b7dbac65550255c7eecfae39df04b675817b16fbc5d61b833617d853c40f0b910c0ba5d144baf4c4b2add155c9b91001209b27da594a801 +DIST jaraco_context-6.0.2.tar.gz 14994 BLAKE2B e89f31c411ec2a383fe9125b6cc87931c0d223375632d76efe3fb63da6eb0db818862feefb53cc95e2384ff4fe044fe3bf9e495ea75cc6e14ae04a94eea9889c SHA512 18cc7381eeadea82df21219df0886c486f0b2338aea01e53c471c29d5a289e92d92f41a9943535f27a9f113ae889ee03d8f3323d777006b0dd653b422a412a09 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-6.0.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-6.0.2.ebuild new file mode 100644 index 00000000000..1c00cd09ebb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-6.0.2.ebuild @@ -0,0 +1,63 @@ +# 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=( python3_{11..14} python3_{13,14}t pypy3_11 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Context managers by jaraco" +HOMEPAGE=" + https://github.com/jaraco/jaraco.context/ + https://pypi.org/project/jaraco.context/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + +RDEPEND=" + $(python_gen_cond_dep ' + dev-python/backports-tarfile[${PYTHON_USEDEP}] + ' 3.11) +" +BDEPEND=" + test? ( + dev-python/portend[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # Internet + jaraco/context/__init__.py::jaraco.context.repo_context +) + +src_configure() { + grep -q 'build-backend = "setuptools' pyproject.toml || + die "Upstream changed build-backend, recheck" + # write a custom pyproject.toml to ease setuptools bootstrap + cat > pyproject.toml <<-EOF || die + [build-system] + requires = ["flit_core >=3.2,<4"] + build-backend = "flit_core.buildapi" + + [project] + name = "jaraco.context" + version = "${PV}" + description = "Context managers by jaraco" + EOF +} + +python_install() { + distutils-r1_python_install + # rename to workaround a bug in pkg_resources + # https://bugs.gentoo.org/834522 + mv "${D}$(python_get_sitedir)"/jaraco{_,.}context-${PV}.dist-info || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/Manifest index bcb31b01228..f145acea4a5 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,2 +1,2 @@ -DIST jaraco_functools-4.2.1.tar.gz 19661 BLAKE2B 0052dd97f7d6a341d59aacfd089b8973292707cb65653c2f3b3777aee415bce5bd58e0883d903c028d5899cbf62e519e5bad3731dce76d1d1bd68c7072d691f2 SHA512 f32a0a3410cffb9467a2713d2867b95e4b7491f4df28e5191cceb4e748104617ff3df79f4a86916388fca8cbe379cd8f314ed5276826057aa07b35fb7e046568 DIST jaraco_functools-4.3.0.tar.gz 19755 BLAKE2B c49e39a1b689b9d68e619b8164e1746d53bf3ccc30bd8810846fce122f7a21c67288a8ee1d425f47b410adf18baec3223d78f6b6a7db02d18ab75af535f6cc6b SHA512 494c1eba6963d6c679200d110f3f4de00be7caa5b3783675debfa53f622d6c13bfcadda291f3cdb3ce670d8975a20c813a6a7f9c9145bf5f0503eb71363ed86f +DIST jaraco_functools-4.4.0.tar.gz 19943 BLAKE2B c731e73db1fc74d33d0d312f3c93fc61dae1d47a239f34ad2ab8c5cd45b5dba40a1f50c96fa5d30740bb6a4dcbeae2eec99e5b1ca370574c6c226c107dd344a1 SHA512 7bfdddd2da31dee0461e791726254fcfbcf69dd198ccdfd2c87c771feb589b17a5789669e23c2cc8be4b207c073d84b03c26da3fcf7ae9c3157efd088f50cec3 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.3.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.3.0.ebuild index 8ac513295c5..815aa6d7f2d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.3.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.3.0.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=" >=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}] 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.4.0.ebuild similarity index 88% rename from sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.2.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.4.0.ebuild index ce96f98d2ef..46295092347 100644 --- 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.4.0.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" 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" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=" >=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}] @@ -29,6 +29,7 @@ BDEPEND=" ) " +EPYTEST_PLUGINS=() distutils_enable_tests pytest src_configure() { diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-4.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-4.0.0.ebuild index ffa22cd0e84..bbd47bc73db 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-4.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-4.0.0.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=" >=dev-python/jaraco-context-4.1.1-r1[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jinja2/jinja2-3.1.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jinja2/jinja2-3.1.6.ebuild index 1780fbdf256..b1164120fa2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/jinja2/jinja2-3.1.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/jinja2/jinja2-3.1.6.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" RDEPEND=" >=dev-python/markupsafe-2.0[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lark/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/lark/Manifest index 51bee5e75cb..beabe78ff15 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/lark/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/lark/Manifest @@ -1,3 +1,2 @@ -DIST lark-1.2.2.tar.gz 252132 BLAKE2B 175f51930972f17051af6fefdf71ef4602f126d373888f30a630a703d038abe9bb2706da80564c72f19273f7d0bfbe351ab34e9d72fa1ad9dd7181232eefe61e SHA512 77cf3abf26b827cb60eae4c193de0c98780df7dfa3daa1c21ca5d73bc16387d77561d57e8a20c69ceaeb35531b7191fe765b9834587972e2697f3f07def96b6c DIST lark-1.3.0.tar.gz 259551 BLAKE2B 0df524ef483efeb7ab42973a1c06146e4e50fb59c489606498cc7dd8db61be76c7cf12062981cdbe9121ad98a1f892940d0b4d592d63c7d8d1563de4feab2f65 SHA512 d20191bb98e823f078359ccf2f391f9d01c80d7481d3c8061f8a6a8083f069e11029017158f773683b8e662f6cc81075f5cb4965c5fecde3956f131e3938af3d DIST lark-1.3.1.tar.gz 382732 BLAKE2B d08d8f73d79699f33795a46d1e8ae4aa86425e63df4dea19ce9aefaa18749bed5505f5dd657313e4d0463cd217f851494b939da7e134557f4a8f6c26321d7f42 SHA512 aee4ec6a6dd2e25801c66688861d0b25b68b7b916492764b3f8621dd70c33a93b364cb70d84ccac645cb7156892b90b503d6c79dedb9f656830c70a9b43549d0 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lark/files/lark-1.2.2-py314.patch b/sdk_container/src/third_party/portage-stable/dev-python/lark/files/lark-1.2.2-py314.patch deleted file mode 100644 index aade3ae3022..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/lark/files/lark-1.2.2-py314.patch +++ /dev/null @@ -1,38 +0,0 @@ -https://github.com/lark-parser/lark/issues/1480 -https://github.com/lark-parser/lark/pull/1483 - -From 4809ce89ca005b71f6db930c4aabf6496a502795 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hrn=C4=8Diar?= -Date: Wed, 6 Nov 2024 16:47:11 +0100 -Subject: [PATCH] Wrap functools.partial in staticmethod() to add compatibility - with Python 3.14 - -Fixes: #1480 ---- - tests/test_trees.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/tests/test_trees.py b/tests/test_trees.py -index 1f69869e..07687ac0 100644 ---- a/tests/test_trees.py -+++ b/tests/test_trees.py -@@ -254,7 +254,7 @@ def ab_method(self, a, b): - ab_partialmethod = partialmethod(ab_for_partialmethod, 1) - set_union = set(["a"]).union - static_add = staticmethod(add) -- partial_reduce_mul = partial(reduce, mul) -+ partial_reduce_mul = staticmethod(partial(reduce, mul)) - - custom_callable = CustomCallable() - -@@ -355,8 +355,8 @@ def test(prefix, s, postfix): - - @v_args(inline=True) - class T(Transformer): -- a = functools.partial(test, "@", postfix="!") -- b = functools.partial(lambda s: s + "!") -+ a = staticmethod(functools.partial(test, "@", postfix="!")) -+ b = staticmethod(functools.partial(lambda s: s + "!")) - - res = T().transform(tree) - assert res.children == ["@TEST1!", "test2!"] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lark/lark-1.2.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lark/lark-1.2.2.ebuild deleted file mode 100644 index cf816a40e50..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/lark/lark-1.2.2.ebuild +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 1999-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 pypi - -DESCRIPTION="Python module to propose a modern general-purpose parsing library for Python" -HOMEPAGE=" - https://github.com/lark-parser/lark/ - https://pypi.org/project/lark/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" - -# dev-python/regex doesn't support pypy -BDEPEND=" - test? ( - dev-python/atomicwrites[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/regex[${PYTHON_USEDEP}] - ' 'python*') - ) -" - -PATCHES=( - # https://github.com/lark-parser/lark/pull/1483 - "${FILESDIR}"/${P}-py314.patch -) - -distutils_enable_tests pytest - -python_test() { - local EPYTEST_IGNORE=( - # require dev-python/js2py which is a really bad quality package - tests/test_nearley/test_nearley.py - ) - - epytest -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lark/lark-1.3.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lark/lark-1.3.1.ebuild index c2c85f3adc6..52da9be463d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/lark/lark-1.3.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/lark/lark-1.3.1.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" # dev-python/regex doesn't support pypy BDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild index a913bf68d54..2cb50350c63 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" IUSE="+native-extensions" BDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lazy-object-proxy/lazy-object-proxy-1.12.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lazy-object-proxy/lazy-object-proxy-1.12.0.ebuild index bfaa23fc443..948d63402ff 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/lazy-object-proxy/lazy-object-proxy-1.12.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/lazy-object-proxy/lazy-object-proxy-1.12.0.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" IUSE="+native-extensions" BDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.4.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.4.0-r2.ebuild index 230a5f2f8e9..f732ebb9c29 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.4.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-5.4.0-r2.ebuild @@ -23,7 +23,7 @@ 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="doc examples +threads test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.0.0.ebuild index 1dbc4ac1bae..7ca2ac69f47 100644 --- 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 @@ -23,7 +23,7 @@ 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="doc examples +threads test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.0.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.0.1.ebuild index 1dbc4ac1bae..7ca2ac69f47 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.0.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.0.1.ebuild @@ -23,7 +23,7 @@ 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="doc examples +threads test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.0.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.0.2.ebuild index cc2db3d2667..995eae7de9d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.0.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.0.2.ebuild @@ -23,7 +23,7 @@ S=${WORKDIR}/lxml-${P} LICENSE="BSD ElementTree GPL-2 PSF-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="doc examples +threads test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.2.ebuild index 036ebadc084..06b19f6bfc1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.2.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" IUSE="+native-extensions" distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.3.ebuild index 91456bbf5a7..a0a5fd50642 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.3.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" IUSE="+native-extensions" EPYTEST_PLUGINS=() diff --git a/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/more-itertools-10.7.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/more-itertools-10.7.0.ebuild index b2a03b7cf5e..b783db3a247 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/more-itertools-10.7.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/more-itertools-10.7.0.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" distutils_enable_sphinx docs \ dev-python/furo diff --git a/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/more-itertools-10.8.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/more-itertools-10.8.0.ebuild index b2a03b7cf5e..b783db3a247 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/more-itertools-10.8.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/more-itertools-10.8.0.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" distutils_enable_sphinx docs \ dev-python/furo diff --git a/sdk_container/src/third_party/portage-stable/dev-python/msgpack/msgpack-1.1.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/msgpack/msgpack-1.1.2.ebuild index 12b8bc147e3..fd53ace92e9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/msgpack/msgpack-1.1.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/msgpack/msgpack-1.1.2.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 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/olefile/olefile-0.47.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/olefile/olefile-0.47.ebuild index 5a54627ffbf..ddebd7715fe 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/olefile/olefile-0.47.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/olefile/olefile-0.47.ebuild @@ -21,7 +21,7 @@ SRC_URI=" LICENSE="BSD-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" distutils_enable_sphinx doc \ dev-python/sphinx-rtd-theme diff --git a/sdk_container/src/third_party/portage-stable/dev-python/packaging/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/packaging/Manifest index e17cbd33ec8..fd4c68d97fc 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/packaging/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/packaging/Manifest @@ -1,2 +1,3 @@ -DIST packaging-24.2.tar.gz 163950 BLAKE2B 8610f22a05a71a38bafe5e7ae12c549a4395f751585ab2056eb5ca1c76db3d4bc9dc452eafac4209a87e8ef54577c35529873fa25b8a43b454164298c203aae7 SHA512 4d79d9c49c59255e9eb12cb1452ff9ee413a6a6f34a23c487d3d5712ddabe067f8c6dafe0c8111517682634deac2fd5db1346e3c0cc9f432eba94491aa459553 DIST packaging-25.0.tar.gz 165727 BLAKE2B ad665526339ccc63bbca1e21649f773e626b13f984f0800c6362d5642e8de701d88f7793015bc406f3dc39fa6ce2784f099f925b08d7b5c1d3614d390470080c SHA512 0672602d2e18c3aee71b3e567b0de572bc8613ee3d24a79a655ded23ac08ec4582193225bc0c0ea390ed81cf5efbb46e8afbe0798d14f2235f811f263c25728c +DIST packaging-26.0rc1.tar.gz 142273 BLAKE2B 164a8cc27b161c7aa9214ff545a8c26fc44ebc943a4914bcf58ba050d6d3f243aa0a08033b669066cdb3bc8926ad5bcd30651e5490ee92078c41b559e8ba905b SHA512 6b9a18f23821d957546a022c0efcff3af5fa393c3938132868cd6468128820a606a2235642928cb05afea40ae51b071b5403344c308a251d1d31f83047d1d72a +DIST packaging-26.0rc1.tar.gz.provenance 9673 BLAKE2B 47a90dc7d169887beb4671e2e665b00b0754a7bfe5ab2a3d0ae7e6e044c7ab3abd7c30d5b859af3f6d380c5061f74f77e4a29dc16f5a52e3fc46ed59e92d8067 SHA512 443e51791c9da3b5cdc467af8dfe4d0afa73be748b22b26b58ec81526177f048a6b86ab0c2654cb3b8fa87b741b73416a39eb32dd26a10265fe307443d93eb0a diff --git a/sdk_container/src/third_party/portage-stable/dev-python/packaging/packaging-25.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/packaging/packaging-25.0.ebuild index 672a4cc5582..9619a1fdb0e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/packaging/packaging-25.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/packaging/packaging-25.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="|| ( Apache-2.0 BSD-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 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=" !> setup.cfg <<-EOF || die + [build_ext] + debug = True + disable_platform_guessing = True + $(usepil avif)_avif = True + $(usepil truetype)_freetype = True + $(usepil jpeg)_jpeg = True + $(usepil jpeg2k)_jpeg2000 = True + $(usepil lcms)_lcms = True + $(usepil tiff)_tiff = True + $(usepil imagequant)_imagequant = True + $(usepil webp)_webp = True + $(usepil xcb)_xcb = True + $(usepil zlib)_zlib = True + EOF + if use truetype; then + # these dependencies are implicitly disabled by USE=-truetype + # and we can't pass both disable_* and vendor_* + # https://bugs.gentoo.org/935124 + cat >> setup.cfg <<-EOF || die + vendor_raqm = False + vendor_fribidi = False + EOF + fi + + tc-export PKG_CONFIG +} + +src_test() { + virtx distutils-r1_src_test +} + +python_test() { + local EPYTEST_DESELECT=( + # TODO (is clipboard unreliable in Xvfb?) + Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard + # requires xz-utils[extra-filters]? + Tests/test_file_libtiff.py::TestFileLibTiff::test_lzma + ) + + case ${ARCH} in + ppc) + EPYTEST_DESELECT+=( + # https://github.com/python-pillow/Pillow/issues/7008 + # (we've reverted the upstream patch because it was worse + # than the original issue) + Tests/test_file_libtiff.py::TestFileLibTiff::test_exif_ifd + ) + ;; + esac + + "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}" + # leak tests are fragile and broken under xdist + # nonfatal implied by xvfb + nonfatal epytest -k "not leak" || die "Tests failed with ${EPYTHON}" +} + +python_install() { + python_doheader src/libImaging/*.h + distutils-r1_python_install +} + +python_install_all() { + if use examples ; then + docinto example + dodoc docs/example/* + docompress -x /usr/share/doc/${PF}/example + fi + distutils-r1_python_install_all +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-25.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-25.3.ebuild index 1439ec798fe..a306901ec2e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-25.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-25.3.ebuild @@ -28,7 +28,7 @@ SRC_URI=" LICENSE="MIT" 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="test test-rust" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/Manifest index 0de00930d8a..8319378c54a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/Manifest @@ -1,2 +1,3 @@ -DIST platformdirs-4.4.0.tar.gz 21634 BLAKE2B cdfa2e7bde37b5d1a5e3eaaca33001510a498538909f4c8d61bf4ea32c0f0085aa3bf4559392a6df12da7611e68b854f4d70abcef1eb830457f589074ffed3e4 SHA512 04580eec94b5aa1149427e7a44789dcd443d2b9a4f002669fe1a0e4380c12b97d02ef4314c96e340e664aa251e42a4fd4bfc0d69a8191851962255689544e3b0 DIST platformdirs-4.5.0.tar.gz 21632 BLAKE2B 06de7250dd254e03c29d32d2dbb9da65078c480e2cbdafe3dafd5602182b4472f5078d66a30a04e22c8493904097a60c82ac734b1d0ba304088b0180878dbf7f SHA512 cefe512f8f6cbe989eacdffbbb98a964000855cca46faade62180837d7e21dd6c43eb172211e55fd04090df04e2ef416d49e92d7ccc3a0253ce2a88fc3fb9358 +DIST platformdirs-4.5.1.tar.gz 21715 BLAKE2B f987cafe13a440716d73c6f98183bc1b4ae7d778931a81a4f140273d9fd1bc51e56633ff4a4381dbc2050284d9d0fa085ab54adbf504807c715f3441b8c8dab3 SHA512 33651a2aba8e844027d22f1e7a48fb32750a81a8d73807a4f10f37f1ba7ee8c8d3b2c391920328fb34fce1d3653e6d7f097a2c5e09b350a8ebfb6f21e3b1c488 +DIST platformdirs-4.5.1.tar.gz.provenance 9300 BLAKE2B ede576d4aa1a03871bd448efcd9613a209651bfcd91681a7afd680cf8f75e5dd8fbe6bca298a9cb51807da06f32fd80b27ba6adedf8b504c556724bfc18c3bf9 SHA512 6ad9983c790a1765ac70544f1ab04ecae0697d883fb355b6771688ac1b564e3b0fa7e8f538e586315d8a1e2f8e970b5818ba254546c6ed578ecbc56d6bfa42b0 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.4.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.5.1.ebuild similarity index 86% rename from sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.4.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.5.1.ebuild index bd86bb804eb..c6e08b2d1f7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.4.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.5.1.ebuild @@ -4,6 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit +PYPI_VERIFY_REPO=https://github.com/tox-dev/platformdirs PYTHON_COMPAT=( python3_{11..14} python3_{13,14}t pypy3_11 ) inherit distutils-r1 pypi @@ -16,7 +17,7 @@ HOMEPAGE=" 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" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" BDEPEND=" test? ( diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pluggy/pluggy-1.6.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pluggy/pluggy-1.6.0.ebuild index d97f3e81dd1..0011aab6956 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pluggy/pluggy-1.6.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pluggy/pluggy-1.6.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" BDEPEND=" dev-python/setuptools-scm[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ply/ply-3.11-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ply/ply-3.11-r2.ebuild index 14f177d1494..104c3d02677 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/ply/ply-3.11-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/ply/ply-3.11-r2.ebuild @@ -18,7 +18,7 @@ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-py3.12-a LICENSE="BSD" SLOT="0/${PV}" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="examples" DOCS=( ANNOUNCE CHANGES TODO ) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/Manifest index 29848b8f58d..379e3f95a66 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/Manifest @@ -1,3 +1 @@ -DIST poetry_core-2.1.3.tar.gz 365027 BLAKE2B d3cd1536a8466f784b2cd6a835997c480cdc11d24afe4e0b757879b2acc4795e33485fc9bf6adccf5afbf475d4b1748959fb146a6c01cf8508d6c27a7abe52e0 SHA512 eb82164aef3ce00fc14d55db8065b95feca15a78e1c69ca58c8c0b1018404b173a80c61d448513f938535a03e73df99978b51b3494065bd1c99bc8a14e224ba8 -DIST poetry_core-2.2.0.tar.gz 378727 BLAKE2B b3b122ed167d4160054e76842df49ad836f2f1139e5d39de461d38fd76110e1718fb912552c5d48aba2fc88eca01fa5c0c66a7aa4973d7968b000bbb61d4cfe9 SHA512 83a05d2e024e0a92a32ac8ea9a8a8b1313a6910f11e27b0a501703b0aac5c9f833a2b642403e28bb3ddffa7300c6f5e4533b604af40421033c2416e175a340c5 DIST poetry_core-2.2.1.tar.gz 378867 BLAKE2B 973ffc150b9d7942d56378756d9297b4c190322f01048421f4de34dd432ca7af880950c1adc0fcde8fbf4a7e8143e4e0027ab7faebd5789476a7431ba4d09fdc SHA512 786ccaad8cfdd5991d755f811661ce2493b335e6ad927c1a15c62b1055571180759eef63ed14b243677e0bfcedcf08e471bab9e0b261f65096984d2b7370f972 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-2.1.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-2.1.3.ebuild deleted file mode 100644 index 66b9876b7b3..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-2.1.3.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 2022-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=standalone -PYTHON_TESTED=( pypy3_11 python3_{11..14} ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) - -inherit distutils-r1 pypi - -DESCRIPTION="Poetry PEP 517 Build Backend" -HOMEPAGE=" - https://github.com/python-poetry/poetry-core/ - https://pypi.org/project/poetry-core/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" - -# check inside vendors/pyproject.toml -# (note that some are indirect deps) -RDEPEND=" - >=dev-python/fastjsonschema-2.21.1[${PYTHON_USEDEP}] - >=dev-python/lark-1.2.2[${PYTHON_USEDEP}] - >=dev-python/packaging-24.2[${PYTHON_USEDEP}] -" -BDEPEND=" - ${RDEPEND} - test? ( - $(python_gen_cond_dep ' - dev-python/build[${PYTHON_USEDEP}] - dev-python/pytest-mock[${PYTHON_USEDEP}] - dev-python/tomli-w[${PYTHON_USEDEP}] - >=dev-python/trove-classifiers-2022.5.19[${PYTHON_USEDEP}] - >=dev-python/virtualenv-20.21[${PYTHON_USEDEP}] - dev-vcs/git - ' "${PYTHON_TESTED[@]}") - ) -" - -distutils_enable_tests pytest - -src_prepare() { - # remove vendoring of dependencies - rm -r src/poetry/core/_vendor || die - sed -e '/__vendor_site__/d' -i src/poetry/core/__init__.py || die - - distutils-r1_src_prepare -} - -python_test() { - if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then - einfo "Skipping tests on ${EPYTHON} (unported deps)" - return - fi - - # Poetry expects test to be run inside a git repository, otherwise - # VCS-related logic doesn't get triggered. An empty repository - # suffices, though. - git init || die - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -p pytest_mock -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-2.2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-2.2.0.ebuild deleted file mode 100644 index d58aeb570aa..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-2.2.0.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 2022-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=standalone -PYTHON_TESTED=( pypy3_11 python3_{11..14} ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) - -inherit distutils-r1 pypi - -DESCRIPTION="Poetry PEP 517 Build Backend" -HOMEPAGE=" - https://github.com/python-poetry/poetry-core/ - https://pypi.org/project/poetry-core/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" -IUSE="test" -RESTRICT="!test? ( test )" - -# check inside vendors/pyproject.toml -# (note that some are indirect deps) -RDEPEND=" - >=dev-python/fastjsonschema-2.21.2[${PYTHON_USEDEP}] - >=dev-python/lark-1.2.2[${PYTHON_USEDEP}] - >=dev-python/packaging-25.0[${PYTHON_USEDEP}] -" -BDEPEND=" - ${RDEPEND} - test? ( - $(python_gen_cond_dep ' - dev-python/build[${PYTHON_USEDEP}] - dev-python/pytest-mock[${PYTHON_USEDEP}] - dev-python/tomli-w[${PYTHON_USEDEP}] - >=dev-python/trove-classifiers-2022.5.19[${PYTHON_USEDEP}] - >=dev-python/virtualenv-20.21[${PYTHON_USEDEP}] - dev-vcs/git - ' "${PYTHON_TESTED[@]}") - ) -" - -src_prepare() { - # remove vendoring of dependencies - rm -r src/poetry/core/_vendor || die - sed -e '/__vendor_site__/d' -i src/poetry/core/__init__.py || die - - distutils-r1_src_prepare -} - -python_test() { - if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then - einfo "Skipping tests on ${EPYTHON} (unported deps)" - return - fi - - # Poetry expects test to be run inside a git repository, otherwise - # VCS-related logic doesn't get triggered. An empty repository - # suffices, though. - git init || die - - local EPYTEST_PLUGINS=( pytest-mock ) - epytest -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pycparser/pycparser-2.22.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pycparser/pycparser-2.22.ebuild index 9f4aecf1611..1ea0876bec9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pycparser/pycparser-2.22.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pycparser/pycparser-2.22.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~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 ~x64-macos ~x64-solaris" RDEPEND=" dev-python/ply:=[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pycparser/pycparser-2.23.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pycparser/pycparser-2.23.ebuild index 9f4aecf1611..1ea0876bec9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pycparser/pycparser-2.23.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pycparser/pycparser-2.23.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~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 ~x64-macos ~x64-solaris" RDEPEND=" dev-python/ply:=[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pysocks/pysocks-1.7.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pysocks/pysocks-1.7.1-r2.ebuild index edca9927cc5..bfc8ea297b4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pysocks/pysocks-1.7.1-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pysocks/pysocks-1.7.1-r2.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~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 ~x64-macos ~x64-solaris" # tests are broken beyond repair and the package is no longer maintained RESTRICT="test" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-8.3.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-8.3.1.ebuild index 28dffa83127..1edec363a31 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-8.3.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-8.3.1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" # there's an optional dep on rich for cute logs RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-9.2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-9.2.0.ebuild index 6fab476c7a9..8e4e74d74e7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-9.2.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-9.2.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" # there's an optional dep on rich for cute logs RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-9.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-9.2.1.ebuild index 38d40d6badc..7b20cb72f27 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-9.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-9.2.1.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" 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" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" # there's an optional dep on rich for cute logs RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-9.2.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-9.2.2.ebuild index 38d40d6badc..332c0f91a6f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-9.2.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-9.2.2.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" # there's an optional dep on rich for cute logs RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/six/six-1.17.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/six/six-1.17.0.ebuild index fd7c0bb9caf..48c8485225c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/six/six-1.17.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/six/six-1.17.0.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" distutils_enable_sphinx documentation --no-autodoc distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/Manifest index d613a56d2c8..dc50cbb7b50 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/Manifest @@ -1,2 +1,2 @@ -DIST snakeoil-0.10.10.tar.gz 174648 BLAKE2B b71a7006bef87527b1fca1dac4608ba38c33f38de23d7b3533ee5333b3671f69b0300c18a737d663532ce1a60f092fb4d9a40f1edab020604c4a78e92053ad59 SHA512 606204d80f099334abfc73475982b724da78117753a545ebcee9378f7cc88cd67e42c0f3c4dbf98c9c138dddf2bcf067ca47add664fde8454e4185bb8e8474d1 DIST snakeoil-0.10.11.tar.gz 174701 BLAKE2B 5dba8eac3fdd6dfc88fcb2ffac8cd16f18c28485d39e6726708f98f0c86cdc6d101bf343da75c505f34c59c0bede89b0adbc268bc6d93a996cfefce4e968ac75 SHA512 6cd4fb1449e1ccf74bf8042afa4e113704eb328c89ff1def59581e96031082b27d78f46574796f59a612148947626d727b13a04134bc895e96f2f4733ce54c41 +DIST snakeoil-0.11.0.tar.gz 201462 BLAKE2B c8d9953b5fc482afbadd471c6de273518d1b30a42cff2cc45cd2700544bb9a84b25ea3686e8f056bd44562075f1eedf7db3af6cf935f177b513e9b3f0a76840c SHA512 6636def3a05469a3f22e0a510d00fd5d6399c561fa436f7028507b5b548c5d20200ec93fdf2d8ba03176e76f2d6a0e51f12f63fa4b6a16a11839552dcbd7543c diff --git a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.10.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.0.ebuild similarity index 62% rename from sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.10.10.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.0.ebuild index 1d75421e7be..48283cb36c6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.10.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.0.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 ) +PYTHON_COMPAT=( python3_{11..14} pypy3_11 ) PYTHON_REQ_USE="threads(+)" inherit distutils-r1 @@ -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 @@ -23,11 +23,5 @@ HOMEPAGE="https://github.com/pkgcore/snakeoil" LICENSE="BSD BSD-2 MIT" SLOT="0" -RDEPEND=" - dev-python/lazy-object-proxy[${PYTHON_USEDEP}] -" -BDEPEND=" - >=dev-python/flit-core-3.8[${PYTHON_USEDEP}] -" - +EPYTEST_PLUGINS=( pytest-subtests ) distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-9999.ebuild index 20516defe07..48283cb36c6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -23,8 +23,5 @@ HOMEPAGE="https://github.com/pkgcore/snakeoil" LICENSE="BSD BSD-2 MIT" SLOT="0" -RDEPEND=" - dev-python/lazy-object-proxy[${PYTHON_USEDEP}] -" - +EPYTEST_PLUGINS=( pytest-subtests ) distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tomli/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/tomli/Manifest index 02ff4f3c836..763e554603c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/tomli/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/tomli/Manifest @@ -1,4 +1,4 @@ -DIST tomli-2.2.1-py3-none-any.whl.zip 14257 BLAKE2B 1806b29c4331a153c3fcadf3eb4ca40576210fdbd91ce2708bc36714949df3aba17a19eb3f8e899a984039ae77d75ab1a630ee4e30eae0605495c38b8bf86279 SHA512 00a2c52a4e580c28d9c54a1b1e73e0c26f3108ffaa538b0bc0011c3c85397f4217ecbd136e77b6571bfcb1e055b28d70ac79a25571e2367e227a9b24aff57a97 -DIST tomli-2.2.1.gh.tar.gz 137745 BLAKE2B 5660d11b8925fd39f3b9bc1957a06026e108cd3fee61988f0d25af2f9634d5fbafc7121ffa7dd1abc28013310c72253b58b7d4d267f4b1848ee6a9e3ff00698a SHA512 6bd2600b06b9d41f45ae34172380d3ec162d0e25a7602e8e77ee37bbe165674ff17afc39c4d1f87c9cec9bd1f02003ba5ebaa313a60efca64ef5124f77a2c887 DIST tomli-2.3.0-py3-none-any.whl.zip 14408 BLAKE2B 4348f41b2e893cd2a56e8892b01383f6ae46055ba8b319343690c6e528ff8ebbc2d4fd95cc0dafacde6c0b5143ab2bb34161e10f542eb368d99e579d89b8bdd8 SHA512 aaa2268fa9d4d79c32742db994540b6b4ae84091a1a7a01e574f96ea322e36d1fe079db2adc32d4baf8db2e75e9b5109038444ce30d5166103e78c924b02c951 DIST tomli-2.3.0.gh.tar.gz 138737 BLAKE2B d8913c3d1ba3b596f8f73bab2560411cc42c2405780cbfdb14ecf77a2e23962468b86a76a864d8de2a00e4288d4b8651e26185f380eebcb8f32fb57c19113154 SHA512 bd39f9ef09bf43dc48787541ef96781459f66899fab12f72b24e57ef13a8975e135b6a90b0ed7f44c0c3171a4b3afbe0c8a2a8ffeace4255771a0f331288835e +DIST tomli-2.4.0-py3-none-any.whl.zip 14477 BLAKE2B efe5a7e331e7606f63cab7796ee2b0dcba0230980202d352e1c5b8e5c95f28c2a2b2323940acdcef97a19b9408dc3ac9ddb4d763b9a021f1ce2525f50391d19d SHA512 9daddb30d6838ab2c65312b00a340ae25efc6957e967d5692b7beece6617c50ab747f52cec7aadb49613ccd5fc6fc551e16f8d0c0fee1bb5a75f1cfdc224f64d +DIST tomli-2.4.0.gh.tar.gz 81505 BLAKE2B ed4cf087daaeac563d87b646d2bf9f88732569956362fac1000bf7871928572c6936dfd28426050c3401dc911563be7f8f36baee714c0c7a1ebb6f3d960ebdb9 SHA512 8bd8c46d4e4337142fbd94a6a78b478db804bc7c535c11eb447a3613afdda3428b679dc06228b37ccaad73af334c204c38236b0b5287f7ff6d21387f1355d420 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.3.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.3.0.ebuild index 72f359c539e..7abe55f4d61 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.3.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.3.0.ebuild @@ -22,7 +22,7 @@ SRC_URI=" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" BDEPEND=" app-arch/unzip diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.4.0.ebuild similarity index 77% rename from sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.2.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.4.0.ebuild index 72f359c539e..4904868d6b1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.4.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2021-2025 Gentoo Authors +# Copyright 2021-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # please keep this ebuild at EAPI 8 -- sys-apps/portage dep @@ -22,7 +22,7 @@ SRC_URI=" 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" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" BDEPEND=" app-arch/unzip diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.25.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.25.2.ebuild index 0a78ecfd473..545153ac49d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.25.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.25.2.ebuild @@ -22,7 +22,7 @@ S=${WORKDIR}/py-${P} LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" # setuptools is needed for distutils import DEPEND="=dev-libs/tree-sitter-0.25*:=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/Manifest index 17dca813c17..f3f62c6ddbd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/Manifest @@ -1,4 +1,6 @@ DIST trove_classifiers-2025.11.14.15.tar.gz 16995 BLAKE2B 355786880d2f08c5b61025b3402344bdd8a67873244d4dcb08a75bef934a8976dac244bee232d6dc0ce7391228672cf30c9e71c42b502b8b8197015baa070e59 SHA512 6ee429b25d41df329c301fe4c9647700a350c958fa6c1a7d0885dfbeaedf708185bc82756cd6991ad87cd94b9acbf1aba45a5f8e6e0266a0e8b0d80de8b8f306 DIST trove_classifiers-2025.11.14.15.tar.gz.provenance 9169 BLAKE2B ce6ee2506f391ebb957e3fe39a5ad0efa3bfca54da5cc05dcc604ceec1708f56bcca7ccef91da18f0c704f0ea6c5f9a575f329047da7186c8372a62a9c728047 SHA512 f7b3f5ef0c04b368d8b18b4d3c8b83463ca7cfbbcce0fef592787eb56c105a2d3ce2f4f1850622734fd7f070edba98717f1d9401dff1f078afa36c6be2124913 +DIST trove_classifiers-2025.12.1.14.tar.gz 16985 BLAKE2B 0a47c36e8e688213f48e5a964098795a10a9752a62e7af18137932d025a7b85a199f1bbf3de7da204c6e29ff09b2e5d1809ecf46d50428ce4ac8fb1a2f3ca723 SHA512 1cc333b2abefc5efc2aba7943133bc976cd58a58401ebd5bc106924741d84f303cb38c5ab72d3558f1633b393179a7549019c5a53f428b504bae81fc6a219166 +DIST trove_classifiers-2025.12.1.14.tar.gz.provenance 9306 BLAKE2B cd3a14e5ea484768785dd45c02112123fc6f1e8fbcc7f521875334c14e95da46eaf952311b79bf1fe6303c768bdb2ceffe7df954b0bf52ce7d789650dfd49f2d SHA512 d212f63e612c04856dfcd67cdbf60d4670e543f7643d11260463bc16b88d5053605b6437f126ab1b50f9e1ea4c0ec5ebb2a6e67a5097453cbfa7935b665408e0 DIST trove_classifiers-2025.9.11.17.tar.gz 16975 BLAKE2B a00df0a1dbb15b6f7cd5455def2eb3ae9f593d1c3cdf84a8b49ac66352833bcd1f1f539fadf899fd25cf9dac9194d2883db87d7559128408d4c6662bca45dc3f SHA512 652514278a81cf81e62b5062a665f719c2a861f33416aa29e6446a88e57ab5fd68888569556bbc1d97d0a1c713b122a02107358b0b5f51f7e6772e37a9306abf DIST trove_classifiers-2025.9.11.17.tar.gz.provenance 9341 BLAKE2B d50ae31eae2b9197d2a965de684229f01ab15bffdaef1a9dd826d2189ad3ad2e18eec50a4c4beb943e185f3172e39cbccab65483893935949934a80818a1b32c SHA512 ebfad1a94a1bf2f7fa34ae7409c7b375cb5d727d693c0da0c60f06bac7fa2dc665ef80c9516f232ce0afe6863c4cd825019a9a10c5b2d32c171b480e18cfd265 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2025.11.14.15.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2025.11.14.15.ebuild index db1b33203ca..8aa6c9a0c3a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2025.11.14.15.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2025.11.14.15.ebuild @@ -17,7 +17,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 ~arm64-macos ~x64-macos ~x64-solaris" EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2025.12.1.14.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2025.12.1.14.ebuild new file mode 100644 index 00000000000..a8cd3ab1972 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2025.12.1.14.ebuild @@ -0,0 +1,47 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYPI_VERIFY_REPO=https://github.com/pypa/trove-classifiers +PYTHON_COMPAT=( pypy3_11 python3_{11..14} python3_{13,14}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="Canonical source for classifiers on PyPI (pypi.org)" +HOMEPAGE=" + https://github.com/pypa/trove-classifiers/ + https://pypi.org/project/trove-classifiers/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_configure() { + grep -q 'build-backend = "setuptools' pyproject.toml || + die "Upstream changed build-backend, recheck" + # write a custom pyproject.toml to ease hatchling bootstrap + cat > pyproject.toml <<-EOF || die + [build-system] + requires = ["flit_core >=3.2,<4"] + build-backend = "flit_core.buildapi" + + [project] + name = "trove-classifiers" + version = "${PV}" + description = "Canonical source for classifiers on PyPI (pypi.org)." + + [project.scripts] + trove-classifiers = "trove_classifiers.__main__:cli" + EOF +} + +python_test() { + epytest + "${EPYTHON}" -m tests.lib || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2025.9.11.17.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2025.9.11.17.ebuild index 8a9d69ddfbe..8aa6c9a0c3a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2025.9.11.17.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2025.9.11.17.ebuild @@ -17,7 +17,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 ~arm64-macos ~x64-macos ~x64-solaris" EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.14.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.14.1.ebuild index a2fe10cf288..e8082ec6907 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.14.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.14.1.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 ~arm64-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.15.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.15.0.ebuild index a2fe10cf288..e8082ec6907 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.15.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.15.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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test" RESTRICT="!test? ( test )" 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 c4a31cd9b83..2c4a465013f 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.5.0.tar.gz 393185 BLAKE2B 3885be1dae81cb63cfd0c52242b8ff342e4fb398816f94b556e929af0328f4063d705f15201005f4247b278420794984277999751170e124c23ac99c6dc881d4 SHA512 f417a2745bc9750da23916690937e5c0dfe0534354f2c1c9f056baf16554a831a28937acca2b1f23941d5b6e87a372f2e074508eaf2c3304fd1014b8afc3295e +DIST urllib3-2.6.3.tar.gz 435556 BLAKE2B 9e8cd91390da4ba0b71aa357735c25cd59f1509293a71d5c382a1e9b973c10158f0774b4da9e9dcf13932bdaeddff07ea67242bb92a981855e5d7afec153d629 SHA512 663c83a78908dac9bb05c7ac833183c2fdc2969d0662d21dd8751ba13c51880ee264f7804760f33ebdabfd1c1f04a5d44171a420396de6ae582f9789801b141c +DIST urllib3-2.6.3.tar.gz.provenance 9346 BLAKE2B 2b2cd838678933a5faa513e6974627f073826107d293e09354508f651c536bb63fe065406e1d8b845b933ee5db97b9e5a50ddb0417c52accab6e5367451bb507 SHA512 bb734fa663a6ff50bda97d2956825ef8eae3b0959f045f15f8b816881677eaa17eea8d832926fc664ee9398c33731d3917814617b32dfb7f40776cb6e69cd408 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.6.3.ebuild similarity index 83% rename from sdk_container/src/third_party/portage-stable/dev-python/urllib3/urllib3-2.5.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/urllib3/urllib3-2.6.3.ebuild index afdb4310ce4..ce23c7a78c1 100644 --- 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.6.3.ebuild @@ -1,10 +1,11 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 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 +PYPI_VERIFY_REPO=https://github.com/urllib3/urllib3 PYTHON_TESTED=( python3_{11..14} pypy3_11 ) PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) PYTHON_REQ_USE="ssl(+)" @@ -27,7 +28,7 @@ SRC_URI+=" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="brotli http2 test zstd" RESTRICT="!test? ( test )" @@ -36,12 +37,16 @@ RESTRICT="!test? ( test )" RDEPEND=" >=dev-python/pysocks-1.5.8[${PYTHON_USEDEP}] =dev-python/brotlicffi-0.8.0[${PYTHON_USEDEP}] ) + brotli? ( >=dev-python/brotlicffi-1.2.0.0[${PYTHON_USEDEP}] ) http2? ( =dev-python/h2-4[${PYTHON_USEDEP}] ) - zstd? ( >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}] ) + zstd? ( + $(python_gen_cond_dep ' + >=dev-python/backports-zstd-1.0.0[${PYTHON_USEDEP}] + ' 3.{11..13}) + ) " BDEPEND=" dev-python/hatch-vcs[${PYTHON_USEDEP}] @@ -61,8 +66,10 @@ BDEPEND=" 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[@]}") + $(python_gen_cond_dep ' + >=dev-python/backports-zstd-1.0.0[${PYTHON_USEDEP}] + ' 3.{11..13}) ) " @@ -93,7 +100,8 @@ python_test() { 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_PLUGINS=( pytest-timeout ) + local EPYTEST_RERUNS=10 local EPYTEST_XDIST=1 - epytest -p timeout -p rerunfailures --reruns=10 --reruns-delay=2 + epytest --reruns-delay=2 } diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.6.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.6.0.ebuild index b835449a250..8a8995dca62 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.6.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.6.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 -LLVM_COMPAT=( {15..20} ) +LLVM_COMPAT=( {15..21} ) LLVM_OPTIONAL=1 PYTHON_COMPAT=( python3_{11..14} ) @@ -86,7 +86,10 @@ src_prepare() { sed -i -e 's/-Werror//g' src/Makefile.feature || die # remove hardcoded/unhelpful flags from bpftool - sed -i -e '/CFLAGS += -O2/d' -e 's/-W //g' -e 's/-Wextra //g' src/Makefile || die + sed -e '/CFLAGS += -O2$/d' \ + -e '/CFLAGS += -W$/d' \ + -e '/CFLAGS += -Wextra$/d' \ + -i src/Makefile || die # always build bpf bits with std=gnu11 for kernel compatibility (bug 955156) sed -i 's/-fno-stack-protector/& -std=gnu11/g' src/Makefile || die diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild index ffb93ed0b00..3f8d05a6053 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -LLVM_COMPAT=( {15..20} ) +LLVM_COMPAT=( {15..21} ) LLVM_OPTIONAL=1 PYTHON_COMPAT=( python3_{11..14} ) @@ -86,7 +86,10 @@ src_prepare() { sed -i -e 's/-Werror//g' src/Makefile.feature || die # remove hardcoded/unhelpful flags from bpftool - sed -i -e '/CFLAGS += -O2/d' -e 's/-W //g' -e 's/-Wextra //g' src/Makefile || die + sed -e '/CFLAGS += -O2$/d' \ + -e '/CFLAGS += -W$/d' \ + -e '/CFLAGS += -Wextra$/d' \ + -i src/Makefile || die # always build bpf bits with std=gnu11 for kernel compatibility (bug 955156) sed -i 's/-fno-stack-protector/& -std=gnu11/g' src/Makefile || die diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bsdiff/bsdiff-4.3-r4.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bsdiff/bsdiff-4.3-r4.ebuild index 4ae587a7127..dc17878e0df 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bsdiff/bsdiff-4.3-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/bsdiff/bsdiff-4.3-r4.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.daemonology.net/bsdiff/${P}.tar.gz" LICENSE="BSD-2" SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~hppa ~mips ppc ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 ~arm ~hppa ~mips ppc ~sparc x86" RDEPEND="app-arch/bzip2" DEPEND="${RDEPEND}" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.0.0.ebuild index c1499df544a..c95797b8fd7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.0.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 @@ -15,7 +15,7 @@ else S="${WORKDIR}/${MY_P/_/-}" fi -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{12..13} ) DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 linux-info optfeature tmpfiles ${SRC_ECLASS} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.0.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.0.1.ebuild index bdec3550acb..c95797b8fd7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.0.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.0.1.ebuild @@ -15,7 +15,7 @@ else S="${WORKDIR}/${MY_P/_/-}" fi -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{12..13} ) DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 linux-info optfeature tmpfiles ${SRC_ECLASS} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.1.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.1.0.ebuild index 0eb6758a965..6643569e71d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.1.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.1.0.ebuild @@ -15,7 +15,7 @@ else S="${WORKDIR}/${MY_P/_/-}" fi -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{12..13} ) DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 linux-info optfeature tmpfiles ${SRC_ECLASS} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-9999.ebuild index 0eb6758a965..6643569e71d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-9999.ebuild @@ -15,7 +15,7 @@ else S="${WORKDIR}/${MY_P/_/-}" fi -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{12..13} ) DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 linux-info optfeature tmpfiles ${SRC_ECLASS} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/Manifest index 38540b3884a..fd51d5f62bd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/Manifest @@ -1,4 +1,3 @@ DIST glib-2.82.5.tar.xz 5554704 BLAKE2B e7853034be1137f8b793483df9e9ce1465dd10a990eb9b3cb9ac76c9f8f86ccc6fda85645b04b35963b28c33e0f6c02df4f3d03e06cc278b8515e588d6bd05f6 SHA512 a6b035c32a42b9d6f4c031a29da405848002619654b58c9205f2f78dbb9698cd5866f31ab213adc04aa214d2c48840a9592c0a1e9201e6851ebd435635f393ae -DIST glib-2.84.3.tar.xz 5615704 BLAKE2B 48444b91be68530de05667e2e009dcdc63af2f95cc978a461d930b943772e52b6c9d0e797aea3a9a5713758f22ee60a190c7d601b170c6c853fce624e5c327d7 SHA512 73f2d67d2ef5b4dc8cd2f6df9ce7903853ec619924e2927adbc73d706974a7d660afea55be18e12ccb0dee1145cf4149b743278d2b128fd466e3df2bbf90ef57 DIST glib-2.84.4.tar.xz 5618200 BLAKE2B 5faee382433085cd598545a99e2e95ce430be4ac5ca10106b70f2404ddacf328f4223bc092a23025f9bf8b936619a88a9dfb220674a07e9250cf4213c6213be9 SHA512 2de9b2f7376c0e5f6ee585087090675d597c474199a10d04aad18df688b6ca77d17e93a86ec07482898663f51c82121992272496318138f77ca5ad2c340a4bd3 DIST glib-2.86.1.tar.xz 5673928 BLAKE2B 571f8738e7ca5568ee9a71f0fddb9eba0eba0ec33cad7540515eb744c3104f69ffe02d5966e47eb568abd04cd111e0b3b004d7c2817177fd5f7bc26e354dec0a SHA512 b2e9a3a35cd4cbe0bb6ca493a4250df480eeb0570a0877880ff4ec6d7f1f98d828249b3b60f839b81f17a33494d95be9d42b5f20fa6bb1acb15bcf5734adba51 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.82.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.82.5.ebuild index 08ee78459a9..a310edf11fc 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.82.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.82.5.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 ~x64-macos" RDEPEND=" ${PYTHON_DEPS} 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 deleted file mode 100644 index 9a22a556116..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.84.3.ebuild +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -GNOME_ORG_MODULE="glib" -PYTHON_COMPAT=( python3_{11..14} ) -PYTHON_REQ_USE="xml(+)" -DISTUTILS_USE_PEP517=setuptools -DISTUTILS_SINGLE_IMPL=1 - -inherit gnome.org distutils-r1 - -DESCRIPTION="GDBus code and documentation generator" -HOMEPAGE="https://www.gtk.org/" - -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" - -RDEPEND=" - ${PYTHON_DEPS} - >=dev-libs/glib-${PV} -" -DEPEND="${RDEPEND}" -BDEPEND=" - dev-libs/libxslt - app-text/docbook-xsl-stylesheets - >=dev-python/docutils-0.21.1 -" - -python_prepare_all() { - PATCHES=( - "${FILESDIR}/${PN}-2.56.1-sitedir.patch" - ) - distutils-r1_python_prepare_all - - local MAJOR_VERSION=$(ver_cut 1) - local MINOR_VERSION=$(ver_cut 2) - sed -e 's:@PYTHON@:python:' gdbus-codegen.in > gdbus-codegen || die - sed -e "s:@VERSION@:${PV}:" \ - -e "s:@MAJOR_VERSION@:${MAJOR_VERSION}:" \ - -e "s:@MINOR_VERSION@:${MINOR_VERSION}:" config.py.in > config.py || die - cp "${FILESDIR}/setup.py-2.32.4" setup.py || die "cp failed" - sed -e "s/@PV@/${PV}/" -i setup.py || die "sed setup.py failed" -} - -do_xsltproc_command() { - # Taken from meson.build for manual manpage building - keep in sync (also copied to dev-util/glib-utils) - xsltproc \ - --nonet \ - --stringparam man.output.quietly 1 \ - --stringparam funcsynopsis.style ansi \ - --stringparam man.th.extra1.suppress 1 \ - --stringparam man.authors.section.enabled 0 \ - --stringparam man.copyright.section.enabled 0 \ - -o "${2}" \ - http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl \ - "${1}" || die "manpage generation failed" -} - -src_compile() { - distutils-r1_src_compile - rst2man \ - "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.rst" \ - "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1" -} - -src_test() { - einfo "Skipping tests. This package is tested by dev-libs/glib" - einfo "when merged with FEATURES=test" -} - -python_install_all() { - distutils-r1_python_install_all # no-op, but prevents QA warning - doman "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1" -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.84.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.84.4.ebuild index 9a22a556116..1d5e73342e6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.84.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.84.4.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 ~x64-macos" RDEPEND=" ${PYTHON_DEPS} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.86.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.86.1.ebuild index bb3d561f1bd..38ec5af58a1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.86.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.86.1.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 ~x64-macos" RDEPEND=" ${PYTHON_DEPS} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/Manifest index 38540b3884a..fd51d5f62bd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/Manifest @@ -1,4 +1,3 @@ DIST glib-2.82.5.tar.xz 5554704 BLAKE2B e7853034be1137f8b793483df9e9ce1465dd10a990eb9b3cb9ac76c9f8f86ccc6fda85645b04b35963b28c33e0f6c02df4f3d03e06cc278b8515e588d6bd05f6 SHA512 a6b035c32a42b9d6f4c031a29da405848002619654b58c9205f2f78dbb9698cd5866f31ab213adc04aa214d2c48840a9592c0a1e9201e6851ebd435635f393ae -DIST glib-2.84.3.tar.xz 5615704 BLAKE2B 48444b91be68530de05667e2e009dcdc63af2f95cc978a461d930b943772e52b6c9d0e797aea3a9a5713758f22ee60a190c7d601b170c6c853fce624e5c327d7 SHA512 73f2d67d2ef5b4dc8cd2f6df9ce7903853ec619924e2927adbc73d706974a7d660afea55be18e12ccb0dee1145cf4149b743278d2b128fd466e3df2bbf90ef57 DIST glib-2.84.4.tar.xz 5618200 BLAKE2B 5faee382433085cd598545a99e2e95ce430be4ac5ca10106b70f2404ddacf328f4223bc092a23025f9bf8b936619a88a9dfb220674a07e9250cf4213c6213be9 SHA512 2de9b2f7376c0e5f6ee585087090675d597c474199a10d04aad18df688b6ca77d17e93a86ec07482898663f51c82121992272496318138f77ca5ad2c340a4bd3 DIST glib-2.86.1.tar.xz 5673928 BLAKE2B 571f8738e7ca5568ee9a71f0fddb9eba0eba0ec33cad7540515eb744c3104f69ffe02d5966e47eb568abd04cd111e0b3b004d7c2817177fd5f7bc26e354dec0a SHA512 b2e9a3a35cd4cbe0bb6ca493a4250df480eeb0570a0877880ff4ec6d7f1f98d828249b3b60f839b81f17a33494d95be9d42b5f20fa6bb1acb15bcf5734adba51 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.82.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.82.5.ebuild index 7d5bcd8cd8d..ccc9f22d40d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.82.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.82.5.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 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND="${PYTHON_DEPS}" DEPEND="${RDEPEND}" 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 deleted file mode 100644 index cb5bff479e1..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.84.3.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{11..14} ) -GNOME_ORG_MODULE="glib" - -inherit gnome.org python-single-r1 - -DESCRIPTION="Build utilities for GLib using projects" -HOMEPAGE="https://www.gtk.org/" - -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" - -RDEPEND="${PYTHON_DEPS}" -DEPEND="${RDEPEND}" -BDEPEND=" - >=dev-python/docutils-0.21.1 -" - -src_configure() { :; } - -do_rst2man_command() { - rst2man \ - --syntax-highlight=none \ - "${1}" "${2}" || die "manpage generation failed" -} - -src_compile() { - sed -e "s:@VERSION@:${PV}:g;s:@PYTHON@:python:g" gobject/glib-genmarshal.in > gobject/glib-genmarshal || die - sed -e "s:@VERSION@:${PV}:g;s:@PYTHON@:python:g" gobject/glib-mkenums.in > gobject/glib-mkenums || die - sed -e "s:@GLIB_VERSION@:${PV}:g;s:@PYTHON@:python:g" glib/gtester-report.in > glib/gtester-report || die - do_rst2man_command docs/reference/gobject/glib-genmarshal.rst docs/reference/gobject/glib-genmarshal.1 - do_rst2man_command docs/reference/gobject/glib-mkenums.rst docs/reference/gobject/glib-mkenums.1 - do_rst2man_command docs/reference/glib/gtester-report.rst docs/reference/glib/gtester-report.1 -} - -src_install() { - python_fix_shebang gobject/glib-genmarshal - python_fix_shebang gobject/glib-mkenums - python_fix_shebang glib/gtester-report - exeinto /usr/bin - doexe gobject/glib-genmarshal - doexe gobject/glib-mkenums - doexe glib/gtester-report - doman docs/reference/gobject/glib-genmarshal.1 - doman docs/reference/gobject/glib-mkenums.1 - doman docs/reference/glib/gtester-report.1 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.84.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.84.4.ebuild index cb5bff479e1..06529574b40 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.84.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.84.4.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 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND="${PYTHON_DEPS}" DEPEND="${RDEPEND}" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.86.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.86.1.ebuild index a8beae9e148..7a6cede6331 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.86.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.86.1.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 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND="${PYTHON_DEPS}" DEPEND="${RDEPEND}" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1-r2.ebuild index e29578ee5ee..42dff848700 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1-r2.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/gperf/${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 ~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 ~x64-macos ~x64-solaris" PATCHES=( "${FILESDIR}"/${P}-strncmp-decl-mismatch.patch diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.2.1.ebuild index 0eb955fb06e..06c4011b277 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.2.1.ebuild @@ -9,7 +9,7 @@ SRC_URI="mirror://gnu/gperf/${P}.tar.gz" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" src_prepare() { default diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.3.ebuild index ea3a44b9af9..77473f8bf5e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.3.ebuild @@ -9,7 +9,7 @@ SRC_URI="mirror://gnu/gperf/${P}.tar.gz" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" src_prepare() { default 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 1ce41060ac1..0fbdc98162e 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 @@ -1,6 +1,4 @@ -DIST maturin-1.10.1-vendor.tar.xz 16231828 BLAKE2B 639f91b569a9286bdfee615c07bfbe73c07db79983833cd85d820ca061732b56282f2474184a4c36870fdde126ac7e05ce788a5c757a64f586b852536e3becd2 SHA512 f76e0a6c2fee9cd243c813c29ce0fe445edec9b6f703151cd59ba6f2cef549fc6812ac89fcdd02b77f8e2830caa4fe5c237f48943bb16fe0368512a9e22a93ae -DIST maturin-1.10.1.gh.tar.gz 586836 BLAKE2B 56187009b4e240c5fcd56666a7d45cef406bb6e534164197f64427101c18aa38aebbb9f1fc0404b250c8e48030a9cbda748d28616817fda1d4ad4e5a60da7bb9 SHA512 9246d7bfc7992d9365b69096955beb36921105bc4988220b35b74aa6b4aee6fa63d0033377bb4c02e77a61637e1d951a0dc4d3cadef13af50edd6d97f06f2211 -DIST maturin-1.9.4-vendor.tar.xz 15870760 BLAKE2B 8ea5a26d618fc2698ecf0a264a81d41a28b0e74602dc6004c6a72788c1b5f7e65e9efbc56e2e2b2418f550055ff4510bdb7d77445472da300a495d31a3e84a11 SHA512 901ff4dd5901ea21f6f0ef6c055e58f3592ef651f95c413669f4fabdc009c55a453247866ab23a4ebf4c0a1b987084eeb9719d0f474ec72587bc0fba964958e2 -DIST maturin-1.9.4.gh.tar.gz 564039 BLAKE2B 968c3838ba27c358fca2d00c748ecc0b8a19ca4d0c2da61c6b2df9fb1a6387366bf9ff600a3850e9cc866fe1516e4be468f2eb229030a1d85a023e2d59106d02 SHA512 8fb6dcb1d75f47b41b3541b5084fdf3c64f4264b8f254a2767449963cde2f9f8dbef833273d245e87732ebfc8ff61139ef463b18888f422365361fc8fa966fca -DIST maturin-1.9.6-vendor.tar.xz 15789148 BLAKE2B 74b7b1b7ec6b0b0339f7833e6dbfe1ab77324edf6199a20e1820fb784da635ac5e60297201e225bc99b521a88eee75e9b45b8db447ad962585ee4cb158424fe1 SHA512 77a800cc9652529507628acbab7dd3c27fb80a3972499fd5c342054db4ae104c5e42d343f08d23fee56aa58d929c82a4f9c41c3cf172f4a3044b4f4279b1fe4a -DIST maturin-1.9.6.gh.tar.gz 571883 BLAKE2B f47d2fa2899d3e3f489985746afdc15854180915aaad1b365f16c11808e6338f7ea5d83792357bb907c81f59a78b872786d3d49365cd068112aea16e4b9aeb8c SHA512 6e1c43f2b81a5f13be11d5ab488a3f6614a447cedf7e1242006a1bcd738ef29482e04b9a255fa4b54f1893d7a534a9758977695c13d7261b0723dfe725367ff3 +DIST maturin-1.10.2-vendor.tar.xz 16239924 BLAKE2B 6561098c0e9c6d42239a53ed01a59d68967df6c26190ea8e35d207ee4631dca9eda588cac8de2f75c47f86f7866d45604bc19e12625fcb6286b2c75dabfda6f6 SHA512 80a588970b93e0cf9f4bca5aa4541bb7aa080c491285fe39cabc8747f2b43f8e7d6cb6bc0b37f24841181bd12a6ba8fe7d0518d5f2dea0f791f0266fda327bde +DIST maturin-1.10.2.gh.tar.gz 586416 BLAKE2B a1aa5edcdc40b96149605b4fbe3672a8f7ec69327b42a96915fd8ba55aa4a03798b59db9d228e8df5be195933613080768ade58ca8d393aae2c123508c9d28a0 SHA512 5b14426d8324e48ccce1979ddc6b71a2055b725d090156a5de5b54c598ed2da282da54e25fe5dfe260ab09f4788f4af6235272e266ee62bd6a690ce5476c758a +DIST maturin-1.11.5-vendor.tar.xz 16507616 BLAKE2B 83b6607c91a0925ad52bbdb888eef01fa871a29129600471269d25c9a2a56206c845a56f1bfd5dbcaaf9b74da88df35e6f3c857d551834fc8564853d6e455b0e SHA512 94a8c8cb296afd33da5175e6ce39ecd8ccb739df30bfac0476551352a002032cefa5de6ea41c81f65cd905225d1cf8a13f473594560a8f2a29df563a4adc9e9a +DIST maturin-1.11.5.gh.tar.gz 596610 BLAKE2B f78673c59d13211771d37b74468041255cb8f7fa2113851e3fda2da8811e34c1a6e5c0eeb5d61430653342b97f899fff24984446e533759d3db06458afab2eda SHA512 49e7976be5790f524d5a423519c4ee73ccb450f0e84fea5ba691421cd8e303cb4166324d42985b1ae321a71c4295f244632da194a5be7cacbe7951cdbc0dbb92 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.9.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.10.2.ebuild similarity index 90% rename from sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.9.4.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.10.2.ebuild index 0db7bd358c8..69cccbb6929 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.9.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.10.2.ebuild @@ -6,7 +6,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools DISTUTILS_UPSTREAM_PEP517=standalone PYTHON_COMPAT=( pypy3_11 python3_{11..14} ) -RUST_MIN_VER=1.75.0 +RUST_MIN_VER=1.83.0 inherit cargo distutils-r1 flag-o-matic shell-completion toolchain-funcs DESCRIPTION="Build and publish crates with pyo3, rust-cpython and cffi bindings" @@ -18,10 +18,10 @@ SRC_URI=" " # ^ 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="|| ( Apache-2.0 MIT ) doc? ( 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 + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT MPL-2.0 + Unicode-3.0 ZLIB BZIP2 " # crates SLOT="0" KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" @@ -36,7 +36,7 @@ RDEPEND=" DEPEND="${RDEPEND}" BDEPEND=" virtual/pkgconfig - doc? ( app-text/mdbook ) + doc? ( >=app-text/mdbook-0.5 ) test? ( $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*') dev-python/boltons[${PYTHON_USEDEP}] @@ -102,7 +102,7 @@ src_configure() { python_compile_all() { cargo_src_compile - use !doc || mdbook build -d html guide || die + use !doc || mdbook build -d "${T}"/html guide || die if ! tc-is-cross-compiler; then local maturin=$(cargo_target_dir)/maturin @@ -135,6 +135,9 @@ python_test() { --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 + # these currently attempt to install tomli regardless of python version + --skip pep517_default_profile + --skip pep517_editable_profile ) cargo_src_test -- "${skip[@]}" @@ -144,7 +147,7 @@ python_install_all() { dobin "$(cargo_target_dir)"/maturin dodoc Changelog.md README.md - use doc && dodoc -r guide/html + use doc && dodoc -r "${T}"/html if ! tc-is-cross-compiler; then dobashcomp "${T}"/${PN} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.10.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.11.5.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.10.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.11.5.ebuild index 286d2fd8990..944e25267ff 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.10.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.11.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,7 +6,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools DISTUTILS_UPSTREAM_PEP517=standalone PYTHON_COMPAT=( pypy3_11 python3_{11..14} ) -RUST_MIN_VER=1.83.0 +RUST_MIN_VER=1.85.0 inherit cargo distutils-r1 flag-o-matic shell-completion toolchain-funcs DESCRIPTION="Build and publish crates with pyo3, rust-cpython and cffi bindings" @@ -18,7 +18,7 @@ SRC_URI=" " # ^ 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="|| ( Apache-2.0 MIT ) doc? ( OFL-1.1 )" LICENSE+=" 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT MPL-2.0 Unicode-3.0 ZLIB BZIP2 @@ -36,7 +36,7 @@ RDEPEND=" DEPEND="${RDEPEND}" BDEPEND=" virtual/pkgconfig - doc? ( app-text/mdbook ) + doc? ( >=app-text/mdbook-0.5 ) test? ( $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*') dev-python/boltons[${PYTHON_USEDEP}] @@ -102,7 +102,7 @@ src_configure() { python_compile_all() { cargo_src_compile - use !doc || mdbook build -d html guide || die + use !doc || mdbook build -d "${T}"/html guide || die if ! tc-is-cross-compiler; then local maturin=$(cargo_target_dir)/maturin @@ -147,7 +147,7 @@ python_install_all() { dobin "$(cargo_target_dir)"/maturin dodoc Changelog.md README.md - use doc && dodoc -r guide/html + use doc && dodoc -r "${T}"/html if ! tc-is-cross-compiler; then dobashcomp "${T}"/${PN} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.9.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.9.6.ebuild deleted file mode 100644 index 0db7bd358c8..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.9.6.ebuild +++ /dev/null @@ -1,154 +0,0 @@ -# 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 - ) - - cargo_src_test -- "${skip[@]}" -} - -python_install_all() { - dobin "$(cargo_target_dir)"/maturin - - 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 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.30.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.30.ebuild index abca498bcd6..a13829ecc1b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.30.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.30.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit cmake python-single-r1 MY_PN=dwarves diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-9999.ebuild index 3536a26c144..e3c538fde17 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit cmake python-single-r1 MY_PN=dwarves diff --git a/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.17.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.17.2-r1.ebuild index 7546cd9a18b..f1ad5ac40bd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.17.2-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.17.2-r1.ebuild @@ -9,7 +9,7 @@ DESCRIPTION="Small utility to modify the dynamic linker and RPATH of ELF executa HOMEPAGE="https://github.com/NixOS/patchelf" SRC_URI="https://github.com/NixOS/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~riscv-linux ~x86-linux" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" LICENSE="GPL-3" PATCHES=("${FILESDIR}"/${PN}-0.17.2-dt-mips-xhash.patch) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.18.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.18.0.ebuild index ca450e02b9d..133bcd4d819 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.18.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.18.0.ebuild @@ -9,7 +9,7 @@ DESCRIPTION="Small utility to modify the dynamic linker and RPATH of ELF executa HOMEPAGE="https://github.com/NixOS/patchelf" SRC_URI="https://github.com/NixOS/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~riscv-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 x86" LICENSE="GPL-3" PATCHES=( diff --git a/sdk_container/src/third_party/portage-stable/dev-util/patchutils/patchutils-0.4.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/patchutils/patchutils-0.4.2.ebuild index 29bea96b966..2d2344b8546 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/patchutils/patchutils-0.4.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/patchutils/patchutils-0.4.2.ebuild @@ -9,7 +9,7 @@ SRC_URI="http://cyberelk.net/tim/data/patchutils/stable/${P}.tar.xz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="pcre" RDEPEND="pcre? ( dev-libs/libpcre2:= )" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/patchutils/patchutils-0.4.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/patchutils/patchutils-0.4.4-r1.ebuild index 591624f9794..1a64938a377 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/patchutils/patchutils-0.4.4-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/patchutils/patchutils-0.4.4-r1.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://github.com/twaugh/patchutils/releases/download/${PV}/${P}.tar.x 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" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="pcre" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest index c76b2c10a3a..49e0247a916 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest @@ -1,3 +1,4 @@ DIST linux-6.14.tar.xz 149408504 BLAKE2B 11835719804b406fe281ea1c276a84dc0cbaa808552ddcca9233d3eaeb1c001d0455c7205379b02de8e8db758c1bae6fe7ceb6697e63e3cf9ae7187dc7a9715e SHA512 71dcaa3772d8d9797c3ae30cae9c582b11a7047a3bbcb8dfd479a4dffb40ff0da74cf3d45175f50cc9992e338bcadd46c9c570f54054ca3bde6661768d3d22eb DIST linux-6.16.tar.xz 152620004 BLAKE2B 87bc4da7e89cc8265aebffea7ec6c09f711be24fee87cb1c03a264c03fd5a538d66aa806640835aa5103926e612cdfbc52d7c861d7f7065f1a8bb11d893b0921 SHA512 55a00f89ad6db6db2e26ff5dc5cfc96bbf6654e5bd5d17d2a3b944a47640367e54139716d230923187bebc6cb7756edc9511a620fb8abc6f32c50a658a734784 DIST linux-6.17.tar.xz 153382068 BLAKE2B 0edb2324be5638aa75984128aafdba3e50824187d2fcdff8794eab99d85c10c3a17d1e840053c2c83df5ee11fdf69f1c9452c57ecc9dae01c4af38180fe7821a SHA512 063999d7b819970657f6b7713fdb4173da2065ffdeed7cae197026dbb1edfd7f1d50374f073a1e19ef9686539594824ff6ecb8a930d97c4f272cb12f1c6d8355 +DIST linux-6.18.tar.xz 154309096 BLAKE2B b94b7b9bf18aca0c3e50baf79b009a1448fc6cd9c3ee019f641cc247dcf53a4abef4274ee0608ad8cd4943af69854363a95d26e117ff23620bb07dccb158859f SHA512 88599ffdec96d150c1feb9b261ba93bb0301a9d0e1ad6bef7aeab1f5372cbfc57d8b43c7e902bd8f76921d1dbd8189663c142ea869e51d0e2b483b150ee00fe0 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.11.7-annotate.patch b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.11.7-annotate.patch deleted file mode 100644 index ca6e7bb07cb..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.11.7-annotate.patch +++ /dev/null @@ -1,19 +0,0 @@ - -Fix for bug #943203. - -https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5363c306787c88d41a41493f81b4308643696f6e - -diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c -index a18927d792afc5..3bbf173ad822bc 100644 ---- a/tools/perf/util/symbol.c -+++ b/tools/perf/util/symbol.c -@@ -1931,6 +1931,9 @@ int dso__load(struct dso *dso, struct map *map) - if (next_slot) { - ss_pos++; - -+ if (dso__binary_type(dso) == DSO_BINARY_TYPE__NOT_FOUND) -+ dso__set_binary_type(dso, symtab_type); -+ - if (syms_ss && runtime_ss) - break; - } else { diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.18-subcmd.patch b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.18-subcmd.patch new file mode 100644 index 00000000000..e3e067efdd0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.18-subcmd.patch @@ -0,0 +1,27 @@ +Fix for --help command when no commands are excluded. + +Link: https://lore.kernel.org/lkml/20251202213632.2873731-1-sjayaram@akamai.com/ + +See also: https://lore.kernel.org/lkml/aTXQw9dtP5df7LmP@gentoo.org/ + +--- a/tools/lib/subcmd/help.c ++++ b/tools/lib/subcmd/help.c +@@ -97,11 +97,13 @@ void exclude_cmds(struct cmdnames *cmds, struct cmdnames *excludes) + ei++; + } + } +- if (ci != cj) { +- while (ci < cmds->cnt) { +- cmds->names[cj++] = cmds->names[ci]; +- cmds->names[ci++] = NULL; ++ while (ci < cmds->cnt) { ++ if (ci != cj) { ++ cmds->names[cj] = cmds->names[ci]; ++ cmds->names[ci] = NULL; + } ++ ci++; ++ cj++; + } + for (ci = cj; ci < cmds->cnt; ci++) + assert(cmds->names[ci] == NULL); +-- diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.4-libtracefs.patch b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.4-libtracefs.patch deleted file mode 100644 index e02e2db9667..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.4-libtracefs.patch +++ /dev/null @@ -1,23 +0,0 @@ -Let perf find libtraceevent headers when detecting libtracefs - ---- a/tools/build/feature/test-libtracefs.c -+++ b/tools/build/feature/test-libtracefs.c -@@ -1,5 +1,5 @@ - // SPDX-License-Identifier: GPL-2.0 --#include -+#include - - int main(void) - { ---- a/tools/perf/Makefile.config -+++ b/tools/perf/Makefile.config -@@ -185,6 +185,9 @@ endif - FEATURE_CHECK_CFLAGS-libbabeltrace := $(LIBBABELTRACE_CFLAGS) - FEATURE_CHECK_LDFLAGS-libbabeltrace := $(LIBBABELTRACE_LDFLAGS) -lbabeltrace-ctf - -+FEATURE_CHECK_CFLAGS-libtracefs := $(shell $(PKG_CONFIG) --cflags libtracefs) -+FEATURE_CHECK_LDFLAGS-libtracefs := $(shell $(PKG_CONFIG) --libs libtracefs) -+ - ifdef LIBZSTD_DIR - LIBZSTD_CFLAGS := -I$(LIBZSTD_DIR)/lib - LIBZSTD_LDFLAGS := -L$(LIBZSTD_DIR)/lib diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.7-expr.patch b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.7-expr.patch deleted file mode 100644 index 84f90c9b900..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.7-expr.patch +++ /dev/null @@ -1,24 +0,0 @@ -Ensure versions of libtraceevent and libtracefs have 3 components. - -Fixes: https://bugs.gentoo.org/917559 - ---- a/tools/perf/Makefile.config -+++ b/tools/perf/Makefile.config -@@ -1163,7 +1163,7 @@ ifneq ($(NO_LIBTRACEEVENT),1) - ifeq ($(feature-libtraceevent), 1) - CFLAGS += -DHAVE_LIBTRACEEVENT - EXTLIBS += -ltraceevent -- LIBTRACEEVENT_VERSION := $(shell $(PKG_CONFIG) --modversion libtraceevent) -+ LIBTRACEEVENT_VERSION := $(shell $(PKG_CONFIG) --modversion libtraceevent).0 - LIBTRACEEVENT_VERSION_1 := $(word 1, $(subst ., ,$(LIBTRACEEVENT_VERSION))) - LIBTRACEEVENT_VERSION_2 := $(word 2, $(subst ., ,$(LIBTRACEEVENT_VERSION))) - LIBTRACEEVENT_VERSION_3 := $(word 3, $(subst ., ,$(LIBTRACEEVENT_VERSION))) -@@ -1177,7 +1177,7 @@ ifneq ($(NO_LIBTRACEEVENT),1) - $(call feature_check,libtracefs) - ifeq ($(feature-libtracefs), 1) - EXTLIBS += -ltracefs -- LIBTRACEFS_VERSION := $(shell $(PKG_CONFIG) --modversion libtracefs) -+ LIBTRACEFS_VERSION := $(shell $(PKG_CONFIG) --modversion libtracefs).0 - LIBTRACEFS_VERSION_1 := $(word 1, $(subst ., ,$(LIBTRACEFS_VERSION))) - LIBTRACEFS_VERSION_2 := $(word 2, $(subst ., ,$(LIBTRACEFS_VERSION))) - LIBTRACEFS_VERSION_3 := $(word 3, $(subst ., ,$(LIBTRACEFS_VERSION))) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.14.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.14.ebuild index c1cd4a582d1..f6bccde71da 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.14.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.14.ebuild @@ -34,7 +34,7 @@ S="${S_K}/tools/perf" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 babeltrace capstone big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl +python +slang systemtap tcmalloc unwind" REQUIRED_USE=" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.16-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.16-r1.ebuild index 06b673983a0..90ff2a61d5f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.16-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.16-r1.ebuild @@ -34,7 +34,7 @@ S="${S_K}/tools/perf" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 babeltrace capstone big-endian bpf caps crypt debug gtk java libpfm +libtraceevent +libtracefs lzma numa perl +python +slang systemtap tcmalloc unwind" REQUIRED_USE=" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.16.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.16.ebuild index 29add77228e..8a4584cea41 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.16.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.16.ebuild @@ -34,7 +34,7 @@ S="${S_K}/tools/perf" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 babeltrace capstone big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl +python +slang systemtap tcmalloc unwind" REQUIRED_USE=" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.17.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.17.ebuild index 06b673983a0..90ff2a61d5f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.17.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.17.ebuild @@ -34,7 +34,7 @@ S="${S_K}/tools/perf" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 babeltrace capstone big-endian bpf caps crypt debug gtk java libpfm +libtraceevent +libtracefs lzma numa perl +python +slang systemtap tcmalloc unwind" REQUIRED_USE=" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.18-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.18-r1.ebuild new file mode 100644 index 00000000000..40f86d17e90 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.18-r1.ebuild @@ -0,0 +1,337 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {18..21} ) +PYTHON_COMPAT=( python3_{11..14} python3_{13,14}t) +inherit bash-completion-r1 estack flag-o-matic linux-info llvm-r1 toolchain-funcs python-single-r1 + +DESCRIPTION="Userland tools for Linux Performance Counters" +HOMEPAGE="https://perfwiki.github.io/main/" + +LINUX_V="${PV:0:1}.x" +if [[ ${PV} == *_rc* ]] ; then + LINUX_VER=$(ver_cut 1-2).$(($(ver_cut 3)-1)) + PATCH_VERSION=$(ver_cut 1-3) + LINUX_PATCH=patch-${PV//_/-}.xz + SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH} + https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}" +elif [[ ${PV} == *.*.* ]] ; then + # stable-release series + LINUX_VER=$(ver_cut 1-2) + LINUX_PATCH=patch-${PV}.xz + SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" +else + LINUX_VER=${PV} +fi + +LINUX_SOURCES="linux-${LINUX_VER}.tar.xz" +SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" + +S_K="${WORKDIR}/linux-${LINUX_VER}" +S="${S_K}/tools/perf" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 babeltrace capstone big-endian bpf caps crypt debug gtk java libpfm +libtraceevent +libtracefs lzma numa perl +python +slang systemtap tcmalloc unwind" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} +" + +# setuptools (and Python) are always needed even if not building Python bindings +BDEPEND=" + ${LINUX_PATCH+dev-util/patchutils} + ${PYTHON_DEPS} + >=app-arch/tar-1.34-r2 + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + app-alternatives/yacc + app-alternatives/lex + sys-apps/which + virtual/pkgconfig + app-text/asciidoc + app-text/sgml-common + app-text/xmlto + sys-process/time +" + +RDEPEND=" + babeltrace? ( dev-util/babeltrace:0/1 ) + bpf? ( + dev-libs/libbpf + dev-util/bpftool + dev-util/pahole + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ) + caps? ( sys-libs/libcap ) + capstone? ( dev-libs/capstone ) + crypt? ( dev-libs/openssl:= ) + gtk? ( x11-libs/gtk+:2 ) + java? ( virtual/jre:* ) + libpfm? ( dev-libs/libpfm:= ) + libtraceevent? ( dev-libs/libtraceevent ) + libtracefs? ( dev-libs/libtracefs ) + lzma? ( app-arch/xz-utils ) + numa? ( sys-process/numactl ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + slang? ( sys-libs/slang ) + systemtap? ( dev-debug/systemtap ) + tcmalloc? ( dev-util/google-perftools ) + unwind? ( sys-libs/libunwind:= ) + app-arch/zstd:= + dev-libs/elfutils + virtual/zlib:= + virtual/libcrypt +" + +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-5.10 + java? ( virtual/jdk ) +" + +QA_FLAGS_IGNORED=( + 'usr/bin/perf-read-vdso32' # not linked with anything except for libc + 'usr/libexec/perf-core/dlfilters/.*' # plugins +) + +pkg_setup() { + local CONFIG_CHECK=" + ~!SCHED_OMIT_FRAME_POINTER + ~DEBUG_INFO + ~FRAME_POINTER + ~FTRACE + ~FTRACE_SYSCALLS + ~FUNCTION_TRACER + ~KALLSYMS + ~KALLSYMS_ALL + ~KPROBES + ~KPROBE_EVENTS + ~PERF_EVENTS + ~STACKTRACE + ~TRACEPOINTS + ~UPROBES + ~UPROBE_EVENTS + " + + use bpf && llvm-r1_pkg_setup + # We enable python unconditionally as libbpf always generates + # API headers using python script + python_setup + + if use bpf ; then + CONFIG_CHECK+="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~DEBUG_INFO_BTF ~HAVE_EBPF_JIT ~UNWINDER_FRAME_POINTER" + fi + + linux-info_pkg_setup +} + +# src_unpack and src_prepare are copied to dev-util/bpftool since +# it's building from the same tarball, please keep it in sync with bpftool +src_unpack() { + local paths=( + 'arch/*/include/*' 'arch/*/lib/*' 'arch/*/tools/*' 'include/*' + 'kernel/bpf/*' 'lib/*' 'scripts/*' 'tools/arch/*' 'tools/bpf/*' + 'tools/build/*' 'tools/include/*' 'tools/lib/*' 'tools/perf/*' + 'tools/scripts/*' + ) + + # We expect the tar implementation to support the -j option (both + # GNU tar and libarchive's tar support that). + echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}" + gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \ + "${paths[@]/#/linux-${LINUX_VER}/}" || die + + if [[ -n ${LINUX_PATCH} ]] ; then + eshopts_push -o noglob + ebegin "Filtering partial source patch" + xzcat "${DISTDIR}"/${LINUX_PATCH} | filterdiff -p1 ${paths[@]/#/-i} > ${P}.patch + assert -n "Unpacking to ${P} from ${DISTDIR}/${LINUX_PATCH} failed" + eend $? || die "filterdiff failed" + test -s ${P}.patch || die "patch is empty?!" + eshopts_pop + fi + + local a + for a in ${A}; do + [[ ${a} == ${LINUX_SOURCES} ]] && continue + [[ ${a} == ${LINUX_PATCH} ]] && continue + unpack ${a} + done +} + +src_prepare() { + default + if [[ -n ${LINUX_PATCH} ]] ; then + pushd "${S_K}" >/dev/null || die + eapply "${WORKDIR}"/${P}.patch + popd || die + fi + + pushd "${S_K}" >/dev/null || die + # Gentoo patches go here + eapply "${FILESDIR}/${P}-subcmd.patch" + popd || die + + # Drop some upstream too-developer-oriented flags and fix the + # Makefile in general + sed -i \ + -e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \ + "${S}"/Makefile.perf || die + # A few places still use -Werror w/out $(WERROR) protection. + sed -i -e 's@-Werror@@' \ + "${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile \ + "${S_K}"/tools/lib/perf/Makefile || die + + # Avoid the call to make kernelversion + sed -i -e '/PERF-VERSION-GEN/d' Makefile.perf || die + echo "#define PERF_VERSION \"${PV}\"" > PERF-VERSION-FILE + + # The code likes to compile local assembly files which lack ELF markings. + find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} + +} + +puse() { usex $1 "" 1; } +perf_make() { + # The arch parsing is a bit funky. The perf tools package is integrated + # into the kernel, so it wants an ARCH that looks like the kernel arch, + # but it also wants to know about the split value -- i386/x86_64 vs just + # x86. We can get that by telling the func to use an older linux version. + # It's kind of a hack, but not that bad ... + + # LIBDIR sets a search path of perf-gtk.so. Bug 515954 + + local arch=$(tc-arch-kernel) + local java_dir + use java && java_dir="${EPREFIX}/etc/java-config-2/current-system-vm" + + # sync this with the whitelist in tools/perf/Makefile.config + local disable_libdw + if ! use amd64 && ! use x86 && \ + ! use arm && \ + ! use arm64 && \ + ! use ppc && ! use ppc64 \ + ! use s390 && \ + ! use riscv && \ + ! use loong + then + disable_libdw=1 + fi + + # perf directly invokes LD for linking without going through CC, on mips + # it is required to specify the emulation. port of below buildroot patch + # https://patchwork.ozlabs.org/project/buildroot/patch/20170217105905.32151-1-Vincent.Riera@imgtec.com/ + local linker="$(tc-getLD)" + if use mips + then + if use big-endian + then + use abi_mips_n64 && linker+=" -m elf64btsmip" + use abi_mips_n32 && linker+=" -m elf32btsmipn32" + use abi_mips_o32 && linker+=" -m elf32btsmip" + else + use abi_mips_n64 && linker+=" -m elf64ltsmip" + use abi_mips_n32 && linker+=" -m elf32ltsmipn32" + use abi_mips_o32 && linker+=" -m elf32ltsmip" + fi + fi + + # FIXME: NO_CORESIGHT + local emakeargs=( + V=1 VF=1 + HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" + CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="${linker}" NM="$(tc-getNM)" + CLANG="${CHOST}-clang" + PKG_CONFIG="$(tc-getPKG_CONFIG)" + prefix="${EPREFIX}/usr" bindir_relative="bin" + tipdir="share/doc/${PF}" + EXTRA_CFLAGS="${CPPFLAGS} ${CFLAGS}" + EXTRA_LDFLAGS="${LDFLAGS}" + ARCH="${arch}" + BUILD_BPF_SKEL=$(usex bpf 1 "") + BUILD_NONDISTRO= + JDIR="${java_dir}" + CORESIGHT= + GTK2=$(usex gtk 1 "") + feature-gtk2-infobar=$(usex gtk 1 "") + LIBPERL=$(usex perl 1 "") + NO_AUXTRACE= + NO_BACKTRACE= + NO_CAPSTONE=$(puse capstone) + NO_DEMANGLE= + NO_JVMTI=$(puse java) + NO_LIBAUDIT=1 + NO_LIBBABELTRACE=$(puse babeltrace) + NO_LIBBIONIC=1 + NO_LIBBPF=$(puse bpf) + NO_LIBCAP=$(puse caps) + NO_LIBCRYPTO=$(puse crypt) + NO_LIBDW_DWARF_UNWIND="${disable_libdw}" + NO_LIBELF= + NO_LIBLLVM=$(puse bpf) + NO_LIBNUMA=$(puse numa) + NO_LIBPFM4=$(puse libpfm) + NO_LIBPYTHON=$(puse python) + NO_LIBTRACEEVENT=$(puse libtraceevent) + NO_LIBUNWIND=$(puse unwind) + NO_SDT=$(puse systemtap) + NO_SHELLCHECK=1 + NO_SLANG=$(puse slang) + NO_LZMA=$(puse lzma) + NO_ZLIB= + TCMALLOC=$(usex tcmalloc 1 "") + WERROR=0 + DEBUG=$(usex debug 1 "") + libdir="${EPREFIX}/usr/$(get_libdir)" + LIBDIR="${EPREFIX}/usr/libexec/perf-core" + "$@" + ) + NO_JEVENTS=$(puse python) emake "${emakeargs[@]}" +} + +src_compile() { + filter-lto + + # capstone-6 compatibility (#964350) + append-cppflags -DCAPSTONE_AARCH64_COMPAT_HEADER -DCAPSTONE_SYSTEMZ_COMPAT_HEADER + + perf_make -f Makefile.perf + perf_make -C Documentation man +} + +src_test() { + : +} + +src_install() { + perf_make -f Makefile.perf install DESTDIR="${D}" + + if use python; then + perf_make -f Makefile.perf install-python_ext DESTDIR="${D}" + fi + + if use gtk; then + local libdir + libdir="$(get_libdir)" + # on some arches it ends up in lib even on 64bit, ppc64 for instance. + [[ -f "${ED}"/usr/lib/libperf-gtk.so ]] && libdir="lib" + mv "${ED}"/usr/${libdir}/libperf-gtk.so \ + "${ED}"/usr/libexec/perf-core || die + fi + + dodoc CREDITS + + dodoc *txt Documentation/*.txt + + # perf needs this decompressed to print out tips for users + docompress -x /usr/share/doc/${PF}/tips.txt + + doman Documentation/*.1 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/Manifest index ee0d282ddb3..4abea9819d4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/Manifest @@ -1,3 +1,2 @@ -DIST pkgcheck-0.10.34.tar.gz 382566 BLAKE2B d91302f673326bf4756e06c2bad1ad89b10f14a08ac54a24a6a00d7a95d4313e5e1755393aefa55e1057a396483b023cc38e67902238e2620a76961feb8b2a81 SHA512 57ec0ccea00cde4187219f85d23f755878e2298f6219cb9b18eb35f927a685aac2d9b9c73045f6750f90959abb6313a1ed99dedaae4f0ec6b59f08585253a410 -DIST pkgcheck-0.10.36.tar.gz 383659 BLAKE2B 1129695650790409d338f0a885d305dd4713c7f5222ae812ea6381c004b4c28321929df963240cd2a27c5dd0db7dd96f1a2829fff72dc627cdbd1399c600bb4e SHA512 c6c87ccd2d63e558efd7613142b2ac6dcfe4b4ea55b0e78d4502760d508015158189debebe26579e0cb26447fc4529ccb779fa4462d78af75e1c216f8a85177b DIST pkgcheck-0.10.37.tar.gz 388402 BLAKE2B 8e93290da49ed9d8231550a7602300c93d16f2dc4be040f88690bf4cf996b51f8aac3cb26b2478345b10dfb1faddc185d6316810d5bac091fc5cae504ced459d SHA512 84c1717fad6a7f41dcc069dbdb68e73062606d7e0497286cba7255e415e8b317cb4aa396d9bc46f873712a65fa0e3cd95216df368ca73381f81c160308329f15 +DIST pkgcheck-0.10.39.tar.gz 402359 BLAKE2B d0bbf0e97e45a9beca56b59b810fe2fc3cc9778ea894a72e4a402f4bbaff68e0811525e1c1d8ed795c30bba2d0a53d879fecd777736e7fbe5c333801f0bf40f9 SHA512 11f0ec9ecdfd80a98312975175e4605b4986ea3aa7131496c4d7195f3373c2329fc03f463d9722f39e508bdd30674abcb5edc3fa8c6542414eb0e9322fbf14c0 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/files/pkgcheck-0.10.36-ts0.25.patch b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/files/pkgcheck-0.10.36-ts0.25.patch deleted file mode 100644 index 0e728e848ce..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/files/pkgcheck-0.10.36-ts0.25.patch +++ /dev/null @@ -1,66 +0,0 @@ -Subject: [PATCH] bash: update support to tree-sitter~=0.25 - -Also add backward compatible code for tree-sitter < 0.25. - -Signed-off-by: Arthur Zamarin ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -6,7 +6,7 @@ requires = [ - "lazy-object-proxy", - "lxml", - "pathspec", -- "tree-sitter~=0.24.0", -+ "tree-sitter~=0.25.0", - "tree-sitter-bash~=0.23.1", - "snakeoil~=0.10.11", - "pkgcore~=0.12.30", -@@ -45,7 +45,7 @@ dependencies = [ - "lazy-object-proxy", - "lxml", - "pathspec", -- "tree-sitter~=0.24.0", -+ "tree-sitter~=0.25.0", - "tree-sitter-bash~=0.23.1", - "snakeoil~=0.10.11", - "pkgcore~=0.12.30", ---- a/src/pkgcheck/bash/__init__.py -+++ b/src/pkgcheck/bash/__init__.py -@@ -6,7 +6,17 @@ import tree_sitter_bash - from tree_sitter import Language, Parser, Query - - lang = Language(tree_sitter_bash.language()) --query = lang.query -+ -+try: -+ from tree_sitter import QueryCursor -+ -+ def query(query_str: str) -> "QueryCursor": -+ return QueryCursor(Query(lang, query_str)) -+except ImportError: # tree-sitter < 0.25 -+ QueryCursor = Query -+ query = lang.query -+ -+ - parser = Parser(language=lang) - - # various parse tree queries -@@ -29,14 +39,14 @@ class ParseTree: - """Return the ebuild string associated with a given parse tree node.""" - return self.data[node.start_byte : node.end_byte].decode("utf8") - -- def global_query(self, query: Query): -+ def global_query(self, query: QueryCursor): - """Run a given parse tree query returning only those nodes in global scope.""" - for x in self.tree.root_node.children: - # skip nodes in function scope - if x.type != "function_definition": - yield from chain.from_iterable(query.captures(x).values()) - -- def func_query(self, query: Query): -+ def func_query(self, query: QueryCursor): - """Run a given parse tree query returning only those nodes in function scope.""" - for x in self.tree.root_node.children: - # only return nodes in function scope --- -2.50.1 - diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/files/pkgcheck-0.10.37-branding.patch b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/files/pkgcheck-0.10.37-branding.patch new file mode 100644 index 00000000000..94132f25fc3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/files/pkgcheck-0.10.37-branding.patch @@ -0,0 +1,44 @@ +From efa950dc665e998e7fb31c41678579d52ee2e657 Mon Sep 17 00:00:00 2001 +From: James Le Cuirot +Date: Mon, 22 Dec 2025 18:16:30 +0000 +Subject: [PATCH] InheritsCheck: Whitelist branding.eclass from UnusedInherits + +It can be used purely for variables recognised by external build tools +rather than the ebuild itself. + +Resolves: https://github.com/pkgcore/pkgcheck/issues/765 +Signed-off-by: James Le Cuirot +Closes: https://github.com/pkgcore/pkgcheck/pull/766 +Signed-off-by: Arthur Zamarin +--- + src/pkgcheck/checks/codingstyle.py | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/src/pkgcheck/checks/codingstyle.py b/src/pkgcheck/checks/codingstyle.py +index b2126429b..6cd07148d 100644 +--- a/src/pkgcheck/checks/codingstyle.py ++++ b/src/pkgcheck/checks/codingstyle.py +@@ -817,6 +817,10 @@ class InheritsCheck(Check): + ) + required_addons = (addons.eclass.EclassAddon,) + ++ # branding.eclass can be used purely for variables recognised by external ++ # build tools rather than the ebuild itself. ++ unused_whitelist = frozenset({"branding"}) ++ + def __init__(self, *args, eclass_addon): + super().__init__(*args) + self.eclass_cache = eclass_addon.eclasses +@@ -961,7 +965,11 @@ def feed(self, pkg): + ) + if exported_eclass_keys.intersection(self.unused_eclass_skiplist): + unused.discard(eclass) +- elif not self.eclass_cache[eclass].exported_function_names and exported_eclass_keys: ++ elif ( ++ not self.eclass_cache[eclass].exported_function_names ++ and exported_eclass_keys ++ or eclass in self.unused_whitelist ++ ): + # ignore eclasses that export ebuild metadata (e.g. + # SRC_URI, S, ...) and no functions + unused.discard(eclass) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.34.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.34.ebuild deleted file mode 100644 index 093181b480f..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.34.ebuild +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=standalone -PYTHON_COMPAT=( python3_{11..13} ) -inherit elisp-common distutils-r1 optfeature - -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/pkgcheck.git - 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" - inherit pypi -fi - -DESCRIPTION="pkgcore-based QA utility for ebuild repos" -HOMEPAGE="https://github.com/pkgcore/pkgcheck" - -LICENSE="BSD MIT" -SLOT="0" -IUSE="emacs" - -if [[ ${PV} == *9999 ]]; then - RDEPEND=" - ~dev-python/snakeoil-9999[${PYTHON_USEDEP}] - ~sys-apps/pkgcore-9999[${PYTHON_USEDEP}]" -else - RDEPEND=" - >=dev-python/snakeoil-0.10.10[${PYTHON_USEDEP}] - >=sys-apps/pkgcore-0.12.25[${PYTHON_USEDEP}]" -fi -RDEPEND+=" - >=dev-libs/tree-sitter-bash-0.21.0[python,${PYTHON_USEDEP}] - dev-python/chardet[${PYTHON_USEDEP}] - dev-python/lazy-object-proxy[${PYTHON_USEDEP}] - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/pathspec[${PYTHON_USEDEP}] - >=dev-python/tree-sitter-0.23.0[${PYTHON_USEDEP}] - =app-editors/emacs-24.1:* - app-emacs/ebuild-mode - app-emacs/flycheck - ) -" -BDEPEND="${RDEPEND} - >=dev-python/flit-core-3.8[${PYTHON_USEDEP}] - test? ( - dev-python/requests[${PYTHON_USEDEP}] - dev-vcs/git - ) -" - -SITEFILE="50${PN}-gentoo.el" - -distutils_enable_tests pytest - -export USE_SYSTEM_TREE_SITTER_BASH=1 - -src_compile() { - distutils-r1_src_compile - - if use emacs ; then - pushd "${S}"/contrib/emacs >/dev/null || die - elisp-compile *.el - popd >/dev/null || die - fi -} - -python_install_all() { - local DOCS=( NEWS.rst ) - [[ ${PV} == *9999 ]] || doman build/sphinx/man/* - distutils-r1_python_install_all - - if use emacs ; then - elisp-install ${PN} "${S}"/contrib/emacs/*.el{,c} - elisp-site-file-install "${FILESDIR}/${SITEFILE}" - fi -} - -pkg_postinst() { - use emacs && elisp-site-regen - - optfeature "Network check support" dev-python/requests - optfeature "Perl module version check support" dev-perl/Gentoo-PerlMod-Version -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.37.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.37-r1.ebuild similarity index 90% rename from sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.37.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.37-r1.ebuild index 5f9dcc737a4..0ec53ac58d7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.37.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.37-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -30,7 +30,8 @@ if [[ ${PV} == *9999 ]]; then else RDEPEND=" >=dev-python/snakeoil-0.10.11[${PYTHON_USEDEP}] - >=sys-apps/pkgcore-0.12.30[${PYTHON_USEDEP}]" + =dev-python/snakeoil-0.11.0[${PYTHON_USEDEP}] + >=sys-apps/pkgcore-0.12.31[${PYTHON_USEDEP}]" fi RDEPEND+=" app-arch/zstd - >=dev-libs/tree-sitter-bash-0.21.0[python,${PYTHON_USEDEP}] + >=dev-libs/tree-sitter-bash-0.25.1[python,${PYTHON_USEDEP}] dev-python/chardet[${PYTHON_USEDEP}] - dev-python/lazy-object-proxy[${PYTHON_USEDEP}] dev-python/lxml[${PYTHON_USEDEP}] dev-python/pathspec[${PYTHON_USEDEP}] - >=dev-python/tree-sitter-0.23.0[${PYTHON_USEDEP}] + >=dev-python/tree-sitter-0.25.2[${PYTHON_USEDEP}] emacs? ( >=app-editors/emacs-24.1:* app-emacs/ebuild-mode @@ -55,17 +54,11 @@ BDEPEND="${RDEPEND} ) " -PATCHES=( - "${FILESDIR}"/${P}-ts0.25.patch -) - SITEFILE="50${PN}-gentoo.el" EPYTEST_PLUGINS=( pkgcore ) distutils_enable_tests pytest -export USE_SYSTEM_TREE_SITTER_BASH=1 - src_prepare() { distutils-r1_src_prepare diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-9999.ebuild index ac92e160714..37c83fe5ac4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -29,17 +29,16 @@ if [[ ${PV} == *9999 ]]; then ~sys-apps/pkgcore-9999[${PYTHON_USEDEP}]" else RDEPEND=" - >=dev-python/snakeoil-0.10.11[${PYTHON_USEDEP}] - >=sys-apps/pkgcore-0.12.30[${PYTHON_USEDEP}]" + >=dev-python/snakeoil-0.11.0[${PYTHON_USEDEP}] + >=sys-apps/pkgcore-0.12.31[${PYTHON_USEDEP}]" fi RDEPEND+=" app-arch/zstd - >=dev-libs/tree-sitter-bash-0.21.0[python,${PYTHON_USEDEP}] + >=dev-libs/tree-sitter-bash-0.25.1[python,${PYTHON_USEDEP}] dev-python/chardet[${PYTHON_USEDEP}] - dev-python/lazy-object-proxy[${PYTHON_USEDEP}] dev-python/lxml[${PYTHON_USEDEP}] dev-python/pathspec[${PYTHON_USEDEP}] - >=dev-python/tree-sitter-0.25.0[${PYTHON_USEDEP}] + >=dev-python/tree-sitter-0.25.2[${PYTHON_USEDEP}] emacs? ( >=app-editors/emacs-24.1:* app-emacs/ebuild-mode @@ -60,8 +59,6 @@ SITEFILE="50${PN}-gentoo.el" EPYTEST_PLUGINS=( pkgcore ) distutils_enable_tests pytest -export USE_SYSTEM_TREE_SITTER_BASH=1 - src_prepare() { distutils-r1_src_prepare diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.3.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.3.0.ebuild index 058374be6f8..32e316f91a1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.3.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.3.0.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="pkg-config compatible replacement with no dependencies other than C99" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.4.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.4.3.ebuild index b581a4e7e4d..4987c5b4ccd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.4.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.4.3.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then 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 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="pkg-config compatible replacement with no dependencies other than C99" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.5.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.5.1.ebuild index 38d7f542b36..44a9563f5de 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.5.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.5.1.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then 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 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="pkg-config compatible replacement with no dependencies other than C99" 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 0b8ad1b53b8..0892c9966d0 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 @@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then 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 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="pkg-config compatible replacement with no dependencies other than C99" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/re2c/re2c-3.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/re2c/re2c-3.1.ebuild index 75e1ade7d38..113a8ed292b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/re2c/re2c-3.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/re2c/re2c-3.1.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://github.com/skvadrik/re2c/releases/download/${PV}/${P}.tar.xz" LICENSE="public-domain" 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="debug test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/xxd/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/xxd/Manifest new file mode 100644 index 00000000000..b9bf21235ed --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/xxd/Manifest @@ -0,0 +1 @@ +DIST vim-9.1.1683.tar.gz 18762645 BLAKE2B e43f060668131fbf84cdaf7c8f831787f9a3e46607c8af8b67b78490abfcc9c2ab277ea53ddbedf7bee899034b06278cf1d67ddd9d397272ef9d97d909d3fafd SHA512 1d68f55198bb363933e04e925118b6d03ddf775f35e67d7a41464df1ae86a0f2efff7434a0a169e89b1453b554c00b6bfc0dfe3b0b0a8651e4ac89267bc51316 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/xxd/files/xxd-completion b/sdk_container/src/third_party/portage-stable/dev-util/xxd/files/xxd-completion new file mode 100644 index 00000000000..098999364e3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/xxd/files/xxd-completion @@ -0,0 +1,24 @@ +# Author: Ciaran McCreesh +# +# completion for xxd + +_xxd() +{ + local cur prev cmd args + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + cmd=${COMP_WORDS[0]} + + if [[ "${cur}" == -* ]] ; then + args='-a -b -c -E -g -h -i -l -ps -r -s -u -v' + COMPREPLY=( $( compgen -W "${args}" -- $cur ) ) + else + _filedir + fi +} + +complete -F _xxd xxd + +# vim: set ft=sh sw=4 et sts=4 : diff --git a/sdk_container/src/third_party/portage-stable/dev-util/xxd/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-util/xxd/metadata.xml new file mode 100644 index 00000000000..4d597132f8c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/xxd/metadata.xml @@ -0,0 +1,16 @@ + + + + + holger@applied-asynchrony.com + Holger Hoffstätte + + + proxy-maint@gentoo.org + Proxy Maintainers + + + vim/vim + cpe:/a:vim:vim + + diff --git a/sdk_container/src/third_party/portage-stable/dev-util/xxd/xxd-2025.08.24-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/xxd/xxd-2025.08.24-r1.ebuild new file mode 100644 index 00000000000..9be6badbaa6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/xxd/xxd-2025.08.24-r1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 toolchain-funcs + +VIM_VERSION="9.1.1683" + +DESCRIPTION="Standalone version of Vim's xxd" +HOMEPAGE=" + https://www.vim.org + https://github.com/vim/vim +" +SRC_URI="https://github.com/vim/vim/archive/v${VIM_VERSION}.tar.gz -> vim-${VIM_VERSION}.tar.gz" + +S="${WORKDIR}/vim-${VIM_VERSION}/src/xxd" +LICENSE="|| ( GPL-2 MIT )" +SLOT="0" + +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" + +RDEPEND="!.UTF-8.1 -> xxd..1 + cd ../../runtime/doc || die + local f newname + for f in xxd-*.UTF-8.1 ; do + newname=${f//xxd-/xxd.} + newname=${newname//UTF-8\./} + mv -f "${f}" "${newname}" || die + done +} + +src_compile() { + tc-export CC + export {C,CPP,LD}FLAGS + emake +} + +src_install() { + dobin xxd + doman ../../runtime/doc/xxd*.1 + newbashcomp "${FILESDIR}"/xxd-completion xxd +} 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 b80976784a7..6bbd842d4c7 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 @@ -3,13 +3,16 @@ DIST git-2.50.1.tar.xz 7880972 BLAKE2B 4e5e3168d7dd88cc508920dd773df2ec6b568c70e DIST git-2.51.0.tar.xz 7857228 BLAKE2B b385ee2c7aed601435952c983045055c970cdda607d83ae8ba904ee10e5e76bca097ccbe0f22e4e1467c6d606c9eecb952ffb382f351124325b6fd5d87083596 SHA512 2b8c59589266c0c9e58a9f4fda4a970a8a492e2e0ecbafc414fcfacac4a04251f0115b3676f4599a415b53906f1dea312b18a42e9bde455286abd62ec327beaf DIST git-2.51.1.tar.xz 7865216 BLAKE2B 3bb26baee468498f882eb3bf995c58cf441a9e7537ca3dafbe58cf24a947d37a52749b62e3095446787514f0eb9e1d767d4efbee29a8d63851803e8c6bb4daa6 SHA512 bc22d26bbfad4a549d2fb6bed11eb019c2dee607c86bf8faaa986774e526e5b367d80c9a79ab50358624634d840e8e0d27e0b46411d1aabbf76728b7a7f138dd DIST git-2.51.2.tar.xz 7865980 BLAKE2B d567f52da82cabc5d2e4f542f02209aa170536864769fa49c9a24c5129e0603a940b1adf6dedf892c8971d947400a104d312b376f3f6aa23029cb57dffc9acb4 SHA512 547c3e522d9e6a2c2ccab24ee0c7f4f2d29878759563356e3a2ae9675884b7044ce5a236803170a203b79443760eb18a7089eec02bd105316e3ab045ab7603a7 +DIST git-2.52.0.tar.xz 7957064 BLAKE2B f228174814b1048f12543a6a20f771017991f9a23778f12fc32020b38837990eb19bc69e891078692ac4ad4ae1cb2e0e77400760964e09c491046e4ed8b16f96 SHA512 965e5ebb72d1f080d64e34bdb75f0bb1689c9dd41dcf63b020d986bad49808ac09bfb1115962bc0c5b95bac8622367ac4cd09aa89266f73d2137fe94c90dd3ed DIST git-htmldocs-2.49.1.tar.xz 1602244 BLAKE2B 8d6df9ff42660123577933a95971bdd47d94b650b2cb8abafa4f4cbd981d016d3d3fdcbb08f22616ee44f928fc0aaac4f0ffee8a1d1d0c659240fcc2db9e2a25 SHA512 39db559a507b732d18ce1fa3ac513e87ca27b1d5df0f6d26cdead7b5add4eb29889d4c81e09b25c6fdbd813a0f13c833a22a4b6bbba6dea3b126e841a61424f8 DIST git-htmldocs-2.50.1.tar.xz 1615796 BLAKE2B 6d340b552075bce7d724824eefd03540d558e24c07b49e48f1bb4262a5b3632b6aa7782bb02b15aaf424d22e5460bffee066f1e2bb0018791dcec8afa79dd3b8 SHA512 ebe437851b039bab4ec83be807583a23beaf43073248ffdcddee2328fc621b5b712c094faac3ee15a783f5a0cbdd92c2635879426007e8ef0ddcb70f227782f9 DIST git-htmldocs-2.51.0.tar.xz 1627664 BLAKE2B 17106db9d7edf8717281d5af88ec9b53c91f6ba56552d5952d25ff593b4d227194df53a33dd52eb4791dd5044a7d867f8bed2371087e6dfdb4a0110e09f70055 SHA512 55460724b73bc42ebb611a4c0657f59040e8e7b28d56cb26814ae97c1b13ce3577e57e5a66f2749a93b7b3496b8a665ce5a2c31ba471eadb3267813915dc7051 DIST git-htmldocs-2.51.1.tar.xz 1629412 BLAKE2B e135a355e84c4bd1a1d1e54dd6ff875b43145649cdc90696b1650f74ff3a0b2a94190d23ffffc22b621703fbb713d042283a5e65b0ed60860cc892d26b44226e SHA512 0abfbef358162d03fc033bca23bc95cae0561e8f4852abfd49d53d546005caf0b6f759776c7bbada8353cb340b3b48b0c1cd0415db0bbf04efe591e7b9411fe1 DIST git-htmldocs-2.51.2.tar.xz 1629724 BLAKE2B ed8593f9ccbd8017656af7193914638c25be7ed2a449d3509d49949a1eff2134b3a9c163802155610e32cb07f9ea4eced9ebd0758eb0f36b0ff028c0ee0462f0 SHA512 cafb7fa2f0a3be6bff006f65c8462047e6f2c80482b09df7c45e7caba12acee670ddb886c125dcc751a5d701ebf812737f981bd0bcbc3035432de26db981929a +DIST git-htmldocs-2.52.0.tar.xz 1657524 BLAKE2B c21219b1059ee593ea850464473ba3466f83b44932261b70abecb7837a0e5c2434d71e29c495ac33faad9a34bda061b81187f691c57e8dc9557a56f8030dbeea SHA512 6fee6834bbd1400acef575fd206f58fb15472d45bad8f4ca9066930a3b4b1be8a633bb94c11f83644177266a06e2c4bb8a9478f10c4f1742016f59d07612c5e4 DIST git-manpages-2.49.1.tar.xz 594536 BLAKE2B b29aea1817053fefacc9a16abb86ea9fb4f2f239a268661a357cda16ab02b55ff3736b0c7d870fcacf4867bd063e14177bc46109115845fdea26b1870ff5f463 SHA512 0fbd824bfd68c72e8a6509989ffd016d1256cc3c5dfe4634170de2a07cdbdb4506f4b9136fa3176ac56c6f20f518a16758f1391bbd658be0caa8ebcc34158feb DIST git-manpages-2.50.1.tar.xz 598416 BLAKE2B c47be82829562057a99da3dc801958c2f7d1eeabb5af3c28cc3a66ec03a02b96e2d1d670ce39f7ab1d39fc113abe896c73b2126129cd98c3d33292267f160690 SHA512 9de90823bfb815ce31938794b80bf8526d162125afe23084114c47d360235a8d63b6fcdf78613bd91ee492b8d8c614d026cce51733bdd63bffe533f7da616d05 DIST git-manpages-2.51.0.tar.xz 602200 BLAKE2B 12b103871dcd8173e88e2eb96621620682c19aecfb6ecbd7a9b3d8bb7358eed78c00af0738c502c5ff71ac8d85894c68ed33f395aed426d580210d4c1d36faf6 SHA512 ee2eb3bc90a63cb28ccdc8716b2d610b55eefbc0da255b7360695bc686ba52841b147c879a4f8b2ecdb767814b815929f7e0dd57fa612a87ef5e36b862056144 DIST git-manpages-2.51.1.tar.xz 602552 BLAKE2B a8781e1b7b040b39ca17ee9ea20688bc14bdd0a948e1bab2e39e01747770a97f64119e4eacdedd07e3d281469025958ca34d73faacad7c36381e9a9c8f4fe4ab SHA512 e8f00835472c2078023e28cb9ae1ac2aac8c4e950a8ef453eafe894d9bb8411e3e89108606b3783c00883db2bb041defb0bf9dd5b3558bcbd6b07b7f28c66e92 DIST git-manpages-2.51.2.tar.xz 602340 BLAKE2B 856c4531ed27b53f390f738774d758813f717b378bd64e4736e8627fe898b34b64b8d4b9fb686573f21d90d8db859062371586c440f3c6efca38346a04f7120b SHA512 d6443f22590797eb6947fbb317e2ec52beeabd6d3117425e23d93085952c4d9eaa8d26ae677a8f4d73938f9611ac636f5f26e29527cc96d1a6612c2853103a94 +DIST git-manpages-2.52.0.tar.xz 607864 BLAKE2B 6736100b503afd95aa7d6d9878a5c9420b44c5755b31c99e4b6db4a567db0984a6a786d2fac07baea95bf2b758c68fef042b75b10c848732add19fe17f3243bf SHA512 8e7998ed101fa4c7e9707721cbbc61e07bab56647c69f2d46d16c30465a825e223429cfab1ddfa58302a0563a12a8e5886133566bc6a1097ab0970d8ae4458d7 diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/0001-meson-ignore-subprojects-.wraplock.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/0001-meson-ignore-subprojects-.wraplock.patch new file mode 100644 index 00000000000..c5a1347f799 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/0001-meson-ignore-subprojects-.wraplock.patch @@ -0,0 +1,33 @@ +https://bugs.gentoo.org/953122 +https://lore.kernel.org/git/20251202-toon-cross-compile-v1-0-cabc8bce529f@iotcl.com/ + +From 6437cb608c9c9894852499da36e22095adb57a8e Mon Sep 17 00:00:00 2001 +Message-ID: <6437cb608c9c9894852499da36e22095adb57a8e.1764817376.git.sam@gentoo.org> +From: Toon Claes +Date: Tue, 2 Dec 2025 11:48:08 +0100 +Subject: [PATCH 1/3] meson: ignore subprojects/.wraplock + +When asking Meson to wrap subprojects, it generates a .wraplock file in +the subprojects/ directory. Ignore this file. + +See also https://github.com/mesonbuild/meson/issues/14948. + +Signed-off-by: Toon Claes +--- + subprojects/.gitignore | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/subprojects/.gitignore b/subprojects/.gitignore +index 63ea916ef5..2bb68c8794 100644 +--- a/subprojects/.gitignore ++++ b/subprojects/.gitignore +@@ -1 +1,2 @@ + /*/ ++.wraplock + +base-commit: f0ef5b6d9bcc258e4cbef93839d1b7465d5212b9 +prerequisite-patch-id: b59f73a32b9910a2e72eb13797a0f9bd76ce4812 +prerequisite-patch-id: 9f1fdad38ca8082e13069df63de6af32599fe654 +-- +2.52.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/0002-meson-only-detect-ICONV_OMITS_BOM-if-possible.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/0002-meson-only-detect-ICONV_OMITS_BOM-if-possible.patch new file mode 100644 index 00000000000..67443f4d26c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/0002-meson-only-detect-ICONV_OMITS_BOM-if-possible.patch @@ -0,0 +1,38 @@ +https://bugs.gentoo.org/953122 +https://lore.kernel.org/git/20251202-toon-cross-compile-v1-0-cabc8bce529f@iotcl.com/ + +From 4f638a773a0f9f6961abe92226be9c23a486110d Mon Sep 17 00:00:00 2001 +Message-ID: <4f638a773a0f9f6961abe92226be9c23a486110d.1764817376.git.sam@gentoo.org> +In-Reply-To: <6437cb608c9c9894852499da36e22095adb57a8e.1764817376.git.sam@gentoo.org> +References: <6437cb608c9c9894852499da36e22095adb57a8e.1764817376.git.sam@gentoo.org> +From: Toon Claes +Date: Tue, 2 Dec 2025 11:48:09 +0100 +Subject: [PATCH 2/3] meson: only detect ICONV_OMITS_BOM if possible + +In our Meson setup it automatically detects whether ICONV_OMITS_BOM +should be defined. To check this, a piece of code is compiled and ran. + +When cross-compiling, it's not possible to run this piece of code. Guard +this test with a can_run_host_binaries() check to ensure it can run. + +Signed-off-by: Toon Claes +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index f1b3615659..95348e69a4 100644 +--- a/meson.build ++++ b/meson.build +@@ -1064,7 +1064,7 @@ if iconv.found() + } + ''' + +- if compiler.run(iconv_omits_bom_source, ++ if meson.can_run_host_binaries() and compiler.run(iconv_omits_bom_source, + dependencies: iconv, + name: 'iconv omits BOM', + ).returncode() != 0 +-- +2.52.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/0003-meson-use-is_cross_build-where-possible.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/0003-meson-use-is_cross_build-where-possible.patch new file mode 100644 index 00000000000..d3ba9a872df --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/0003-meson-use-is_cross_build-where-possible.patch @@ -0,0 +1,48 @@ +https://bugs.gentoo.org/953122 +https://lore.kernel.org/git/20251202-toon-cross-compile-v1-0-cabc8bce529f@iotcl.com/ + +From 9e911f149088538f67ca9e8bf5cbfc95d3fe23fe Mon Sep 17 00:00:00 2001 +Message-ID: <9e911f149088538f67ca9e8bf5cbfc95d3fe23fe.1764817376.git.sam@gentoo.org> +In-Reply-To: <6437cb608c9c9894852499da36e22095adb57a8e.1764817376.git.sam@gentoo.org> +References: <6437cb608c9c9894852499da36e22095adb57a8e.1764817376.git.sam@gentoo.org> +From: Toon Claes +Date: Wed, 3 Dec 2025 15:53:31 +0100 +Subject: [PATCH 3/3] meson: use is_cross_build() where possible + +In previous commit the first use of meson.can_run_host_binaries() was +introduced. This is a guard around compiler.run() to ensure it's +actually possible to execute the provided. + +In other places we've been having the same issue, but here `not +meson.is_cross_build()` is used as guard. This does the trick, but it +also prevents the code from running even when an exe_wrapper is +configured. + +Switch to using meson.can_run_host_binaries() here as well. + +There is another place left that still uses `not +meson.is_cross_build()`, but here it's a guard around fs.exists(). That +function will always run on the build machine, so checking for +cross-compilation is still in place here. + +Signed-off-by: Toon Claes +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 95348e69a4..00ad8a5c60 100644 +--- a/meson.build ++++ b/meson.build +@@ -1492,7 +1492,7 @@ if not has_bsd_sysctl + endif + endif + +-if not meson.is_cross_build() and compiler.run(''' ++if meson.can_run_host_binaries() and compiler.run(''' + #include + + int main(int argc, const char **argv) +-- +2.52.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.21.0-quiet-submodules-testcase.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.21.0-quiet-submodules-testcase.patch deleted file mode 100644 index 0874ea9352e..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.21.0-quiet-submodules-testcase.patch +++ /dev/null @@ -1,38 +0,0 @@ -From a57994f2d78134936521375ba9798a1b7418e230 Mon Sep 17 00:00:00 2001 -From: "Robin H. Johnson" -Date: Fri, 12 Apr 2019 00:00:07 -0700 -Subject: [PATCH] submodule foreach: test foreach option swallowing - -Add a testcase for submodule foreach option parsing not knowing where to -stop taking options, and accidently removing options intended for -foreach target commands. - -CC: Duy Nguyen -CC: Prathamesh Chavan -Signed-off-by: Robin H. Johnson ---- - t/t7407-submodule-foreach.sh | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/t/t7407-submodule-foreach.sh b/t/t7407-submodule-foreach.sh -index 77729ac4aa..706ae762e0 100755 ---- a/t/t7407-submodule-foreach.sh -+++ b/t/t7407-submodule-foreach.sh -@@ -411,4 +411,14 @@ test_expect_success 'multi-argument command passed to foreach is not shell-evalu - test_cmp expected actual - ' - -+test_expect_success 'option-like arguments passed to foreach commands are not lost' ' -+ ( -+ cd super && -+ git submodule foreach "echo be --quiet" > ../expected && -+ git submodule foreach echo be --quiet > ../actual -+ ) && -+ grep -sq -e "--quiet" expected && -+ test_cmp expected actual -+' -+ - test_done --- -2.21.0 - diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.37.0_rc1-optional-cvs.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.37.0_rc1-optional-cvs.patch deleted file mode 100644 index d6cdb6bcaad..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.37.0_rc1-optional-cvs.patch +++ /dev/null @@ -1,459 +0,0 @@ -From 35038d89fbd952e72023152478aa3cb070a907d8 Mon Sep 17 00:00:00 2001 -From: Robin Johnson -Date: Tue, 14 May 2019 08:53:06 +0200 -Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface - utilities - -Forward-ported from 1.7.12 to current git.git v1.8.4 -Forward-ported from v1.8.4 to v1.8.5.1 -Forward-ported from v1.8.5.3 to v1.9.0_rc3 -Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0 -Forward-ported from v2.0.0_rc0 to v2.0.0 -Forward-ported from v2.0.0 to v2.2.2 -Forward-ported from v2.2.2 to v2.8.4 -Forward-ported from v2.8.4 to v2.10.0 -Forward-ported from v2.10.0 to v2.12.0 -Forward-ported from v2.12.0 to v2.17.0-rc1 -Forward-ported from v2.17.0-rc1 to v2.18.0-rc1 -Forward-ported from v2.18.0-rc1 to v2.22.0-rc0 -Forward-ported from v2.22.0-rc0 to v2.31.0-rc0 -Forward-ported from v2.31.0-rc0 to v2.33.0-rc0 -Forward-ported from v2.33.0-rc0 to v2.37.0-rc0 -Forward-ported from v2.37.0-rc0 to v2.37.0-rc1 - -Signed-off-by: Lars Wendler ---- - Makefile | 50 ++++++++++++++++++++++-------- - t/t9200-git-cvsexportcommit.sh | 5 +++ - t/t9400-git-cvsserver-server.sh | 8 ++++- - t/t9401-git-cvsserver-crlf.sh | 15 ++++++--- - t/t9600-cvsimport.sh | 41 +++++++++++++++--------- - t/t9601-cvsimport-vendor-branch.sh | 11 +++++++ - t/t9602-cvsimport-branches-tags.sh | 11 +++++++ - t/t9603-cvsimport-patchsets.sh | 11 +++++++ - t/test-lib.sh | 1 + - 9 files changed, 119 insertions(+), 34 deletions(-) - -diff --git a/Makefile b/Makefile -index 04d0fd1fe6..31e00ec7e6 100644 ---- a/Makefile -+++ b/Makefile -@@ -316,6 +316,8 @@ include shared.mak - # - # Define NO_TCLTK if you do not want Tcl/Tk GUI. - # -+# Define NO_CVS if you do not want any CVS interface utilities. -+# - # The TCL_PATH variable governs the location of the Tcl interpreter - # used to optimize git-gui for your system. Only used if NO_TCLTK - # is not set. Defaults to the bare 'tclsh'. -@@ -605,6 +607,7 @@ PROGRAM_OBJS = - PROGRAMS = - EXCLUDED_PROGRAMS = - SCRIPT_PERL = -+SCRIPT_PERL_CVS = - SCRIPT_PYTHON = - SCRIPT_SH = - SCRIPT_LIB = -@@ -637,31 +640,33 @@ SCRIPT_LIB += git-sh-setup - - SCRIPT_PERL += git-add--interactive.perl - SCRIPT_PERL += git-archimport.perl --SCRIPT_PERL += git-cvsexportcommit.perl --SCRIPT_PERL += git-cvsimport.perl --SCRIPT_PERL += git-cvsserver.perl - SCRIPT_PERL += git-send-email.perl - SCRIPT_PERL += git-svn.perl - -+SCRIPT_PERL_CVS += git-cvsexportcommit.perl -+SCRIPT_PERL_CVS += git-cvsimport.perl -+SCRIPT_PERL_CVS += git-cvsserver.perl -+ - SCRIPT_PYTHON += git-p4.py - - # Generated files for scripts - SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH)) - SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL)) -+SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS)) - SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON)) - - # Individual rules to allow e.g. - # "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script" - # from subdirectories like contrib/*/ - .PHONY: build-perl-script build-sh-script build-python-script --build-perl-script: $(SCRIPT_PERL_GEN) -+build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) - build-sh-script: $(SCRIPT_SH_GEN) - build-python-script: $(SCRIPT_PYTHON_GEN) - - .PHONY: install-perl-script install-sh-script install-python-script - install-sh-script: $(SCRIPT_SH_GEN) - $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' --install-perl-script: $(SCRIPT_PERL_GEN) -+install-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) - $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' - install-python-script: $(SCRIPT_PYTHON_GEN) - $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' -@@ -670,12 +675,13 @@ install-python-script: $(SCRIPT_PYTHON_GEN) - clean-sh-script: - $(RM) $(SCRIPT_SH_GEN) - clean-perl-script: -- $(RM) $(SCRIPT_PERL_GEN) -+ $(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) - clean-python-script: - $(RM) $(SCRIPT_PYTHON_GEN) - - SCRIPTS = $(SCRIPT_SH_GEN) \ - $(SCRIPT_PERL_GEN) \ -+ $(SCRIPT_PERL_CVS_GEN) \ - $(SCRIPT_PYTHON_GEN) \ - git-instaweb - -@@ -2350,13 +2356,27 @@ git.res: git.rc GIT-VERSION-FILE GIT-PREFIX - -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" -i $< -o $@ - - # This makes sure we depend on the NO_PERL setting itself. --$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS -+$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS -+ -+_SCRIPT_PERL_GEN = -+_SCRIPT_PERL_NOGEN = - - # Used for substitution in Perl modules. Disabled when using RUNTIME_PREFIX - # since the locale directory is injected. - perl_localedir_SQ = $(localedir_SQ) - - ifndef NO_PERL -+_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN) -+ -+ifndef NO_CVS -+_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN) -+else -+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN) -+_REASON = NO_CVS -+_REASON_CONTENT = $(NO_CVS) -+endif # NO_CVS -+ -+$(_SCRIPT_PERL_GEN): - PERL_HEADER_TEMPLATE = perl/header_templates/fixed_prefix.template.pl - PERL_DEFINES = - PERL_DEFINES += $(PERL_PATH_SQ) -@@ -2380,7 +2400,7 @@ endif - - PERL_DEFINES += $(gitexecdir) $(perllibdir) $(localedir) - --$(SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-PERL-HEADER GIT-VERSION-FILE -+$(_SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-PERL-HEADER GIT-VERSION-FILE - $(QUIET_GEN) \ - sed -e '1{' \ - -e ' s|#!.*perl|#!$(PERL_PATH_SQ)|' \ -@@ -2426,14 +2446,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES - chmod +x $@+ && \ - mv $@+ $@ - else # NO_PERL --$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh -- $(QUIET_GEN) \ -+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb -+_REASON = NO_PERL -+_REASON_CONTENT = $(NO_PERL) -+endif # NO_PERL -+ -+$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh -+ $(QUIET_GEN)$(RM) $@ $@+ && \ - sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \ -- -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \ -+ -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \ - unimplemented.sh >$@+ && \ - chmod +x $@+ && \ - mv $@+ $@ --endif # NO_PERL - - # This makes sure we depend on the NO_PYTHON setting itself. - $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS -@@ -2737,7 +2761,7 @@ MSGMERGE_FLAGS = --add-location --backup=off --update - LOCALIZED_C = $(sort $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \ - $(GENERATED_H)) - LOCALIZED_SH = $(sort $(SCRIPT_SH) git-sh-setup.sh) --LOCALIZED_PERL = $(sort $(SCRIPT_PERL)) -+LOCALIZED_PERL = $(sort $(SCRIPT_PERL) $(SCRIPT_PERL_CVS)) - - ifdef XGETTEXT_INCLUDE_TESTS - LOCALIZED_C += t/t0200/test.c -diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh -index c5946cb0b8..223fd5409b 100755 ---- a/t/t9200-git-cvsexportcommit.sh -+++ b/t/t9200-git-cvsexportcommit.sh -@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then - test_done - fi - -+if ! test_have_prereq CVS; then -+ skip_all='skipping git cvsexportcommit tests, cvs not available' -+ test_done -+fi -+ - cvs >/dev/null 2>&1 - if test $? -ne 1 - then -diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh -index 210ddf09e3..a620126d3f 100755 ---- a/t/t9400-git-cvsserver-server.sh -+++ b/t/t9400-git-cvsserver-server.sh -@@ -14,9 +14,15 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME - . ./test-lib.sh - - if ! test_have_prereq PERL; then -- skip_all='skipping git cvsserver tests, perl not available' -+ skip_all='skipping git-cvsserver tests, perl not available' - test_done - fi -+ -+if ! test_have_prereq CVS; then -+ skip_all='skipping git-cvsserver tests, cvs not available' -+ test_done -+fi -+ - cvs >/dev/null 2>&1 - if test $? -ne 1 - then -diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh -index a34805acdc..0d7759f73b 100755 ---- a/t/t9401-git-cvsserver-crlf.sh -+++ b/t/t9401-git-cvsserver-crlf.sh -@@ -60,15 +60,20 @@ check_status_options() { - return $stat - } - --cvs >/dev/null 2>&1 --if test $? -ne 1 -+if ! test_have_prereq PERL - then -- skip_all='skipping git-cvsserver tests, cvs not found' -+ skip_all='skipping git-cvsserver tests, perl not available' - test_done - fi --if ! test_have_prereq PERL -+if ! test_have_prereq CVS - then -- skip_all='skipping git-cvsserver tests, perl not available' -+ skip_all='skipping git-cvsserver tests, cvs not available' -+ test_done -+fi -+cvs >/dev/null 2>&1 -+if test $? -ne 1 -+then -+ skip_all='skipping git-cvsserver tests, cvs not found' - test_done - fi - perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || { -diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh -index 5680849218..7288db820b 100755 ---- a/t/t9600-cvsimport.sh -+++ b/t/t9600-cvsimport.sh -@@ -11,14 +11,25 @@ if ! test_have_prereq NOT_ROOT; then - test_done - fi - --test_expect_success PERL 'setup cvsroot environment' ' -+if ! test_have_prereq PERL -+then -+ skip_all='skipping git cvsimport tests, perl not available' -+ test_done -+fi -+if ! test_have_prereq CVS -+then -+ skip_all='skipping git cvsimport tests, cvs not available' -+ test_done -+fi -+ -+test_expect_success 'setup cvsroot environment' ' - CVSROOT=$(pwd)/cvsroot && - export CVSROOT - ' - --test_expect_success PERL 'setup cvsroot' '$CVS init' -+test_expect_success 'setup cvsroot' '$CVS init' - --test_expect_success PERL 'setup a cvs module' ' -+test_expect_success 'setup a cvs module' ' - - mkdir "$CVSROOT/module" && - $CVS co -d module-cvs module && -@@ -50,23 +61,23 @@ EOF - ) - ' - --test_expect_success PERL 'import a trivial module' ' -+test_expect_success 'import a trivial module' ' - - git cvsimport -a -R -z 0 -C module-git module && - test_cmp module-cvs/o_fortuna module-git/o_fortuna - - ' - --test_expect_success PERL 'pack refs' '(cd module-git && git gc)' -+test_expect_success 'pack refs' '(cd module-git && git gc)' - --test_expect_success PERL 'initial import has correct .git/cvs-revisions' ' -+test_expect_success 'initial import has correct .git/cvs-revisions' ' - - (cd module-git && - git log --format="o_fortuna 1.1 %H" -1) > expected && - test_cmp expected module-git/.git/cvs-revisions - ' - --test_expect_success PERL 'update cvs module' ' -+test_expect_success 'update cvs module' ' - (cd module-cvs && - cat <o_fortuna && - O Fortune, -@@ -94,7 +105,7 @@ EOF - ) - ' - --test_expect_success PERL 'update git module' ' -+test_expect_success 'update git module' ' - - (cd module-git && - git config cvsimport.trackRevisions true && -@@ -105,7 +116,7 @@ test_expect_success PERL 'update git module' ' - - ' - --test_expect_success PERL 'update has correct .git/cvs-revisions' ' -+test_expect_success 'update has correct .git/cvs-revisions' ' - - (cd module-git && - git log --format="o_fortuna 1.1 %H" -1 HEAD^ && -@@ -113,7 +124,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' ' - test_cmp expected module-git/.git/cvs-revisions - ' - --test_expect_success PERL 'update cvs module' ' -+test_expect_success 'update cvs module' ' - - (cd module-cvs && - echo 1 >tick && -@@ -122,7 +133,7 @@ test_expect_success PERL 'update cvs module' ' - ) - ' - --test_expect_success PERL 'cvsimport.module config works' ' -+test_expect_success 'cvsimport.module config works' ' - - (cd module-git && - git config cvsimport.module module && -@@ -134,7 +145,7 @@ test_expect_success PERL 'cvsimport.module config works' ' - - ' - --test_expect_success PERL 'second update has correct .git/cvs-revisions' ' -+test_expect_success 'second update has correct .git/cvs-revisions' ' - - (cd module-git && - git log --format="o_fortuna 1.1 %H" -1 HEAD^^ && -@@ -143,7 +154,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' ' - test_cmp expected module-git/.git/cvs-revisions - ' - --test_expect_success PERL 'import from a CVS working tree' ' -+test_expect_success 'import from a CVS working tree' ' - - $CVS co -d import-from-wt module && - (cd import-from-wt && -@@ -156,12 +167,12 @@ test_expect_success PERL 'import from a CVS working tree' ' - - ' - --test_expect_success PERL 'no .git/cvs-revisions created by default' ' -+test_expect_success 'no .git/cvs-revisions created by default' ' - - ! test -e import-from-wt/.git/cvs-revisions - - ' - --test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree main' -+test_expect_success 'test entire HEAD' 'test_cmp_branch_tree main' - - test_done -diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh -index 116cddba3a..a7e7299c81 100755 ---- a/t/t9601-cvsimport-vendor-branch.sh -+++ b/t/t9601-cvsimport-vendor-branch.sh -@@ -37,6 +37,17 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME - - . ./lib-cvs.sh - -+if ! test_have_prereq PERL -+then -+ skip_all='skipping git cvsimport tests, perl not available' -+ test_done -+fi -+if ! test_have_prereq CVS -+then -+ skip_all='skipping git cvsimport tests, cvs not available' -+ test_done -+fi -+ - setup_cvs_test_repository t9601 - - test_expect_success PERL 'import a module with a vendor branch' ' -diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh -index e5266c9a87..0e1878ffd3 100755 ---- a/t/t9602-cvsimport-branches-tags.sh -+++ b/t/t9602-cvsimport-branches-tags.sh -@@ -9,6 +9,17 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME - - . ./lib-cvs.sh - -+if ! test_have_prereq PERL -+then -+ skip_all='skipping git cvsimport tests, perl not available' -+ test_done -+fi -+if ! test_have_prereq CVS -+then -+ skip_all='skipping git cvsimport tests, cvs not available' -+ test_done -+fi -+ - setup_cvs_test_repository t9602 - - test_expect_success PERL 'import module' ' -diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh -index 19f38f78f2..bd5727e8bf 100755 ---- a/t/t9603-cvsimport-patchsets.sh -+++ b/t/t9603-cvsimport-patchsets.sh -@@ -14,6 +14,17 @@ - test_description='git cvsimport testing for correct patchset estimation' - . ./lib-cvs.sh - -+if ! test_have_prereq PERL -+then -+ skip_all='skipping git cvsimport tests, perl not available' -+ test_done -+fi -+if ! test_have_prereq CVS -+then -+ skip_all='skipping git cvsimport tests, cvs not available' -+ test_done -+fi -+ - setup_cvs_test_repository t9603 - - test_expect_failure PERL 'import with criss cross times on revisions' ' -diff --git a/t/test-lib.sh b/t/test-lib.sh -index 55857af601..791aa324a9 100644 ---- a/t/test-lib.sh -+++ b/t/test-lib.sh -@@ -1573,6 +1573,7 @@ test_set_prereq REFFILES - - ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1 - test -z "$NO_CURL" && test_set_prereq LIBCURL -+test -z "$NO_CVS" && test_set_prereq CVS - test -z "$NO_PERL" && test_set_prereq PERL - test -z "$NO_PTHREADS" && test_set_prereq PTHREADS - test -z "$NO_PYTHON" && test_set_prereq PYTHON --- -2.37.0.rc0 - diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.37.2-unsafe-directory.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.37.2-unsafe-directory.patch deleted file mode 100644 index 27bf5413753..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.37.2-unsafe-directory.patch +++ /dev/null @@ -1,14 +0,0 @@ -Neuter the "safe directory" feature, except for tests. ---- a/setup.c -+++ b/setup.c -@@ -1157,7 +1157,9 @@ static int ensure_valid_ownership(const char *gitfile, - */ - read_very_early_config(safe_directory_cb, &data); - -- return data.is_safe; -+ if (git_env_bool("GIT_TEST_ASSUME_DIFFERENT_OWNER", 0)) -+ return data.is_safe; -+ return 1; - } - - enum discovery_result { diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.48.0-doc-deps.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.48.0-doc-deps.patch deleted file mode 100644 index 847e96368f0..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.48.0-doc-deps.patch +++ /dev/null @@ -1,42 +0,0 @@ -https://lore.kernel.org/git/79de1bcf31f708960a889066ce3d986e55155ad8.1736577530.git.sam@gentoo.org/ - -From 79de1bcf31f708960a889066ce3d986e55155ad8 Mon Sep 17 00:00:00 2001 -Message-ID: <79de1bcf31f708960a889066ce3d986e55155ad8.1736577546.git.sam@gentoo.org> -From: Sam James -Date: Sat, 11 Jan 2025 06:37:48 +0000 -Subject: [PATCH] meson: fix perl dependencies for Documentation - -We need an explicit `depends: documentation_deps` so that all of our -Documentation targets know they require asciidoc.conf. This shows up -as parallel build failures with it not yet being available. - -Other targets look OK already. - -Signed-off-by: Sam James ---- - Documentation/technical/meson.build | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Documentation/technical/meson.build b/Documentation/technical/meson.build -index 21dfb8b5c9..8c93da3566 100644 ---- a/Documentation/technical/meson.build -+++ b/Documentation/technical/meson.build -@@ -42,6 +42,7 @@ api_index = custom_target( - '@OUTPUT@', - ], - env: script_environment, -+ depends: documentation_deps, - input: api_docs, - output: 'api-index.txt', - ) -@@ -60,6 +61,7 @@ foreach article : api_docs + articles - command: asciidoc_html_options, - input: article, - output: fs.stem(article) + '.html', -+ depends: documentation_deps, - install: true, - install_dir: get_option('datadir') / 'doc/git-doc/technical', - ) --- -2.48.0.rc2 - diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.48.1-docs.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.48.1-docs.patch deleted file mode 100644 index db9aeae7862..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.48.1-docs.patch +++ /dev/null @@ -1,49 +0,0 @@ -[This is the same as git-2.49.1-docs.patch, but modified to apply to 2.48.1.] - -https://public-inbox.org/git/20250316060605.166364-1-eschwartz@gentoo.org/T/ - -From: Eli Schwartz -To: git@vger.kernel.org -Cc: Patrick Steinhardt , - Sam James -Subject: [PATCH] meson: fix perl detection when docs are enabled, but perl bindings aren't -Date: Sun, 16 Mar 2025 02:06:05 -0400 -Message-ID: <20250316060605.166364-1-eschwartz@gentoo.org> -X-Mailer: git-send-email 2.48.1 -Precedence: bulk -X-Mailing-List: git@vger.kernel.org -List-Id: -List-Subscribe: -List-Unsubscribe: -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit - -The `perl` variable in meson.build is assigned to a program lookup, -which may have the value "not-found object" if configuring with -`-Dperl=disabled`. - -There is already a list of other cases where we do need a perl command, -even when not building perl bindings. Building documentation should be -one of those cases, but was missing from the list. Add it. - -Fixes: - -``` -$ meson setup builddir/ -Ddocs=man -Dperl=disabled -Dtests=false -[...] -Documentation/meson.build:308:22: ERROR: Tried to use not-found external program in "command" -``` - -Bug: https://bugs.gentoo.org/949247 -Signed-off-by: Eli Schwartz ---- a/meson.build -+++ b/meson.build -@@ -749,7 +749,7 @@ endif - # features. It is optional if you want to neither execute tests nor use any of - # these optional features. - perl_required = get_option('perl') --if get_option('tests') or get_option('gitweb').enabled() -+if get_option('tests') or get_option('gitweb').enabled() or get_option('docs') != [] - perl_required = true - endif - diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.48.1-parallel-build.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.48.1-parallel-build.patch deleted file mode 100644 index fb10f59b2d0..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.48.1-parallel-build.patch +++ /dev/null @@ -1,85 +0,0 @@ -https://bugs.gentoo.org/948865 -https://lore.kernel.org/git/20250122-b4-pks-meson-additions-v3-4-5a51eb5d3dcd@pks.im/ - -From: Patrick Steinhardt -Date: Wed, 22 Jan 2025 13:05:47 +0100 -Subject: [PATCH v3 04/11] meson: fix dependencies for generated headers -Precedence: bulk -X-Mailing-List: git@vger.kernel.org -List-Id: -List-Subscribe: -List-Unsubscribe: -MIME-Version: 1.0 -Content-Type: text/plain; charset="utf-8" -Content-Transfer-Encoding: 7bit -Message-Id: <20250122-b4-pks-meson-additions-v3-4-5a51eb5d3dcd@pks.im> -References: <20250122-b4-pks-meson-additions-v3-0-5a51eb5d3dcd@pks.im> -In-Reply-To: <20250122-b4-pks-meson-additions-v3-0-5a51eb5d3dcd@pks.im> -To: git@vger.kernel.org -Cc: Evan Martin , - Eli Schwartz , Junio C Hamano , - M Hickford , Toon Claes -X-Mailer: b4 0.14.2 - -We generate a couple of headers from our documentation. These headers -are added to the libgit sources, but two of them aren't used by the -library, but instead by our builtins. This can cause parallel builds to -fail because the builtin object may be compiled before the header was -generated. - -Fix the issue by adding both "config-list.h" and "hook-list.h" to the -list of builtin sources. While "command-list.h" is generated similarly, -it is used by "help.c" and thus part of the libgit sources indeed. - -Reported-by: Evan Martin -Signed-off-by: Patrick Steinhardt ---- - meson.build | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -diff --git a/meson.build b/meson.build -index 213998986e..4053024dad 100644 ---- a/meson.build -+++ b/meson.build -@@ -487,6 +487,13 @@ libgit_sources = [ - 'xdiff/xutils.c', - ] - -+libgit_sources += custom_target( -+ input: 'command-list.txt', -+ output: 'command-list.h', -+ command: [shell, meson.current_source_dir() + '/generate-cmdlist.sh', meson.current_source_dir(), '@OUTPUT@'], -+ env: script_environment, -+) -+ - builtin_sources = [ - 'builtin/add.c', - 'builtin/am.c', -@@ -614,14 +621,7 @@ builtin_sources = [ - 'builtin/write-tree.c', - ] - --libgit_sources += custom_target( -- input: 'command-list.txt', -- output: 'command-list.h', -- command: [shell, meson.current_source_dir() + '/generate-cmdlist.sh', meson.current_source_dir(), '@OUTPUT@'], -- env: script_environment, --) -- --libgit_sources += custom_target( -+builtin_sources += custom_target( - output: 'config-list.h', - command: [ - shell, -@@ -632,7 +632,7 @@ libgit_sources += custom_target( - env: script_environment, - ) - --libgit_sources += custom_target( -+builtin_sources += custom_target( - input: 'Documentation/githooks.txt', - output: 'hook-list.h', - command: [ - --- -2.48.1.321.gbf1f004a4a.dirty diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.52.0-0001-rust-don-t-pass-quiet-to-cargo.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.52.0-0001-rust-don-t-pass-quiet-to-cargo.patch new file mode 100644 index 00000000000..f2af164e6f4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.52.0-0001-rust-don-t-pass-quiet-to-cargo.patch @@ -0,0 +1,32 @@ +From 35f637fbabb3b8181a29ba7d96a505b49ea0ba0d Mon Sep 17 00:00:00 2001 +Message-ID: <35f637fbabb3b8181a29ba7d96a505b49ea0ba0d.1763489487.git.sam@gentoo.org> +From: Sam James +Date: Tue, 18 Nov 2025 18:10:03 +0000 +Subject: [PATCH 1/2] rust: don't pass --quiet to cargo + +This obscures that cargo is being invoked at all and it means even +ninja --verbose has no mention of it other than invoking the target. + +Signed-off-by: Sam James +--- + src/cargo-meson.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/cargo-meson.sh b/src/cargo-meson.sh +index 3998db0435..63a5e7c6ac 100755 +--- a/src/cargo-meson.sh ++++ b/src/cargo-meson.sh +@@ -19,7 +19,7 @@ do + esac + done + +-cargo build --lib --quiet --manifest-path="$SOURCE_DIR/Cargo.toml" --target-dir="$BUILD_DIR" "$@" ++cargo build --lib --manifest-path="$SOURCE_DIR/Cargo.toml" --target-dir="$BUILD_DIR" "$@" + RET=$? + if test $RET -ne 0 + then + +base-commit: 9a2fb147f2c61d0cab52c883e7e26f5b7948e3ed +-- +2.51.2 + diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.52.0-0002-rust-respect-CARGO-environment-variable.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.52.0-0002-rust-respect-CARGO-environment-variable.patch new file mode 100644 index 00000000000..351786312a8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.52.0-0002-rust-respect-CARGO-environment-variable.patch @@ -0,0 +1,32 @@ +From 1eba2788aab9f63ff55ac453b0d885aaa60c77af Mon Sep 17 00:00:00 2001 +Message-ID: <1eba2788aab9f63ff55ac453b0d885aaa60c77af.1763489487.git.sam@gentoo.org> +In-Reply-To: <35f637fbabb3b8181a29ba7d96a505b49ea0ba0d.1763489487.git.sam@gentoo.org> +References: <35f637fbabb3b8181a29ba7d96a505b49ea0ba0d.1763489487.git.sam@gentoo.org> +From: Sam James +Date: Tue, 18 Nov 2025 18:10:47 +0000 +Subject: [PATCH 2/2] rust: respect $CARGO environment variable + +Respect the CARGO environment variable if set. Gentoo uses this to +control the version of rust/cargo for a build. + +Signed-off-by: Sam James +--- + src/cargo-meson.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/cargo-meson.sh b/src/cargo-meson.sh +index 63a5e7c6ac..bbf3f91178 100755 +--- a/src/cargo-meson.sh ++++ b/src/cargo-meson.sh +@@ -19,7 +19,7 @@ do + esac + done + +-cargo build --lib --manifest-path="$SOURCE_DIR/Cargo.toml" --target-dir="$BUILD_DIR" "$@" ++${CARGO:-cargo} build --lib --manifest-path="$SOURCE_DIR/Cargo.toml" --target-dir="$BUILD_DIR" "$@" + RET=$? + if test $RET -ne 0 + then +-- +2.51.2 + diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.49.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.49.1.ebuild index 30d30860bda..58040deafed 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.49.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.49.1.ebuild @@ -50,7 +50,7 @@ if [[ ${PV} != *9999 ]]; then 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.50.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.50.1.ebuild index 59eec62eb11..e3361d6cd3c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.50.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.50.1.ebuild @@ -50,7 +50,7 @@ if [[ ${PV} != *9999 ]]; then 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.51.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.51.0.ebuild index 9a2e92d89e9..ac778840c2b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.51.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.51.0.ebuild @@ -50,7 +50,7 @@ if [[ ${PV} != *9999 ]]; then 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.51.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.51.1.ebuild index c4c40fbed1a..91b4e8a4cac 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.51.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.51.1.ebuild @@ -50,7 +50,7 @@ if [[ ${PV} != *9999 ]]; then 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.51.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.51.2-r1.ebuild index 3de51238c45..2d8e874785b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.51.2-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.51.2-r1.ebuild @@ -50,7 +50,7 @@ if [[ ${PV} != *9999 ]]; then 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.51.2-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.51.2-r2.ebuild new file mode 100644 index 00000000000..f3026549573 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.51.2-r2.ebuild @@ -0,0 +1,491 @@ +# 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 shell-completion optfeature plocale python-single-r1 systemd meson flag-o-matic + +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 ~arm64-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 +nls +pcre perforce +perl +safe-directory selinux subversion test tk +webdav xinetd" + +# Common to both DEPEND and RDEPEND +DEPEND=" + dev-libs/openssl:= + virtual/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-alternatives/gpg ) + 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 + ) + 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 ) + 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 + + # Backports for cross + "${FILESDIR}"/0001-meson-ignore-subprojects-.wraplock.patch + "${FILESDIR}"/0002-meson-only-detect-ICONV_OMITS_BOM-if-possible.patch + "${FILESDIR}"/0003-meson-use-is_cross_build-where-possible.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 ) + [[ ${CHOST} == *-solaris* ]] && append-flags -D__EXTENSIONS__ + + # 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 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 + newzshcomp contrib/completion/git-completion.zsh _${PN} + # 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 + + # 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 + # 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 + # subtree - built seperately + # svnimport - use git-svn + # thunderbird-patch-inline - fixes thunderbird + local contrib_objects=( + buildsystems + fast-import + rerere-train.sh + stats + ) + 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 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 + + if has_version app-shells/zsh ; then + elog 'There are two competing zsh completions available for Git.' + elog 'One is from app-shells/zsh, the other from dev-vcs/git.' + elog 'To choose between them, order the entries of $fpath so that your' + elog 'desired completion is earlier in the list or symlink the relevant' + elog 'script into a personal override directory early on fpath.' + 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-2.52.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.52.0.ebuild new file mode 100644 index 00000000000..0b243219b5b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.52.0.ebuild @@ -0,0 +1,497 @@ +# 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} ) +RUST_OPTIONAL=1 +inherit flag-o-matic toolchain-funcs perl-module shell-completion optfeature +inherit plocale python-single-r1 rust 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 ~arm64-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 +nls +pcre perforce +perl rust +safe-directory selinux subversion test tk +webdav xinetd" + +# Common to both DEPEND and RDEPEND +DEPEND=" + dev-libs/openssl:= + virtual/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-alternatives/gpg ) + 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 + ) + 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 ) + rust? ( ${RUST_DEPEND} ) + 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 ) + 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 + + "${FILESDIR}"/${PN}-2.52.0-0001-rust-don-t-pass-quiet-to-cargo.patch + "${FILESDIR}"/${PN}-2.52.0-0002-rust-respect-CARGO-environment-variable.patch + + # Backports for cross + "${FILESDIR}"/0001-meson-ignore-subprojects-.wraplock.patch + "${FILESDIR}"/0002-meson-only-detect-ICONV_OMITS_BOM-if-possible.patch + "${FILESDIR}"/0003-meson-use-is_cross_build-where-possible.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 + + if use rust ; then + rust_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_feature rust) + $(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 ) + [[ ${CHOST} == *-solaris* ]] && append-flags -D__EXTENSIONS__ + + # For non-live, we use a downloaded docs tarball instead. + if [[ ${PV} == *9999 ]] || use doc ; then + emesonargs+=( + -Ddocs="man$(usev doc ',html')" + -Dhtmldir="${EPREFIX}/usr/share/doc/${PF}/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 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 + + # 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 + newzshcomp contrib/completion/git-completion.zsh _${PN} + # 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 + + # 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 + # 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 + # subtree - built seperately + # svnimport - use git-svn + # thunderbird-patch-inline - fixes thunderbird + local contrib_objects=( + buildsystems + fast-import + rerere-train.sh + stats + ) + 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 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 + + if has_version app-shells/zsh ; then + elog 'There are two competing zsh completions available for Git.' + elog 'One is from app-shells/zsh, the other from dev-vcs/git.' + elog 'To choose between them, order the entries of $fpath so that your' + elog 'desired completion is earlier in the list or symlink the relevant' + elog 'script into a personal override directory early on fpath.' + 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-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r1.ebuild index 68a5ad083ce..c15a030e803 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r1.ebuild @@ -7,8 +7,9 @@ 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 +RUST_OPTIONAL=1 +inherit flag-o-matic toolchain-funcs perl-module shell-completion optfeature +inherit plocale python-single-r1 rust systemd meson PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" @@ -50,7 +51,7 @@ if [[ ${PV} != *9999 ]]; then 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi @@ -58,7 +59,7 @@ S="${WORKDIR}"/${MY_P} LICENSE="GPL-2" SLOT="0" -IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl +safe-directory selinux subversion test tk +webdav xinetd" +IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl rust +safe-directory selinux subversion test tk +webdav xinetd" # Common to both DEPEND and RDEPEND DEPEND=" @@ -117,6 +118,7 @@ BDEPEND=" ) keyring? ( virtual/pkgconfig ) nls? ( sys-devel/gettext ) + rust? ( ${RUST_DEPEND} ) test? ( app-arch/unzip app-crypt/gnupg @@ -148,6 +150,9 @@ PATCHES=( # 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 + + "${FILESDIR}"/${PN}-2.52.0-0001-rust-don-t-pass-quiet-to-cargo.patch + "${FILESDIR}"/${PN}-2.52.0-0002-rust-respect-CARGO-environment-variable.patch ) pkg_setup() { @@ -160,6 +165,10 @@ pkg_setup() { if use perforce ; then python-single-r1_pkg_setup fi + + if use rust ; then + rust_pkg_setup + fi } src_unpack() { @@ -228,6 +237,7 @@ src_configure() { $(meson_feature pcre pcre2) $(meson_feature perl) $(meson_feature perforce python) + $(meson_feature rust) $(meson_use test tests) -Dcontrib=$(IFS=, ; echo "${contrib[*]}" ) @@ -240,6 +250,7 @@ src_configure() { ) [[ ${CHOST} == *-darwin* ]] && emesonargs+=( -Dfsmonitor=false ) + [[ ${CHOST} == *-solaris* ]] && append-flags -D__EXTENSIONS__ # For non-live, we use a downloaded docs tarball instead. if [[ ${PV} == *9999 ]] || use doc ; then @@ -350,6 +361,7 @@ src_install() { newbashcomp contrib/completion/git-completion.bash ${PN} bashcomp_alias git gitk + newzshcomp contrib/completion/git-completion.zsh _${PN} # Not really a bash-completion file (bug #477920) # but still needed uncompressed (bug #507480) insinto /usr/share/${PN} @@ -466,6 +478,14 @@ pkg_postinst() { elog "Note that the prompt bash code is now in that separate script" fi + if has_version app-shells/zsh ; then + elog 'There are two competing zsh completions available for Git.' + elog 'One is from app-shells/zsh, the other from dev-vcs/git.' + elog 'To choose between them, order the entries of $fpath so that your' + elog 'desired completion is earlier in the list or symlink the relevant' + elog 'script into a personal override directory early on fpath.' + 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-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r2.ebuild index 68a5ad083ce..c15a030e803 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r2.ebuild @@ -7,8 +7,9 @@ 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 +RUST_OPTIONAL=1 +inherit flag-o-matic toolchain-funcs perl-module shell-completion optfeature +inherit plocale python-single-r1 rust systemd meson PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" @@ -50,7 +51,7 @@ if [[ ${PV} != *9999 ]]; then 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi @@ -58,7 +59,7 @@ S="${WORKDIR}"/${MY_P} LICENSE="GPL-2" SLOT="0" -IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl +safe-directory selinux subversion test tk +webdav xinetd" +IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl rust +safe-directory selinux subversion test tk +webdav xinetd" # Common to both DEPEND and RDEPEND DEPEND=" @@ -117,6 +118,7 @@ BDEPEND=" ) keyring? ( virtual/pkgconfig ) nls? ( sys-devel/gettext ) + rust? ( ${RUST_DEPEND} ) test? ( app-arch/unzip app-crypt/gnupg @@ -148,6 +150,9 @@ PATCHES=( # 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 + + "${FILESDIR}"/${PN}-2.52.0-0001-rust-don-t-pass-quiet-to-cargo.patch + "${FILESDIR}"/${PN}-2.52.0-0002-rust-respect-CARGO-environment-variable.patch ) pkg_setup() { @@ -160,6 +165,10 @@ pkg_setup() { if use perforce ; then python-single-r1_pkg_setup fi + + if use rust ; then + rust_pkg_setup + fi } src_unpack() { @@ -228,6 +237,7 @@ src_configure() { $(meson_feature pcre pcre2) $(meson_feature perl) $(meson_feature perforce python) + $(meson_feature rust) $(meson_use test tests) -Dcontrib=$(IFS=, ; echo "${contrib[*]}" ) @@ -240,6 +250,7 @@ src_configure() { ) [[ ${CHOST} == *-darwin* ]] && emesonargs+=( -Dfsmonitor=false ) + [[ ${CHOST} == *-solaris* ]] && append-flags -D__EXTENSIONS__ # For non-live, we use a downloaded docs tarball instead. if [[ ${PV} == *9999 ]] || use doc ; then @@ -350,6 +361,7 @@ src_install() { newbashcomp contrib/completion/git-completion.bash ${PN} bashcomp_alias git gitk + newzshcomp contrib/completion/git-completion.zsh _${PN} # Not really a bash-completion file (bug #477920) # but still needed uncompressed (bug #507480) insinto /usr/share/${PN} @@ -466,6 +478,14 @@ pkg_postinst() { elog "Note that the prompt bash code is now in that separate script" fi + if has_version app-shells/zsh ; then + elog 'There are two competing zsh completions available for Git.' + elog 'One is from app-shells/zsh, the other from dev-vcs/git.' + elog 'To choose between them, order the entries of $fpath so that your' + elog 'desired completion is earlier in the list or symlink the relevant' + elog 'script into a personal override directory early on fpath.' + 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-r3.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r3.ebuild index 68a5ad083ce..c15a030e803 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r3.ebuild @@ -7,8 +7,9 @@ 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 +RUST_OPTIONAL=1 +inherit flag-o-matic toolchain-funcs perl-module shell-completion optfeature +inherit plocale python-single-r1 rust systemd meson PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" @@ -50,7 +51,7 @@ if [[ ${PV} != *9999 ]]; then 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi @@ -58,7 +59,7 @@ S="${WORKDIR}"/${MY_P} LICENSE="GPL-2" SLOT="0" -IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl +safe-directory selinux subversion test tk +webdav xinetd" +IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl rust +safe-directory selinux subversion test tk +webdav xinetd" # Common to both DEPEND and RDEPEND DEPEND=" @@ -117,6 +118,7 @@ BDEPEND=" ) keyring? ( virtual/pkgconfig ) nls? ( sys-devel/gettext ) + rust? ( ${RUST_DEPEND} ) test? ( app-arch/unzip app-crypt/gnupg @@ -148,6 +150,9 @@ PATCHES=( # 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 + + "${FILESDIR}"/${PN}-2.52.0-0001-rust-don-t-pass-quiet-to-cargo.patch + "${FILESDIR}"/${PN}-2.52.0-0002-rust-respect-CARGO-environment-variable.patch ) pkg_setup() { @@ -160,6 +165,10 @@ pkg_setup() { if use perforce ; then python-single-r1_pkg_setup fi + + if use rust ; then + rust_pkg_setup + fi } src_unpack() { @@ -228,6 +237,7 @@ src_configure() { $(meson_feature pcre pcre2) $(meson_feature perl) $(meson_feature perforce python) + $(meson_feature rust) $(meson_use test tests) -Dcontrib=$(IFS=, ; echo "${contrib[*]}" ) @@ -240,6 +250,7 @@ src_configure() { ) [[ ${CHOST} == *-darwin* ]] && emesonargs+=( -Dfsmonitor=false ) + [[ ${CHOST} == *-solaris* ]] && append-flags -D__EXTENSIONS__ # For non-live, we use a downloaded docs tarball instead. if [[ ${PV} == *9999 ]] || use doc ; then @@ -350,6 +361,7 @@ src_install() { newbashcomp contrib/completion/git-completion.bash ${PN} bashcomp_alias git gitk + newzshcomp contrib/completion/git-completion.zsh _${PN} # Not really a bash-completion file (bug #477920) # but still needed uncompressed (bug #507480) insinto /usr/share/${PN} @@ -466,6 +478,14 @@ pkg_postinst() { elog "Note that the prompt bash code is now in that separate script" fi + if has_version app-shells/zsh ; then + elog 'There are two competing zsh completions available for Git.' + elog 'One is from app-shells/zsh, the other from dev-vcs/git.' + elog 'To choose between them, order the entries of $fpath so that your' + elog 'desired completion is earlier in the list or symlink the relevant' + elog 'script into a personal override directory early on fpath.' + 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 3de51238c45..c15a030e803 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 @@ -7,8 +7,9 @@ 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 +RUST_OPTIONAL=1 +inherit flag-o-matic toolchain-funcs perl-module shell-completion optfeature +inherit plocale python-single-r1 rust systemd meson PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" @@ -50,7 +51,7 @@ if [[ ${PV} != *9999 ]]; then 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi @@ -58,7 +59,7 @@ S="${WORKDIR}"/${MY_P} LICENSE="GPL-2" SLOT="0" -IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl +safe-directory selinux subversion test tk +webdav xinetd" +IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl rust +safe-directory selinux subversion test tk +webdav xinetd" # Common to both DEPEND and RDEPEND DEPEND=" @@ -117,6 +118,7 @@ BDEPEND=" ) keyring? ( virtual/pkgconfig ) nls? ( sys-devel/gettext ) + rust? ( ${RUST_DEPEND} ) test? ( app-arch/unzip app-crypt/gnupg @@ -148,6 +150,9 @@ PATCHES=( # 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 + + "${FILESDIR}"/${PN}-2.52.0-0001-rust-don-t-pass-quiet-to-cargo.patch + "${FILESDIR}"/${PN}-2.52.0-0002-rust-respect-CARGO-environment-variable.patch ) pkg_setup() { @@ -160,6 +165,10 @@ pkg_setup() { if use perforce ; then python-single-r1_pkg_setup fi + + if use rust ; then + rust_pkg_setup + fi } src_unpack() { @@ -228,6 +237,7 @@ src_configure() { $(meson_feature pcre pcre2) $(meson_feature perl) $(meson_feature perforce python) + $(meson_feature rust) $(meson_use test tests) -Dcontrib=$(IFS=, ; echo "${contrib[*]}" ) @@ -240,11 +250,13 @@ src_configure() { ) [[ ${CHOST} == *-darwin* ]] && emesonargs+=( -Dfsmonitor=false ) + [[ ${CHOST} == *-solaris* ]] && append-flags -D__EXTENSIONS__ # For non-live, we use a downloaded docs tarball instead. if [[ ${PV} == *9999 ]] || use doc ; then emesonargs+=( -Ddocs="man$(usev doc ',html')" + -Dhtmldir="${EPREFIX}/usr/share/doc/${PF}/html" ) fi @@ -334,11 +346,6 @@ 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] @@ -354,6 +361,7 @@ src_install() { newbashcomp contrib/completion/git-completion.bash ${PN} bashcomp_alias git gitk + newzshcomp contrib/completion/git-completion.zsh _${PN} # Not really a bash-completion file (bug #477920) # but still needed uncompressed (bug #507480) insinto /usr/share/${PN} @@ -470,6 +478,14 @@ pkg_postinst() { elog "Note that the prompt bash code is now in that separate script" fi + if has_version app-shells/zsh ; then + elog 'There are two competing zsh completions available for Git.' + elog 'One is from app-shells/zsh, the other from dev-vcs/git.' + elog 'To choose between them, order the entries of $fpath so that your' + elog 'desired completion is earlier in the list or symlink the relevant' + elog 'script into a personal override directory early on fpath.' + 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/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-vcs/git/metadata.xml index 9d25e400d1b..47fec3c4204 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/metadata.xml @@ -26,6 +26,7 @@ GitWeb support for app-text/highlight Support pulling and pushing from MediaWiki Add support for Perforce version control system (requires manual installation of Perforce client) + Build components using Rust, starting with 2.52 with varint. This will become mandatory upstream with Git 3.0. Respect the safe.directory setting Include git-svn for dev-vcs/subversion support Include the 'gitk' and 'git gui' tools diff --git a/sdk_container/src/third_party/portage-stable/eclass/acct-group.eclass b/sdk_container/src/third_party/portage-stable/eclass/acct-group.eclass index f62d6244b16..892a9ff9806 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/acct-group.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/acct-group.eclass @@ -78,7 +78,7 @@ ACCT_GROUP_NAME=${PN} # << Boilerplate ebuild variables >> : "${DESCRIPTION:="System group: ${ACCT_GROUP_NAME}"}" : "${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 ~arm64-macos ~x64-macos ~x64-solaris}" S=${WORKDIR} diff --git a/sdk_container/src/third_party/portage-stable/eclass/acct-user.eclass b/sdk_container/src/third_party/portage-stable/eclass/acct-user.eclass index 79fc2d1a4cb..e20b6fca481 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/acct-user.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/acct-user.eclass @@ -144,7 +144,7 @@ ACCT_USER_NAME=${PN} # << Boilerplate ebuild variables >> : "${DESCRIPTION:="System user: ${ACCT_USER_NAME}"}" : "${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 ~arm64-macos ~x64-macos ~x64-solaris}" S=${WORKDIR} diff --git a/sdk_container/src/third_party/portage-stable/eclass/branding.eclass b/sdk_container/src/third_party/portage-stable/eclass/branding.eclass new file mode 100644 index 00000000000..cc06d8c49ec --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/branding.eclass @@ -0,0 +1,87 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: branding.eclass +# @MAINTAINER: +# James Le Cuirot +# @AUTHOR: +# James Le Cuirot +# @SUPPORTED_EAPIS: 8 9 +# @BLURB: Branding variables with Gentoo defaults +# @DESCRIPTION: +# This defines a set of variables for applying branding to various packages. The +# variables default to Gentoo values. These can be overridden by downstream +# distributions. + +case ${EAPI} in + 8|9) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac + +# @ECLASS_VARIABLE: BRANDING_OS_NAME +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Corresponds to os-release's NAME. See os-release(5). +: "${BRANDING_OS_NAME:=Gentoo}" + +# @ECLASS_VARIABLE: BRANDING_OS_ID +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Corresponds to os-release's ID. See os-release(5). This variable has strict +# formatting requirements. +: "${BRANDING_OS_ID:=gentoo}" + +# @ECLASS_VARIABLE: BRANDING_OS_ID_LIKE +# @OUTPUT_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Corresponds to os-release's ID_LIKE. See os-release(5). + +# @ECLASS_VARIABLE: BRANDING_OS_HOME_URL +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Corresponds to os-release's HOME_URL. See os-release(5). +: "${BRANDING_OS_HOME_URL:=https://www.gentoo.org/}" + +# @ECLASS_VARIABLE: BRANDING_OS_SUPPORT_URL +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Corresponds to os-release's SUPPORT_URL. See os-release(5). +: "${BRANDING_OS_SUPPORT_URL:=https://www.gentoo.org/support/}" + +# @ECLASS_VARIABLE: BRANDING_OS_BUG_REPORT_URL +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Corresponds to os-release's BUG_REPORT_URL. See os-release(5). +: "${BRANDING_OS_BUG_REPORT_URL:=https://bugs.gentoo.org/}" + +# @ECLASS_VARIABLE: BRANDING_OS_VERSION +# @OUTPUT_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Corresponds to os-release's VERSION. See os-release(5). This is typically set +# by sys-apps/baselayout to PV when creating /etc/os-release. As such, it is not +# readable by other packages unless overridden globally, but baselayout's PV has +# little relevance to other packages anyway. + +# @ECLASS_VARIABLE: BRANDING_OS_VERSION_ID +# @OUTPUT_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Corresponds to os-release's VERSION_ID. See os-release(5). This variable has +# strict formatting requirements. Like BRANDING_OS_VERSION above, this is also +# set by baselayout to PV. + +# @ECLASS_VARIABLE: BRANDING_OS_PRETTY_NAME +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Corresponds to os-release's PRETTY_NAME. See os-release(5). If completely +# unset, defaults to "Gentoo Linux". If set but blank, defaults to the +# concatenation of BRANDING_OS_NAME and BRANDING_OS_VERSION. +: "${BRANDING_OS_PRETTY_NAME=Gentoo Linux}" +: "${BRANDING_OS_PRETTY_NAME:=${BRANDING_OS_NAME}${BRANDING_OS_VERSION:+ }${BRANDING_OS_VERSION}}" + +# These variables are recognised by GNU's version-etc.m4. +export with_packager="${BRANDING_OS_NAME}" +export with_packager_bug_reports="${BRANDING_OS_BUG_REPORT_URL}" +export with_packager_version="${PVR}" diff --git a/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass b/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass index 5c2b89b6a71..cbde35be727 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass @@ -453,13 +453,22 @@ _cargo_gen_git_config() { fi } +# @FUNCTION: _cargo_needs_target +# @INTERNAL +# @DESCRIPTION: +# Cargo does not apply flags to the build host when --target is given, even if +# it is the native target, so only pass it when actually needed. +_cargo_needs_target() { + tc-is-cross-compiler || { has multilib-build ${INHERITED} && ! multilib_is_native_abi; } +} + # @FUNCTION: cargo_target_dir # @DESCRIPTION: # Return the directory within target that contains the build, e.g. # target/aarch64-unknown-linux-gnu/release. cargo_target_dir() { local abi - tc-is-cross-compiler && abi=/$(rust_abi) + _cargo_needs_target && abi=/$(rust_abi) echo "${CARGO_TARGET_DIR:-target}${abi}/$(usex debug debug release)" } @@ -776,7 +785,7 @@ cargo_env() { # Only tell Cargo to cross-compile when actually needed to avoid the # aforementioned build host vs target flag separation issue. - tc-is-cross-compiler || unset CARGO_BUILD_TARGET + _cargo_needs_target || unset CARGO_BUILD_TARGET "${@}" ) diff --git a/sdk_container/src/third_party/portage-stable/eclass/check-reqs.eclass b/sdk_container/src/third_party/portage-stable/eclass/check-reqs.eclass index 11eec694ef0..6084c25c316 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/check-reqs.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/check-reqs.eclass @@ -333,7 +333,28 @@ _check-reqs_memory() { if [[ -r /proc/meminfo ]] ; then actual_memory=$(awk '/MemTotal/ { print $2 }' /proc/meminfo) actual_swap=$(awk '/SwapTotal/ { print $2 }' /proc/meminfo) + elif [[ ${CBUILD:-${CHOST}} == *-darwin* ]] ; then + # bug #404207 + actual_memory=$(sysctl -n hw.memsize 2>/dev/null) + [[ $? -eq 0 ]] && actual_memory=$((actual_memory / 1024)) + actual_swap=$(sysctl -n vm.swapusage 2>/dev/null) + if [[ $? -eq 0 ]] ; then + actual_swap=$(awk '{ + split($3, v, 'M', s); print int(v[0] * 1024) + }' <<<"${actual_swap}") + fi + elif [[ ${CBUILD:-${CHOST}} == *-solaris* ]] ; then + actual_memory=$(prtconf 2>/dev/null | grep Memory) + if [[ $? -eq 0 ]] ; then + actual_memory=$(awk '{ + print int($3 * 1024) + }' <<<"${actual_memory}") + fi + actual_swap=$(swap -s 2>/dev/null) + [[ $? -eq 0 ]] && actual_swap=$( + sed -n 's/^.*, \([0-9]\+\)k available.*$/\1/p' <<<"${actual_swap}") else + # FreeBSD actual_memory=$(sysctl hw.physmem 2>/dev/null) [[ $? -eq 0 ]] && actual_memory=$(echo "${actual_memory}" \ | sed -e 's/^[^:=]*[:=][[:space:]]*//') 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 b087587868c..643370f5353 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: cmake.eclass @@ -77,10 +77,6 @@ inherit flag-o-matic multiprocessing ninja-utils toolchain-funcs xdg-utils if [[ ${CMAKE_REMOVE_MODULES_LIST} ]]; then [[ ${CMAKE_REMOVE_MODULES_LIST@a} == *a* ]] || die "CMAKE_REMOVE_MODULES_LIST must be an array" -else - if ! [[ ${CMAKE_REMOVE_MODULES_LIST@a} == *a* && ${#CMAKE_REMOVE_MODULES_LIST[@]} -eq 0 ]]; then - CMAKE_REMOVE_MODULES_LIST=( FindBLAS FindLAPACK ) - fi fi # @ECLASS_VARIABLE: CMAKE_USE_DIR @@ -250,7 +246,7 @@ cmake_comment_add_subdirectory() { for d in "$@"; do d=${d//\//\\/} - sed -e "/add_subdirectory[[:space:]]*([[:space:]]*${d}[[:space:]]*)/I s/^/#DONOTBUILD /" \ + sed -e "/add_subdirectory[[:space:]]*([[:space:]]*${d}\([[:space:]][a-Z_ ]*\|[[:space:]]*\))/I s/^/#DONOTBUILD /" \ -i ${filename} || die "failed to comment add_subdirectory(${d})" done } @@ -497,6 +493,11 @@ cmake_prepare() { die "FATAL: Unable to find CMakeLists.txt" fi + if [[ ${CMAKE_REMOVE_MODULES_LIST@a} != *a* ]]; then + if has_version -b " [name] [icon] [type] [fields] +# @USAGE: [--eapi9] [options] # @DESCRIPTION: -# Make a .desktop file. +# Make a .desktop file and install it in /usr/share/applications/. +# +# @CODE +# --eapi9: Switch to getopts style arguments instead of order based +# As the naming implies, this is off by default for EAPI=[78], +# but mandated by future EAPI. +# command: Exec command the app is being run with, also base for TryExec +# --- Options: +# name: Name that will show up in the menu; defaults to PN +# with --eapi9: must not contain arguments, use --args for that +# icon: Icon to use with the menu entry; defaults to PN +# this can be relative (to /usr/share/pixmaps) or +# a full path to an icon +# categories: Categories for this kind of application. Examples: +# https://specifications.freedesktop.org/menu-spec/latest/apa.html +# if unset, function tries to guess from package's category +# entry: Key=Value entry to append to the desktop file; +# with --eapi9: multiple allowed; old style: a printf string +# --- Additional parameters available using --eapi9: +# args: Arguments (binary params and desktop spec field codes) to add +# to Exec value, separated by a space if multiple +# desktopid: .desktop will be created. Must be same as "app id" +# defined in code (including reverse qualified domain if set); +# defaults to +# comment: Comment (menu entry tooltip), defaults to DESCRIPTION +# force: Force-write resulting desktop file (overwrite existing) +# @CODE # +# Example usage: # @CODE -# binary: what command does the app run with ? -# name: the name that will show up in the menu -# icon: the icon to use in the menu entry -# this can be relative (to /usr/share/pixmaps) or -# a full path to an icon -# type: what kind of application is this? -# for categories: -# https://specifications.freedesktop.org/menu-spec/latest/apa.html -# if unset, function tries to guess from package's category -# fields: extra fields to append to the desktop file; a printf string +# Deprecated, in order: +# [name] [icon] [categories] [entries...] +# New style: +# --eapi9 [-a args] [-d desktopid] [-C comment] [-i icon] +# --eapi9 [-n name] [-e entry...] [-c categories] # @CODE make_desktop_entry() { - [[ -z $1 ]] && die "make_desktop_entry: You must specify the executable" + local eapi9 + if [[ -n ${1} ]]; then + case ${EAPI} in + 7|8) + if [[ ${1} == --eapi9 ]]; then + eapi9=1 + shift + fi + ;; + *) + if [[ ${1} == --eapi9 ]]; then + ewarn "make_desktop_entry: --eapi9 arg is obsolete in EAPI-${EAPI} and may be cleaned up now." + shift + fi + eapi9=1 + ;; + esac + fi + [[ -z ${1} ]] && die "make_desktop_entry: You must specify at least a command" + + if [[ ${eapi9} ]]; then + local args cats cmd comment desktopid entries force icon name + while [[ $# -gt 0 ]] ; do + case "${1}" in + -a|--args) + args="${2}"; shift 2 ;; + -c|--categories) + cats="${2}"; shift 2 ;; + -C|--comment) + comment="${2}"; shift 2 ;; + -d|--desktopid) + desktopid="${2}"; shift 2 ;; + -e|--entry) + entries+=( "${2}" ); shift 2 ;; + -f|--force) + force=1; shift 1 ;; + -i|--icon) + icon="${2}"; shift 2 ;; + -n|--name) + name="${2}"; shift 2 ;; + *) + if [[ -z ${cmd} ]] ; then + cmd="${1}" + else + die "make_desktop_entry: Can only take one command! First got: ${cmd}; then got: ${1}" + fi + shift ;; + esac + done + [[ -z ${cmd} ]] && die "make_desktop_entry: You must specify at least a command" + [[ -z ${name} ]] && name=${PN} + [[ -z ${icon} ]] && icon=${PN} + else + local cmd=${1} + local name=${2:-${PN}} + local icon=${3:-${PN}} + local cats=${4} + local entries=${5} + fi - local exec=${1} - local name=${2:-${PN}} - local icon=${3:-${PN}} - local type=${4} - local fields=${5} + [[ -z ${comment} ]] && comment="${DESCRIPTION}" - if [[ -z ${type} ]] ; then + if [[ -z ${cats} ]] ; then local catmaj=${CATEGORY%%-*} local catmin=${CATEGORY##*-} case ${catmaj} in app) case ${catmin} in - accessibility) type="Utility;Accessibility";; - admin) type=System;; - antivirus) type=System;; - arch) type="Utility;Archiving";; - backup) type="Utility;Archiving";; - cdr) type="AudioVideo;DiscBurning";; - dicts) type="Office;Dictionary";; - doc) type=Documentation;; - editors) type="Utility;TextEditor";; - emacs) type="Development;TextEditor";; - emulation) type="System;Emulator";; - laptop) type="Settings;HardwareSettings";; - office) type=Office;; - pda) type="Office;PDA";; - vim) type="Development;TextEditor";; - xemacs) type="Development;TextEditor";; + accessibility) cats="Utility;Accessibility";; + admin) cats=System;; + antivirus) cats=System;; + arch) cats="Utility;Archiving";; + backup) cats="Utility;Archiving";; + cdr) cats="AudioVideo;DiscBurning";; + dicts) cats="Office;Dictionary";; + doc) cats=Documentation;; + editors) cats="Utility;TextEditor";; + emacs) cats="Development;TextEditor";; + emulation) cats="System;Emulator";; + laptop) cats="Settings;HardwareSettings";; + office) cats=Office;; + pda) cats="Office;PDA";; + vim) cats="Development;TextEditor";; + xemacs) cats="Development;TextEditor";; esac ;; dev) - type="Development" + cats="Development" ;; games) case ${catmin} in - action|fps) type=ActionGame;; - arcade) type=ArcadeGame;; - board) type=BoardGame;; - emulation) type=Emulator;; - kids) type=KidsGame;; - puzzle) type=LogicGame;; - roguelike) type=RolePlaying;; - rpg) type=RolePlaying;; - simulation) type=Simulation;; - sports) type=SportsGame;; - strategy) type=StrategyGame;; + action|fps) cats=ActionGame;; + arcade) cats=ArcadeGame;; + board) cats=BoardGame;; + emulation) cats=Emulator;; + kids) cats=KidsGame;; + puzzle) cats=LogicGame;; + roguelike) cats=RolePlaying;; + rpg) cats=RolePlaying;; + simulation) cats=Simulation;; + sports) cats=SportsGame;; + strategy) cats=StrategyGame;; esac - type="Game;${type}" + cats="Game;${cats}" ;; gnome) - type="Gnome;GTK" + cats="Gnome;GTK" ;; kde) - type="KDE;Qt" + cats="KDE;Qt" ;; mail) - type="Network;Email" + cats="Network;Email" ;; media) case ${catmin} in gfx) - type=Graphics + cats=Graphics ;; *) case ${catmin} in - radio) type=Tuner;; - sound) type=Audio;; - tv) type=TV;; - video) type=Video;; + radio) cats=Tuner;; + sound) cats=Audio;; + tv) cats=TV;; + video) cats=Video;; esac - type="AudioVideo;${type}" + cats="AudioVideo;${cats}" ;; esac ;; net) case ${catmin} in - dialup) type=Dialup;; - ftp) type=FileTransfer;; - im) type=InstantMessaging;; - irc) type=IRCClient;; - mail) type=Email;; - news) type=News;; - nntp) type=News;; - p2p) type=FileTransfer;; - voip) type=Telephony;; + dialup) cats=Dialup;; + ftp) cats=FileTransfer;; + im) cats=InstantMessaging;; + irc) cats=IRCClient;; + mail) cats=Email;; + news) cats=News;; + nntp) cats=News;; + p2p) cats=FileTransfer;; + voip) cats=Telephony;; esac - type="Network;${type}" + cats="Network;${cats}" ;; sci) case ${catmin} in - astro*) type=Astronomy;; - bio*) type=Biology;; - calc*) type=Calculator;; - chem*) type=Chemistry;; - elec*) type=Electronics;; - geo*) type=Geology;; - math*) type=Math;; - physics) type=Physics;; - visual*) type=DataVisualization;; + astro*) cats=Astronomy;; + bio*) cats=Biology;; + calc*) cats=Calculator;; + chem*) cats=Chemistry;; + elec*) cats=Electronics;; + geo*) cats=Geology;; + math*) cats=Math;; + physics) cats=Physics;; + visual*) cats=DataVisualization;; esac - type="Education;Science;${type}" + cats="Education;Science;${cats}" ;; sys) - type="System" + cats="System" ;; www) case ${catmin} in - client) type=WebBrowser;; + client) cats=WebBrowser;; esac - type="Network;${type}" + cats="Network;${cats}" ;; *) - type= + cats= ;; esac fi - local desktop_exec="${exec%%[[:space:]]*}" - desktop_exec="${desktop_exec##*/}" - local desktop_suffix="-${PN}" - [[ ${SLOT%/*} != 0 ]] && desktop_suffix+="-${SLOT%/*}" - # Replace foo-foo.desktop by foo.desktop - [[ ${desktop_suffix#-} == "${desktop_exec}" ]] && desktop_suffix="" - - # Prevent collisions if a file with the same name already exists #771708 - local desktop="${desktop_exec}${desktop_suffix}" count=0 - while [[ -e ${ED}/usr/share/applications/${desktop}.desktop ]]; do - desktop="${desktop_exec}-$((++count))${desktop_suffix}" - done - desktop="${T}/${desktop}.desktop" + if [[ ${eapi9} ]]; then + if [[ -z ${desktopid} ]]; then + if [[ ${cmd} =~ .+[[:space:]].+ ]]; then + die "make_desktop_entry: --desktopid must be provided when contains a space" + fi + desktopid="${cmd##*/}" + fi + if [[ ! ${desktopid} =~ ^[A-Za-z0-9._-]+$ ]]; then + die "make_desktop_entry: must only consist of ASCII letters, digits, dash, underscore and dots" + fi + if [[ ${_DESKTOP_IDS[*]} =~ (^|[[:space:]])"${desktopid}"($|[[:space:]]) ]]; then + die "make_desktop_entry: desktopid \"${desktopid}\" already used in a previous call, choose a different one" + else + _DESKTOP_IDS+=( "${desktopid}" ) + fi + local desktop="${T}/${desktopid}.desktop" + if [[ ! ${force} && -e ${ED}/usr/share/applications/${desktopid}.desktop ]]; then + die "make_desktop_entry: desktopid \"${desktopid}\" already exists, must be unique" + fi + else + local desktop_exec="${cmd%%[[:space:]]*}" + desktop_exec="${desktop_exec##*/}" + local desktop_suffix="-${PN}" + [[ ${SLOT%/*} != 0 ]] && desktop_suffix+="-${SLOT%/*}" + # Replace foo-foo.desktop by foo.desktop + [[ ${desktop_suffix#-} == "${desktop_exec}" ]] && desktop_suffix="" + + # Prevent collisions if a file with the same name already exists #771708 + local desktop="${desktop_exec}${desktop_suffix}" count=0 + while [[ -e ${ED}/usr/share/applications/${desktop}.desktop ]]; do + desktop="${desktop_exec}-$((++count))${desktop_suffix}" + done + desktop="${T}/${desktop}.desktop" + fi # Don't append another ";" when a valid category value is provided. - type=${type%;}${type:+;} + cats=${cats%;}${cats:+;} if [[ -n ${icon} && ${icon} != /* ]] && [[ ${icon} == *.xpm || ${icon} == *.png || ${icon} == *.svg ]]; then ewarn "As described in the Icon Theme Specification, icon file extensions are not" @@ -186,24 +290,46 @@ make_desktop_entry() { icon=${icon%.*} fi - cat <<-EOF > "${desktop}" || die - [Desktop Entry] - Name=${name} - Type=Application - Comment=${DESCRIPTION} - Exec=${exec} - TryExec=${exec%% *} - Icon=${icon} - Categories=${type} - EOF - - if [[ ${fields:-=} != *=* ]] ; then - # 5th arg used to be value to Path= - ewarn "make_desktop_entry: update your 5th arg to read Path=${fields}" - fields="Path=${fields}" + cat > "${desktop}" <<- _EOF_ || die + [Desktop Entry] + Type=Application + Name=${name} + Comment=${comment} + Icon=${icon} + Categories=${cats} + _EOF_ + + if [[ ${eapi9} ]]; then + local cmd_args="${cmd} ${args}" + cat >> "${desktop}" <<- _EOF_ || die + Exec=${cmd_args%[[:space:]]} + TryExec=${cmd} + _EOF_ + else + cat >> "${desktop}" <<- _EOF_ || die + Exec=${cmd} + TryExec=${cmd%% *} + _EOF_ fi - if [[ -n ${fields} ]]; then - printf '%b\n' "${fields}" >> "${desktop}" || die + + if [[ ${eapi9} && -n ${entries} ]]; then + local entry + for entry in ${entries[@]}; do + if [[ ${entry} =~ ^[A-Za-z0-9-]+=.* ]]; then + printf "%s\n" "${entry}" >> "${desktop}" || die + else + die "make_desktop_entry: \"${entry}\" rejected; must be passed a Key=Value pair" + fi + done + else + if [[ ${entries:-=} != *=* ]]; then + # 5th arg used to be value to Path= + ewarn "make_desktop_entry: update your 5th arg to read Path=${entries}" + entries="Path=${entries}" + fi + if [[ -n ${entries} ]]; then + printf '%b\n' "${entries}" >> "${desktop}" || die + fi fi ( 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 8fc92cf4fca..79c91aa2356 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 @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: distutils-r1.eclass @@ -415,6 +415,28 @@ unset -f _distutils_set_globals # } # @CODE +# @ECLASS_VARIABLE: DISTUTILS_CONFIG_SETTINGS_JSON +# @DEFAULT_UNSET +# @DESCRIPTION: +# The JSON object deserialized into config_settings dictionary passed +# to the build backend. +# +# Allowed only for DISTUTILS_USE_PEP517=standalone. Use DISTUTILS_ARGS +# for other backends. +# +# Example: +# @CODE +# python_configure_all() { +# DISTUTILS_CONFIG_SETTINGS_JSON=' +# { +# "verbose": true, +# "targets": ["foo", "bar"], +# "build-type": "release" +# } +# ' +# } +# @CODE + # @FUNCTION: distutils_enable_sphinx # @USAGE: [--no-autodoc | ...] # @DESCRIPTION: @@ -1197,6 +1219,12 @@ distutils_pep517_install() { ;; esac + if [[ ${DISTUTILS_USE_PEP517} == standalone ]]; then + config_settings=${DISTUTILS_CONFIG_SETTINGS_JSON} + elif [[ -n ${DISTUTILS_CONFIG_SETTINGS_JSON} ]]; then + die "DISTUTILS_CONFIG_SETTINGS_JSON supported only for standalone backends" + fi + # https://pyo3.rs/latest/building-and-distribution.html#cross-compiling if tc-is-cross-compiler; then local -x PYO3_CROSS_LIB_DIR=${SYSROOT}/$(python_get_stdlib) @@ -1260,14 +1288,15 @@ distutils-r1_python_compile() { # we are appending a dynamic component so that # distutils-r1_python_compile can be called multiple # times and don't end up combining resulting packages + # + # we are no longer adding "parallel" since it is causing too many + # issues, including silent miscompilations, and upstream doesn't + # address any bugs mkdir -p "${BUILD_DIR}" || die local -x DIST_EXTRA_CONFIG="${BUILD_DIR}/extra-setup.cfg" cat > "${DIST_EXTRA_CONFIG}" <<-EOF || die [build] build_base = ${BUILD_DIR}/build${#DISTUTILS_WHEELS[@]} - - [build_ext] - parallel = $(makeopts_jobs "${MAKEOPTS} ${*}") EOF if [[ ${DISTUTILS_ALLOW_WHEEL_REUSE} ]]; then @@ -1486,8 +1515,8 @@ distutils-r1_run_phase() { local -x PATH=${BUILD_DIR}/install${EPREFIX}/usr/bin:${PATH} # Set up build environment, bug #513664. - local -x AR=${AR} CC=${CC} CPP=${CPP} CXX=${CXX} - tc-export AR CC CPP CXX + local -x AR=${AR} CC=${CC} CPP=${CPP} CXX=${CXX} PKG_CONFIG=${PKG_CONFIG} + tc-export AR CC CPP CXX PKG_CONFIG # Perform additional environment modifications only for python_compile # phase. This is the only phase where we expect to be calling the Python diff --git a/sdk_container/src/third_party/portage-stable/eclass/elisp-common.eclass b/sdk_container/src/third_party/portage-stable/eclass/elisp-common.eclass index 654b302bb39..4870ef5b8db 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/elisp-common.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/elisp-common.eclass @@ -11,7 +11,7 @@ # Christian Faulhammer # Ulrich Müller # Maciej Barć -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: Emacs-related installation utilities # @DESCRIPTION: # @@ -178,7 +178,7 @@ # to above calls of elisp-site-regen(). case ${EAPI} in - 7|8) ;; + 7|8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac diff --git a/sdk_container/src/third_party/portage-stable/eclass/fcaps.eclass b/sdk_container/src/third_party/portage-stable/eclass/fcaps.eclass index 81c1ca62368..0bbfc867716 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/fcaps.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/fcaps.eclass @@ -87,9 +87,8 @@ esac # The caps mode is used to set the permission on the file if capabilities # were properly set on the file. No change is applied by default. # -# If the system is unable to set capabilities, it will use the specified user, -# group, and mode. The user and group default to 0. If mode is unspecified, no -# change is applied. +# If capabilities are not sucessfully applied, the permissions on the file are +# updated according to the owner, group, and mode options, if provided. # # For example, "-m u+s" may be used to enable suid as a fallback when file caps # are unavailable. This should be used with care, typically when the @@ -103,8 +102,8 @@ fcaps() { fi # Process the user options first. - local owner='0' - local group='0' + local owner= + local group= local mode= local caps_mode= @@ -183,12 +182,12 @@ fcaps() { fi fi - # If we're still here, setcaps failed. + # If we're still here, setcaps failed or filecaps are disabled. + if [[ -n ${owner} || -n ${group} ]]; then + debug-print "${FUNCNAME}: setting owner on '${file}'" + chown "${owner}${group:+:}${group}" "${file}" || die + fi if [[ -n ${mode} ]]; then - if [[ -n ${owner} || -n ${group} ]]; then - debug-print "${FUNCNAME}: setting owner on '${file}'" - chown "${owner}:${group}" "${file}" || die - fi debug-print "${FUNCNAME}: setting mode on '${file}'" chmod ${mode} "${file}" || die fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/llvm-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/llvm-r1.eclass index 8b78a438111..fc9fab75e8f 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/llvm-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/llvm-r1.eclass @@ -63,7 +63,7 @@ _LLVM_OLDEST_SLOT=15 # @DESCRIPTION: # The newest stable LLVM version. Versions newer than that won't # be automatically enabled via USE defaults. -_LLVM_NEWEST_STABLE=20 +_LLVM_NEWEST_STABLE=21 # == control variables == diff --git a/sdk_container/src/third_party/portage-stable/eclass/meson.eclass b/sdk_container/src/third_party/portage-stable/eclass/meson.eclass index 06675e02b82..d43eccaa5cc 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/meson.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/meson.eclass @@ -1,4 +1,4 @@ -# Copyright 2017-2025 Gentoo Authors +# Copyright 2017-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: meson.eclass @@ -41,7 +41,8 @@ esac if [[ -z ${_MESON_ECLASS} ]]; then _MESON_ECLASS=1 -inherit flag-o-matic multiprocessing ninja-utils python-utils-r1 toolchain-funcs +inherit flag-o-matic multiprocessing ninja-utils python-utils-r1 sysroot toolchain-funcs +[[ ${EAPI} != 7 ]] && inherit rust-toolchain BDEPEND=">=dev-build/meson-1.2.3 ${NINJA_DEPEND} @@ -103,7 +104,7 @@ BDEPEND=">=dev-build/meson-1.2.3 # '--unicode-16=𐐷', '--unicode-32=𐤅'] # _meson_env_array() { - meson-format-array "$@" + meson-format-array "$@" || die } # @FUNCTION: _meson_get_machine_info @@ -149,12 +150,23 @@ _meson_create_cross_file() { _meson_get_machine_info "${CHOST}" local fn=${T}/meson.${CHOST}.${ABI}.ini + local CFLAGS_ABI=CFLAGS_${ABI:-${DEFAULT_ABI}} - cat > "${fn}" <<-EOF + if has rust-toolchain ${INHERITED}; then + local LD_A=( $(tc-getCC) ${LDFLAGS} ) + local RUSTC=( rustc --target="$(rust_abi)" --codegen=linker="${LD_A[0]}" ) + LD_A=( "${LD_A[@]:1}" ) + [[ ${LD_A[@]} ]] && RUSTC+=( "${LD_A[@]/#/--codegen=link-arg=}" ) + else + unset RUSTC + fi + + cat > "${fn}" <<-EOF || die "failed to create cross file" [binaries] ar = $(_meson_env_array "$(tc-getAR)") c = $(_meson_env_array "$(tc-getCC)") cpp = $(_meson_env_array "$(tc-getCXX)") + exe_wrapper = '$(sysroot_make_run_prefixed)' fortran = $(_meson_env_array "$(tc-getFC)") llvm-config = '$(tc-getPROG LLVM_CONFIG llvm-config)' nm = $(_meson_env_array "$(tc-getNM)") @@ -165,6 +177,7 @@ _meson_create_cross_file() { # >=1.3.0. pkgconfig = '$(tc-getPKG_CONFIG)' pkg-config = '$(tc-getPKG_CONFIG)' + rust = $(_meson_env_array "${RUSTC[@]@Q}") strip = $(_meson_env_array "$(tc-getSTRIP)") windres = $(_meson_env_array "$(tc-getRC)") @@ -181,9 +194,10 @@ _meson_create_cross_file() { objcpp_link_args = $(_meson_env_array "${OBJCXXFLAGS} ${LDFLAGS}") [properties] - needs_exe_wrapper = true - sys_root = '${SYSROOT}' + needs_exe_wrapper = $(tc-is-cross-compiler && echo true || echo false) pkg_config_libdir = '${PKG_CONFIG_LIBDIR:-${EPREFIX}/usr/$(get_libdir)/pkgconfig}' + bindgen_clang_arguments = $(_meson_env_array "${!CFLAGS_ABI}") + sys_root = '${SYSROOT}' [host_machine] system = '${system}' @@ -205,9 +219,14 @@ _meson_create_native_file() { local system cpu_family cpu _meson_get_machine_info "${CBUILD}" - local fn=${T}/meson.${CBUILD}.${ABI}.ini + local fn=${T}/meson.${CBUILD}.ini + + local LD_A=( $(tc-getBUILD_CC) ${BUILD_LDFLAGS} ) + local RUSTC=( rustc --codegen=linker="${LD_A[0]}" ) + LD_A=( "${LD_A[@]:1}" ) + [[ ${LD_A[@]} ]] && RUSTC+=( "${LD_A[@]/#/--codegen=link-arg=}" ) - cat > "${fn}" <<-EOF + cat > "${fn}" <<-EOF || die "failed to create native file" [binaries] ar = $(_meson_env_array "$(tc-getBUILD_AR)") c = $(_meson_env_array "$(tc-getBUILD_CC)") @@ -222,6 +241,7 @@ _meson_create_native_file() { # >=1.3.0. pkgconfig = '$(tc-getBUILD_PKG_CONFIG)' pkg-config = '$(tc-getBUILD_PKG_CONFIG)' + rust = $(_meson_env_array "${RUSTC[@]@Q}") strip = $(_meson_env_array "$(tc-getBUILD_STRIP)") windres = $(_meson_env_array "$(tc-getBUILD_PROG RC windres)") @@ -382,7 +402,7 @@ setup_meson_src_configure() { MESONARGS+=( -Dbuildtype="${EMESON_BUILDTYPE}" ) fi - if tc-is-cross-compiler; then + if tc-is-cross-compiler || [[ "${ABI}" != "${DEFAULT_ABI}" ]]; then MESONARGS+=( --cross-file "$(_meson_create_cross_file)" ) fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/multilib.eclass b/sdk_container/src/third_party/portage-stable/eclass/multilib.eclass index c28fee7aa1e..5d9e8498aef 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/multilib.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/multilib.eclass @@ -487,6 +487,17 @@ multilib_toolchain_setup() { local save_restore_variables=( CBUILD CHOST + BUILD_AR + BUILD_CC + BUILD_CXX + BUILD_LD + BUILD_NM + BUILD_OBJCOPY + BUILD_PKG_CONFIG + BUILD_RANLIB + BUILD_READELF + BUILD_STRINGS + BUILD_STRIP AR CC CXX @@ -525,17 +536,31 @@ multilib_toolchain_setup() { done export _DEFAULT_ABI_SAVED="true" - # Set CBUILD only if not cross-compiling. - if [[ ${CBUILD} == "${CHOST}" ]]; then - export CBUILD=$(get_abi_CHOST $1) - fi - # Set the CHOST native first so that we pick up the native # toolchain and not a cross-compiler by accident #202811. # # Make sure ${save_restore_variables[@]} list matches below. export CHOST=$(get_abi_CHOST ${DEFAULT_ABI}) + # Set CBUILD only if not cross-compiling. + if [[ "${_abi_saved_CBUILD:-${_abi_saved_CHOST}}" == "${_abi_saved_CHOST}" ]]; then + export CBUILD=${CHOST} + fi + + # Derive the build-machine toolchain variables before we + # override the host-machine toolchain variables. + export BUILD_AR="$(tc-getBUILD_AR)" # Avoid 'ar', use "${CBUILD}-ar" + export BUILD_CC="$(tc-getBUILD_CC)" # Default ABI + export BUILD_CXX="$(tc-getBUILD_CXX)" # Default ABI + export BUILD_LD="$(tc-getBUILD_LD)" # Default ABI + export BUILD_NM="$(tc-getBUILD_NM)" # Avoid 'nm', use "${CBUILD}-nm" + export BUILD_OBJCOPY="$(tc-getBUILD_OBJCOPY)" # Avoid 'objcopy', use "${CBUILD}-objcopy" + export BUILD_PKG_CONFIG="$(tc-getBUILD_PKG_CONFIG)" + export BUILD_RANLIB="$(tc-getBUILD_RANLIB)" # Avoid 'ranlib', use "${CBUILD}-ranlib" + export BUILD_READELF="$(tc-getBUILD_READELF)" # Avoid 'readelf', use "${CBUILD}-readelf" + export BUILD_STRINGS="$(tc-getBUILD_STRINGS)" # Avoid 'strings', use "${CBUILD}-strings" + export BUILD_STRIP="$(tc-getBUILD_STRIP)" # Avoid 'strip', use "${CBUILD}-strip" + export AR="$(tc-getAR)" # Avoid 'ar', use '${CHOST}-ar' export CC="$(tc-getCC) $(get_abi_CFLAGS)" export CXX="$(tc-getCXX) $(get_abi_CFLAGS)" @@ -556,6 +581,12 @@ multilib_toolchain_setup() { export PKG_CONFIG_PATH=${ESYSROOT}/usr/share/pkgconfig export PKG_CONFIG_SYSTEM_INCLUDE_PATH=${ESYSROOT}/usr/include export PKG_CONFIG_SYSTEM_LIBRARY_PATH=${ESYSROOT}/$(get_libdir):${ESYSROOT}/usr/$(get_libdir) + + # Also set CBUILD so as not to trigger cross-compilation + # mode falsely in build systems. + if [[ "${_abi_saved_CBUILD:-${_abi_saved_CHOST}}" == "${_abi_saved_CHOST}" ]]; then + export CBUILD=${CHOST} + fi fi } diff --git a/sdk_container/src/third_party/portage-stable/eclass/pypi.eclass b/sdk_container/src/third_party/portage-stable/eclass/pypi.eclass index 14c4edb391d..493abd8a95d 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/pypi.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/pypi.eclass @@ -1,4 +1,4 @@ -# Copyright 2023-2025 Gentoo Authors +# Copyright 2023-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: pypi.eclass @@ -76,10 +76,13 @@ _PYPI_ECLASS=1 # @DEFAULT_UNSET # @PRE_INHERIT # @DESCRIPTION: -# The repository to verify provenance against. If set to a non-empty +# The publisher to verify provenance against. If set to a non-empty # value, the eclass will add a "verify-provenance" flag that can be used -# to download the provenance for the distribution, and verify it -# against the provenance and the specified repository. +# to download and verify the provenance for the distribution. +# +# This can be: +# - the repository URL when the provenance was signed by a repository +# - gcp: when it was signed by a Google Cloud account # @FUNCTION: _pypi_normalize_name # @INTERNAL @@ -310,23 +313,33 @@ pypi_provenance_url() { # to the artifact to verify, while is the provenance file. # # The function defaults to using PYPI_VERIFY_REPO as the expected -# repository URL. This can be overridden by specfying . +# provider info. This can be overridden by specfying . # # The function dies on verification failure. pypi_verify_provenance() { if [[ ${#} -lt 2 || ${#} -gt 3 ]]; then - die "Usage: ${FUNCNAME} []" + die "Usage: ${FUNCNAME} []" fi local dist=${1} local provenance=${2} - local repo=${3-"${PYPI_VERIFY_REPO}"} + local provider=${3-"${PYPI_VERIFY_REPO}"} + local args=( + --offline + --provenance-file "${provenance}" + "${dist}" + ) + + case ${provider} in + gcp:*) + args+=( --gcp-service-account "${provider#gcp:}" ) + ;; + *) + args+=( --repository "${provider}" ) + esac einfo "Verifying ${dist##*/} ..." - pypi-attestations verify pypi --offline \ - --repository "${repo}" \ - --provenance-file "${provenance}" \ - "${dist}" || + pypi-attestations verify pypi "${args[@]}" || die "Provenance verification failed for ${dist##*/}" } diff --git a/sdk_container/src/third_party/portage-stable/eclass/ruby-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/ruby-utils.eclass index f55fcb29af7..9f0f7e6c04b 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/ruby-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/ruby-utils.eclass @@ -33,17 +33,17 @@ esac # provide for a better first installation experience. # All stable RUBY_TARGETS -RUBY_TARGETS_PREFERENCE="ruby32 " +RUBY_TARGETS_PREFERENCE="ruby32 ruby33 " # All other active ruby targets -RUBY_TARGETS_PREFERENCE+="ruby33 ruby34" +RUBY_TARGETS_PREFERENCE+="ruby34 ruby40" _ruby_implementation_depend() { local rubypn= local rubyslot= case $1 in - ruby1[89]|ruby2[0-7]|ruby3[0-4]) + ruby1[89]|ruby2[0-7]|ruby3[0-4]|ruby40) rubypn="dev-lang/ruby" rubyslot=":${1:4:1}.${1:5}" ;; diff --git a/sdk_container/src/third_party/portage-stable/eclass/rust.eclass b/sdk_container/src/third_party/portage-stable/eclass/rust.eclass index b5a992199dc..a13ea067dba 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/rust.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/rust.eclass @@ -68,6 +68,7 @@ fi # Definitive list of Rust slots and the associated LLVM slot, newest first. declare -A -g -r _RUST_LLVM_MAP=( ["9999"]=21 + ["1.92.0"]=21 ["1.91.0"]=21 ["1.90.0"]=20 ["1.89.0"]=20 @@ -98,6 +99,7 @@ declare -A -g -r _RUST_LLVM_MAP=( # this array is used to store the Rust slots in a more convenient order for iteration. declare -a -g -r _RUST_SLOTS_ORDERED=( "9999" + "1.92.0" "1.91.0" "1.90.0" "1.89.0" @@ -143,12 +145,14 @@ declare -a -g -r _RUST_SLOTS_ORDERED=( # == control variables == # @ECLASS_VARIABLE: RUST_MAX_VER +# @PRE_INHERIT # @DEFAULT_UNSET # @DESCRIPTION: # Highest Rust slot supported by the package. Needs to be set before # rust_pkg_setup is called. If unset, no upper bound is assumed. # @ECLASS_VARIABLE: RUST_MIN_VER +# @PRE_INHERIT # @DEFAULT_UNSET # @DESCRIPTION: # Lowest Rust slot supported by the package. Needs to be set before @@ -167,6 +171,7 @@ declare -a -g -r _RUST_SLOTS_ORDERED=( # This is set by rust_pkg_setup. # @ECLASS_VARIABLE: RUST_NEEDS_LLVM +# @PRE_INHERIT # @DEFAULT_UNSET # @DESCRIPTION: # If set to a non-empty value generate a llvm_slot_${llvm_slot}? gated @@ -179,6 +184,7 @@ declare -a -g -r _RUST_SLOTS_ORDERED=( # means that a LLVM slot in LLVM_COMPAT has had all of its Rust slots filtered. # @ECLASS_VARIABLE: RUST_MULTILIB +# @PRE_INHERIT # @DEFAULT_UNSET # @DESCRIPTION: # If set to a non-empty value insert MULTILIB_USEDEP into the generated @@ -194,6 +200,7 @@ declare -a -g -r _RUST_SLOTS_ORDERED=( # implementations listed in LLVM_COMPAT. # @ECLASS_VARIABLE: RUST_OPTIONAL +# @PRE_INHERIT # @DEFAULT_UNSET # @DESCRIPTION: # If set to a non-empty value, the Rust dependency will not be added @@ -201,6 +208,7 @@ declare -a -g -r _RUST_SLOTS_ORDERED=( # certain USE themselves. # @ECLASS_VARIABLE: RUST_REQ_USE +# @PRE_INHERIT # @DEFAULT_UNSET # @DESCRIPTION: # Additional USE-dependencies to be added to the Rust dependency. diff --git a/sdk_container/src/third_party/portage-stable/eclass/selinux-policy-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/selinux-policy-2.eclass index 5ec7ff99ed7..96bf57746f6 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/selinux-policy-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/selinux-policy-2.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Eclass for installing SELinux policy, and optionally @@ -7,7 +7,7 @@ # @ECLASS: selinux-policy-2.eclass # @MAINTAINER: # selinux@gentoo.org -# @SUPPORTED_EAPIS: 7 +# @SUPPORTED_EAPIS: 7 8 # @BLURB: This eclass supports the deployment of the various SELinux modules in sec-policy # @DESCRIPTION: # The selinux-policy-2.eclass supports deployment of the various SELinux modules @@ -19,7 +19,7 @@ # manageable. case ${EAPI} in - 7) ;; + 7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac @@ -37,7 +37,7 @@ _SELINUX_POLICY_2_ECLASS=1 # This variable contains the version string of the selinux-base-policy package # that this module build depends on. It is used to patch with the appropriate # patch bundle(s) that are part of selinux-base-policy. -: "${BASEPOL:=${PVR}}" +: "${BASEPOL:="${PVR}"}" # @ECLASS_VARIABLE: POLICY_PATCH # @DESCRIPTION: @@ -55,14 +55,16 @@ _SELINUX_POLICY_2_ECLASS=1 # (space-separated) or a bash array. : "${POLICY_FILES:=""}" -# @ECLASS_VARIABLE: POLICY_TYPES -# @DESCRIPTION: -# This variable informs the eclass for which SELinux policies the module should -# be built. Currently, Gentoo supports targeted, strict, mcs and mls. -# This variable is the same POLICY_TYPES variable that we tell SELinux -# users to set in make.conf. Therefore, it is not the module that should -# override it, but the user. -: "${POLICY_TYPES:="targeted strict mcs mls"}" +if [[ ${EAPI} = 7 ]]; then + # @ECLASS_VARIABLE: POLICY_TYPES + # @DESCRIPTION: + # This variable informs the eclass for which SELinux policies the module should + # be built. Currently, Gentoo supports targeted, strict, mcs and mls. + # This variable is the same POLICY_TYPES variable that we tell SELinux + # users to set in make.conf. Therefore, it is not the module that should + # override it, but the user. + : "${POLICY_TYPES:="targeted strict mcs mls"}" +fi # @ECLASS_VARIABLE: SELINUX_GIT_REPO # @DESCRIPTION: @@ -83,44 +85,61 @@ _SELINUX_POLICY_2_ECLASS=1 : "${SELINUX_GIT_BRANCH:="master"}" case ${BASEPOL} in - 9999) inherit git-r3 - EGIT_REPO_URI="${SELINUX_GIT_REPO}"; - EGIT_BRANCH="${SELINUX_GIT_BRANCH}"; - EGIT_CHECKOUT_DIR="${WORKDIR}/refpolicy";; + 9999) + inherit git-r3 + EGIT_REPO_URI="${SELINUX_GIT_REPO}" + EGIT_BRANCH="${SELINUX_GIT_BRANCH}" + EGIT_CHECKOUT_DIR="${WORKDIR}/refpolicy" + ;; esac -IUSE="" +if [[ ${EAPI} != 7 ]]; then + # Build all policy types by default + IUSE="+selinux_policy_types_targeted +selinux_policy_types_strict +selinux_policy_types_mcs +selinux_policy_types_mls" + REQUIRED_USE="|| ( selinux_policy_types_targeted selinux_policy_types_strict selinux_policy_types_mcs selinux_policy_types_mls )" +fi HOMEPAGE="https://wiki.gentoo.org/wiki/Project:SELinux" -if [[ -n ${BASEPOL} ]] && [[ "${BASEPOL}" != "9999" ]]; then - SRC_URI="https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_${PV/./_}/refpolicy-${PV}.tar.bz2 - https://dev.gentoo.org/~perfinion/patches/selinux-base-policy/patchbundle-selinux-base-policy-${BASEPOL}.tar.bz2" +if [[ -n ${BASEPOL} && "${BASEPOL}" != "9999" ]]; then + SRC_URI=" + https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_${PV/./_}/refpolicy-${PV}.tar.bz2 + https://dev.gentoo.org/~perfinion/patches/selinux-base-policy/patchbundle-selinux-base-policy-${BASEPOL}.tar.bz2 + " elif [[ "${BASEPOL}" != "9999" ]]; then SRC_URI="https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_${PV/./_}/refpolicy-${PV}.tar.bz2" -else - SRC_URI="" fi LICENSE="GPL-2" SLOT="0" -S="${WORKDIR}/" - -# @ECLASS_VARIABLE: PATCHBUNDLE -# @INTERNAL -# @DESCRIPTION: -# Path to Gentoo Hardened Refpol patch to apply on top of upstream -PATCHBUNDLE="${DISTDIR}/patchbundle-selinux-base-policy-${BASEPOL}.tar.bz2" +S="${WORKDIR}" # Modules should always depend on at least the first release of the # selinux-base-policy for which they are generated. if [[ -n ${BASEPOL} ]]; then - RDEPEND=">=sys-apps/policycoreutils-2.5 - >=sec-policy/selinux-base-policy-${BASEPOL}" + _BASE_POLICY_VERSION="${BASEPOL}" else - RDEPEND=">=sys-apps/policycoreutils-2.5 - >=sec-policy/selinux-base-policy-${PV}" + _BASE_POLICY_VERSION="${PV}" fi +if [[ ${EAPI} = 7 ]]; then + RDEPEND=" + >=sys-apps/policycoreutils-2.5 + >=sec-policy/selinux-base-policy-${_BASE_POLICY_VERSION} + " +else + RDEPEND=">=sys-apps/policycoreutils-2.5" + for _poltype in selinux_policy_types_{targeted,strict,mcs,mls}; do + RDEPEND+=" + ${_poltype}? ( + >=sec-policy/selinux-base-policy-${_BASE_POLICY_VERSION}[${_poltype}] + ) + " + done + unset _poltype +fi + +unset _BASE_POLICY_VERSION + DEPEND="${RDEPEND}" BDEPEND=" sys-devel/m4 @@ -152,14 +171,14 @@ selinux-policy-2_src_unpack() { # content. selinux-policy-2_src_prepare() { local modfiles - local add_interfaces=0; + local add_interfaces=0 # Create 3rd_party location for user-contributed policies - cd "${S}/refpolicy/policy/modules" && mkdir 3rd_party; + cd "${S}/refpolicy/policy/modules" && mkdir 3rd_party || die "Could not enter ${S}/refpolicy/policy/modules" # Patch the sources with the base patchbundle - if [[ -n ${BASEPOL} ]] && [[ "${BASEPOL}" != "9999" ]]; then - cd "${S}" + if [[ -n ${BASEPOL} && "${BASEPOL}" != "9999" ]]; then + cd "${S}" || die "Could not enter ${S}" einfo "Applying SELinux policy updates ... " eapply -p0 -- "${WORKDIR}/0001-full-patch-against-stable-release.patch" fi @@ -169,19 +188,17 @@ selinux-policy-2_src_prepare() { eapply_user # Copy additional files to the 3rd_party/ location - if [[ "$(declare -p POLICY_FILES 2>/dev/null 2>&1)" == "declare -a"* ]] || - [[ -n ${POLICY_FILES} ]]; then - add_interfaces=1; - cd "${S}/refpolicy/policy/modules" - for POLFILE in ${POLICY_FILES[@]}; - do - cp "${FILESDIR}/${POLFILE}" 3rd_party/ || die "Could not copy ${POLFILE} to 3rd_party/ location"; + if [[ "$(declare -p POLICY_FILES 2>/dev/null 2>&1)" = "declare -a"* || -n ${POLICY_FILES} ]]; then + add_interfaces=1 + cd "${S}/refpolicy/policy/modules" || die "Could not enter ${S}/refpolicy/policy/modules" + for POLFILE in ${POLICY_FILES[@]}; do + cp "${FILESDIR}/${POLFILE}" 3rd_party/ || die "Could not copy ${POLFILE} to 3rd_party/ location" done fi # Apply the additional patches referred to by the module ebuild. # But first some magic to differentiate between bash arrays and strings - if [[ "$(declare -p POLICY_PATCH 2>/dev/null 2>&1)" == "declare -a"* ]]; then + if [[ "$(declare -p POLICY_PATCH 2>/dev/null 2>&1)" = "declare -a"* ]]; then [[ -n ${POLICY_PATCH[*]} ]] && eapply -d "${S}/refpolicy/policy/modules" -- "${POLICY_PATCH[@]}" else [[ -n ${POLICY_PATCH} ]] && eapply -d "${S}/refpolicy/policy/modules" -- ${POLICY_PATCH} @@ -197,14 +214,26 @@ selinux-policy-2_src_prepare() { fi done - for i in ${POLICY_TYPES}; do - mkdir "${S}"/${i} || die "Failed to create directory ${S}/${i}" - cp "${S}"/refpolicy/doc/Makefile.example "${S}"/${i}/Makefile \ - || die "Failed to copy Makefile.example to ${S}/${i}/Makefile" + _selinux_prepare_modules() { + mkdir "${S}"/${1} || die "Failed to create directory ${S}/${1}" + cp "${S}"/refpolicy/doc/Makefile.example "${S}"/${1}/Makefile \ + || die "Failed to copy Makefile.example to ${S}/${1}/Makefile" - cp ${modfiles} "${S}"/${i} \ - || die "Failed to copy the module files to ${S}/${i}" - done + cp ${modfiles} "${S}"/${1} \ + || die "Failed to copy the module files to ${S}/${1}" + } + + if [[ ${EAPI} = 7 ]]; then + for i in ${POLICY_TYPES}; do + _selinux_prepare_modules $i + done + else + for i in targeted strict mcs mls; do + if use selinux_policy_types_${i}; then + _selinux_prepare_modules $i + fi + done + fi } # @FUNCTION: selinux-policy-2_src_compile @@ -213,16 +242,38 @@ selinux-policy-2_src_prepare() { # this for each SELinux policy mentioned in POLICY_TYPES selinux-policy-2_src_compile() { local makeuse="" - for useflag in ${IUSE}; - do + # We use IUSE instead of USE so that other variables set in the ebuild + # environment, such as architecture ones, are not included. + for useflag in ${IUSE}; do + # Advance past a possible '+' character: that is NOT part of the USE flag, + # but instead indicates whether it is enabled by default. + useflag="${useflag##+}" + + # Only additional USE flags defined in our consumers should be added to + # build options: SELINUX_POLICY_TYPES should NOT be passed to the policy + # build system. + [[ "${useflag}" = selinux_policy_types_* ]] && continue + use ${useflag} && makeuse="${makeuse} -D use_${useflag}" done - for i in ${POLICY_TYPES}; do + _selinux_compile_modules() { # Support USE flags in builds export M4PARAM="${makeuse}" - emake NAME=$i SHAREDIR="${EPREFIX}"/usr/share/selinux -C "${S}"/${i} - done + emake NAME=$1 SHAREDIR="${EPREFIX}"/usr/share/selinux -C "${S}"/${1} + } + + if [[ ${EAPI} = 7 ]]; then + for i in ${POLICY_TYPES}; do + _selinux_compile_modules $i + done + else + for i in targeted strict mcs mls; do + if use selinux_policy_types_${i}; then + _selinux_compile_modules $i + fi + done + fi } # @FUNCTION: selinux-policy-2_src_install @@ -232,22 +283,34 @@ selinux-policy-2_src_compile() { selinux-policy-2_src_install() { local BASEDIR="/usr/share/selinux" - for i in ${POLICY_TYPES}; do - for j in ${MODS}; do - einfo "Installing ${i} ${j} policy package" - insinto ${BASEDIR}/${i} - if [[ -f "${S}/${i}/${j}.pp" ]] ; then - doins "${S}"/${i}/${j}.pp || die "Failed to add ${j}.pp to ${i}" - elif [[ -f "${S}/${i}/${j}.cil" ]] ; then - doins "${S}"/${i}/${j}.cil || die "Failed to add ${j}.cil to ${i}" + _selinux_install_modules() { + for i in ${MODS}; do + einfo "Installing ${1} ${i} policy package" + insinto ${BASEDIR}/${1} + if [[ -f "${S}/${1}/${i}.pp" ]]; then + doins "${S}"/${1}/${i}.pp || die "Failed to add ${i}.pp to ${1}" + elif [[ -f "${S}/${1}/${i}.cil" ]]; then + doins "${S}"/${1}/${i}.cil || die "Failed to add ${i}.cil to ${1}" + fi + + if [[ "${POLICY_FILES[@]}" = *"${i}.if"* ]]; then + insinto ${BASEDIR}/${1}/include/3rd_party + doins "${S}"/${1}/${i}.if || die "Failed to add ${i}.if to ${1}" fi + done + } - if [[ "${POLICY_FILES[@]}" == *"${j}.if"* ]]; then - insinto ${BASEDIR}/${i}/include/3rd_party - doins "${S}"/${i}/${j}.if || die "Failed to add ${j}.if to ${i}" + if [[ ${EAPI} = 7 ]]; then + for i in ${POLICY_TYPES}; do + _selinux_install_modules $i + done + else + for i in targeted strict mcs mls; do + if use selinux_policy_types_${i}; then + _selinux_install_modules $i fi done - done + fi } # @FUNCTION: selinux-policy-2_pkg_postinst @@ -264,32 +327,29 @@ selinux-policy-2_pkg_postinst() { # build up the command in the case of multiple modules local COMMAND - for i in ${POLICY_TYPES}; do - if [[ "${i}" == "strict" ]] && [[ "${MODS}" = "unconfined" ]]; then - einfo "Ignoring loading of unconfined module in strict module store."; - continue; + _selinux_postinst() { + if [[ "${1}" = "strict" && "${MODS}" = "unconfined" ]]; then + einfo "Ignoring loading of unconfined module in strict module store." + continue fi einfo "Inserting the following modules into the $i module store: ${MODS}" - cd "${ROOT}/usr/share/selinux/${i}" || die "Could not enter /usr/share/selinux/${i}" - for j in ${MODS} ; do - if [[ -f "${j}.pp" ]] ; then - COMMAND="${j}.pp ${COMMAND}" - elif [[ -f "${j}.cil" ]] ; then - COMMAND="${j}.cil ${COMMAND}" + cd "${ROOT}/usr/share/selinux/${1}" || die "Could not enter /usr/share/selinux/${1}" + for i in ${MODS}; do + if [[ -f "${i}.pp" ]]; then + COMMAND="${i}.pp ${COMMAND}" + elif [[ -f "${i}.cil" ]]; then + COMMAND="${i}.cil ${COMMAND}" fi done - semodule ${root_opts} -s ${i} -i ${COMMAND} + semodule ${root_opts} -s ${1} -i ${COMMAND} if [[ $? -ne 0 ]]; then - ewarn "SELinux module load failed. Trying full reload..."; + ewarn "SELinux module load failed. Trying full reload..." + + semodule ${root_opts} -s ${1} -i ./*.pp - if [[ "${i}" == "targeted" ]]; then - semodule ${root_opts} -s ${i} -i *.pp - else - semodule ${root_opts} -s ${i} -i $(ls *.pp | grep -v unconfined.pp); - fi if [[ $? -ne 0 ]]; then ewarn "Failed to reload SELinux policies." ewarn "" @@ -302,32 +362,64 @@ selinux-policy-2_pkg_postinst() { ewarn "action since the new SELinux policies are not loaded until the" ewarn "command finished successfully." ewarn "" - ewarn "To reload, run the following command from within /usr/share/selinux/${i}:" - ewarn " semodule -i *.pp" - ewarn "or" - ewarn " semodule -i \$(ls *.pp | grep -v unconfined.pp)" - ewarn "depending on if you need the unconfined domain loaded as well or not." + ewarn "To reload, run the following command:" + ewarn " semodule -i /usr/share/selinux/${1}/*.pp" else einfo "SELinux modules reloaded successfully." fi else einfo "SELinux modules loaded successfully." fi - COMMAND=""; - done + COMMAND="" + } + + if [[ ${EAPI} = 7 ]]; then + for i in ${POLICY_TYPES}; do + _selinux_postinst $i + done + else + for i in targeted strict mcs mls; do + if use selinux_policy_types_${i}; then + _selinux_postinst $i + fi + done + fi # Don't relabel when cross compiling if [[ -z ${ROOT} ]]; then - # Relabel depending packages - local PKGSET=""; - if [[ -x /usr/bin/qdepends ]] ; then - PKGSET=$(/usr/bin/qdepends -Cq -r -Q ${CATEGORY}/${PN} | grep -v "sec-policy/selinux-"); - elif [[ -x /usr/bin/equery ]] ; then - PKGSET=$(/usr/bin/equery -Cq depends ${CATEGORY}/${PN} | grep -v "sec-policy/selinux-"); + # Relabel depending packages. This entire section is a hack, and a violation of tree policy; + # it relies on PM specific functionality (qdepends and equery, which are portage specific) and + # hence is not PMS compliant. This should be remove and replaced with a more robust, PMS-compliant + # implementation as soon as possible. + local PKGSET=() + local out + local status + local cmd + + if command -v qdepends &>/dev/null; then + out=$(qdepends -CiqqrF '%[CATEGORY]%[PN]%[SLOT]' -Q "${CATEGORY}/${PN}") + status=$? + cmd='qdepends' + elif command -v equery &>/dev/null; then + out=$(equery -Cq depends "${CATEGORY}/${PN}") + status=$? + cmd='equery' + else + ewarn "Unable to calculate reverse dependencies for policy: both qdepends and equery were not found." + ewarn "Skipping package file relabelling..." + return fi - if [[ -n "${PKGSET}" ]] ; then - rlpkg ${PKGSET}; + + if [[ "${status}" -ne 0 ]]; then + ewarn "Failed to calculate reverse dependencies for policy: ${cmd} returned ${status}." + ewarn "Skipping package file relabelling..." + return fi + + # Policy packages may pull in other policy packages, filter those out. + readarray -t PKGSET <<<"$(echo "${out}" | grep -v 'sec-policy/selinux-')" + + [[ "${#PKGSET[@]}" -ne 0 ]] && rlpkg "${PKGSET[@]}" fi } @@ -350,16 +442,28 @@ selinux-policy-2_pkg_postrm() { COMMAND="-r ${i} ${COMMAND}" done - for i in ${POLICY_TYPES}; do - einfo "Removing the following modules from the $i module store: ${MODS}" + _selinux_postrm() { + einfo "Removing the following modules from the $1 module store: ${MODS}" - semodule ${root_opts} -s ${i} ${COMMAND} + semodule ${root_opts} -s ${1} ${COMMAND} if [[ $? -ne 0 ]]; then - ewarn "SELinux module unload failed."; + ewarn "SELinux module unload failed." else einfo "SELinux modules unloaded successfully." fi - done + } + + if [[ ${EAPI} = 7 ]]; then + for i in ${POLICY_TYPES}; do + _selinux_postrm $i + done + else + for i in targeted strict mcs mls; do + if use selinux_policy_types_${i}; then + _selinux_postrm $i + fi + done + fi fi } diff --git a/sdk_container/src/third_party/portage-stable/eclass/toolchain-funcs.eclass b/sdk_container/src/third_party/portage-stable/eclass/toolchain-funcs.eclass index 3787a84805f..3f820c2d855 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/toolchain-funcs.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/toolchain-funcs.eclass @@ -474,7 +474,7 @@ tc-ld-is-bfd() { EOF out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1) rm -f "${base}"* - if [[ ! ${out} =~ .*^"GNU ld".* ]] ; then + if [[ ! ${out} =~ (^|$'\n')"GNU ld".* ]] ; then return 1 fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass index 493712af37f..0c62e34a5c3 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: toolchain.eclass @@ -206,6 +206,12 @@ GCCMICRO=$(ver_cut 3 ${GCC_PV}) # @DESCRIPTION: # Controls whether fixincludes should be used. : "${GCC_RUN_FIXINCLUDES:=0}" +# @ECLASS_VARIABLE: GCC_BUILD_PLUGINS +# @INTERNAL +# @DESCRIPTION: +# Controls whether plugins and libcody's c++-module-mapper are built. +# Only used for avoiding collisions in some special cross cases. +: "${GCC_BUILD_PLUGINS:=1}" tc_use_major_version_only() { local use_major_version_only=0 @@ -272,14 +278,14 @@ tc_version_is_at_least 8 || die "${ECLASS}: ${GCC_RELEASE_VER} is too old." PREFIX=${TOOLCHAIN_PREFIX:-${EPREFIX}/usr} -LIBPATH=${TOOLCHAIN_LIBPATH:-${PREFIX}/lib/gcc/${CTARGET}/${GCC_CONFIG_VER}} +LIBPATH=${TOOLCHAIN_LIBPATH:-${PREFIX}/lib/gcc/${CTARGET#accel-}/${GCC_CONFIG_VER}} INCLUDEPATH=${TOOLCHAIN_INCLUDEPATH:-${LIBPATH}/include} if is_crosscompile ; then - BINPATH=${TOOLCHAIN_BINPATH:-${PREFIX}/${CHOST}/${CTARGET}/gcc-bin/${GCC_CONFIG_VER}} + BINPATH=${TOOLCHAIN_BINPATH:-${PREFIX}/${CHOST}/${CTARGET#accel-}/gcc-bin/${GCC_CONFIG_VER}} HOSTLIBPATH=${PREFIX}/${CHOST}/${CTARGET}/lib/${GCC_CONFIG_VER} else - BINPATH=${TOOLCHAIN_BINPATH:-${PREFIX}/${CTARGET}/gcc-bin/${GCC_CONFIG_VER}} + BINPATH=${TOOLCHAIN_BINPATH:-${PREFIX}/${CTARGET#accel-}/gcc-bin/${GCC_CONFIG_VER}} fi DATAPATH=${TOOLCHAIN_DATAPATH:-${PREFIX}/share/gcc-data/${CTARGET}/${GCC_CONFIG_VER}} @@ -335,7 +341,7 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then tc_version_is_at_least 10 && IUSE+=" zstd" TC_FEATURES+=( zstd ) tc_version_is_at_least 11 && IUSE+=" valgrind" TC_FEATURES+=( valgrind ) tc_version_is_at_least 11 && IUSE+=" custom-cflags" - tc_version_is_at_least 12 && IUSE+=" ieee-long-double" + tc_version_is_at_least 8.0 && IUSE+=" ieee-long-double" tc_version_is_at_least 12.2.1_p20221203 ${PV} && IUSE+=" default-znow" tc_version_is_at_least 12.2.1_p20221203 ${PV} && IUSE+=" default-stack-clash-protection" tc_version_is_at_least 13.1 ${PV} && IUSE+=" modula2" @@ -346,6 +352,7 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then tc_version_is_at_least 13.3.1_p20250522 ${PV} && IUSE+=" time64" tc_version_is_at_least 15.1 ${PV} && IUSE+=" libgdiagnostics" tc_version_is_at_least 15.1 ${PV} && IUSE+=" cobol" TC_FEATURES+=( cobol ) + tc_version_is_at_least 16.0.0_p20251130 ${PV} && IUSE+=" algol68" fi if tc_version_is_at_least 10; then @@ -423,7 +430,7 @@ if tc_has_feature zstd ; then fi if tc_has_feature valgrind ; then - BDEPEND+=" valgrind? ( dev-debug/valgrind )" + DEPEND+=" valgrind? ( dev-debug/valgrind )" fi if [[ ${PN} != gnat-gpl ]] && tc_has_feature ada ; then @@ -455,7 +462,7 @@ if tc_has_feature d && tc_version_is_at_least 12.0 ; then # D in 12+ is self-hosting and needs D to bootstrap. # TODO: package some binary we can use, like for Ada # bug #840182 - BDEPEND+=" d? ( > "${S}/gcc/config/m68k/m68k.h" || die fi @@ -814,7 +821,7 @@ tc_enable_hardened_gcc() { hardened_gcc_flags+=" -DDEF_GENTOO_ZNOW" fi - if _tc_use_if_iuse cet && [[ -z ${CLANG_DISABLE_CET_HACK} && ${CTARGET} == *x86_64*-linux-gnu* ]] ; then + if _tc_use_if_iuse cet && [[ -z ${CLANG_DISABLE_CET_HACK} && ${CTARGET#accel-} == *x86_64*-linux-gnu* ]] ; then einfo "Updating gcc to use x86-64 control flow protection by default ..." hardened_gcc_flags+=" -DEXTRA_OPTIONS_CF" fi @@ -870,7 +877,7 @@ setup_multilib_osdirnames() { local libdirs="../lib64 ../lib32" # This only makes sense for some Linux targets - case ${CTARGET} in + case ${CTARGET#accel-} in x86_64*-linux*) config="i386" ;; powerpc64*-linux*) config="rs6000" ;; sparc64*-linux*) config="sparc" ;; @@ -1155,7 +1162,7 @@ toolchain_setup_ada() { export CC="$(tc-getCC) -specs=${T}/ada.spec" - if ver_test ${PV} -lt 13 && [[ ${CTARGET} == hppa* ]] ; then + if ver_test ${PV} -lt 13 && [[ ${CTARGET#accel-} == hppa* ]] ; then # For HPPA, the ada-bootstrap binaries seem to default # to -fstack-protector still (maybe because of cross-building) # so we need to override it for <13 (which ignores -fstack-protector) @@ -1245,7 +1252,7 @@ toolchain_src_configure() { # "GCC has code to correctly determine the correct value for target # for nearly all native systems. Therefore, we highly recommend you # not provide a configure target when configuring a native compiler." - confgcc+=( --target=${CTARGET} ) + confgcc+=( --target=${CTARGET#accel-} ) fi [[ -n ${CBUILD} ]] && confgcc+=( --build=${CBUILD} ) @@ -1301,6 +1308,7 @@ toolchain_src_configure() { is_f95 && GCC_LANG+=",f95" is_ada && GCC_LANG+=",ada" is_cobol && GCC_LANG+=",cobol" + is_algol68 && GCC_LANG+=",algol68" is_modula2 && GCC_LANG+=",m2" is_rust && GCC_LANG+=",rust" is_jit && GCC_LANG+=",jit" @@ -1399,7 +1407,7 @@ toolchain_src_configure() { fi fi - if tc_version_is_at_least 12 && _tc_use_if_iuse cet && [[ -z ${CLANG_DISABLE_CET_HACK} && ${CTARGET} == x86_64-*-gnu* ]] ; then + if tc_version_is_at_least 12 && _tc_use_if_iuse cet && [[ -z ${CLANG_DISABLE_CET_HACK} && ${CTARGET#accel-} == x86_64-*-gnu* ]] ; then BUILD_CONFIG_TARGETS+=( bootstrap-cet ) fi @@ -1462,32 +1470,30 @@ toolchain_src_configure() { avr) confgcc+=( --enable-shared --disable-threads ) ;; - nvptx*) + accel-nvptx*) needed_libc=newlib + # --enable-as-accelerator-for= disables installing + # nvtpx-none-cc etc, so we have to split into two + # targets: nvptx-none and accel-nvptx-none. confgcc+=( # "LTO is not supported for this target" --disable-lto + --enable-as-accelerator-for=${CHOST} + --disable-sjlj-exceptions ) + ;; + nvptx*) + needed_libc=newlib + confgcc+=( + # "LTO is not supported for this target" + --disable-lto - # --enable-as-accelerator-for= seems to disable - # installing nvtpx-none-cc etc, so we have to - # avoid passing that for the stage1-build that - # crossdev does. If we pass it unconditionally, - # we can't build newlib after building stage1 gcc. - if has_version ${CATEGORY}/${PN} ; then - confgcc+=( - # It's unlikely that anyone will want - # to build nvptx-none as a pure standalone - # toolchain (which will be single-threaded, etc). - # - # If someone really wants it, we can see about - # adding a USE=offload or similar based on CTARGET - # for cross targets. But for now, we always assume - # we're being built as an offloading compiler (accelerator). - --enable-as-accelerator-for=${CHOST} - --disable-sjlj-exceptions - ) - fi + # Avoid colliding with accel-nvptx with libcc1* plugins + --disable-plugin + # ... and g++-mapper-server + --disable-c++-tools + ) + GCC_BUILD_PLUGINS=0 ;; esac @@ -1516,10 +1522,10 @@ toolchain_src_configure() { elif has_version "${CATEGORY}/${needed_libc}[headers-only(-)]" ; then confgcc+=( "${confgcc_no_libc[@]}" - --with-sysroot="${PREFIX}"/${CTARGET} + --with-sysroot="${PREFIX}"/${CTARGET#accel-} ) else - confgcc+=( --with-sysroot="${PREFIX}"/${CTARGET} ) + confgcc+=( --with-sysroot="${PREFIX}"/${CTARGET#accel-} ) fi fi @@ -1563,7 +1569,7 @@ toolchain_src_configure() { # __cxa_atexit is "essential for fully standards-compliant handling of # destructors", but apparently requires glibc. - case ${CTARGET} in + case ${CTARGET#accel-} in nvptx*|*-elf|*-eabi) confgcc+=( --with-newlib ) ;; @@ -1575,6 +1581,10 @@ toolchain_src_configure() { --enable-__cxa_atexit --enable-clocale=gnu ) + + if [[ ${CTARGET} == x86_64*-*-linux-* ]] && tc_version_is_at_least 16.0.0_p20251214 ${PV} ; then + confgcc+=( --with-tls=gnu2 ) + fi ;; *-solaris*) confgcc+=( --enable-__cxa_atexit ) @@ -1723,7 +1733,7 @@ toolchain_src_configure() { # Linux specifically here for bug #946397. # TODO: amdgcn-amdhsa? - [[ ${CTARGET} == x86_64*-*-linux-* ]] && confgcc+=( + [[ ${CTARGET#accel-} == x86_64*-*-linux-* ]] && confgcc+=( --enable-offload-defaulted --enable-offload-targets=nvptx-none ) @@ -1736,7 +1746,7 @@ toolchain_src_configure() { # build without a C library, and you can't build that w/o # already having a compiler... if ! is_crosscompile || \ - $(tc-getCPP ${CTARGET}) -E - <<<"#include " >& /dev/null + $(unset CC; unset CPP; tc-getCPP ${CTARGET#accel-}) -E - <<<"#include " >& /dev/null then confgcc+=( $(use_enable openmp libgomp) ) else @@ -1755,7 +1765,7 @@ toolchain_src_configure() { # On some targets USE="ssp -libssp" is an invalid # configuration as the target libc does not provide # stack_chk_* functions. Do not disable libssp there. - case ${CTARGET} in + case ${CTARGET#accel-} in mingw*|*-mingw*) ewarn "Not disabling libssp" ;; @@ -1775,8 +1785,8 @@ toolchain_src_configure() { if in_iuse cet ; then # Usage: triple_arch triple_env cet_name enable_cet_for() { - if [[ ${CTARGET} == ${1}-* ]] ; then - if use cet && [[ ${CTARGET} == *-${2}* ]]; then + if [[ ${CTARGET#accel-} == ${1}-* ]] ; then + if use cet && [[ ${CTARGET#accel-} == *-${2}* ]]; then confgcc+=( --enable-${3} ) else confgcc+=( --disable-${3} ) @@ -1786,7 +1796,7 @@ toolchain_src_configure() { enable_cet_for 'x86_64' 'gnu' 'cet' enable_cet_for 'aarch64' 'gnu' 'standard-branch-protection' - [[ -n ${CLANG_DISABLE_CET_HACK} || ${CTARGET} == i[34567]86-* ]] && confgcc+=( --disable-cet ) + [[ -n ${CLANG_DISABLE_CET_HACK} || ${CTARGET#accel-} == i[34567]86-* ]] && confgcc+=( --disable-cet ) fi if in_iuse systemtap ; then @@ -1795,6 +1805,16 @@ toolchain_src_configure() { if in_iuse valgrind ; then confgcc+=( $(use_enable valgrind valgrind-annotations) ) + + # We patch this in w/ PR66487-object-lifetime-instrumentation-for-Valgrind.patch, + # so it may not always be available. + if grep -q -- '--enable-valgrind-interop' "${S}"/libgcc/configure.ac ; then + if ! is_crosscompile || $(unset CC; unset CPP; tc-getCPP ${CTARGET#accel-}) -E - <<<"#include " >& /dev/null ; then + confgcc+=( $(use_enable valgrind valgrind-interop) ) + else + confgcc+=( --disable-valgrind-interop ) + fi + fi fi if in_iuse vtv ; then @@ -1855,7 +1875,7 @@ toolchain_src_configure() { GCC_RUN_FIXINCLUDES=1 fi - case ${CBUILD}-${CHOST}-${CTARGET} in + case ${CBUILD}-${CHOST}-${CTARGET#accel-} in *-w*-mingw*) # config/i386/t-cygming requires fixincludes (bug #925204) GCC_RUN_FIXINCLUDES=1 @@ -1878,7 +1898,7 @@ toolchain_src_configure() { fi fi - if [[ ${CTARGET} != *-darwin* ]] && tc_version_is_at_least 14.1 ; then + if [[ ${CTARGET#accel-} != *-darwin* ]] && tc_version_is_at_least 14.1 ; then # This allows passing -stdlib=libc++ at runtime. confgcc+=( --with-gxx-libcxx-include-dir="${ESYSROOT}"/usr/include/c++/v1 ) fi @@ -1887,7 +1907,7 @@ toolchain_src_configure() { confgcc+=( --enable-host-shared ) fi - if tc_version_is_at_least 15.1 ${PV} ; then + if tc_version_is_at_least 15.1 ${PV} && _tc_use_if_iuse libgdiagnostics ; then confgcc+=( $(use_enable libgdiagnostics) ) fi @@ -2143,6 +2163,8 @@ gcc_do_filter_flags() { # Avoid shooting self in foot filter-flags '-mabi*' -m31 -m32 -m64 + # gcc will try to find libgomp.spec, which may not exist yet (bug #966882) + filter-flags -fopenmp # bug #490738 filter-flags -frecord-gcc-switches @@ -2196,7 +2218,7 @@ gcc-multilib-configure() { done if [[ -n ${list} ]] ; then - case ${CTARGET} in + case ${CTARGET#accel-} in x86_64*) confgcc+=( --with-multilib-list=${list:1} ) ;; @@ -2207,7 +2229,7 @@ gcc-multilib-configure() { gcc-abi-map() { # Convert the ABI name we use in Gentoo to what gcc uses local map=() - case ${CTARGET} in + case ${CTARGET#accel-} in mips*) map=("o32 32" "n32 n32" "n64 64") ;; @@ -2276,7 +2298,7 @@ gcc_do_make() { ewarn "This is NOT a safe configuration for end users!" ewarn "This compiler may not be safe or reliable for production use!" elif _tc_use_if_iuse pgo; then - GCC_MAKE_TARGET=${GCC_MAKE_TARGET-profiledbootstrap} + GCC_MAKE_TARGET=${GCC_MAKE_TARGET-profiledbootstrap-lean} else GCC_MAKE_TARGET=${GCC_MAKE_TARGET-bootstrap-lean} fi @@ -2309,7 +2331,7 @@ gcc_do_make() { # The last known issues are with < GCC 4.9 or so, but it's easier # to keep this bound somewhat fresh just to avoid problems. Ultimately, # using not-O0 is just a build-time speed improvement anyway. - if ! tc-is-gcc || ver_test $(gcc-fullversion) -lt 10 ; then + if ! tc-is-gcc || ver_test $(gcc-fullversion) -lt 10 || ver_test ${PV} -lt 10 ; then einfo "Resetting STAGE1_*FLAGS to -O0 because of old or non-GCC bootstrap compiler" STAGE1_CFLAGS="-O0" STAGE1_CXXFLAGS="-O0" @@ -2363,7 +2385,7 @@ gcc_do_make() { emake "${emakeargs[@]}" ${GCC_MAKE_TARGET} if ! is_crosscompile && _tc_use_if_iuse cxx && tc_has_feature doc && _tc_use_if_iuse doc ; then - cd "${CTARGET}"/libstdc++-v3/doc || die + cd "${CTARGET#accel-}"/libstdc++-v3/doc || die emake doc-man-doxygen # Clean bogus manpages. bug #113902 @@ -2593,7 +2615,7 @@ toolchain_src_install() { cd "${D}"${BINPATH} || die # Ugh: we really need to auto-detect this list. # It's constantly out of date. - for x in cpp gcc gccrs g++ c++ gcobol gcov gdc g77 gfortran gccgo gnat* ; do + for x in cpp gcc gccrs g++ c++ ga68 gcobol gcov gdc g77 gfortran gccgo gnat* ; do # For some reason, g77 gets made instead of ${CTARGET}-g77... # this should take care of that if [[ -f ${x} ]] ; then @@ -2656,7 +2678,7 @@ toolchain_src_install() { rm -rf "${ED}"/usr/share/{man,info} rm -rf "${D}"${DATAPATH}/{man,info} else - local cxx_mandir=$(find "${WORKDIR}/build/${CTARGET}/libstdc++-v3" -name man || die) + local cxx_mandir=$(find "${WORKDIR}/build/${CTARGET#accel-}/libstdc++-v3" -name man || die) if [[ -d ${cxx_mandir} ]] ; then cp -r "${cxx_mandir}"/man? "${D}${DATAPATH}"/man/ || die fi @@ -2761,7 +2783,9 @@ gcc_movelibs() { dodir "${HOSTLIBPATH#${EPREFIX}}" # XXX: Ideally, we'd use $(get_libdir) here, but it's # not right for cross. See bug #942573 and bug #794181. - mv "${ED}"/usr/lib*/libcc1* "${D}${HOSTLIBPATH}" || die + if [[ ${GCC_BUILD_PLUGINS} == 1 ]] ; then + mv "${ED}"/usr/lib*/libcc1* "${D}${HOSTLIBPATH}" || die + fi fi # libgccjit gets installed to /usr/lib, not /usr/$(get_libdir). Probably @@ -2794,7 +2818,7 @@ gcc_movelibs() { "${LIBPATH}"/${OS_MULTIDIR} \ "${LIBPATH}"/../${MULTIDIR} \ "${PREFIX}"/lib/${OS_MULTIDIR} \ - "${PREFIX}"/${CTARGET}/lib/${OS_MULTIDIR} + "${PREFIX}"/${CTARGET#accel-}/lib/${OS_MULTIDIR} do removedirs="${removedirs} ${FROMDIR}" FROMDIR=${D}${FROMDIR} @@ -2811,7 +2835,7 @@ gcc_movelibs() { # Without this, we end up either unable to find the libgomp spec/archive, or # we underlink and can't find gomp_nvptx_main (presumably because we can't find the plugin) # https://src.fedoraproject.org/rpms/gcc/blob/02c34dfa3627ef05d676d30e152a66e77b58529b/f/gcc.spec#_1445 - if [[ ${CTARGET} == nvptx* ]] && has_version ${CATEGORY}/${PN} ; then + if [[ ${CATEGORY} == cross-accel-nvptx* ]] && is_fortran ; then rm -rf "${ED}"/usr/libexec/gcc/nvptx-none/${GCCMAJOR}/install-tools rm -rf "${ED}"/usr/libexec/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/{install-tools,plugin,cc1,cc1plus,f951} rm -rf "${ED}"/usr/lib/gcc/nvptx-none/${GCCMAJOR}/{install-tools,plugin} @@ -3154,6 +3178,11 @@ is_cobol() { _tc_use_if_iuse cobol } +is_algol68() { + gcc-lang-supported algol68 || return 1 + _tc_use_if_iuse algol68 +} + is_modula2() { gcc-lang-supported m2 || return 1 _tc_use_if_iuse cxx && _tc_use_if_iuse modula2 @@ -3181,7 +3210,7 @@ toolchain_death_notice() { for dir in "${WORKDIR}"/build ; do if [[ -e "${dir}" ]] ; then pushd "${WORKDIR}" >/dev/null - (echo '' | $(tc-getCC ${CTARGET}) ${CFLAGS} -v -E - 2>&1) > "${dir}"/gccinfo.log + (echo '' | $(tc-getCC ${CTARGET#accel-}) ${CFLAGS} -v -E - 2>&1) > "${dir}"/gccinfo.log [[ -e "${T}"/build.log ]] && cp "${T}"/build.log "${dir}" tar -rf "${WORKDIR}"/gcc-build-logs.tar \ "${dir#${WORKDIR}/}"/gccinfo.log "${dir#${WORKDIR}/}"/build.log $(find "${dir#${WORKDIR}/}" -type f -name "config.log") diff --git a/sdk_container/src/third_party/portage-stable/eclass/tree-sitter-grammar.eclass b/sdk_container/src/third_party/portage-stable/eclass/tree-sitter-grammar.eclass index 7c2593f8bd4..9ddbcfc3875 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/tree-sitter-grammar.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/tree-sitter-grammar.eclass @@ -3,7 +3,6 @@ # @ECLASS: tree-sitter-grammar.eclass # @MAINTAINER: -# Matthew Smith # Arthur Zamarin # @AUTHOR: # Matthew Smith diff --git a/sdk_container/src/third_party/portage-stable/licenses/OPENLDAP b/sdk_container/src/third_party/portage-stable/licenses/OPENLDAP index 65a3a21abf2..a917e12f8aa 100644 --- a/sdk_container/src/third_party/portage-stable/licenses/OPENLDAP +++ b/sdk_container/src/third_party/portage-stable/licenses/OPENLDAP @@ -1,12 +1,12 @@ The OpenLDAP Public License - Version 2.7, 7 September 2001 + Version [2.7, 7 September 2001] {2.8, 17 August 2003} Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain copyright statements - and notices, +1. Redistributions [of] {in} source [code] {form} must retain copyright + statements and notices, 2. Redistributions in binary form must reproduce applicable copyright statements and notices, this list of conditions, and the following @@ -42,6 +42,12 @@ copyright holders. OpenLDAP is a registered trademark of the OpenLDAP Foundation. -Copyright 1999-2001 The OpenLDAP Foundation, Redwood City, +Copyright [1999-2001] {1999-2003} The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distribute verbatim copies of this document is granted. + +--- + +Gentoo license note: Versions 2.7 and 2.8 of this license slightly +differ. Square brackets [like this] hold text that occurs in 2.7; +curly braces {like this} hold text that occurs in 2.8. 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 0eb64043af0..08c93318b29 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 @@ -2,3 +2,7 @@ DIST libpng-1.6.47-libpng-apng-apng.patch.gz 10697 BLAKE2B eadf410ea5ef073e444dd DIST libpng-1.6.47.tar.xz 1054664 BLAKE2B 3dafe005931cd5b7709278f8d1961250c1d80ade4e73b568a211b409e7cac44f42692c6501851620ccd549d5c466b697dc6bbecf56e969e00b54c22a7cde0d72 SHA512 932578dedd7916e2c502d8d11eef845e15733e84062510ba246b027d5467efe786725ff3dd22b9a33ff6a052c8dab3da3b45cb737a00caed43b6598c2bd8122b DIST libpng-1.6.49-libpng-apng-apng.patch.gz 10676 BLAKE2B a726acae0da7905c5f1c59e42bcef8c3b46c545bf4955e0c40a21f0ed928b43af47e3dd6a771a3fb954fb6172218bec0472c62f591b4c470fc14a99a873645d3 SHA512 d3a7121f892049f5488f32b5de29fb8892f2b329ee1df956b129918601946ab86a542a4412587ee5f660c581484812aaf101f953bcc187c993d98ba9d8d63a00 DIST libpng-1.6.50.tar.xz 1060992 BLAKE2B 2191536b4448d3a058b9dbb31f3d780959c9daf7b104550cc89e8ae984a3c9f01b86bf6c6708983989b4bfbe7232e3716b8a3b8cd3313a12c31e0623b6241d11 SHA512 05adc94ef532bbddaae46e087088a23236e6528fd3fc705c8edfb5ff293983b790d4361d6b20c20df73632a9fbe55d2f394296385cd8efd646f58393ff21257d +DIST libpng-1.6.51-libpng-apng-apng.patch.gz 10686 BLAKE2B 71cab27854831c640de6d2d3dc3c1e38cb104ee5fe7012cce5662c4362b2289b3e3a0f623eb3335c025efa12ce81dd3da698f5cc6862a20e7439445bb4153a51 SHA512 746f74058d51d9f042479f296cdbd77b40ddb4cf1f8a94f6e1ca08b453f42bbda780689975f7607d54b8a0cd86f72e7a2804259b3afa1ddc1342e987bed5814d +DIST libpng-1.6.51.tar.xz 1060772 BLAKE2B 2d1ee36f9796e90a533abf26597df82c39cfab42f8d4044d35e0fdbab65612b9fc0234780677e2ea758450db9815b9d30870e8024bcebc0170c87361b7c4cc0a SHA512 c723406f050f99783b2576e7e2c84774630a7f46bb8ea82bf4932f82bbb4899f47cb1b19ff9020245a474a0b2fee82c55ac1c58db43e3888ad5cc3a1767e7433 +DIST libpng-1.6.52.tar.xz 1063580 BLAKE2B 47732b5e1a9d35e6aa2b7d1b967842588410154ada06af9d9c3fafaaf2440f1b70a1c9d4c0329b29b401f182ac4cc1fe88dc312e8a17e82aafd4ca954910221b SHA512 2bb1318f36712fc007613373a44a3276b4ed129b51b908464d9577ea9704d3caa469ec5bc7ebfb8b1de57ba3998c0b3375cd105054011ec54c21e9f208ec3c8b +DIST libpng-1.6.53.tar.xz 1063432 BLAKE2B 62e28068e1885305828fff3296b19a7d61e11a52ca425be91289e17087be2c42f06ea2df000169632cc556b398cdcb4784a639879e038962310c53becae779f6 SHA512 569f81d57dcce7bb874a45fa9f8db2044585245d2eb0c0485a1b03c2e338ecaec6bfda3cb94ad2a34951997414c69fc0373c8c5852d6c313c03e8a946ff345c6 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 125a02bc894..4c2413426da 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 @@ -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 ~arm64-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.50-r1.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.50-r1.ebuild index 18a226a3bcb..11584f67539 100644 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.50-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.50-r1.ebuild @@ -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 ~arm64-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.51.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.51.ebuild new file mode 100644 index 00000000000..6ccd7041182 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.51.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dot-a libtool multilib-minimal + +APNG_REPO=libpng-apng # sometimes libpng-apng is more up to date +APNG_VERSION="1.6.51" +DESCRIPTION="Portable Network Graphics library" +HOMEPAGE="https://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 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="apng cpu_flags_x86_sse static-libs test" +RESTRICT="!test? ( test )" + +RDEPEND=">=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" +DEPEND=" + ${RDEPEND} + riscv? ( sys-kernel/linux-headers ) +" + +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 +} + +src_configure() { + lto-guarantee-fat + multilib-minimal_src_configure +} + +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 + + strip-lto-bytecode + 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.52.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.52.ebuild new file mode 100644 index 00000000000..f4b7a89846f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.52.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dot-a libtool multilib-minimal + +APNG_REPO=libpng-apng # sometimes libpng-apng is more up to date +APNG_VERSION="1.6.51" +DESCRIPTION="Portable Network Graphics library" +HOMEPAGE="https://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 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="apng cpu_flags_x86_sse static-libs test" +RESTRICT="!test? ( test )" + +RDEPEND=">=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" +DEPEND=" + ${RDEPEND} + riscv? ( sys-kernel/linux-headers ) +" + +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 +} + +src_configure() { + lto-guarantee-fat + multilib-minimal_src_configure +} + +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 + + strip-lto-bytecode + 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.53.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.53.ebuild new file mode 100644 index 00000000000..f4b7a89846f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.53.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dot-a libtool multilib-minimal + +APNG_REPO=libpng-apng # sometimes libpng-apng is more up to date +APNG_VERSION="1.6.51" +DESCRIPTION="Portable Network Graphics library" +HOMEPAGE="https://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 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="apng cpu_flags_x86_sse static-libs test" +RESTRICT="!test? ( test )" + +RDEPEND=">=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" +DEPEND=" + ${RDEPEND} + riscv? ( sys-kernel/linux-headers ) +" + +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 +} + +src_configure() { + lto-guarantee-fat + multilib-minimal_src_configure +} + +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 + + strip-lto-bytecode + find "${ED}" \( -type f -o -type l \) -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/media-libs/libpng/metadata.xml b/sdk_container/src/third_party/portage-stable/media-libs/libpng/metadata.xml index bb1f3a055ec..1f657222c8c 100644 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/media-libs/libpng/metadata.xml @@ -16,7 +16,6 @@ cpe:/a:libpng:libpng pnggroup/libpng pnggroup/libpng-EXPERIMENTAL - glennrp/libpng-releases libpng apng libpng-apng diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/openbsd-netcat-1.218_p5.ebuild b/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/openbsd-netcat-1.218_p5.ebuild index 6de6a585168..783bcaa6db6 100644 --- a/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/openbsd-netcat-1.218_p5.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/openbsd-netcat-1.218_p5.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}"/netcat-openbsd-${MY_PV} LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv x86 ~amd64-linux ~x64-macos" +KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv x86 ~x64-macos" RDEPEND=" !net-analyzer/netcat diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/openbsd-netcat-1.219_p1.ebuild b/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/openbsd-netcat-1.219_p1.ebuild index 3b971fe9118..75d8675c6a0 100644 --- a/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/openbsd-netcat-1.219_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/openbsd-netcat-1.219_p1.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}"/netcat-openbsd-${MY_PV} LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86 ~amd64-linux ~arm64-macos ~x64-macos" +KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86 ~arm64-macos ~x64-macos" RDEPEND=" !net-analyzer/netcat diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/openbsd-netcat-1.234_p1.ebuild b/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/openbsd-netcat-1.234_p1.ebuild index debffdb44a5..37f86901e7a 100644 --- a/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/openbsd-netcat-1.234_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/openbsd-netcat-1.234_p1.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}"/netcat-openbsd-${MY_PV} LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~arm64-macos ~x64-macos" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~arm64-macos ~x64-macos" RDEPEND=" !net-analyzer/netcat diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/tcpdump/Manifest b/sdk_container/src/third_party/portage-stable/net-analyzer/tcpdump/Manifest index b8151717485..df890bbb02b 100644 --- a/sdk_container/src/third_party/portage-stable/net-analyzer/tcpdump/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/tcpdump/Manifest @@ -1,2 +1,4 @@ DIST tcpdump-4.99.5.tar.gz 2045086 BLAKE2B 754c25eafe84754465356042faa1369678655aa93d1b736c259ca9a6bd1e18c44784ae136dc6a3e64af9903c05c29e1379aafd7badc0e129c5a29ae908db13ff SHA512 69bc52ef7af7fd562370adf2e95cb592aad6193df9ab1708de52ac86a4c1cff72e8b256a739b435c324ee2df61051abde7d2659bc40f061d7c4fbcab1dcaa2e2 DIST tcpdump-4.99.5.tar.gz.sig 442 BLAKE2B 8742616147e2965ea6879b471662669f1942cdb8892834ac3ebfd4a6f610bde1a091bb85dc8c0836b26d1db7036d072608d7242ee4ddfbf590a07beb584a67cc SHA512 e36d2023973335cb95e91cb13414f6c0e6386175ed88fdeb2c0afabf7c39ad43f138d13b18ff2e88b142aad5147d37ddc03c3111e9d4d22bf3697e0acc30905c +DIST tcpdump-4.99.6.tar.gz 2053753 BLAKE2B cf820f98d271a6cd97d0c2c7b4f6a6a3091b264a2cdb0c80e4cc0d0301ca4a817498b5941e0806d838cc819d20539157fc50b4be5634153eb2eeb6e540bd0196 SHA512 1a3c1855de8769ded66c86f0a8a54f5fe0943aa6855ff43bc8262895e749f7afe6a729cec4280d705f3e82942d0cee4b914bc1aa50e6ea686ad8ff798ca8df96 +DIST tcpdump-4.99.6.tar.gz.sig 442 BLAKE2B d6c533c7a259cebb9cfa2384b969f5625d225d32526c97016ef7f604dee6dfc17bdc9795b76b680601586b8bf0e8cfd04db2a6b4cf191befcd178d9dda520cba SHA512 421dddc51f43e93e76c6fa27aa2482a8de99247b8c42984c58f8009c4330c57f111d6f93c028e5c6506029b60ee02cdc0cc258adc4aaf346b0e11472d770fd9b diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/tcpdump/tcpdump-4.99.5.ebuild b/sdk_container/src/third_party/portage-stable/net-analyzer/tcpdump/tcpdump-4.99.5.ebuild index 3c95aee8b70..e24a465253c 100644 --- a/sdk_container/src/third_party/portage-stable/net-analyzer/tcpdump/tcpdump-4.99.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/tcpdump/tcpdump-4.99.5.ebuild @@ -19,7 +19,7 @@ else SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.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" fi LICENSE="BSD" diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/tcpdump/tcpdump-4.99.6.ebuild b/sdk_container/src/third_party/portage-stable/net-analyzer/tcpdump/tcpdump-4.99.6.ebuild new file mode 100644 index 00000000000..3c062623d1e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/tcpdump/tcpdump-4.99.6.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Tool for network monitoring and data acquisition" +HOMEPAGE="https://www.tcpdump.org/ https://github.com/the-tcpdump-group/tcpdump" + +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/the-tcpdump-group/tcpdump" +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tcpdump.asc + inherit verify-sig + + SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" + SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.sig )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +LICENSE="BSD" +SLOT="0" +IUSE="+caps +smi +ssl +samba suid test" +REQUIRED_USE="test? ( samba )" +RESTRICT="!test? ( test )" + +# The minimum version of libpcap for tests to pass is often mentioned +# at https://www.tcpdump.org/index.html#latest-releases +RDEPEND=" + >=net-libs/libpcap-1.10.5 + caps? ( + acct-group/pcap + acct-user/pcap + sys-libs/libcap-ng + ) + smi? ( net-libs/libsmi ) + ssl? ( + >=dev-libs/openssl-0.9.6m:= + ) + suid? ( + acct-group/pcap + acct-user/pcap + ) +" +DEPEND=" + ${RDEPEND} + test? ( + dev-lang/perl + ) +" +BDEPEND="caps? ( virtual/pkgconfig )" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20260104 )" +fi + +PATCHES=( + "${FILESDIR}"/${PN}-4.99.5-libdir.patch + "${FILESDIR}"/${PN}-4.99.5-lfs.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable samba smb) + $(use_with caps cap-ng) + $(use_with smi) + $(use_with ssl crypto "${ESYSROOT}/usr") + $(usex caps "--with-user=pcap" "") + ) + + econf "${myeconfargs[@]}" +} + +src_test() { + if [[ ${EUID} -ne 0 ]] || ! use caps ; then + emake check + else + ewarn "If you want to run the test suite, make sure you either" + ewarn "set FEATURES=userpriv or set USE=-caps" + fi +} + +src_install() { + dosbin tcpdump + doman tcpdump.1 + dodoc *.awk + dodoc CHANGES CREDITS README.md + + if use suid ; then + fowners root:pcap /usr/sbin/tcpdump + fperms 4110 /usr/sbin/tcpdump + fi +} + +pkg_postinst() { + use suid && elog "To let normal users run tcpdump, add them to the pcap group." +} diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/tcpdump/tcpdump-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-analyzer/tcpdump/tcpdump-9999.ebuild index 249713bdec3..3c062623d1e 100644 --- a/sdk_container/src/third_party/portage-stable/net-analyzer/tcpdump/tcpdump-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/tcpdump/tcpdump-9999.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit autotools -DESCRIPTION="A tool for network monitoring and data acquisition" +DESCRIPTION="Tool for network monitoring and data acquisition" HOMEPAGE="https://www.tcpdump.org/ https://github.com/the-tcpdump-group/tcpdump" if [[ ${PV} == *9999* ]] ; then @@ -19,7 +19,7 @@ else SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.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" fi LICENSE="BSD" @@ -28,8 +28,10 @@ IUSE="+caps +smi +ssl +samba suid test" REQUIRED_USE="test? ( samba )" RESTRICT="!test? ( test )" +# The minimum version of libpcap for tests to pass is often mentioned +# at https://www.tcpdump.org/index.html#latest-releases RDEPEND=" - >=net-libs/libpcap-1.10.1 + >=net-libs/libpcap-1.10.5 caps? ( acct-group/pcap acct-user/pcap @@ -53,21 +55,29 @@ DEPEND=" BDEPEND="caps? ( virtual/pkgconfig )" if [[ ${PV} != *9999* ]] ; then - BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20240901 )" + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20260104 )" fi +PATCHES=( + "${FILESDIR}"/${PN}-4.99.5-libdir.patch + "${FILESDIR}"/${PN}-4.99.5-lfs.patch +) + src_prepare() { default eautoreconf } src_configure() { - econf \ - $(use_enable samba smb) \ - $(use_with caps cap-ng) \ - $(use_with smi) \ - $(use_with ssl crypto "${ESYSROOT}/usr") \ + local myeconfargs=( + $(use_enable samba smb) + $(use_with caps cap-ng) + $(use_with smi) + $(use_with ssl crypto "${ESYSROOT}/usr") $(usex caps "--with-user=pcap" "") + ) + + econf "${myeconfargs[@]}" } src_test() { diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/traceroute/traceroute-2.1.3.ebuild b/sdk_container/src/third_party/portage-stable/net-analyzer/traceroute/traceroute-2.1.3.ebuild index ac28238c6ef..93985320875 100644 --- a/sdk_container/src/third_party/portage-stable/net-analyzer/traceroute/traceroute-2.1.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/traceroute/traceroute-2.1.3.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/traceroute/${P}.tar.gz" LICENSE="GPL-2 LGPL-2.1" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="static" RDEPEND="!net-misc/iputils[traceroute6(-)]" diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/traceroute/traceroute-2.1.5.ebuild b/sdk_container/src/third_party/portage-stable/net-analyzer/traceroute/traceroute-2.1.5.ebuild index ac28238c6ef..93985320875 100644 --- a/sdk_container/src/third_party/portage-stable/net-analyzer/traceroute/traceroute-2.1.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/traceroute/traceroute-2.1.5.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/traceroute/${P}.tar.gz" LICENSE="GPL-2 LGPL-2.1" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="static" RDEPEND="!net-misc/iputils[traceroute6(-)]" diff --git a/sdk_container/src/third_party/portage-stable/net-dialup/lrzsz/files/lrzsz-0.12.20-c23.patch b/sdk_container/src/third_party/portage-stable/net-dialup/lrzsz/files/lrzsz-0.12.20-c23.patch index d3412a2bd7e..58defbea2b3 100644 --- a/sdk_container/src/third_party/portage-stable/net-dialup/lrzsz/files/lrzsz-0.12.20-c23.patch +++ b/sdk_container/src/third_party/portage-stable/net-dialup/lrzsz/files/lrzsz-0.12.20-c23.patch @@ -96,3 +96,14 @@ https://bugs.gentoo.org/943880 #endif #ifndef HAVE_ERRNO_DECLARATION +--- a/lib/getopt.h ++++ b/lib/getopt.h +@@ -101,7 +101,7 @@ struct option + errors, only prototype getopt for the GNU C library. */ + extern int getopt (int argc, char *const *argv, const char *shortopts); + #else /* not __GNU_LIBRARY__ */ +-extern int getopt (); ++extern int getopt (int argc, char *const *argv, const char *shortopts); + #endif /* __GNU_LIBRARY__ */ + extern int getopt_long (int argc, char *const *argv, const char *shortopts, + const struct option *longopts, int *longind); diff --git a/sdk_container/src/third_party/portage-stable/net-dialup/lrzsz/lrzsz-0.12.20-r10.ebuild b/sdk_container/src/third_party/portage-stable/net-dialup/lrzsz/lrzsz-0.12.20-r10.ebuild index 0483075497a..8fbe8d7fd0d 100644 --- a/sdk_container/src/third_party/portage-stable/net-dialup/lrzsz/lrzsz-0.12.20-r10.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dialup/lrzsz/lrzsz-0.12.20-r10.ebuild @@ -14,7 +14,7 @@ SRC_URI=" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="nls" DEPEND="nls? ( virtual/libintl )" diff --git a/sdk_container/src/third_party/portage-stable/net-dialup/minicom/minicom-2.10.ebuild b/sdk_container/src/third_party/portage-stable/net-dialup/minicom/minicom-2.10.ebuild index dde951aee1a..4fd4f61d539 100644 --- a/sdk_container/src/third_party/portage-stable/net-dialup/minicom/minicom-2.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dialup/minicom/minicom-2.10.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://salsa.debian.org/${PN}-team/${PN}/-/archive/${PV}/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="nls" DEPEND="sys-libs/ncurses:=" 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 4f53639e8f3..21bd3397573 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,10 +1,5 @@ -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.18.38.tar.xz 5362772 BLAKE2B 04a7eeba174dc0333f5f4f3a0767ac66a0f81665dc26dc5a88434ab1c1c12fdd2deaee91b62f77001a92283d40942a0487f6d314b465d9dac6c817d4f78166d4 SHA512 38710646a817dca0df6247b660cd244c79da13d0fed2898da139ae206bc8732fddd93af6fc2cbeca805c0c0d0789ec22eacf26789db288154581478ab2eaf44c DIST bind-9.18.39.tar.xz 5383056 BLAKE2B 5629a4973273d0ef132c94634be2787a916e6cf2dd2d4dfb12c5a27359ffc8eda26bbfc8650a03fbb5f5b98d834527289a213c74f0c5d31a68f4781053fed3bc SHA512 fd6d45c9cb9c599d8770c18801fad2f177faf3a8af82948800d186ae6dc9eb2c894b61802def0841eb722c615c93c077b55368204f0cf2737a3c50d949efca07 -DIST bind-9.20.10.tar.xz 5677276 BLAKE2B e5a7824ff5b901be447a2f4f067aa8b3345eb8187ed86f3bf6bc623e2b6c812722667eefd1f915026dab078846011e222336a30c4da640c4e54aa828398b180d SHA512 2d4510e2e73aed94424b065b9371a1422f1b53ec8c01b281fdc78f90401dcd229b7095a175bb4f4d44b07d81e5edbee78bbfb1bf31b981e26fe1ea6df53d415d -DIST bind-9.20.11.tar.xz 5674856 BLAKE2B 582e6de2699713e870dfc853f461c78b2d2b505bed0b571f853c94a731be9006783f45a4f897692289c1a9411725eac0b4de3818f1641221e62754316f410081 SHA512 bacc19eaf37133d37202db521e2c6727fc4e494562caad68e7c22e8dad84411684ba2c7430aa3bb2d916b9078c3aab8277d35e0f9b1f9893b89071de7ad7eee4 +DIST bind-9.18.42.tar.xz 5423412 BLAKE2B d29813a76f18eaf75908e95f18d0c82fb591a1228962ec6d209a08260b2f60327e049fc263bd772eed12bd9c2231c835f1e3f3262df0e0f6811481570e1dc169 SHA512 9133be987e2043aabf8cd7de58f62c41c632b92d9930a3644aaff80b23211e5a967a133080f6e61142408ef752f8a07d6b7c1e775ca8a495bb29ff9d167446c0 DIST bind-9.20.13.tar.xz 5762540 BLAKE2B c3738ebe468849293bec3d89499d7607b76fb636c7d21833dd56414fb569c1edfaa84d152ff9febfe0ebd5c65fa351423fbfbeaaee294d57949eb45631fd5623 SHA512 2e4be2153f80f60b97c0854ce69e5eb5c343713f5544ef6b9b9229d1ba65ba13e092c17170ae5ae328a97d0ccd8cb7c8cc8259baea70827a841d251423bc0a1c -DIST bind-9.20.7.tar.xz 5655168 BLAKE2B c5198939382e7295b4dfcb2ddbd86e5bccc10047d5e963dab2381404eb7a14543218e3caa438b395a2982cb607da84012f3a76a41c790a48ed615238bc080b5c SHA512 b9570c0c6588819108017d30dc7fb5e2f34361f941186d29da3d2830bbe3333c8c16bdb6581f5bec4786d90b74db860a9cad5f66d4f1c65168eae69f401a9df0 -DIST bind-9.20.9.tar.xz 5668452 BLAKE2B 40a1428d2da9d92b3604f04234b2ff44701abcf2ea22883caea7fb4ee157547125fd68accb8fe10853ff64cd5018fa89e36eeb53021fa3ee9bc056e05ac228d6 SHA512 78efb4c4a5d78bd04efe222982efa1d6bb6748965e40d816d9e4329d6f2687a43d1e439bc3f98c00c85abaf8fc435063bcbe2d96a61b252fe3df0a8affa19f8f +DIST bind-9.20.16.tar.xz 5768340 BLAKE2B 1a083efbd7a95df8c9c05966681be577cb119f1a75292cbf65a31cdf0fc7677a70834be4f8599984635b9ea09a909c1453b489e920e5f27502ab2b496aa278b0 SHA512 0cd9d531830ae8fd9df13849f333bc156063836f6ffd3ce757244a3cb58c6608cafb0ba43c22fa2846fdaa42d2dccff4fa84ae92ec69430071769168d57e9e9c diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.29-r4.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.29-r4.ebuild deleted file mode 100644 index 119eb3b4b95..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.29-r4.ebuild +++ /dev/null @@ -1,275 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit systemd tmpfiles - -MY_PV="${PV/_p/-P}" -MY_PV="${MY_PV/_rc/rc}" - -DESCRIPTION="Berkeley Internet Name Domain - Name Server" -HOMEPAGE="https://www.isc.org/software/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="+caps dnsrps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs test xml" -RESTRICT="!test? ( test )" - -DEPEND=" - acct-group/named - acct-user/named - dev-libs/json-c:= - >=dev-libs/libuv-1.37.0:= - virtual/zlib:= - dev-libs/openssl:=[-bindist(-)] - caps? ( >=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 [[ -n "${REPLACING_VERSIONS}" ]] && ver_test "${REPLACING_VERSIONS}" -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 /etc/conf.d/named; echo ${CHROOT}) - CHROOT_NOMOUNT=$(source /etc/conf.d/named; echo ${CHROOT_NOMOUNT}) - CHROOT_GEOIP=$(source /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} ${CHROOT}/run/named/ || die - - chown root:named \ - ${CHROOT} \ - ${CHROOT}/var/{bind,log/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\"); };" -} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.31-r3.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.31-r3.ebuild deleted file mode 100644 index ce709a4c3f2..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.31-r3.ebuild +++ /dev/null @@ -1,279 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit eapi9-ver systemd tmpfiles - -MY_PV="${PV/_p/-P}" -MY_PV="${MY_PV/_rc/rc}" - -DESCRIPTION="Berkeley Internet Name Domain - Name Server" -HOMEPAGE="https://www.isc.org/software/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="+caps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs test xml" -RESTRICT="!test? ( test )" - -DEPEND=" - acct-group/named - acct-user/named - dev-libs/json-c:= - >=dev-libs/libuv-1.37.0:= - virtual/zlib:= - dev-libs/openssl:=[-bindist(-)] - caps? ( >=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} "${CHROOT}"/run/named/ || die - - chown root:named \ - "${CHROOT}" \ - "${CHROOT}"/var/{bind,log/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\"); };" -} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.38.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.38.ebuild index 412ff181c37..0bc7a9f363e 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.38.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.38.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" 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.18.39.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.39.ebuild index b05eb8eb4cf..c2419bdebd5 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.39.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.39.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" 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.18.37-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.42.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.37-r1.ebuild rename to sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.42.ebuild index 412ff181c37..47d73b450a8 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.42.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" 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.11.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.11.ebuild deleted file mode 100644 index 6b606d7d38a..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.11.ebuild +++ /dev/null @@ -1,287 +0,0 @@ -# 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:= - virtual/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\"); };" -} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.13.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.13.ebuild index 6b606d7d38a..a51a04c864e 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.13.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.13.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" IUSE="dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs systemtap 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.16.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.10.ebuild rename to sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.16.ebuild index 6b606d7d38a..a51a04c864e 100644 --- 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.16.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" IUSE="dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs systemtap test xml" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.7-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.7-r2.ebuild deleted file mode 100644 index 9599d5d454a..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.7-r2.ebuild +++ /dev/null @@ -1,286 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit eapi9-ver systemd tmpfiles - -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 systemd 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:= - virtual/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 ) - systemd? ( sys-apps/systemd:= ) - 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\"); };" -} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.9.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.9.ebuild deleted file mode 100644 index c95b3fa5b89..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.9.ebuild +++ /dev/null @@ -1,289 +0,0 @@ -# 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 systemd 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:= - virtual/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 ) - systemd? ( sys-apps/systemd:= ) - 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\"); };" -} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/metadata.xml b/sdk_container/src/third_party/portage-stable/net-dns/bind/metadata.xml index 1f55c6ba273..3eeabbfedfa 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/metadata.xml @@ -7,7 +7,6 @@ Enables dnstap packet logging - Enable the DNS Response Policy Service (DNSRPS) API, a mechanism to allow an external response policy provider Enables dns-over-https Enables fixed rrset-order option Enable gssapi support diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/Manifest b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/Manifest index 9d82f5f4fee..ebf85fa8d01 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/Manifest @@ -1,2 +1,4 @@ DIST c-ares-1.34.5.tar.gz 1009261 BLAKE2B 5e8c262acf07cb387294170bba53618db1768436a3f7bf800eb31cf7b02ef8afc737122126c742424d4675f8c4944c730b8ba84028e6cee6bf65026cd2eeb56c SHA512 386709e9f405034cb16ba514f9792e89992be52b24a237e6c51f1032e4ca99a8c57b1c3038d6f0a205202a3bfb1246bb95ff0d5e6fc0ee2bba1cb17f6677f97f DIST c-ares-1.34.5.tar.gz.asc 228 BLAKE2B bb9364f7787c5286edd52d3821081618193c4c4c58782c3e3e592358b3e15ddc4e3abceb25f00969eaaa821705798b5e9eb528364b8f6d98f67a0285c4ad84f3 SHA512 5504670271b1dc32f5feeaf50c042d1cf1d173053c230706a0fec649d6fe8354ec6e75ef2b1c4158ed99a76a51d70e91799b1de19b284362b5080852790fcced +DIST c-ares-1.34.6.tar.gz 1017864 BLAKE2B 3a348cfaf4c992ba1712be73907599fd9d3e7b6d1b5498fa86259bbd8c9e102d530e89eee0f668b5b0b8164034047c187be7f8d40016d012c9e451dbf56bfbde SHA512 826eecdb40942caf75da982b9ca57fbe7c3e7c23af43a908683c7c1523c46b06ebac68405c26db8bf4c8b0774ca415666866249a3bde663a71c278f4ec7b1827 +DIST c-ares-1.34.6.tar.gz.asc 228 BLAKE2B 047ed363c58840914ec6fe6f81fe51ce6aca1293b91cf48c9f476a013f2267cd728a97d600e172ef51267f4ade63c4c4ed381ed5c37c83d541df1d4dc41f0e44 SHA512 864e9bb1703729db1554f68e07432de6e1f364f9bf565e1dc51dfbd4a87ae8751d9e4b1a5c607455457dc2c1054ba687f33365909d8a4888644d99c5e518bbce diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.5.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.5.ebuild index 5beae570fa5..776f44445b5 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.5.ebuild @@ -18,7 +18,7 @@ SRC_URI=" LICENSE="MIT ISC" # Subslot = SONAME of libcares.so.2 SLOT="0/2" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.6.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.6.ebuild new file mode 100644 index 00000000000..0acf0251635 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.6.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Both Daniel and Brad are listed as possible signers on the homepage +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradhouse.asc +inherit edo libtool multilib-minimal verify-sig + +DESCRIPTION="C library that resolves names asynchronously" +HOMEPAGE="https://c-ares.org/" +SRC_URI=" + https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz + verify-sig? ( https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz.asc ) +" + +# ISC for lib/{bitncmp.c,inet_ntop.c,inet_net_pton.c} (bug #912405) +LICENSE="MIT ISC" +# Subslot = SONAME of libcares.so.2 +SLOT="0/2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="static-libs test" +RESTRICT="!test? ( test )" + +BDEPEND=" + test? ( dev-cpp/gtest ) + verify-sig? ( sec-keys/openpgp-keys-bradhouse ) +" + +DOCS=( AUTHORS README.md RELEASE-NOTES.md ) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/ares_build.h +) + +A__QA_CONFIG_IMPL_DECL_SKIP=( + # Checking for obsolete headers + malloc + calloc + free + + # Non-existent on Linux + closesocket + CloseSocket + ioctlsocket + bitncmp + ConvertInterfaceIndexToLuid + ConvertInterfaceLuidToNameA +) + +src_prepare() { + default + elibtoolize + + if [[ ${CHOST} == *-darwin* ]] ; then + # warnings are default, but enable -std=c90 which doesn't define + # 'bool' which is a type used/assumed in macOS system headers + sed -i -e 's/-std=c90/& -Dbool=int/' configure{.ac,} || die + # sysconfig integration requires deep framework compatibility + # and is not really desired in Prefix + sed -i -e 's/__APPLE__/__DISABLED__/' \ + src/lib/ares_sysconfig_mac.c || die + sed -i -e '/elif defined(__APPLE__)/s/__APPLE__/__DISABLED__/' \ + src/lib/ares_sysconfig.c || die + fi +} + +multilib_src_configure() { + local myeconfargs=( + --enable-symbol-hiding + $(use_enable static-libs static) + $(use_enable test tests) + ) + + # Needed for running unit tests only + # Violates sandbox and tests pass fine without + export ares_cv_user_namespace=no + export ares_cv_uts_namespace=no + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_test() { + cd "${BUILD_DIR}"/test || die + + # We're skipping the "real" network tests with the filter + # see https://github.com/c-ares/c-ares/tree/main/test + local network_tests=( + # Most live tests have Live in the name + *Live* + # These don't but are still in ares-test-live.cc => live + *GetTCPSock* + *TimeoutValue* + *GetSock* + *GetSock_virtualized* + *VerifySocketFunctionCallback* + # Seems flaky, even run manually + # https://github.com/c-ares/c-ares/commit/9e542a8839f81c990bb0dff14beeaf9aa6bcc18d + *MockUDPMaxQueriesTest.GetHostByNameParallelLookups* + ) + + # The format for disabling test1, test2, and test3 looks like: + # -test1:test2:test3 + edo ./arestest --gtest_filter=-$(echo $(IFS=:; echo "${network_tests[*]}")) +} + +multilib_src_install_all() { + einstalldocs + + find "${ED}" -name "*.la" -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/libidn2/libidn2-2.3.7.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/libidn2/libidn2-2.3.7.ebuild index efd35a74f4b..2d810483dc6 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/libidn2/libidn2-2.3.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dns/libidn2/libidn2-2.3.7.ebuild @@ -18,7 +18,7 @@ S="${WORKDIR}"/${P/a/} LICENSE="|| ( GPL-2+ LGPL-3+ ) GPL-3+ unicode" SLOT="0/2" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="nls static-libs" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-dns/libidn2/libidn2-2.3.8.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/libidn2/libidn2-2.3.8.ebuild index 8acc1641e98..4c5a7879795 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/libidn2/libidn2-2.3.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dns/libidn2/libidn2-2.3.8.ebuild @@ -18,7 +18,7 @@ S="${WORKDIR}"/${P/a/} LICENSE="|| ( GPL-2+ LGPL-3+ ) GPL-3+ unicode" SLOT="0/2" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="nls static-libs" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-firewall/nftables/Manifest b/sdk_container/src/third_party/portage-stable/net-firewall/nftables/Manifest index f773d38edc1..05c28bc11ea 100644 --- a/sdk_container/src/third_party/portage-stable/net-firewall/nftables/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-firewall/nftables/Manifest @@ -6,3 +6,5 @@ DIST nftables-1.1.4.tar.xz 1005044 BLAKE2B 359d23c89462125be72d4a103bd063cb9acf4 DIST nftables-1.1.4.tar.xz.sig 566 BLAKE2B 87d84b3f4e896923c7c59701ab98aec289dd5a5413f6ff1b4680a98238ce9ccba452e23cc686b04a84c70be4c153d3aac5d73db8c7a7c61021226b20c0c11fab SHA512 4aa1d7f2b219e24cbc41fa397afcc605b3cf1c55a14b97827c0581cc2af9c5def0308ed69aa243b30690f7f14501c573a7902a75003582d0adf26ab086ca8356 DIST nftables-1.1.5.tar.xz 1008132 BLAKE2B 4c391e316f5c04cffe16a64df60217d74e37ab4f87c614003e2d2f702b8a4fe81c2ca7f42b3429e948078b2b0ecf0ad61b8cc2f7b95384fff9c004bcc3837317 SHA512 01fbbea43fd01250b0176a200dfdb6b84d3d51156cc2350acb25a5e66960e1908c3d17a0363baddb32897ea8bea0569b67500a94f708c8587b0e29402f51cbb6 DIST nftables-1.1.5.tar.xz.sig 566 BLAKE2B 4868d9a0fc35eade43e973e7d17412edd2302155df8d1b68664746feec84479446ad427363ccc0a4fc32272b03a200414451c9732cd3486707994816d331b91c SHA512 e6ff864eeba8c73ec5352d5c690864e29f128258edd653765f77e34689dc7408de91a04827bf15fcf8e13cf6b875f3b7e9bbdb0b23dc89cecde43787b1df60bd +DIST nftables-1.1.6.tar.xz 1025092 BLAKE2B ec2abb475e078fa9872c02a7eef711eac40ac8dc40e3ff15b732808db5d1b5632a85060db04146a49b187fdcf865c3cce17774773bb8987442c5d3fc943c0380 SHA512 8d0a833d0ae2b6ac82e0da8bb74ffb69679e49a938b86a75d4ee3d81343400a95fe064cf95d60d22df30370779e524b31497a9c89a516d9bff645f3f83bb6bb1 +DIST nftables-1.1.6.tar.xz.sig 566 BLAKE2B 9ccd32fd29e02457da05848852456e5bb2cebe5757ad9a18add9184f9151880712e03a34ca81df905cf9ee325e9e3278cc924b2ff87bca726e42d53b17bbe9b5 SHA512 7a7cc7773c4784f7c5902b3fd33b7efcb808eb846bee4a0fed5f8ef54759a5cf2dd59605d171fe2ffa59416db7e56162f59b7abbd7fdfa2b5e3d417942743585 diff --git a/sdk_container/src/third_party/portage-stable/net-firewall/nftables/nftables-1.1.6.ebuild b/sdk_container/src/third_party/portage-stable/net-firewall/nftables/nftables-1.1.6.ebuild new file mode 100644 index 00000000000..564896654bf --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-firewall/nftables/nftables-1.1.6.ebuild @@ -0,0 +1,239 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_OPTIONAL=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{11..14} ) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/netfilter.org.asc +inherit eapi9-ver edo linux-info distutils-r1 systemd verify-sig + +DESCRIPTION="Linux kernel firewall, NAT and packet mangling tools" +HOMEPAGE="https://netfilter.org/projects/nftables/" + +if [[ ${PV} =~ ^[9]{4,}$ ]]; then + inherit autotools git-r3 + EGIT_REPO_URI="https://git.netfilter.org/${PN}" + BDEPEND="app-alternatives/yacc" +else + inherit libtool + SRC_URI=" + https://netfilter.org/projects/nftables/files/${P}.tar.xz + verify-sig? ( https://netfilter.org/projects/nftables/files/${P}.tar.xz.sig ) + " + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-netfilter-20240415 )" +fi + +# See COPYING: new code is GPL-2+, existing code is GPL-2 +LICENSE="GPL-2 GPL-2+" +SLOT="0/1" +IUSE="debug doc +gmp json libedit python +readline static-libs test xtables" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=net-libs/libmnl-1.0.4:= + >=net-libs/libnftnl-1.3.1:= + gmp? ( dev-libs/gmp:= ) + json? ( dev-libs/jansson:= ) + python? ( ${PYTHON_DEPS} ) + readline? ( sys-libs/readline:= ) + xtables? ( >=net-firewall/iptables-1.6.1:= ) +" +DEPEND="${RDEPEND}" +BDEPEND+=" + app-alternatives/lex + virtual/pkgconfig + doc? ( + app-text/asciidoc + >=app-text/docbook2X-0.8.8-r4 + ) + python? ( ${DISTUTILS_DEPS} ) +" + +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + libedit? ( !readline ) +" + +src_prepare() { + default + + if [[ ${PV} =~ ^[9]{4,}$ ]] ; then + eautoreconf + else + elibtoolize + fi + + if use python; then + pushd py >/dev/null || die + distutils-r1_src_prepare + popd >/dev/null || die + fi +} + +src_configure() { + local myeconfargs=( + --sbindir="${EPREFIX}"/sbin + --with-unitdir=$(systemd_get_systemunitdir) + --enable-distcheck + $(use_enable debug) + $(use_enable doc man-doc) + $(use_with !gmp mini_gmp) + $(use_with json) + $(use_with libedit cli editline) + $(use_with readline cli readline) + $(use_enable static-libs static) + $(use_with xtables) + ) + + # bash until 1.1.7 (https://git.netfilter.org/nftables/commit/?id=2e3c68f26d5bd60c8ea7467fa9018c282a7d8c47) + CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}" + + if use python; then + pushd py >/dev/null || die + distutils-r1_src_configure + popd >/dev/null || die + fi +} + +src_compile() { + default + + if use python; then + pushd py >/dev/null || die + distutils-r1_src_compile + popd >/dev/null || die + fi +} + +src_test() { + emake check + + if [[ ${EUID} == 0 ]]; then + edo tests/shell/run-tests.sh -v + else + ewarn "Skipping shell tests (requires root)" + fi + + if use python; then + pushd tests/py >/dev/null || die + distutils-r1_src_test + popd >/dev/null || die + fi +} + +python_test() { + if [[ ${EUID} == 0 ]]; then + edo "${EPYTHON}" nft-test.py + else + ewarn "Skipping Python tests (requires root)" + fi +} + +src_install() { + default + + if ! use doc && [[ ! ${PV} =~ ^[9]{4,}$ ]]; then + pushd doc >/dev/null || die + doman *.? + popd >/dev/null || die + fi + + # Do it here instead of in src_prepare to avoid eautoreconf + # rmdir lets us catch if more files end up installed in /etc/nftables + dodir /usr/share/doc/${PF}/skels/ + mv "${ED}"/etc/nftables/osf "${ED}"/usr/share/doc/${PF}/skels/osf || die + rmdir "${ED}"/etc/nftables || die + + exeinto /usr/libexec/${PN} + newexe "${FILESDIR}"/libexec/${PN}-mk.sh ${PN}.sh + newconfd "${FILESDIR}"/${PN}-mk.confd ${PN} + newinitd "${FILESDIR}"/${PN}-mk.init-r1 ${PN} + keepdir /var/lib/nftables + + systemd_dounit "${FILESDIR}"/systemd/${PN}-load.service + systemd_dounit "${FILESDIR}"/systemd/${PN}-store.service + + if use python ; then + pushd py >/dev/null || die + distutils-r1_src_install + popd >/dev/null || die + fi + + find "${ED}" -type f -name "*.la" -delete || die +} + +pkg_preinst() { + local stderr + + # There's a history of regressions with nftables upgrades. Perform a + # safety check to help us spot them earlier. For the check to pass, the + # currently loaded ruleset, if any, must be successfully evaluated by + # the newly built instance of nft(8). + if [[ -n ${ROOT} ]] || [[ ! -d /sys/module/nftables ]] || [[ ! -x /sbin/nft ]]; then + # Either nftables isn't yet in use or nft(8) cannot be executed. + return + elif ! stderr=$(umask 177; /sbin/nft -t list ruleset 2>&1 >"${T}"/ruleset.nft); then + # Report errors induced by trying to list the ruleset but don't + # treat them as being fatal. + printf '%s\n' "${stderr}" >&2 + elif [[ ${stderr} == *"is managed by iptables-nft"* ]]; then + # Rulesets generated by iptables-nft are special in nature and + # will not always be printed in a way that constitutes a valid + # syntax for ntf(8). Ignore them. + return + elif set -- "${ED}"/usr/lib*/libnftables.so; + ! LD_LIBRARY_PATH=${1%/*} "${ED}"/sbin/nft -c -f -- "${T}"/ruleset.nft + then + eerror "Your currently loaded ruleset cannot be parsed by the newly built instance of" + eerror "nft. This probably means that there is a regression introduced by v${PV}." + eerror "(To make the ebuild fail instead of warning, set NFTABLES_ABORT_ON_RELOAD_FAILURE=1.)" + if [[ -n ${NFTABLES_ABORT_ON_RELOAD_FAILURE} ]] ; then + die "Aborting because of failed nft reload!" + fi + fi +} + +pkg_postinst() { + local save_file + save_file="${EROOT}"/var/lib/nftables/rules-save + + # In order for the nftables-load systemd service to start + # the save_file must exist. + if [[ ! -f "${save_file}" ]]; then + ( umask 177; touch "${save_file}" ) + elif [[ $(( "$( stat --printf '%05a' "${save_file}" )" & 07177 )) -ne 0 ]]; then + ewarn "Your system has dangerous permissions for ${save_file}" + ewarn "It is probably affected by bug #691326." + ewarn "You may need to fix the permissions of the file. To do so," + ewarn "you can run the command in the line below as root." + ewarn " 'chmod 600 \"${save_file}\"'" + fi + + if has_version 'sys-apps/systemd'; then + if ver_replacing -lt "1.1.1-r1"; then + elog "Starting with ${PN}-1.1.1-r1, the ${PN}-restore.service has" + elog "been split into ${PN}-load.service and ${PN}-store.service." + elog + fi + elog "If you wish to enable the firewall rules on boot (on systemd) you" + elog "will need to enable the nftables-load service." + elog " 'systemctl enable ${PN}-load.service'" + elog + elog "Enable nftables-store.service if you want firewall rules to be" + elog "saved at shutdown." + fi + + if has_version 'sys-apps/openrc'; then + elog "If you wish to enable the firewall rules on boot (on openrc) you" + elog "will need to enable the nftables service." + elog " 'rc-update add ${PN} default'" + elog + elog "If you are creating or updating the firewall rules and wish to save" + elog "them to be loaded on the next restart, use the \"save\" functionality" + elog "in the init script." + elog " 'rc-service ${PN} save'" + fi +} diff --git a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/Manifest b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/Manifest index ae76b137cef..985daab574c 100644 --- a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/Manifest @@ -1,3 +1,4 @@ DIST cifs-utils-7.0.tar.bz2 418638 BLAKE2B 514d35f243d0ef7b866068a9a53a4b1704d2856d491d56aa469e8e3919b4030cb920a7f60d08851b0a23d28a020d1ddf7daa8b9ac412f1567a0a60d2f6ee6774 SHA512 4c57741af0c4567a78f352c73caca998881666a5ed36536275cfa775efd66ff1a44ebe539a8ed96c409c5b08a1378266964ce667a27e9fc7f2d43999c63dd0eb DIST cifs-utils-7.3.tar.bz2 423716 BLAKE2B 59cf39ed2bf14d1fff54b6ad3b2fa410dd20b7e49ff9e87a95521d7e72cd4c5fe506f7026db2f42c53f4f79ed8f2492e3aa98b6349b000c7e2457cfea695c94d SHA512 7e341f5f5f53c3d533350cbd58983fddc428921ef8f8da6dea7b58884786b778fcc24ec23d0ebafc944ca54b9978213425fa6270e5c28934efb3383c0b66745a DIST cifs-utils-7.4.tar.bz2 389033 BLAKE2B 57e03bb050b2345229dd4e0de22ac7baae7dcf080fba54c1dc339d8ecc6e60254e30feaa160568f8465698769ee513447c77de3bf8b0cd9c234ec4590e8e4270 SHA512 36fb64ed531e983752be243be488392ba52c3797ac638147a75998b8965448009e95d7ccda187c7d50d753b0ddb87a464a83044064b099d49fffe03a0b6ba739 +DIST cifs-utils-7.5.tar.bz2 423849 BLAKE2B ddabbaaa122252640d9e69f7c180b53c33d0d02d14b26d96f1fc52858e3d6a3d491c64cec9bc9e0367dedfbc041fa7098d1de6aa3dc991e655ef45c919e3b1a3 SHA512 d44b26ca3224160bcb4fc712eb6c6d09fcfee196197d46481e95333494eaae1a4851712fba9b922c203e3cd301c481b433ff49ec396428c12ff7db3c628ce9e9 diff --git a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.0-r1.ebuild index 427fc00cfa1..c2ffc03be37 100644 --- a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.0-r1.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://ftp.samba.org/pub/linux-cifs/${PN}/${P}.tar.bz2" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="+acl +ads +caps creds pam +python systemd" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.3.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.3.ebuild index c46b5251d34..5af15e3d216 100644 --- a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.3.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://ftp.samba.org/pub/linux-cifs/${PN}/${P}.tar.bz2" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="+acl +ads +caps creds pam +python systemd" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.4.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.4.ebuild index 7beca89c84f..9535ad03e6c 100644 --- a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.4.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://ftp.samba.org/pub/linux-cifs/${PN}/${P}.tar.bz2" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="+acl +ads +caps creds pam +python systemd" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.5.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.5.ebuild new file mode 100644 index 00000000000..1cbd2da9e18 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.5.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) + +inherit autotools bash-completion-r1 flag-o-matic linux-info pam python-single-r1 + +DESCRIPTION="Tools for Managing Linux CIFS Client Filesystems" +HOMEPAGE="https://wiki.samba.org/index.php/LinuxCIFS_utils https://git.samba.org/cifs-utils.git/?p=cifs-utils.git" +SRC_URI="https://ftp.samba.org/pub/linux-cifs/${PN}/${P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+acl +ads +caps creds pam +python systemd" + +RDEPEND=" + sys-libs/talloc + ads? ( + sys-apps/keyutils:= + virtual/krb5 + ) + caps? ( sys-libs/libcap-ng ) + creds? ( sys-apps/keyutils:= ) + pam? ( + sys-apps/keyutils:= + sys-libs/pam + ) + python? ( ${PYTHON_DEPS} ) +" +DEPEND="${RDEPEND}" +BDEPEND="dev-python/docutils" +PDEPEND=" + acl? ( >=net-fs/samba-4.0.0_alpha1 ) +" + +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) +" + +DOCS="doc/linux-cifs-client-guide.odt" + +PATCHES=( + "${FILESDIR}/${PN}-7.3-no-clobber-fortify-source.patch" +) + +pkg_setup() { + linux-info_pkg_setup + + if ! linux_config_exists || ! linux_chkconfig_present CIFS; then + ewarn "You must enable CIFS support in your kernel config, " + ewarn "to be able to mount samba shares. You can find it at" + ewarn + ewarn " File systems" + ewarn " Network File Systems" + ewarn " CIFS support" + ewarn + ewarn "and recompile your kernel ..." + fi + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + if has_version app-crypt/heimdal ; then + # bug #612584 + eapply "${FILESDIR}/${PN}-6.7-heimdal.patch" + fi + + eautoreconf +} + +src_configure() { + # bug #927809 + filter-flags -fno-semantic-interposition + + local myeconfargs=( + --enable-man + --enable-smbinfo + $(use_enable acl cifsacl cifsidmap) + $(use_enable ads cifsupcall) + $(use_with caps libcap) + $(use_with caps libcap-ng) + $(use_enable creds cifscreds) + $(use_enable pam) + $(use_with pam pamdir $(getpam_mod_dir)) + $(use_enable python pythontools) + # mount.cifs can get passwords from systemd + $(use_enable systemd) + ) + + ROOTSBINDIR="${EPREFIX}"/sbin econf "${myeconfargs[@]}" +} + +src_install() { + default + + # remove empty directories + find "${ED}" -type d -empty -delete || die + + if use acl ; then + dodir /etc/cifs-utils + dosym ../../usr/$(get_libdir)/cifs-utils/idmapwb.so \ + /etc/cifs-utils/idmap-plugin + dodir /etc/request-key.d + echo 'create cifs.idmap * * /usr/sbin/cifs.idmap %k' \ + > "${ED}/etc/request-key.d/cifs.idmap.conf" + fi + + if use ads ; then + dodir /etc/request-key.d + echo 'create dns_resolver * * /usr/sbin/cifs.upcall %k' \ + > "${ED}/etc/request-key.d/cifs.upcall.conf" + echo 'create cifs.spnego * * /usr/sbin/cifs.upcall %k' \ + > "${ED}/etc/request-key.d/cifs.spnego.conf" + fi + + dobashcomp bash-completion/smbinfo + use python && python_fix_shebang "${ED}" +} + +pkg_postinst() { + # Inform about set-user-ID bit of mount.cifs + ewarn "setuid use flag was dropped due to multiple security implications" + ewarn "such as CVE-2009-2948, CVE-2011-3585 and CVE-2012-1586" + ewarn "You are free to set setuid flags by yourself" + + # Inform about upcall usage + if use acl ; then + einfo "The cifs.idmap utility has been enabled by creating the" + einfo "configuration file /etc/request-key.d/cifs.idmap.conf" + einfo "This enables you to get and set CIFS acls." + fi + + if use ads ; then + einfo "The cifs.upcall utility has been enabled by creating the" + einfo "configuration file /etc/request-key.d/cifs.upcall.conf" + einfo "This enables you to mount DFS shares." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/net-fs/samba/Manifest b/sdk_container/src/third_party/portage-stable/net-fs/samba/Manifest index ed340f3e598..cb24466cda1 100644 --- a/sdk_container/src/third_party/portage-stable/net-fs/samba/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-fs/samba/Manifest @@ -1,9 +1,12 @@ DIST samba-4.20.8.tar.gz 42531989 BLAKE2B 4c8d6d4fe40c0640667089179af5a8a49e6117fcd46b735ac59ffad0334e7fddffb99d2204c30d272a1902b8bf22bc9dc10a7b58762642977f0aec25acb91a57 SHA512 1dc598cb3aa830d35985e5840f1956d48b93eef02805248ececd0eb472b514311a9f6e69798bb5f5735a845b6e1c8de84b4ecaff6dea7a61324202d6fb0b3eeb +DIST samba-4.21.10.tar.gz 42700998 BLAKE2B 44029738256a44a9e4b86cf4dc198e3b0145d382005a444e32522138fe1127018c2cbb3b2f4bbd43e7c27911b09cf435fdd213a69404a98a80745b3090262f1f SHA512 2911620ff6ff09ae3b85e277bc1e1b783ccfe4f0bfd5a31f4df31e546a1eee698923fae1daa112e0c41f37d47a452f4306893883438b26e95e0fc7f5d1f67341 DIST samba-4.21.7.tar.gz 42689509 BLAKE2B c7cfdab05402f0df38c1a643126072fdaf4d031e339e171180009ecaf9de7d06c490f344b2eea6ccec1021ecbf84aabe5c0d9b2718ab461f95502ce52dd1ffbc SHA512 f44a0dc880b2a5694f9c46ff11c808ae263f68c91cc9b0e32869bb44f84c1fdcc49370a396f38e0f452133c29357d8ad80a689af67bd85f648b2121e7792b555 DIST samba-4.21.8.tar.gz 42696867 BLAKE2B b86d9a5f2ae072b50555757d97241ff48d2a1155323da43c70a6f809a1fb2e303077d414b6614ca1740e06b4f613d1754860eeed043d65afc77cf1ecf2fc823f SHA512 194d89f2df2513b9e7e84b2b2554c8f553f6115ba98d3b3dee3efced33cbce74c9b4fac119625a4b772a516ab3fcb21595e1bd2e6f9bf3d162b25f6bb25b6dce DIST samba-4.21.9.tar.gz 42695134 BLAKE2B 21132a5fb75d42772f7c6ba414f7bb7b862e43d10b84a97155b1f2aeb40d4841d36697e9a6a795eed2a38a7076933b0b2cd731ea679f0dc820137b897be9e835 SHA512 465ccb912c443e3b187d9662f605141011626b12ebc979558e3c710487382cae8fe110e0bc5232f04c839cb5d13313f8f68f2edd2511ead31cefb9096ecdcf08 DIST samba-4.22.3.tar.gz 42869744 BLAKE2B 9ad02f617df307d6a7e0f88d030a4e3884d221ad2862f42af0cf8fb7cc595578fea9ce210b4bad2521634bd3b9752a58a077905f82ce5e9ef4eb8331a8044efc SHA512 5fe79857c9c21d13912bd4f937ec00ad885d4b53d814265428916578927615f3d4a2fe921df88960e6651cd78b202734fee58ff38f6fb7fbffdfe8f129bcf59a DIST samba-4.22.4.tar.gz 42873748 BLAKE2B c2d239f2d62f450fbef84ceee1077201c0fca926cc97e99527d4bff07ff11a815a4167ca270afd04af4257759bcc1e003493bfcfd9e552e9410d426921341c8c SHA512 4a4ef586bc6d8fa5984d87814022a35988afaf4ee0aebaf023c4a1debfec4215525e886efe2efd4647a4374855d8cd15c6fc919de84454847206d558fcd21ea2 DIST samba-4.22.5.tar.gz 42876122 BLAKE2B c6ee4c98c4aced9faa0b5f90c61a3ea9473fc8c90e7c3ceb470aba9354fb4bb21cdd16a7d19bb6b0faee4454259e02546b4bb5093e8e8fe64a67b5635fc1152b SHA512 ee183e664768076f814c252afef0cd2225961d173174e8f4703d8cf59fe2abc2d1a089e293905849201ab2af75e27d8666360072a85bcce2b0dc735324d6b02e +DIST samba-4.22.6.tar.gz 42883971 BLAKE2B 2231ef23c54ce6e96dcc1e7c6eb096cf291a780900de1e30bd37812258e2c8e44c85d6c665c975a0cba53ac3af2f5bb6e63b2e8a9da994000ea3ae2704596d03 SHA512 ab307c3aff3a76a8a561b8d418ad69e51866238ea5f5bdef6b1621ccadf43d17ec9d5475d033ac93d9b97e623affdcd0ed3fb1b616afc8ff02521cc310968c61 DIST samba-4.23.0.tar.gz 43320412 BLAKE2B e4787045dd85dce9e03b18d04d09ed1c3adae01f13545e99c2d84af8855f42f716bb256d8eee2830164f2fd59c7386f1547f4ec45504edc3c80470b27fe05ab4 SHA512 b95504c28b7773db792f9bc895644efc8027ec7724beca6435f2ba5a862eda3023551528275ec23aae9ad580d42350015d8851757b9ea54d099321fe8a31fe8c DIST samba-4.23.2.tar.gz 43324641 BLAKE2B 6ea7254f07121e32c6ac0914f45451c0174d68006dbc7836469a9d201d5acadbf6d8ed79d962ba7faa4cd404f52b5c27c02b7025feb37e4a56162bcd0a863401 SHA512 115022f736a36a902e939babd9cf62d71a60363ac0f8bc06f2fe07716f2c99cf44cba2513107edae6e673dbd6af7ea69757fe27fe74954bfb8c6904a92c93d80 +DIST samba-4.23.3.tar.gz 43328964 BLAKE2B 3d242217f5fec94dd680bc6f3aa932ea8273bff5333f53e5009351a7fcb8e3d11524f53aad1fe7d9dfd04c8bd6fbadb458953e59fab77e5ce19dc7c7c56c0847 SHA512 5c6662b3788cc9cc4d05037484a2dc0ea185098062f63339bfab47852a38afb1d5431cea61cc9d94ba23fa340439f3deabacd42b6bab4e4fbc11cc543f6d79da diff --git a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.21.10.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.21.10.ebuild new file mode 100644 index 00000000000..659c7cd530d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.21.10.ebuild @@ -0,0 +1,393 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_REQ_USE="threads(+),xml(+)" +inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info systemd pam tmpfiles + +DESCRIPTION="Samba Suite Version 4" +HOMEPAGE="https://samba.org/" + +MY_PV="${PV/_rc/rc}" +MY_P="${PN}-${MY_PV}" +if [[ ${PV} == *_rc* ]]; then + SRC_URI="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz" +else + SRC_URI="https://download.samba.org/pub/samba/stable/${MY_P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-3" +SLOT="0/2.10.0" +IUSE="acl addc ads ceph client cluster cups debug fam glusterfs gpg" +IUSE+=" iprint json ldap llvm-libunwind lmdb pam profiling-data python quota" +IUSE+=" +regedit selinux snapper spotlight syslog system-heimdal +system-mitkrb5" +IUSE+=" systemd test unwind winbind zeroconf" + +# ldap needs ads (bug #941578) +REQUIRED_USE="${PYTHON_REQUIRED_USE} + addc? ( json python !system-mitkrb5 winbind ) + ads? ( acl ldap python winbind ) + cluster? ( ads ) + gpg? ( addc ) + ldap? ( ads ) + spotlight? ( json ) + test? ( python ) + !ads? ( !addc ) + ?? ( system-heimdal system-mitkrb5 ) +" + +# the test suite is messed, it uses system-installed samba +# bits instead of what was built, tests things disabled via use +# flags, and generally just fails to work in a way ebuilds could +# rely on in its current state +RESTRICT="test" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/samba-4.0/policy.h + /usr/include/samba-4.0/dcerpc_server.h + /usr/include/samba-4.0/ctdb.h + /usr/include/samba-4.0/ctdb_client.h + /usr/include/samba-4.0/ctdb_protocol.h + /usr/include/samba-4.0/ctdb_private.h + /usr/include/samba-4.0/ctdb_typesafe_cb.h + /usr/include/samba-4.0/ctdb_version.h +) + +TALLOC_VERSION="2.4.2" +TDB_VERSION="1.4.12" +TEVENT_VERSION="0.16.1" + +COMMON_DEPEND=" + >=app-arch/libarchive-3.1.2:=[${MULTILIB_USEDEP}] + dev-lang/perl:= + dev-libs/icu:=[${MULTILIB_USEDEP}] + dev-libs/libbsd[${MULTILIB_USEDEP}] + dev-libs/libtasn1:=[${MULTILIB_USEDEP}] + dev-libs/popt[${MULTILIB_USEDEP}] + dev-perl/Parse-Yapp + >=net-libs/gnutls-3.4.7:=[${MULTILIB_USEDEP}] + >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}] + !sys-libs/ldb + sys-libs/libcap[${MULTILIB_USEDEP}] + sys-libs/liburing:=[${MULTILIB_USEDEP}] + sys-libs/ncurses:= + sys-libs/readline:= + >=sys-libs/talloc-${TALLOC_VERSION}[${MULTILIB_USEDEP}] + >=sys-libs/tdb-${TDB_VERSION}[${MULTILIB_USEDEP}] + >=sys-libs/tevent-${TEVENT_VERSION}[${MULTILIB_USEDEP}] + virtual/zlib:=[${MULTILIB_USEDEP}] + virtual/libcrypt:=[${MULTILIB_USEDEP}] + virtual/libiconv + $(python_gen_cond_dep ' + addc? ( + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/dnspython:=[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + net-dns/bind[gssapi] + ) + ads? ( + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/dnspython:=[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + net-dns/bind[gssapi] + ) + ') + acl? ( virtual/acl ) + ceph? ( sys-cluster/ceph ) + cluster? ( net-libs/rpcsvc-proto ) + cups? ( net-print/cups ) + debug? ( dev-util/lttng-ust ) + fam? ( virtual/fam ) + gpg? ( app-crypt/gpgme:= ) + json? ( dev-libs/jansson:= ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] ) + pam? ( sys-libs/pam ) + python? ( + sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}] + sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}] + sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}] + ) + snapper? ( sys-apps/dbus ) + system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl(-),${MULTILIB_USEDEP}] ) + system-mitkrb5? ( >=app-crypt/mit-krb5-1.19[${MULTILIB_USEDEP}] ) + !system-heimdal? ( !system-mitkrb5? ( sys-apps/keyutils[${MULTILIB_USEDEP}] ) ) + systemd? ( sys-apps/systemd:= ) + unwind? ( + llvm-libunwind? ( llvm-runtimes/libunwind:= ) + !llvm-libunwind? ( sys-libs/libunwind:= ) + ) + zeroconf? ( net-dns/avahi[dbus] ) +" +DEPEND="${COMMON_DEPEND} + dev-perl/JSON + net-libs/libtirpc[${MULTILIB_USEDEP}] + net-libs/rpcsvc-proto + spotlight? ( dev-libs/glib ) + test? ( + >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] + $(python_gen_cond_dep "dev-python/python-subunit[\${PYTHON_USEDEP},${MULTILIB_USEDEP}]" ) + !system-mitkrb5? ( + >=net-dns/resolv_wrapper-1.1.4 + >=net-libs/socket_wrapper-1.1.9 + >=sys-libs/nss_wrapper-1.1.3 + >=sys-libs/uid_wrapper-1.2.1 + ) + )" +RDEPEND="${COMMON_DEPEND} + client? ( net-fs/cifs-utils[ads?] ) + python? ( ${PYTHON_DEPS} ) + selinux? ( sec-policy/selinux-samba ) +" +BDEPEND="${PYTHON_DEPS} + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-4.18.4-pam.patch + "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.patch +) + +CONFDIR="${FILESDIR}/4.4" +WAF_BINARY="${S}/buildtools/bin/waf" +SHAREDMODS="" + +pkg_setup() { + # Package fails to build with distcc + export DISTCC_DISABLE=1 + export PYTHONHASHSEED=1 + + python-single-r1_pkg_setup + + SHAREDMODS="$(usev !snapper '!')vfs_snapper" + if use cluster ; then + SHAREDMODS+=",idmap_rid,idmap_tdb2,idmap_ad" + elif use ads ; then + SHAREDMODS+=",idmap_ad" + fi +} + +check_samba_dep_versions() { + actual_talloc_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/talloc/wscript || die) + if [[ ${actual_talloc_version} != ${TALLOC_VERSION} ]] ; then + eerror "Source talloc version: ${TALLOC_VERSION}" + eerror "Ebuild talloc version: ${actual_talloc_version}" + die "Ebuild needs to fix TALLOC_VERSION!" + fi + + actual_tdb_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tdb/wscript || die) + if [[ ${actual_tdb_version} != ${TDB_VERSION} ]] ; then + eerror "Source tdb version: ${TDB_VERSION}" + eerror "Ebuild tdb version: ${actual_tdb_version}" + die "Ebuild needs to fix TDB_VERSION!" + fi + + actual_tevent_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tevent/wscript || die) + if [[ ${actual_tevent_version} != ${TEVENT_VERSION} ]] ; then + eerror "Source tevent version: ${TEVENT_VERSION}" + eerror "Ebuild tevent version: ${actual_tevent_version}" + die "Ebuild needs to fix TEVENT_VERSION!" + fi +} + +src_prepare() { + default + + check_samba_dep_versions + + # Unbundle dnspython + sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die + + # Unbundle iso8601 unless tests are enabled + if ! use test ; then + sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die + fi + + # Ugly hackaround for bug #592502 + #cp /usr/include/tevent_internal.h "${S}"/lib/tevent/ || die + + # bug #943942 + append-cflags -std=gnu17 + + # WAF + multilib_copy_sources +} + +multilib_src_configure() { + # When specifying libs for samba build you must append NONE to the end to + # stop it automatically including things + local bundled_libs="NONE" + if ! use system-heimdal && ! use system-mitkrb5 ; then + bundled_libs="heimbase,heimntlm,hdb,kdc,krb5,wind,gssapi,hcrypto,hx509,roken,asn1,com_err,NONE" + fi + + # We "use" bundled cmocka when we're not running tests as we're + # not using it anyway. Means we avoid making users install it for + # no reason. bug #802531 + if ! use test ; then + bundled_libs="cmocka,${bundled_libs}" + fi + + # bug #874633 + if use llvm-libunwind ; then + mkdir -p "${T}"/${ABI}/pkgconfig || die + + local -x PKG_CONFIG_PATH="${T}/${ABI}/pkgconfig:${PKG_CONFIG_PATH}" + + cat <<-EOF > "${T}"/${ABI}/pkgconfig/libunwind-generic.pc || die + exec_prefix=\${prefix} + libdir=/usr/$(get_libdir) + includedir=\${prefix}/include + + Name: libunwind-generic + Description: libunwind generic library + Version: 1.70 + Libs: -L\${libdir} -lunwind + Cflags: -I\${includedir} + EOF + fi + + local myconf=( + --enable-fhs + --sysconfdir="${EPREFIX}/etc" + --localstatedir="${EPREFIX}/var" + --with-modulesdir="${EPREFIX}/usr/$(get_libdir)/samba" + --with-piddir="${EPREFIX}/run/${PN}" + --bundled-libraries="${bundled_libs}" + --builtin-libraries=NONE + --disable-rpath + --disable-rpath-install + --nopyc + --nopyo + --without-winexe + $(multilib_native_use_with acl acl-support) + $(multilib_native_usex addc '' '--without-ad-dc') + $(multilib_native_use_enable ceph cephfs) + $(multilib_native_use_with cluster cluster-support) + $(multilib_native_use_enable cups) + --without-dmapi + $(multilib_native_use_with fam) + $(multilib_native_use_enable glusterfs) + $(multilib_native_use_with gpg gpgme) + $(multilib_native_use_with json) + $(multilib_native_use_enable iprint) + $(multilib_native_use_with pam) + $(multilib_native_usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '') + $(multilib_native_use_with quota quotas) + $(multilib_native_use_with regedit) + $(multilib_native_use_enable spotlight) + $(multilib_native_use_with syslog) + $(multilib_native_use_with systemd) + --systemd-install-services + --with-systemddir="$(systemd_get_systemunitdir)" + $(multilib_native_use_with unwind libunwind) + $(multilib_native_use_with winbind) + $(multilib_native_usex python '' '--disable-python') + $(multilib_native_use_enable zeroconf avahi) + $(multilib_native_usex test '--enable-selftest' '') + $(usev system-mitkrb5 "--with-system-mitkrb5 ${ESYSROOT}/usr $(multilib_native_usex addc --with-experimental-mit-ad-dc '')") + $(use_with ads) + $(use_with debug lttng) + $(use_with ldap) + $(use_with profiling-data) + --private-libraries='!ldb' + $(usex lmdb '' --without-ldb-lmdb) + # bug #683148 + --jobs 1 + ) + + if multilib_is_native_abi ; then + myconf+=( --with-shared-modules=${SHAREDMODS} ) + else + myconf+=( --with-shared-modules=DEFAULT,!vfs_snapper ) + fi + + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) # bug 914898 + + append-cppflags "-I${ESYSROOT}/usr/include/et" + + waf-utils_src_configure ${myconf[@]} +} + +multilib_src_compile() { + waf-utils_src_compile +} + +multilib_src_test() { + if multilib_is_native_abi ; then + "${WAF_BINARY}" test || die "Test failed" + fi +} + +multilib_src_install() { + waf-utils_src_install + + # Make all .so files executable + find "${ED}" -type f -name "*.so" -exec chmod +x {} + || die + # smbspool_krb5_wrapper must only be accessible to root, bug #880739 + find "${ED}" -type f -name "smbspool_krb5_wrapper" -exec chmod go-rwx {} + || die + + # Remove empty runtime dirs created by build system (bug #892341) + find "${ED}"/{run,var} -type d -empty -delete || die + + if multilib_is_native_abi ; then + # Install ldap schema for server (bug #491002) + if use ldap ; then + insinto /etc/openldap/schema + doins examples/LDAP/samba.schema + fi + + # Create symlink for cups (bug #552310) + if use cups ; then + dosym ../../../bin/smbspool \ + /usr/libexec/cups/backend/smb + fi + + # Install example config file + insinto /etc/samba + doins examples/smb.conf.default + + # Fix paths in example file (bug #603964) + sed \ + -e '/log file =/s@/usr/local/samba/var/@/var/log/samba/@' \ + -e '/include =/s@/usr/local/samba/lib/@/etc/samba/@' \ + -e '/path =/s@/usr/local/samba/lib/@/var/lib/samba/@' \ + -e '/path =/s@/usr/local/samba/@/var/lib/samba/@' \ + -e '/path =/s@/usr/spool/samba@/var/spool/samba@' \ + -i "${ED}"/etc/samba/smb.conf.default || die + + # Install init script and conf.d file + newinitd "${CONFDIR}/samba4.initd-r1" samba + newconfd "${CONFDIR}/samba4.confd" samba + + dotmpfiles "${FILESDIR}"/samba.conf + if ! use addc ; then + rm "${D}/$(systemd_get_systemunitdir)/samba.service" \ + || die + fi + + # Preserve functionality for old gentoo-specific unit names + dosym nmb.service "$(systemd_get_systemunitdir)/nmbd.service" + dosym smb.service "$(systemd_get_systemunitdir)/smbd.service" + dosym winbind.service "$(systemd_get_systemunitdir)/winbindd.service" + + use python && python_optimize + fi + + if use pam && use winbind ; then + newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind + # bugs #376853 and #590374 + insinto /etc/security + doins examples/pam_winbind/pam_winbind.conf + fi +} + +pkg_postinst() { + tmpfiles_process samba.conf +} diff --git a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.22.6.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.22.6.ebuild new file mode 100644 index 00000000000..4d410b5527b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.22.6.ebuild @@ -0,0 +1,393 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_REQ_USE="threads(+),xml(+)" +inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info systemd pam tmpfiles + +DESCRIPTION="Samba Suite Version 4" +HOMEPAGE="https://samba.org/" + +MY_PV="${PV/_rc/rc}" +MY_P="${PN}-${MY_PV}" +if [[ ${PV} == *_rc* ]]; then + SRC_URI="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz" +else + SRC_URI="https://download.samba.org/pub/samba/stable/${MY_P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-3" +SLOT="0/2.10.0" +IUSE="acl addc ads ceph client cluster cups debug fam glusterfs gpg" +IUSE+=" iprint json ldap llvm-libunwind lmdb pam profiling-data python quota" +IUSE+=" +regedit selinux snapper spotlight syslog system-heimdal +system-mitkrb5" +IUSE+=" systemd test unwind winbind zeroconf" + +# ldap needs ads (bug #941578) +REQUIRED_USE="${PYTHON_REQUIRED_USE} + addc? ( json python !system-mitkrb5 winbind ) + ads? ( acl ldap python winbind ) + cluster? ( ads ) + gpg? ( addc ) + ldap? ( ads ) + spotlight? ( json ) + test? ( python ) + !ads? ( !addc ) + ?? ( system-heimdal system-mitkrb5 ) +" + +# the test suite is messed, it uses system-installed samba +# bits instead of what was built, tests things disabled via use +# flags, and generally just fails to work in a way ebuilds could +# rely on in its current state +RESTRICT="test" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/samba-4.0/policy.h + /usr/include/samba-4.0/dcerpc_server.h + /usr/include/samba-4.0/ctdb.h + /usr/include/samba-4.0/ctdb_client.h + /usr/include/samba-4.0/ctdb_protocol.h + /usr/include/samba-4.0/ctdb_private.h + /usr/include/samba-4.0/ctdb_typesafe_cb.h + /usr/include/samba-4.0/ctdb_version.h +) + +TALLOC_VERSION="2.4.3" +TDB_VERSION="1.4.13" +TEVENT_VERSION="0.16.2" + +COMMON_DEPEND=" + >=app-arch/libarchive-3.1.2:=[${MULTILIB_USEDEP}] + dev-lang/perl:= + dev-libs/icu:=[${MULTILIB_USEDEP}] + dev-libs/libbsd[${MULTILIB_USEDEP}] + dev-libs/libtasn1:=[${MULTILIB_USEDEP}] + dev-libs/popt[${MULTILIB_USEDEP}] + dev-perl/Parse-Yapp + >=net-libs/gnutls-3.4.7:=[${MULTILIB_USEDEP}] + >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}] + !sys-libs/ldb + sys-libs/libcap[${MULTILIB_USEDEP}] + sys-libs/liburing:=[${MULTILIB_USEDEP}] + sys-libs/ncurses:= + sys-libs/readline:= + >=sys-libs/talloc-${TALLOC_VERSION}[${MULTILIB_USEDEP}] + >=sys-libs/tdb-${TDB_VERSION}[${MULTILIB_USEDEP}] + >=sys-libs/tevent-${TEVENT_VERSION}[${MULTILIB_USEDEP}] + virtual/zlib:=[${MULTILIB_USEDEP}] + virtual/libcrypt:=[${MULTILIB_USEDEP}] + virtual/libiconv + $(python_gen_cond_dep ' + addc? ( + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/dnspython:=[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + net-dns/bind[gssapi] + ) + ads? ( + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/dnspython:=[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + net-dns/bind[gssapi] + ) + ') + acl? ( virtual/acl ) + ceph? ( sys-cluster/ceph ) + cluster? ( net-libs/rpcsvc-proto ) + cups? ( net-print/cups ) + debug? ( dev-util/lttng-ust ) + fam? ( virtual/fam ) + gpg? ( app-crypt/gpgme:= ) + json? ( dev-libs/jansson:= ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] ) + pam? ( sys-libs/pam ) + python? ( + sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}] + sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}] + sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}] + ) + snapper? ( sys-apps/dbus ) + system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl(-),${MULTILIB_USEDEP}] ) + system-mitkrb5? ( >=app-crypt/mit-krb5-1.19[${MULTILIB_USEDEP}] ) + !system-heimdal? ( !system-mitkrb5? ( sys-apps/keyutils[${MULTILIB_USEDEP}] ) ) + systemd? ( sys-apps/systemd:= ) + unwind? ( + llvm-libunwind? ( llvm-runtimes/libunwind:= ) + !llvm-libunwind? ( sys-libs/libunwind:= ) + ) + zeroconf? ( net-dns/avahi[dbus] ) +" +DEPEND="${COMMON_DEPEND} + dev-perl/JSON + net-libs/libtirpc[${MULTILIB_USEDEP}] + net-libs/rpcsvc-proto + spotlight? ( dev-libs/glib ) + test? ( + >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] + $(python_gen_cond_dep "dev-python/python-subunit[\${PYTHON_USEDEP},${MULTILIB_USEDEP}]" ) + !system-mitkrb5? ( + >=net-dns/resolv_wrapper-1.1.4 + >=net-libs/socket_wrapper-1.1.9 + >=sys-libs/nss_wrapper-1.1.3 + >=sys-libs/uid_wrapper-1.2.1 + ) + )" +RDEPEND="${COMMON_DEPEND} + client? ( net-fs/cifs-utils[ads?] ) + python? ( ${PYTHON_DEPS} ) + selinux? ( sec-policy/selinux-samba ) +" +BDEPEND="${PYTHON_DEPS} + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-4.18.4-pam.patch + "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.patch +) + +CONFDIR="${FILESDIR}/4.4" +WAF_BINARY="${S}/buildtools/bin/waf" +SHAREDMODS="" + +pkg_setup() { + # Package fails to build with distcc + export DISTCC_DISABLE=1 + export PYTHONHASHSEED=1 + + python-single-r1_pkg_setup + + SHAREDMODS="$(usev !snapper '!')vfs_snapper" + if use cluster ; then + SHAREDMODS+=",idmap_rid,idmap_tdb2,idmap_ad" + elif use ads ; then + SHAREDMODS+=",idmap_ad" + fi +} + +check_samba_dep_versions() { + actual_talloc_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/talloc/wscript || die) + if [[ ${actual_talloc_version} != ${TALLOC_VERSION} ]] ; then + eerror "Source talloc version: ${TALLOC_VERSION}" + eerror "Ebuild talloc version: ${actual_talloc_version}" + die "Ebuild needs to fix TALLOC_VERSION!" + fi + + actual_tdb_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tdb/wscript || die) + if [[ ${actual_tdb_version} != ${TDB_VERSION} ]] ; then + eerror "Source tdb version: ${TDB_VERSION}" + eerror "Ebuild tdb version: ${actual_tdb_version}" + die "Ebuild needs to fix TDB_VERSION!" + fi + + actual_tevent_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tevent/wscript || die) + if [[ ${actual_tevent_version} != ${TEVENT_VERSION} ]] ; then + eerror "Source tevent version: ${TEVENT_VERSION}" + eerror "Ebuild tevent version: ${actual_tevent_version}" + die "Ebuild needs to fix TEVENT_VERSION!" + fi +} + +src_prepare() { + default + + check_samba_dep_versions + + # Unbundle dnspython + sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die + + # Unbundle iso8601 unless tests are enabled + if ! use test ; then + sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die + fi + + # Ugly hackaround for bug #592502 + #cp /usr/include/tevent_internal.h "${S}"/lib/tevent/ || die + + # bug #943942 + append-cflags -std=gnu17 + + # WAF + multilib_copy_sources +} + +multilib_src_configure() { + # When specifying libs for samba build you must append NONE to the end to + # stop it automatically including things + local bundled_libs="NONE" + if ! use system-heimdal && ! use system-mitkrb5 ; then + bundled_libs="heimbase,heimntlm,hdb,kdc,krb5,wind,gssapi,hcrypto,hx509,roken,asn1,com_err,NONE" + fi + + # We "use" bundled cmocka when we're not running tests as we're + # not using it anyway. Means we avoid making users install it for + # no reason. bug #802531 + if ! use test ; then + bundled_libs="cmocka,${bundled_libs}" + fi + + # bug #874633 + if use llvm-libunwind ; then + mkdir -p "${T}"/${ABI}/pkgconfig || die + + local -x PKG_CONFIG_PATH="${T}/${ABI}/pkgconfig:${PKG_CONFIG_PATH}" + + cat <<-EOF > "${T}"/${ABI}/pkgconfig/libunwind-generic.pc || die + exec_prefix=\${prefix} + libdir=/usr/$(get_libdir) + includedir=\${prefix}/include + + Name: libunwind-generic + Description: libunwind generic library + Version: 1.70 + Libs: -L\${libdir} -lunwind + Cflags: -I\${includedir} + EOF + fi + + local myconf=( + --enable-fhs + --sysconfdir="${EPREFIX}/etc" + --localstatedir="${EPREFIX}/var" + --with-modulesdir="${EPREFIX}/usr/$(get_libdir)/samba" + --with-piddir="${EPREFIX}/run/${PN}" + --bundled-libraries="${bundled_libs}" + --builtin-libraries=NONE + --disable-rpath + --disable-rpath-install + --nopyc + --nopyo + --without-winexe + $(multilib_native_use_with acl acl-support) + $(multilib_native_usex addc '' '--without-ad-dc') + $(multilib_native_use_enable ceph cephfs) + $(multilib_native_use_with cluster cluster-support) + $(multilib_native_use_enable cups) + --without-dmapi + $(multilib_native_use_with fam) + $(multilib_native_use_enable glusterfs) + $(multilib_native_use_with gpg gpgme) + $(multilib_native_use_with json) + $(multilib_native_use_enable iprint) + $(multilib_native_use_with pam) + $(multilib_native_usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '') + $(multilib_native_use_with quota quotas) + $(multilib_native_use_with regedit) + $(multilib_native_use_enable spotlight) + $(multilib_native_use_with syslog) + $(multilib_native_use_with systemd) + --systemd-install-services + --with-systemddir="$(systemd_get_systemunitdir)" + $(multilib_native_use_with unwind libunwind) + $(multilib_native_use_with winbind) + $(multilib_native_usex python '' '--disable-python') + $(multilib_native_use_enable zeroconf avahi) + $(multilib_native_usex test '--enable-selftest' '') + $(usev system-mitkrb5 "--with-system-mitkrb5 ${ESYSROOT}/usr $(multilib_native_usex addc --with-experimental-mit-ad-dc '')") + $(use_with ads) + $(use_with debug lttng) + $(use_with ldap) + $(use_with profiling-data) + --private-libraries='!ldb' + $(usex lmdb '' --without-ldb-lmdb) + # bug #683148 + --jobs 1 + ) + + if multilib_is_native_abi ; then + myconf+=( --with-shared-modules=${SHAREDMODS} ) + else + myconf+=( --with-shared-modules=DEFAULT,!vfs_snapper ) + fi + + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) # bug 914898 + + append-cppflags "-I${ESYSROOT}/usr/include/et" + + waf-utils_src_configure ${myconf[@]} +} + +multilib_src_compile() { + waf-utils_src_compile +} + +multilib_src_test() { + if multilib_is_native_abi ; then + "${WAF_BINARY}" test || die "Test failed" + fi +} + +multilib_src_install() { + waf-utils_src_install + + # Make all .so files executable + find "${ED}" -type f -name "*.so" -exec chmod +x {} + || die + # smbspool_krb5_wrapper must only be accessible to root, bug #880739 + find "${ED}" -type f -name "smbspool_krb5_wrapper" -exec chmod go-rwx {} + || die + + # Remove empty runtime dirs created by build system (bug #892341) + find "${ED}"/{run,var} -type d -empty -delete || die + + if multilib_is_native_abi ; then + # Install ldap schema for server (bug #491002) + if use ldap ; then + insinto /etc/openldap/schema + doins examples/LDAP/samba.schema + fi + + # Create symlink for cups (bug #552310) + if use cups ; then + dosym ../../../bin/smbspool \ + /usr/libexec/cups/backend/smb + fi + + # Install example config file + insinto /etc/samba + doins examples/smb.conf.default + + # Fix paths in example file (bug #603964) + sed \ + -e '/log file =/s@/usr/local/samba/var/@/var/log/samba/@' \ + -e '/include =/s@/usr/local/samba/lib/@/etc/samba/@' \ + -e '/path =/s@/usr/local/samba/lib/@/var/lib/samba/@' \ + -e '/path =/s@/usr/local/samba/@/var/lib/samba/@' \ + -e '/path =/s@/usr/spool/samba@/var/spool/samba@' \ + -i "${ED}"/etc/samba/smb.conf.default || die + + # Install init script and conf.d file + newinitd "${CONFDIR}/samba4.initd-r1" samba + newconfd "${CONFDIR}/samba4.confd" samba + + dotmpfiles "${FILESDIR}"/samba.conf + if ! use addc ; then + rm "${D}/$(systemd_get_systemunitdir)/samba.service" \ + || die + fi + + # Preserve functionality for old gentoo-specific unit names + dosym nmb.service "$(systemd_get_systemunitdir)/nmbd.service" + dosym smb.service "$(systemd_get_systemunitdir)/smbd.service" + dosym winbind.service "$(systemd_get_systemunitdir)/winbindd.service" + + use python && python_optimize + fi + + if use pam && use winbind ; then + newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind + # bugs #376853 and #590374 + insinto /etc/security + doins examples/pam_winbind/pam_winbind.conf + fi +} + +pkg_postinst() { + tmpfiles_process samba.conf +} diff --git a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.3.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.3.ebuild new file mode 100644 index 00000000000..288ddd8e855 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.3.ebuild @@ -0,0 +1,396 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_REQ_USE="threads(+),xml(+)" +inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info systemd pam tmpfiles + +DESCRIPTION="Samba Suite Version 4" +HOMEPAGE="https://samba.org/" + +MY_PV="${PV/_rc/rc}" +MY_P="${PN}-${MY_PV}" +if [[ ${PV} == *_rc* ]]; then + SRC_URI="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz" +else + SRC_URI="https://download.samba.org/pub/samba/stable/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-3" +SLOT="0/2.11.0" +IUSE="acl addc ads ceph client cluster cups debug fam glusterfs gpg" +IUSE+=" iprint json ldap llvm-libunwind lmdb pam profiling-data python quota" +IUSE+=" +regedit selinux snapper spotlight syslog system-heimdal +system-mitkrb5" +IUSE+=" systemd test unwind winbind zeroconf" + +# ldap needs ads (bug #941578) +REQUIRED_USE="${PYTHON_REQUIRED_USE} + addc? ( json python !system-mitkrb5 winbind ) + ads? ( acl ldap python winbind ) + cluster? ( ads ) + gpg? ( addc ) + ldap? ( ads ) + spotlight? ( json ) + test? ( python ) + !ads? ( !addc ) + ?? ( system-heimdal system-mitkrb5 ) +" + +# the test suite is messed, it uses system-installed samba +# bits instead of what was built, tests things disabled via use +# flags, and generally just fails to work in a way ebuilds could +# rely on in its current state +RESTRICT="test" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/samba-4.0/policy.h + /usr/include/samba-4.0/dcerpc_server.h + /usr/include/samba-4.0/ctdb.h + /usr/include/samba-4.0/ctdb_client.h + /usr/include/samba-4.0/ctdb_protocol.h + /usr/include/samba-4.0/ctdb_private.h + /usr/include/samba-4.0/ctdb_typesafe_cb.h + /usr/include/samba-4.0/ctdb_version.h +) + +TALLOC_VERSION="2.4.3" +TDB_VERSION="1.4.14" +TEVENT_VERSION="0.17.1" + +COMMON_DEPEND=" + >=app-arch/libarchive-3.1.2:=[${MULTILIB_USEDEP}] + dev-lang/perl:= + dev-libs/icu:=[${MULTILIB_USEDEP}] + dev-libs/libbsd[${MULTILIB_USEDEP}] + dev-libs/libtasn1:=[${MULTILIB_USEDEP}] + dev-libs/popt[${MULTILIB_USEDEP}] + dev-perl/Parse-Yapp + >=net-libs/gnutls-3.4.7:=[${MULTILIB_USEDEP}] + >=net-libs/ngtcp2-1.12.0[${MULTILIB_USEDEP}] + >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}] + !sys-libs/ldb + sys-libs/libcap[${MULTILIB_USEDEP}] + sys-libs/liburing:=[${MULTILIB_USEDEP}] + sys-libs/ncurses:= + sys-libs/readline:= + >=sys-libs/talloc-${TALLOC_VERSION}[${MULTILIB_USEDEP}] + >=sys-libs/tdb-${TDB_VERSION}[${MULTILIB_USEDEP}] + >=sys-libs/tevent-${TEVENT_VERSION}[${MULTILIB_USEDEP}] + virtual/zlib:=[${MULTILIB_USEDEP}] + virtual/libcrypt:=[${MULTILIB_USEDEP}] + virtual/libiconv + $(python_gen_cond_dep ' + addc? ( + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/dnspython:=[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + net-dns/bind[gssapi] + ) + ads? ( + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/dnspython:=[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + net-dns/bind[gssapi] + ) + ') + acl? ( virtual/acl ) + ceph? ( sys-cluster/ceph ) + cluster? ( net-libs/rpcsvc-proto ) + cups? ( net-print/cups ) + debug? ( dev-util/lttng-ust ) + fam? ( virtual/fam ) + gpg? ( app-crypt/gpgme:= ) + json? ( dev-libs/jansson:= ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] ) + pam? ( sys-libs/pam ) + python? ( + sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}] + sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}] + sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}] + ) + snapper? ( sys-apps/dbus ) + system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl(-),${MULTILIB_USEDEP}] ) + system-mitkrb5? ( >=app-crypt/mit-krb5-1.19[${MULTILIB_USEDEP}] ) + !system-heimdal? ( !system-mitkrb5? ( sys-apps/keyutils[${MULTILIB_USEDEP}] ) ) + systemd? ( sys-apps/systemd:= ) + unwind? ( + llvm-libunwind? ( llvm-runtimes/libunwind:= ) + !llvm-libunwind? ( sys-libs/libunwind:= ) + ) + zeroconf? ( net-dns/avahi[dbus] ) +" +DEPEND="${COMMON_DEPEND} + dev-perl/JSON + net-libs/libtirpc[${MULTILIB_USEDEP}] + net-libs/rpcsvc-proto + spotlight? ( dev-libs/glib ) + test? ( + >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] + $(python_gen_cond_dep "dev-python/python-subunit[\${PYTHON_USEDEP},${MULTILIB_USEDEP}]" ) + !system-mitkrb5? ( + >=net-dns/resolv_wrapper-1.1.4 + >=net-libs/socket_wrapper-1.1.9 + >=sys-libs/nss_wrapper-1.1.3 + >=sys-libs/uid_wrapper-1.2.1 + ) + )" +RDEPEND="${COMMON_DEPEND} + client? ( net-fs/cifs-utils[ads?] ) + python? ( ${PYTHON_DEPS} ) + selinux? ( sec-policy/selinux-samba ) +" +BDEPEND="${PYTHON_DEPS} + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-4.18.4-pam.patch + "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.patch +) + +CONFDIR="${FILESDIR}/4.4" +WAF_BINARY="${S}/buildtools/bin/waf" +SHAREDMODS="" + +pkg_setup() { + # Package fails to build with distcc + export DISTCC_DISABLE=1 + export PYTHONHASHSEED=1 + + python-single-r1_pkg_setup + + SHAREDMODS="$(usev !snapper '!')vfs_snapper" + if use cluster ; then + SHAREDMODS+=",idmap_rid,idmap_tdb2,idmap_ad" + elif use ads ; then + SHAREDMODS+=",idmap_ad" + fi +} + +check_samba_dep_versions() { + actual_talloc_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/talloc/wscript || die) + if [[ ${actual_talloc_version} != ${TALLOC_VERSION} ]] ; then + eerror "Source talloc version: ${TALLOC_VERSION}" + eerror "Ebuild talloc version: ${actual_talloc_version}" + die "Ebuild needs to fix TALLOC_VERSION!" + fi + + actual_tdb_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tdb/wscript || die) + if [[ ${actual_tdb_version} != ${TDB_VERSION} ]] ; then + eerror "Source tdb version: ${TDB_VERSION}" + eerror "Ebuild tdb version: ${actual_tdb_version}" + die "Ebuild needs to fix TDB_VERSION!" + fi + + actual_tevent_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tevent/wscript || die) + if [[ ${actual_tevent_version} != ${TEVENT_VERSION} ]] ; then + eerror "Source tevent version: ${TEVENT_VERSION}" + eerror "Ebuild tevent version: ${actual_tevent_version}" + die "Ebuild needs to fix TEVENT_VERSION!" + fi +} + +src_prepare() { + default + + check_samba_dep_versions + + # Unbundle dnspython + sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die + + # Unbundle iso8601 unless tests are enabled + if ! use test ; then + sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die + fi + + # Ugly hackaround for bug #592502 + #cp /usr/include/tevent_internal.h "${S}"/lib/tevent/ || die + + # bug #943942 + append-cflags -std=gnu17 + + # WAF + multilib_copy_sources +} + +multilib_src_configure() { + # When specifying libs for samba build you must append NONE to the end to + # stop it automatically including things + local bundled_libs="NONE" + if ! use system-heimdal && ! use system-mitkrb5 ; then + bundled_libs="heimbase,heimntlm,hdb,kdc,krb5,wind,gssapi,hcrypto,hx509,roken,asn1,com_err,NONE" + fi + + # We "use" bundled cmocka when we're not running tests as we're + # not using it anyway. Means we avoid making users install it for + # no reason. bug #802531 + if ! use test ; then + bundled_libs="cmocka,${bundled_libs}" + fi + + # bug #874633 + if use llvm-libunwind ; then + mkdir -p "${T}"/${ABI}/pkgconfig || die + + local -x PKG_CONFIG_PATH="${T}/${ABI}/pkgconfig:${PKG_CONFIG_PATH}" + + cat <<-EOF > "${T}"/${ABI}/pkgconfig/libunwind-generic.pc || die + exec_prefix=\${prefix} + libdir=/usr/$(get_libdir) + includedir=\${prefix}/include + + Name: libunwind-generic + Description: libunwind generic library + Version: 1.70 + Libs: -L\${libdir} -lunwind + Cflags: -I\${includedir} + EOF + fi + + bundled_libs="libquic,${bundled_libs}" + + local myconf=( + --enable-fhs + --sysconfdir="${EPREFIX}/etc" + --localstatedir="${EPREFIX}/var" + --with-modulesdir="${EPREFIX}/usr/$(get_libdir)/samba" + --with-piddir="${EPREFIX}/run/${PN}" + --bundled-libraries="${bundled_libs}" + --builtin-libraries=NONE + --disable-rpath + --disable-rpath-install + --nopyc + --nopyo + --without-winexe + $(multilib_native_use_with acl acl-support) + $(multilib_native_usex addc '' '--without-ad-dc') + $(multilib_native_use_enable ceph cephfs) + $(multilib_native_use_with cluster cluster-support) + $(multilib_native_use_enable cups) + --without-dmapi + $(multilib_native_use_with fam) + $(multilib_native_use_enable glusterfs) + $(multilib_native_use_with gpg gpgme) + $(multilib_native_use_with json) + $(multilib_native_use_enable iprint) + $(multilib_native_use_with pam) + $(multilib_native_usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '') + $(multilib_native_use_with quota quotas) + $(multilib_native_use_with regedit) + $(multilib_native_use_enable spotlight) + $(multilib_native_use_with syslog) + $(multilib_native_use_with systemd) + --systemd-install-services + --with-systemddir="$(systemd_get_systemunitdir)" + $(multilib_native_use_with unwind libunwind) + $(multilib_native_use_with winbind) + $(multilib_native_usex python '' '--disable-python') + $(multilib_native_use_enable zeroconf avahi) + $(multilib_native_usex test '--enable-selftest' '') + $(usev system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')") + $(use_with ads) + $(use_with debug lttng) + $(use_with ldap) + $(use_with profiling-data) + --private-libraries='!ldb' + $(usex lmdb '' --without-ldb-lmdb) + # bug #683148 + --jobs 1 + ) + + if multilib_is_native_abi ; then + myconf+=( --with-shared-modules=${SHAREDMODS} ) + else + myconf+=( --with-shared-modules=DEFAULT,!vfs_snapper ) + fi + + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) # bug 914898 + + append-cppflags "-I${ESYSROOT}/usr/include/et" + + waf-utils_src_configure ${myconf[@]} +} + +multilib_src_compile() { + waf-utils_src_compile +} + +multilib_src_test() { + if multilib_is_native_abi ; then + "${WAF_BINARY}" test || die "Test failed" + fi +} + +multilib_src_install() { + waf-utils_src_install + + # Make all .so files executable + find "${ED}" -type f -name "*.so" -exec chmod +x {} + || die + # smbspool_krb5_wrapper must only be accessible to root, bug #880739 + find "${ED}" -type f -name "smbspool_krb5_wrapper" -exec chmod go-rwx {} + || die + + # Remove empty runtime dirs created by build system (bug #892341) + find "${ED}"/{run,var} -type d -empty -delete || die + + if multilib_is_native_abi ; then + # Install ldap schema for server (bug #491002) + if use ldap ; then + insinto /etc/openldap/schema + doins examples/LDAP/samba.schema + fi + + # Create symlink for cups (bug #552310) + if use cups ; then + dosym ../../../bin/smbspool \ + /usr/libexec/cups/backend/smb + fi + + # Install example config file + insinto /etc/samba + doins examples/smb.conf.default + + # Fix paths in example file (bug #603964) + sed \ + -e '/log file =/s@/usr/local/samba/var/@/var/log/samba/@' \ + -e '/include =/s@/usr/local/samba/lib/@/etc/samba/@' \ + -e '/path =/s@/usr/local/samba/lib/@/var/lib/samba/@' \ + -e '/path =/s@/usr/local/samba/@/var/lib/samba/@' \ + -e '/path =/s@/usr/spool/samba@/var/spool/samba@' \ + -i "${ED}"/etc/samba/smb.conf.default || die + + # Install init script and conf.d file + newinitd "${CONFDIR}/samba4.initd-r1" samba + newconfd "${CONFDIR}/samba4.confd" samba + + dotmpfiles "${FILESDIR}"/samba.conf + if ! use addc ; then + rm "${D}/$(systemd_get_systemunitdir)/samba.service" \ + || die + fi + + # Preserve functionality for old gentoo-specific unit names + dosym nmb.service "$(systemd_get_systemunitdir)/nmbd.service" + dosym smb.service "$(systemd_get_systemunitdir)/smbd.service" + dosym winbind.service "$(systemd_get_systemunitdir)/winbindd.service" + + use python && python_optimize + fi + + if use pam && use winbind ; then + newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind + # bugs #376853 and #590374 + insinto /etc/security + doins examples/pam_winbind/pam_winbind.conf + fi +} + +pkg_postinst() { + tmpfiles_process samba.conf +} diff --git a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/Manifest b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/Manifest index 9a71dff8b4c..3100e6b719b 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/Manifest @@ -1,4 +1,6 @@ DIST gnutls-3.8.10.tar.xz 6909856 BLAKE2B 0b62e93b2818d2265ca11e561724547fa3c24d08986eb77ea743b4af52773db975c1859164c7d405d9a9bedfa981af58f10f85100b6c0e3542a38c49af407a4d SHA512 d453bd4527af95cb3905ce8753ceafd969e3f442ad1d148544a233ebf13285b999930553a805a0511293cc25390bb6a040260df5544a7c55019640f920ad3d92 DIST gnutls-3.8.10.tar.xz.sig 566 BLAKE2B 32af044eb25978b752428d72a597f44457b6f3979d79e5b9e224523d6ef3bd213a0887960dddce84b97db78a9ebbbbd6b034adaa0dd7a1dd2d1db30527f5b42c SHA512 72d6dd2c23f768f5041c3dca0f49b3f60cd01fc960ce77f097094a2aae6d76fddeb6295c425e3750c711d5f700957a62268aecc4873e53c31abb60eecf0fd4a8 +DIST gnutls-3.8.11.tar.xz 6939944 BLAKE2B 54ec3fb396187294ae59c65fa92a515175d8ab19d9f5656569b372b5764b3090724aaa8cedd9467b530f2c74e86a6bfd956d3bd9439a7b69656dcc24e303cbe6 SHA512 68f9e5bec3aa6686fd3319cc9c88a5cc44e2a75144049fc9de5fb55fef2241b4e16996af4be5dd48308abbee8cfaed6c862903f6bb89aff5dfa5410075bd7386 +DIST gnutls-3.8.11.tar.xz.sig 566 BLAKE2B 411c166ae5daf58ec325a1f2b528cb40decff01bc78e30346394d7b9c88189b0c93891208045beac8d5e3f701e918b5a5bcf0914700396f391d024ff16266e5f SHA512 90883e5736299b103844ca42b85d371969ef66b50b60cb185e814ad9978598796e9ed07a590245ff28ac6ac084b1dee93fae0845576464583a5941835990957d DIST gnutls-3.8.9.tar.xz 6847364 BLAKE2B 0fd4751e24649a9c4b8ee7616350a4b6a504ec10b3ef39b450af25abc4935f30df9e8f732435166516f89c692ac7cb7a0aafb76c4c86c1faff53119840d26ae7 SHA512 b3b201671bf4e75325610a0291d4cd36a669718e22b3685246b64bde97b5bd94f463ab376ed817869869714115f4ff11bdc53c32604bb04a8ff8e10daa6d1fc7 DIST gnutls-3.8.9.tar.xz.sig 566 BLAKE2B 3e723c90186a00b33f1d036c564039f7340ae495400f05d31bb054dad93a9529be4761ba9f97b2df51e8483dd1433c902cf5b8f9bdc127d0f540c9faf82a8f1c SHA512 5a47a519ef35f21b59e2122528246d6109dd95667bfe5d01713b9a7efa2931f8523bf325b8824433f3117d63e0e50d66f8c467a7ee4bd2068ae039601a28441e diff --git a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.10-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.10-r1.ebuild index 45a48a147b0..bded588c414 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.10-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.10-r1.ebuild @@ -17,7 +17,7 @@ LICENSE="GPL-3 LGPL-2.1+" # Subslot format: # . SLOT="0/30.30" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="brotli +cxx dane doc examples +idn nls +openssl pkcs11 sslv2 sslv3 static-libs test test-full +tls-heartbeat tools zlib zstd" REQUIRED_USE="test-full? ( cxx dane doc examples idn nls openssl pkcs11 tls-heartbeat tools )" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.10.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.10.ebuild index 84c0b9c87a4..39988f5ddd9 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.10.ebuild @@ -17,7 +17,7 @@ LICENSE="GPL-3 LGPL-2.1+" # Subslot format: # . SLOT="0/30.30" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="brotli +cxx dane doc examples +idn nls +openssl pkcs11 sslv2 sslv3 static-libs test test-full +tls-heartbeat tools zlib zstd" REQUIRED_USE="test-full? ( cxx dane doc examples idn nls openssl pkcs11 tls-heartbeat tools )" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.11.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.11.ebuild new file mode 100644 index 00000000000..6663d49a15a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.11.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnutls.asc +inherit libtool multilib-minimal verify-sig + +DESCRIPTION="Secure communications library implementing the SSL, TLS and DTLS protocols" +HOMEPAGE="https://www.gnutls.org/" +SRC_URI="mirror://gnupg/gnutls/v$(ver_cut 1-2)/${P}.tar.xz" +SRC_URI+=" verify-sig? ( mirror://gnupg/gnutls/v$(ver_cut 1-2)/${P}.tar.xz.sig )" + +LICENSE="GPL-3 LGPL-2.1+" +# As of 3.8.0, the C++ library is header-only, but we won't drop the subslot +# component for it until libgnutls.so breaks ABI, to avoid pointless rebuilds. +# Subslot format: +# . +SLOT="0/30.30" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="brotli +cxx dane doc examples +idn nls +openssl pkcs11 sslv2 sslv3 static-libs test test-full +tls-heartbeat tools zlib zstd" +REQUIRED_USE="test-full? ( cxx dane doc examples idn nls openssl pkcs11 tls-heartbeat tools )" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-libs/libtasn1-4.9:=[${MULTILIB_USEDEP}] + dev-libs/libunistring:=[${MULTILIB_USEDEP}] + >=dev-libs/nettle-3.10:=[gmp,${MULTILIB_USEDEP}] + >=dev-libs/gmp-5.1.3-r1:=[${MULTILIB_USEDEP}] + brotli? ( >=app-arch/brotli-1.0.0:=[${MULTILIB_USEDEP}] ) + dane? ( >=net-dns/unbound-1.4.20:=[${MULTILIB_USEDEP}] ) + nls? ( >=virtual/libintl-0-r1:=[${MULTILIB_USEDEP}] ) + pkcs11? ( >=app-crypt/p11-kit-0.23.1[${MULTILIB_USEDEP}] ) + idn? ( >=net-dns/libidn2-0.16-r1:=[${MULTILIB_USEDEP}] ) + zlib? ( virtual/zlib:=[${MULTILIB_USEDEP}] ) + zstd? ( >=app-arch/zstd-1.3.0:=[${MULTILIB_USEDEP}] ) +" +DEPEND=" + ${RDEPEND} + test-full? ( sys-libs/libseccomp ) +" +BDEPEND=" + dev-build/gtk-doc-am + >=virtual/pkgconfig-0-r1 + doc? ( dev-util/gtk-doc ) + nls? ( sys-devel/gettext ) + test-full? ( + app-crypt/dieharder + || ( sys-libs/libfaketime >=app-misc/datefudge-1.22 ) + dev-libs/softhsm:2[-bindist(-)] + net-dialup/ppp + net-misc/socat + ) + verify-sig? ( >=sec-keys/openpgp-keys-gnutls-20240415 ) +" + +DOCS=( README.md doc/certtool.cfg ) + +HTML_DOCS=() + +QA_CONFIG_IMPL_DECL_SKIP=( + # gnulib FPs + MIN + alignof + static_assert +) + +src_prepare() { + default + + # bug #520818 + export TZ=UTC + + use doc && HTML_DOCS+=( doc/gnutls.html ) + + # don't try to use system certificate store on macOS, it is + # confusingly ignoring our ca-certificates and more importantly + # fails to compile in certain configurations + sed -i -e 's/__APPLE__/__NO_APPLE__/' lib/system/certs.c || die + + # Fails with some combinations of USE="brotli zlib zstd" + # https://gitlab.com/gnutls/gnutls/-/issues/1721 + # https://gitlab.com/gnutls/gnutls/-/merge_requests/1980 + cat <<-EOF > tests/system-override-compress-cert.sh || die + #!/bin/sh + exit 77 + EOF + chmod +x tests/system-override-compress-cert.sh || die + + elibtoolize +} + +multilib_src_configure() { + LINGUAS="${LINGUAS//en/en@boldquot en@quot}" + + local libconf=() + + # TPM needs to be tested before being enabled + # Note that this may add a libltdl dep when enabled. Check configure.ac. + libconf+=( + --without-tpm + --without-tpm2 + ) + + # hardware-accel is disabled on OSX because the asm files force + # GNU-stack (as doesn't support that) and when that's removed ld + # complains about duplicate symbols + [[ ${CHOST} == *-darwin* ]] && libconf+=( --disable-hardware-acceleration ) + + # -fanalyzer substantially slows down the build and isn't useful for + # us. It's useful for upstream as it's static analysis, but it's not + # useful when just getting something built. + export gl_cv_warn_c__fanalyzer=no + + local myeconfargs=( + --disable-valgrind-tests + $(multilib_native_enable manpages) + $(multilib_native_use_enable doc gtk-doc) + $(multilib_native_use_enable doc) + $(multilib_native_use_enable test tests) + $(multilib_native_use_enable test-full full-test-suite) + $(multilib_native_use_enable test-full seccomp-tests) + $(multilib_native_use_enable tools) + $(use_enable cxx) + $(use_enable dane libdane) + $(use_enable nls) + $(use_enable openssl openssl-compatibility) + $(use_enable sslv2 ssl2-support) + $(use_enable sslv3 ssl3-support) + $(use_enable static-libs static) + $(use_enable tls-heartbeat heartbeat-support) + $(use_with brotli '' link) + $(use_with idn) + $(use_with pkcs11 p11-kit) + $(use_with zlib '' link) + $(use_with zstd '' link) + --disable-rpath + --with-default-trust-store-file="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt + --with-unbound-root-key-file="${EPREFIX}"/etc/dnssec/root-anchors.txt + --without-included-libtasn1 + $("${S}/configure" --help | grep -o -- '--without-.*-prefix') + ) + + ECONF_SOURCE="${S}" econf "${libconf[@]}" "${myeconfargs[@]}" + + if [[ ${CHOST} == *-solaris* ]] ; then + # gnulib ends up defining its own pthread_mutexattr_gettype + # otherwise, which is causing versioning problems + echo "#define PTHREAD_IN_USE_DETECTION_HARD 1" >> config.h || die + fi +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -type f -name '*.la' -delete || die + + if use examples; then + docinto examples + dodoc doc/examples/*.c + fi +} diff --git a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.9-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.9-r1.ebuild index bebeaf8b1a1..9a7f3cfc804 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.9-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.9-r1.ebuild @@ -17,7 +17,7 @@ LICENSE="GPL-3 LGPL-2.1+" # Subslot format: # . SLOT="0/30.30" -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="brotli +cxx dane doc examples +idn nls +openssl pkcs11 sslv2 sslv3 static-libs test test-full +tls-heartbeat tools zlib zstd" REQUIRED_USE="test-full? ( cxx dane doc examples idn nls openssl pkcs11 tls-heartbeat tools )" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libmnl/libmnl-1.0.5.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libmnl/libmnl-1.0.5.ebuild index 8f0257b961b..2954bb817ff 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libmnl/libmnl-1.0.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/libmnl/libmnl-1.0.5.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://www.netfilter.org/projects/${PN}/files/${P}.tar.bz2 LICENSE="LGPL-2.1" SLOT="0/0.2.0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="examples" DEPEND="elibc_musl? ( sys-libs/queue-standalone )" diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/Manifest b/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/Manifest index 85ba2e865a8..54257b93486 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/Manifest @@ -4,3 +4,5 @@ DIST libnftnl-1.2.9.tar.xz 345708 BLAKE2B c29591c78afae0d76b3c412d95999ad5e3d7e5 DIST libnftnl-1.2.9.tar.xz.sig 566 BLAKE2B e983fff8be369391670379b5c4eb5b253e4f24b2a76fd9eb7343ff98ecf1c3282d17c7f3e16e8742667438d4211a9ef6b63d31dda03a33348278e9138bacc940 SHA512 a6d521a0f8da337f5c52567397ceacd396fc3eec1df272534ae62901fa59b4892e7535cca9c8213220c037090265825289a32800e83cca21c8433ccc1fda0099 DIST libnftnl-1.3.0.tar.xz 344440 BLAKE2B 2aeab26089676d3e5231e1dc93ca4e20d1e5cbdf65cfe926a9e5dd3a51162c16f9f32087e3c0b082cacc11f1b5018d0ce3da49acbcce042a2bceac754442bbb8 SHA512 a2220dba97cc9a1bbd0d093a0bd0afd491120a814be6343aef35cbeba0e4781289fa84ced36510b6b9d76e99b3ba35f3964a9a40a21f38e2e0fad90c34fd3916 DIST libnftnl-1.3.0.tar.xz.sig 566 BLAKE2B 32fe99eb590d2cd65d0c0f07b8c111c433309c38d683426fbdff9231c3b0834e601f5dc58bddfec5a0896789491bd80a7553b04d6cc38f1ae1226d6d08be8333 SHA512 251707a6a981e84ec0d723885f033c0d03f83f7f64deab3ba83b11cea728b8ab345d07699120909e58c1c233a0c8401db27bf9054e61913223867ec5eb2a501e +DIST libnftnl-1.3.1.tar.xz 349096 BLAKE2B 9df870bf0246eef0f5ad1c347654e7839c516ed90b32620799948fcf3dc41ec36f87a96547d40a71acfdf7a60b26a582605af134957b1c1e0904e8874d9abaa2 SHA512 a4e689b003cc2ae2ecf203335265f337d6de7a50af5410d649a567535c109d08ee9dbae9e8572b1af8c67f09ea27877ca059e04ed3b1c12183ef7b4185bdd10f +DIST libnftnl-1.3.1.tar.xz.sig 566 BLAKE2B e6de5cd96569cf46666535e556c9c2811cc6bb47fdb36520edbcd0fd7e334ef7bbc304a56ceb95cc6ea62285ff26539afaedc78be0ef56d18df22a039b9da8d2 SHA512 a5df7f034c8a56b49e940542d3551ce171b46580a99ead59d2632a444cfe46ad7161119b95931a5fbcda395252f1cea0ed399070c2b7eaf29b962230f5927ea9 diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/libnftnl-1.3.1.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/libnftnl-1.3.1.ebuild new file mode 100644 index 00000000000..1416218d667 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/libnftnl-1.3.1.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/netfilter.org.asc +inherit linux-info verify-sig + +DESCRIPTION="Netlink API to the in-kernel nf_tables subsystem" +HOMEPAGE="https://netfilter.org/projects/nftables/" + +if [[ ${PV} =~ ^[9]{4,}$ ]]; then + inherit autotools git-r3 + EGIT_REPO_URI="https://git.netfilter.org/${PN}" +else + inherit libtool + SRC_URI=" + https://netfilter.org/projects/${PN}/files/${P}.tar.xz + verify-sig? ( https://netfilter.org/projects/${PN}/files/${P}.tar.xz.sig ) + " + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + + BDEPEND+="verify-sig? ( >=sec-keys/openpgp-keys-netfilter-20240415 )" +fi + +LICENSE="GPL-2" +SLOT="0/11" # libnftnl.so version +IUSE="examples static-libs test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=net-libs/libmnl-1.0.4:= +" +BDEPEND+=" + virtual/pkgconfig +" +DEPEND="${RDEPEND}" + +pkg_setup() { + if kernel_is ge 3 13; then + CONFIG_CHECK="~NF_TABLES" + linux-info_pkg_setup + else + eerror "This package requires kernel version 3.13 or newer to work properly." + fi +} + +src_prepare() { + default + + if [[ ${PV} =~ ^[9]{4,}$ ]] ; then + eautoreconf + else + elibtoolize + fi +} + +src_configure() { + local myeconfargs=( + $(use_enable static-libs static) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + find "${ED}" -type f -name '*.la' -delete || die + + if use examples; then + find examples/ -name 'Makefile*' -delete || die "Could not rm examples" + dodoc -r examples + docompress -x /usr/share/doc/${PF}/examples + fi +} diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/Manifest b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/Manifest index f21cbb13416..6c9218660ae 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/Manifest @@ -1,2 +1,4 @@ DIST libpcap-1.10.5.tar.gz 974772 BLAKE2B c0bb29c5c308cb21244a9c63d3daa19033eb21fbd721607c057f04b2ae6b2527fb1cfeeb2b29b7c3535d5d6256aa5fdf5aa22ce48aa4f88a3cc8a81029a98116 SHA512 e599a31f2f1c03bdf386defa613ea9f08f80459c87068c2dd36c55c1bd678e2622cdce6333f0a776f16812df7bd4d6747820d1c35c7a2f1d7ad4a2ffb45dbe24 DIST libpcap-1.10.5.tar.gz.sig 442 BLAKE2B 6816bb76c6b41b292a29edcff7d89e71511d25190da7e4f26296fbae2690e476b5072f44b5ff1c9e43f31403a37e23d69c18e1f2483488fe8d742cbe3f768312 SHA512 183ed0f6a93679550dc5a589422e92023a92be8fe29f79fb296e966f26e3693e1c6d47c5e88bccbb6004cb19b6419c9d7cd998f4e2255f5594a7f5f6e84ecdc9 +DIST libpcap-1.10.6.tar.gz 987897 BLAKE2B 1da8f60ffa572ad175f25723942e73d30caad7e0c412e5924881e117809da57ac5aec0bd7cebb083c3dcbc8bd47b75f183ec2458cb2a90843845d9f7069a1784 SHA512 69e530bc5b470875fba9d82e3b40f36c84cbab21354edb228679c590d3b519363e62611b10fdc4ec84f19159a0dba14330c72edb2d476417695f6500026fb079 +DIST libpcap-1.10.6.tar.gz.sig 442 BLAKE2B cc87921fcab895a3ab242d11cad637bd8a523f28e1a39b4c752435ba25cfb375fbba93ddaa4098ae2e9f42026b28a98a0e44ddde72adae86a6264e1773252f67 SHA512 59bd2fdeae1702bbf39ba60adabd594a2caae354ccd6fa4e6f79472eb25b26c805048ee206551fb4264e522c8d83bfcba2930db56e8fb1e5526c3099b9d7aa87 diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.10.5.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.10.5.ebuild index 501dd5f3ea3..7e182278791 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.10.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.10.5.ebuild @@ -18,7 +18,7 @@ else SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.sig )" - 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 ~x64-macos" fi # The project itself has COPYING with BSD, but the files used for diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.10.6.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.10.6.ebuild new file mode 100644 index 00000000000..274e05fb4bc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.10.6.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools multilib-minimal + +DESCRIPTION="A system-independent library for user-level network packet capture" +HOMEPAGE="https://www.tcpdump.org/ https://github.com/the-tcpdump-group/libpcap" + +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://github.com/the-tcpdump-group/libpcap" + inherit git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tcpdump.asc + inherit verify-sig + + SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" + SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.sig )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +fi + +# The project itself has COPYING with BSD, but the files used for +# the libpcap library itself seem to be a mix of BSD-with-attribution +# and BSD-4. +LICENSE="BSD BSD-with-attribution BSD-4" +SLOT="0" +IUSE="bluetooth dbus netlink rdma remote static-libs test usb yydebug" +RESTRICT="!test? ( test )" + +RDEPEND=" + bluetooth? ( net-wireless/bluez:=[${MULTILIB_USEDEP}] ) + dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + netlink? ( dev-libs/libnl:3[${MULTILIB_USEDEP}] ) + remote? ( virtual/libcrypt:=[${MULTILIB_USEDEP}] ) + rdma? ( sys-cluster/rdma-core ) + usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-alternatives/yacc + sys-devel/flex + dbus? ( virtual/pkgconfig ) +" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20260104 )" +fi + +src_prepare() { + default + + if ! [[ -f VERSION ]]; then + echo ${PV} > VERSION || die + fi + + eautoreconf +} + +multilib_src_configure() { + # bug #884275 + export LEX=flex + + local myeconfargs=( + $(use_enable bluetooth) + $(use_enable dbus) + $(use_enable rdma) + $(use_enable remote) + $(use_enable usb) + $(use_enable yydebug) + $(use_with netlink libnl) + --enable-ipv6 + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_compile() { + emake all shared + use test && emake testprogs +} + +multilib_src_test() { + testprogs/findalldevstest || die +} + +multilib_src_install_all() { + dodoc CREDITS CHANGES VERSION TODO README.* doc/README.* + + # remove static libraries (--disable-static does not work) + if ! use static-libs; then + find "${ED}" -name '*.a' -exec rm {} + || die + fi + + find "${ED}" -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-9999.ebuild index 0a04d901eec..274e05fb4bc 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -18,7 +18,7 @@ else SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.sig )" - 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 ~x64-macos" fi # The project itself has COPYING with BSD, but the files used for @@ -45,7 +45,7 @@ BDEPEND=" " if [[ ${PV} != *9999* ]] ; then - BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20240901 )" + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20260104 )" fi src_prepare() { @@ -62,15 +62,18 @@ multilib_src_configure() { # bug #884275 export LEX=flex - ECONF_SOURCE="${S}" econf \ - $(use_enable bluetooth) \ - $(use_enable dbus) \ - $(use_enable rdma) \ - $(use_enable remote) \ - $(use_enable usb) \ - $(use_enable yydebug) \ - $(use_with netlink libnl) \ + local myeconfargs=( + $(use_enable bluetooth) + $(use_enable dbus) + $(use_enable rdma) + $(use_enable remote) + $(use_enable usb) + $(use_enable yydebug) + $(use_with netlink libnl) --enable-ipv6 + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" } multilib_src_compile() { diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libpsl/libpsl-0.21.5.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libpsl/libpsl-0.21.5.ebuild index b2bd48f220b..362c17b4322 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libpsl/libpsl-0.21.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/libpsl/libpsl-0.21.5.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/rockdaboot/${PN}/releases/download/${PV}/${P}.tar.gz 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="icu +idn test static-libs" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libslirp/Manifest b/sdk_container/src/third_party/portage-stable/net-libs/libslirp/Manifest index 7deab5160a6..d31365f58ee 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libslirp/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-libs/libslirp/Manifest @@ -1,2 +1,3 @@ DIST libslirp-4.6.1.tar.gz 135569 BLAKE2B 7a890912f2a8ce9d6820870e2d29b9c7a2253c403c2bcb127a38e02b2b81d1e262f34571c8a4c05fbf46874b9b2967cb5597cabe169ad54f12702fdd8b90bb3c SHA512 04a9dd88cd58c849a24b9cff405d951952760d99ea2bef0b070463dff088d79f44557a13c9427ba0043f58d4b9e06b68ff64a4f23a7b0d66df594e32e1521cae DIST libslirp-4.7.0.tar.gz 143251 BLAKE2B f3e1c3a31f09462d79ca6c663a05bde02b075090f3a5f7bc69fef3c72b8517c11a123ad7b46f4b2855cbc9a7a5dbde8d1cb2d5e3e2a9d7eedbe570c200f8bcc6 SHA512 387f4a6dad240ce633df2640bb49c6cb0041c8b3afc8d0ef38186d385f00dd9e4ef4443e93e1b71dbf05e22892b6f2771a87a202e815d8ec899ab5c147a1f09f +DIST libslirp-4.9.1.tar.bz2 132888 BLAKE2B f181d1b27110c84f1b7df49d1989246bd7955f7e65eb662dbc212398712787eebbee8b5499c209bd563969037d4be412624185975603a455df71df8375ec8945 SHA512 9e1d950a959dea382a55ff50dc632c9c995817f3e7bb2818d77ee39daee273e401317c45c179301e71b21e88c0659b67965a474117ff17ee4a9f5d63cf2a12b6 diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libslirp/libslirp-4.9.1.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libslirp/libslirp-4.9.1.ebuild new file mode 100644 index 00000000000..0a8e0d82b10 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/libslirp/libslirp-4.9.1.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson + +MY_P="${PN}-v${PV}" + +DESCRIPTION="A TCP-IP emulator used to provide virtual networking services" +HOMEPAGE="https://gitlab.freedesktop.org/slirp/libslirp" +SRC_URI="https://gitlab.freedesktop.org/slirp/libslirp/-/archive/v${PV}/${MY_P}.tar.bz2 -> ${P}.tar.bz2" +S=${WORKDIR}/${MY_P} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~x86" +IUSE="static-libs valgrind" + +RDEPEND="dev-libs/glib:=" +# Valgrind usage is automagic but it's not so bad given it's a header-only dep. +DEPEND="${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" + +src_prepare() { + echo "${PV}" > .tarball-version || die + echo -e "#!${BASH}\necho -n \$(cat '${S}/.tarball-version')" > build-aux/git-version-gen || die + default +} + +src_configure() { + local emesonargs=( + -Ddefault_library=$(usex static-libs both shared) + ) + meson_src_configure +} diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libtirpc/libtirpc-1.3.6.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libtirpc/libtirpc-1.3.6.ebuild index 49065287fcd..257556a725b 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libtirpc/libtirpc-1.3.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/libtirpc/libtirpc-1.3.6.ebuild @@ -14,7 +14,7 @@ SRC_URI=" LICENSE="BSD BSD-2 BSD-4 LGPL-2.1+" SLOT="0/3" # subslot matches SONAME major -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" IUSE="kerberos static-libs" RDEPEND="kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )" diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libtirpc/libtirpc-1.3.7-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libtirpc/libtirpc-1.3.7-r2.ebuild index f94f8262ac7..228c0b7dd32 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libtirpc/libtirpc-1.3.7-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/libtirpc/libtirpc-1.3.7-r2.ebuild @@ -14,7 +14,7 @@ SRC_URI=" LICENSE="BSD BSD-2 BSD-4 LGPL-2.1+" SLOT="0/3" # subslot matches SONAME major -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" IUSE="kerberos static-libs" RDEPEND="kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )" diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libtirpc/libtirpc-1.3.7.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libtirpc/libtirpc-1.3.7.ebuild index becbc24a3b2..38833e27ebe 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libtirpc/libtirpc-1.3.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/libtirpc/libtirpc-1.3.7.ebuild @@ -14,7 +14,7 @@ SRC_URI=" LICENSE="BSD BSD-2 BSD-4 LGPL-2.1+" SLOT="0/3" # subslot matches SONAME major -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" IUSE="kerberos static-libs" RDEPEND="kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )" 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 77eefeaf0c2..c66783976f3 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,3 +1,4 @@ DIST nghttp2-1.65.0.tar.xz 1604848 BLAKE2B 8fb752f55936110a8b5c27873e7e262a0c84740beac46444a80596e25b256ca3a4b0f0cc97a91e104a0f1c59ac0304546310a2817af126efabd2ce26cfd0ee06 SHA512 e1ef685a425017474ea0412c8ad13a217a45a320322b3aee48e646be21457d9b1f374abb9f681f47595a0ad8feb07d076bd0aa3279d35c5c9b5b8c921d8dd39e DIST nghttp2-1.66.0.tar.xz 1743992 BLAKE2B 7b108f82b2ab4e5108a9220dbc57d6d894577464c2d64c5adb02c6f71f4c5d3d524b1c945ab016699236674501458c29d0186eaf2a7442bcb3f728df1075273c SHA512 23b4cae2bbd4b3c11c50093e2fc14f3b08241bb6a85c38409e9a1a328b81ad51f107179493a0ce4c6a767b557cafeca9ba638c491095639dcfd9a2d95fa8b80d DIST nghttp2-1.67.1.tar.xz 1671408 BLAKE2B 748545e87dc1edd580b620566a8c3e565cbaa22b078afd8008e23c5d2929976354dbe89d78b6c375ee046d2ee310395e6154e812f782cf4dbd27b99cf034c730 SHA512 e1b50e963602c961dd839ba032216a6c6c22009c6be0aebecb3711cb6412e2a2caf96fe3fa2a6a1691134c12f8ce479c181825a3c8d2cf87a8e0b1aa40f0261a +DIST nghttp2-1.68.0.tar.xz 1691408 BLAKE2B 412842f3ca630b642ef9bb1865d43cf03de804ccc5f0d9ed3643b69930c66a9dd15b11a446c742be950eea24fd1704169c0683b92ea69762d1453ade4f8ed8db SHA512 a5182c2c54cdff3c70bdad204bff9a573cf7951e189d68665087f047cb79e5fc2d5d5aefbb41e2dfe264e2e74fbbe10196cb596248e328c944406ca09da98344 diff --git a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.65.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.65.0-r2.ebuild index 52de7c12975..f9844b40b00 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.65.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.65.0-r2.ebuild @@ -17,7 +17,7 @@ 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="MIT" 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 index b17e5ec60d3..a2c5561ec62 100644 --- 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 @@ -17,7 +17,7 @@ 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="MIT" diff --git a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.67.1.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.67.1.ebuild index b17e5ec60d3..a2c5561ec62 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.67.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.67.1.ebuild @@ -17,7 +17,7 @@ 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="MIT" diff --git a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.68.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.68.0.ebuild new file mode 100644 index 00000000000..a2c5561ec62 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.68.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 ~arm64-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}] + >=virtual/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 +} diff --git a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-9999.ebuild index b17e5ec60d3..a2c5561ec62 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-9999.ebuild @@ -17,7 +17,7 @@ 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="MIT" diff --git a/sdk_container/src/third_party/portage-stable/net-libs/rpcsvc-proto/rpcsvc-proto-0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/rpcsvc-proto/rpcsvc-proto-0-r1.ebuild index ee36c15e61e..00a6777a9dd 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/rpcsvc-proto/rpcsvc-proto-0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/rpcsvc-proto/rpcsvc-proto-0-r1.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://github.com/thkukuk/rpcsvc-proto" LICENSE="LGPL-2.1+ BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~s390 ~sparc x86" DEPEND="elibc_glibc? ( sys-libs/glibc[rpc(-)] )" RDEPEND="${DEPEND}" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.8.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.8.ebuild index 051a0e28b2c..9015a3fbed0 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.8.ebuild @@ -19,7 +19,7 @@ else SRC_URI+=" verify-sig? ( https://chrony-project.org/releases/${P/_/-}-tar-gz-asc.txt -> ${P/_/-}.tar.gz.asc )" if [[ ${PV} != *_pre* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~sparc x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi fi 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 ccd5ccbb6dd..a766eb25485 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 @@ -4,3 +4,5 @@ DIST curl-8.16.0.tar.xz 2788632 BLAKE2B 573d56779481abf0b7d20225bba4f068cb726f23 DIST curl-8.16.0.tar.xz.asc 488 BLAKE2B d213bd447c668118b49b7356dc99e710de927b93f81325802bae5e286b61481da6ed30f23c7f4f3cfb0f01222db88602ff4e510f4a1401e98511eb0c72ac6abb SHA512 591568e997c0d955a00152ce5bdfb4586d84b42f5c1e15df503514fb4eb4bf289a98b1ebdad23913119c67c27d51a6e6f4065ee6f7657b971c3a581c928a0d82 DIST curl-8.17.0.tar.xz 2797000 BLAKE2B a7a804afe058f323b40177bcb4ffc523decde92da3da0a051f2dc1b566131250a96afe1ebf2bebc071993c893bddeef883ef33ddc0a9bee86d4e54402a546fba SHA512 fc6349def40c3c259de2a568631507df17dff83e78a2edbb93f069586dce594439fdc88bef7ce2bed7491f35800b8c0c181c8c88e6ef656cc3c18f9834681eca DIST curl-8.17.0.tar.xz.asc 488 BLAKE2B 88b72cb9c0acd8a06956eca31047dfadfe110dc07290adbe50b9451a71d4282acaa05c8a149787d71cf13cf1b42e8df9594d0e8a2b1cadbfca5eb50550f32609 SHA512 e77d4cb1f4961aa0df3d76f1a8c55a0b9005ed557adf745f3ab24d33cee2d0e4bd06cecb9d911e76409852e7755129873cc7d24936c846ff1b854903c0f086b2 +DIST curl-8.18.0-rc3.tar.xz 2797608 BLAKE2B 5259ab4d8efeb155ecbb0d49be991e52f510aeef297b47881f28171a26064fa4a38b83039e358511fb38d23e5f12756870fb8e3bb96ef4df4fb070fe0d44de10 SHA512 1139b79a6c4356fdf6f368812402c2f9bafcbaec6323c367aef85c4d00ffda9541a87ef476ce9a099142ef6f824b562c9dc840878add60a616f0e441fef44801 +DIST curl-8.18.0-rc3.tar.xz.asc 488 BLAKE2B cd56a5433797612daded8ffeb05d3d84e4ff2f6d9320fa745b5c27ce057405bdf3596b2cfdff83ca18daffde530a46161d2d277053ac0b5178d0b8bbe056c17d SHA512 fac23b293cec82596ddd7757c0984e3977259c5116ddef719fad2a39a3723cf7cb5d85d12c5c5b2542f34a5411aa6f42f4fb08729fde6c564cd3567f2a3f0434 diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.15.0.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.15.0.ebuild index ca423564d70..4715d49e9e9 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.15.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.15.0.ebuild @@ -22,7 +22,7 @@ else S="${WORKDIR}/${P//_/-}" else CURL_URI="https://curl.se/download/" - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi SRC_URI=" ${CURL_URI}${P//_/-}.tar.xz diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.16.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.16.0-r1.ebuild index 62f3c4e1d2f..08ff73b2477 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.16.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.16.0-r1.ebuild @@ -22,7 +22,7 @@ else S="${WORKDIR}/${P//_/-}" else CURL_URI="https://curl.se/download/" - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi SRC_URI=" ${CURL_URI}${P//_/-}.tar.xz diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.17.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.17.0-r1.ebuild index 0d676b5749c..b3c35832210 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.17.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.17.0-r1.ebuild @@ -22,7 +22,7 @@ else S="${WORKDIR}/${P//_/-}" else CURL_URI="https://curl.se/download/" - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi SRC_URI=" ${CURL_URI}${P//_/-}.tar.xz diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.17.0.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.17.0.ebuild index 1bc46c6ab64..1b2ccf8c874 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.17.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.17.0.ebuild @@ -22,7 +22,7 @@ else S="${WORKDIR}/${P//_/-}" else CURL_URI="https://curl.se/download/" - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi SRC_URI=" ${CURL_URI}${P//_/-}.tar.xz diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.18.0_rc3.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.18.0_rc3.ebuild new file mode 100644 index 00000000000..740bb4d55ab --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.18.0_rc3.ebuild @@ -0,0 +1,442 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintainers should subscribe to the 'curl-distros' ML for backports etc +# https://daniel.haxx.se/blog/2024/03/25/curl-distro-report/ +# https://lists.haxx.se/listinfo/curl-distros + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc +inherit autotools multilib-minimal multiprocessing prefix toolchain-funcs verify-sig + +DESCRIPTION="A Client that groks URLs" +HOMEPAGE="https://curl.se/" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/curl/curl.git" +else + if [[ ${P} == *rc* ]]; then + CURL_URI="https://curl.se/rc/" + S="${WORKDIR}/${P//_/-}" + else + CURL_URI="https://curl.se/download/" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi + SRC_URI=" + ${CURL_URI}${P//_/-}.tar.xz + verify-sig? ( ${CURL_URI}${P//_/-}.tar.xz.asc ) + " +fi + +LICENSE="BSD curl ISC test? ( BSD-4 )" +SLOT="0" +IUSE="+adns +alt-svc brotli debug ech +ftp gnutls gopher +hsts +http2 +http3 +httpsrr idn +imap kerberos ldap" +IUSE+=" mbedtls +openssl +pop3 +psl +quic rtmp rustls samba sasl-scram +smtp ssh ssl static-libs test" +IUSE+=" telnet +tftp +websockets zstd" +# These select the default tls implementation / which quic impl to use +IUSE+=" +curl_quic_openssl curl_quic_ngtcp2 curl_ssl_gnutls curl_ssl_mbedtls +curl_ssl_openssl curl_ssl_rustls" +RESTRICT="!test? ( test )" + +# HTTPS RR is technically usable with the threaded resolver, but it still uses c-ares to +# ask for the HTTPS RR record type; if DoH is in use the HTTPS record will be requested +# in addition to A and AAAA records. + +# To simplify dependency management in the ebuild we'll require c-ares for HTTPS RR (for now?). +# HTTPS RR in cURL is a dependency for: +# - ECH (requires patched openssl or gnutls currently, enabled with rustls) +# - Fetching the ALPN list which should provide a better HTTP/3 experience. + +# Only one default ssl / quic provider can be enabled +# The default provider needs its USE satisfied +# HTTP/3 and MultiSSL are mutually exclusive; it's not clear if MultiSSL offers any benefit at all in the modern day. +# https://github.com/curl/curl/commit/65ece771f4602107d9cdd339dff4b420280a2c2e +REQUIRED_USE=" + ech? ( rustls ) + httpsrr? ( adns ) + quic? ( + ^^ ( + curl_quic_openssl + curl_quic_ngtcp2 + ) + http3 + ssl + ) + ssl? ( + ^^ ( + curl_ssl_gnutls + curl_ssl_mbedtls + curl_ssl_openssl + curl_ssl_rustls + ) + ) + curl_quic_openssl? ( + curl_ssl_openssl + !gnutls + !mbedtls + !rustls + ) + curl_quic_ngtcp2? ( + curl_ssl_gnutls + !mbedtls + !openssl + !rustls + ) + curl_ssl_gnutls? ( gnutls ) + curl_ssl_mbedtls? ( mbedtls ) + curl_ssl_openssl? ( openssl ) + curl_ssl_rustls? ( rustls ) + http3? ( alt-svc httpsrr quic ) +" + +# cURL's docs and CI/CD are great resources for confirming supported versions +# particulary for fast-moving targets like HTTP/2 and TCP/2 e.g.: +# - https://github.com/curl/curl/blob/master/docs/INTERNALS.md (core dependencies + minimum versions) +# - https://github.com/curl/curl/blob/master/docs/HTTP3.md (example of a feature that moves quickly) +# - https://github.com/curl/curl/blob/master/.github/workflows/http3-linux.yml (CI/CD for TCP/2) +# However 'supported' vs 'works' are two entirely different things; be sane but +# don't be afraid to require a later version. +# ngtcp2 = https://bugs.gentoo.org/912029 - can only build with one tls backend at a time. +# TODO: OpenSSL-QUIC support is going to be removed in 2026; depend on ngtcp2[{gnutls,openssl}] before that point. +# - https://github.com/curl/curl/pull/18820 (Deprecate OpenSSL QUIC support) +# - https://github.com/curl/curl/issues/18336 (curl w/ OpenSSL QUIC fails to fetch Google.com) +RDEPEND=" + >=virtual/zlib-1.2.5:=[${MULTILIB_USEDEP}] + adns? ( >=net-dns/c-ares-1.16.0:=[${MULTILIB_USEDEP}] ) + brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) + http2? ( >=net-libs/nghttp2-1.15.0:=[${MULTILIB_USEDEP}] ) + http3? ( >=net-libs/nghttp3-1.1.0[${MULTILIB_USEDEP}] ) + idn? ( >=net-dns/libidn2-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] ) + kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) + ldap? ( >=net-nds/openldap-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] ) + psl? ( net-libs/libpsl[${MULTILIB_USEDEP}] ) + quic? ( + curl_quic_openssl? ( >=dev-libs/openssl-3.3.0:=[quic,${MULTILIB_USEDEP}] ) + curl_quic_ngtcp2? ( >=net-libs/ngtcp2-1.2.0[gnutls,ssl,-openssl,${MULTILIB_USEDEP}] ) + ) + rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] ) + ssh? ( >=net-libs/libssh2-1.2.8[${MULTILIB_USEDEP}] ) + sasl-scram? ( >=net-misc/gsasl-2.2.0[static-libs?,${MULTILIB_USEDEP}] ) + ssl? ( + gnutls? ( + app-misc/ca-certificates + >=net-libs/gnutls-3.1.10:=[static-libs?,${MULTILIB_USEDEP}] + dev-libs/nettle:=[${MULTILIB_USEDEP}] + ) + mbedtls? ( + app-misc/ca-certificates + net-libs/mbedtls:3=[${MULTILIB_USEDEP}] + ) + openssl? ( + >=dev-libs/openssl-1.0.2:=[static-libs?,${MULTILIB_USEDEP}] + ) + rustls? ( + >=net-libs/rustls-ffi-0.15.0:=[${MULTILIB_USEDEP}] + ) + ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) +" + +DEPEND="${RDEPEND}" + +BDEPEND=" + dev-lang/perl + virtual/pkgconfig + test? ( + sys-apps/diffutils + http2? ( >=net-libs/nghttp2-1.15.0:=[utils,${MULTILIB_USEDEP}] ) + http3? ( net-libs/nghttp2:=[utils,${MULTILIB_USEDEP}] ) + ) + verify-sig? ( sec-keys/openpgp-keys-danielstenberg ) +" + +DOCS=( README docs/{FEATURES.md,INTERNALS.md,FAQ.md,BUGS.md,CONTRIBUTE.md} ) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/curl/curlbuild.h +) + +MULTILIB_CHOST_TOOLS=( + /usr/bin/curl-config +) + +QA_CONFIG_IMPL_DECL_SKIP=( + __builtin_available + closesocket + CloseSocket + getpass_r + ioctlsocket + IoctlSocket + mach_absolute_time + setmode + _fseeki64 + # custom AC_LINK_IFELSE code fails to link even without -Werror + OSSL_QUIC_client_method +) + +PATCHES=( + "${FILESDIR}/${PN}-prefix-6.patch" + "${FILESDIR}/${PN}-respect-cflags-3.patch" +) + +src_prepare() { + default + + eprefixify curl-config.in + eautoreconf +} + +# Generates TLS-related configure options based on USE flags. +# Outputs options suitable for appending to a configure options array. +_get_curl_tls_configure_opts() { + local tls_opts=() + + local backend flag_name + for backend in gnutls mbedtls openssl rustls; do + if [[ "$backend" == "openssl" ]]; then + flag_name="ssl" + tls_opts+=( "--with-ca-path=${EPREFIX}/etc/ssl/certs") + else + flag_name="$backend" + fi + + if use "$backend"; then + tls_opts+=( "--with-${flag_name}" ) + else + # If a single backend is enabled, 'ssl' is required, openssl is the default / fallback + if ! [[ "$backend" == "openssl" ]]; then + tls_opts+=( "--without-${flag_name}" ) + fi + fi + done + + if use curl_ssl_gnutls; then + multilib_is_native_abi && einfo "Default TLS backend: gnutls" + tls_opts+=( "--with-default-ssl-backend=gnutls" ) + elif use curl_ssl_mbedtls; then + multilib_is_native_abi && einfo "Default TLS backend: mbedtls" + tls_opts+=( "--with-default-ssl-backend=mbedtls" ) + elif use curl_ssl_openssl; then + multilib_is_native_abi && einfo "Default TLS backend: openssl" + tls_opts+=( "--with-default-ssl-backend=openssl" ) + elif use curl_ssl_rustls; then + multilib_is_native_abi && einfo "Default TLS backend: rustls" + tls_opts+=( "--with-default-ssl-backend=rustls" ) + else + eerror "We can't be here because of REQUIRED_USE." + die "Please file a bug, hit impossible condition w/ USE=ssl handling." + fi + + # Explicitly Disable unimplemented backends + tls_opts+=( + --without-amissl + --without-wolfssl + ) + + printf "%s\n" "${tls_opts[@]}" +} + +multilib_src_configure() { + # We make use of the fact that later flags override earlier ones + # So start with all ssl providers off until proven otherwise + # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/) + local myconf=() + + myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ) + if use ssl; then + 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" + fi + + # These configuration options are organised alphabetically by category/type + + # Protocols + # `grep SUPPORT_PROTOCOLS=\" configure.ac | awk '{ print substr($2, 1, length($2)-1)}' | sort` + # Assume that anything omitted (that is not new!) is enabled by default with no deps + myconf+=( + --enable-file + $(use_enable ftp) + $(use_enable gopher) + --enable-http + $(use_enable imap) # Automatic IMAPS if TLS is enabled + $(use_enable ldap ldaps) + $(use_enable ldap) + $(use_enable pop3) + $(use_enable samba smb) + $(use_with ssh libssh2) # enables scp/sftp + $(use_with rtmp librtmp) + --enable-rtsp + $(use_enable smtp) + $(use_enable telnet) + $(use_enable tftp) + $(use_enable websockets) + ) + + # Keep various 'HTTP-flavoured' options together + myconf+=( + $(use_enable alt-svc) + $(use_enable hsts) + $(use_enable httpsrr) + $(use_with http2 nghttp2) + $(use_with http3 nghttp3) + ) + + # --enable/disable options + # `grep -- --enable configure | grep Check | awk '{ print $4 }' | sort` + myconf+=( + $(use_enable adns ares) + --enable-aws + --enable-basic-auth + --enable-bearer-auth + --enable-cookies + --enable-dateparse + --enable-dict + --enable-digest-auth + --enable-dnsshuffle + --enable-doh + $(use_enable ech) + --enable-http-auth + --enable-ipv6 + --enable-kerberos-auth + --enable-largefile + --enable-manual + --enable-mime + --enable-negotiate-auth + --enable-netrc + --enable-ntlm + --enable-progress-meter + --enable-proxy + --enable-rt + --enable-socketpair + --disable-sspi + $(use_enable static-libs static) + --enable-symbol-hiding + --enable-tls-srp + --disable-versioned-symbols + ) + + # --with/without options + # `grep -- --with configure | grep Check | awk '{ print $4 }' | sort` + myconf+=( + $(use_with brotli) + --with-fish-functions-dir="${EPREFIX}"/usr/share/fish/vendor_completions.d + $(use_with idn libidn2) + $(use_with kerberos gssapi "${EPREFIX}"/usr) + $(use_with sasl-scram libgsasl) + $(use_with psl libpsl) + --without-quiche + --without-schannel + --without-winidn + --with-zlib + --with-zsh-functions-dir="${EPREFIX}"/usr/share/zsh/site-functions + $(use_with zstd) + ) + + # Test deps (disabled) + myconf+=( + --without-test-caddy + --without-test-httpd + --without-test-nghttpx + ) + + if use debug; then + myconf+=( + --enable-debug + ) + fi + + if use test && multilib_is_native_abi && ( use http2 || use http3 ); then + myconf+=( + --with-test-nghttpx="${BROOT}/usr/bin/nghttpx" + ) + fi + + # Since 8.12.0 adns/c-ares and the threaded resolver are mutually exclusive + # This is in support of some work to enable `httpsrr` to use adns and the rest + # of curl to use the threaded resolver; for us `httpsrr` is conditional on adns. + if use adns; then + myconf+=( + --disable-threaded-resolver + ) + else + myconf+=( + --enable-threaded-resolver + ) + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" + + if ! multilib_is_native_abi; then + # Avoid building the client (we just want libcurl for multilib) + sed -i -e '/SUBDIRS/s:src::' Makefile || die + sed -i -e '/SUBDIRS/s:scripts::' Makefile || die + fi + +} + +multilib_src_compile() { + default + + if multilib_is_native_abi; then + # Shell completions + ! tc-is-cross-compiler && emake -C scripts + fi +} + +# There is also a pytest harness that tests for bugs in some very specific +# situations; we can rely on upstream for this rather than adding additional test deps. +multilib_src_test() { + # See https://github.com/curl/curl/blob/master/tests/runtests.pl#L5721 + # -n: no valgrind (unreliable in sandbox and doesn't work correctly on all arches) + # -v: verbose + # -a: keep going on failure (so we see everything that breaks, not just 1st test) + # -k: keep test files after completion + # -am: automake style TAP output + # -p: print logs if test fails + # Note: if needed, we can skip specific tests. See e.g. Fedora's packaging + # or just read https://github.com/curl/curl/tree/master/tests#run. + # Note: we don't run the testsuite for cross-compilation. + # Upstream recommend 7*nproc as a starting point for parallel tests, but + # this ends up breaking when nproc is huge (like -j80). + # The network sandbox causes tests 241 and 1083 to fail; these are typically skipped + # as most gentoo users don't have an 'ip6-localhost' + multilib_is_native_abi && emake test TFLAGS="-n -v -a -k -am -p -j$((2*$(makeopts_jobs))) !241 !1083" +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + if multilib_is_native_abi; then + # Shell completions + ! tc-is-cross-compiler && emake -C scripts DESTDIR="${D}" install + fi +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -type f -name '*.la' -delete || die + rm -rf "${ED}"/etc/ || die +} + +pkg_postinst() { + if use debug; then + ewarn "USE=debug has been selected, enabling debug codepaths and making cURL extra verbose." + ewarn "Use this _only_ for testing. Debug builds should _not_ be used in anger." + ewarn "hic sunt dracones; you have been warned." + fi +} 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 1bc46c6ab64..fd5bbc4b51e 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 @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -22,7 +22,7 @@ else S="${WORKDIR}/${P//_/-}" else CURL_URI="https://curl.se/download/" - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi SRC_URI=" ${CURL_URI}${P//_/-}.tar.xz diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-prefix-6.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-prefix-6.patch new file mode 100644 index 00000000000..8a6131acf5d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-prefix-6.patch @@ -0,0 +1,35 @@ +From 57297a390f0f4b90ed3c68f56180b3481d0b54af Mon Sep 17 00:00:00 2001 +From: Matt Jolly +Date: Sun, 28 Dec 2025 08:57:50 +1000 +Subject: [PATCH] Update prefix patch for 8.18 + +Signed-off-by: Matt Jolly +--- + curl-config.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/curl-config.in b/curl-config.in +index a1c8185..107d629 100644 +--- a/curl-config.in ++++ b/curl-config.in +@@ -141,7 +141,7 @@ while test "$#" -gt 0; do + ;; + + --cflags) +- if test "@includedir@" = '/usr/include'; then ++ if test "@includedir@" = "GENTOO_PORTAGE_EPREFIX@/usr/include"; then + echo '@LIBCURL_PC_CFLAGS@' + else + echo "@LIBCURL_PC_CFLAGS@ -I@includedir@" +@@ -149,7 +149,7 @@ while test "$#" -gt 0; do + ;; + + --libs) +- if test "@libdir@" != '/usr/lib' && test "@libdir@" != '/usr/lib64'; then ++ if test "@libdir@" != "@GENTOO_PORTAGE_EPREFIX@/usr/lib" -a "@libdir@" != "@GENTOO_PORTAGE_EPREFIX@/usr/lib64"; then + curllibdir="-L@libdir@ " + else + curllibdir='' +-- +2.51.0 + diff --git a/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-2.2.1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-2.2.1.ebuild index 4879d3ad019..0b067a699f6 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-2.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-2.2.1.ebuild @@ -14,7 +14,7 @@ if [[ ${PV} == *9999* ]] ; then else SRC_URI="https://downloads.sourceforge.net/iperf2/${P}.tar.gz" - KEYWORDS="amd64 arm ~hppa ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" + KEYWORDS="amd64 arm ~hppa ppc ppc64 ~riscv ~sparc x86" fi LICENSE="HPND" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-2.9999.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-2.9999.ebuild index ea2912d4485..ca7f03ba3e5 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-2.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-2.9999.ebuild @@ -14,7 +14,7 @@ if [[ ${PV} == *9999* ]] ; then else SRC_URI="https://downloads.sourceforge.net/iperf2/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" + KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86" fi LICENSE="HPND" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-3.19.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-3.19.1-r1.ebuild index 5beed1c34a1..541141e14e1 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-3.19.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-3.19.1-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/esnet/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.t LICENSE="BSD" SLOT="3" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos" IUSE="sctp" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-3.19.1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-3.19.1.ebuild index a004d808203..8afde2f6d15 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-3.19.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-3.19.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/esnet/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.t LICENSE="BSD" SLOT="3" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos" IUSE="sctp" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-3.20.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-3.20.ebuild index fa59959a784..8f105795bdc 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-3.20.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-3.20.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/esnet/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.t LICENSE="BSD" SLOT="3" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" IUSE="sctp" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/iputils/files/meson-build-strict-check-for-error-function.patch b/sdk_container/src/third_party/portage-stable/net-misc/iputils/files/meson-build-strict-check-for-error-function.patch index 1083918c9ed..1f295c8bb0c 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/iputils/files/meson-build-strict-check-for-error-function.patch +++ b/sdk_container/src/third_party/portage-stable/net-misc/iputils/files/meson-build-strict-check-for-error-function.patch @@ -1,12 +1,21 @@ -https://github.com/iputils/iputils/pull/601 +https://github.com/iputils/iputils/commit/35ed506fe4bfc393284138915017d4b7da1a6f3e From: Brahmajit Das Date: Sun, 22 Jun 2025 07:30:38 +0530 -Subject: [PATCH] meson.build: strict check for error function +Subject: [PATCH] meson.build: Enhance check for error() function -Along with checking for presense of error.h we should also check if we -can use the error function and it's getting properly linked. +Along with checking for presence of some toolchains also +require to check for error() function to avoid linking error, e.g. +powerpc64-unknown-linux-musl-gcc from Gentoo: -Dowstream-bug: https://bugs.gentoo.org/947680 + [17/18] powerpc64-unknown-linux-musl-gcc -o ping/ping ping/ping.p/ping.c.o ping/ping.p/ping_common.c.o ping/ping.p/ping6_common.c.o ping/ping.p/node_info.c.o -Wl,--as-needed -Wl,--no-undefined -Os -pipe -mcpu=970 -mtune=970 -maltivec -mabi=altivec -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--start-group libcommon.a -lm -lresolv -Wl,--end-group + FAILED: ping/ping + powerpc64-unknown-linux-musl-gcc -o ping/ping ping/ping.p/ping.c.o ping/ping.p/ping_common.c.o ping/ping.p/ping6_common.c.o ping/ping.p/node_info.c.o -Wl,--as-needed -Wl,--no-undefined -Os -pipe -mcpu=970 -mtune=970 -maltivec -mabi=altivec -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--start-group libcommon.a -lm -lresolv -Wl,--end-group + /usr/lib/gcc/powerpc64-unknown-linux-musl/14/../../../../powerpc64-unknown-linux-musl/bin/ld: ping/ping.p/ping.c.o: in function `ping_strtod': + ping.c:(.text+0x1c8): undefined reference to `error' + +Closes: https://github.com/iputils/iputils/pull/601 +Dowstream-bug: https://bugs.gentoo.org/951050 +Reviewed-by: Petr Vorel Signed-off-by: Brahmajit Das --- a/meson.build +++ b/meson.build @@ -19,6 +28,3 @@ Signed-off-by: Brahmajit Das conf.set('HAVE_' + h.to_upper().underscorify(), 1, description : 'Define if ' + h + ' can be included.') endif --- -2.50.0 - diff --git a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20211215.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20211215.ebuild index 8cc4280e57b..6a7e696d638 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20211215.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20211215.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == "99999999" ]] ; then else SRC_URI="https://github.com/iputils/iputils/archive/${PV}.tar.gz -> ${P}.tar.gz https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-manpages-${PV}.tar.xz" - 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" fi DESCRIPTION="Network monitoring tools including ping and ping6" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20221126-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20221126-r1.ebuild index 62e6dc899fa..a27303bc596 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20221126-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20221126-r1.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/iputils/iputils/archive/${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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi DESCRIPTION="Network monitoring tools including ping and ping6" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20240117.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20240117.ebuild index 875c15914d3..45d2fb3f357 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20240117.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20240117.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/iputils/iputils/releases/download/${PV}/${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" fi DESCRIPTION="Network monitoring tools including ping and ping6" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20240905.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20240905.ebuild index df4ec305f67..f9d9799b542 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20240905.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20240905.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/iputils/iputils/releases/download/${PV}/${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" fi DESCRIPTION="Network monitoring tools including ping and ping6" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20250605-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20250605-r1.ebuild index dbe6fc4c027..977b0078012 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20250605-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20250605-r1.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/iputils/iputils/releases/download/${PV}/${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" fi DESCRIPTION="Network monitoring tools including ping and ping6" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20250605.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20250605.ebuild index c8bd53da9b3..83c4fa9d4b3 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20250605.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20250605.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/iputils/iputils/releases/download/${PV}/${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" fi DESCRIPTION="Network monitoring tools including ping and ping6" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-99999999.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-99999999.ebuild index 5182e29fbed..83c4fa9d4b3 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-99999999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-99999999.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/iputils/iputils/releases/download/${PV}/${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" fi DESCRIPTION="Network monitoring tools including ping and ping6" @@ -55,10 +55,6 @@ if [[ ${PV} == 9999 ]] ; then " fi -PATCHES=( - "${FILESDIR}/meson-build-strict-check-for-error-function.patch" -) - src_prepare() { default diff --git a/sdk_container/src/third_party/portage-stable/net-misc/ntp/files/ntp-4.2.8_p15-gcc10.patch b/sdk_container/src/third_party/portage-stable/net-misc/ntp/files/ntp-4.2.8_p15-gcc10.patch deleted file mode 100644 index 619ea07558c..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/ntp/files/ntp-4.2.8_p15-gcc10.patch +++ /dev/null @@ -1,75 +0,0 @@ - -Source: -https://bugs.ntp.org/show_bug.cgi?id=3688 - -Juergen Perlinger 2020-12-24 07:10:49 UTC -Created attachment 1760 [details] -ultimate patch, v00 - ---- a/sntp/log.c 2020-12-24 08:02:05.206004072 +0100 -+++ a/sntp/log.c 2020-12-24 08:02:05.206004072 +0100 -@@ -2,7 +2,7 @@ - - #include "log.h" - --const char *progname; /* for msyslog use too */ -+extern const char *progname; /* for msyslog use too */ - - static int counter = 0; - ---- a/sntp/main.c 2020-12-24 08:02:05.210003956 +0100 -+++ a/sntp/main.c 2020-12-24 08:02:05.210003956 +0100 -@@ -20,7 +20,6 @@ - #include "log.h" - #include "libntp.h" - -- - int shutting_down; - int time_derived; - int time_adjusted; ---- a/sntp/main.h 2020-12-24 08:02:05.210003956 +0100 -+++ a/sntp/main.h 2020-12-24 08:02:05.210003956 +0100 -@@ -16,6 +16,14 @@ - - #include "crypto.h" - -+/* !Attention! 'progname' must de instantiated in any program that wants -+ * to use this library. Putting it into the library breaks a lot of -+ * things, since many programs define it itself and then the symbol -+ * might end up twice in the linker. -+ */ -+extern const char * progname; -+ -+ - void set_li_vn_mode(struct pkt *spkt, char leap, char version, char mode); - extern int sntp_main(int argc, char **argv, const char *); - int generate_pkt(struct pkt *x_pkt, const struct timeval *tv_xmt, ---- a/sntp/sntp.c 2020-12-24 08:02:05.210003956 +0100 -+++ a/sntp/sntp.c 2020-12-24 08:02:05.210003956 +0100 -@@ -2,6 +2,8 @@ - - #include "main.h" - -+const char * progname; -+ - int - main ( - int argc, ---- a/sntp/tests/t-log.c 2020-12-24 08:02:05.210003956 +0100 -+++ a/sntp/tests/t-log.c 2020-12-24 08:02:05.210003956 +0100 -@@ -3,7 +3,6 @@ - #include "ntp_types.h" - - --//#include "log.h" - #include "log.c" - - void setUp(void); ---- a/tests/libntp/test-libntp.h 2020-12-24 08:02:05.210003956 +0100 -+++ a/tests/libntp/test-libntp.h 2020-12-24 08:02:05.210003956 +0100 -@@ -5,4 +5,4 @@ - - time_t timefunc(time_t *ptr); - void settime(int y, int m, int d, int H, int M, int S); --time_t nowtime; -+extern time_t nowtime; diff --git a/sdk_container/src/third_party/portage-stable/net-misc/ntp/files/ntp-4.2.8_p15-glibc-2.34.patch b/sdk_container/src/third_party/portage-stable/net-misc/ntp/files/ntp-4.2.8_p15-glibc-2.34.patch deleted file mode 100644 index a32f3adabd8..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/ntp/files/ntp-4.2.8_p15-glibc-2.34.patch +++ /dev/null @@ -1,28 +0,0 @@ -https://bugs.gentoo.org/806358 -https://patchwork.openembedded.org/patch/180019/ - -From: Khem Raj -Date: Sat, 31 Jul 2021 10:51:41 -0700 -Subject: [PATCH] libntp: Do not use PTHREAD_STACK_MIN on glibc - -In glibc 2.34+ PTHREAD_STACK_MIN is not a compile-time constant which -could mean different stack sizes at runtime on different architectures -and it also causes compile failure. Default glibc thread stack size -or 64Kb set by ntp should be good in glibc these days. - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- a/libntp/work_thread.c -+++ b/libntp/work_thread.c -@@ -41,7 +41,7 @@ - #ifndef THREAD_MINSTACKSIZE - # define THREAD_MINSTACKSIZE (64U * 1024) - #endif --#ifndef __sun -+#if !defined(__sun) && !defined(__GLIBC__) - #if defined(PTHREAD_STACK_MIN) && THREAD_MINSTACKSIZE < PTHREAD_STACK_MIN - # undef THREAD_MINSTACKSIZE - # define THREAD_MINSTACKSIZE PTHREAD_STACK_MIN --- -2.32.0 - diff --git a/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p17-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p17-r1.ebuild index 0a921ac94c0..18de1d37231 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p17-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p17-r1.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="HPND BSD ISC" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="caps debug ipv6 openntpd parse-clocks readline samba selinux snmp ssl +threads vim-syntax zeroconf" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p17-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p17-r2.ebuild index cfc67d4576e..1da4ffeb846 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p17-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p17-r2.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="HPND BSD ISC" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="caps debug openntpd parse-clocks readline samba selinux snmp ssl +threads vim-syntax zeroconf" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p18-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p18-r1.ebuild index ccefd7e0e4b..8eb4edbf232 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p18-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p18-r1.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="HPND BSD ISC" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="caps debug openntpd parse-clocks readline samba selinux snmp ssl +threads vim-syntax zeroconf" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p18-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p18-r2.ebuild index 9380dc98656..11dd454101e 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p18-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/ntp/ntp-4.2.8_p18-r2.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="HPND BSD ISC" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="caps debug openntpd parse-clocks readline samba selinux snmp ssl +threads vim-syntax zeroconf" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.0_p1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.0_p1.ebuild index 88a7125aa72..14bd40b093e 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.0_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.0_p1.ebuild @@ -23,7 +23,7 @@ S="${WORKDIR}/${PARCH}" LICENSE="BSD GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" # Probably want to drop ssl defaulting to on in a future version. IUSE="abi_mips_n32 audit debug kerberos ldns libedit livecd pam +pie security-key selinux +ssl static test xmss" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.0_p2.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.0_p2.ebuild index 4a50ec4928e..10c5606b0ca 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.0_p2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.0_p2.ebuild @@ -26,7 +26,7 @@ S="${WORKDIR}/${PN}-10.0p1" LICENSE="BSD GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" # Probably want to drop ssl defaulting to on in a future version. IUSE="abi_mips_n32 audit debug kerberos ldns libedit livecd pam security-key selinux +ssl static test xmss" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.1_p1-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.1_p1-r1.ebuild index 4de48e683fd..9845193702d 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.1_p1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.1_p1-r1.ebuild @@ -23,7 +23,7 @@ S="${WORKDIR}/${PARCH}" LICENSE="BSD GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" # Probably want to drop ssl defaulting to on in a future version. IUSE="abi_mips_n32 audit debug kerberos ldns libedit livecd pam security-key selinux +ssl static test" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.2_p1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.2_p1.ebuild index e89cc04934e..eadf4625c73 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.2_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.2_p1.ebuild @@ -23,7 +23,7 @@ S="${WORKDIR}/${PARCH}" LICENSE="BSD GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" # Probably want to drop ssl defaulting to on in a future version. IUSE="abi_mips_n32 audit debug kerberos ldns libedit livecd pam security-key selinux +ssl static test" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r4.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r4.ebuild index 74b6d1aea93..37ba4097aad 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r4.ebuild @@ -20,7 +20,7 @@ S="${WORKDIR}/${PARCH}" LICENSE="BSD GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" # Probably want to drop ssl defaulting to on in a future version. IUSE="abi_mips_n32 audit debug kerberos ldns legacy-ciphers libedit livecd pam +pie security-key selinux +ssl static test xmss" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.9_p2-r4.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.9_p2-r4.ebuild index f5bd288cdc5..c4f8dd7c965 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.9_p2-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.9_p2-r4.ebuild @@ -23,7 +23,7 @@ S="${WORKDIR}/${PARCH}" LICENSE="BSD GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" # Probably want to drop ssl defaulting to on in a future version. IUSE="abi_mips_n32 audit debug kerberos ldns legacy-ciphers libedit livecd pam +pie security-key selinux +ssl static test xmss" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/passt/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/passt/Manifest index c15a01fbeb2..4223d738c84 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/passt/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-misc/passt/Manifest @@ -1,2 +1,3 @@ DIST passt-2025.04.15.tar.xz 260720 BLAKE2B 1c67a40f0633663118cafd5988e11594e54d815aeb7c2bc75b744b51666efc6ff8e8190ff3e0fac92f281b26832031d5dcba4aa8d52bc1cc915f80bec2ca70bb SHA512 3aebc7ebdc267c2c86c91703a7f07aea6248ed6a4ab43bf2589e24e5e4fdabcbfb9519f8afcd901a9183d4f2c577d8c1ea50076d0dc5dbb104c0f2793009c516 DIST passt-2025.06.11.tar.xz 262312 BLAKE2B 76b834c0d1f7aedb5bc166e61ff9de8536f787b6447fb5ae0461ff5479d807e80a9da8fb9302771ca96aaa8799b09b60f88f6816d1aee0604678de9cff5c88ab SHA512 d8cd5668ded94d506a973f4e1e988d29b3eca0ffc26766de86d9dae7d37ace75d84606d1386b18b215371de4b6655b24d0b796433d2827f3f5997a65b0b08cdf +DIST passt-2025.12.15.tar.xz 278312 BLAKE2B d681deb9107190b80e697ce813ad2c97c99c39d721e1f459f8687f5c024599bfb0b49d46b261cf8868c43a62f721638a219c236ef7d4c4debedb7728f4a389d6 SHA512 be34c6f88b7bbe1b051cd49b7577e1b9718913600061e01f9d3f623d19044707ece1c72800897dd1e07fbad21d970c2a89496ef99565f2a973a8aa5f75fb9711 diff --git a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2025.12.15.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2025.12.15.ebuild new file mode 100644 index 00000000000..de7a21da7bb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2025.12.15.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="User-mode networking daemons for VMs and namespaces, replacement for Slirp" +HOMEPAGE="https://passt.top/" + +RELEASE_COMMIT="b40f5cd" +MY_PV=${P//./_}.${RELEASE_COMMIT} + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://passt.top/passt" +else + SRC_URI="https://passt.top/passt/snapshot/${MY_PV}.tar.xz -> ${P}.tar.xz" + S=${WORKDIR}/${MY_PV} + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" +fi + +LICENSE="BSD GPL-2+" +SLOT="0" +IUSE="static" + +src_prepare() { + default + tc-export CC + # Do not install doc/demo.sh + sed -i -e "/demo/d" Makefile || die +} + +src_compile() { + [[ ${PV} != 9999* ]] && export VERSION="${PV}" + export prefix="${EPREFIX}/usr" docdir="${EPREFIX}/usr/share/doc/${P}" + + emake $(usev static) +} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.3.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.3.0-r2.ebuild index d22fee75d2e..e52e8bc51c9 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.3.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.3.0-r2.ebuild @@ -27,7 +27,7 @@ else SRC_DIR="src-previews" else SRC_DIR="src" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi SRC_URI="https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1-r1.ebuild index c8770fb6f0d..1cffda104c0 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1-r1.ebuild @@ -27,7 +27,7 @@ else SRC_DIR="src-previews" else SRC_DIR="src" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi SRC_URI="https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1.ebuild index 63c54512bb1..0ae7546ebdb 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1.ebuild @@ -27,7 +27,7 @@ else SRC_DIR="src-previews" else SRC_DIR="src" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi SRC_URI="https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-9999.ebuild index 83bf73634de..ecfa3c6f2c5 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-9999.ebuild @@ -27,7 +27,7 @@ else SRC_DIR="src-previews" else SRC_DIR="src" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi SRC_URI="https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz diff --git a/sdk_container/src/third_party/portage-stable/net-misc/socat/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/socat/Manifest index 4975281a2f8..cacd34e5045 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/socat/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-misc/socat/Manifest @@ -1 +1,2 @@ DIST socat-1.8.0.3.tar.bz2 594396 BLAKE2B a152b1da6332ff925299deca2e39c09e7c3042e14a87b2d6f6fb6c263489291be54ed001d37908767b3164140de262b702a65833c792b1e607781dc5e89e0fdf SHA512 6425c42cf4a3cbe253d238213d11e7daae8f8a09fcce2634c8ce220bb3352a824a80ecfa36330007cf5c537f60fea057e9f68410bccb843ff4666e775c5dcd8e +DIST socat-1.8.1.0.tar.bz2 606066 BLAKE2B 616814d9da8fb0bd7b7e02a65e4e5c4d9d0a5380f85d8151af5a0146e1497c8c4829a7c10ee2e26239bbfa7fa29011c24f6bbf10e59374a9e9db872d3739c2e9 SHA512 d53ee4c881efd564a86a6224c061a634ec17b96ddf419cbbfe6966db537cd452ebe81f33e265855537c3e55de026720cd9f1a4359f6ec04c5d890b600aef3a58 diff --git a/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.0.3.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.0.3.ebuild index 4a86aebfba3..9597dea04de 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.0.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.0.3.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}/${MY_P}" 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 ~x64-macos" IUSE="ipv6 readline ssl tcpd" # bug #946404 (and many others), whack-a-mole with timeouts and friends # Try again in the future. diff --git a/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.1.0.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.1.0.ebuild new file mode 100644 index 00000000000..b996338db08 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.1.0.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo flag-o-matic toolchain-funcs + +MY_P=${P/_beta/-b} +DESCRIPTION="Multipurpose relay (SOcket CAT)" +HOMEPAGE="http://www.dest-unreach.org/socat/ https://repo.or.cz/socat.git" +SRC_URI="http://www.dest-unreach.org/socat/download/${MY_P}.tar.bz2" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +IUSE="ipv6 readline ssl tcpd" +# bug #946404 (and many others), whack-a-mole with timeouts and friends +# Try again in the future. +RESTRICT="test" + +DEPEND=" + ssl? ( >=dev-libs/openssl-3:= ) + readline? ( sys-libs/readline:= ) + tcpd? ( sys-apps/tcp-wrappers ) +" +RDEPEND="${DEPEND}" + +DOCS=( BUGREPORTS CHANGES DEVELOPMENT EXAMPLES FAQ FILES PORTING README SECURITY ) + +src_configure() { + # bug #293324 + filter-flags '-Wno-error*' + + tc-export AR + + local myeconfargs=( + $(use_enable ssl openssl) + $(use_enable readline) + $(use_enable ipv6 ip6) + $(use_enable tcpd libwrap) + ) + + econf "${myeconfargs[@]}" +} + +src_test() { + # Most tests are skipped because they need network access or a TTY + # Some are for /dev permissions probing (bug #940740) + # 518 519 need extra permissions + edo ./test.sh -v --expect-fail 13,15,87,217,311,313,370,388,410,466,478,518,519,528 +} + +src_install() { + default + + docinto html + dodoc doc/*.html doc/*.css + + if use elibc_musl; then + QA_CONFIG_IMPL_DECL_SKIP=( getprotobynumber_r ) + fi +} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/wget/files/wget-1.24.5-libproxy-no-debug.patch b/sdk_container/src/third_party/portage-stable/net-misc/wget/files/wget-1.24.5-libproxy-no-debug.patch deleted file mode 100644 index 9f75dc471a1..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/wget/files/wget-1.24.5-libproxy-no-debug.patch +++ /dev/null @@ -1,50 +0,0 @@ -https://bugs.gentoo.org/930060 -https://gitlab.com/gnuwget/wget/-/issues/19 -https://gitlab.com/gnuwget/wget/-/merge_requests/39 - -From 5f0aa59239c36fc945b94d8ab91562d56e5bf776 Mon Sep 17 00:00:00 2001 -From: Sam James -Date: Tue, 16 Apr 2024 03:18:40 +0100 -Subject: [PATCH] Fix libproxy build with --disable-debug - -The definition of debug_logprintf in src/log.c is guarded by ENABLE_DEBUG -(although its prototype is unconditionally available in src/log.h). - -The uses of debug_logprintf in src/retr.c aren't guarded by ENABLE_DEBUG. - -Use the DEBUGP macro which is designed for this purpose. - -* src/retr.c (getproxy): Use DEBUGP macro. - -Fixes: https://gitlab.com/gnuwget/wget/-/issues/19 -Copyright-paperwork-exempt: Yes ---- a/src/retr.c -+++ b/src/retr.c -@@ -1498,21 +1498,21 @@ getproxy (struct url *u) - pxProxyFactory *pf = px_proxy_factory_new (); - if (!pf) - { -- debug_logprintf ("Allocating memory for libproxy failed"); -+ DEBUGP (("Allocating memory for libproxy failed")); - return NULL; - } - -- debug_logprintf ("asking libproxy about url '%s'\n", u->url); -+ DEBUGP (("asking libproxy about url '%s'\n", u->url)); - char **proxies = px_proxy_factory_get_proxies (pf, u->url); - if (proxies) - { - if (proxies[0]) - { -- debug_logprintf ("libproxy suggest to use '%s'\n", proxies[0]); -+ DEBUGP (("libproxy suggest to use '%s'\n", proxies[0])); - if (strcmp (proxies[0], "direct://") != 0) - { - proxy = xstrdup (proxies[0]); -- debug_logprintf ("libproxy setting to use '%s'\n", proxy); -+ DEBUGP (("libproxy setting to use '%s'\n", proxy)); - } - } - --- -GitLab diff --git a/sdk_container/src/third_party/portage-stable/net-misc/wget/wget-1.25.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/wget/wget-1.25.0-r1.ebuild index 5944871e537..feeac90da95 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/wget/wget-1.25.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/wget/wget-1.25.0-r1.ebuild @@ -14,7 +14,7 @@ SRC_URI+=" verify-sig? ( mirror://gnu/wget/${P}.tar.lz.sig )" 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="cookie-check debug gnutls idn libproxy metalink nls ntlm pcre +ssl static test uuid zlib" REQUIRED_USE="ntlm? ( !gnutls ssl ) gnutls? ( ssl )" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.20.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.20.ebuild index 1f0b8109407..4c9b5630420 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.20.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.20.ebuild @@ -17,7 +17,7 @@ else SRC_URI="https://github.com/rfc1036/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" #S="${WORKDIR}"/${PN} - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.21.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.21.ebuild index 1f0b8109407..4c9b5630420 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.21.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.21.ebuild @@ -17,7 +17,7 @@ else SRC_URI="https://github.com/rfc1036/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" #S="${WORKDIR}"/${PN} - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.23.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.23.ebuild index 1f0b8109407..4c9b5630420 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.23.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.23.ebuild @@ -17,7 +17,7 @@ else SRC_URI="https://github.com/rfc1036/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" #S="${WORKDIR}"/${PN} - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-9999.ebuild index c27ae99b57b..2e8630e931a 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-9999.ebuild @@ -17,7 +17,7 @@ else SRC_URI="https://github.com/rfc1036/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" #S="${WORKDIR}"/${PN} - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.19.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.19.ebuild index 580a2877352..c787455a668 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.19.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.19.ebuild @@ -27,7 +27,7 @@ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openldap.asc LICENSE="OPENLDAP GPL-2" # Subslot added for bug #835654 SLOT="0/$(ver_cut 1-2)" -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" IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" IUSE_OVERLAY="overlays perl autoca" diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.8-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.8-r1.ebuild index 7d47017d51b..4525d259910 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.8-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.8-r1.ebuild @@ -26,7 +26,7 @@ S="${WORKDIR}"/${PN}-OPENLDAP_REL_ENG_${MY_PV} LICENSE="OPENLDAP GPL-2" # Subslot added for bug #835654 SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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" IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" IUSE_OVERLAY="overlays perl autoca" diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.9.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.9.ebuild index b76192650eb..392a6aa8f55 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.9.ebuild @@ -28,7 +28,7 @@ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openldap.asc LICENSE="OPENLDAP GPL-2" # Subslot added for bug #835654 SLOT="0/$(ver_cut 1-2)" -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" IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" IUSE_OVERLAY="overlays perl autoca" diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch.list b/sdk_container/src/third_party/portage-stable/profiles/arch.list index 51ee66667c4..e693088edd7 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch.list +++ b/sdk_container/src/third_party/portage-stable/profiles/arch.list @@ -14,14 +14,6 @@ sparc x86 # Prefix keywords -amd64-linux -arm-linux -arm64-linux -ppc64-linux -riscv-linux -x86-linux arm64-macos -ppc-macos -x86-macos x64-macos x64-solaris 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 ad1350522ab..9e35c868f9d 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 +# Eli Schwartz (2025-11-27) +# Needs dev-python/mypy for mypyc, not keyworded here +dev-python/charset-normalizer native-extensions + # Viorel Munteanu (2025-11-09) # Needs media-video/pipewire, not keyworded here net-misc/tigervnc wayland @@ -420,15 +424,11 @@ net-libs/gnome-online-accounts gnome # Requires media-libs/mesa[llvm], which is masked. dev-python/pyopengl test -# Matt Turner (2020-03-17) -# Requires an insane (and always growing) number of ruby deps -sys-block/thin-provisioning-tools test - # Thomas Deutschmann (2020-03-15) # Mask USE=dav1d, media-libs/dav1d is not keyworded # Mask USE=libaribb24, media-libs/aribb24 is not keyworded -media-video/ffmpeg dav1d libaribb24 libtesseract -media-video/ffmpeg-compat dav1d libaribb24 libtesseract +media-video/ffmpeg dav1d libaribb24 ocr +media-video/ffmpeg-compat dav1d libaribb24 ocr # Andrey Utkin (2020-03-11) # USE=bpf depends on llvm-core/clang which is not keyworded on alpha. @@ -698,3 +698,7 @@ net-dialup/ppp atm # Needs nut and qstat respectively, neither is keyworded on alpha. net-analyzer/nagios-plugins nagios-game + +# Lukas Schmelting +# Depends on unkeyworded x11-misc/xvfb-run +>=x11-libs/libnotify-0.8.7 test diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/use.mask index 5f62e7b2d66..752827f8840 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/use.mask @@ -14,7 +14,6 @@ flatpak # matoro (2023-11-14) # Qt is not keyworded here -qt5 qt6 # matoro (2023-06-17) @@ -78,7 +77,6 @@ luajittex # Tobias Klausmann (2016-06-07) # We currently do not have the resources to AT qt5 packages. -# This may change when/if qt4 goes away. qt5 # This file masks out USE flags that are simply NOT allowed in the default @@ -148,15 +146,10 @@ gts # Needs to be tested video_cards_nouveau -# Ben de Groot (2009-02-11) -# Both dev-qt/qtphonon and media-sound/phonon are unkeyworded -phonon - # Raúl Porcel (2007-05-14) # Alpha doesn't have wpa_supplicant keyworded, bug 175714 networkmanager - # alpha doesn't have java support java pdfannotextractor 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 13513849855..5c780b31565 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask @@ -17,6 +17,14 @@ #--- END OF EXAMPLES --- +# Sam James (2025-12-23) +# sys-process/numactl is available here +sys-fs/fuse -io-uring + +# Mike Gilbert (2025-12-15) +# arch-specific platform values +sys-boot/grub -grub_platforms_pc -grub_platforms_xen-32 + # Michał Górny (2025-11-01) # app-crypt/sequoia-chameleon-gnupg is keyworded here. app-alternatives/gpg -sequoia @@ -492,10 +500,6 @@ dev-db/mariadb -jdbc # PGO is fixed on amd64 >=www-client/firefox-48 -pgo -# Mike Gilbert (2016-06-23) -# This flag only has meaning on amd64 -sys-boot/grub:2 -grub_platforms_xen-32 - # Brian Evans (2015-09-14) # Unmask new USE flags for mariadb on supported arches >=dev-db/mariadb-10.1.0 -mroonga -galera diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.stable.mask index 4878ef3ae59..8964f42a3fc 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.stable.mask @@ -17,6 +17,10 @@ #--- END OF EXAMPLES --- +# Sam James (2025-11-30) +# sci-libs/blis and sci-libs/mkl do not have stable keywords +sci-libs/flexiblas blis mkl + # Sam James (2025-04-20) # Needs dev-python/scipy for tests which often ends up destabled on arches # even if it was previously stable there, as its own test results vary a lot. diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.mask index ff057e36495..a21347bd397 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.mask @@ -102,6 +102,7 @@ dev-python/spyder dev-python/spyder-unittest dev-python/spyder-line-profiler dev-python/spyder-notebook +dev-python/spyder-terminal dev-util/kdevelop dev-util/kdevelop-php dev-util/kdevelop-python @@ -153,14 +154,13 @@ sci-geosciences/qmapshack sci-mathematics/rkward sys-apps/polychromatic www-client/falkon -www-client/otter www-client/qutebrowser -media-video/jellyfin-media-player # Andreas Sturmlechner (2021-02-09) # Requires net-libs/nodejs dev-lang/typescript gnome-extra/gnome-shell-extension-pop-shell +>=gnome-extra/gnome-weather-49 # Andreas K. Hüttel (2020-09-20) # Binary-only with no x32 support diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask index 7fa9ddfb159..68fe25cee0a 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask @@ -1,6 +1,10 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfred Wingate (2025-11-23) +# Requires dev-qt/qtwebengine +media-sound/easyeffects webengine + # Sam James (2025-11-16) # Needs unkeyworded dev-libs/capstone which fails tests on arm (bug #924922) app-emulation/qemu capstone @@ -375,7 +379,7 @@ net-libs/gnutls test-full # Andreas Sturmlechner (2018-03-02) # Requires unkeyworded deps ->=dev-python/ipython-5.4.1 qt5 +>=dev-python/ipython-5.4.1 gui qt5 # Michał Górny (2017-12-30) # Moved from use.mask since they are flags local to one package. @@ -454,6 +458,7 @@ net-print/hplip -scanner kde # Alexis Ballier (2015-04-02) # Needs ilmbase (openexr), which does not build and is masked on arm. media-libs/freeimage tiff +sci-libs/opencascade freeimage # Jason A. Donenfeld (2015-02-09) # Google does not distribute the widevine plugin for ARM. It must be extracted from a Chromebook, 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 921a8bf7a0d..77c26debe72 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,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Matt Turner (2025-11-24) +# spirv-llvm-translator < 20 is not stable here. +dev-util/mesa_clc llvm_slot_17 llvm_slot_18 llvm_slot_19 + # Andreas Sturmlechner (2025-08-29) # dev-perl/GD-Barcode is not stable here. Bug #661634 dev-perl/Business-ISBN barcode diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask index f19b55e820d..1fc99d16b6e 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2025-12-23) +# sys-process/numactl is available here +sys-fs/fuse -io-uring + # Michał Górny (2025-11-01) # app-crypt/sequoia-chameleon-gnupg is keyworded here. app-alternatives/gpg -sequoia @@ -121,10 +125,6 @@ dev-python/pyside -webview # Dependencies e.g. pypy keyworded (not stable) here. dev-build/meson -test-full -# Sv. Lockal (2025-01-11) -# dev-cpp/prometheus-cpp is not keyworded -dev-cpp/opentelemetry-cpp prometheus - # Michał Górny (2024-12-24) # OpenMP offloading is supported on 64-bit architectures only. llvm-runtimes/clang-runtime -offload @@ -355,10 +355,6 @@ llvm-runtimes/compiler-rt-sanitizers -gwp-asan -shadowcallstack llvm-runtimes/compiler-rt-sanitizers -libfuzzer -profile -xray -rtsan >=llvm-runtimes/compiler-rt-sanitizers-16 -orc -# Roy Bamford (2020-12-07) -# media-libs/liblastfm fails to build with tests Bug #758896 -media-sound/clementine lastfm - # Sam James (2020-10-03) # Builds & tests pass on arm64. # Available on: amd64, x86, arm{,64}. diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.stable.mask index 191d4d7b05e..b44cb4c06b5 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.stable.mask @@ -1,6 +1,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2025-11-30) +# sci-libs/blis does not have stable keywords +sci-libs/flexiblas blis + # Sam James (2025-04-28) # Needs sys-cluster/ceph which isn't marked stable here sys-block/fio rbd @@ -133,5 +137,4 @@ x11-base/xorg-drivers input_devices_elographics input_devices_joystick input_dev app-admin/syslog-ng spoof-source app-text/xmlto latex sys-auth/pambase pam_krb5 pam_ssh -sys-block/thin-provisioning-tools test sys-devel/distcc gssapi diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/base/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/arch/base/make.defaults index 19d64396e46..645bfc9d993 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/base/make.defaults +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/base/make.defaults @@ -1,8 +1,8 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 USE_EXPAND_UNPREFIXED="ARCH" USE_EXPAND_IMPLICIT="ARCH" -USE_EXPAND_VALUES_ARCH="alpha amd64 amd64-linux arm arm64 arm64-macos hppa loong m68k mips ppc ppc64 ppc64-linux ppc-macos riscv s390 sparc x64-macos x64-solaris x86 x86-linux" +USE_EXPAND_VALUES_ARCH="alpha amd64 arm arm64 arm64-macos hppa loong m68k mips ppc ppc64 riscv s390 sparc x64-macos x64-solaris x86" PROFILE_ONLY_VARIABLES="${PROFILE_ONLY_VARIABLES} ARCH USE_EXPAND_VALUES_ARCH" 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 e7825d0033d..0cb8547b7af 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask @@ -1,6 +1,15 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2025-12-23) +# sys-process/numactl is not available everywhere +sys-fs/fuse io-uring + +# Mike Gilbert (2025-11-01) # app-crypt/sequoia-chameleon-gnupg is not keyworded everywhere. app-alternatives/gpg sequoia @@ -266,10 +275,6 @@ media-libs/libva-intel-driver hybrid (2022-02-24) -# These GRUB platforms are only for MIPS. -sys-boot/grub grub_platforms_loongson grub_platforms_qemu-mips - # Adel Kara Slimane (2022-02-17) # Mask AMF keyword on non-amd64 arches # It is unusable, for now, in other arches @@ -438,10 +443,6 @@ dev-db/mysql numa # Mask jdbc as most arches don't support java dev-db/mariadb jdbc -# Mike Gilbert (2016-06-23) -# This flag only has meaning on amd64 -sys-boot/grub:2 grub_platforms_xen-32 - # Alexis Ballier (2015-11-14) # MMAL is only available on the Raspberry Pi: # Mask it globally, unmask it on arm. diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/make.defaults index 134523f955f..71d1e3f0688 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/make.defaults +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/make.defaults @@ -22,10 +22,3 @@ CHOST_hppa="${CHOST}" # Donnie Berkholz (2006-08-18) # Defaults for video drivers VIDEO_CARDS="fbdev" - -# Sam James (2025-11-05) -# Since Python 3.14 is masked on HPPA, we need to re-enable Python 3.13 -# and explicitly disable 3.14. See bug #959416. -PYTHON_SINGLE_TARGET="python3_13 -python3_14 -python3_14t" -PYTHON_TARGETS="python3_13 -python3_14 -python3_14t" -BOOTSTRAP_USE="unicode pkg-config split-usr xml python_targets_python3_13 python_single_target_python3_13" diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.mask index 4dbc4bd7fec..c5331f433c8 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.mask @@ -1,22 +1,6 @@ # Copyright 2019-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Sam James (2025-11-05) -# Fails to build on HPPA (stack size calculation goes wrong), bug #959416. -dev-lang/python:3.14 -dev-lang/python:3.14t -dev-python/python-tests:3.14 -dev-python/python-tests:3.14t - -# Sam James (2025-03-24) -# Affected by a data corruption bug on HPPA -# https://lore.kernel.org/linux-parisc/84d7b3e1053b2a8397bcc7fc8eee8106@matoro.tk/ ->=sys-kernel/gentoo-sources-6.12 ->=sys-kernel/vanilla-sources-6.12 ->=sys-kernel/gentoo-kernel-6.12 ->=sys-kernel/vanilla-kernel-6.12 ->=virtual/dist-kernel-6.12 - # Sam James (2023-03-28) # Needs explicit porting to each platform (bug 894078#c6) dev-python/py-cpuinfo diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask index 9c451dce4ac..51beb46c41a 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask @@ -4,6 +4,18 @@ # NOTE: When masking a USE flag due to missing keywords, please file a keyword # request bug for the hppa arch. +# Alfred Wingate (2025-12-24) +# media-libs/jasper is not keyworded here +media-libs/gegl jpeg2k + +# Eli Schwartz (2025-11-27) +# Needs dev-python/mypy for mypyc, not keyworded here +dev-python/charset-normalizer native-extensions + +# Ionen Wolkens (2025-11-20) +# Needs llvm-core/clang which is not keyworded here +dev-qt/qttools qdoc + # Alfred Wingate (2025-10-20) # sys-libs/libnvme is not keyworded here net-misc/networkmanager nbft @@ -362,8 +374,8 @@ media-sound/vorbis-tools kate # Rolf Eike Beer (2020-04-14) # dependencies not keyworded -media-video/ffmpeg dav1d libaribb24 libtesseract vidstab -media-video/ffmpeg-compat dav1d libaribb24 libtesseract vidstab +media-video/ffmpeg dav1d libaribb24 ocr vidstab +media-video/ffmpeg-compat dav1d libaribb24 ocr vidstab # Rolf Eike Beer (2020-04-11) # media-gfx/nvidia-texture-tools, media-libs/allegro not keyworded on hppa @@ -444,8 +456,8 @@ media-video/ffmpeg libilbc zimg media-video/ffmpeg-compat libilbc zimg # Justin Lecher (2017-01-15) -# unkeyworded rev deps -dev-games/openscenegraph gdal las +# unkeyworded rev dep +dev-games/openscenegraph gdal # Jeroen Roovers (2016-12-28) # "#error Unsupported architecture" diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.stable.mask index 9dd0b26f81e..fb611f3f695 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.stable.mask @@ -280,7 +280,6 @@ net-wireless/bluez obex # to bug 626682 dev-ruby/bundler doc dev-ruby/rspec-core highlight test -sys-block/thin-provisioning-tools test # David Seifert (2017-09-23) # >=virtual/mpi-2.0-r4 does not have stable keywords on hppa diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/use.mask index 259ef6983f3..4fbc0d43c37 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/use.mask @@ -7,13 +7,6 @@ # NOTE: When masking a USE flag due to missing keywords, please file a keyword # request bug for the hppa arch. -# Sam James (2025-11-05) -# Fails to build on HPPA (stack size calculation goes wrong), bug #959416. -python_targets_python3_14 -python_targets_python3_14t -python_single_target_python3_14 -python_single_target_python3_14t - # Andreas Sturmlechner (2025-06-12) # x11-drivers/xf86-input-wacom is not keyworded here input_devices_wacom 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 2bb69291fa1..6257ca304d3 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,29 @@ # Copyright 2022-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# WANG Xuerui (2025-12-11) +# Mysterious segfault at build time (building splash image), during exiv2 +# XMP namespace registration, due to unidentified interaction between C++ +# exception handling and loongarch64 libunwind operation. +media-gfx/gimp unwind + +# WANG Xuerui (2025-12-10) +# Test case "c_test" fails with "free: invalid size". +dev-libs/rocksdb jemalloc + +# WANG Xuerui (2025-12-10) +# Requires ocamlopt which has not been ported to loong. +# See https://github.com/ocaml/ocaml/pull/11974 +sys-libs/libnbd ocaml + +# WANG Xuerui (2025-12-10) +# postgresql:14 is not keyworded on loong. +www-servers/uwsgi postgres_targets_postgres14 + +# Michal Rostecki (2025-11-26) +# llvm-core/lld supports loong from 17.x. +<=llvm-core/clang-linker-config-16 default-lld + # Ionen Wolkens (2025-11-13) # media-libs/libvmaf is keyworded here media-libs/x265 -vmaf @@ -289,8 +312,8 @@ app-cdr/brasero tracker # time being dev-cpp/libcmis man media-libs/opencv tesseract -media-video/ffmpeg libtesseract -media-video/ffmpeg-compat libtesseract +media-video/ffmpeg ocr +media-video/ffmpeg-compat ocr # WANG Xuerui (2022-12-05) # sys-auth/sssd isn't keyworded here yet @@ -311,6 +334,7 @@ app-admin/syslog-ng test # WANG Xuerui (2022-12-02) # sys-cluster/ceph is not keyworded yet. net-analyzer/rrdtool rados +www-servers/uwsgi uwsgi_plugins_rados # WANG Xuerui (2022-12-02) # Boost.Context has had support for loong since 1.79.0. diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/package.use.mask index 5fb33b7852f..08494bce145 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/package.use.mask @@ -1,6 +1,18 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# James Le Cuirot (2025-11-22) +# gnuplot is not keyworded or tested. +net-misc/ntpsec ntpviz + +# James Le Cuirot (2025-11-22) +# The imagemagick-tools[svg] dependency is currently problematic. +app-alternatives/gpg freepg + +# James Le Cuirot (2025-11-21) +# GTK is not keyworded or tested. +gnome-base/librsvg tools + # James Le Cuirot (2024-07-13) # These tests pass, but the net-misc/memcached tests do not, so we should not # keyword memcached-related packages such as dev-python/pylibmc. @@ -29,8 +41,8 @@ app-text/highlight gui net-misc/openvswitch unwind # Andreas K. Hüttel (2022-05-29) -# No TMP here, no xkb here -sys-apps/systemd tpm xkb +# No xkb here +sys-apps/systemd xkb # Adel Kara Slimane (2022-03-14) # Untested useflag on other arches, needs keywording @@ -59,17 +71,10 @@ dev-vcs/git doc # Avoid having to keyword Poppler and X11 libraries for now. media-gfx/graphviz pdf -# James Le Cuirot (2021-09-19) -# Requires Rust, which is currently unavailable on m68k. -app-editors/emacs svg -media-gfx/graphviz svg -media-gfx/imagemagick svg - # James Le Cuirot (2021-09-19) # Requires Ruby, which is broken on m68k. app-text/htmltidy test net-misc/chrony html -sys-block/thin-provisioning-tools test # James Le Cuirot (2021-09-19) # Requires texlive and friends to be keyworded. diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/use.mask index 04fc4c482d3..17943756c8a 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/use.mask @@ -4,6 +4,10 @@ # Unmask the flag which corresponds to ARCH. -m68k +# James Le Cuirot (2025-11-22) +# Vala looks like it would work well enough, but m68k doesn't need it. +vala + # Andreas Sturmlechner (2025-06-12) # x11-drivers/xf86-input-wacom is not keyworded here input_devices_wacom @@ -37,6 +41,7 @@ vim-syntax # James Le Cuirot (2022-01-01) # Hardware that probably doesn't apply to m68k. input_devices_elographics +tpm video_cards_amdgpu video_cards_mga video_cards_nouveau diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/mips/o32/package.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/mips/o32/package.mask index 3eba8c7538c..a20825e3322 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/mips/o32/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/mips/o32/package.mask @@ -1,4 +1,4 @@ -# Copyright 2023-2024 Gentoo Authors +# Copyright 2023-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Andreas K. Hüttel (2024-09-10) @@ -8,6 +8,3 @@ sys-boot/arcload # Joshua Kinard (2024-02-27) # app-arch/lrzip-next does not support 32-bit arches (#925548) app-arch/lrzip-next - -# fails to build, bug 920576 -=sys-apps/systemd-255* diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask index bb4e2d4ded9..2d83a1d3292 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask @@ -1,6 +1,18 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfred Wingate (2025-12-24) +# media-libs/jasper are not keyworded here +media-libs/gegl jpeg2k + +# Ulrich Müller (2025-12-15) +# app-text/texlive[xetex] not keyworded, #967505. +app-text/pdfjam test + +# Eli Schwartz (2025-11-27) +# Needs dev-python/mypy for mypyc, not keyworded here +dev-python/charset-normalizer native-extensions + # Sam James (2025-11-15) # sys-block/thin-provisioning-tools not keyworded here sys-fs/lvm2 thin @@ -517,3 +529,7 @@ dev-vcs/git cgi # Matt Turner (2012-02-09) # mips only use flags >=sci-libs/fftw-3 -zbus + +# Lukas Schmelting +# Depends on unkeyworded x11-misc/xvfb-run +>=x11-libs/libnotify-0.8.7 test diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask index e561c65393a..5af4ee705a6 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask @@ -1,6 +1,14 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfred Wingate (2025-12-24) +# media-libs/jasper is not keyworded here +media-libs/gegl jpeg2k + +# Alfred Wingate (2025-11-23) +# Requires dev-qt/qtwebengine +media-sound/easyeffects webengine + # Michał Górny (2025-10-03) # Now keyworded on ppc* too. sci-libs/flexiblas -system-blas @@ -318,7 +326,6 @@ dev-db/mysql -numa # Michael Palimaka (2016-07-07) # Requires unkeyworded dependencies dev-vcs/subversion kwallet -net-irc/quassel kde sys-auth/polkit kde sys-block/gparted kde virtual/notification-daemon kde 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 c2d7a92b06d..463a3241cff 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 @@ -84,7 +84,6 @@ app-crypt/mit-krb5 keyutils app-emulation/qemu keyutils net-fs/cifs-utils ads creds pam net-fs/samba ads addc ->=sys-libs/libblockdev-3.0.0 cryptsetup sys-libs/libnvme keyutils # Michał Górny (2023-10-15) @@ -253,10 +252,6 @@ sys-firmware/seabios -debug # Missing keyword on dev-embedded/libjaylink sys-apps/flashrom jlink-spi -# Andreas Sturmlechner (2019-05-15) -# sys-cluster/hpx, sci-libs/silo not keyworded -sci-libs/libgeodecomp hpx silo - # Andreas Sturmlechner (2019-02-16) # app-text/libwpd and app-text/libwpg are not keyworded media-gfx/inkscape cdr visio wpg diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.mask index aa4f7d7393b..baff8a83c64 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.mask @@ -28,7 +28,6 @@ # bug #818424 -dev-games/openscenegraph -dev-games/openscenegraph-openmw --dev-games/openscenegraph-qt -games-engines/openmw -media-libs/openexr -media-libs/ctl diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.mask index 9b330b7b846..f4e39599e1b 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.mask @@ -15,7 +15,6 @@ dev-lisp/sbcl # bug #818424 dev-games/openscenegraph dev-games/openscenegraph-openmw -dev-games/openscenegraph-qt games-engines/openmw media-libs/openexr media-libs/ctl 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 8b843d1f211..75c8584f802 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 +# Andreas Sturmlechner (2025-10-08) +# dev-libs/weston is not stable. +gui-apps/sddm-gentoo-config weston + # Michał Górny (2025-09-12) # These BLAS/LAPACK providers are keyworded here. sci-libs/flexiblas -blis 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 ffa659af35d..c2871cf802c 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 --- +# Sam James (2025-11-30) +# sci-libs/blis does not have stable keywords +sci-libs/flexiblas blis + # Pacho Ramos (2025-06-28) # Mask options needing to stabilize Gnome stuff gnome-base/gvfs google onedrive diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask index 375464c0aa3..a017bb4c08e 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask @@ -1,6 +1,13 @@ # Copyright 2023-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Eli Schwartz (2025-12-09) +# libyuv is Google code, fails on "fringe" arches. +# https://bugs.gentoo.org/959389 +media-libs/imlib2 y4m +media-libs/libavif libyuv +net-libs/pjproject libyuv + # Alfred Wingate (2025-11-15) # sci-libs/libaec is not keyworded here (bug #966099) sci-libs/gdal libaec diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask index bf83fd287db..78ad2cb8c2b 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask @@ -1,6 +1,14 @@ # Copyright 2019-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfred Wingate (2025-12-24) +# media-libs/jasper is not keyworded here +media-libs/gegl jpeg2k + +# Sam James (2025-12-18) +# dev-lang/ada-bootstrap exists here +>=sys-devel/gcc-11 -ada + # Sam James (2025-10-28) # Portability issues with dev-libs/apache-arrow (bug #923968). sci-libs/gdal parquet diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask index 33c2d05f661..4d51c64acaa 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2025-12-18) +# dev-lang/ada-bootstrap exists here +>=sys-devel/gcc-11 -ada + # Sam James (2025-11-15) # sys-block/thin-provisioning-tools not keyworded here sys-fs/lvm2 thin 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 2f71a589010..d257582f547 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 +# Lukas Schmelting (2025-11-09) +# gnome-online-accounts is unkeyworded and in use.mask for sparc +gnome-base/gvfs gnome-online-accounts google onedrive + # Philipp Rösner (2025-09-23) # media-libs/zxingcpp is not keyworded here app-text/mupdf barcode @@ -198,7 +202,6 @@ app-crypt/mit-krb5 keyutils app-emulation/qemu keyutils net-fs/samba ads net-fs/cifs-utils ads creds pam ->=sys-libs/libblockdev-3.0.0 cryptsetup sys-libs/libnvme keyutils # Sam James (2024-01-02) @@ -632,8 +635,8 @@ net-libs/gnome-online-accounts gnome x11-terms/gnome-terminal gnome-shell # Justin Lecher (2017-01-15) -# unkeyworded rev deps -dev-games/openscenegraph gdal las +# unkeyworded rev dep +dev-games/openscenegraph gdal # Pacho Ramos (2017-01-02) # Don't keyword redis @@ -813,3 +816,7 @@ net-im/pidgin zephyr # Ultrabug (2011-09-05) # missing keyword for net-libs/zeromq app-admin/rsyslog zeromq + +# Lukas Schmelting +# Depends on unkeyworded x11-misc/xvfb-run +>=x11-libs/libnotify-0.8.7 test diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.stable.mask index 46e78cc018b..ed87c3d0763 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.stable.mask @@ -114,8 +114,8 @@ media-sound/vorbis-tools kate # Rolf Eike Beer (2020-04-14) # dependencies not stable on sparc -media-video/ffmpeg codec2 libaribb24 libilbc libtesseract lv2 rubberband vidstab -media-video/ffmpeg-compat codec2 libaribb24 libilbc libtesseract lv2 rubberband vidstab +media-video/ffmpeg codec2 libaribb24 libilbc lv2 ocr rubberband vidstab +media-video/ffmpeg-compat codec2 libaribb24 libilbc lv2 ocr rubberband vidstab # Rolf Eike Beer (2020-04-10) # gnome-online-accounts not stable on sparc diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/use.mask index 50fafe9fb6b..e95556f7358 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/use.mask @@ -4,6 +4,10 @@ # Unmask the flag which corresponds to ARCH. -sparc +# Lukas Schmelting (2025-11-09) +# gnome-online-accounts is not keyworded for sparc +gnome-online-accounts + # matoro (2024-06-11) # Extensive use of unaligned access, no plans to fix, #636552 # https://github.com/memcached/memcached/issues/902 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 1ae150506db..77c30d7e619 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,18 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Mike Gilbert (2025-12-15) +# arch-specific platform values +sys-boot/grub -grub_platforms_pc + +# Nowa Ammerlaan (2025-12-03) +# media-video/ffmpeg-chromium is not available here +dev-libs/nwjs ffmpeg-chromium + +# Alfred Wingate (2025-11-23) +# Requires dev-qt/qtwebengine +media-sound/easyeffects webengine + # Ionen Wolkens (2025-11-13) # media-libs/libvmaf is keyworded here media-libs/x265 -vmaf diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.stable.mask index 9dfddf425de..f9ae7a924c0 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.stable.mask @@ -17,6 +17,14 @@ #--- END OF EXAMPLES --- +# Andreas Sturmlechner (2025-12-13) +# media-gfx/asymptote is not stable here, bug #961740 +dev-tex/rubber test + +# Sam James (2025-11-30) +# sci-libs/blis does not have stable keywords +sci-libs/flexiblas blis + # Andreas Sturmlechner (2025-08-29) # dev-perl/Template-GD is not stable here. Bug #962143 dev-perl/Template-Toolkit gd @@ -78,7 +86,6 @@ app-emulation/libvirt nbd # Arthur Zamarin (2023-06-03) # Destabilizing x86 keywords on sci-*/* packages app-metrics/collectd collectd_plugins_gps -dev-games/openscenegraph las dev-libs/efl physics media-libs/a52dec djbfft dev-python/graphviz test diff --git a/sdk_container/src/third_party/portage-stable/profiles/arches.desc b/sdk_container/src/third_party/portage-stable/profiles/arches.desc index 2309e3811ac..056b77ee086 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arches.desc +++ b/sdk_container/src/third_party/portage-stable/profiles/arches.desc @@ -27,15 +27,7 @@ sparc testing x86 stable # Prefix keywords -amd64-linux testing -arm-linux testing -arm64-linux testing -ppc64-linux testing -riscv-linux testing -x86-linux testing arm64-macos testing -ppc-macos testing -x86-macos testing x64-macos testing x64-solaris testing diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/base/make.defaults index 1d272050d37..080ad2a8c58 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/make.defaults +++ b/sdk_container/src/third_party/portage-stable/profiles/base/make.defaults @@ -12,7 +12,7 @@ USE_EXPAND_VALUES_KERNEL="Darwin linux SunOS" # Env vars to expand into USE vars. Modifying this requires prior # discussion on gentoo-dev@lists.gentoo.org. -USE_EXPAND="ABI_MIPS ABI_S390 ABI_X86 ADA_TARGET ALSA_CARDS AMDGPU_TARGETS APACHE2_MODULES APACHE2_MPMS CALLIGRA_FEATURES CAMERAS COLLECTD_PLUGINS CPU_FLAGS_ARM CPU_FLAGS_PPC CPU_FLAGS_X86 CURL_SSL CURL_QUIC ELIBC FFTOOLS GPSD_PROTOCOLS GRUB_PLATFORMS GUILE_SINGLE_TARGET GUILE_TARGETS INPUT_DEVICES KERNEL L10N LCD_DEVICES LIBREOFFICE_EXTENSIONS LLVM_SLOT LLVM_TARGETS LUA_SINGLE_TARGET LUA_TARGETS NGINX_MODULES_HTTP NGINX_MODULES_MAIL NGINX_MODULES_STREAM OFFICE_IMPLEMENTATION OPENMPI_FABRICS OPENMPI_OFED_FEATURES OPENMPI_RM PERL_FEATURES PHP_TARGETS POSTGRES_TARGETS PYTHON_SINGLE_TARGET PYTHON_TARGETS QEMU_SOFTMMU_TARGETS QEMU_USER_TARGETS RUBY_TARGETS RUST_SYSROOTS SANE_BACKENDS UWSGI_PLUGINS VIDEO_CARDS VOICEMAIL_STORAGE XTABLES_ADDONS" +USE_EXPAND="ABI_MIPS ABI_S390 ABI_X86 ADA_TARGET ALSA_CARDS AMDGPU_TARGETS APACHE2_MODULES APACHE2_MPMS CALLIGRA_FEATURES CAMERAS COLLECTD_PLUGINS CPU_FLAGS_ARM CPU_FLAGS_PPC CPU_FLAGS_X86 CURL_SSL CURL_QUIC ELIBC FFTOOLS GPSD_PROTOCOLS GRUB_PLATFORMS GUILE_SINGLE_TARGET GUILE_TARGETS INPUT_DEVICES KERNEL L10N LCD_DEVICES LIBREOFFICE_EXTENSIONS LLVM_SLOT LLVM_TARGETS LUA_SINGLE_TARGET LUA_TARGETS NGINX_MODULES_HTTP NGINX_MODULES_MAIL NGINX_MODULES_STREAM OFFICE_IMPLEMENTATION OPENMPI_FABRICS OPENMPI_OFED_FEATURES OPENMPI_RM PERL_FEATURES PHP_TARGETS POSTGRES_TARGETS PYTHON_SINGLE_TARGET PYTHON_TARGETS QEMU_SOFTMMU_TARGETS QEMU_USER_TARGETS RUBY_TARGETS RUST_SYSROOTS SANE_BACKENDS UWSGI_PLUGINS VIDEO_CARDS VOICEMAIL_STORAGE XTABLES_ADDONS SELINUX_POLICY_TYPES" # USE_EXPAND variables whose contents are not shown in package manager # output. Changes need discussion on gentoo-dev. @@ -166,10 +166,10 @@ POSTGRES_TARGETS="postgres17" # PHP_TARGETS="php8-3" -# Sam James (2025-02-19) +# Sam James (2025-12-03) # # Default Ada target -ADA_TARGET="gcc_14" +ADA_TARGET="gcc_15" # Marek Szuba (2020-10-15) # Default targets for lua{,-single}.eclass 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 a57c3b6ef7c..34718c79be6 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 @@ -1,6 +1,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Paul Zander (2025-11-28) +# Requires media-libs/openjph #966735 +media-libs/openexr:0/33 + # Andreas Sturmlechner (2025-05-18) # Requires systemd, so specifically unmasked only in targets/systemd. >=kde-plasma/drkonqi-6.3.90 diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.use b/sdk_container/src/third_party/portage-stable/profiles/base/package.use index 2e8dbb4db66..d1ae84235ad 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.use @@ -2,8 +2,9 @@ # Distributed under the terms of the GNU General Public License v2 # Michał Górny (2025-10-25) -# Use FlexiBLAS by default. -sci-libs/flexiblas system-blas +# Use FlexiBLAS by default. Default-enable OpenBLAS backend for better +# performance. +sci-libs/flexiblas openblas system-blas sci-libs/lapack flexiblas deprecated lapacke virtual/blas flexiblas virtual/cblas flexiblas 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 5ee5e2e152e..d502519388a 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,9 +1,17 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Michael Orlitzky (2025-12-22) +# James Le Cuirot (2025-11-18) +# 2.50.1 fails with gstreamer disabled (bug #965971), +# and its replacement fails to non-jumbo build. +=net-libs/webkit-gtk-2.50.1*:4.1 gstreamer +=net-libs/webkit-gtk-2.50.4-r410 jumbo-build +=net-libs/webkit-gtk-2.50.4-r600 jumbo-build + # 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 @@ -78,6 +86,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.92.0 llvm_slot_21 +dev-lang/rust-bin:1.92.0 llvm_slot_21 dev-lang/rust:1.91.0 llvm_slot_21 dev-lang/rust-bin:1.91.0 llvm_slot_21 dev-lang/rust:1.90.0 llvm_slot_20 diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask index 21c07a9ee59..cd445b0546a 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 @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # This file is only for generic masks. For arch-specific masks (i.e. @@ -6,6 +6,55 @@ # New entries go on top. +# Eli Schwartz (2026-01-09) +# tests fail to build during src_compile: +# - needs demos to be built +# - OpenGLExampleBrowser.cpp:928:17: error: ‘simpleApp’ was not declared in this scope +sci-physics/bullet test + +# Andreas K. Hüttel (2026-01-07) +# Building glibc with clang is highly experimental and only possible and +# tested in few configurations. Enabling the useflag clang allows free +# choice of the compiler. By masking this useflag, the ebuild +# forcibly resets the compiler to gcc. +sys-libs/glibc clang + +# Volkmar W. Pogatzki (2026-01-07) +# openjfx for OpenJDK 26 and 27 is not yet available. +dev-java/openjdk:26 javafx +dev-java/openjdk:27 javafx + +# Paul Zander (2025-12-27) +# breaks with old in-tree sys-cluster/ampi bug #586746 #830093 #815007 +sci-libs/adolc mpi + +# Ionen Wolkens (2025-12-24) +# cargo.eclass' IUSE=debug cannot currently be easily supported by +# the custom builder the package uses, mask to avoid no-op rebuilds +# (use RUSTFLAGS if need debug symbols, see also bug #967921) +media-libs/subrandr debug + +# Andreas Sturmlechner (2025-12-21) +# gui-libs/hyprland-qtutils fails to build against Qt 6.10, upstream +# repository was archived. +gui-wm/hyprland qtutils + +# Michał Górny (2025-12-20) +# Needs last-rited dev-lang/julia. +kde-apps/cantor julia + +# Sam James (2025-12-07) +# Needs not-yet-released GCC 16. +dev-lang/python tail-call-interp + +# Volkmar W. Pogatzki (2025-12-06) +# No suitable versions of dev-libs/protobuf available. +~dev-java/protobuf-java-4.33.2 system-protoc + +# Lukas Schmelting (2025-10-29) # Help Portage resolve app-crypt/gnupg[verify-sig] with the app-alternatives/gpg # transition. The any-of dep in verify-sig.eclass helps a bit, but it struggles @@ -27,11 +76,6 @@ dev-libs/libksba verify-sig # https://bugs.gentoo.org/964377 mail-mta/exim pam -# Andreas Sturmlechner (2025-10-05) -# Preparation for sci-geosciences/liblas removal. Bug #957235 -<=dev-games/openscenegraph-3.6.5-r117 las -<=dev-games/openscenegraph-openmw-3.6_p20251012 las - # Michał Górny (2025-09-27) # Building NumPy with ILP64 LAPACK can cause revdeps to segfault if they # link to LP64 LAPACK. To support this properly, we either need to @@ -54,11 +98,6 @@ dev-games/ogre vulkan # General mask, to be unmasked on arches where glibc supports this >=sys-libs/glibc-2.42 sframe -# Ionen Wolkens (2025-08-02) -# Fails to build, needs looking into but isn't currently needed -# by anything and can leave it masked for now. ->=media-libs/vips-8.17 vala - # Alfred Wingate (2025-07-31) # Missing dependency sci-libs/gdal mongodb @@ -216,10 +255,6 @@ dev-libs/elfutils stacktrace # Masked for further testing. dev-cpp/gtest abseil -# Yongxiang Liang (2024-10-10) -# Fcitx 4 has been archived. -app-i18n/mozc fcitx4 - # Michael Orlitzky (2024-10-07) # Disable "webservices" support for gthumb because it pulls in the old # libsoup2 slot of webkit-gtk. Upstream hasn't really budged on this in @@ -821,6 +856,11 @@ mail-client/claws-mail litehtml # terms. Masked to prevent accidental installation of these files, # bug #318841#c20. sys-kernel/linux-firmware unknown-license +sys-firmware/alsa-firmware alsa_cards_korg1212 +sys-firmware/alsa-firmware alsa_cards_maestro3 +sys-firmware/alsa-firmware alsa_cards_sb16 +sys-firmware/alsa-firmware alsa_cards_wavefront +sys-firmware/alsa-firmware alsa_cards_ymfpci # Ulrich Müller (2019-04-25) # Pulls in media-fonts/kochi-substitute as dependency, which allows diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.stable.mask index b36c672f5d2..1c2725376ca 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.stable.mask @@ -8,10 +8,6 @@ # Need non-yet-stable caffe2 sci-chemistry/gromacs nnpot -# Sam James (2025-10-10) -# Needs not-yet-stable GCC 15. -dev-lang/python tail-call-interp - # Andreas Sturmlechner (2025-05-06) # USE=experimental is not stable by definition media-libs/zxing-cpp experimental @@ -129,10 +125,6 @@ app-emulation/winetricks test # for stable systems dev-lang/rust nightly -# Andreas Sturmlechner (2019-12-09) -# Declared experimental, and dev-cpp/websocketpp not stable yet -sci-libs/indilib websocket - # Mart Raudsepp (2019-04-14) # Needs media-plugins/gst-plugins-chromaprint, which is not stable # anywhere yet. diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/use.mask b/sdk_container/src/third_party/portage-stable/profiles/base/use.mask index b02c40e1883..c4620e1f9df 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/base/use.mask @@ -4,6 +4,10 @@ # This file is only for generic masks. For arch-specific masks (i.e. # mask everywhere, unmask on arch/*) use arch/base. +# Sam James (2025-12-02) +# GCC 16 is not yet released +ada_target_gcc_16 + # Sam James (2025-04-19) # Ruby 3.1 is no longer supported upstream and will no longer # receive security updates. diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/base/use.stable.mask index 671e307c697..edbd71d78c6 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/base/use.stable.mask @@ -4,23 +4,18 @@ # New entries go on top. # Please use the same syntax as in use.mask. - # Patrick Lauer (2025-10-07) # Postgres:18 is not stable yet postgres_targets_postgres18 -# Alfredo Tupone (1025-05-01) -# gcc:15 is not stable yet -ada_target_gcc_15 - # Michał Górny (2024-12-31) # LLVM slots with no stable releases yet. llvm_slot_22 -llvm_slot_21 # Hans de Graaff (2024-12-26) # Currently in testing and not ready to go stable yet. ruby_targets_ruby34 +ruby_targets_ruby40 # Michał Górny (2024-05-08) # Python implementations without stable keywords. diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64le/17.0/ieee-long-double/package.mask b/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64le/17.0/ieee-long-double/package.mask index 967a17ce171..81420a0eadc 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64le/17.0/ieee-long-double/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64le/17.0/ieee-long-double/package.mask @@ -1,7 +1,6 @@ -# Copyright 2022-2024 Gentoo Authors +# Copyright 2022-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Georgy Yakovlev (2022-12-04) # We only need versions that support ieee-long-double. - (2022-12-04) # We need it for ieee-long-double. >=llvm-core/clang-15.0.5 -ieee-long-double ->=sys-devel/gcc-12 -ieee-long-double +sys-devel/gcc -ieee-long-double diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64le/23.0/package.mask b/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64le/23.0/package.mask index 967a17ce171..81420a0eadc 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64le/23.0/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64le/23.0/package.mask @@ -1,7 +1,6 @@ -# Copyright 2022-2024 Gentoo Authors +# Copyright 2022-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Georgy Yakovlev (2022-12-04) # We only need versions that support ieee-long-double. - (2022-12-04) # We need it for ieee-long-double. >=llvm-core/clang-15.0.5 -ieee-long-double ->=sys-devel/gcc-12 -ieee-long-double +sys-devel/gcc -ieee-long-double diff --git a/sdk_container/src/third_party/portage-stable/profiles/desc/ada_target.desc b/sdk_container/src/third_party/portage-stable/profiles/desc/ada_target.desc index 315ccd21620..d85a3f2f9c9 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/desc/ada_target.desc +++ b/sdk_container/src/third_party/portage-stable/profiles/desc/ada_target.desc @@ -5,3 +5,4 @@ gcc_12 - Compile with sys-devel/gcc:12 gcc_13 - Compile with sys-devel/gcc:13 gcc_14 - Compile with sys-devel/gcc:14 gcc_15 - Compile with sys-devel/gcc:15 +gcc_16 - Compile with sys-devel/gcc:16 diff --git a/sdk_container/src/third_party/portage-stable/profiles/desc/php_targets.desc b/sdk_container/src/third_party/portage-stable/profiles/desc/php_targets.desc index 175d97ecb76..e43ac3a6f36 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/desc/php_targets.desc +++ b/sdk_container/src/third_party/portage-stable/profiles/desc/php_targets.desc @@ -3,6 +3,7 @@ # This file contains descriptions of the PHP_TARGETS USE_EXPAND flags +php8-5 - Build against PHP 8.5 php8-4 - Build against PHP 8.4 php8-3 - Build against PHP 8.3 php8-2 - Build against PHP 8.2 diff --git a/sdk_container/src/third_party/portage-stable/profiles/desc/ruby_targets.desc b/sdk_container/src/third_party/portage-stable/profiles/desc/ruby_targets.desc index 90c5514faff..4f98340883f 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/desc/ruby_targets.desc +++ b/sdk_container/src/third_party/portage-stable/profiles/desc/ruby_targets.desc @@ -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 # This file contains descriptions of RUBY_TARGETS USE_EXPAND flags. @@ -8,3 +8,4 @@ ruby31 - Build with MRI Ruby 3.1.x ruby32 - Build with MRI Ruby 3.2.x ruby33 - Build with MRI Ruby 3.3.x ruby34 - Build with MRI Ruby 3.4.x +ruby40 - Build with MRI Ruby 4.0.x diff --git a/sdk_container/src/third_party/portage-stable/profiles/desc/selinux_policy_types.desc b/sdk_container/src/third_party/portage-stable/profiles/desc/selinux_policy_types.desc new file mode 100644 index 00000000000..0fe398aeaa8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/desc/selinux_policy_types.desc @@ -0,0 +1,9 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# This file contains descriptions of SELINUX_POLICY_TYPES USE_EXPAND flags. + +targeted - Targeted policy +strict - Strict policy +mcs - Multi-Category Security policy +mls - Multi-Level Security policy diff --git a/sdk_container/src/third_party/portage-stable/profiles/desc/video_cards.desc b/sdk_container/src/third_party/portage-stable/profiles/desc/video_cards.desc index fd923b9ffe9..917c1788531 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/desc/video_cards.desc +++ b/sdk_container/src/third_party/portage-stable/profiles/desc/video_cards.desc @@ -8,7 +8,7 @@ amdgpu - VIDEO_CARDS setting to build driver for AMDGPU video cards asahi - VIDEO_CARDS setting to build support for Apple AGX GPUs ast - VIDEO_CARDS setting to build driver for ASpeedTech video cards -d3d12 - VIDEO_CARDS seeting to build driver for Microsoft WSL video cards +d3d12 - VIDEO_CARDS setting to build driver for Microsoft WSL video cards dummy - VIDEO_CARDS setting to build driver for dummy video cards exynos - VIDEO_CARDS setting to build driver for Samsung Exynos video cards freedreno - VIDEO_CARDS setting to build reverse-engineered driver for Qualcomm Adreno cards diff --git a/sdk_container/src/third_party/portage-stable/profiles/embedded/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/embedded/make.defaults index d2e418b98da..57a195f033f 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/embedded/make.defaults +++ b/sdk_container/src/third_party/portage-stable/profiles/embedded/make.defaults @@ -1,4 +1,4 @@ -# Copyright 2008-2024 Gentoo Authors +# Copyright 2008-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 USE="minimal multicall zlib" @@ -22,7 +22,7 @@ LINGUAS="en" IUSE_IMPLICIT="prefix prefix-guest prefix-stack" USE_EXPAND_UNPREFIXED="ARCH" USE_EXPAND_IMPLICIT="ARCH ELIBC KERNEL" -USE_EXPAND_VALUES_ARCH="alpha amd64 amd64-linux arm arm64 hppa loong m68k mips ppc ppc64 ppc64-linux ppc-macos riscv s390 sparc x64-macos x64-solaris x86 x86-linux" +USE_EXPAND_VALUES_ARCH="alpha amd64 arm arm64 hppa loong m68k mips ppc ppc64 riscv s390 sparc x64-macos x64-solaris x86" USE_EXPAND_VALUES_ELIBC="bionic Darwin glibc mingw musl SunOS" # Note that we keep Winnt here for cross, especially for cmake.eclass (bug #910605) USE_EXPAND_VALUES_KERNEL="Darwin linux SunOS Winnt" diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.mask b/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.mask index 600fed0b962..ad50941f148 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.mask @@ -29,7 +29,6 @@ media-gfx/blender media-plugins/gst-plugins-vpx dev-qt/qtwebengine www-client/falkon -www-client/otter net-libs/signon-ui media-video/cheese kde-apps/messagelib @@ -41,7 +40,6 @@ kde-apps/grantlee-editor kde-apps/akregator dev-util/kdevelop dev-qt/qtwebview -app-text/kchmviewer app-office/merkuro app-editors/ghostwriter kde-misc/zanshin @@ -84,10 +82,10 @@ media-gfx/alembic # Tested on LE only (#849866) games-fps/freedoom games-engines/odamex +games-engines/uzdoom games-fps/chocolate-doom games-fps/doomsday games-fps/gzdoom -games-fps/prboom-plus games-fps/freedoom-data media-libs/zmusic games-util/deutex diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.use.mask index 3ea35553250..9dd890538b5 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.use.mask @@ -62,6 +62,7 @@ gui-libs/gtk wayland gui-libs/vte wayland media-libs/clutter wayland media-libs/clutter-gtk wayland +media-video/celluloid wayland net-libs/webkit-gtk:6 wayland sys-apps/xdg-desktop-portal-gnome wayland x11-libs/vte wayland diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/llvm/package.use.force b/sdk_container/src/third_party/portage-stable/profiles/features/llvm/package.use.force index 8b4841c8457..8216c922023 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/llvm/package.use.force +++ b/sdk_container/src/third_party/portage-stable/profiles/features/llvm/package.use.force @@ -1,6 +1,12 @@ # Copyright 2023-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2025-12-27) +# Provide familiar symlinks on LLVM profiles +llvm-core/clang-toolchain-symlinks native-symlinks +llvm-core/lld-toolchain-symlinks native-symlinks +llvm-core/llvm-toolchain-symlinks native-symlinks + # Sam James (2025-07-19) # Gradually unforce targets for LLVM profiles as clang temporarily # breaking isn't okay there (as it can't then build itself). This means diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask index 1afdca4f4da..484a845c4ae 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask @@ -1,6 +1,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Jaco Kroon (2025-12-06) +# anydesk is pre-build with glibc, will not work on MUSL. +net-misc/anydesk + # Z. Liu (2025-10-18) # nvidia-drivers only works against glibc. dev-python/nvidia-ml-py @@ -76,7 +80,6 @@ net-nds/nsscache # Sam James (2024-09-30) # Needs porting to musl (bug #940130) -~sys-auth/elogind-255.5 ~sys-auth/elogind-255.17 # Sam James (2024-08-31) @@ -138,7 +141,8 @@ dev-ada/libadalang dev-ada/spawn dev-ada/gtkada dev-ada/markdown -dev-ada/VSS +dev-ada/vss-text +dev-ada/vss-extra dev-ada/aws dev-ada/aunit dev-ada/ada_language_server @@ -152,6 +156,7 @@ dev-ada/AdaSAT dev-ada/lal-refactor dev-ada/prettier-ada dev-ada/gnatformat +dev-ada/adareducer # Sergey Popov (2024-03-05) # games-strategy/seven-kingdoms does not build on musl, @@ -163,14 +168,6 @@ games-strategy/seven-kingdoms # this time. (#925547) app-arch/lrzip-next -# Christopher Fore (2024-01-24) -# >=sys-fs/bcachefs-tools-1.4.1 uses functions currently not in Musl -# https://github.com/koverstreet/bcachefs-tools/issues/213 -# The above was fixed in musl 1.2.5, which bcachefs-tools 1.11.0 -# will now depend on. -# https://www.openwall.com/lists/musl/2024/03/01/2 - (2024-01-23) # Uses glibc function getsourcefilter(), # which are not available on musl. @@ -217,7 +214,6 @@ net-analyzer/gvmd net-analyzer/gvm-libs net-analyzer/openvas-scanner net-analyzer/ospd-openvas -net-misc/grive net-print/pnm2ppa sys-apps/noexec @@ -315,7 +311,7 @@ dev-libs/nwjs dev-perl/Lab-Zhinst dev-python/pyzotero dev-util/azuredatastudio -dev-util/idea-community +dev-util/intellij-idea games-action/a-story-about-my-uncle games-action/badland games-action/brutal-legend-gog @@ -420,7 +416,6 @@ sys-block/arcconf sys-block/hpssacli sys-block/megacli www-apps/chromedriver-bin - (2021-11-20) -# Wants /usr/bin/locale -# Fails to build with errors like: -# ``` -# Use of uninitialized value $Text::WrapI18N::charmap in pattern match (m//) at /usr/lib/perl5/vendor_perl/5.34/Text/WrapI18N.pm line 155. -# Can't exec "/usr/bin/locale": No such file or directory at /usr/lib/perl5/vendor_perl/5.34/Text/WrapI18N.pm line 134. -# ``` -app-doc/kicad-doc -app-i18n/man-pages-l10n -app-text/po4a -dev-vcs/git-annex -games-strategy/colobot -www-apps/ikiwiki - # Hank Leininger (2021-07-14) # Uses glibc-specific rexec(3) function, bug #715898 net-misc/netkit-rsh diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/prefix/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/features/prefix/make.defaults index 5357594cb9a..c640a0246c0 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/prefix/make.defaults +++ b/sdk_container/src/third_party/portage-stable/profiles/features/prefix/make.defaults @@ -1,6 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Override the branding.eclass defaults. +BRANDING_OS_NAME="Gentoo Prefix" +BRANDING_OS_PRETTY_NAME="${BRANDING_OS_NAME}" + # Michael Haubenwallner (2016-04-19) # We can not use xattrs by default in Prefix. USE="-xattr" diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/prefix/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/prefix/package.use.mask index 12bba1c5f9e..f82253cd0c2 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/prefix/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/prefix/package.use.mask @@ -32,7 +32,6 @@ sys-devel/gcc vanilla # Rafael Goncalves Martins (2010-09-29) # dev-libs/judy without prefix keywords -# (amd64-linux and x86-linux) sci-electronics/gtkwave judy # Christian Faulhammer (2010-01-09) diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/time64/package.mask b/sdk_container/src/third_party/portage-stable/profiles/features/time64/package.mask index 02e46075617..0e735a9d9dd 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/time64/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/time64/package.mask @@ -32,7 +32,8 @@ dev-ada/markdown dev-ada/prettier-ada dev-ada/spawn dev-ada/templates-parser -dev-ada/VSS +dev-ada/vss-text +dev-ada/vss-extra dev-ada/xmlada # Michał Górny (2024-11-06) 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 aed3ec30ab3..627076ed1c8 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,11 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Michał Górny (2024-11-29) +# dev-python/translate-toolkit has Rust deps now. +dev-python/translate-toolkit +dev-python/unicode-segmentation-rs + # Sam James (2025-10-06) # Rewritten in Rust. >=app-misc/task-3 @@ -225,6 +230,7 @@ app-eselect/eselect-gnome-shell-extensions app-emacs/rg app-emacs/emacs-ipython-notebook app-crypt/yubikey-manager +app-crypt/sequoia-chameleon-gnupg app-crypt/sequoia-sq app-crypt/sequoia-sqv app-crypt/certbot-apache @@ -391,7 +397,9 @@ dev-util/tree-sitter-cli dev-vcs/breezy >=dev-vcs/stgit-2 >=games-board/gnome-mahjongg-3.40.0 +>=games-board/gnome-mines-49 >=games-puzzle/swell-foop-46 +>=games-puzzle/quadrapassel-49 gnome-base/gdm >=gnome-base/gnome-core-apps-3.36.5 >=gnome-base/gnome-core-libs-3.36.5 @@ -399,12 +407,17 @@ gnome-base/gdm >=gnome-base/gnome-shell-3.38 >=gnome-base/librsvg-2.41 gnome-extra/gnome-browser-connector +>=gnome-extra/gnome-calculator-49 +>=gnome-extra/gnome-calendar-49 +>=gnome-extra/gnome-contacts-49 >=gnome-extra/gnome-system-monitor-46 gnome-extra/gnome-tweaks gnome-extra/sushi +>=gnome-extra/yelp-49 >=media-gfx/libimagequant-4 =media-libs/libopenraw-0.3.2 +media-libs/subrandr media-plugins/gimp-lqr media-video/rav1e net-analyzer/wtfis @@ -424,7 +437,11 @@ sys-block/thin-provisioning-tools sys-fs/bcachefs-tools virtual/rust www-apps/radicale +>=www-client/epiphany-49 >=x11-themes/adwaita-icon-theme-3.36 x11-themes/adwaita-icon-theme-legacy >=gui-libs/gtk-4.20.1 >=dev-cpp/gtkmm-4.20 +>=gui-libs/libadwaita-1.8.2 +>=gnome-extra/gnome-user-share-48.2 +>=app-editors/gnome-text-editor-49.0 diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask index a23c05ecb62..aa1a6029b84 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask @@ -1,6 +1,14 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Ionen Wolkens (2025-12-24) +# media-libs/subrandr is written in rust +media-video/mpv subrandr + +# Sam James (2025-12-06) +# Sequoia suite is written in Rust +app-alternatives/gpg sequoia + # Alfred Wingate (2025-11-25) +# The package has turned into complete AI slop. Every subsequent +# release introduces serious quality issues, and potential security +# concerns. Please ask upstreams to move away from it. +dev-python/autobahn + # Michał Górny (2025-11-04) # Please depend on virtual/zlib, unless you are sure that the package # in question is not compatible with sys-libs/zlib-ng[compat] and/or @@ -31,12 +37,6 @@ sys-libs/zlib # broken with Python 3.14. dev-python/httpretty -# Michał Górny (2025-10-26) -# Upstream discontinued the PyPI package, expects people to vendor it -# instead. They also made random changes that make backporting fixes -# hard. -dev-python/click-plugins - # Alfred Wingate (2025-10-18) # Only exists temporarily to facilitate upgrades for exaile. # Bug 892854 @@ -57,7 +57,6 @@ dev-python/passlib # fixed at all. Bug 948836 dev-qt/designer:5 dev-qt/linguist-tools:5 -dev-qt/qtcharts:5 dev-qt/qtconcurrent:5 dev-qt/qtdbus:5 dev-qt/qtdeclarative:5 @@ -176,7 +175,6 @@ virtual/jpeg # Matt Turner (2022-03-27) # Deprecated GNOME 2 era packages app-text/enchant:0 -app-text/gnome-doc-utils app-text/gtkspell:2 app-text/scrollkeeper-dtd dev-cpp/gtkmm:2.4 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 0ca463b2bb9..b4dee2f718c 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/package.mask @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Uses GLEP 84 format @@ -36,6 +36,207 @@ #--- END OF EXAMPLES --- +# Michał Górny (2026-01-11) +# Boost 1.89 and its reverse dependencies. Masked for testing. +# Tracker bug #961524. +>=dev-libs/boost-1.89 +>=dev-python/scipy-1.17 + +# Fabian Groffen (2026-01-08) +# Too many issues already. Further testing is appreciated, but expect +# breakage. +=app-portage/portage-utils-0.99 + +# James Le Cuirot (2025-12-24) +# The upstream community has forked with the vast majority going to UZDoom, now +# packaged as games-engines/uzdoom in Gentoo. https://zdoom.org now follows this +# new fork. Bug #967252. Removal on 2026-01-24. +games-fps/gzdoom + +# Eray Aslan (2025-12-24) +# Mask experimental software +=mail-mta/postfix-3.12* + +# Eli Schwartz (2025-12-15) +# This version has lit a firecracker under the community and attracted +# some ire. The situation is in a state of mild flux, and more generally +# requires further consideration to determine the correct course of +# action. Use at your own risk. +>=app-text/calibre-8.11.0 + +# Andreas Sturmlechner (2025-12-21) +# Fails to build against Qt 6.10, upstream repository was archived. +# Bug #966389. Removal on 2026-01-15 +gui-libs/hyprland-qtutils + +# Michał Górny (2025-12-20) +# Packages that are missing Python 3.12+ support (or in case +# of dev-lang/julia, all versions are unkeyworded). +# Bug #921826. Removal on 2026-01-20. +dev-lang/julia +dev-libs/redland-bindings +dev-python/happybase +games-engines/scrap-engine +games-rpg/pokete +net-misc/pulseaudio-dlna +www-client/seamonkey + +# Sam James (2025-12-18) +# Another change to multiprocessing broke Portage. >=sys-apps/portage-3.0.73-r2 +# is fixed, but a fixed version of Portage must be running in order to safely +# upgrade or re-emerge Portage with >= Python 3.14.2. Mask until more users +# have had a chance to upgrade Portage. +# +# This only affects users with non-default PYTHON_TARGETS (3.14) set. +# +# If you are unable to upgrade Portage, please manually edit +# /usr/lib/python-exec/python3.14/emerge and /usr/lib/python-exec/python3.14/ebuild +# by deleting the first 3 lines beginning with 'signal.signal(' (bug #967199). +~app-doc/python-docs-3.14.2 +~dev-lang/python-3.14.2 +~dev-lang/python-0.3.14.2 +~dev-python/python-tests-3.14.2 +~dev-python/python-tests-0.3.14.2 + +# Andreas Sturmlechner (2025-12-15) +# Last release depends on Qt5, upstream appears dormant. Bug #959826 +# Removal on 2026-01-15 +net-misc/electrum-ltc + +# Andreas Sturmlechner (2025-12-14) +# Still depends on Qt5 with no upstream activity in years. Bug #960814 +# Removal on 2026-01-15 +media-sound/qmidiroute + +# Andreas Sturmlechner (2025-12-14) +# Still depends on Qt5 with no upstream porting activity. Bug #960220 +# Removal on 2026-01-15 +media-sound/mp3diags + +# Andreas Sturmlechner (2025-12-14) +# Last release depends on Qt5, upstream appears dormant. Bug #950474 +# Removal on 2026-01-15 +media-gfx/luminance-hdr + +# Michał Górny (2025-12-12) +# Upstream has switched to LLM-first coding which has already caused +# a number of suspicious bugs. At this point, new versions +# of the packages cannot be trusted to be safe to use. Furthermore, +# the maintenance cost of dealing with packaging bugs alone +# is overwhelming to human maintainers of this package. +>=dev-python/autobahn-25.10 +>=dev-python/txaio-25.10 + +# Hans de Graaff (2025-12-11) +# The twitter API is no longer available making this package +# useless. Upstream has archived the gem and refers to an X gem as an +# alternative. Removal on 2026-01-11. +dev-ruby/twitter + +# Michael Orlitzky (2025-12-08) +# An experimental attempt to avoid the gtk -> librsvg -> rust dependency +# that is now obsolete because upstream gtk links directly to librsvg. +# Removal on or after 2026-01-08. +media-libs/libsvgtiny-pixbuf + +# Andreas Sturmlechner (2025-12-07) +# Last release depends on Qt5, upstream appears dormant. Several +# alternatives are available in ::gentoo. Bug #967107 +# Removal on 2026-01-15 +games-fps/doomsday + +# Andreas Sturmlechner (2025-12-07) +# Depends on PyQt5, stalled porting effort upstream. +# Needs porting to Python 3.13, but 0.6.5 requires unpackaged dependency. +# Bugs #948094, #952551. Removal on 2026-01-15 +media-sound/linux-show-player + +# Andreas Sturmlechner (2025-12-07) +# IUSE qt5 feature sees no porting effort upstream. 2.4.9-r1 remains +# available with IUSE qt5 removed. Bug #965503 +# Removal on 2026-01-15 +=media-libs/libffado-2.4.9 + +# Andreas Sturmlechner (2025-12-05) +# Depends on Qt5, stalled porting effort upstream. Bug #955277 +# Removal on 2026-01-15 +games-engines/qtads + +# Andreas Sturmlechner (2025-12-05) +# Depends on Qt5, no signs of porting work upstream. Bug #949881 +# Removal on 2026-01-15 +games-strategy/hedgewars + +# Nowa Ammerlaan (2025-12-05) +# Stuck on Qt5, no upstream action. +# Please use the games-action/prismlauncher fork instead. +# Removal on 2026-01-05. Bug 967108. +games-action/multimc-bin + +# Michał Górny (2025-12-03) +# Upstream changed how multiprocessing shares data between processes, +# which means the upgrade randomly breaks some currently running Python +# applications, notably Portage. +~app-doc/python-docs-3.13.10 +~app-doc/python-docs-3.14.1 +~dev-lang/python-3.13.10 +~dev-lang/python-0.3.13.10 +~dev-lang/python-3.14.1 +~dev-lang/python-0.3.14.1 +~dev-python/python-tests-3.13.10 +~dev-python/python-tests-0.3.13.10 +~dev-python/python-tests-3.14.1 +~dev-python/python-tests-0.3.14.1 + +# Jaco Kroon (2025-12-02) +# Dead upstream, limited usefulness. If you're still using it please reach out +# so we can discuss options. Likely not worth the effort to fix the compiler +# warnings soon to be errors. +# No revdeps. +# Open bugs: #929259 +# Removal on 2026-01-02. +net-proxy/sqtop + +# David Seifert (2025-12-01) +# Last release over 20 years ago, ancient codebase, lots of QA warnings, no +# other distro packages this anymore. Removal on 2025-12-31. Bug #944877. +sci-biology/rnaview + +# David Seifert (2025-11-30) +# Last release over 15 years ago, GTK+2, EAPI 7, broken C constructs, removed +# by other distros already. Removal on 2025-12-30. Bug #944347. +sys-apps/gscanbus + +# David Seifert (2025-11-30) +# Unmaintained, dead package, last release over 20 years ago, no other distro +# packages this anymore, EAPI 7. Removal on 2025-12-30. Bug #943810. +sys-fs/lde + +# David Seifert (2025-11-30) +# More than 26 years since release, ancient C code, no revdeps in tree, +# no other distro still packages this. +# Removal on 2025-12-30. Bug #881017, #944864, #945018. +sci-libs/djbfft + +# Eli Schwartz (2025-11-30) +# Abandoned and unmaintained. It existed solely as a test dep for +# dev-python/sphinx-rtd-theme, which no longer uses it, so nobody should +# have it installed anyway. +# Removal on 2025-12-30. Bugs #966396, #963998. +dev-python/readthedocs-sphinx-ext + +# Sam James (2025-11-25) +# Generates session keys with weak (no) randomness. Please re-encrypt +# any data/messages using this librnp version. <0.18 is fine as is >=0.18.1. +# See bug #966299. +=dev-util/librnp-0.18.0 + +# Michał Górny (2025-11-22) +# A NIH replacement for dev-python/faker with a very slow test suite. +# No reverse dependencies left. +# Removal on 2025-12-22. Bug #966327. +dev-python/fake-py + # orbea (2025-11-16) # Dead upstream, non-free licenses, depends on libsdl, no revdeps. # Use games-emulation/geolith-jg instead. @@ -43,17 +244,6 @@ # Removal on 2025-12-16. games-emulation/gngeo -# Ionen Wolkens (2025-11-14) -# A regression[1][2] is causing many users to be stuck at 1920x1080@60 -# due the drivers seemingly misdetecting capacity of the connection to -# the monitor when using DisplayPort or HDMI with certain setups. -# -# Not everyone is affected, so feel free to unmask if not. -# -# [1] https://forums.developer.nvidia.com/t/580-release-feedback-discussion/341205/795 -# [2] https://github.com/NVIDIA/open-gpu-kernel-modules/issues/960 -~x11-drivers/nvidia-drivers-580.105.08 - # Petr Vaněk (2025-11-13) # The MDEV-38068 issue has been discovered with MariaDB 11.8.4. The issue # caused a partial data deletion when using the DELETE statement on MyISAM or @@ -78,27 +268,6 @@ games-emulation/gngeo ~dev-python/click-8.3.0 =dev-python/click-8.3.1 -# Andreas Sturmlechner (2025-11-03) -# Dead upstream, vulernabilities, depends on Qt5, no revdeps. -# Bugs #752042, #884041, #918096, #948092, #952542. -# Removal on 2025-12-02. -media-sound/cadence - -# Mike Gilbert (2025-10-29) -# No longer used by sys-boot/grub. -# Removal on 2025-11-28. -sec-keys/openpgp-keys-danielkiper - -# Arthur Zamarin (2025-10-25) -# EAPI=7, maintainer-needed, no rev deps, source digest mismatch. -# Removal on 2025-11-24. Bugs #965097, #927089. -dev-libs/eventlog - -# Michał Górny (2025-10-21) -# Old backport with no revdeps left. -# Removal on 2025-11-20. Bug #964780. -dev-python/backports-ssl-match-hostname - # Sam James (2025-10-13) # Crashes in memtodest when handling PATH. Not yet reported upstream. =app-shells/dash-0.5.13.1 @@ -108,82 +277,6 @@ dev-python/backports-ssl-match-hostname # by dev-lang/rust-bin. Also needs net-proxy/mitmproxy-linux updates. >=dev-util/bpf-linker-0.9.15-r1 -# Hans de Graaff (2025-10-10) -# No longer supported upstream since 2025-04-01. Use Rails 7.2 or newer -# instead. Masked for removal on 2025-11-10). -dev-ruby/activerecord:7.0 -dev-ruby/actioncable:7.0 -dev-ruby/actionview:7.0 -dev-ruby/activejob:7.0 -dev-ruby/activesupport:7.0 -dev-ruby/activestorage:7.0 -dev-ruby/actionpack:7.0 -dev-ruby/activemodel:7.0 -dev-ruby/actionmailer:7.0 -dev-ruby/actionmailbox:7.0 -dev-ruby/actiontext:7.0 -dev-ruby/rails:7.0 -dev-ruby/railties:7.0 -dev-ruby/haml:5 - -# Volkmar W. Pogatzki (2025-10-02) -# Nothing depends on it. -# Removal: 2025-11-01. Bug #961199 -net-libs/NativeThread - -# Ionen Wolkens (2025-10-07) -# Masked for testing the new .0 version and leave time for packages -# to catch up on support. Will likely be kept masked until 6.10.1 -# is released unless there is a notable reason to need this earlier. -# -# If wanted, feel welcome to add `dev-qt/*:6/6.10.0` to package.unmask -# and report issues. -# -# A common issue with 6.10 is builds failing to find Qt private headers -# as it (now) requires searching for e.g. GuiPrivate in CMakeLists.txt. -=dev-python/pyqt6-6.10* -=dev-python/pyqt6-webengine-6.10* -=dev-python/pyside-6.10.0* -=dev-qt/qt-docs-6.10.0* -=dev-qt/qt3d-6.10.0* -=dev-qt/qt5compat-6.10.0* -=dev-qt/qtbase-6.10.0* -=dev-qt/qtcharts-6.10.0* -=dev-qt/qtconnectivity-6.10.0* -=dev-qt/qtdeclarative-6.10.0* -=dev-qt/qtgraphs-6.10.0* -=dev-qt/qthttpserver-6.10.0* -=dev-qt/qtimageformats-6.10.0* -=dev-qt/qtlanguageserver-6.10.0* -=dev-qt/qtlocation-6.10.0* -=dev-qt/qtmultimedia-6.10.0* -=dev-qt/qtnetworkauth-6.10.0* -=dev-qt/qtpositioning-6.10.0* -=dev-qt/qtquick3d-6.10.0* -=dev-qt/qtquicktimeline-6.10.0* -=dev-qt/qtremoteobjects-6.10.0* -=dev-qt/qtscxml-6.10.0* -=dev-qt/qtsensors-6.10.0* -=dev-qt/qtserialbus-6.10.0* -=dev-qt/qtserialport-6.10.0* -=dev-qt/qtshadertools-6.10.0* -=dev-qt/qtspeech-6.10.0* -=dev-qt/qtsvg-6.10.0* -=dev-qt/qttools-6.10.0* -=dev-qt/qttranslations-6.10.0* -=dev-qt/qtvirtualkeyboard-6.10.0* -=dev-qt/qtwayland-6.10.0* -=dev-qt/qtwebchannel-6.10.0* -=dev-qt/qtwebengine-6.10.0* -=dev-qt/qtwebsockets-6.10.0* -=dev-qt/qtwebview-6.10.0* - -# Michał Górny (2025-10-06) -# Refcount errors that trigger crashes in dev-python/moto -# and dev-python/ipyparallel tests. -=dev-python/pymongo-4.15.3 -=dev-python/pymongo-4.15.2 - # Lukas Schmelting (2025-10-03) # Breaks e.g. in combination with gnome-shell-48.4, gettext/gjs (bug #963815) >=dev-libs/glib-2.86.0 @@ -205,18 +298,6 @@ net-libs/NativeThread # Removal on 2025-12-16. Bug #960358. sys-fs/encfs -# Michał Górny (2025-09-15) -# Masking due to regressions. -# https://github.com/pyparsing/pyparsing/issues/618 -=dev-python/pyparsing-3.2.4 - -# Eli Schwartz (2025-09-01) -# Effectively unmaintained in Gentoo. Upstream dead for 8 years. Stuck -# on py3.11, but no testsuite and still has py2-specific source code so -# the pity port to py3 was likely misguided and never tested! -# Removal on 2025-10-01. Bug #956814. -app-vim/voom - # Andreas Sturmlechner (2025-08-29) # Obsolete transitional meta package. Bug #961795. Removal on 2025-09-28. media-sound/pulseaudio @@ -416,9 +497,11 @@ dev-qt/qtdatavis3d:5 dev-qt/qtgamepad:5 dev-qt/qtlocation:5 dev-qt/qtnetworkauth:5 +dev-qt/qtpositioning:5 dev-qt/qtquicktimeline:5 dev-qt/qtsensors:5 dev-qt/qtserialbus:5 +dev-qt/qtserialport:5 dev-qt/qtvirtualkeyboard:5 dev-qt/qtwebchannel:5 dev-qt/qtwebview:5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/eapi b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/eapi deleted file mode 100644 index 7ed6ff82de6..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/eapi +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/make.defaults deleted file mode 100644 index b4eacf03871..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/make.defaults +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -MACOSX_DEPLOYMENT_TARGET="10.5" - -# sandbox is working with use of Mac OS X's seatbelt (since 10.5) -# but it generates problems, #456234 -#FEATURES="sandbox" diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/package.mask b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/package.mask deleted file mode 100644 index 948d0ca588f..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/package.mask +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Fabian Groffen (2012-05-03) -# Needs 10.6 or up ->=dev-lang/ghc-7 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/parent b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/parent deleted file mode 100644 index f3229c5b987..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/parent +++ /dev/null @@ -1 +0,0 @@ -.. diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/eapi b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/eapi deleted file mode 100644 index 7ed6ff82de6..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/eapi +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/gcc/eapi b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/gcc/eapi deleted file mode 100644 index 7ed6ff82de6..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/gcc/eapi +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/gcc/parent b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/gcc/parent deleted file mode 100644 index f3229c5b987..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/gcc/parent +++ /dev/null @@ -1 +0,0 @@ -.. diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/make.defaults deleted file mode 100644 index 8b8ab771805..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/make.defaults +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -CHOST="powerpc-apple-darwin9" -CHOST_ppc="${CHOST}" diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/package.use.force b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/package.use.force deleted file mode 100644 index 28967018e68..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/package.use.force +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -# Elias Pipping (2007-09-30) -# compiles with -aqua, doesn't work, though -media-video/mplayer aqua diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/package.use.mask deleted file mode 100644 index 5e018747494..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/package.use.mask +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - - -# flag returns compile errors -media-video/mplayer cpudetection -# libs mising -media-video/mplayer sdl libcaca dv nas bidi enca cdparanoia samba live openal diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/parent b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/parent deleted file mode 100644 index 504ae43340f..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/ppc/parent +++ /dev/null @@ -1,3 +0,0 @@ -.. -../../features/fsf-gcc-ld64 -../../arch/ppc diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/profile.bashrc b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/profile.bashrc deleted file mode 100644 index b623585a96c..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/profile.bashrc +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -export MACOSX_DEPLOYMENT_TARGET=10.5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/eapi b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/eapi deleted file mode 100644 index 7ed6ff82de6..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/eapi +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/gcc/eapi b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/gcc/eapi deleted file mode 100644 index 7ed6ff82de6..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/gcc/eapi +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/gcc/parent b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/gcc/parent deleted file mode 100644 index f3229c5b987..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/gcc/parent +++ /dev/null @@ -1 +0,0 @@ -.. diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/make.defaults deleted file mode 100644 index 862b30eaffe..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/make.defaults +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -CHOST="i686-apple-darwin9" -CHOST_x86="${CHOST}" diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/package.mask b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/package.mask deleted file mode 100644 index 583e92d8cf2..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/package.mask +++ /dev/null @@ -1,2 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/package.unmask b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/package.unmask deleted file mode 100644 index 9ded76ad8ab..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/package.unmask +++ /dev/null @@ -1,3 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/package.use.force b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/package.use.force deleted file mode 100644 index 433d91d9357..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/package.use.force +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Elias Pipping (2007-09-30) -# compiles with -aqua, doesn't work, though -media-video/mplayer aqua diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/package.use.mask deleted file mode 100644 index 0ef52a1767e..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/package.use.mask +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - - diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/parent b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/parent deleted file mode 100644 index 93220d09682..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/parent +++ /dev/null @@ -1,2 +0,0 @@ -.. -../../arch/x86 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/use.mask b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/use.mask deleted file mode 100644 index f4c15ffdbdd..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/10.5/x86/use.mask +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# This file masks out USE flags that are simply NOT allowed in the default -# x86 profile. This works, for example, if another architecture's -# profile have a USE flag associated with (such as altivec, mmx, etc). - -# Unmask x86 instruction sets --cpu_flags_x86_mmx --cpu_flags_x86_mmxext --cpu_flags_x86_sse --cpu_flags_x86_sse2 --cpu_flags_x86_ssse3 --svga diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/26.0/packages b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/26.0/packages new file mode 100644 index 00000000000..44a1b168ffe --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/26.0/packages @@ -0,0 +1,6 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# doesn't compile any more on this version, isn't necessary any more +# either, so drop it +-*sys-apps/darwin-miscutils diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/eapi b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/eapi deleted file mode 100644 index 7ed6ff82de6..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/eapi +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/make.defaults deleted file mode 100644 index da7fa953c1f..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/make.defaults +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -ARCH="ppc-macos" -ACCEPT_KEYWORDS="~ppc-macos" - -# multilib build stuff, single ABI (no multilib) -MULTILIB_ABIS="ppc" -DEFAULT_ABI="ppc" -ABI="ppc" -IUSE_IMPLICIT="abi_ppc_32" -LIBDIR_ppc="lib" diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/package.mask b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/package.mask deleted file mode 100644 index bea204ad8e2..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/package.mask +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# The 32-bits profile is inherited by the 64-bits one! -# All the Mac OS X profiles inherit from their matching arch profile here. diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/package.use.force b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/package.use.force deleted file mode 100644 index ecf99a062b5..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/package.use.force +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Fabian Groffen (2024-03-08) -# un-force pie, won't work on this arch -sys-devel/gcc -pie diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/package.use.mask deleted file mode 100644 index d71c8f11efa..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/package.use.mask +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# The 32-bits profile is inherited by the 64-bits one! -# All the Mac OS X profiles inherit from their matching arch profile here. - -# Fabian Groffen (2024-03-08) -# mask pie, won't work on this arch -sys-devel/gcc pie - -# Elias Pipping (2007-09-01) -# imlib2 does not compile with USE=mmx -media-libs/imlib2 cpu_flags_x86_mmx - -# Elias Pipping (2007-09-01) -# mpg123 does not compile with USE=mmx -media-sound/mpg123-base cpu_flags_x86_mmx diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/use.force b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/use.force deleted file mode 100644 index ed2e282994b..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/use.force +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Force the flag corresponding to the default ABI -ppc-macos -abi_ppc_32 - -# Sam James (2025-07-19) -# Force the native/host target -llvm_targets_PowerPC diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/use.mask b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/use.mask deleted file mode 100644 index 837168ea147..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/ppc/use.mask +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -# Unmask the flag corresponding to the default ABI --ppc-macos --abi_ppc_32 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/eapi b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/eapi deleted file mode 100644 index 7ed6ff82de6..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/eapi +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/make.defaults deleted file mode 100644 index 5fd08b523f6..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/make.defaults +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -ARCH="x86-macos" -ACCEPT_KEYWORDS="~x86-macos" - -CPU_FLAGS_X86="mmx mmxext sse sse2" - -# multilib build stuff, single ABI (no multilib) -MULTILIB_ABIS="x86" -DEFAULT_ABI="x86" -ABI="x86" -IUSE_IMPLICIT="abi_x86_32" -LIBDIR_x86="lib" -# figure out automatically what is the best to use -CFLAGS="-march=native" diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/package.mask b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/package.mask deleted file mode 100644 index 5930472f1b1..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/package.mask +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# All the Mac OS X profiles inherit from their matching arch profile here. - diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/package.use.force b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/package.use.force deleted file mode 100644 index 9ded76ad8ab..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/package.use.force +++ /dev/null @@ -1,3 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/use.force b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/use.force deleted file mode 100644 index abc39335ace..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/use.force +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Force the flag corresponding to the default ABI -x86-macos -abi_x86_32 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/use.mask b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/use.mask deleted file mode 100644 index e2603bddf88..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/arch/x86/use.mask +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Unmask the flag corresponding to the default ABI --x86-macos --abi_x86_32 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/features/clang-lld/packages b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/features/clang-lld/packages index 9cb68887f97..d0a26b46fc6 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/features/clang-lld/packages +++ b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/features/clang-lld/packages @@ -1,4 +1,6 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 --*sys-devel/binutils-apple +-*sys-devel/gcc +-*sys-devel/gcc-config +*llvm-core/clang diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/features/fsf-gcc-ld64/packages b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/features/fsf-gcc-ld64/packages index a4c67015bcb..3a936de7bf6 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/features/fsf-gcc-ld64/packages +++ b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/features/fsf-gcc-ld64/packages @@ -1,8 +1,5 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# usage of FSF GCC, disabling Clang -*sys-devel/gcc -*sys-devel/gcc-config --*llvm-core/clang --*sys-devel/gcc-apple +# usage of FSF GCC, using ld64 (xtools) +*sys-devel/binutils-apple diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/features/fsf-gcc-nold/packages b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/features/fsf-gcc-nold/packages index 5169b2e9435..eeb180f0aa7 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/features/fsf-gcc-nold/packages +++ b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/features/fsf-gcc-nold/packages @@ -1,11 +1,6 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# usage of FSF GCC, disabling Clang, without binutils-apple (due to -# missing blocks support in GCC) -*sys-devel/gcc -*sys-devel/gcc-config +# usage of FSF GCC, without binutils-apple using host-provided ld (due +# to xtools missing recent features, most notably arm64 support) *sys-devel/native-cctools --*sys-devel/binutils-apple --*llvm-core/clang --*sys-devel/gcc-apple diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/package.mask b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/package.mask index 7b793caf48c..45d37f09f6c 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/package.mask @@ -1,6 +1,11 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Fabian Groffen (2025-12-09) +# Fails to compile in gnulib on invalid decls for memset, memmove, +# strncpy, etc. probably incompatibility with system headers +=sys-devel/m4-1.4.20 + # Fabian Groffen (2025-04-05) # Fails to compile, implicit decl _NSGetExecutablePath =sys-apps/gawk-5.3.2 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/packages b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/packages deleted file mode 100644 index 94a197bf326..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/macos/packages +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# macOS has LLVM/Clang as system compiler --*sys-devel/gcc --*sys-devel/gcc-config -*llvm-core/clang diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/packages b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/packages index 3856bb1f724..f6bceaad1c7 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/packages +++ b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/packages @@ -1,6 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -*sys-apps/darwin-miscutils -*sys-devel/binutils-apple *sys-process/pkill-darwin diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/linux/amd64/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/prefix/linux/amd64/make.defaults index f8433cd75e7..3f942efafc9 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/linux/amd64/make.defaults +++ b/sdk_container/src/third_party/portage-stable/profiles/prefix/linux/amd64/make.defaults @@ -1,12 +1,11 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 #Note: this is Gentoo Prefix specific! (2008-07-13, darkside) # The base profile sets ACCEPT_KEYWORDS=amd64, add unstable on top of -# that, and retain historical Prefix-only amd64-linux keyword for a -# transition period, bug #473598. -ACCEPT_KEYWORDS="~amd64 ~amd64-linux" +# that to stay in line with the rest of Prefix +ACCEPT_KEYWORDS="~amd64" # We don't have lib64 or multilib in prefix, but single ABI, so remove it here. SYMLINK_LIB="" diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/linux/package.mask b/sdk_container/src/third_party/portage-stable/profiles/prefix/linux/package.mask index 34c6186b8bc..3b2f7125eac 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/linux/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/prefix/linux/package.mask @@ -1,6 +1,12 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Fabian Groffen (2025-12-22) +# Fails to compile in gnulib on invalid decls for memset, memmove, +# strncpy, etc. probably incompatibility with system headers +# same as for macOS, not on RAP, so probably caused by libc (version) +=sys-devel/m4-1.4.20 + # Michael Haubenwallner (2019-01-08) # Prefix Guest does use host libc and host kernel's headers, # hence packages should depend on virtual/os-headers instead. diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/linux/x86/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/prefix/linux/x86/make.defaults index 704bcb6ff40..38d5f4cf1ed 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/linux/x86/make.defaults +++ b/sdk_container/src/third_party/portage-stable/profiles/prefix/linux/x86/make.defaults @@ -1,10 +1,9 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # The base profile sets ACCEPT_KEYWORDS=x86, add unstable on top of -# that, and retain historical prefix-only x86-linux keyword for -# transition period, bug #473598 -ACCEPT_KEYWORDS="~x86 ~x86-linux" +# that to stay in line with the rest of Prefix +ACCEPT_KEYWORDS="~x86" # in case we are bootstrapping with the host compiler on an amd64 linux host: CFLAGS="${CFLAGS} -m32" diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/sunos/solaris/package.mask b/sdk_container/src/third_party/portage-stable/profiles/prefix/sunos/solaris/package.mask index fe45577b6be..00ac195209b 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/sunos/solaris/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/prefix/sunos/solaris/package.mask @@ -1,6 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Fabian Groffen (2025-12-31) +# Fails when setting breakpoints, cannot access memory at address +=dev-debug/gdb-17.1 + # Benda Xu (2023-07-09) # Requires Glibc to work properly. # For example, 'lgetxattr' is not available on Solaris or gnulib. diff --git a/sdk_container/src/third_party/portage-stable/profiles/profiles.desc b/sdk_container/src/third_party/portage-stable/profiles/profiles.desc index ec29730f7f1..6d10bd442af 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/profiles.desc +++ b/sdk_container/src/third_party/portage-stable/profiles/profiles.desc @@ -524,20 +524,16 @@ x86 default/linux/x86/23.0/i486/split-usr/musl/selinux exp # These are Gentoo Prefix profiles, maintained by the Prefix team # @MAINTAINER: prefix@gentoo.org -# Linux Profiles -amd64-linux prefix/linux/amd64 exp -arm-linux prefix/linux/arm exp -ppc64-linux prefix/linux/ppc64 exp -ppc64-linux prefix/linux/ppc64le exp -riscv-linux prefix/linux/riscv exp -x86-linux prefix/linux/x86 exp - -# Linux Standalone Profiles -# ?? +# Linux Profiles (non-RAP) +# commented out for now, for I don't want them to show up to users +#amd64 prefix/linux/amd64 exp +#arm prefix/linux/arm exp +#ppc64 prefix/linux/ppc64 exp +#ppc64 prefix/linux/ppc64le exp +#riscv prefix/linux/riscv exp +#x86 prefix/linux/x86 exp # macOS Profiles -ppc-macos prefix/darwin/macos/10.5/ppc/gcc exp -x86-macos prefix/darwin/macos/10.5/x86/gcc exp x64-macos prefix/darwin/macos/10.11/x64 exp x64-macos prefix/darwin/macos/10.13/x64 exp x64-macos prefix/darwin/macos/10.13/x64/gcc exp diff --git a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/make.defaults index 21b8865ee03..a1dc0d21ad3 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/make.defaults +++ b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/make.defaults @@ -1,4 +1,4 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -USE="a52 aac acpi alsa avif bluetooth branding cairo cdda cdr cups dbus dri dts dvd dvdr elogind encode exif flac gif gpm gtk gui icu jpeg jpegxl lcms libnotify mad mng mp3 mp4 mpeg ogg opengl pango pdf png policykit ppds qml qt6 qt5 sdl sound spell startup-notification svg tiff truetype vorbis udev udisks unicode upower usb vulkan wayland webp wxwidgets X xcb xft x264 xml xv xvid" +USE="a52 aac acpi alsa avif bluetooth branding cairo cdda cdr cups dbus dri dts dvd dvdr elogind encode exif flac gif gpm gtk gui icu jpeg jpegxl lcms libnotify mad mng mp3 mp4 mpeg ogg opengl pango pdf png policykit ppds qml qt6 sdl sound spell startup-notification svg tiff truetype vorbis udev udisks unicode upower usb vulkan wayland webp wxwidgets X xcb xft x264 xml xv xvid" diff --git a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use index 99ff316ec9c..2a98f20aeaa 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use @@ -1,9 +1,17 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Andreas Sturmlechner (2025-10-23) -# Required by kde-plasma/kscreen -kde-frameworks/kimageformats avif +# Andreas Sturmlechner (2025-12-16) +# Enable IUSE qt5 for current stable pkgs with USE-revdeps before dropping +# it from make.defaults. # Bug #948836 + (2025-10-18) # media-libs/freetype works better with media-libs/harfbuzz support. diff --git a/sdk_container/src/third_party/portage-stable/profiles/thirdpartymirrors b/sdk_container/src/third_party/portage-stable/profiles/thirdpartymirrors index dcf5b73ecd3..71621d0385f 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/thirdpartymirrors +++ b/sdk_container/src/third_party/portage-stable/profiles/thirdpartymirrors @@ -1,4 +1,4 @@ -apache https://dlcdn.apache.org/ https://apache.mirror.iphh.net/ https://artfiles.org/apache.org/ https://ftp-stud.hs-esslingen.de/pub/Mirrors/ftp.apache.org/dist/ https://ftp.fau.de/apache/ https://apache.osuosl.org/ https://archive.apache.org/dist/ +apache https://dlcdn.apache.org/ https://apache.mirror.iphh.net/ https://artfiles.org/apache.org/ https://ftp-stud.hs-esslingen.de/pub/Mirrors/ftp.apache.org/dist/ https://ftp.fau.de/apache/ https://archive.apache.org/dist/ cpan https://cpan.metacpan.org https://www.cpan.org debian https://deb.debian.org/debian/ http://ftp.au.debian.org/debian/ http://ftp.at.debian.org/debian/ http://ftp.by.debian.org/debian/ http://ftp.be.debian.org/debian/ http://ftp.br.debian.org/debian/ http://ftp.bg.debian.org/debian/ http://ftp.ca.debian.org/debian/ http://ftp2.cn.debian.org/debian/ http://ftp.cn.debian.org/debian/ http://ftp.hr.debian.org/debian/ http://ftp.cz.debian.org/debian/ http://ftp.dk.debian.org/debian/ http://ftp.sv.debian.org/debian/ http://ftp.ee.debian.org/debian/ http://ftp.fi.debian.org/debian/ http://ftp.fr.debian.org/debian/ http://ftp2.de.debian.org/debian/ http://ftp.de.debian.org/debian/ http://ftp.gr.debian.org/debian/ http://ftp.hu.debian.org/debian/ http://ftp.is.debian.org/debian/ http://ftp.ie.debian.org/debian/ http://ftp.it.debian.org/debian/ http://ftp.jp.debian.org/debian/ http://ftp.lt.debian.org/debian/ http://ftp.mx.debian.org/debian/ http://ftp.md.debian.org/debian/ http://ftp.nl.debian.org/debian/ http://ftp.nc.debian.org/debian/ http://ftp.nz.debian.org/debian/ http://ftp.no.debian.org/debian/ http://ftp.pl.debian.org/debian/ http://ftp.pt.debian.org/debian/ http://ftp.ro.debian.org/debian/ http://ftp.ru.debian.org/debian/ http://ftp.sg.debian.org/debian/ http://ftp.sk.debian.org/debian/ http://ftp.si.debian.org/debian/ http://ftp.es.debian.org/debian/ http://ftp.se.debian.org/debian/ http://ftp.ch.debian.org/debian/ http://ftp.tw.debian.org/debian/ http://ftp.tr.debian.org/debian/ http://ftp.ua.debian.org/debian/ http://ftp.uk.debian.org/debian/ http://ftp.us.debian.org/debian/ gentoo https://distfiles.gentoo.org/distfiles https://gentoo.osuosl.org/distfiles https://ftp.halifax.rwth-aachen.de/gentoo/distfiles https://ftp.fau.de/gentoo/distfiles @@ -6,7 +6,7 @@ gcc https://gcc.gnu.org/pub/gcc/ http://mirrors.concertpass.com/gcc/ https://mi gimp https://ftp.fau.de/gimp/gimp/ ftp://ftp.fau.de/gimp/gimp/ https://artfiles.org/gimp.org/pub/gimp/ https://www.mirrorservice.org/sites/ftp.gimp.org/pub/gimp/ ftp://ftp.mirrorservice.org/sites/ftp.gimp.org/pub/gimp/ gnome https://download.gnome.org/ gnu https://ftp.gnu.org/gnu/ https://artfiles.org/gnu.org/ https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/ -gnupg https://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/ https://mirrors.dotsrc.org/gcrypt/ https://gnupg.org/ftp/gcrypt/ ftp://ftp.gnupg.org/gcrypt/ +gnupg https://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/ https://mirrors.dotsrc.org/gcrypt/ https://gnupg.org/ftp/gcrypt/ goproxy https://proxy.golang.org/ https://goproxy.io/ idsoftware ftp://ftp.fu-berlin.de/pc/games/idgames/idstuff ftp://ftp.gamers.org/pub/idgames/idstuff imagemagick https://imagemagick.org/archive/releases/ https://mirror.checkdomain.de/imagemagick/releases/ https://ftp.acc.umu.se/mirror/imagemagick.org/ftp/releases/ ftp://ftp.fifi.org/pub/ImageMagick/releases/ diff --git a/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2024 b/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2024 index 98097d4124b..bb6b680c4e1 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2024 +++ b/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2024 @@ -86,10 +86,3 @@ move sci-libs/scikit-learn dev-python/scikit-learn slotmove =dev-ruby/launchy-3.0.0 0 3 move dev-python/DBUtils dev-python/dbutils move dev-python/aiorpcX dev-python/aiorpcx -move www-apps/sonarr www-apps/sonarr-bin -move www-apps/jellyfin www-apps/jellyfin-bin -move www-apps/radarr www-apps/radarr-bin -move www-apps/lidarr www-apps/lidarr-bin -move www-apps/prowlarr www-apps/prowlarr-bin -move www-apps/readarr www-apps/readarr-bin -move www-apps/jackett www-apps/jackett-bin diff --git a/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2025 b/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2025 new file mode 100644 index 00000000000..6ce40c70b77 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2025 @@ -0,0 +1,3 @@ +slotmove media-fonts/oxygen-fonts 5 0 +move dev-ada/VSS dev-ada/vss-text +move dev-util/idea-community dev-util/intellij-idea diff --git a/sdk_container/src/third_party/portage-stable/sec-keys/openpgp-keys-gentoo-release/openpgp-keys-gentoo-release-20250806.ebuild b/sdk_container/src/third_party/portage-stable/sec-keys/openpgp-keys-gentoo-release/openpgp-keys-gentoo-release-20250806.ebuild index 08d947674a4..2f2195328ef 100644 --- a/sdk_container/src/third_party/portage-stable/sec-keys/openpgp-keys-gentoo-release/openpgp-keys-gentoo-release-20250806.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-keys/openpgp-keys-gentoo-release/openpgp-keys-gentoo-release-20250806.ebuild @@ -15,7 +15,7 @@ S=${WORKDIR} LICENSE="public-domain" 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20250618-r1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20250618-r1.ebuild index 08b8534f7f5..498cfa08cae 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20250618-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20250618-r1.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_${PV/./_}/refpolicy-${PV}.tar.bz2 https://dev.gentoo.org/~perfinion/patches/${PN}/patchbundle-${PN}-${PVR}.tar.bz2" - KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~riscv x86" fi HOMEPAGE="https://wiki.gentoo.org/wiki/Project:SELinux" diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-9999.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-9999.ebuild index 08bcde1421c..08b8534f7f5 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/selinux-base-2.20250618-r1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/selinux-base-2.20250618-r1.ebuild index bdb6a700eef..b3edd7c628f 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/selinux-base-2.20250618-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/selinux-base-2.20250618-r1.ebuild @@ -17,7 +17,7 @@ else SRC_URI="https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_${PV/./_}/refpolicy-${PV}.tar.bz2 https://dev.gentoo.org/~perfinion/patches/selinux-base-policy/patchbundle-selinux-base-policy-${PVR}.tar.bz2" - KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~riscv x86" fi IUSE="doc +unknown-perms systemd +ubac +unconfined" diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/selinux-base-9999.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/selinux-base-9999.ebuild index 40ba7bc25b0..bdb6a700eef 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/selinux-base-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/selinux-base-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/selinux-container-2.20250618-r1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/selinux-container-2.20250618-r1.ebuild index 0dab2f241d0..9417ef6b990 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/selinux-container-2.20250618-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/selinux-container-2.20250618-r1.ebuild @@ -10,5 +10,5 @@ inherit selinux-policy-2 DESCRIPTION="SELinux policy for container" if [[ ${PV} != 9999* ]] ; then - KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~riscv x86" fi diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/selinux-container-9999.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/selinux-container-9999.ebuild index b56f379268b..0dab2f241d0 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/selinux-container-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/selinux-container-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/selinux-dbus-2.20250618-r1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/selinux-dbus-2.20250618-r1.ebuild index e0ff1dbfee8..af95a28473a 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/selinux-dbus-2.20250618-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/selinux-dbus-2.20250618-r1.ebuild @@ -10,5 +10,5 @@ inherit selinux-policy-2 DESCRIPTION="SELinux policy for dbus" if [[ ${PV} != 9999* ]] ; then - KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~riscv x86" fi diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/selinux-dbus-9999.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/selinux-dbus-9999.ebuild index 639a31a93ed..e0ff1dbfee8 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/selinux-dbus-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/selinux-dbus-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/selinux-policykit-2.20250618-r1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/selinux-policykit-2.20250618-r1.ebuild index d7848bf20fa..b4c7c27d857 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/selinux-policykit-2.20250618-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/selinux-policykit-2.20250618-r1.ebuild @@ -10,5 +10,5 @@ inherit selinux-policy-2 DESCRIPTION="SELinux policy for policykit" if [[ ${PV} != 9999* ]] ; then - KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~riscv x86" fi diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/selinux-policykit-9999.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/selinux-policykit-9999.ebuild index 70edc72f86b..d7848bf20fa 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/selinux-policykit-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/selinux-policykit-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/selinux-sssd-2.20250618-r1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/selinux-sssd-2.20250618-r1.ebuild index f1497c2bc3b..56543fc9c90 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/selinux-sssd-2.20250618-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/selinux-sssd-2.20250618-r1.ebuild @@ -10,5 +10,5 @@ inherit selinux-policy-2 DESCRIPTION="SELinux policy for sssd" if [[ ${PV} != 9999* ]] ; then - KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~riscv x86" fi diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/selinux-sssd-9999.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/selinux-sssd-9999.ebuild index 2268ad387b3..f1497c2bc3b 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/selinux-sssd-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/selinux-sssd-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/selinux-unconfined-2.20250618-r1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/selinux-unconfined-2.20250618-r1.ebuild index 4cc524e3399..3c9bcf42cea 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/selinux-unconfined-2.20250618-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/selinux-unconfined-2.20250618-r1.ebuild @@ -10,5 +10,5 @@ inherit selinux-policy-2 DESCRIPTION="SELinux policy for unconfined" if [[ ${PV} != 9999* ]] ; then - KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~riscv x86" fi diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/selinux-unconfined-9999.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/selinux-unconfined-9999.ebuild index 5ed29a39496..4cc524e3399 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/selinux-unconfined-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/selinux-unconfined-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.3.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.3.2-r1.ebuild deleted file mode 100644 index 1e1927ce390..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.3.2-r1.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic libtool multilib-minimal - -DESCRIPTION="Access control list utilities, libraries, and headers" -HOMEPAGE="https://savannah.nongnu.org/projects/acl" -SRC_URI="mirror://nongnu/${PN}/${P}.tar.xz" - -LICENSE="LGPL-2.1+ GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" -IUSE="nls static-libs" - -RDEPEND=" - >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] -" -DEPEND="${RDEPEND}" -BDEPEND="nls? ( sys-devel/gettext )" - -src_prepare() { - default - - # bug #580792 - elibtoolize -} - -multilib_src_configure() { - # Filter out -flto flags as they break getfacl/setfacl binaries (bug #667372) - filter-lto - - local myeconfargs=( - --bindir="${EPREFIX}"/bin - --libexecdir="${EPREFIX}"/usr/$(get_libdir) - --enable-largefile - $(use_enable static-libs static) - $(use_enable nls) - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_test() { - # Tests call native binaries with an LD_PRELOAD wrapper - # bug #772356 - multilib_is_native_abi && default -} - -multilib_src_install_all() { - if ! use static-libs ; then - find "${ED}" -type f -name "*.la" -delete || die - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.3.2-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.3.2-r2.ebuild index 3d7cb4f35d9..00fc58b2924 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.3.2-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.3.2-r2.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://nongnu/${PN}/${P}.tar.xz" LICENSE="LGPL-2.1+ GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="nls static-libs" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/attr/attr-2.5.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/attr/attr-2.5.2-r1.ebuild index 69f4fbf26b3..278d5f50bcd 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/attr/attr-2.5.2-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/attr/attr-2.5.2-r1.ebuild @@ -12,7 +12,7 @@ else inherit libtool 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi DESCRIPTION="Extended attributes tools" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/attr/attr-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/attr/attr-9999.ebuild index 6973625cc4e..acea5d8d4c7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/attr/attr-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/attr/attr-9999.ebuild @@ -12,7 +12,7 @@ else inherit libtool 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi DESCRIPTION="Extended attributes tools" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/busybox/busybox-1.36.1-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/busybox/busybox-1.36.1-r3.ebuild index a3a784ee22a..d92573c92ba 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/busybox/busybox-1.36.1-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/busybox/busybox-1.36.1-r3.ebuild @@ -16,7 +16,7 @@ if [[ ${PV} == "9999" ]] ; then else MY_P="${PN}-${PV/_/-}" SRC_URI="https://www.busybox.net/downloads/${MY_P}.tar.bz2" - 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" fi S="${WORKDIR}/${MY_P}" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/busybox/busybox-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/busybox/busybox-9999.ebuild index a6611714334..ea2f501a10e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/busybox/busybox-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/busybox/busybox-9999.ebuild @@ -16,7 +16,7 @@ if [[ ${PV} == "9999" ]] ; then else MY_P="${PN}-${PV/_/-}" SRC_URI="https://www.busybox.net/downloads/${MY_P}.tar.bz2" - 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" fi S="${WORKDIR}/${MY_P}" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/Manifest index 9c89d73ceed..2bc23d4f786 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/Manifest @@ -1,12 +1,4 @@ -DIST coreutils-9.4-patches.tar.xz 6756 BLAKE2B 677454409ccb629fd0efde1e15d8f9c13f208391e63a17816011e84d4ca3fb2a42c2a60853f213ade2a53c821d76fd8924c59388d160c6e7c7fa5755e1db4c68 SHA512 2025c80b5ada92bafb479c678917862be208534becd8b347d335032c6b4cc23c7b7630f15ca7dd3b5d691567cb70f3491753e29441cc54d8700cc3d966a5e743 -DIST coreutils-9.4.tar.xz 5979200 BLAKE2B 83d41c48804c1d470c0e5eed38e692bb6875436dda3f6e2c29784ad6ef563d86e8e066a050e222621b400f78ea4630b1e127d20fc9b76f12096528c42677e35d SHA512 7c55ee23b685a0462bbbd118b04d25278c902604a0dcf3bf4f8bf81faa0500dee5a7813cba6f586d676c98e520cafd420f16479619305e94ea6798d8437561f5 -DIST coreutils-9.4.tar.xz.sig 833 BLAKE2B 870f7eb28e8851f41954820c7f4f4b43a965e6650b303b79541dfdf98ca0cd52fe964d7eec72bea68066452d7ad21a01df5e4db9e5bc4c20bf26d8b416856446 SHA512 9674f783f592c4f3e5c708ff31426ac009bf132fd0005019571bf39c8a1627efb5351c6cecc7faecb1eff8fa2970318666593bffc0eda9c750159e174ef42524 -DIST coreutils-9.5-patches.tar.xz 5912 BLAKE2B 873fbe1a60f8f8034b3d35796146765ce388952d649c32dc81ca0e4c2823c9f2f00b69bc5cb3af686434867459b6dc378fb9a6d59563d28b87c3ee1eceeedbb3 SHA512 4b4ad356615d046b8d67ea35b789f887a787ab01ece3234f6344518aef33cd30ca364fef5d85e11acfdb24003114c16ffdab82922fb135d5425fbcd541064a76 -DIST coreutils-9.5.tar.xz 6007136 BLAKE2B 6fd3a77697c9e85f31415c6ad66559faf18acc7d346677a89d4a999c2027886551e78842a7283e7b3b44fe8ef2fde04ba2f88df32a7844d5f69d45bcb7a04b6f SHA512 2ca0deac4dc10a80fd0c6fd131252e99d457fd03b7bd626a6bc74fe5a0529c0a3d48ce1f5da1d3b3a7a150a1ce44f0fbb6b68a6ac543dfd5baa3e71f5d65401c -DIST coreutils-9.5.tar.xz.sig 833 BLAKE2B 37c29984bceee0ff3bffde76712f71dbb118c228e328dc230d5c53c37da12f5ec2130e0123b97fda4a561f556c3be307fdbe1f0c21279db2c84030818386f626 SHA512 029997e0f4ee64e561853cff7c8a124f58cc891598595b44c4a46f9813b4b71c9d677464bc8a26d294e9971832f4b87c23777fea4fac6e8e30f06ad93b9957d5 DIST coreutils-9.6-patches.tar.xz 5904 BLAKE2B 1abe214914007804362b9d7c1a7c39f07d74c51857e84484179f11bb8fa512356ee97c811ef62469aaa52db5cc90f2f7587c2dc57ed130ebbfdacc59755dcb90 SHA512 5a609b21da7c78e41184e5d7bca87da4f868975635b6e8aa4bd8f4d18c98a2fabd5b7e8ad6bf7780ca77f6d532bfa5cb1ed618e4bc32617ba2977d4b8a885b9f -DIST coreutils-9.6.tar.xz 6134764 BLAKE2B 4070d3d272851d3e9c326df9c05ce67797d86852e7f5c26e545f987f444295f2cfca24e8569514d7b5edf8fd50318d07cb20dea4a4ce8c65b34bea0c5a9177be SHA512 398391d7f9d77e6117b750abb8711eebdd9cd2549e7846cab26884fb2dd522b6bcfb8bf7fef35a12683e213ada7f89b817bf615628628d42aee3fa3102647b28 -DIST coreutils-9.6.tar.xz.sig 833 BLAKE2B a9ea9773746d21b526e69ca2ff7637f3dcef4a921da943f281c4d16fed2d8f9eff92353e1ceafbbc8cfe4b9b23bf123bf64dcd79ff598759373c50739a5046c6 SHA512 a8e578b5e1d053b49e3e2c5dc94431d17c6a14662f459b2174cea23865ccca32e5ae5c13fedb0a8345d25269a9b98cb7f463a897c9663f9f9bcaf61e5c781378 DIST coreutils-9.7.tar.xz 6158960 BLAKE2B e5e5f7ec26c3952eb6a25988f78d3a1f8a70cf97a2fbc7b433dfcd1721cd38e6e0a8b9cb83f854a22df325bcb5ea8c4534c5a217273762cd5d575b381db69ee8 SHA512 fe81e6ba4fb492095153d5baac1eca8f07ece0957849de746a2a858cf007893cc2ded595a31a5e5d43d13216cc44b9d74a3245d9f23221ecc8cd00f428f27414 DIST coreutils-9.7.tar.xz.sig 833 BLAKE2B 18dee5a1b5dc1811b277748fe6ee079dc6320bc6d67e01f108415c6afe21ad0367ece46f8c6dfb0976b1e5f62ae15c2d61fba916ea232c71a1b2f66c81b983bf SHA512 48d86a19cee3c153f01f7478847f4621685c02e59942540bb20b30e314df05230817b87d0e73acd953e79fab35718e5bea57f25fe511a2c275a85ced4b317bae DIST coreutils-9.8.tar.xz 6234824 BLAKE2B a93e26c8dda875b11541808d82ff8d6537f521b9c44e2a9959ee8f452823a4df5aed2793ac32766e2d3f832606d7190f7f53ea5870419f585aa66429a9626d98 SHA512 7b6c420907f0e33e4aff3dd92270f8cbd3e94b2ae8cf7caa2d5d1cfd5e9958319904a6547127abd55ee63aae0316f5b1228586b2da34ea402da032e925a25e53 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.4-r1.ebuild deleted file mode 100644 index db8bfb14c1e..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.4-r1.ebuild +++ /dev/null @@ -1,308 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Try to keep an eye on Fedora's packaging: https://src.fedoraproject.org/rpms/coreutils -# The upstream coreutils maintainers also maintain the package in Fedora and may -# backport fixes which we want to pick up. -# -# Also recommend subscribing to the coreutils and bug-coreutils MLs. - -PYTHON_COMPAT=( python3_{10..11} ) -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/coreutils.asc -inherit flag-o-matic python-any-r1 toolchain-funcs verify-sig - -MY_PATCH="${PN}-9.4-patches" -DESCRIPTION="Standard GNU utilities (chmod, cp, dd, ls, sort, tr, head, wc, who,...)" -HOMEPAGE="https://www.gnu.org/software/coreutils/" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/coreutils.git" - inherit git-r3 -elif [[ ${PV} == *_p* ]] ; then - # Note: could put this in devspace, but if it's gone, we don't want - # it in tree anyway. It's just for testing. - MY_SNAPSHOT="$(ver_cut 1-2).156-b3afb" - SRC_URI="https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz -> ${P}.tar.xz" - SRC_URI+=" verify-sig? ( https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz.sig -> ${P}.tar.xz.sig )" - S="${WORKDIR}"/${PN}-${MY_SNAPSHOT} -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 ~x86-linux" -fi - -SRC_URI+=" !vanilla? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH}.tar.xz )" - -LICENSE="GPL-3+" -SLOT="0" -IUSE="acl caps gmp hostname kill multicall nls +openssl selinux +split-usr static test vanilla xattr" -RESTRICT="!test? ( test )" - -LIB_DEPEND=" - acl? ( sys-apps/acl[static-libs] ) - caps? ( sys-libs/libcap ) - gmp? ( dev-libs/gmp:=[static-libs] ) - openssl? ( dev-libs/openssl:=[static-libs] ) - xattr? ( sys-apps/attr[static-libs] ) -" -RDEPEND=" - !static? ( ${LIB_DEPEND//\[static-libs]} ) - selinux? ( sys-libs/libselinux ) - nls? ( virtual/libintl ) -" -DEPEND=" - ${RDEPEND} - static? ( ${LIB_DEPEND} ) -" -BDEPEND=" - app-arch/xz-utils - dev-lang/perl - test? ( - dev-debug/strace - dev-lang/perl - dev-perl/Expect - ${PYTHON_DEPS} - ) - verify-sig? ( sec-keys/openpgp-keys-coreutils ) -" -RDEPEND+=" - hostname? ( !sys-apps/net-tools[hostname] ) - kill? ( - !sys-apps/util-linux[kill] - !sys-process/procps[kill] - ) - !9.4?), we may want to wire up USE=systemd: - # still experimental at the moment, but: - # https://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=85edb4afbd119fb69a0d53e1beb71f46c9525dd0 - local myconf=( - --with-packager="Gentoo" - --with-packager-version="${PVR} (p${PATCH_VER:-0})" - --with-packager-bug-reports="https://bugs.gentoo.org/" - # kill/uptime - procps - # groups/su - shadow - # hostname - net-tools - --enable-install-program="arch,$(usev hostname),$(usev kill)" - --enable-no-install-program="groups,$(usev !hostname),$(usev !kill),su,uptime" - $(usev !caps --disable-libcap) - $(use_enable nls) - $(use_enable acl) - $(use_enable multicall single-binary) - $(use_enable xattr) - $(use_with gmp libgmp) - $(use_with openssl) - ) - - if use gmp ; then - myconf+=( --with-libgmp-prefix="${ESYSROOT}"/usr ) - fi - - if tc-is-cross-compiler && [[ ${CHOST} == *linux* ]] ; then - # bug #311569 - export fu_cv_sys_stat_statfs2_bsize=yes - # bug #416629 - export gl_cv_func_realpath_works=yes - fi - - # bug #409919 - export gl_cv_func_mknod_works=yes - - if use static ; then - append-ldflags -static - # bug #321821 - sed -i '/elf_sys=yes/s:yes:no:' configure || die - fi - - if ! use selinux ; then - # bug #301782 - export ac_cv_{header_selinux_{context,flash,selinux}_h,search_setfilecon}=no - fi - - econf "${myconf[@]}" -} - -src_test() { - # Non-root tests will fail if the full path isn't - # accessible to non-root users - chmod -R go-w "${WORKDIR}" || die - chmod a+rx "${WORKDIR}" || die - - # coreutils tests like to do `mount` and such with temp dirs, - # so make sure: - # - /etc/mtab is writable (bug #265725) - # - /dev/loop* can be mounted (bug #269758) - mkdir -p "${T}"/mount-wrappers || die - mkwrap() { - local w ww - for w in "${@}" ; do - ww="${T}/mount-wrappers/${w}" - cat <<-EOF > "${ww}" - #!${EPREFIX}/bin/sh - exec env SANDBOX_WRITE="\${SANDBOX_WRITE}:/etc/mtab:/dev/loop" $(type -P ${w}) "\$@" - EOF - chmod a+rx "${ww}" || die - done - } - mkwrap mount umount - - addwrite /dev/full - - #local -x RUN_EXPENSIVE_TESTS="yes" - #local -x COREUTILS_GROUPS="portage wheel" - local -x PATH="${T}/mount-wrappers:${PATH}" - local -x gl_public_submodule_commit= - - local xfail_tests=( - # bug #629660 - #tests/dd/no-allocate.sh - - # bug #675802 - tests/env/env-S - tests/env/env-S.pl - - # bug #413621 and bug #548250 - tests/du/long-from-unreadable.sh - tests/ls/removed-directory - tests/ls/removed-directory.sh - tests/ls/stat-free-symlinks - tests/ls/stat-free-symlinks.sh - tests/rm/deep-2 - tests/rm/deep-2.sh - - # We have a patch which fixes this (bug #259876) - #tests/touch/not-owner - #tests/touch/not-owner.sh - ) - - # This test is flaky (bug #910640). - cat > tests/tty/tty-eof.pl <<-EOF || die - #!/usr/bin/perl - exit 77; - EOF - - # We set DISABLE_HARD_ERRORS because some of the tests hard error-out - # because of sandbox. They're skipped above but DISABLE_HARD_ERRORS is needed - # to downgrade them to FAIL. - emake -k check \ - VERBOSE=yes \ - DISABLE_HARD_ERRORS=yes \ - XFAIL_TESTS="${xfail_tests[*]}" -} - -src_install() { - default - - insinto /etc - newins src/dircolors.hin DIR_COLORS - - if use split-usr ; then - cd "${ED}"/usr/bin || die - dodir /bin - - # Move critical binaries into /bin (required by FHS) - local fhs="cat chgrp chmod chown cp date dd df echo false ln ls - mkdir mknod mv pwd rm rmdir stty sync true uname" - mv ${fhs} ../../bin/ || die "Could not move FHS bins!" - - if use hostname ; then - mv hostname ../../bin/ || die - fi - - if use kill ; then - mv kill ../../bin/ || die - fi - - # Move critical binaries into /bin (common scripts) - # (Why are these required for booting?) - local com="basename chroot cut dir dirname du env expr head mkfifo - mktemp readlink seq sleep sort tail touch tr tty vdir wc yes" - mv ${com} ../../bin/ || die "Could not move common bins!" - - # Create a symlink for uname in /usr/bin/ since autotools require it. - # (Other than uname, we need to figure out why we are - # creating symlinks for these in /usr/bin instead of leaving - # the files there in the first place...) - local x - for x in ${com} uname ; do - dosym ../../bin/${x} /usr/bin/${x} - done - fi -} - -pkg_postinst() { - ewarn "Make sure you run 'hash -r' in your active shells." - ewarn "You should also re-source your shell settings for LS_COLORS" - ewarn " changes, such as: source /etc/profile" -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.4.ebuild deleted file mode 100644 index 73435d009f4..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.4.ebuild +++ /dev/null @@ -1,306 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Try to keep an eye on Fedora's packaging: https://src.fedoraproject.org/rpms/coreutils -# The upstream coreutils maintainers also maintain the package in Fedora and may -# backport fixes which we want to pick up. -# -# Also recommend subscribing to the coreutils and bug-coreutils MLs. - -PYTHON_COMPAT=( python3_{10..11} ) -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/coreutils.asc -inherit flag-o-matic python-any-r1 toolchain-funcs verify-sig - -MY_PATCH="${PN}-9.4-patches" -DESCRIPTION="Standard GNU utilities (chmod, cp, dd, ls, sort, tr, head, wc, who,...)" -HOMEPAGE="https://www.gnu.org/software/coreutils/" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/coreutils.git" - inherit git-r3 -elif [[ ${PV} == *_p* ]] ; then - # Note: could put this in devspace, but if it's gone, we don't want - # it in tree anyway. It's just for testing. - MY_SNAPSHOT="$(ver_cut 1-2).156-b3afb" - SRC_URI="https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz -> ${P}.tar.xz" - SRC_URI+=" verify-sig? ( https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz.sig -> ${P}.tar.xz.sig )" - S="${WORKDIR}"/${PN}-${MY_SNAPSHOT} -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 ~x86-linux" -fi - -SRC_URI+=" !vanilla? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH}.tar.xz )" - -LICENSE="GPL-3+" -SLOT="0" -IUSE="acl caps gmp hostname kill multicall nls +openssl selinux +split-usr static test vanilla xattr" -RESTRICT="!test? ( test )" - -LIB_DEPEND=" - acl? ( sys-apps/acl[static-libs] ) - caps? ( sys-libs/libcap ) - gmp? ( dev-libs/gmp:=[static-libs] ) - openssl? ( dev-libs/openssl:=[static-libs] ) - xattr? ( sys-apps/attr[static-libs] ) -" -RDEPEND=" - !static? ( ${LIB_DEPEND//\[static-libs]} ) - selinux? ( sys-libs/libselinux ) - nls? ( virtual/libintl ) -" -DEPEND=" - ${RDEPEND} - static? ( ${LIB_DEPEND} ) -" -BDEPEND=" - app-arch/xz-utils - dev-lang/perl - test? ( - dev-debug/strace - dev-lang/perl - dev-perl/Expect - ${PYTHON_DEPS} - ) - verify-sig? ( sec-keys/openpgp-keys-coreutils ) -" -RDEPEND+=" - hostname? ( !sys-apps/net-tools[hostname] ) - kill? ( - !sys-apps/util-linux[kill] - !sys-process/procps[kill] - ) - !9.4?), we may want to wire up USE=systemd: - # still experimental at the moment, but: - # https://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=85edb4afbd119fb69a0d53e1beb71f46c9525dd0 - local myconf=( - --with-packager="Gentoo" - --with-packager-version="${PVR} (p${PATCH_VER:-0})" - --with-packager-bug-reports="https://bugs.gentoo.org/" - # kill/uptime - procps - # groups/su - shadow - # hostname - net-tools - --enable-install-program="arch,$(usev hostname),$(usev kill)" - --enable-no-install-program="groups,$(usev !hostname),$(usev !kill),su,uptime" - $(usev !caps --disable-libcap) - $(use_enable nls) - $(use_enable acl) - $(use_enable multicall single-binary) - $(use_enable xattr) - $(use_with gmp libgmp) - $(use_with openssl) - ) - - if use gmp ; then - myconf+=( --with-libgmp-prefix="${ESYSROOT}"/usr ) - fi - - if tc-is-cross-compiler && [[ ${CHOST} == *linux* ]] ; then - # bug #311569 - export fu_cv_sys_stat_statfs2_bsize=yes - # bug #416629 - export gl_cv_func_realpath_works=yes - fi - - # bug #409919 - export gl_cv_func_mknod_works=yes - - if use static ; then - append-ldflags -static - # bug #321821 - sed -i '/elf_sys=yes/s:yes:no:' configure || die - fi - - if ! use selinux ; then - # bug #301782 - export ac_cv_{header_selinux_{context,flash,selinux}_h,search_setfilecon}=no - fi - - econf "${myconf[@]}" -} - -src_test() { - # Non-root tests will fail if the full path isn't - # accessible to non-root users - chmod -R go-w "${WORKDIR}" || die - chmod a+rx "${WORKDIR}" || die - - # coreutils tests like to do `mount` and such with temp dirs, - # so make sure: - # - /etc/mtab is writable (bug #265725) - # - /dev/loop* can be mounted (bug #269758) - mkdir -p "${T}"/mount-wrappers || die - mkwrap() { - local w ww - for w in "${@}" ; do - ww="${T}/mount-wrappers/${w}" - cat <<-EOF > "${ww}" - #!${EPREFIX}/bin/sh - exec env SANDBOX_WRITE="\${SANDBOX_WRITE}:/etc/mtab:/dev/loop" $(type -P ${w}) "\$@" - EOF - chmod a+rx "${ww}" || die - done - } - mkwrap mount umount - - addwrite /dev/full - - #local -x RUN_EXPENSIVE_TESTS="yes" - #local -x COREUTILS_GROUPS="portage wheel" - local -x PATH="${T}/mount-wrappers:${PATH}" - local -x gl_public_submodule_commit= - - local xfail_tests=( - # bug #629660 - #tests/dd/no-allocate.sh - - # bug #675802 - tests/env/env-S - tests/env/env-S.pl - - # bug #413621 and bug #548250 - tests/du/long-from-unreadable.sh - tests/ls/removed-directory - tests/ls/removed-directory.sh - tests/ls/stat-free-symlinks - tests/ls/stat-free-symlinks.sh - tests/rm/deep-2 - tests/rm/deep-2.sh - - # We have a patch which fixes this (bug #259876) - #tests/touch/not-owner - #tests/touch/not-owner.sh - ) - - # This test is flaky (bug #910640). - cat > tests/tty/tty-eof.pl <<-EOF || die - #!/usr/bin/perl - exit 77; - EOF - - # We set DISABLE_HARD_ERRORS because some of the tests hard error-out - # because of sandbox. They're skipped above but DISABLE_HARD_ERRORS is needed - # to downgrade them to FAIL. - emake -k check \ - VERBOSE=yes \ - DISABLE_HARD_ERRORS=yes \ - XFAIL_TESTS="${xfail_tests[*]}" -} - -src_install() { - default - - insinto /etc - newins src/dircolors.hin DIR_COLORS - - if use split-usr ; then - cd "${ED}"/usr/bin || die - dodir /bin - - # Move critical binaries into /bin (required by FHS) - local fhs="cat chgrp chmod chown cp date dd df echo false ln ls - mkdir mknod mv pwd rm rmdir stty sync true uname" - mv ${fhs} ../../bin/ || die "Could not move FHS bins!" - - if use hostname ; then - mv hostname ../../bin/ || die - fi - - if use kill ; then - mv kill ../../bin/ || die - fi - - # Move critical binaries into /bin (common scripts) - # (Why are these required for booting?) - local com="basename chroot cut dir dirname du env expr head mkfifo - mktemp readlink seq sleep sort tail touch tr tty vdir wc yes" - mv ${com} ../../bin/ || die "Could not move common bins!" - - # Create a symlink for uname in /usr/bin/ since autotools require it. - # (Other than uname, we need to figure out why we are - # creating symlinks for these in /usr/bin instead of leaving - # the files there in the first place...) - local x - for x in ${com} uname ; do - dosym ../../bin/${x} /usr/bin/${x} - done - fi -} - -pkg_postinst() { - ewarn "Make sure you run 'hash -r' in your active shells." - ewarn "You should also re-source your shell settings for LS_COLORS" - ewarn " changes, such as: source /etc/profile" -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.5.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.5.ebuild deleted file mode 100644 index 10539eec957..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.5.ebuild +++ /dev/null @@ -1,313 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Try to keep an eye on Fedora's packaging: https://src.fedoraproject.org/rpms/coreutils -# The upstream coreutils maintainers also maintain the package in Fedora and may -# backport fixes which we want to pick up. -# -# Also recommend subscribing to the coreutils and bug-coreutils MLs. - -PYTHON_COMPAT=( python3_{10..13} ) -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/coreutils.asc -inherit flag-o-matic python-any-r1 toolchain-funcs verify-sig - -MY_PATCH="${PN}-9.5-patches" -DESCRIPTION="Standard GNU utilities (chmod, cp, dd, ls, sort, tr, head, wc, who,...)" -HOMEPAGE="https://www.gnu.org/software/coreutils/" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/coreutils.git" - inherit git-r3 -elif [[ ${PV} == *_p* ]] ; then - # Note: could put this in devspace, but if it's gone, we don't want - # it in tree anyway. It's just for testing. - MY_SNAPSHOT="$(ver_cut 1-2).185-541b02" - SRC_URI="https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz -> ${P}.tar.xz" - SRC_URI+=" verify-sig? ( https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz.sig -> ${P}.tar.xz.sig )" - S="${WORKDIR}"/${PN}-${MY_SNAPSHOT} -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 ~x86-linux" -fi - -SRC_URI+=" !vanilla? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH}.tar.xz )" - -LICENSE="GPL-3+" -SLOT="0" -IUSE="acl caps gmp hostname kill multicall nls +openssl selinux +split-usr static test vanilla xattr" -RESTRICT="!test? ( test )" - -LIB_DEPEND=" - acl? ( sys-apps/acl[static-libs] ) - caps? ( sys-libs/libcap ) - gmp? ( dev-libs/gmp:=[static-libs] ) - openssl? ( dev-libs/openssl:=[static-libs] ) - xattr? ( sys-apps/attr[static-libs] ) -" -RDEPEND=" - !static? ( ${LIB_DEPEND//\[static-libs]} ) - selinux? ( sys-libs/libselinux ) - nls? ( virtual/libintl ) -" -DEPEND=" - ${RDEPEND} - static? ( ${LIB_DEPEND} ) -" -BDEPEND=" - app-arch/xz-utils - dev-lang/perl - test? ( - dev-debug/strace - dev-lang/perl - dev-perl/Expect - ${PYTHON_DEPS} - ) - verify-sig? ( sec-keys/openpgp-keys-coreutils ) -" -RDEPEND+=" - hostname? ( !sys-apps/net-tools[hostname] ) - kill? ( - !sys-apps/util-linux[kill] - !sys-process/procps[kill] - ) - !9.4?), we may want to wire up USE=systemd: - # still experimental at the moment, but: - # https://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=85edb4afbd119fb69a0d53e1beb71f46c9525dd0 - local myconf=( - --with-packager="Gentoo" - --with-packager-version="${PVR} (p${PATCH_VER:-0})" - --with-packager-bug-reports="https://bugs.gentoo.org/" - # kill/uptime - procps - # groups/su - shadow - # hostname - net-tools - --enable-install-program="arch,$(usev hostname),$(usev kill)" - --enable-no-install-program="groups,$(usev !hostname),$(usev !kill),su,uptime" - $(usev !caps --disable-libcap) - $(use_enable nls) - $(use_enable acl) - $(use_enable multicall single-binary) - $(use_enable xattr) - $(use_with gmp libgmp) - $(use_with openssl) - ) - - if use gmp ; then - myconf+=( --with-libgmp-prefix="${ESYSROOT}"/usr ) - fi - - if tc-is-cross-compiler && [[ ${CHOST} == *linux* ]] ; then - # bug #311569 - export fu_cv_sys_stat_statfs2_bsize=yes - # bug #416629 - export gl_cv_func_realpath_works=yes - fi - - # bug #409919 - export gl_cv_func_mknod_works=yes - - if use static ; then - append-ldflags -static - # bug #321821 - sed -i '/elf_sys=yes/s:yes:no:' configure || die - fi - - if ! use selinux ; then - # bug #301782 - export ac_cv_{header_selinux_{context,flash,selinux}_h,search_setfilecon}=no - fi - - econf "${myconf[@]}" -} - -src_test() { - # Non-root tests will fail if the full path isn't - # accessible to non-root users - chmod -R go-w "${WORKDIR}" || die - chmod a+rx "${WORKDIR}" || die - - # coreutils tests like to do `mount` and such with temp dirs, - # so make sure: - # - /etc/mtab is writable (bug #265725) - # - /dev/loop* can be mounted (bug #269758) - mkdir -p "${T}"/mount-wrappers || die - mkwrap() { - local w ww - for w in "${@}" ; do - ww="${T}/mount-wrappers/${w}" - cat <<-EOF > "${ww}" - #!${EPREFIX}/bin/sh - exec env SANDBOX_WRITE="\${SANDBOX_WRITE}:/etc/mtab:/dev/loop" $(type -P ${w}) "\$@" - EOF - chmod a+rx "${ww}" || die - done - } - mkwrap mount umount - - addwrite /dev/full - - #local -x RUN_EXPENSIVE_TESTS="yes" - #local -x COREUTILS_GROUPS="portage wheel" - local -x PATH="${T}/mount-wrappers:${PATH}" - local -x gl_public_submodule_commit= - - local xfail_tests=( - # bug #675802 - tests/env/env-S - tests/env/env-S.pl - - # bug #413621 and bug #548250 - tests/du/long-from-unreadable.sh - tests/ls/removed-directory - tests/ls/removed-directory.sh - tests/ls/stat-free-symlinks - tests/ls/stat-free-symlinks.sh - tests/rm/deep-2 - tests/rm/deep-2.sh - - # We have a patch which fixes this (bug #259876) - #tests/touch/not-owner - #tests/touch/not-owner.sh - ) - - # This test is flaky (bug #629660, bug #935367). - cat > tests/dd/no-allocate.sh <<-EOF || die - #!/bin/sh - exit 77; - EOF - - # This test is flaky (bug #910640). - cat > tests/tty/tty-eof.pl <<-EOF || die - #!/usr/bin/perl - exit 77; - EOF - - # We set DISABLE_HARD_ERRORS because some of the tests hard error-out - # because of sandbox. They're skipped above but DISABLE_HARD_ERRORS is needed - # to downgrade them to FAIL. - emake -k check \ - VERBOSE=yes \ - DISABLE_HARD_ERRORS=yes \ - XFAIL_TESTS="${xfail_tests[*]}" -} - -src_install() { - default - - insinto /etc - newins src/dircolors.hin DIR_COLORS - - if use split-usr ; then - cd "${ED}"/usr/bin || die - dodir /bin - - # Move critical binaries into /bin (required by FHS) - local fhs="cat chgrp chmod chown cp date dd df echo false ln ls - mkdir mknod mv pwd rm rmdir stty sync true uname" - mv ${fhs} ../../bin/ || die "Could not move FHS bins!" - - if use hostname ; then - mv hostname ../../bin/ || die - fi - - if use kill ; then - mv kill ../../bin/ || die - fi - - # Move critical binaries into /bin (common scripts) - # (Why are these required for booting?) - local com="basename chroot cut dir dirname du env expr head mkfifo - mktemp readlink seq sleep sort tail touch tr tty vdir wc yes" - mv ${com} ../../bin/ || die "Could not move common bins!" - - # Create a symlink for uname in /usr/bin/ since autotools require it. - # (Other than uname, we need to figure out why we are - # creating symlinks for these in /usr/bin instead of leaving - # the files there in the first place...) - local x - for x in ${com} uname ; do - dosym ../../bin/${x} /usr/bin/${x} - done - fi -} - -pkg_postinst() { - ewarn "Make sure you run 'hash -r' in your active shells." - ewarn "You should also re-source your shell settings for LS_COLORS" - ewarn " changes, such as: source /etc/profile" -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.7.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.7.ebuild index 2097a5bf4e9..907e629cd4d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.7.ebuild @@ -33,7 +33,7 @@ else verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) " - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi SRC_URI+=" !vanilla? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH}.tar.xz )" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.8-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.8-r1.ebuild index 77619995921..7b50ba8a47f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.8-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.8-r1.ebuild @@ -33,7 +33,7 @@ else verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) " - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi SRC_URI+=" !vanilla? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH}.tar.xz )" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.8.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9-r1.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.8.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9-r1.ebuild index 5bd5cd7fe6d..92b5afb1a29 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -33,7 +33,7 @@ else verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi SRC_URI+=" !vanilla? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH}.tar.xz )" @@ -115,8 +115,9 @@ src_unpack() { src_prepare() { # TODO: past 2025, we may need to add our own hack for bug #907474. local PATCHES=( + "${FILESDIR}"/${PN}-9.5-skip-readutmp-test.patch # Upstream patches - "${FILESDIR}"/${PN}-9.8-no-pclmul.patch + "${FILESDIR}"/${PN}-9.9-cp-SEEK_HOLE-loop.patch ) if ! use vanilla && [[ -d "${WORKDIR}"/${MY_PATCH} ]] ; then diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.6.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9-r11.ebuild similarity index 92% rename from sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.6.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9-r11.ebuild index 13548680185..7cd6e5cab97 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9-r11.ebuild @@ -9,7 +9,7 @@ EAPI=8 # # Also recommend subscribing to the coreutils and bug-coreutils MLs. -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..13} ) VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/coreutils.asc inherit flag-o-matic python-any-r1 toolchain-funcs verify-sig @@ -23,7 +23,7 @@ if [[ ${PV} == 9999 ]] ; then elif [[ ${PV} == *_p* ]] ; then # Note: could put this in devspace, but if it's gone, we don't want # it in tree anyway. It's just for testing. - MY_SNAPSHOT="$(ver_cut 1-2).185-541b02" + MY_SNAPSHOT="$(ver_cut 1-2).327-71a8c" SRC_URI="https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz -> ${P}.tar.xz" SRC_URI+=" verify-sig? ( https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz.sig -> ${P}.tar.xz.sig )" S="${WORKDIR}"/${PN}-${MY_SNAPSHOT} @@ -33,14 +33,14 @@ else verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux" + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi SRC_URI+=" !vanilla? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH}.tar.xz )" LICENSE="GPL-3+" SLOT="0" -IUSE="acl caps gmp hostname kill multicall nls +openssl selinux +split-usr static test vanilla xattr" +IUSE="acl caps gmp hostname kill multicall nls +openssl selinux +split-usr static test test-full vanilla xattr" RESTRICT="!test? ( test )" LIB_DEPEND=" @@ -83,6 +83,7 @@ RDEPEND+=" !sys-apps/mktemp !> init.cfg || die + require_valgrind_() + { + skip_ "requires a working valgrind" + } + EOF + # TODO: in future (>9.4?), we may want to wire up USE=systemd: # still experimental at the moment, but: # https://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=85edb4afbd119fb69a0d53e1beb71f46c9525dd0 @@ -149,10 +160,9 @@ src_configure() { --with-packager-version="${PVR} (p${PATCH_VER:-0})" --with-packager-bug-reports="https://bugs.gentoo.org/" # kill/uptime - procps - # groups/su - shadow # hostname - net-tools --enable-install-program="arch,$(usev hostname),$(usev kill)" - --enable-no-install-program="groups,$(usev !hostname),$(usev !kill),su,uptime" + --enable-no-install-program="$(usev !hostname),$(usev !kill),su,uptime" $(usev !caps --disable-libcap) $(use_enable nls) $(use_enable acl) @@ -216,7 +226,7 @@ src_test() { addwrite /dev/full - #local -x RUN_EXPENSIVE_TESTS="yes" + local -x RUN_{VERY_,}EXPENSIVE_TESTS=$(usex test-full yes no) #local -x COREUTILS_GROUPS="portage wheel" local -x PATH="${T}/mount-wrappers:${PATH}" local -x gl_public_submodule_commit= @@ -234,15 +244,6 @@ src_test() { tests/env/env-S tests/env/env-S.pl - # bug #413621 and bug #548250 - tests/du/long-from-unreadable.sh - tests/ls/removed-directory - tests/ls/removed-directory.sh - tests/ls/stat-free-symlinks - tests/ls/stat-free-symlinks.sh - tests/rm/deep-2 - tests/rm/deep-2.sh - # We have a patch which fixes this (bug #259876) #tests/touch/not-owner #tests/touch/not-owner.sh diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9.ebuild index 60795e4d144..718831c052e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9.ebuild @@ -33,7 +33,7 @@ else verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi SRC_URI+=" !vanilla? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH}.tar.xz )" @@ -115,6 +115,7 @@ src_unpack() { src_prepare() { # TODO: past 2025, we may need to add our own hack for bug #907474. local PATCHES=( + "${FILESDIR}"/${PN}-9.5-skip-readutmp-test.patch # Upstream patches ) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9999.ebuild index 60795e4d144..5d546ec2d55 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9999.ebuild @@ -11,7 +11,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{11..13} ) VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/coreutils.asc -inherit flag-o-matic python-any-r1 toolchain-funcs verify-sig +inherit branding flag-o-matic python-any-r1 toolchain-funcs verify-sig MY_PATCH="${PN}-9.6-patches" DESCRIPTION="Standard GNU utilities (chmod, cp, dd, ls, sort, tr, head, wc, who,...)" @@ -33,7 +33,7 @@ else verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi SRC_URI+=" !vanilla? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH}.tar.xz )" @@ -83,6 +83,7 @@ RDEPEND+=" !sys-apps/mktemp ! -Date: Tue, 16 Jan 2024 13:48:32 -0800 -Subject: split: do not shrink hold buffer -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -* src/split.c (line_bytes_split): Do not shrink hold buffer. -If it’s large for this batch it’s likely to be large for the next -batch, and for ‘split’ it’s not worth the complexity/CPU hassle to -shrink it. Do not assume hold_size can be bufsize. ---- a/src/split.c -+++ b/src/split.c -@@ -809,10 +809,7 @@ line_bytes_split (intmax_t n_bytes, char *buf, idx_t bufsize) - { - cwrite (n_out == 0, hold, n_hold); - n_out += n_hold; -- if (n_hold > bufsize) -- hold = xirealloc (hold, bufsize); - n_hold = 0; -- hold_size = bufsize; - } - - /* Output to eol if present. */ --- -cgit v1.1 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.4-gnulib-clang-18-c23-stdckdint.patch b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.4-gnulib-clang-18-c23-stdckdint.patch deleted file mode 100644 index 44982a17a78..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.4-gnulib-clang-18-c23-stdckdint.patch +++ /dev/null @@ -1,30 +0,0 @@ -https://bugs.gentoo.org/926349 -https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commit;h=67c298c36f6 - -From 67c298c36f69b6906840b7584be06b7b5f33f829 Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Tue, 16 Jan 2024 17:21:08 -0800 -Subject: [PATCH] posixtm: pacify clang 18 -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf8 -Content-Transfer-Encoding: 8bit - -Problem reported by Khem Raj in: -https://lists.gnu.org/r/bug-gnulib/2024-01/msg00045.html -* lib/posixtm.c (posixtime): Pacify clang 18 by converting bool to int. -Arguably this is a bug in draft C2x, since the non-pointer args to -ckd_add should promote just like any other expressions do; -but that’s not clang’s fault. ---- a/lib/posixtm.c -+++ b/lib/posixtm.c -@@ -191,7 +191,7 @@ posixtime (time_t *p, const char *s, unsigned int syntax_bits) - | (tm0.tm_min ^ tm1.tm_min) - | (tm0.tm_sec ^ tm1.tm_sec))) - { -- if (ckd_add (&t, t, leapsec)) -+ if (ckd_add (&t, t, +leapsec)) - return false; - *p = t; - return true; --- -2.17.1 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.4-gnulib-openssl-1.1.patch b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.4-gnulib-openssl-1.1.patch deleted file mode 100644 index 3576c7d0d1e..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.4-gnulib-openssl-1.1.patch +++ /dev/null @@ -1,165 +0,0 @@ -https://bugs.gentoo.org/913368 -https://debbugs.gnu.org/65674 -https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=ce20e238f0b4448a098bd7c076c131edbc759764 - -From ce20e238f0b4448a098bd7c076c131edbc759764 Mon Sep 17 00:00:00 2001 -From: Bruno Haible -Date: Fri, 1 Sep 2023 12:55:30 +0200 -Subject: crypto/{sha*,md5,sm3}-buffer: Fix --with-openssl (regr. 2023-08-26). - -Reported by Agostino Sarubbo via Sam James in -. - -* lib/sha1.h: Test the OpenSSL major version before attempting to -include . -* lib/sha256.h: Likewise. -* lib/sha512.h: Likewise. -* lib/md5.h: Likewise. -* lib/sm3.h: Likewise. ---- a/lib/md5.h -+++ b/lib/md5.h -@@ -33,14 +33,18 @@ - # define OPENSSL_API_COMPAT 0x10101000L /* FIXME: Use OpenSSL 1.1+ API. */ - # endif - /* If would give a compile-time error, don't use OpenSSL. */ --# include --# if (OPENSSL_CONFIGURED_API \ -- < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \ -- ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \ -- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \ -- + ((OPENSSL_API_COMPAT >> 12) & 0xFF))) --# undef HAVE_OPENSSL_MD5 --# else -+# include -+# if OPENSSL_VERSION_MAJOR >= 3 -+# include -+# if (OPENSSL_CONFIGURED_API \ -+ < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \ -+ ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \ -+ + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \ -+ + ((OPENSSL_API_COMPAT >> 12) & 0xFF))) -+# undef HAVE_OPENSSL_MD5 -+# endif -+# endif -+# if HAVE_OPENSSL_MD5 - # include - # endif - # endif ---- a/lib/sha1.h -+++ b/lib/sha1.h -@@ -32,14 +32,18 @@ - # define OPENSSL_API_COMPAT 0x10101000L /* FIXME: Use OpenSSL 1.1+ API. */ - # endif - /* If would give a compile-time error, don't use OpenSSL. */ --# include --# if (OPENSSL_CONFIGURED_API \ -- < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \ -- ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \ -- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \ -- + ((OPENSSL_API_COMPAT >> 12) & 0xFF))) --# undef HAVE_OPENSSL_SHA1 --# else -+# include -+# if OPENSSL_VERSION_MAJOR >= 3 -+# include -+# if (OPENSSL_CONFIGURED_API \ -+ < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \ -+ ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \ -+ + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \ -+ + ((OPENSSL_API_COMPAT >> 12) & 0xFF))) -+# undef HAVE_OPENSSL_SHA1 -+# endif -+# endif -+# if HAVE_OPENSSL_SHA1 - # include - # endif - # endif ---- a/lib/sha256.h -+++ b/lib/sha256.h -@@ -31,14 +31,18 @@ - # define OPENSSL_API_COMPAT 0x10101000L /* FIXME: Use OpenSSL 1.1+ API. */ - # endif - /* If would give a compile-time error, don't use OpenSSL. */ --# include --# if (OPENSSL_CONFIGURED_API \ -- < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \ -- ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \ -- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \ -- + ((OPENSSL_API_COMPAT >> 12) & 0xFF))) --# undef HAVE_OPENSSL_SHA256 --# else -+# include -+# if OPENSSL_VERSION_MAJOR >= 3 -+# include -+# if (OPENSSL_CONFIGURED_API \ -+ < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \ -+ ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \ -+ + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \ -+ + ((OPENSSL_API_COMPAT >> 12) & 0xFF))) -+# undef HAVE_OPENSSL_SHA256 -+# endif -+# endif -+# if HAVE_OPENSSL_SHA256 - # include - # endif - # endif ---- a/lib/sha512.h -+++ b/lib/sha512.h -@@ -31,14 +31,18 @@ - # define OPENSSL_API_COMPAT 0x10101000L /* FIXME: Use OpenSSL 1.1+ API. */ - # endif - /* If would give a compile-time error, don't use OpenSSL. */ --# include --# if (OPENSSL_CONFIGURED_API \ -- < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \ -- ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \ -- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \ -- + ((OPENSSL_API_COMPAT >> 12) & 0xFF))) --# undef HAVE_OPENSSL_SHA512 --# else -+# include -+# if OPENSSL_VERSION_MAJOR >= 3 -+# include -+# if (OPENSSL_CONFIGURED_API \ -+ < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \ -+ ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \ -+ + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \ -+ + ((OPENSSL_API_COMPAT >> 12) & 0xFF))) -+# undef HAVE_OPENSSL_SHA512 -+# endif -+# endif -+# if HAVE_OPENSSL_SHA512 - # include - # endif - # endif ---- a/lib/sm3.h -+++ b/lib/sm3.h -@@ -40,14 +40,18 @@ - # define OPENSSL_API_COMPAT 0x10101000L /* FIXME: Use OpenSSL 1.1+ API. */ - # endif - /* If would give a compile-time error, don't use OpenSSL. */ --# include --# if (OPENSSL_CONFIGURED_API \ -- < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \ -- ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \ -- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \ -- + ((OPENSSL_API_COMPAT >> 12) & 0xFF))) --# undef HAVE_OPENSSL_SM3 --# else -+# include -+# if OPENSSL_VERSION_MAJOR >= 3 -+# include -+# if (OPENSSL_CONFIGURED_API \ -+ < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \ -+ ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \ -+ + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \ -+ + ((OPENSSL_API_COMPAT >> 12) & 0xFF))) -+# undef HAVE_OPENSSL_SM3 -+# endif -+# endif -+# if HAVE_OPENSSL_SM3 - # include - # endif - # endif --- -cgit v1.1 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.9-cp-SEEK_HOLE-loop.patch b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.9-cp-SEEK_HOLE-loop.patch new file mode 100644 index 00000000000..f38b1bc06e0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.9-cp-SEEK_HOLE-loop.patch @@ -0,0 +1,37 @@ +https://bugs.gentoo.org/968414 +https://cgit.git.savannah.gnu.org/cgit/coreutils.git/commit/?id=bd528f923482223649aa84be7d131e69356149da + +From bd528f923482223649aa84be7d131e69356149da Mon Sep 17 00:00:00 2001 +From: Pádraig Brady +Date: Sun, 4 Jan 2026 12:45:46 +0000 +Subject: copy: fix possible infinite loop with SEEK_HOLE + +Commit v9.8-95-g4c0cf3864 intended to initialize +ext_start to src_pos, as was described at: +https://lists.gnu.org/r/coreutils/2025-11/msg00035.html +However ipos was inadvertently used, which is only +valid the first time through the loop. + +* src/copy-file-data.c (lseek_copy): Use scan_inference->hole_start +only with the initial offset passed to lseek_copy(). +* NEWS: Mention the bug fix. +Reported at https://github.com/coreutils/coreutils/issues/159 +--- + src/copy-file-data.c | 2 +- + 2 files changed, 6 insertions(+), 1 deletion(-) + +--- a/src/copy-file-data.c ++++ b/src/copy-file-data.c +@@ -338,7 +338,7 @@ lseek_copy (int src_fd, int dest_fd, char **abuf, idx_t buf_size, + for (off_t ext_start = scan_inference->ext_start; + 0 <= ext_start && ext_start < max_ipos; ) + { +- off_t ext_end = (ext_start == ipos ++ off_t ext_end = (ext_start == src_pos + ? scan_inference->hole_start + : lseek (src_fd, ext_start, SEEK_HOLE)); + if (0 <= ext_end) +-- +cgit v1.2.3 + + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/dbus/dbus-1.16.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/dbus/dbus-1.16.2.ebuild index db59e2d9591..48a65e9e6b5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/dbus/dbus-1.16.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/dbus/dbus-1.16.2.ebuild @@ -19,7 +19,7 @@ SRC_URI="https://dbus.freedesktop.org/releases/dbus/${P}.tar.xz" LICENSE="|| ( AFL-2.1 GPL-2+ ) Apache-2.0 BSD GPL-2+ LGPL-2.1+ MIT tcltk" 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 ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" # TODO: USE=daemon IUSE="debug doc elogind selinux static-libs systemd test valgrind X" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/dbus/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-apps/dbus/metadata.xml index 760e57ac326..f17aee0a880 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/dbus/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-apps/dbus/metadata.xml @@ -4,9 +4,6 @@ freedesktop-bugs@gentoo.org - - Build with sys-apps/systemd at_console support - https://gitlab.freedesktop.org/dbus/dbus/-/issues https://gitlab.freedesktop.org/dbus/dbus/-/tags diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/debianutils/debianutils-5.14-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/debianutils/debianutils-5.14-r1.ebuild index a2114974bfa..d536f1187c4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/debianutils/debianutils-5.14-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/debianutils/debianutils-5.14-r1.ebuild @@ -12,7 +12,7 @@ SRC_URI="mirror://gentoo/e7/${PN}_${PV}.tar.xz" LICENSE="BSD GPL-2 SMAIL" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="static" PATCHES=( "${FILESDIR}"/${PN}-3.4.2-no-bs-namespace.patch ) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/diffutils/diffutils-3.10.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/diffutils/diffutils-3.10.ebuild index ef94f2f4807..53956ebd344 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/diffutils/diffutils-3.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/diffutils/diffutils-3.10.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == *_p* ]] ; then else SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/diffutils/diffutils-3.11-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/diffutils/diffutils-3.11-r2.ebuild index bbc9da1b396..404c4b57f05 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/diffutils/diffutils-3.11-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/diffutils/diffutils-3.11-r2.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == *_p* ]] ; then else SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/diffutils/diffutils-3.12.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/diffutils/diffutils-3.12.ebuild index 54d4be116e3..0a0437872bc 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/diffutils/diffutils-3.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/diffutils/diffutils-3.12.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/diffutils.asc -inherit verify-sig +inherit branding verify-sig DESCRIPTION="Tools to make diffs and compare files" HOMEPAGE="https://www.gnu.org/software/diffutils/" @@ -20,7 +20,7 @@ if [[ ${PV} == *_p* ]] ; then else SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" @@ -52,9 +52,6 @@ src_configure() { local myeconfargs=( # Interferes with F_S (sets F_S=2) --disable-gcc-warnings - --with-packager="Gentoo" - --with-packager-version="${PVR}" - --with-packager-bug-reports="https://bugs.gentoo.org/" $(use_enable nls) ) econf "${myeconfargs[@]}" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.45-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.45-r4.ebuild index 5e9d1b57f6d..5341a7ec36b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.45-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.45-r4.ebuild @@ -18,7 +18,7 @@ else SRC_URI="https://astron.com/pub/file/${P}.tar.gz" SRC_URI+=" verify-sig? ( https://astron.com/pub/file/${P}.tar.gz.asc )" - 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 ~arm64-macos ~x64-macos ~x64-solaris" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-file )" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.46-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.46-r2.ebuild index 561df725c94..27dfc304ec4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.46-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.46-r2.ebuild @@ -18,7 +18,7 @@ else SRC_URI="https://astron.com/pub/file/${P}.tar.gz" SRC_URI+=" verify-sig? ( https://astron.com/pub/file/${P}.tar.gz.asc )" - 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 ~arm64-macos ~x64-macos ~x64-solaris" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-file )" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.46-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.46-r3.ebuild index 11c325159fc..f9eee4570b5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.46-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.46-r3.ebuild @@ -18,7 +18,7 @@ else SRC_URI="https://astron.com/pub/file/${P}.tar.gz" SRC_URI+=" verify-sig? ( https://astron.com/pub/file/${P}.tar.gz.asc )" - 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 ~arm64-macos ~x64-macos ~x64-solaris" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-file )" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/file/file-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-9999.ebuild index 1caa03369f2..c80c7e578cd 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/file/file-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-9999.ebuild @@ -18,7 +18,7 @@ else SRC_URI="https://astron.com/pub/file/${P}.tar.gz" SRC_URI+=" verify-sig? ( https://astron.com/pub/file/${P}.tar.gz.asc )" - 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 ~arm64-macos ~x64-macos ~x64-solaris" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-file )" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/findutils/findutils-4.10.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/findutils/findutils-4.10.0.ebuild index 488600c1b46..c74b8101ef7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/findutils/findutils-4.10.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/findutils/findutils-4.10.0.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{11..13} ) VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/findutils.asc -inherit flag-o-matic python-any-r1 verify-sig +inherit branding flag-o-matic python-any-r1 verify-sig DESCRIPTION="GNU utilities for finding files" HOMEPAGE="https://www.gnu.org/software/findutils/" @@ -16,7 +16,7 @@ SRC_URI=" 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="nls selinux static test test-full" RESTRICT="!test? ( test )" @@ -64,9 +64,6 @@ src_configure() { fi local myeconfargs=( - --with-packager="Gentoo" - --with-packager-version="${PVR}" - --with-packager-bug-reports="https://bugs.gentoo.org/" $(use_enable nls) $(use_with selinux) --libexecdir='$(libdir)'/find diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.3.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.3.2.ebuild index 0b053c5b73f..9c6bc32f41c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.3.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.3.2.ebuild @@ -29,7 +29,7 @@ else SRC_URI="mirror://gnu/gawk/${P}.tar.xz" SRC_URI+=" verify-sig? ( mirror://gnu/gawk/${P}.tar.xz.sig )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-3+ pma? ( AGPL-3+ )" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gentoo-functions/gentoo-functions-0.19.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/gentoo-functions/gentoo-functions-0.19.ebuild index bc288701004..81061672a4c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gentoo-functions/gentoo-functions-0.19.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gentoo-functions/gentoo-functions-0.19.ebuild @@ -8,7 +8,7 @@ if [[ ${PV} == 9999* ]]; then EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoo-functions.git" else SRC_URI="https://gitweb.gentoo.org/proj/gentoo-functions.git/snapshot/${P}.tar.bz2" - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi inherit toolchain-funcs flag-o-matic diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gentoo-functions/gentoo-functions-1.7.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/gentoo-functions/gentoo-functions-1.7.4.ebuild index 6517d7f22a6..21f6dfb1a4b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gentoo-functions/gentoo-functions-1.7.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gentoo-functions/gentoo-functions-1.7.4.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]]; then EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoo-functions.git" else SRC_URI="https://gitweb.gentoo.org/proj/gentoo-functions.git/snapshot/${P}.tar.bz2" - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gentoo-functions/gentoo-functions-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/gentoo-functions/gentoo-functions-9999.ebuild index 320c82e6dfe..5aadee34e24 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gentoo-functions/gentoo-functions-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gentoo-functions/gentoo-functions-9999.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]]; then EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoo-functions.git" else SRC_URI="https://gitweb.gentoo.org/proj/gentoo-functions.git/snapshot/${P}.tar.bz2" - 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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.10-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.10-r1.ebuild index 5e5635f393c..35d3ac7f483 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.10-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.10-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}/${PV}/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86" IUSE="ncurses static" # libuuid from util-linux is required. diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.11-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.11-r1.ebuild index 4aebf8a0705..edfa8ac2715 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.11-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.11-r1.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == *_p* ]] ; then else SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-3+" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.12.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.12.ebuild index fd8ed5ee136..a8b266b2a35 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.12.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/grep.asc -inherit flag-o-matic verify-sig +inherit branding flag-o-matic verify-sig DESCRIPTION="GNU regular expression matcher" HOMEPAGE="https://www.gnu.org/software/grep/" @@ -20,7 +20,7 @@ if [[ ${PV} == *_p* ]] ; then else SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-3+" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/groff/groff-1.22.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/groff/groff-1.22.4.ebuild index 0c07fc061a2..00821a9b2ca 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/groff/groff-1.22.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/groff/groff-1.22.4.ebuild @@ -15,7 +15,7 @@ SRC_URI="mirror://gnu/groff/${MY_P}.tar.gz LICENSE="GPL-2" SLOT="0" [[ "${PV}" == *_rc* ]] || \ -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="examples uchardet X" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/groff/groff-1.23.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/groff/groff-1.23.0-r1.ebuild index 20116f97fcb..b15b9d89866 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/groff/groff-1.23.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/groff/groff-1.23.0-r1.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == *_rc* ]] ; then SRC_URI="https://alpha.gnu.org/gnu/groff/${MY_P}.tar.gz" else SRC_URI="mirror://gnu/groff/${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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi S="${WORKDIR}/${MY_P}" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/groff/groff-1.23.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/groff/groff-1.23.0.ebuild index cc4ee12d752..3a7cb6c323e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/groff/groff-1.23.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/groff/groff-1.23.0.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == *_rc* ]] ; then SRC_URI="https://alpha.gnu.org/gnu/groff/${MY_P}.tar.gz" else SRC_URI="mirror://gnu/groff/${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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi S="${WORKDIR}/${MY_P}" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/help2man/help2man-1.49.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/help2man/help2man-1.49.3.ebuild index b16ee4e4d37..3fe72340e18 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/help2man/help2man-1.49.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/help2man/help2man-1.49.3.ebuild @@ -10,7 +10,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" # nls/FSFAP for bindtextdomain.c LICENSE="GPL-3+ nls? ( FSFAP )" 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="nls" RDEPEND="dev-lang/perl diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.391.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.391.ebuild index 76a36430c9d..ed30a8507f5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.391.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.391.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/vcrhonek/hwdata/archive/refs/tags/v${PV}.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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" RESTRICT="test" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.398.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.398.ebuild index 76a36430c9d..ed30a8507f5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.398.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.398.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/vcrhonek/hwdata/archive/refs/tags/v${PV}.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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" RESTRICT="test" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.399.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.399.ebuild index 76a36430c9d..ed30a8507f5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.399.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.399.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/vcrhonek/hwdata/archive/refs/tags/v${PV}.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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" RESTRICT="test" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.400.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.400.ebuild index 76a36430c9d..ed30a8507f5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.400.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.400.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/vcrhonek/hwdata/archive/refs/tags/v${PV}.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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" RESTRICT="test" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/Manifest index c9032e6d405..f59ce558b32 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/Manifest @@ -1,3 +1,3 @@ -DIST iproute2-6.15.0.tar.xz 930908 BLAKE2B 50247f293e194601bd138418e55e2dc63421d2a5da863973e9ff78f2c76ba051350523559f2b7b7983af05a827f292135353adbf6c857ea32b7071f69940f73f SHA512 1a438941cd939e1c8e32cfe8c40e6fd826c89185f1bb0c623eaad7380a66afd9fa9e0d7cdc5e5b193d2761b7dbdc78fd0811537eecc500be633730c32ff55ad4 DIST iproute2-6.16.0.tar.xz 931124 BLAKE2B d1c66f4d63edd6fa2701c92dbc47f8c4388d6a660d541d528e3463e8e261fda64df4a7f8930f510718c71ee82438b5c4859f072eb08c8ff1e4d1d65223108005 SHA512 88930ea1a3a901594a69dc04e533bfd1de0f5b79f176dedb45f11f01035bd680edccc8e04e56d0922ee430580581c646473a3baa941254739878f7ab946f17df DIST iproute2-6.17.0.tar.xz 940952 BLAKE2B 49b88fd1eaea34376b086be02e72505ca62f52f3c53f3ee29cd273532521fabe8d38062277852dcc69f78b86b9460b213bbeedc9c51ce20d3bb1fd35d86b6fc8 SHA512 3d83d49233c1d984f15d285a46e2ec0eeb820c7cb84cfc84866921f37e8a57d31bc3953be07e8c79ed6079f326a25c3a85f591b0d67f9f689c0c70ccdb0fef77 +DIST iproute2-6.18.0.tar.xz 945200 BLAKE2B 03af6c56beb8717f1d2ce77d91db1293188a45ed6b491924c37a6d7956da1b92106198503fc27dc12301648c2c0c5358883ce0fff046fb53e6e8be004696d6fd SHA512 c4a0852fbf0143b51a65adb6a29cbc838ecaed88b827574ea33ddd2e3f90c00732eaea06ff702a7122d82f7e4d926282f9fbb59b87e41be7da04403c73258fc2 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.18.0-musl.patch b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.18.0-musl.patch new file mode 100644 index 00000000000..77dd1365616 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.18.0-musl.patch @@ -0,0 +1,41 @@ +From 6c1113633fde51b0e60f02243cfad1b3d09762cc Mon Sep 17 00:00:00 2001 +From: Akhilesh Nema +Date: Tue, 2 Dec 2025 18:11:24 -0800 +Subject: fix 'UINT_MAX' undeclared with build with musl libc + +- utils_math.c:136:20: error: 'UINT_MAX' undeclared (first use in this function) +- tc_core.c:51:22: error: 'UINT_MAX' undeclared (first use in this function) + +Signed-off-by: Akhilesh Nema +--- + lib/utils_math.c | 1 + + tc/tc_core.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/lib/utils_math.c b/lib/utils_math.c +index a7e747440..fd2ddc7c7 100644 +--- a/lib/utils_math.c ++++ b/lib/utils_math.c +@@ -4,6 +4,7 @@ + #include + #include + #include ++#include + #include + + #include "utils.h" +diff --git a/tc/tc_core.c b/tc/tc_core.c +index a422e02c8..b13b7d78a 100644 +--- a/tc/tc_core.c ++++ b/tc/tc_core.c +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +cgit 1.2.3-korg + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.18.0-netshaper.patch b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.18.0-netshaper.patch new file mode 100644 index 00000000000..79061b974fe --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.18.0-netshaper.patch @@ -0,0 +1,10 @@ +diff '--color=auto' -Naur iproute2-6.18.0/netshaper/Makefile iproute2-6.18.0-fix/netshaper/Makefile +--- iproute2-6.18.0/netshaper/Makefile 2025-12-01 19:47:16.000000000 +0300 ++++ iproute2-6.18.0-fix/netshaper/Makefile 2025-12-18 11:26:23.091330554 +0300 +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + NSOBJ = netshaper.o + TARGETS += netshaper diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.15.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.18.0.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.15.0.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.18.0.ebuild index c85303511b2..d88b96d6f12 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.15.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.18.0.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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="kernel routing and traffic control utilities" @@ -51,6 +51,8 @@ PATCHES=( "${FILESDIR}"/${PN}-6.9.0-mtu.patch # bug #291907 "${FILESDIR}"/${PN}-6.8.0-configure-nomagic-nolibbsd.patch # bug #643722 & #911727 "${FILESDIR}"/${PN}-6.8.0-disable-libbsd-fallback.patch # bug #911727 + "${FILESDIR}"/${PN}-6.18.0-netshaper.patch # bug #967691 + "${FILESDIR}"/${PN}-6.18.0-musl.patch # bug #967701 ) src_prepare() { @@ -88,6 +90,9 @@ src_configure() { tc-export AR CC PKG_CONFIG lto-guarantee-fat + tc-export_build_env + export CBUILD_CFLAGS=${BUILD_CFLAGS} + # This sure is ugly. Should probably move into toolchain-funcs at some point. local setns pushd "${T}" >/dev/null || die diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/kbd/files/kbd-2.9.0-install-no-attr.patch b/sdk_container/src/third_party/portage-stable/sys-apps/kbd/files/kbd-2.9.0-install-no-attr.patch new file mode 100644 index 00000000000..c3db405c28a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/kbd/files/kbd-2.9.0-install-no-attr.patch @@ -0,0 +1,55 @@ +https://github.com/legionus/kbd/commit/db82eb6f86e6c0b8ac4260e88b88d66e1cd7c077 + +From db82eb6f86e6c0b8ac4260e88b88d66e1cd7c077 Mon Sep 17 00:00:00 2001 +From: Alexey Gladkov +Date: Wed, 10 Sep 2025 10:45:25 +0200 +Subject: [PATCH] Preserve only necessary metadata during install + +"cp -a" tries to preserve all attributes if possible. This implies +preserving mode, any ACL, xattr permissions, and security context. + +In some cases (such as fakeroot), it is not possible to preserve that +all attributes are preserved. + + cp: failed to preserve ownership for /tmp/.pkgmk/pkg/usr/share/kbd/keymaps/i386/qwertz/sr-latin.map.gz: Operation not supported + +To avoid this, we will require that only the necessary attributes be +preserved. It is important for us to preserve the simlinks. + +Signed-off-by: Alexey Gladkov +--- + data/Makefile.am | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/data/Makefile.am b/data/Makefile.am +index a730062b..4d2ae3d1 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -44,21 +44,21 @@ endif + + install-consolefonts: $(SRC_FONTDIR) $(SRC_PARTIALDIR) + mkdir -p -m 755 -- $(DESTDIR)$(datadir)/$(FONTDIR) +- cp -a -- $(SRC_FONTDIR)/* $(DESTDIR)$(datadir)/$(FONTDIR)/ ++ cp -dPR -- $(SRC_FONTDIR)/* $(DESTDIR)$(datadir)/$(FONTDIR)/ + mkdir -p -m 755 -- $(DESTDIR)$(datadir)/$(FONTDIR)/$(PARTIALDIR) +- cp -a -- $(SRC_PARTIALDIR)/* $(DESTDIR)$(datadir)/$(FONTDIR)/$(PARTIALDIR)/ ++ cp -dPR -- $(SRC_PARTIALDIR)/* $(DESTDIR)$(datadir)/$(FONTDIR)/$(PARTIALDIR)/ + + install-consoletrans: + mkdir -p -m 755 -- $(DESTDIR)$(datadir)/$(TRANSDIR) +- cp -a -- $(srcdir)/$(TRANSDIR)/* $(DESTDIR)$(datadir)/$(TRANSDIR)/ ++ cp -dPR -- $(srcdir)/$(TRANSDIR)/* $(DESTDIR)$(datadir)/$(TRANSDIR)/ + + install-unimaps: + mkdir -p -m 755 -- $(DESTDIR)$(datadir)/$(UNIMAPDIR) +- cp -a -- $(srcdir)/$(UNIMAPDIR)/* $(DESTDIR)$(datadir)/$(UNIMAPDIR)/ ++ cp -dPR -- $(srcdir)/$(UNIMAPDIR)/* $(DESTDIR)$(datadir)/$(UNIMAPDIR)/ + + install-keymaps: $(SRC_KEYMAPDIR) + mkdir -p -m 755 -- $(DESTDIR)$(datadir)/$(KEYMAPDIR) +- cp -ar -- $(SRC_KEYMAPDIR)/* $(DESTDIR)$(datadir)/$(KEYMAPDIR)/ ++ cp -dPR -- $(SRC_KEYMAPDIR)/* $(DESTDIR)$(datadir)/$(KEYMAPDIR)/ + cd "$(DESTDIR)$(datadir)/$(KEYMAPDIR)"; \ + for f in $(IGNORE_KEYMAPS); do ! test -e "$$f" || rm -f -- "$$f"; done + rm -f $(DESTDIR)$(datadir)/$(KEYMAPDIR)/ppc + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/kbd/files/kbd-2.9.0-install-posix.patch b/sdk_container/src/third_party/portage-stable/sys-apps/kbd/files/kbd-2.9.0-install-posix.patch new file mode 100644 index 00000000000..73e125d5843 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/kbd/files/kbd-2.9.0-install-posix.patch @@ -0,0 +1,41 @@ +https://github.com/legionus/kbd/commit/51ee1d95fae950323b62d3f31b14dc1e0e436762 + +From 51ee1d95fae950323b62d3f31b14dc1e0e436762 Mon Sep 17 00:00:00 2001 +From: "Haelwenn (lanodan) Monnier" +Date: Fri, 31 Oct 2025 04:44:33 +0100 +Subject: [PATCH] data/Makefile.am: put `--` between end of option and mode + +POSIX comforming getopt(3) will stop parsing options at the mode argument +(provided it doesn't starts with a dash). +So prior to this change `--` would be taken as a file argument +because getopt(3) already stopped. + +Signed-off-by: Haelwenn (lanodan) Monnier +--- + data/Makefile.am | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/data/Makefile.am b/data/Makefile.am +index 4d2ae3d1..8cd3610a 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -22,15 +22,15 @@ V_PACK_1 = + + # compress data files - do not touch the distribution but copy first + $(SRC_KEYMAPDIR): $(KEYMAPDIR) +- $(V_PACK)cp -r -- "$<" "$@" && chmod -R u+w -- "$@" && \ ++ $(V_PACK)cp -r -- "$<" "$@" && chmod -R -- u+w "$@" && \ + $(srcdir)/compress.sh "$@"/*/*.map "$@"/*/*/*.map + + $(SRC_FONTDIR): $(FONTDIR) +- $(V_PACK)cp -r -- "$<" "$@" && chmod -R u+w -- "$@" && \ ++ $(V_PACK)cp -r -- "$<" "$@" && chmod -R -- u+w "$@" && \ + $(srcdir)/compress.sh "$@"/* + + $(SRC_PARTIALDIR): $(PARTIALDIR) +- $(V_PACK)cp -r -- "$<" "$@" && chmod -R u+w -- "$@" && \ ++ $(V_PACK)cp -r -- "$<" "$@" && chmod -R -- u+w "$@" && \ + $(srcdir)/compress.sh "$@"/* + + # (not yet screenmaps - some other time) + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/kbd/files/kbd-2.9.0-nullptr.patch b/sdk_container/src/third_party/portage-stable/sys-apps/kbd/files/kbd-2.9.0-nullptr.patch new file mode 100644 index 00000000000..cf10ac034da --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/kbd/files/kbd-2.9.0-nullptr.patch @@ -0,0 +1,45 @@ +https://github.com/legionus/kbd/commit/c5473634bbb653f0b61bd237d0e4bdfc9cfe3650 + +From c5473634bbb653f0b61bd237d0e4bdfc9cfe3650 Mon Sep 17 00:00:00 2001 +From: Bohai Li +Date: Wed, 19 Nov 2025 00:31:52 +0800 +Subject: [PATCH] Fix NULL reference in option parser + +If an option that needs an argument is given, but the argument is +actually missing, the optind will increase by 1 and return, and if +the option is the last option, a NULL reference occurs at +setfont.c:290. This bug is fixed by returning '!' instead of '?' to +main and process this condition separately. + +Signed-off-by: Bohai Li +--- + src/setfont.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/setfont.c b/src/setfont.c +index 18eb6386..dc336c18 100644 +--- a/src/setfont.c ++++ b/src/setfont.c +@@ -158,8 +158,8 @@ kbd_getopt(int argc, char **argv, const struct kbd_option *opts) + return '?'; + + required_argument: +- kbd_warning(0, "option '%s' requires an argument", name); +- return '?'; ++ optind--; ++ return '!'; + } + + int main(int argc, char *argv[]) +@@ -296,6 +296,10 @@ int main(int argc, char *argv[]) + kbd_error(EX_USAGE, 0, _("Too many input files.")); + ifiles[ifilct++] = argv[optind++]; + break; ++ case '!': ++ kbd_warning(0, "option '%s' requires an argument", argv[optind]); ++ usage(EX_USAGE, opthelp); ++ break; + } + } + + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/kbd/files/kbd-2.9.0-time64.patch b/sdk_container/src/third_party/portage-stable/sys-apps/kbd/files/kbd-2.9.0-time64.patch new file mode 100644 index 00000000000..6618e0deb5d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/kbd/files/kbd-2.9.0-time64.patch @@ -0,0 +1,54 @@ +https://github.com/legionus/kbd/commit/2f9a4e56c2ef245fbe840677aad9d5932e17f50d + +From 2f9a4e56c2ef245fbe840677aad9d5932e17f50d Mon Sep 17 00:00:00 2001 +From: Alexey Gladkov +Date: Mon, 8 Dec 2025 11:28:24 +0100 +Subject: [PATCH] libkbdfile: Fix problem with undeclared sym_gzopen +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +A compile error occurs on certain systems: + +kbdfile-zlib.c: In function 'dlopen_note': +elf-note.h:27:30: error: 'sym_gzopen' undeclared (first use in this function); did you mean 'sym_gzopen64'? + 27 | #define DLSYM_ARG(symbol__) &sym_##symbol__, STRINGIFY(symbol__), + +kbdfile-zlib.c: In function 'kbdfile_decompressor_zlib': kbdfile-zlib.c:61:15: error: implicit declaration of function 'sym_gzopen'; did you mean 'sym_gzopen64'? + [-Wimplicit-function-declaration] + 61 | gzf = sym_gzopen(file->pathname, "rb"); + +The problem arises because if -D_FILE_OFFSET_BITS=64 is specified, which +in zlib ultimately makes gzopen a macro that expands to gzopen64. +DECLARE_SYM(gzopen) from elf-note.h then expands gzopen to gzopen64, +resulting in sym_gzopen64 declared. That's why no sym_gzopen exists. + +Link: https://github.com/legionus/kbd/pull/150 +Suggested-by: Jan Čermák +Signed-off-by: Bernd Kuhls +Signed-off-by: Alexey Gladkov +--- + src/libkbdfile/elf-note.h | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/src/libkbdfile/elf-note.h b/src/libkbdfile/elf-note.h +index a0fd9e23..d3b8d5c9 100644 +--- a/src/libkbdfile/elf-note.h ++++ b/src/libkbdfile/elf-note.h +@@ -26,14 +26,11 @@ int dlsym_many(void **dlp, const char *filename, ...); + */ + #define DLSYM_ARG(symbol__) &sym_##symbol__, STRINGIFY(symbol__), + +-/* For symbols being dynamically loaded */ +-#define DECLARE_DLSYM(symbol) static typeof(symbol) *sym_##symbol +- + /* + * Helper defines, to be done locally before including this header to switch between + * implementations + */ +-#define DECLARE_SYM(sym__) DECLARE_DLSYM(sym__); ++#define DECLARE_SYM(sym__) static typeof(sym__) *sym_##sym__; + + /* + * Originally from systemd codebase. + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/kbd/files/kbd-2.9.0-uninit.patch b/sdk_container/src/third_party/portage-stable/sys-apps/kbd/files/kbd-2.9.0-uninit.patch new file mode 100644 index 00000000000..857c1c6ba24 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/kbd/files/kbd-2.9.0-uninit.patch @@ -0,0 +1,33 @@ +https://github.com/legionus/kbd/commit/7aa15f4c44b570a667b4911a2b6db0e6b9145da5 + +From 7aa15f4c44b570a667b4911a2b6db0e6b9145da5 Mon Sep 17 00:00:00 2001 +From: Tommy-Zhang3759 +Date: Sat, 6 Dec 2025 05:18:43 +1100 +Subject: [PATCH] setfont: Initialize data pointer when resetting font + +When resetting the font to default, the `data` field in the +`console_font_op` structure must be explicitly set to NULL. + +Previously, this field was left uninitialized. The kernel treats a +non-NULL `data` pointer as a pointer to a font name string. This caused +the ioctl to fail with -EFAULT (Bad address) because it attempted to +read from a garbage address. + +Signed-off-by: Yutao Zhang +--- + src/libkfont/kdfontop.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/libkfont/kdfontop.c b/src/libkfont/kdfontop.c +index 8f132ff5..4f1f0d2a 100644 +--- a/src/libkfont/kdfontop.c ++++ b/src/libkfont/kdfontop.c +@@ -46,6 +46,7 @@ kfont_restore_font(struct kfont_context *ctx, int fd) + return -1; + + cfo.op = KD_FONT_OP_SET_DEFAULT; ++ cfo.data = NULL; + + if (ioctl(fd, KDFONTOP, &cfo)) { + KFONT_ERR(ctx, "ioctl(KD_FONT_OP_SET_DEFAULT): %m"); + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/kbd/kbd-2.9.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/kbd/kbd-2.9.0-r1.ebuild new file mode 100644 index 00000000000..324771c58cb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/kbd/kbd-2.9.0-r1.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools multiprocessing + +if [[ ${PV} == 9999 ]] ; then + inherit autotools git-r3 + EGIT_REPO_URI="https://github.com/legionus/kbd.git https://git.kernel.org/pub/scm/linux/kernel/git/legion/kbd.git" + EGIT_BRANCH="master" +else + if [[ $(ver_cut 3) -lt 90 ]] ; then + SRC_URI="https://www.kernel.org/pub/linux/utils/kbd/${P}.tar.xz" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + else + inherit autotools + SRC_URI="https://github.com/legionus/kbd/archive/v${PV}.tar.gz -> ${P}.tar.gz" + fi +fi + +DESCRIPTION="Keyboard and console utilities" +HOMEPAGE="https://kbd-project.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="bzip2 lzma nls selinux pam test zlib zstd" +RESTRICT="!test? ( test )" + +DEPEND=" + app-alternatives/gzip + bzip2? ( app-arch/bzip2 ) + lzma? ( app-arch/xz-utils ) + pam? ( + !app-misc/vlock + sys-libs/pam + ) + zlib? ( virtual/zlib:= ) + zstd? ( app-arch/zstd:= ) +" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-loadkeys ) +" +BDEPEND=" + sys-devel/flex + virtual/pkgconfig + test? ( dev-libs/check ) +" + +PATCHES=( + "${FILESDIR}"/${P}-install-no-attr.patch + "${FILESDIR}"/${P}-install-posix.patch + "${FILESDIR}"/${P}-nullptr.patch + "${FILESDIR}"/${P}-uninit.patch + "${FILESDIR}"/${P}-time64.patch +) + +src_prepare() { + default + + # Rename conflicting keymaps to have unique names, bug #293228 + # See also https://github.com/legionus/kbd/issues/76. + pushd "${S}"/data/keymaps/i386 &> /dev/null || die + mv fgGIod/trf.map fgGIod/trf-fgGIod.map || die + mv olpc/es.map olpc/es-olpc.map || die + mv olpc/pt.map olpc/pt-olpc.map || die + mv qwerty/cz.map qwerty/cz-qwerty.map || die + popd &> /dev/null || die + + #if [[ ${PV} == 9999 ]] || [[ $(ver_cut 3) -ge 90 ]] ; then + # eautoreconf + #fi + + # Drop after 2.9.0 + eautoreconf +} + +src_configure() { + # https://github.com/legionus/kbd/issues/121 + unset LEX + + local myeconfargs=( + --disable-werror + # No Valgrind for the testsuite + --disable-memcheck + + $(use_enable nls) + $(use_enable pam vlock) + $(use_enable test tests) + $(use_with bzip2) + $(use_with lzma) + $(use_with zlib) + $(use_with zstd) + ) + + econf "${myeconfargs[@]}" +} + +src_test() { + emake -Onone check TESTSUITEFLAGS="--jobs=$(get_makeopts_jobs)" +} + +src_install() { + default + + # USE="test" installs .la files + find "${ED}" -type f -name "*.la" -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.32.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.32.ebuild index ef7bcd30f3f..17dfc7b6df2 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.32.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.32.ebuild @@ -11,7 +11,7 @@ if [[ ${PV} == "9999" ]] ; then else SRC_URI="https://www.kernel.org/pub/linux/utils/kernel/kexec/${P/_/-}.tar.xz" [[ "${PV}" == *_rc* ]] || \ - KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + KEYWORDS="amd64 arm64 ~ppc64 x86" fi DESCRIPTION="Load another kernel from the currently executing Linux kernel" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/keyutils/files/keyutils-1.6.3-EDQUOT-tests.patch b/sdk_container/src/third_party/portage-stable/sys-apps/keyutils/files/keyutils-1.6.3-EDQUOT-tests.patch new file mode 100644 index 00000000000..abaed8b79f0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/keyutils/files/keyutils-1.6.3-EDQUOT-tests.patch @@ -0,0 +1,58 @@ +https://lore.kernel.org/keyrings/20250810224041.3025756-1-mattst88@gmail.com/ +https://bugs.gentoo.org/789837#c9 +https://bugs.gentoo.org/938132 + +From: Matt Turner +To: David Howells +Cc: keyrings@vger.kernel.org, + Matt Turner +Subject: [PATCH] test: Handle EDQUOT in act_keyctl_test_limits +Date: Sun, 10 Aug 2025 18:40:41 -0400 +Message-ID: <20250810224041.3025756-1-mattst88@gmail.com> +X-Mailer: git-send-email 2.49.1 +Precedence: bulk +X-Mailing-List: keyrings@vger.kernel.org +List-Id: +List-Subscribe: +List-Unsubscribe: +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit + +This matches the behavior in `act_keyctl_test_limits2` and avoids a test +failure [1] on some platforms: + +``` +TEST SIZE 192._._._._._._ +197 desc wrong error: Disk quota exceeded +._ +198 desc wrong error: Disk quota exceeded +._ +199 desc wrong error: Disk quota exceeded +._ +200 desc wrong error: Disk quota exceeded +``` + +[1] https://bugs.gentoo.org/789837#c9 + +Signed-off-by: Matt Turner +--- + keyctl_testing.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git ./keyctl_testing.c ./keyctl_testing.c +index 3161467..588fa83 100644 +--- ./keyctl_testing.c ++++ ./keyctl_testing.c +@@ -126,6 +126,10 @@ static void act_keyctl_test_limits(int argc, char *argv[]) + fprintf(stderr, "%d desc failed: %m\n", i); + nr_fail++; + } ++ } else if (errno == EDQUOT) { ++ /* This might happen due to us creating keys ++ * really fast. ++ */ + } else { + putchar('\n'); + fprintf(stderr, "%d desc wrong error: %m\n", i); +-- +2.49.1 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/keyutils/keyutils-1.6.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/keyutils/keyutils-1.6.3-r1.ebuild index 75bb89c4c0d..6990abd1f2a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/keyutils/keyutils-1.6.3-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/keyutils/keyutils-1.6.3-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/s LICENSE="GPL-2 LGPL-2.1" SLOT="0/1.9" -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" IUSE="static static-libs test" RESTRICT="!test? ( test )" @@ -25,6 +25,7 @@ PATCHES=( "${FILESDIR}"/${PN}-1.6.3-fix-rpmspec-check.patch "${FILESDIR}"/${PN}-1.6.3-symbols.patch "${FILESDIR}"/${P}-tests.patch + "${FILESDIR}"/${PN}-1.6.3-EDQUOT-tests.patch ) pkg_setup() { diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-643-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-643-r2.ebuild index d2d30e2ec1d..36db404f59e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-643-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-643-r2.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 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-668.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-668.ebuild index e43b4a392dd..9c784a78b34 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-668.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-668.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 ~arm64-macos ~x64-macos ~x64-solaris" fi fi 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 index d72b68345dc..58676c76667 100644 --- 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 @@ -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 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-685.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-685.ebuild index 3bb58506d52..b59ff65a4e3 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-685.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-685.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 ~arm64-macos ~x64-macos ~x64-solaris" fi 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 e56db4c2fe2..d724f788a79 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 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/locale-gen/files/3.9-avoid-chcon-execution-if-missing.patch b/sdk_container/src/third_party/portage-stable/sys-apps/locale-gen/files/3.9-avoid-chcon-execution-if-missing.patch new file mode 100644 index 00000000000..10426db8a28 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/locale-gen/files/3.9-avoid-chcon-execution-if-missing.patch @@ -0,0 +1,43 @@ +From ae0a37058a89a9ce9a99562931777f0636108c50 Mon Sep 17 00:00:00 2001 +From: Kerin Millar +Date: Sun, 4 Jan 2026 04:49:31 +0000 +Subject: [PATCH] Refrain from trying to execute chcon(1), if missing + +As of coreutils 9.9, the --with-selinux option is required for the +chcon(1) utility to be installed. Consider a scenario in which a Gentoo +Linux installation is being performed from an SELinux-enabled operating +environment. In that case, locale-gen(8) will detect that security +labels are supported and attempt to execute the chcon(1) utility. Given +that there is no longer any guarantee of the utility being available, +locale-gen(8) may raise the following error. + +sh: line 1: chcon: command not found +locale-gen: Aborting because the execution of 'chcon' was unsuccessful + +Address this issue by requiring for "chcon" to exist as an executable in +PATH as an additional condition for its execution, as is already the +case for "restorecon". + +Closes: https://bugs.gentoo.org/968318 +Link: https://cgit.git.savannah.gnu.org/cgit/coreutils.git/commit/?id=8ba47d09a33f0740e071a8394f3504e0fb57948e +Signed-off-by: Kerin Millar +--- + locale-gen | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/locale-gen b/locale-gen +index a65b99a..d39519f 100644 +--- a/locale-gen ++++ b/locale-gen +@@ -573,7 +573,7 @@ sub install_archive ($src_path, $dst_path, $may_reset_labels) { + run('mv', '--', $src_path, $interim_path); + + # If a prior archive exists, attempt to preserve its SELinux label. +- if ($has_seclabels && $has_archive) { ++ if ($has_seclabels && $has_archive && can_run('chcon')) { + copy_security_context($dst_path, $interim_path); + } + +-- +2.52.0 + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/locale-gen/locale-gen-3.9-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/locale-gen/locale-gen-3.9-r2.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/sys-apps/locale-gen/locale-gen-3.9-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/locale-gen/locale-gen-3.9-r2.ebuild index 10e42892fd9..7a3415080e3 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/locale-gen/locale-gen-3.9-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/locale-gen/locale-gen-3.9-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 2023-2025 Gentoo Authors +# Copyright 2023-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -32,6 +32,7 @@ src_prepare() { local -x MY_EPREFIX=${EPREFIX} eapply "${FILESDIR}/${PV}-suppress-bash-setlocale-warnings.patch" + eapply "${FILESDIR}/${PV}-avoid-chcon-execution-if-missing.patch" eapply_user perl -pi -e '$f //= ($. == 1 && s/^#!\h*\K/$ENV{MY_EPREFIX}/); END { exit !$f }' "${PN}" \ diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/lsb-release/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/lsb-release/Manifest index 8bae0ae91bd..beb8591d6eb 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/lsb-release/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/lsb-release/Manifest @@ -1,3 +1 @@ -DIST lsb-release-1.4.tar.gz 10769 BLAKE2B d6c71d6604481a637f63fae00742ba77421345b36234fcfcae1da98bc1c80a8450bc569c2ea2f4b1c3a852de2fe24413fe397d4a60a0ca94eb70a9626871f4bb SHA512 84f6f8794380463587005043f601b7a40190cd9e3409abff7f5ce7658cf029a14346eff87838296d90307192bdeff68cc00480c5c04814da7acdb3e220640fde -DIST lsb-release-3.2.tar.gz 16246 BLAKE2B f790b52c403ff42ec1bf787100c6c9715b7bebf3feb1772a6c4caee40b09c121ba7522553d145c478c752b196109747e31b2d8c14764c67c4a7e57fbae06348d SHA512 5ccc2f38c3603b8261310d5f30d8304a95bd6c24fbbf00484609078839a68894b2ba761a7465fc3c22f55dd69d67612d3cc4cb453765e3eea6b9af96834d85fd DIST lsb-release-3.3.tar.gz 16364 BLAKE2B 91b53df571ebebae67ea2fc5f1f31a11a42166d4a584f5a236cee2a108e965d02b676c7be175239b616e42bc454bcff86485896191522ce5d0c7744f7178a636 SHA512 123291295000d4ce827c692a9ab5ebe300a61cb1dabf9af8bfffdd5f20363159e61a98670aac37ae087aa3639b4ec7dfdb5528aa8c3520f43225e9eae50270db diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/lsb-release/files/lsb-release-1.4-os-release.patch b/sdk_container/src/third_party/portage-stable/sys-apps/lsb-release/files/lsb-release-1.4-os-release.patch deleted file mode 100644 index 830726074c7..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/lsb-release/files/lsb-release-1.4-os-release.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/lsb_release -+++ b/lsb_release -@@ -250,6 +250,7 @@ - CHECKFIRST=$(find $INFO_ROOT/ -maxdepth 1 \ - -name \*$INFO_DISTRIB_SUFFIX \ - -and ! -name $INFO_LSB_FILE \ -+ -and ! -name os-release \ - -and -type f \ - 2>/dev/null \ - | head -1 ) # keep one of the files found (if many) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/lsb-release/lsb-release-1.4-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/lsb-release/lsb-release-1.4-r4.ebuild deleted file mode 100644 index 23951c0b8c7..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/lsb-release/lsb-release-1.4-r4.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit prefix - -DESCRIPTION="LSB version query program" -HOMEPAGE="https://wiki.linuxfoundation.org/lsb/" -SRC_URI="https://downloads.sourceforge.net/lsb/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" - -# Perl isn't needed at runtime, it is just used to generate the man page. -BDEPEND="dev-lang/perl" - -PATCHES=( - "${FILESDIR}"/${P}-os-release.patch # bug 443116 -) - -src_prepare() { - default - - # use POSIX 'printf' instead of bash 'echo -e', bug #482370 - sed -i \ - -e "s:echo -e:printf '%b\\\n':g" \ - -e 's:--long:-l:g' \ - lsb_release || die - - hprefixify lsb_release -} - -src_install() { - emake \ - prefix="${ED}/usr" \ - mandir="${ED}/usr/share/man" \ - install - - # installs gz compressed manpage, https://bugs.gentoo.org/729140 - rm "${ED}/usr/share/man/man1/lsb_release.1.gz" || die - gunzip lsb_release.1.gz - doman lsb_release.1 - - dodir /etc - cat > "${ED}/etc/lsb-release" <<- EOF || die - DISTRIB_ID="Gentoo" - EOF -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/lsb-release/lsb-release-3.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/lsb-release/lsb-release-3.2.ebuild deleted file mode 100644 index 1dda04ad9a3..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/lsb-release/lsb-release-3.2.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 - -inherit prefix - -DESCRIPTION="LSB version query program" -HOMEPAGE="https://wiki.linuxfoundation.org/lsb/" -# https://downloads.sourceforge.net/lsb/${P}.tar.gz -SRC_URI="https://github.com/thkukuk/lsb-release_os-release/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}"/${PN}_os-release-${PV} - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" - -# Perl isn't needed at runtime, it is just used to generate the man page. -BDEPEND="dev-lang/perl" - -src_prepare() { - default - - # Use POSIX 'printf' instead of bash 'echo -e', bug #482370 - sed -i \ - -e "s:echo -e:printf '%b\\\n':g" \ - -e 's:--long:-l:g' \ - lsb_release || die - - # TODO: unbundle help2man? - hprefixify lsb_release help2man -} - -src_install() { - emake prefix="${ED}"/usr install - - dodir /etc - cat > "${ED}"/etc/lsb-release <<- EOF || die - DISTRIB_ID="Gentoo" - EOF -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/lsb-release/lsb-release-3.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/lsb-release/lsb-release-3.3.ebuild index 8ca777f5dc1..f7ba34253f4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/lsb-release/lsb-release-3.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/lsb-release/lsb-release-3.3.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit prefix +inherit branding prefix DESCRIPTION="LSB version query program" HOMEPAGE="https://wiki.linuxfoundation.org/lsb/" @@ -34,6 +34,6 @@ src_install() { insinto /etc newins - lsb-release <<-EOF - DISTRIB_ID="Gentoo" + DISTRIB_ID="${BRANDING_OS_NAME// }" EOF } diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/lshw/lshw-02.19.2b_p20220831-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/lshw/lshw-02.19.2b_p20220831-r1.ebuild index 02da22d04a5..3dd525e0b5c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/lshw/lshw-02.19.2b_p20220831-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/lshw/lshw-02.19.2b_p20220831-r1.ebuild @@ -16,7 +16,7 @@ SRC_URI="https://ezix.org/src/pkg/lshw/archive/${MY_COMMIT}.tar.gz -> ${P}-${MY_ LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~sparc x86" IUSE="gtk sqlite static" REQUIRED_USE="static? ( !gtk !sqlite )" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/lshw/lshw-02.20.2b-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/lshw/lshw-02.20.2b-r1.ebuild index 74dace327c5..a1f16dbca73 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/lshw/lshw-02.20.2b-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/lshw/lshw-02.20.2b-r1.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}/${PN}-${MY_PV}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~sparc x86" IUSE="gtk sqlite static" REQUIRED_USE="static? ( !gtk !sqlite )" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-2.13.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-2.13.0.ebuild index 2f150a6c6af..9bf80f8a2fe 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-2.13.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-2.13.0.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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-3" 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 2f150a6c6af..9bf80f8a2fe 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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-3" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-9999.ebuild index 2808d7cca7c..005497dcb4b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-9999.ebuild @@ -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 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-3" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.05.01.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.05.01.ebuild index 209c9b250b7..c338b04f970 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.05.01.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.05.01.ebuild @@ -40,7 +40,7 @@ else " fi - 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 ~arm64-macos" fi SRC_URI+=" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.06.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.06.ebuild index d5ec4b906fd..d12c33c6ad2 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.06.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.06.ebuild @@ -50,7 +50,7 @@ else BDEPEND="verify-sig? ( sec-keys/openpgp-keys-alejandro-colomar )" fi - 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 ~arm64-macos" fi SRC_URI+=" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.10.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.10.ebuild index 557b0753e76..3e45cc7f040 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.10.ebuild @@ -52,7 +52,7 @@ else BDEPEND="verify-sig? ( sec-keys/openpgp-keys-alejandro-colomar )" fi - 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 ~arm64-macos" fi SRC_URI+=" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-9999.ebuild index 2e025b4606b..386b9fcace6 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-9999.ebuild @@ -52,7 +52,7 @@ else BDEPEND="verify-sig? ( sec-keys/openpgp-keys-alejandro-colomar )" fi - 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 ~arm64-macos" fi SRC_URI+=" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/miscfiles/miscfiles-1.5-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/miscfiles/miscfiles-1.5-r4.ebuild index 9e8b4123944..d2b0bdb0ace 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/miscfiles/miscfiles-1.5-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/miscfiles/miscfiles-1.5-r4.ebuild @@ -12,7 +12,7 @@ SRC_URI="mirror://gnu/miscfiles/${P}.tar.gz LICENSE="GPL-2 unicode" 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 ~x64-macos" IUSE="minimal" src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/net-tools/net-tools-2.10.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/net-tools/net-tools-2.10.ebuild index 389c9a23bc1..9f2752c51de 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/net-tools/net-tools-2.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/net-tools/net-tools-2.10.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == "9999" ]] ; then inherit git-r3 else SRC_URI="https://downloads.sourceforge.net/${PN}/${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" fi DESCRIPTION="Standard Linux networking tools" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/net-tools/net-tools-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/net-tools/net-tools-9999.ebuild index 58cf67b621a..f16c8d762af 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/net-tools/net-tools-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/net-tools/net-tools-9999.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == "9999" ]] ; then inherit git-r3 else SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi DESCRIPTION="Standard Linux networking tools" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/nvme-cli-2.16.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/nvme-cli-2.16.ebuild index a4dc43b8dee..6223a6ecf68 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/nvme-cli-2.16.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/nvme-cli-2.16.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/linux-nvme/nvme-cli/archive/v${PV}.tar.gz -> ${P}.gh LICENSE="GPL-2 GPL-2+" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv ~sparc x86" IUSE="+json pdc" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pciutils/pciutils-3.13.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pciutils/pciutils-3.13.0.ebuild index fc537466f53..56ac9874694 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pciutils/pciutils-3.13.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pciutils/pciutils-3.13.0.ebuild @@ -11,7 +11,7 @@ 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="dns +kmod static-libs +udev zlib" REQUIRED_USE="static-libs? ( !udev )" 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 index fc537466f53..56ac9874694 100644 --- 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 @@ -11,7 +11,7 @@ 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="dns +kmod static-libs +udev zlib" REQUIRED_USE="static-libs? ( !udev )" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/Manifest index 166ec0a278a..e02fe605c08 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/Manifest @@ -1,2 +1,2 @@ -DIST pcsc-lite-2.3.1.tar.xz 209724 BLAKE2B aafcecf34a284145eecd5e3e1c9cb6bf1d4a3f9e7dad82983cee72ecbb8682480c06bb1fe025e176ca8d34f8a50ed325d41f14217ee7cd8a96b5848398c89624 SHA512 ec70ab3cf338299b3a493344c176b73450631da208714f3ac0fb4d6aa942fdc7487467b971246407fc4f1815fe5e48a0f29dcc109fb5fef838fbce7a2207d87b DIST pcsc-lite-2.3.3.tar.xz 210592 BLAKE2B 939689bde24e53d8ed1b3146c4d379192eb7c7ceb1758b66e05c1264a983e3839cacb59b69f8a852e5fc05912c3da3cc911df9ebd360fbde3f0eb88e5a52341a SHA512 96a62364eb0221828a5e3f65d500f8b83acc27cdc0c40fad2b0f807b399c1a465524421175bd7c05fa4ece152f9afe7f8b60c57ee20fa948af7d8899543a2d12 +DIST pcsc-lite-2.4.0.tar.xz 211940 BLAKE2B 2211cf0cfde8006ece93e0704b2ffbeaeea827b43eaaabfb2abb1061b76d18b407779d509f2de07784a35ae6ca254c107339c51a1d10b17ae346c387900345b3 SHA512 5b662f3902fc352cdf83b0f819fa955781cc755a977bf78a97c86178ba6c66d9c7c489af9ccaf8e534255951c12e88e80f6684af4aed3f0dcd97bba23eec5cd3 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/files/pcsc-lite-2.4.0-change-setup-spy-script-location.patch b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/files/pcsc-lite-2.4.0-change-setup-spy-script-location.patch new file mode 100644 index 00000000000..8c56b6f859a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/files/pcsc-lite-2.4.0-change-setup-spy-script-location.patch @@ -0,0 +1,13 @@ +diff --git a/meson.build b/meson.build +index 4d4d2bf..b92beb4 100644 +--- a/meson.build ++++ b/meson.build +@@ -207,7 +207,7 @@ if get_option('default_library') != 'static' + install_dir : get_option('bindir')) + + install_data('src/spy/setup_spy.sh', +- install_dir : 'share/doc/pcsc-lite') ++ install_dir : get_option('datadir') / 'doc' / meson.project_name()+'-'+meson.project_version()) + + run_command('pod2man', + ['--date=2024-01-01', 'src/spy/pcsc-spy.pod', 'pcsc-spy.1'], diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/files/pcsc-lite-2.4.0-systemd-fixes.patch b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/files/pcsc-lite-2.4.0-systemd-fixes.patch new file mode 100644 index 00000000000..0d8332cfc41 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/files/pcsc-lite-2.4.0-systemd-fixes.patch @@ -0,0 +1,97 @@ +https://github.com/LudovicRousseau/PCSC/commit/504e3ba2d81d801fee45b97fbe9e7a5b0d0c24cd +https://github.com/LudovicRousseau/PCSC/commit/448dbe2aa10780775d361ad38b0dd3cd18530bec + +From 504e3ba2d81d801fee45b97fbe9e7a5b0d0c24cd Mon Sep 17 00:00:00 2001 +From: Stephan Guilloux +Date: Fri, 5 Dec 2025 16:33:29 +0100 +Subject: [PATCH] systemd Fails to parse boolean value. + +My host is installed with a Rocky Linux 9.x +It should be the same with other distros. + +When PCSC is started, I can observe the following in /var/log/messages: +``` +... +Dec 05 16:22:43 Host-9A38CE systemd[1]: /usr/lib/systemd/system/pcscd.service:32: Failed to parse boolean value, ignoring: identity + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +... +``` + +This comes from the following line, in pcscd.service: +``` +RuntimeDirectoryPreserve=true +``` + +When `true` is replaced by `yes`, the error is no more seen. +By the way, the rest of pcscd.service is already using `yes`. +--- + etc/pcscd.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/etc/pcscd.service.in b/etc/pcscd.service.in +index 14ab8442..874a03dc 100644 +--- a/etc/pcscd.service.in ++++ b/etc/pcscd.service.in +@@ -10,7 +10,7 @@ ExecReload=@sbindir_exp@/pcscd --hotplug + EnvironmentFile=-@sysconfdir@/default/pcscd + User=pcscd + RuntimeDirectory=pcscd +-RuntimeDirectoryPreserve=true ++RuntimeDirectoryPreserve=yes + PIDFile=@ipcdir@/pcscd.pid + + # Paths + +From 448dbe2aa10780775d361ad38b0dd3cd18530bec Mon Sep 17 00:00:00 2001 +From: Ludovic Rousseau +Date: Wed, 10 Dec 2025 15:55:29 +0100 +Subject: [PATCH] meson: install systemd files even if libsystemd is not used + +--- + meson.build | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +diff --git a/meson.build b/meson.build +index 4d4d2bf9..1b2926f4 100644 +--- a/meson.build ++++ b/meson.build +@@ -127,11 +127,19 @@ if get_option('polkit') + features += 'polkit' + endif + ++systemdunit = get_option('systemdunit') + if get_option('libsystemd') + systemd_dep = dependency('libsystemd') + pcscd_dep += systemd_dep + conf_data.set('USE_LIBSYSTEMD', true) + features += 'systemd' ++ ++ systemd = dependency('systemd') ++ systemdsystemunitdir = systemd.get_variable(pkgconfig : 'systemd' + systemdunit + 'unitdir') ++ sysusersdir = systemd.get_variable(pkgconfig : 'sysusersdir') ++else ++ systemdsystemunitdir = get_option('prefix') / 'lib' / 'systemd' / systemdunit ++ sysusersdir = get_option('prefix') / 'sysusers.d' + endif + + # architecture +@@ -291,11 +299,6 @@ configure_file(output : 'pcsclite.h', + configure_file(output : 'pcscd.h', + input : 'src/pcscd.h.in', + configuration : confgen_data) +-if get_option('libsystemd') +- systemd = dependency('systemd') +- unit = get_option('systemdunit') +- systemdsystemunitdir = systemd.get_variable(pkgconfig : 'systemd' + unit + 'unitdir') +- sysusersdir = systemd.get_variable(pkgconfig : 'sysusersdir') + configure_file(output : 'pcscd.socket', + input : 'etc/pcscd.socket.in', + install_dir : systemdsystemunitdir, +@@ -306,7 +309,6 @@ configure_file(output : 'pcscd.service', + configuration : confgen_data) + install_data('etc/pcscd-sysusers.conf', + install_dir : sysusersdir) +-endif + configure_file(output : 'pcscd.8', + input : 'doc/pcscd.8.in', + install_dir : join_paths(get_option('mandir'), 'man8'), diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/files/pcsc-lite-2.4.0-systemd-sysusers-fixup.patch b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/files/pcsc-lite-2.4.0-systemd-sysusers-fixup.patch new file mode 100644 index 00000000000..0504123d89e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/files/pcsc-lite-2.4.0-systemd-sysusers-fixup.patch @@ -0,0 +1,11 @@ +--- a/meson.build ++++ b/meson.build +@@ -139,7 +139,7 @@ if get_option('libsystemd') + sysusersdir = systemd.get_variable(pkgconfig : 'sysusersdir') + else + systemdsystemunitdir = get_option('prefix') / 'lib' / 'systemd' / systemdunit +- sysusersdir = get_option('prefix') / 'sysusers.d' ++ sysusersdir = get_option('prefix') / 'lib' / 'sysusers.d' + endif + + # architecture diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.3.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.3.3.ebuild index daa668d9549..e06a0399a2a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.3.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.3.3.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://pcsclite.apdu.fr/files/${P}.tar.xz" # upstream. LICENSE="BSD GPL-3+ BSD-2 ISC GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" # This is called libusb so that it doesn't fool people in thinking that # it is _required_ for USB support. Otherwise they'll disable udev and # that's going to be worse. diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.3.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.4.0-r1.ebuild similarity index 86% rename from sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.3.1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.4.0-r1.ebuild index daa668d9549..bc378d25eb5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.3.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.4.0-r1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..13} ) inherit meson-multilib python-single-r1 tmpfiles udev @@ -15,7 +15,7 @@ SRC_URI="https://pcsclite.apdu.fr/files/${P}.tar.xz" # upstream. LICENSE="BSD GPL-3+ BSD-2 ISC GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" # This is called libusb so that it doesn't fool people in thinking that # it is _required_ for USB support. Otherwise they'll disable udev and # that's going to be worse. @@ -31,17 +31,21 @@ DEPEND=" acct-group/openct acct-group/pcscd acct-user/pcscd - ${PYTHON_DEPS}" -RDEPEND="${DEPEND} - selinux? ( sec-policy/selinux-pcscd )" + ${PYTHON_DEPS} +" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-pcscd ) +" BDEPEND=" app-alternatives/lex - virtual/pkgconfig" + virtual/pkgconfig +" PATCHES=( - "${FILESDIR}"/${PN}-1.8.11-polkit-pcscd.patch - "${FILESDIR}"/${PN}-1.9.8-systemd-user.patch - "${FILESDIR}"/${PN}-2.2.3-change-setup-spy-script-location.patch + "${FILESDIR}"/${PN}-2.4.0-change-setup-spy-script-location.patch + "${FILESDIR}"/${PN}-2.4.0-systemd-fixes.patch + "${FILESDIR}"/${PN}-2.4.0-systemd-sysusers-fixup.patch ) multilib_src_configure() { diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/Manifest index 205d6daa2ea..5bd7ff803ba 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/Manifest @@ -1,2 +1,2 @@ -DIST pkgcore-0.12.29.tar.gz 642382 BLAKE2B c080cb63db3163c9581eb9ae047dcf00212664234767e6e581664167d3e98c74ccee8abb78b2e4d268634443a3c6e6e583568080a1631b6d8ca3a567d047aa83 SHA512 a72ce837add96f2e6fc2f6612dff5e9a7b6bd9c18c382b46584754a0d87b6e582760028cb9538515e4b7177d0130a879b3e88f36c4d55dd19fd873438865b60b DIST pkgcore-0.12.30.tar.gz 647478 BLAKE2B 9fb76d0fed926a701326c58e096e039348e43ed3b594365207cb3410a6fcda287630452dfb9699af5230d6cd757dc5a1cdbd0802bef0d23646af19390f039f1a SHA512 09bf25c13835e4afa3f3839a8b1a043ed4284a760f5fb8c2313f618340c45a6992d29415595b4d63e6e3db21afc5fbf9368aadc801091b2ba35bf21c823fa630 +DIST pkgcore-0.12.32.tar.gz 585834 BLAKE2B 005864930c21604097ba6b663753e8827fad7d956017d55f41f1861b4bf8b2ea7abae557ae5af69b20af756638924325a91916939d05b49967c8e82544b52296 SHA512 7342790d29652e98efd6bd0925450a5355ba4716489ab6d5452574519586dccc57898313802e7da09e8f914f8e29e1b6e872664185072ef71b96aec884dea71b 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-r1.ebuild similarity index 87% rename from sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.30.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.30-r1.ebuild index 5b82bb85e1e..eb767c44b2b 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-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -25,7 +25,8 @@ SLOT="0" if [[ ${PV} == *9999 ]]; then COMMON_DEPEND="~dev-python/snakeoil-9999[${PYTHON_USEDEP}]" else - COMMON_DEPEND=">=dev-python/snakeoil-0.10.11[${PYTHON_USEDEP}]" + COMMON_DEPEND=">=dev-python/snakeoil-0.10.11[${PYTHON_USEDEP}] + =app-shells/bash-5.3[readline] dev-python/lxml[${PYTHON_USEDEP}] " -BDEPEND=" - ${COMMON_DEPEND} +BDEPEND="${RDEPEND} >=dev-python/flit-core-3.8[${PYTHON_USEDEP}] test? ( dev-vcs/git diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-9999.ebuild index 915105f6e04..b166d488946 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -23,18 +23,16 @@ LICENSE="BSD MIT" SLOT="0" if [[ ${PV} == *9999 ]]; then - COMMON_DEPEND="~dev-python/snakeoil-9999[${PYTHON_USEDEP}]" + RDEPEND="~dev-python/snakeoil-9999[${PYTHON_USEDEP}]" else - COMMON_DEPEND=">=dev-python/snakeoil-0.10.11[${PYTHON_USEDEP}]" + RDEPEND=">=dev-python/snakeoil-0.11.0[${PYTHON_USEDEP}]" fi -RDEPEND=" - ${COMMON_DEPEND} - >=app-shells/bash-5.2[readline] +RDEPEND+=" + >=app-shells/bash-5.3[readline] dev-python/lxml[${PYTHON_USEDEP}] " -BDEPEND=" - ${COMMON_DEPEND} +BDEPEND="${RDEPEND} >=dev-python/flit-core-3.8[${PYTHON_USEDEP}] test? ( dev-vcs/git diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest index c9e1dc07190..9bcee6444ab 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest @@ -1,6 +1,5 @@ -DIST portage-3.0.67.tar.bz2 1196776 BLAKE2B 4a9056d388b012a0fa343d6fc50c9c3b455cb3a4d356210accf86c4ff4434a2d8cb4d23c3f58f3e23ab8bb4a4e9ee244bd1ec1203d5f72fa6f0e0a2caa92e757 SHA512 e725a471dcadaac771aa7f910524232e237efbb944d3e175825ad659b5190d631a91d4c188089c278a79b4709d4a8d6a6e53c55524c4b1c8d1c43580506e0d1c -DIST portage-3.0.68.tar.bz2 1198758 BLAKE2B fbe3a14babbe5687d075c7e691027d04e7a34a35c3199c981e176bae365242e1dc7d4122f2d7a385444798b9413c415ca40801825a9dd9c99c3590efca8087e6 SHA512 4ed6d0945ad94ee19260996dd2ba9fa5e013560a50de887eb7e8df87a3649552316cbc62ee8ef9b4a025d9d98fb74e85ee7734b7a8fe7416450b8d6818fdcfab DIST portage-3.0.69.3.tar.bz2 1207066 BLAKE2B 81786a02052cc8dac2e0dc1875c3e1dba37e84e32ad6620cddb5b4a2595ae4c924b9c222cfced9dbc0c7efdcac2efb2459f5b16cfa9d5df226aef7e27041e03b SHA512 7a71e98c6a2b76dfe6e38b96d34107e5fd26193b3116cc585ecb333129dc6995bde1db0fd7435435e737cd81b019b76e104b1e02b0dda93efd22f37b7defebe0 -DIST portage-3.0.70.tar.bz2 1208010 BLAKE2B f927de1c536cdae2a63061e124d95919d08a8f0bce06d91290750caa0be5d8bf04314240e6e2a38968f4c6adb33e85a9716c314e806c3f2b7ac197763dae225c SHA512 182e6d4651487d6320ca767c0177b323e98a0a464d10e3b4ef13e10eea16006f5303cb2289144a9f076741a759ba7de648950e4be1d0d266ca9995fa2a36af1b -DIST portage-3.0.71.tar.bz2 1208040 BLAKE2B 65a163171f8ceda60eb88f81255d8452eb2d974bc3cb1230561e65e53cbc5fbc53e978096d3073cb0ddfd0e1670fdbc78af48626b04a9c26d77e610c1d20f135 SHA512 6a23cc7e90fc6912d8115755654cf1fe2a4dd4cb3f58901c8ab98189d21a75e372b712c299e3389fb3e684ac7b332f39be716cfdc208ba30101f19220f2be7b2 DIST portage-3.0.72.tar.bz2 1211406 BLAKE2B ccf702bc56bab905d6ec9b99175bb86be95709761d370afeeb8edf9aa563869d8d8c98256224a054697a996a7b97dc9a3dfc8e993760aeec13a0ac4705dc78c5 SHA512 c58f5216b3587e1cfcf1998e719f847e1ba1938b7aeb4fcd9fb4e22e1cba68a9e3b98125c1c1386fc03954fc90559d2647a3a00ae2ab4b74692ee6a1d81eea66 +DIST portage-3.0.73.tar.bz2 1214430 BLAKE2B 2ef6a6e559570dc99b277874e52664d8f8b5be41882cee63e95f8bdf85d81ba9100c565b309144e6077d80d255a40904340af395b9cb3d1134e9c80a4420737d SHA512 e2f38ab22f1470ebe58f7dfcedebf72d4c104b0f17481f7a90b1c22c95042bc05eac913fdc334f509f8940c4a530f4f8d9ba606676f3193ac61d890303670ed8 +DIST portage-3.0.74.tar.bz2 1219291 BLAKE2B f5e9ac4e916590a5f5492174c53749c7b7fadf017c364415410a450c62eb4544cba0adf93fa2bbe68c99d9e14d715bc4faabf1ca2d478a5fe0fac42ffbadec65 SHA512 7cb08313db3fa1e61a2d3d5440f603eeb46ee317e6a94c3d70104c60a23b9fac1f5e95be2b271abff47722df3132706e4c43db6bf7645ca5c7c7a9447954ef33 +DIST portage-3.0.75.tar.bz2 1221419 BLAKE2B 79f9e5ac480015e863585873697ec71f18288ed654d8ebfd0af140c32ccb81a47a1449b68906f122550917941c42c886d74536d184942a42beeb456b655013a0 SHA512 da11557e6d472f4c3c8aa5dcc8a23d2fe08b16fe5772ddb07dab3ff6b5593d6c8f8c762bdcca0e3905fd252b747cead36d1a3fa2b381fc84a0c9b0b8adcc48bf diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0001-bin-emerge-ebuild-don-t-define-signal-handlers-in-gl.patch b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0001-bin-emerge-ebuild-don-t-define-signal-handlers-in-gl.patch new file mode 100644 index 00000000000..ffe9f944c69 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0001-bin-emerge-ebuild-don-t-define-signal-handlers-in-gl.patch @@ -0,0 +1,77 @@ +From d7d6fd54f1c936e89c5e4467c6c1f33b217325ca Mon Sep 17 00:00:00 2001 +Message-ID: +From: Sam James +Date: Tue, 16 Dec 2025 09:36:27 +0000 +Subject: [PATCH] bin: emerge, ebuild: don't define signal handlers in global + scope + +This breaks when `emerge` is frozen. Do what we do in `egencache`. We +do need to use the same boilerplate in all bin/* though... + +Bug: https://bugs.gentoo.org/941956 +Bug: https://bugs.gentoo.org/967199 +Signed-off-by: Sam James +--- + bin/ebuild | 10 +++++----- + bin/emerge | 10 +++++----- + 2 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/bin/ebuild b/bin/ebuild +index 0c6369e016..3fc6e334cb 100755 +--- a/bin/ebuild ++++ b/bin/ebuild +@@ -22,11 +22,6 @@ def debug_signal(_signum, _frame): + pdb.set_trace() + + +-# Prevent "[Errno 32] Broken pipe" exceptions when writing to a pipe. +-signal.signal(signal.SIGPIPE, signal.SIG_DFL) +-signal.signal(signal.SIGTERM, signal_interrupt) +-signal.signal(signal.SIGUSR1, debug_signal) +- + import argparse + from os import path as osp + import shlex +@@ -61,6 +56,11 @@ from _emerge.RootConfig import RootConfig + + + def main(): ++ # Prevent "[Errno 32] Broken pipe" exceptions when writing to a pipe. ++ signal.signal(signal.SIGPIPE, signal.SIG_DFL) ++ signal.signal(signal.SIGTERM, signal_interrupt) ++ signal.signal(signal.SIGUSR1, debug_signal) ++ + portage.process.sanitize_fds() + description = "See the ebuild(1) man page for more info" + usage = "Usage: ebuild [command] ..." +diff --git a/bin/emerge b/bin/emerge +index 9e5d59cb04..d4f50fa9a3 100755 +--- a/bin/emerge ++++ b/bin/emerge +@@ -22,11 +22,6 @@ def debug_signal(_signum, _frame): + pdb.set_trace() + + +-# Prevent "[Errno 32] Broken pipe" exceptions when writing to a pipe. +-signal.signal(signal.SIGPIPE, signal.SIG_DFL) +-signal.signal(signal.SIGTERM, signal_interrupt) +-signal.signal(signal.SIGUSR1, debug_signal) +- + from os import path as osp + + if osp.isfile( +@@ -46,6 +41,11 @@ from _emerge.main import emerge_main + + + def main(): ++ # Prevent "[Errno 32] Broken pipe" exceptions when writing to a pipe. ++ signal.signal(signal.SIGPIPE, signal.SIG_DFL) ++ signal.signal(signal.SIGTERM, signal_interrupt) ++ signal.signal(signal.SIGUSR1, debug_signal) ++ + portage.process.sanitize_fds() + try: + retval = emerge_main() +-- +2.52.0 + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.67-nicer-depend-phase-output.patch b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.67-nicer-depend-phase-output.patch deleted file mode 100644 index d63075ce718..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.67-nicer-depend-phase-output.patch +++ /dev/null @@ -1,55 +0,0 @@ -https://gitweb.gentoo.org/proj/portage.git/commit/?id=c9a982117e07bbbfc4cd84fedc1c02623cf8e51e - -From c9a982117e07bbbfc4cd84fedc1c02623cf8e51e Mon Sep 17 00:00:00 2001 -From: Michał Górny -Date: Thu, 10 Apr 2025 12:20:08 +0200 -Subject: isolated-functions.sh: Output package in einfo during depend phase -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Output a banner containing the package name and version, When the einfo -family of functions is used during the depend phase. Before, these -messages would be printed out of context, requiring the caller to -explicitly include the package name. - -The result is, for example: - -``` -Calculating dependencies \ -Messages from dev-python/protobuf-4.23.3::gentoo: - * distutils_enable_tests setup.py is deprecated and will be removed. - * Please use unittest or pytest instead. - | -Messages from dev-python/protobuf-4.22.5::gentoo: - * distutils_enable_tests setup.py is deprecated and will be removed. - * Please use unittest or pytest instead. - - -``` - -Closes: https://github.com/gentoo/portage/pull/1433 -Signed-off-by: Michał Górny ---- - bin/isolated-functions.sh | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh -index d4248366d..40d2132be 100644 ---- a/bin/isolated-functions.sh -+++ b/bin/isolated-functions.sh -@@ -259,6 +259,13 @@ __vecho() { - # Internal logging function, don't use this in ebuilds - __elog_base() { - local messagetype -+ if [[ ${EBUILD_PHASE} == depend && -z ${__PORTAGE_ELOG_BANNER_OUTPUT} ]]; then -+ # in depend phase, we want to output a banner indicating which -+ # package emitted the message -+ echo >&2 -+ echo "Messages for package ${PORTAGE_COLOR_INFO}${CATEGORY}/${PF}::${PORTAGE_REPO_NAME}${PORTAGE_COLOR_NORMAL}:" >&2 -+ __PORTAGE_ELOG_BANNER_OUTPUT=1 -+ fi - [[ -z "${1}" || -z "${T}" || ! -d "${T}/logging" ]] && return 1 - case "${1}" in - INFO|WARN|ERROR|LOG|QA) --- -cgit v1.2.3-65-gdbad diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-apps/portage/metadata.xml index fad6b93955a..a568cd38133 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/metadata.xml @@ -16,7 +16,7 @@ Enable full-tree cryptographic verification of Gentoo repository - rsync checkouts using app-portage/gemato. + git or rsync checkouts using app-portage/gemato. Preserve extended attributes (filesystem-stored metadata) 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 deleted file mode 100644 index 571a468189a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.68.ebuild +++ /dev/null @@ -1,231 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( pypy3_11 python3_{11..13} ) -PYTHON_REQ_USE='bzip2(+),threads(+)' -TMPFILES_OPTIONAL=1 - -inherit meson linux-info python-r1 tmpfiles - -DESCRIPTION="The package management and distribution system for Gentoo" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/portage.git - https://github.com/gentoo/portage.git - " - 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" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="!test? ( test )" - -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/tar-1.27 - >=dev-build/meson-1.3.0-r1 - >=sys-apps/sed-4.0.5 - sys-devel/patch - !build? ( $(python_gen_impl_dep 'ssl(+)') ) - apidoc? ( - dev-python/sphinx[${PYTHON_USEDEP}] - dev-python/sphinx-epytext[${PYTHON_USEDEP}] - ) - doc? ( - ~app-text/docbook-xml-dtd-4.4 - app-text/xmlto - ) - test? ( - dev-python/pytest-xdist[${PYTHON_USEDEP}] - dev-vcs/git - ) -" -# Require sandbox-2.2 for bug #288863. -# For whirlpool hash, require python[ssl] (bug #425046). -RDEPEND=" - ${PYTHON_DEPS} - acct-user/portage - >=app-arch/tar-1.27 - app-arch/zstd - >=app-misc/pax-utils-0.1.17 - dev-lang/python-exec:2 - >=sys-apps/baselayout-2.9 - >=sys-apps/findutils-4.9 - !build? ( - >=app-admin/eselect-1.2 - app-portage/getuto - >=app-shells/bash-5.0:0 - >=sec-keys/openpgp-keys-gentoo-release-20240703 - >=sys-apps/sed-4.0.5 - rsync-verify? ( - >=app-crypt/gnupg-2.2.4-r2[ssl(-)] - >=app-portage/gemato-14.5[${PYTHON_USEDEP}] - ) - ) - elibc_glibc? ( >=sys-apps/sandbox-2.2 ) - elibc_musl? ( >=sys-apps/sandbox-2.2 ) - kernel_linux? ( sys-apps/util-linux ) - selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] ) - xattr? ( kernel_linux? ( - >=sys-apps/install-xattr-0.3 - ) ) -" -# coreutils-6.4 rdep is for date format in emerge-webrsync #164532 -# NOTE: FEATURES=installsources requires debugedit and rsync -PDEPEND=" - !build? ( - >=net-misc/rsync-2.6.4 - >=sys-apps/coreutils-6.4 - >=sys-apps/file-5.44-r3 - ) -" - -pkg_pretend() { - local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS" - - check_extra_config -} - -src_prepare() { - default - - if use prefix-guest; then - sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \ - -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \ - -e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \ - -i cnf/repos.conf || die "sed failed" - fi -} - -src_configure() { - local code_only=false - python_foreach_impl my_src_configure -} - -my_src_configure() { - local emesonargs=( - -Dcode-only=${code_only} - -Deprefix="${EPREFIX}" - -Dportage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" - -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" - $(meson_use doc) - $(meson_use apidoc) - $(meson_use gentoo-dev) - $(meson_use ipc) - $(meson_use xattr) - ) - - if use native-extensions && [[ "${EPYTHON}" != pypy3* ]] ; then - emesonargs+=( -Dnative-extensions=true ) - else - emesonargs+=( -Dnative-extensions=false ) - fi - - if use build; then - emesonargs+=( -Drsync-verify=false ) - else - emesonargs+=( $(meson_use rsync-verify) ) - fi - - meson_src_configure - code_only=true -} - -src_compile() { - python_foreach_impl meson_src_compile -} - -src_test() { - local EPYTEST_XDIST=1 - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - python_foreach_impl epytest -} - -src_install() { - python_foreach_impl my_src_install - dotmpfiles "${FILESDIR}"/portage-{ccache,tmpdir}.conf - - local scripts - mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/{bin,sbin}/* || die) - python_replicate_script "${scripts[@]}" -} - -my_src_install() { - local pydirs=( - "${D}$(python_get_sitedir)" - "${ED}/usr/lib/portage/${EPYTHON}" - ) - - meson_src_install - python_fix_shebang "${pydirs[@]}" - python_optimize "${pydirs[@]}" -} - -pkg_preinst() { - if ! use build && [[ -z ${ROOT} ]]; then - python_setup - local sitedir=$(python_get_sitedir) - [[ -d ${D}${sitedir} ]] || die "${D}${sitedir}: No such directory" - env -u DISTDIR \ - -u PORTAGE_OVERRIDE_EPREFIX \ - -u PORTAGE_REPOSITORIES \ - -u PORTDIR \ - -u PORTDIR_OVERLAY \ - PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ - ED="${ED}" \ - "${PYTHON}" -m portage._compat_upgrade.default_locations || die - - env -u BINPKG_COMPRESS -u PORTAGE_REPOSITORIES \ - PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ - ED="${ED}" \ - "${PYTHON}" -m portage._compat_upgrade.binpkg_compression || die - - env -u FEATURES -u PORTAGE_REPOSITORIES \ - PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ - ED="${ED}" \ - "${PYTHON}" -m portage._compat_upgrade.binpkg_multi_instance || die - - env -u BINPKG_FORMAT \ - PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ - ED="${ED}" \ - "${PYTHON}" -m portage._compat_upgrade.binpkg_format || die - fi - - # elog dir must exist to avoid logrotate error for bug #415911. - # This code runs in preinst in order to bypass the mapping of - # portage:portage to root:root which happens after src_install. - keepdir /var/log/portage/elog - # This is allowed to fail if the user/group are invalid for prefix users. - if chown portage:portage "${ED}"/var/log/portage{,/elog} 2>/dev/null ; then - chmod g+s,ug+rwx "${ED}"/var/log/portage{,/elog} - fi - - if has_version "<${CATEGORY}/${PN}-2.3.77"; then - elog "The emerge --autounmask option is now disabled by default, except for" - elog "portions of behavior which are controlled by the --autounmask-use and" - elog "--autounmask-license options. For backward compatibility, previous" - elog "behavior of --autounmask=y and --autounmask=n is entirely preserved." - elog "Users can get the old behavior simply by adding --autounmask to the" - elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this" - elog "change, see https://bugs.gentoo.org/658648." - fi -} - -pkg_postinst() { - # Warn about obsolete "enotice" script, bug #867010 - local bashrc=${EROOT}/etc/portage/profile/profile.bashrc - if [[ -e ${bashrc} ]] && grep -q enotice "${bashrc}"; then - eerror "Obsolete 'enotice' script detected!" - eerror "Please remove this from ${bashrc} to avoid problems." - eerror "See bug 867010 for more details." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.69.3-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.69.3-r3.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.69.3-r2.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.69.3-r3.ebuild index cf164aa81b2..f3b28f4bdc8 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.69.3-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.69.3-r3.ebuild @@ -4,7 +4,7 @@ EAPI=8 # py3.14: bug #957070 -PYTHON_COMPAT=( pypy3_11 python3_{11..13} ) +PYTHON_COMPAT=( python3_{12..13} ) PYTHON_REQ_USE='bzip2(+),threads(+)' TMPFILES_OPTIONAL=1 @@ -92,6 +92,7 @@ PDEPEND=" PATCHES=( "${FILESDIR}"/0001-emerge-webrsync-restore-the-missing-option-arg-for-c.patch + "${FILESDIR}"/0001-bin-emerge-ebuild-don-t-define-signal-handlers-in-gl.patch ) pkg_pretend() { diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.67-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.72-r1.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.67-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.72-r1.ebuild index 089c2958aa4..39aad3c0850 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.67-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.72-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( pypy3_11 python3_{11..13} ) +PYTHON_COMPAT=( python3_{12..14} ) PYTHON_REQ_USE='bzip2(+),threads(+)' TMPFILES_OPTIONAL=1 @@ -67,7 +67,7 @@ RDEPEND=" >=sec-keys/openpgp-keys-gentoo-release-20240703 >=sys-apps/sed-4.0.5 rsync-verify? ( - >=app-crypt/gnupg-2.2.4-r2[ssl(-)] + app-alternatives/gpg[ssl(-)] >=app-portage/gemato-14.5[${PYTHON_USEDEP}] ) ) @@ -90,7 +90,7 @@ PDEPEND=" " PATCHES=( - "${FILESDIR}"/${PN}-3.0.67-nicer-depend-phase-output.patch + "${FILESDIR}"/0001-bin-emerge-ebuild-don-t-define-signal-handlers-in-gl.patch ) pkg_pretend() { diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.71.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.73-r2.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.71.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.73-r2.ebuild index a02dd2c2cfc..9c5c35bd808 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.71.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.73-r2.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( pypy3_11 python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..14} ) PYTHON_REQ_USE='bzip2(+),threads(+)' TMPFILES_OPTIONAL=1 @@ -63,7 +63,7 @@ RDEPEND=" !build? ( >=app-admin/eselect-1.2 app-portage/getuto - >=app-shells/bash-5.0:0 + >=app-shells/bash-5.3:0 >=sec-keys/openpgp-keys-gentoo-release-20240703 >=sys-apps/sed-4.0.5 rsync-verify? ( @@ -89,6 +89,10 @@ PDEPEND=" ) " +PATCHES=( + "${FILESDIR}"/0001-bin-emerge-ebuild-don-t-define-signal-handlers-in-gl.patch +) + pkg_pretend() { local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.72.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.74.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.72.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.74.ebuild index a02dd2c2cfc..25c5a69badf 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.72.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.74.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( pypy3_11 python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..14} ) PYTHON_REQ_USE='bzip2(+),threads(+)' TMPFILES_OPTIONAL=1 @@ -63,7 +63,7 @@ RDEPEND=" !build? ( >=app-admin/eselect-1.2 app-portage/getuto - >=app-shells/bash-5.0:0 + >=app-shells/bash-5.3:0 >=sec-keys/openpgp-keys-gentoo-release-20240703 >=sys-apps/sed-4.0.5 rsync-verify? ( diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.70.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.75.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.70.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.75.ebuild index a02dd2c2cfc..25c5a69badf 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.70.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.75.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( pypy3_11 python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..14} ) PYTHON_REQ_USE='bzip2(+),threads(+)' TMPFILES_OPTIONAL=1 @@ -63,7 +63,7 @@ RDEPEND=" !build? ( >=app-admin/eselect-1.2 app-portage/getuto - >=app-shells/bash-5.0:0 + >=app-shells/bash-5.3:0 >=sec-keys/openpgp-keys-gentoo-release-20240703 >=sys-apps/sed-4.0.5 rsync-verify? ( diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild index a02dd2c2cfc..45d6deec30e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( pypy3_11 python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..14} ) PYTHON_REQ_USE='bzip2(+),threads(+)' TMPFILES_OPTIONAL=1 @@ -63,7 +63,7 @@ RDEPEND=" !build? ( >=app-admin/eselect-1.2 app-portage/getuto - >=app-shells/bash-5.0:0 + >=app-shells/bash-5.3:0 >=sec-keys/openpgp-keys-gentoo-release-20240703 >=sys-apps/sed-4.0.5 rsync-verify? ( 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 537e9b87b60..79bca6cf563 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,12 +1,6 @@ -DIST pv-1.10.0.tar.gz 419674 BLAKE2B 64e27b693cfd9ec5186a0414f5e38a79958ce3cff0788b1af1209b3097bbb93ba7297a3686322d0a9d76041eca9a008a8e58502ef1068602f646ac83c487e13b SHA512 134dd070d25f3583f8852844148da886d7b4092f076dbeb1949e77237687fad0135a10249e9220ae9ab863f4eb7fbbe1c2ed96c42dec3b5c35b7b0d563a75e68 -DIST pv-1.10.0.tar.gz.asc 691 BLAKE2B 5e200ad6c7329bb59252d08485f65830875fe1fcbba85f89d35c4160e1f7f521153408f6bc425997e42ddde1c0d9fcb8c10ec0c6b22796145fa883a46f29063f SHA512 2eda30440a1f660c5827c3e206feda9f0213ea133a1061f89faac63d46a906926d810abd386d2c245dbfaf2340e8761310875bae3db1cc3d8530b8fdf38a6684 -DIST pv-1.10.1.tar.gz 420331 BLAKE2B d654ccf78782b77fef106e73a46cc2408147745a4a56589cd8cf86fbfc083d34039c4aea32f87e9f816b302b45c497c7c45a21a957ee5c6e40626a671150e8b7 SHA512 235da351bab786c1961b7b91c5beb5997ad80ded93b4a56cd22c0679a45167862325a52fc30f262ff6110aa19e4af337fbc8d43f4f66b828cef8c77b9ecd8283 -DIST pv-1.10.1.tar.gz.asc 691 BLAKE2B 5a0cb1c5b2bbec1d92a6987d012ee8847370bc516c56a7bc4671aec7125c7732bd9fd92b0e52e3f1023c8da0c5f2c3a93f23ea1634ca815a278b35b89d95c05c SHA512 0a22d7b9a0215cfaeee634fcb9e76b8ef550be3eb12547b2f3574826215e19f4a217f861d9b8c986e1001b5951dba13403ec8e802518d984bede640e55740b8d -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 -DIST pv-1.9.34.tar.gz 416551 BLAKE2B aa2d56408a96de9b472a3ef5215a270c3c993543dc72b980948ffd2f6f6181bf69beaf911df284ea934c43d5053ada57a35e3dc43de08a184dca89fa75e945e5 SHA512 c590e376d33f49d8bb0d4463a54bb8c5a8dd25737f2d413f83c53c64cf6cb6d5ad977ff907fb6a8d8004ee371d35de08d3a5fb312b07a6c7237565e0bc55a104 -DIST pv-1.9.34.tar.gz.asc 691 BLAKE2B 0bb824f3f8352ab3c32d9df273780039eb81b8bf40f4f90cede5a121cccdd5370a1769da0bfe09735b80a59a75bb4ac3cbd5008bc0fa99c40077cae2dd64cf14 SHA512 8f0b7989b3e8d00b5147fa5ad37e3823b99edd9586210f73fcf553b95c7d2114843ff1c7445ac757689c1eca4cc5920fb86417733fba722bc287c66885e98a33 +DIST pv-1.10.2.tar.gz 427370 BLAKE2B bb139aef5de446515ffb563f6581eab6a6bc180e2ad50c42ddf43d60e308911603ec1d552e4ee4d091aa50a2803e9029fc897a76f30465eec57209b5f5477fb3 SHA512 383a63c0f4678ca70358abba78cb46fa229df56a17f32b2e85a1cbc6f5268d777b5187d654fdfdb585e3c44f015dd52dc7a083e86e6b4dfd49c1d276f59dfef4 +DIST pv-1.10.2.tar.gz.asc 691 BLAKE2B 88e583b277e5e6d8dbcc2d741c4606244f4a8de8e61aa83b3f834fc11bcf1315c485c937559aff6ad2789c5fd6aae268fc0f619fd1feeade46352fa6d002d813 SHA512 8bc3bb21c5daa1adbdc8b04cb699e6cb62c47a9c3b4167485cf6f0f8b920dba5c3fdcb0cbf2fdfe59339927c4e1595b04a9271f4ddd585462cb3b859bf5f69c0 +DIST pv-1.10.3.tar.gz 427463 BLAKE2B 29ccafa12fbed54cffc54b515794595f8efeb71f09524b431219e5050a052ffaa998ebbea19d4f7dd28556229b0246fc1e352bfbbbc7ab290185c3530a47ab43 SHA512 19d48f004cf06e36b1157c701afb4612a3a38997d74195cf9e79250cda085d4bf724d954504c4d88368a6af099a9eaa872da33e96848bbdce325f52ad40e6947 +DIST pv-1.10.3.tar.gz.asc 691 BLAKE2B 11785a09dd2736ca738cd955bb9323ca4aeb975158f0e5d088796202e8ee55058fae3a47166f9be477b18722f41bd899273fec0befc47e1a0ce4cb909e2f402c SHA512 ab457e451c1e3c7ce26d5a5911202327170086d0fd909ff86a84a5c111f71bc3f098bd56f55840fa644df0c354554b03e338f50ed48d15543947f42028b958d6 DIST pv-1.9.42.tar.gz 425511 BLAKE2B f523605491faca77591d84c092663edcf5c3f7a3717676fb1ad282d0768553a444dc97a8adadd8ca32c264978471c3c60c44667679e733251bf7f9b59779de30 SHA512 be21370c7cb18cb68f5a63db6f0a4c5c36efd007675df29af06017f9dfd1e416270cbe733792015a3d3ae0f5165a27e1a6dfce6abebbf0581c50cbb66ef2d9c7 DIST pv-1.9.42.tar.gz.asc 691 BLAKE2B 2f107e4520554629ee6be60e6145f3219a34db7b0b73081d3c86080834458eae3f9a90d4cc364dab5f9218c403f65a7d42a419b1520269a7bb5cc0884f5affbb SHA512 a0ca0dcb383036c433c202dd7c9dbd24d60e00e7bbfe6945a5868f629bf856cebfb5564b51532d67e8c241646243354be9cc7e5a313714b9d9ea478ee5853719 -DIST pv-1.9.44.tar.gz 428337 BLAKE2B a628c80b837cfcb8e83ddb9107e881ea0dd7434f2d99c3051515896a68f900b967ca40ccca28c884cb2501b5829d79d05ed91c4bf632dea5b86e121a16cb4bf0 SHA512 dbd4ea362547419ede9035146e6d8dc890a605a991cf25509d73d7a67e2597a112d196298021e5923d0050735fdf743c7c99467914ec1a7af537f9ab1215e2df -DIST pv-1.9.44.tar.gz.asc 691 BLAKE2B f31cc7557527cc163efaa0b4df71e4163919551489e870a1618616eeee033cb5755053427547cefe6ad3477a079b8de6a83ea94af8220948ffca634ce85cfb2c SHA512 d5a9f44598f576c87fdc1ed6947a2b0c247f4b18961d673d045a28f214b6a8a2d6f5c17fd46d2e292b36d3acc0ff5e724d8473a90b494b9f8ad042d97d1f1aa1 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.10.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.10.0.ebuild deleted file mode 100644 index 718c9249a22..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.10.0.ebuild +++ /dev/null @@ -1,59 +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://ivarch.com/p/pv https://codeberg.org/ivarch/pv" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://codeberg.org/ivarch/pv" - inherit autotools git-r3 -else - SRC_URI=" - https://ivarch.com/s/${P}.tar.gz - verify-sig? ( https://ivarch.com/s/${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 ncurses nls" - -RDEPEND="ncurses? ( sys-libs/ncurses:= )" -DEPEND="${RDEPEND}" -BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-pv-20251012 )" - -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_with ncurses) \ - $(use_enable nls) -} - -src_test() { - # Valgrind is unreliable within sandbox - local -x SKIP_VALGRIND_TESTS=1 - emake -Onone check -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.10.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.10.1.ebuild deleted file mode 100644 index 718c9249a22..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.10.1.ebuild +++ /dev/null @@ -1,59 +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://ivarch.com/p/pv https://codeberg.org/ivarch/pv" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://codeberg.org/ivarch/pv" - inherit autotools git-r3 -else - SRC_URI=" - https://ivarch.com/s/${P}.tar.gz - verify-sig? ( https://ivarch.com/s/${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 ncurses nls" - -RDEPEND="ncurses? ( sys-libs/ncurses:= )" -DEPEND="${RDEPEND}" -BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-pv-20251012 )" - -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_with ncurses) \ - $(use_enable nls) -} - -src_test() { - # Valgrind is unreliable within sandbox - local -x SKIP_VALGRIND_TESTS=1 - emake -Onone check -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.34.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.10.2.ebuild similarity index 91% rename from sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.34.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.10.2.ebuild index a0768d49f39..89ab0f493a3 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.34.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.10.2.ebuild @@ -18,7 +18,7 @@ else verify-sig? ( https://ivarch.com/s/${P}.tar.gz.txt -> ${P}.tar.gz.asc ) " - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos" fi LICENSE="GPL-3+" @@ -27,7 +27,7 @@ IUSE="debug ncurses nls" RDEPEND="ncurses? ( sys-libs/ncurses:= )" DEPEND="${RDEPEND}" -BDEPEND="verify-sig? ( sec-keys/openpgp-keys-pv )" +BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-pv-20251012 )" pkg_setup() { if use kernel_linux; then diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.44.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.10.3.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.44.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.10.3.ebuild index 718c9249a22..5aaa0b42605 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.44.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.10.3.ebuild @@ -18,7 +18,7 @@ else verify-sig? ( https://ivarch.com/s/${P}.tar.gz.txt -> ${P}.tar.gz.asc ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" fi LICENSE="GPL-3+" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.31.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.31.ebuild deleted file mode 100644 index 1e973ddc14a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.31.ebuild +++ /dev/null @@ -1,59 +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/ivarch/pv" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://codeberg.org/ivarch/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 ncurses nls" - -RDEPEND="ncurses? ( sys-libs/ncurses:= )" -DEPEND="${RDEPEND}" -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_with ncurses) \ - $(use_enable nls) -} - -src_test() { - # Valgrind is unreliable within sandbox - local -x SKIP_VALGRIND_TESTS=1 - emake -Onone check -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.42.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.42.ebuild index 20363efdc23..89ab0f493a3 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.42.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.42.ebuild @@ -18,7 +18,7 @@ else verify-sig? ( https://ivarch.com/s/${P}.tar.gz.txt -> ${P}.tar.gz.asc ) " - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos" fi LICENSE="GPL-3+" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-9999.ebuild index 718c9249a22..5aaa0b42605 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-9999.ebuild @@ -18,7 +18,7 @@ else verify-sig? ( https://ivarch.com/s/${P}.tar.gz.txt -> ${P}.tar.gz.asc ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" fi LICENSE="GPL-3+" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/Manifest index ee9e4a0d0aa..b2865408d43 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/Manifest @@ -1,8 +1,2 @@ DIST sandbox-2.39.tar.xz 462796 BLAKE2B 330c6f896eba6ff2a38eb8a5d1ff9b242d0e42ab03734254b1851f36cc851c32e7ed3d32afe07374b6e264cb0a922d25b010af5269f60fc5142b9036008f0945 SHA512 5eed5d828eb904b15d52736ea8835128e805f0274f2152d033ae6d93f1df3bc1f50ed23d7544c37ee06b14cb2c301110730e1de3097d6f7032069ef8dbbbd28c -DIST sandbox-2.40.tar.xz 465824 BLAKE2B 1e7e8b1c69807d493d5ca242d746b07aa669e18f9aab60cbfd7fe66500ac6822f8b9236077c370ec7e580c8c056f2ccc7825017cd015fca4497e967dcb93cc82 SHA512 e734f380943cc573847f48789a6ad724a3a3fe1017cb7e4bffcd75d2f758d85e937511bbc2eccd0224301b56bc0dd38c92fbaf2d268132be4985f5a768593bdc -DIST sandbox-2.41.tar.xz 468180 BLAKE2B cb00ec8605b9b51ce559a9e9baa68d757e17900abbe9fff890ddbabcc001e47d72a0e7a693104a6594d3d86bc9afebc6945ed3ec101fd67bfe8a855de3ef010f SHA512 ac787ecc61a625717a66fef663f34ddc855c144226f80e1593033f06ccd9dbd526ffbd032a7b142404a0a5a5aea4b813c9258e9c2202c2e9b0574aa35aae3ef8 -DIST sandbox-2.42.tar.xz 468676 BLAKE2B c4a17c9c6c1644bf27565eab8d76b37689f2a1ca2083d30d65deffd76449f69f68dd4d56ebb19236ca3111996c037fa4e1e5d034dc942349b93ba7c4c68f6248 SHA512 05076394cec77a6443ccc9ba31209fac32c57497210b817e71d10ffc75388673de75de8be6a86ee2f798a285e02ed1af8f134a988eceb6824a3e94bd5be4fc62 -DIST sandbox-2.43.tar.xz 468420 BLAKE2B c407f7c853d53297d4b0b64f1f3e0a6a26402c32990d7a02f6b2d5aec2b73716a0bb9a931371b87917a5390fb3f80b739e9d2884aec07aa6a1679c32926872ab SHA512 aff9bcbc0a26d4d0df2a469e1978051b9cdd2ce67786c90f857576ddfce20eefa78bfdf6c611fa3f60f0cb0247398c4cf6e4413fed0e4f2eb3bfe11e8a5b6e3e -DIST sandbox-2.44.tar.xz 447548 BLAKE2B 89241ef5addf84cfe651d5c25986382966216fe380942d17b523b1187cfcc1a294c9de74736828209ad60ed7819229f4662763ccf5464ce6d032668ea405bc89 SHA512 e75276b1228bb2aa96aa8d5ff9583ea6514a00d5ab2a7ef07da18c88114c3438d11fa8edd6c2fa4be4ddaddee6415913673684e95584368df6f2f52e10b3e627 -DIST sandbox-2.45.tar.xz 447840 BLAKE2B df1cfba485668781b7dbf863ecdc523b3ffbc91c82ce815ab5ade6c1f33aa4e97c0674012f67ad212c94d8e6fe5285ab0aa4f96f6155e7d81ee649973366c1b9 SHA512 aad9e746c8e1d964cbd29fef5139b18853dac36204dcb414b8a4a94d6fdc53609fe7949dcd845894b38965e08be9901ebdfc83dacc4fb37e810efd6a01eeb7b8 DIST sandbox-2.46.tar.xz 448188 BLAKE2B 42fcd5ff7e9592d5df4e807f7dec79510ecc03f217051256bcd4f912117d8e7f1422910ae30d21426a18e7a187a447f162f5040b7ac1e29c5039e9cc9efd3b9e SHA512 462545d60820e790828f0611b39746cd4fa6541beaa7c3edb660213946f1bd50334d9a99aed059cae871c3c8d2917bf7db850fee53fb8ac125bf137baf8b923d diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/sandbox-2.40.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/sandbox-2.40.ebuild deleted file mode 100644 index 7279694e899..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/sandbox-2.40.ebuild +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -inherit flag-o-matic multilib-minimal multiprocessing - -DESCRIPTION="sandbox'd LD_PRELOAD hack" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Sandbox" -SRC_URI="https://dev.gentoo.org/~floppym/dist/${P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="+nnp" - -# pax-utils lower bound for bug #265376 -DEPEND=">=app-misc/pax-utils-0.1.19" -# Avoid folks installing with older file, bug #889046. We still need the -# >= dep in Portage but this is a safety net if people do partial upgrades. -RDEPEND="!= dep in Portage but this is a safety net if people do partial upgrades. -RDEPEND="!= dep in Portage but this is a safety net if people do partial upgrades. -RDEPEND="!= dep in Portage but this is a safety net if people do partial upgrades. -RDEPEND="!= dep in Portage but this is a safety net if people do partial upgrades. -RDEPEND="!= dep in Portage but this is a safety net if people do partial upgrades. -RDEPEND="! +Date: Sat, 13 Dec 2025 15:07:02 -0500 +Subject: [PATCH] lib/xgetXXbyYY.c: include stdint.h for SIZE_MAX +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes build failure: +``` +In file included from xgetgrnam.c:40: +xgetXXbyYY.c: In function ‘xgetgrnam’: +xgetXXbyYY.c:83:31: error: ‘SIZE_MAX’ undeclared (first use in this function) + 83 | if (length == SIZE_MAX) { + | ^~~~~~~~ +``` + +Signed-off-by: Mike Gilbert +--- + lib/xgetXXbyYY.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/xgetXXbyYY.c b/lib/xgetXXbyYY.c +index 2c9dbda5..58902120 100644 +--- a/lib/xgetXXbyYY.c ++++ b/lib/xgetXXbyYY.c +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + #include + + #include "alloc/malloc.h" +-- +2.52.0 + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.14.8-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.14.8-r2.ebuild new file mode 100644 index 00000000000..b623295477e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.14.8-r2.ebuild @@ -0,0 +1,291 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Upstream sometimes pushes releases as pre-releases before marking them +# official. Don't keyword the pre-releases! +# Check https://github.com/shadow-maint/shadow/releases. + +inherit libtool pam user-info verify-sig + +DESCRIPTION="Utilities to deal with user accounts" +HOMEPAGE="https://github.com/shadow-maint/shadow" +SRC_URI="https://github.com/shadow-maint/shadow/releases/download/${PV}/${P}.tar.xz" +SRC_URI+=" verify-sig? ( https://github.com/shadow-maint/shadow/releases/download/${PV}/${P}.tar.xz.asc )" + +LICENSE="BSD GPL-2" +# Subslot is for libsubid's SONAME. +SLOT="0/4" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="acl audit cracklib nls pam selinux skey split-usr su systemd xattr" +# Taken from the man/Makefile.am file. +LANGS=( cs da de es fi fr hu id it ja ko pl pt_BR ru sv tr zh_CN zh_TW ) + +REQUIRED_USE="?? ( cracklib pam )" + +COMMON_DEPEND=" + virtual/libcrypt:= + acl? ( sys-apps/acl:= ) + audit? ( >=sys-process/audit-2.6:= ) + cracklib? ( >=sys-libs/cracklib-2.7-r3:= ) + nls? ( virtual/libintl ) + pam? ( sys-libs/pam:= ) + skey? ( sys-auth/skey:= ) + selinux? ( + >=sys-libs/libselinux-1.28:= + sys-libs/libsemanage:= + ) + systemd? ( sys-apps/systemd:= ) + xattr? ( sys-apps/attr:= ) + !/s:^:#:" \ + "${ED}"/etc/login.defs || die + else + sed -i -r \ + -e "/^#?${opt}\>/s:.*:${opt} ${val}:" \ + "${ED}"/etc/login.defs + fi + local res=$(grep "^${comment}${opt}\>" "${ED}"/etc/login.defs) + einfo "${res:-Unable to find ${opt} in /etc/login.defs}" +} + +src_install() { + emake DESTDIR="${D}" suidperms=4755 install + + fowners :shadow /usr/bin/{chage,expiry} + fperms u-s,g+s /usr/bin/{chage,expiry} + + # 4.9 regression: https://github.com/shadow-maint/shadow/issues/389 + emake DESTDIR="${D}" -C man install + + find "${ED}" -name '*.la' -type f -delete || die + + insinto /etc + if ! use pam ; then + insopts -m0600 + doins etc/login.access etc/limits + fi + + # needed for 'useradd -D' + insinto /etc/default + insopts -m0600 + doins "${FILESDIR}"/default/useradd + + if use split-usr ; then + # move passwd to / to help recover broke systems #64441 + # We cannot simply remove this or else net-misc/scponly + # and other tools will break because of hardcoded passwd + # location + dodir /bin + mv "${ED}"/usr/bin/passwd "${ED}"/bin/ || die + dosym ../../bin/passwd /usr/bin/passwd + fi + + cd "${S}" || die + insinto /etc + insopts -m0644 + newins etc/login.defs login.defs + + set_login_opt CREATE_HOME yes + if ! use pam ; then + set_login_opt MAIL_CHECK_ENAB no + set_login_opt SU_WHEEL_ONLY yes + set_login_opt CRACKLIB_DICTPATH /usr/lib/cracklib_dict + set_login_opt LOGIN_RETRIES 3 + set_login_opt ENCRYPT_METHOD YESCRYPT + set_login_opt CONSOLE + else + dopamd "${FILESDIR}"/pam.d-include/shadow + + for x in chsh chfn ; do + newpamd "${FILESDIR}"/pam.d-include/passwd ${x} + done + + for x in chpasswd newusers ; do + newpamd "${FILESDIR}"/pam.d-include/chpasswd ${x} + done + + newpamd "${FILESDIR}"/pam.d-include/shadow-r1 groupmems + + # Comment out login.defs options that pam hates + local opt sed_args=() + for opt in \ + CHFN_AUTH \ + CONSOLE \ + CRACKLIB_DICTPATH \ + ENV_HZ \ + ENVIRON_FILE \ + FAILLOG_ENAB \ + FTMP_FILE \ + LASTLOG_ENAB \ + MAIL_CHECK_ENAB \ + MOTD_FILE \ + NOLOGINS_FILE \ + OBSCURE_CHECKS_ENAB \ + PASS_ALWAYS_WARN \ + PASS_CHANGE_TRIES \ + PASS_MIN_LEN \ + PORTTIME_CHECKS_ENAB \ + QUOTAS_ENAB \ + SU_WHEEL_ONLY + do + set_login_opt ${opt} + sed_args+=( -e "/^#${opt}\>/b pamnote" ) + done + sed -i "${sed_args[@]}" \ + -e 'b exit' \ + -e ': pamnote; i# NOTE: This setting should be configured via /etc/pam.d/ and not in this file.' \ + -e ': exit' \ + "${ED}"/etc/login.defs || die + + # Remove manpages that pam will install for us + # and/or don't apply when using pam + find "${ED}"/usr/share/man -type f \ + '(' -name 'limits.5*' -o -name 'suauth.5*' ')' \ + -delete + + # Remove pam.d files provided by pambase. + rm "${ED}"/etc/pam.d/{login,passwd} || die + if use su ; then + rm "${ED}"/etc/pam.d/su || die + fi + fi + + # Remove manpages that are handled by other packages + find "${ED}"/usr/share/man -type f \ + '(' -name id.1 -o -name getspnam.3 ')' \ + -delete || die + + if ! use su ; then + find "${ED}"/usr/share/man -type f -name su.1 -delete || die + fi + + cd "${S}" || die + dodoc ChangeLog NEWS TODO + newdoc README README.download + cd doc || die + dodoc HOWTO README* WISHLIST *.txt + + if use elibc_musl; then + QA_CONFIG_IMPL_DECL_SKIP+=( sgetsgent ) + fi +} + +pkg_preinst() { + rm -f "${EROOT}"/etc/pam.d/system-auth.new \ + "${EROOT}/etc/login.defs.new" +} + +pkg_postinst() { + # Missing entries from /etc/passwd can cause odd system blips. + # See bug #829872. + if ! pwck -r -q -R "${EROOT:-/}" &>/dev/null ; then + ewarn "Running 'pwck' returned errors. Please run it manually to fix any errors." + fi + + local group=shadow + + if [[ -n ${ROOT} ]]; then + # Resolve to a group id using ${ROOT}/etc/passwd + group=$(egetent group shadow | cut -d: -f3) + if [[ -n ${group} ]]; then + chgrp "${group}" "${EROOT}"/usr/bin/{chage,expiry} && + chmod g+s "${EROOT}"/usr/bin/{chage,expiry} + fi + fi + + # Enable shadow groups. + if [[ ! -f "${EROOT}"/etc/gshadow ]] ; then + if grpck -r -R "${EROOT:-/}" 2>/dev/null ; then + grpconv -R "${EROOT:-/}" + if [[ -n ${group} ]]; then + chgrp "${group}" "${EROOT}"/etc/gshadow && + chmod g+r "${EROOT}"/etc/gshadow + fi + else + ewarn "Running 'grpck' returned errors. Please run it by hand, and then" + ewarn "run 'grpconv' afterwards!" + fi + fi + + [[ ! -f "${EROOT}"/etc/subgid ]] && + touch "${EROOT}"/etc/subgid + [[ ! -f "${EROOT}"/etc/subuid ]] && + touch "${EROOT}"/etc/subuid + + einfo "The 'adduser' symlink to 'useradd' has been dropped." +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.19.0_rc1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.19.0_rc1.ebuild new file mode 100644 index 00000000000..10655163227 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.19.0_rc1.ebuild @@ -0,0 +1,266 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Upstream sometimes pushes releases as pre-releases before marking them +# official. Don't keyword the pre-releases! +# Check https://github.com/shadow-maint/shadow/releases. + +inherit libtool pam user-info verify-sig + +DESCRIPTION="Utilities to deal with user accounts" +HOMEPAGE="https://github.com/shadow-maint/shadow" +MY_PV="${PV/_/-}" +MY_P="${PN}-${MY_PV}" +SRC_URI="https://github.com/shadow-maint/shadow/releases/download/${MY_PV}/${MY_P}.tar.xz" +SRC_URI+=" verify-sig? ( https://github.com/shadow-maint/shadow/releases/download/${MY_PV}/${MY_P}.tar.xz.asc )" +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD GPL-2" +# Subslot is for libsubid's SONAME. +SLOT="0/5" +#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="acl audit nls pam selinux skey split-usr su systemd test xattr" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + virtual/libcrypt:= + acl? ( sys-apps/acl:= ) + audit? ( >=sys-process/audit-2.6:= ) + nls? ( virtual/libintl ) + pam? ( sys-libs/pam:= ) + skey? ( sys-auth/skey:= ) + selinux? ( + >=sys-libs/libselinux-1.28:= + sys-libs/libsemanage:= + ) + systemd? ( sys-apps/systemd:= ) + xattr? ( sys-apps/attr:= ) + !/s:^:#:" \ + etc/login.defs || die + else + sed -i -r \ + -e "/^#?${opt}\>/s:.*:${opt} ${val}:" \ + etc/login.defs || die + fi + local res=$(grep "^${comment}${opt}\>" etc/login.defs) + einfo "${res:-Unable to find ${opt} in etc/login.defs}" +} + +src_configure() { + local myeconfargs=( + # Negate new upstream default of disabling for now + --enable-lastlog + --disable-account-tools-setuid + --disable-static + --with-btrfs + # Use bundled replacements for readpassphrase and freezero + --without-libbsd + --without-group-name-max-length + --without-tcb + --with-bcrypt + --with-yescrypt + $(use_enable nls) + # TODO: wire up upstream for elogind too (bug #931119) + $(use_enable systemd logind) + $(use_with acl) + $(use_with audit) + $(use_with elibc_glibc nscd) + $(use_with pam libpam) + $(use_with selinux) + $(use_with skey) + $(use_with su) + $(use_with xattr attr) + ) + + econf "${myeconfargs[@]}" + + set_login_opt CREATE_HOME yes + if use pam; then + # Comment out login.defs options that pam hates + local opts=( + CHFN_AUTH + CONSOLE + ENV_HZ + ENVIRON_FILE + FAILLOG_ENAB + FTMP_FILE + LASTLOG_ENAB + MAIL_CHECK_ENAB + MOTD_FILE + NOLOGINS_FILE + OBSCURE_CHECKS_ENAB + PASS_ALWAYS_WARN + PASS_CHANGE_TRIES + PASS_MIN_LEN + PORTTIME_CHECKS_ENAB + QUOTAS_ENAB + SU_WHEEL_ONLY + ) + local opt sed_args=() + for opt in "${opts[@]}"; do + set_login_opt ${opt} + sed_args+=( -e "/^#${opt}\>/b pamnote" ) + done + sed_args+=( + -e 'b exit' + -e ': pamnote; i# NOTE: This setting should be configured via /etc/pam.d/ and not in this file.' + -e ': exit' + ) + sed -i "${sed_args[@]}" etc/login.defs || die + else + set_login_opt MAIL_CHECK_ENAB no + set_login_opt SU_WHEEL_ONLY yes + set_login_opt LOGIN_RETRIES 3 + set_login_opt ENCRYPT_METHOD YESCRYPT + set_login_opt CONSOLE + fi +} + +src_install() { + emake DESTDIR="${D}" suidperms=4755 install + + fowners :shadow /usr/bin/{chage,expiry} + fperms u-s,g+s /usr/bin/{chage,expiry} + + # 4.9 regression: https://github.com/shadow-maint/shadow/issues/389 + emake DESTDIR="${D}" -C man install + + find "${ED}" -name '*.la' -type f -delete || die + + insinto /etc + doins etc/login.defs + + # needed for 'useradd -D' + insopts -m0600 + insinto /etc/default + doins "${FILESDIR}"/default/useradd + + if ! use pam ; then + doins etc/login.access etc/limits + fi + + if use split-usr ; then + # move passwd to / to help recover broke systems #64441 + # We cannot simply remove this or else net-misc/scponly + # and other tools will break because of hardcoded passwd + # location + dodir /bin + mv "${ED}"/usr/bin/passwd "${ED}"/bin/ || die + dosym ../../bin/passwd /usr/bin/passwd + fi + + if use pam; then + dopamd "${FILESDIR}"/pam.d-include/shadow + + for x in chsh chfn ; do + newpamd "${FILESDIR}"/pam.d-include/passwd ${x} + done + + for x in chpasswd newusers ; do + newpamd "${FILESDIR}"/pam.d-include/chpasswd ${x} + done + + newpamd "${FILESDIR}"/pam.d-include/shadow-r1 groupmems + + # Remove manpages that pam will install for us + # and/or don't apply when using pam + find "${ED}"/usr/share/man -type f \ + '(' -name 'limits.5*' -o -name 'suauth.5*' ')' \ + -delete + + # Remove pam.d files provided by pambase. + rm "${ED}"/etc/pam.d/{login,passwd} || die + if use su ; then + rm "${ED}"/etc/pam.d/su || die + fi + fi + + # Remove manpages that are handled by other packages + find "${ED}"/usr/share/man -type f -name getspnam.3 -delete || die + + if ! use su ; then + find "${ED}"/usr/share/man -type f -name su.1 -delete || die + fi + + dodoc README doc/HOWTO doc/README.limits + + if use elibc_musl; then + QA_CONFIG_IMPL_DECL_SKIP+=( sgetsgent ) + fi +} + +pkg_postinst() { + # Missing entries from /etc/passwd can cause odd system blips. + # See bug #829872. + if ! pwck -r -q -R "${EROOT:-/}" &>/dev/null ; then + ewarn "Running 'pwck' returned errors. Please run it manually to fix any errors." + fi + + local group=shadow + + if [[ -n ${ROOT} ]]; then + # Resolve to a group id using ${ROOT}/etc/passwd + group=$(egetent group shadow | cut -d: -f3) + if [[ -n ${group} ]]; then + chgrp "${group}" "${EROOT}"/usr/bin/{chage,expiry} && + chmod g+s "${EROOT}"/usr/bin/{chage,expiry} + fi + fi + + # Enable shadow groups. + if [[ ! -f "${EROOT}"/etc/gshadow ]] ; then + if grpck -r -R "${EROOT:-/}" 2>/dev/null ; then + grpconv -R "${EROOT:-/}" + if [[ -n ${group} ]]; then + chgrp "${group}" "${EROOT}"/etc/gshadow && + chmod g+r "${EROOT}"/etc/gshadow + fi + else + ewarn "Running 'grpck' returned errors. Please run it by hand, and then" + ewarn "run 'grpconv' afterwards!" + fi + fi + + [[ ! -f "${EROOT}"/etc/subgid ]] && + touch "${EROOT}"/etc/subgid + [[ ! -f "${EROOT}"/etc/subuid ]] && + touch "${EROOT}"/etc/subuid +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-7.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-7.4-r1.ebuild index 4690f627b7d..f4e401715ba 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-7.4-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-7.4-r1.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then inherit autotools subversion else SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos" fi DESCRIPTION="Tools to monitor storage systems to provide advanced warning of disk degradation" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-7.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-7.5-r1.ebuild index 1355249222b..ace43a2b499 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-7.5-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-7.5-r1.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then inherit autotools subversion else SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos" fi DESCRIPTION="Tools to monitor storage systems to provide advanced warning of disk degradation" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-9999.ebuild index ce7381ca96c..d5855edc248 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/smartmontools/smartmontools-9999.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then inherit autotools subversion else SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" fi DESCRIPTION="Tools to monitor storage systems to provide advanced warning of disk degradation" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/Manifest index 33b33288f91..7a4e6ea6a65 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/Manifest @@ -1,3 +1,5 @@ DIST systemd-257.10.tar.gz 16425661 BLAKE2B c8fef145933810110f5470f64dd41213864cc1cae889fb306c817d7a16cc300adbcab27e3a3be91428f0a7d354041f7f9ca431f7745bce9c7cc1e3bb065be84a SHA512 49a2c8cc1cd91363d90165a1145dcc417d524afd428917dad332e4b057ed9fc3ddb5b4beafab094b02a85d930c8aef9b63c8c9c1bc76ef3bdf0ce38a7d46466f DIST systemd-257.9.tar.gz 16401765 BLAKE2B c3ad528d37b89de8f82548807e950b59aab43f875a533ad983169eb539594e5e8230b6b562caee5297dcec4572e27df0e53ebee04f79e85f429f47862031592e SHA512 23b3d2764e0f990d8373068ccb41177793413bc193f7bd34e38b03d6fc3cd32d07c86e9dcbf07e32904075bb5eeca208f65beab04d628ac0e0b81ba87a975c1b DIST systemd-258.2.tar.gz 16989522 BLAKE2B 55c8a134d2c80241ed654fab6bf2df0a2139313dbbb905f3abf07c9f86940ff03c8787fe7c4604c34bbb84088c15cd73ae5e013929b290b92808b5473550235e SHA512 1dc016a5a037aec2682e08d2add0dcf8d03db15b45ce8c6b677898f734aefd4694ce18e588d579e42514071fc4c167b2bf53808478b2bd3856b257c9fbcde45d +DIST systemd-258.3.tar.gz 17034328 BLAKE2B 668f5829d78412b256f49c3f46dffad5cf70fa335de3e5ca822bdc13e4f67874ac28005b616e7fdc0f3235f760c68809ae3ac97e1f53d3ca43fb7e0934ec0de9 SHA512 9f4261e1703efd1f38c90e4166e6d85fa9379c99ac7f3c66caa62955c3cbe8a43ab259c261ab20bce0dd84dd682258192ace66b4dee0390bf3740c32f4569fed +DIST systemd-259.tar.gz 17250241 BLAKE2B 59ba6edea59338fc30d4cf72b197e8eda2ccd4fc7d53f016c0b9bd4422433839696fe553b58dcf1f31345ec92080a426a04a2878fd97cb17b3b1e3f92f08e135 SHA512 ef46b13661df43e3cfbeee1bc22f0b1eb902e8ebe39c19868c465efd08b35a199c2a2cd9d8021a6bc4d692fa0c6e0eab3f13eecd6ce24dde81d3945464a25b50 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/gentoo-journald-audit-r2.patch b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/gentoo-journald-audit-r4.patch similarity index 50% rename from sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/gentoo-journald-audit-r2.patch rename to sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/gentoo-journald-audit-r4.patch index 0b1b16e6969..e7906f4137d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/gentoo-journald-audit-r2.patch +++ b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/gentoo-journald-audit-r4.patch @@ -1,4 +1,4 @@ -From 7b9ee7375ca9a1521ff36dd9ceb8a26e59572a6e Mon Sep 17 00:00:00 2001 +From 0f16422e52ef793407d1cbef0c38eff29d6e251c Mon Sep 17 00:00:00 2001 From: Mike Gilbert Date: Wed, 17 Sep 2025 15:40:57 -0400 Subject: [PATCH] journald: do not change the kernel audit setting by default @@ -7,45 +7,45 @@ Bug: https://bugs.gentoo.org/736910 --- man/journald.conf.xml | 2 +- src/journal/journald-config.c | 2 +- - src/journal/journald.conf | 2 +- + src/journal/journald.conf.in | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/man/journald.conf.xml b/man/journald.conf.xml -index 1a68ba8698..a9a77a51d1 100644 +index 1d615b110d..4676d674a2 100644 --- a/man/journald.conf.xml +++ b/man/journald.conf.xml -@@ -482,7 +482,7 @@ - kernel auditing on start-up. If disabled it will turn it off. If unset it will neither enable nor - disable it, leaving the previous state unchanged. This means if another tool turns on auditing even - if systemd-journald left it off, it will still collect the generated -- messages. Defaults to on in the default journal namespace, and unset otherwise. -+ messages. +@@ -483,7 +483,7 @@ + turn it off. When keep it will neither enable nor disable it, leaving the previous + state unchanged. This means if another tool turns on auditing even if + systemd-journald left it off, it will still collect the generated messages. +- Defaults to yes in the default journal namespace, and keep otherwise. ++ Defaults to keep. + + - Note that this option does not control whether systemd-journald collects - generated audit records, it just controls whether it tells the kernel to generate them. If you need diff --git a/src/journal/journald-config.c b/src/journal/journald-config.c -index dd2e29e296..4160fa2ab9 100644 +index 8cffec880b..ea3bb34a76 100644 --- a/src/journal/journald-config.c +++ b/src/journal/journald-config.c -@@ -122,7 +122,7 @@ void manager_merge_configs(Manager *m) { +@@ -123,7 +123,7 @@ void manager_merge_configs(Manager *m) { MERGE_NON_NEGATIVE(read_kmsg, !m->namespace); /* By default, kernel auditing is enabled by the main namespace instance, and not controlled by * non-default namespace instances. */ -- MERGE_NON_NEGATIVE(set_audit, m->namespace ? -1 : true); -+ MERGE_NON_NEGATIVE(set_audit, -1); +- MERGE_NON_NEGATIVE(set_audit, m->namespace ? AUDIT_KEEP : AUDIT_YES); ++ MERGE_NON_NEGATIVE(set_audit, AUDIT_KEEP); MERGE_NON_ZERO(sync_interval_usec, DEFAULT_SYNC_INTERVAL_USEC); /* TODO: also merge them when comdline or credentials support to configure them. */ diff --git a/src/journal/journald.conf b/src/journal/journald.conf -index 9a12ca7657..e42efbcf84 100644 ---- a/src/journal/journald.conf -+++ b/src/journal/journald.conf +index 9a12ca7657..3be3ed7327 100644 +--- a/src/journal/journald.conf.in ++++ b/src/journal/journald.conf.in @@ -47,4 +47,4 @@ #MaxLevelSocket=debug #LineMax=48K #ReadKMsg=yes -#Audit=yes -+#Audit= ++#Audit=keep -- 2.51.0 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/systemd-258.3-kernel-install-test.patch b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/systemd-258.3-kernel-install-test.patch new file mode 100644 index 00000000000..b67c9a87f8d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/systemd-258.3-kernel-install-test.patch @@ -0,0 +1,16 @@ +Revert for 258.3 of https://github.com/systemd/systemd/pull/39945 as that +commit got backported. It fails because master has the kernel install moved +to /var/tmp and this test change assumed that. + +--- a/src/kernel-install/test-kernel-install.sh ++++ b/src/kernel-install/test-kernel-install.sh +@@ -318,7 +318,7 @@ diff -u <(echo "$output") - >&2 <=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] + test? ( ${PEFILE_DEPEND} ) + ) + ") +" + +QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*" +QA_EXECSTACK="usr/lib/systemd/boot/efi/*" + +check_cgroup_layout() { + # https://bugs.gentoo.org/935261 + [[ ${MERGE_TYPE} != buildonly ]] || return + [[ -z ${ROOT} ]] || return + [[ -e /sys/fs/cgroup/unified ]] || return + grep -q 'SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1' /proc/cmdline && return + + eerror "This system appears to be booted with the 'hybrid' cgroup layout." + eerror "This layout obsolete and is disabled in systemd." + + if grep -qF 'systemd.unified_cgroup_hierarchy'; then + eerror "Remove the systemd.unified_cgroup_hierarchy option" + eerror "from the kernel command line and reboot." + die "hybrid cgroup layout detected" + fi +} + +pkg_pretend() { + if use split-usr; then + eerror "Please complete the migration to merged-usr." + eerror "https://wiki.gentoo.org/wiki/Merge-usr" + die "systemd no longer supports split-usr" + fi + + check_cgroup_layout + + if use cgroup-hybrid; then + eerror "Disable the 'cgroup-hybrid' USE flag." + eerror "Rebuild any initramfs images after rebuilding systemd." + die "cgroup-hybrid is no longer supported" + fi + + if [[ ${MERGE_TYPE} != buildonly ]]; then + local CONFIG_CHECK="~BLK_DEV_BSG ~CGROUPS + ~CGROUP_BPF ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE + ~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS + ~TIMERFD ~TMPFS_XATTR ~UNIX ~USER_NS + ~CRYPTO_HMAC ~CRYPTO_SHA256 ~CRYPTO_USER_API_HASH + ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED + ~!SYSFS_DEPRECATED_V2" + + use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL" + use bpf && CONFIG_CHECK+=" ~BPF ~BPF_SYSCALL ~BPF_LSM ~DEBUG_INFO_BTF" + use seccomp && CONFIG_CHECK+=" ~SECCOMP ~SECCOMP_FILTER" + + if kernel_is -ge 5 10 20; then + CONFIG_CHECK+=" ~KCMP" + else + CONFIG_CHECK+=" ~CHECKPOINT_RESTORE" + fi + + if kernel_is -ge 4 18; then + CONFIG_CHECK+=" ~AUTOFS_FS" + else + CONFIG_CHECK+=" ~AUTOFS4_FS" + fi + + if linux_config_exists; then + local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH) + if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then + ewarn "It's recommended to set an empty value to the following kernel config option:" + ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}" + fi + if linux_chkconfig_present X86; then + CONFIG_CHECK+=" ~DMIID" + fi + fi + + if kernel_is -lt ${MINKV//./ }; then + ewarn "Kernel version at least ${MINKV} required" + fi + + check_extra_config + fi +} + +pkg_setup() { + use boot && secureboot_pkg_setup +} + +src_unpack() { + default + [[ ${PV} != 9999 ]] || git-r3_src_unpack +} + +src_prepare() { + local PATCHES=( + "${FILESDIR}/systemd-258-shared-add-missing-alloc-util.patch" + "${FILESDIR}/systemd-258.3-kernel-install-test.patch" + ) + + if ! use vanilla; then + PATCHES+=( + "${FILESDIR}/gentoo-journald-audit-r3.patch" + ) + fi + + default +} + +src_configure() { + # Prevent conflicts with i686 cross toolchain, bug 559726 + tc-export AR CC NM OBJCOPY RANLIB + + python_setup + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --localstatedir="${EPREFIX}/var" + -Ddocdir="share/doc/${PF}" + # default is developer, bug 918671 + -Dmode=release + -Dsupport-url="https://gentoo.org/support/" + -Dpamlibdir="$(getpam_mod_dir)" + # avoid bash-completion dep + -Dbashcompletiondir="$(get_bashcompdir)" + -Dsplit-bin=false + # Disable compatibility with sysvinit + -Dsysvinit-path= + -Dsysvrcnd-path= + # no deps + -Dima=true + # Match /etc/shells, bug 919749 + -Ddebug-shell="${EPREFIX}/bin/sh" + -Ddefault-user-shell="${EPREFIX}/bin/bash" + # Optional components/dependencies + $(meson_native_use_feature acl) + $(meson_native_use_feature apparmor) + $(meson_native_use_feature audit) + $(meson_native_use_feature boot bootloader) + $(meson_native_use_feature bpf bpf-framework) + -Dbpf-compiler=gcc + $(meson_native_use_feature cryptsetup libcryptsetup) + $(meson_native_use_feature curl libcurl) + $(meson_native_use_bool dns-over-tls dns-over-tls) + $(meson_native_use_feature elfutils) + $(meson_native_use_feature fido2 libfido2) + $(meson_feature gcrypt) + $(meson_native_use_feature gnutls) + $(meson_native_use_feature homed) + $(meson_native_use_feature http microhttpd) + $(meson_native_use_bool idn) + $(meson_native_use_feature importd) + $(meson_native_use_feature importd bzip2) + $(meson_native_use_feature importd zlib) + $(meson_native_use_bool kernel-install) + $(meson_native_use_feature kmod) + $(meson_feature lz4) + $(meson_feature lzma xz) + $(meson_use test tests) + $(meson_feature zstd) + $(meson_native_use_feature iptables libiptc) + $(meson_native_use_feature openssl) + $(meson_feature pam) + $(meson_native_use_feature passwdqc) + $(meson_native_use_feature pkcs11 p11kit) + $(meson_native_use_feature pcre pcre2) + $(meson_native_use_feature policykit polkit) + $(meson_native_use_feature pwquality) + $(meson_native_use_feature qrcode qrencode) + $(meson_native_use_feature seccomp) + $(meson_native_use_feature selinux) + $(meson_native_use_feature tpm tpm2) + $(meson_native_use_feature test dbus) + $(meson_native_use_feature ukify) + $(meson_native_use_feature xkb xkbcommon) + -Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org" + # Breaks screen, tmux, etc. + -Ddefault-kill-user-processes=false + -Dcreate-log-dirs=false + + # multilib options + $(meson_native_true backlight) + $(meson_native_true binfmt) + $(meson_native_true coredump) + $(meson_native_true environment-d) + $(meson_native_true firstboot) + $(meson_native_true hibernate) + $(meson_native_true hostnamed) + $(meson_native_true ldconfig) + $(meson_native_true localed) + $(meson_native_enabled man) + $(meson_native_true networkd) + $(meson_native_true quotacheck) + $(meson_native_true randomseed) + $(meson_native_true rfkill) + $(meson_native_true sysusers) + $(meson_native_true timedated) + $(meson_native_true timesyncd) + $(meson_native_true tmpfiles) + $(meson_native_true vconsole) + ) + + case $(tc-arch) in + amd64|arm|arm64|loong|ppc|ppc64|riscv|s390|x86) + # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE + myconf+=( $(meson_native_enabled vmspawn) ) ;; + *) + myconf+=( -Dvmspawn=disabled ) ;; + esac + + meson_src_configure "${myconf[@]}" +} + +multilib_src_test() { + ( + unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR + export COLUMNS=80 + addpredict /dev + addpredict /proc + addpredict /run + addpredict /sys/fs/cgroup + meson_src_test --timeout-multiplier=10 + ) || die +} + +multilib_src_install_all() { + einstalldocs + dodoc "${FILESDIR}"/nsswitch.conf + + insinto /usr/lib/tmpfiles.d + doins "${FILESDIR}"/legacy.conf + + if ! use resolvconf; then + rm -f "${ED}"/usr/bin/resolvconf || die + fi + + if ! use sysv-utils; then + rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die + rm "${ED}"/usr/share/man/man1/init.1 || die + rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || die + fi + + # https://bugs.gentoo.org/761763 + rm -r "${ED}"/usr/lib/sysusers.d || die + + # Preserve empty dirs in /etc & /var, bug #437008 + keepdir /etc/{binfmt.d,modules-load.d,tmpfiles.d} + keepdir /etc/kernel/install.d + keepdir /etc/systemd/{network,system,user} + keepdir /etc/udev/rules.d + + keepdir /etc/udev/hwdb.d + + keepdir /usr/lib/systemd/{system-sleep,system-shutdown} + keepdir /usr/lib/{binfmt.d,modules-load.d} + keepdir /usr/lib/systemd/user-generators + keepdir /var/lib/systemd + keepdir /var/log/journal + + if use pam; then + if use selinux; then + newpamd "${FILESDIR}"/systemd-user-selinux.pam systemd-user + else + newpamd "${FILESDIR}"/systemd-user.pam systemd-user + fi + fi + + if use kernel-install; then + # Dummy config, remove to make room for sys-kernel/installkernel + rm "${ED}/usr/lib/kernel/install.conf" || die + fi + + use ukify && python_fix_shebang "${ED}" + use boot && secureboot_auto_sign +} + +migrate_locale() { + local envd_locale_def="${EROOT}/etc/env.d/02locale" + local envd_locale=( "${EROOT}"/etc/env.d/??locale ) + local locale_conf="${EROOT}/etc/locale.conf" + + if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then + # If locale.conf does not exist... + if [[ -e ${envd_locale} ]]; then + # ...either copy env.d/??locale if there's one + ebegin "Moving ${envd_locale} to ${locale_conf}" + mv "${envd_locale}" "${locale_conf}" + eend ${?} || FAIL=1 + else + # ...or create a dummy default + ebegin "Creating ${locale_conf}" + cat > "${locale_conf}" <<-EOF + # This file has been created by the sys-apps/systemd ebuild. + # See locale.conf(5) and localectl(1). + + # LANG=${LANG} + EOF + eend ${?} || FAIL=1 + fi + fi + + if [[ ! -L ${envd_locale} ]]; then + # now, if env.d/??locale is not a symlink (to locale.conf)... + if [[ -e ${envd_locale} ]]; then + # ...warn the user that he has duplicate locale settings + ewarn + ewarn "To ensure consistent behavior, you should replace ${envd_locale}" + ewarn "with a symlink to ${locale_conf}. Please migrate your settings" + ewarn "and create the symlink with the following command:" + ewarn "ln -s -n -f ../locale.conf ${envd_locale}" + ewarn + else + # ...or just create the symlink if there's nothing here + ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink" + ln -n -s ../locale.conf "${envd_locale_def}" + eend ${?} || FAIL=1 + fi + fi +} + +pkg_preinst() { + if [[ -e ${EROOT}/etc/sysctl.conf ]]; then + # Symlink /etc/sysctl.conf for easy migration. + dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf + fi + + if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then + ewarn "The 'gnuefi' USE flag has been renamed to 'boot'." + ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot." + fi +} + +pkg_postinst() { + systemd_update_catalog + + # Keep this here in case the database format changes so it gets updated + # when required. + systemd-hwdb --root="${ROOT}" update + + udev_reload || FAIL=1 + + # Bug 465468, make sure locales are respected, and ensure consistency + # between OpenRC & systemd + migrate_locale + + if [[ -z ${REPLACING_VERSIONS} ]]; then + if type systemctl &>/dev/null; then + systemctl --root="${ROOT:-/}" enable getty@.service remote-fs.target || FAIL=1 + fi + elog "To enable a useful set of services, run the following:" + elog " systemctl preset-all --preset-mode=enable-only" + fi + + if [[ -L ${EROOT}/var/lib/systemd/timesync ]]; then + rm "${EROOT}/var/lib/systemd/timesync" + fi + + if [[ -z ${ROOT} && -d /run/systemd/system ]]; then + ebegin "Reexecuting system manager (systemd)" + systemctl daemon-reexec + eend $? || FAIL=1 + + # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html + ebegin "Signaling user managers to reexec" + systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service' + eend $? + fi + + if [[ ${FAIL} ]]; then + eerror "One of the postinst commands failed. Please check the postinst output" + eerror "for errors. You may need to clean up your system and/or try installing" + eerror "systemd again." + eerror + fi + + if use boot; then + optfeature "installing kernels in systemd-boot's native layout and update loader entries" \ + "sys-kernel/installkernel[systemd-boot]" + fi + if use ukify; then + optfeature "generating unified kernel image on each kernel installation" \ + "sys-kernel/installkernel[ukify]" + fi +} + +pkg_prerm() { + # If removing systemd completely, remove the catalog database. + if [[ ! ${REPLACED_BY_VERSION} ]]; then + rm -f -v "${EROOT}"/var/lib/systemd/catalog/database + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.ebuild new file mode 100644 index 00000000000..f17ee9848ec --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.ebuild @@ -0,0 +1,576 @@ +# Copyright 2011-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{11..14} ) + +# Avoid QA warnings +TMPFILES_OPTIONAL=1 +UDEV_OPTIONAL=1 + +QA_PKGCONFIG_VERSION=$(ver_cut 1) + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/systemd/systemd.git" + inherit git-r3 +else + MY_PV=${PV/_/-} + MY_P=${PN}-${MY_PV} + S=${WORKDIR}/${MY_P} + SRC_URI="https://github.com/systemd/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz" + + if [[ ${PV} != *rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + fi +fi + +inherit bash-completion-r1 linux-info meson-multilib optfeature pam python-single-r1 +inherit secureboot systemd toolchain-funcs udev + +DESCRIPTION="System and service manager for Linux" +HOMEPAGE="https://systemd.io/" + +LICENSE="GPL-2 LGPL-2.1 MIT public-domain" +SLOT="0/2" +IUSE=" + acl apparmor audit boot bpf cgroup-hybrid cryptsetup curl +dns-over-tls elfutils + fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod + +lz4 lzma +openssl pam passwdqc pcre pkcs11 policykit pwquality qrcode + +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd +" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + dns-over-tls? ( openssl ) + fido2? ( cryptsetup openssl ) + homed? ( cryptsetup pam openssl ) + importd? ( curl lzma openssl ) + ?? ( passwdqc pwquality ) + passwdqc? ( homed ) + pwquality? ( homed ) + boot? ( kernel-install ) + ukify? ( boot ) +" +RESTRICT="!test? ( test )" + +MINKV="4.15" + +COMMON_DEPEND=" + >=sys-apps/util-linux-2.32:0=[${MULTILIB_USEDEP}] + sys-libs/libcap:0=[${MULTILIB_USEDEP}] + virtual/libcrypt:=[${MULTILIB_USEDEP}] + acl? ( sys-apps/acl:0= ) + apparmor? ( >=sys-libs/libapparmor-2.13:0= ) + audit? ( >=sys-process/audit-2:0= ) + bpf? ( >=dev-libs/libbpf-1.4.0:0= ) + cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= ) + curl? ( >=net-misc/curl-7.32.0:0= ) + elfutils? ( >=dev-libs/elfutils-0.158:0= ) + fido2? ( + dev-libs/libfido2:0= + ) + gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] ) + gnutls? ( >=net-libs/gnutls-3.6.0:0= ) + http? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] ) + idn? ( net-dns/libidn2:= ) + importd? ( + app-arch/bzip2:0= + virtual/zlib:= + ) + kmod? ( >=sys-apps/kmod-15:0= ) + lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[${MULTILIB_USEDEP}] ) + iptables? ( net-firewall/iptables:0= ) + openssl? ( >=dev-libs/openssl-1.1.0:0= ) + pam? ( sys-libs/pam:=[${MULTILIB_USEDEP}] ) + passwdqc? ( sys-auth/passwdqc:0= ) + pkcs11? ( >=app-crypt/p11-kit-0.23.3:0= ) + pcre? ( dev-libs/libpcre2 ) + pwquality? ( >=dev-libs/libpwquality-1.4.1:0= ) + qrcode? ( >=media-gfx/qrencode-3:0= ) + seccomp? ( >=sys-libs/libseccomp-2.3.3:0= ) + selinux? ( >=sys-libs/libselinux-2.1.9:0= ) + tpm? ( app-crypt/tpm2-tss:0= ) + xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= ) + zstd? ( >=app-arch/zstd-1.4.0:0=[${MULTILIB_USEDEP}] ) +" + +# Newer linux-headers needed by ia64, bug #480218 +DEPEND="${COMMON_DEPEND} + >=sys-kernel/linux-headers-${MINKV} +" + +PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]' + +# baselayout-2.2 has /run +RDEPEND="${COMMON_DEPEND} + >=acct-group/adm-0-r1 + >=acct-group/wheel-0-r1 + >=acct-group/kmem-0-r1 + >=acct-group/tty-0-r1 + >=acct-group/utmp-0-r1 + >=acct-group/audio-0-r1 + >=acct-group/cdrom-0-r1 + acct-group/clock + >=acct-group/dialout-0-r1 + >=acct-group/disk-0-r1 + >=acct-group/input-0-r1 + >=acct-group/kvm-0-r1 + >=acct-group/lp-0-r1 + >=acct-group/render-0-r1 + acct-group/sgx + >=acct-group/tape-0-r1 + acct-group/users + >=acct-group/video-0-r1 + >=acct-group/systemd-journal-0-r1 + >=acct-user/root-0-r1 + acct-user/nobody + >=acct-user/systemd-journal-remote-0-r1 + >=acct-user/systemd-coredump-0-r1 + >=acct-user/systemd-network-0-r1 + acct-user/systemd-oom + >=acct-user/systemd-resolve-0-r1 + >=acct-user/systemd-timesync-0-r1 + >=sys-apps/baselayout-2.2 + ukify? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep "${PEFILE_DEPEND}") + ) + selinux? ( + sec-policy/selinux-base-policy[systemd] + sec-policy/selinux-ntp + ) + sysv-utils? ( + !sys-apps/openrc[sysv-utils(-)] + !sys-apps/sysvinit + ) + !sysv-utils? ( sys-apps/sysvinit ) + resolvconf? ( !net-dns/openresolv ) + !sys-apps/hwids[udev] + !sys-auth/nss-myhostname + !sys-fs/eudev + !sys-fs/udev +" + +# sys-apps/dbus: the daemon only (+ build-time lib dep for tests) +PDEPEND=">=sys-apps/dbus-1.9.8[systemd] + >=sys-fs/udev-init-scripts-34 + policykit? ( sys-auth/polkit ) + !vanilla? ( sys-apps/gentoo-systemd-integration )" + +BDEPEND=" + app-arch/xz-utils:0 + dev-util/gperf + >=dev-build/meson-0.46 + >=sys-apps/coreutils-8.16 + sys-devel/gettext + virtual/pkgconfig + bpf? ( + >=dev-util/bpftool-7.0.0 + sys-devel/bpf-toolchain + ) + test? ( + app-text/tree + dev-lang/perl + sys-apps/dbus + ) + app-text/docbook-xml-dtd:4.2 + app-text/docbook-xml-dtd:4.5 + app-text/docbook-xsl-stylesheets + dev-libs/libxslt:0 + ${PYTHON_DEPS} + $(python_gen_cond_dep " + dev-python/jinja2[\${PYTHON_USEDEP}] + dev-python/lxml[\${PYTHON_USEDEP}] + boot? ( + >=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] + test? ( ${PEFILE_DEPEND} ) + ) + ") +" + +QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*" +QA_EXECSTACK="usr/lib/systemd/boot/efi/*" + +check_cgroup_layout() { + # https://bugs.gentoo.org/935261 + [[ ${MERGE_TYPE} != buildonly ]] || return + [[ -z ${ROOT} ]] || return + [[ -e /sys/fs/cgroup/unified ]] || return + grep -q 'SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1' /proc/cmdline && return + + eerror "This system appears to be booted with the 'hybrid' cgroup layout." + eerror "This layout obsolete and is disabled in systemd." + + if grep -qF 'systemd.unified_cgroup_hierarchy'; then + eerror "Remove the systemd.unified_cgroup_hierarchy option" + eerror "from the kernel command line and reboot." + die "hybrid cgroup layout detected" + fi +} + +pkg_pretend() { + if use split-usr; then + eerror "Please complete the migration to merged-usr." + eerror "https://wiki.gentoo.org/wiki/Merge-usr" + die "systemd no longer supports split-usr" + fi + + check_cgroup_layout + + if use cgroup-hybrid; then + eerror "Disable the 'cgroup-hybrid' USE flag." + eerror "Rebuild any initramfs images after rebuilding systemd." + die "cgroup-hybrid is no longer supported" + fi + + if [[ ${MERGE_TYPE} != buildonly ]]; then + local CONFIG_CHECK="~BLK_DEV_BSG ~CGROUPS + ~CGROUP_BPF ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE + ~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS + ~TIMERFD ~TMPFS_XATTR ~UNIX ~USER_NS + ~CRYPTO_HMAC ~CRYPTO_SHA256 ~CRYPTO_USER_API_HASH + ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED + ~!SYSFS_DEPRECATED_V2" + + use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL" + use bpf && CONFIG_CHECK+=" ~BPF ~BPF_SYSCALL ~BPF_LSM ~DEBUG_INFO_BTF" + use seccomp && CONFIG_CHECK+=" ~SECCOMP ~SECCOMP_FILTER" + + if kernel_is -ge 5 10 20; then + CONFIG_CHECK+=" ~KCMP" + else + CONFIG_CHECK+=" ~CHECKPOINT_RESTORE" + fi + + if kernel_is -ge 4 18; then + CONFIG_CHECK+=" ~AUTOFS_FS" + else + CONFIG_CHECK+=" ~AUTOFS4_FS" + fi + + if linux_config_exists; then + local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH) + if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then + ewarn "It's recommended to set an empty value to the following kernel config option:" + ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}" + fi + if linux_chkconfig_present X86; then + CONFIG_CHECK+=" ~DMIID" + fi + fi + + if kernel_is -lt ${MINKV//./ }; then + ewarn "Kernel version at least ${MINKV} required" + fi + + check_extra_config + fi +} + +pkg_setup() { + use boot && secureboot_pkg_setup +} + +src_unpack() { + default + [[ ${PV} != 9999 ]] || git-r3_src_unpack +} + +src_prepare() { + local PATCHES=( + ) + + if ! use vanilla; then + PATCHES+=( + "${FILESDIR}/gentoo-journald-audit-r4.patch" + ) + fi + + default +} + +src_configure() { + # Prevent conflicts with i686 cross toolchain, bug 559726 + tc-export AR CC NM OBJCOPY RANLIB + + python_setup + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --localstatedir="${EPREFIX}/var" + -Ddocdir="share/doc/${PF}" + # default is developer, bug 918671 + -Dmode=release + -Dsupport-url="https://gentoo.org/support/" + -Dpamlibdir="$(getpam_mod_dir)" + # avoid bash-completion dep + -Dbashcompletiondir="$(get_bashcompdir)" + -Dsplit-bin=false + # Disable compatibility with sysvinit + -Dsysvinit-path= + -Dsysvrcnd-path= + # no deps + -Dima=true + # Match /etc/shells, bug 919749 + -Ddebug-shell="${EPREFIX}/bin/sh" + -Ddefault-user-shell="${EPREFIX}/bin/bash" + # Optional components/dependencies + $(meson_native_use_feature acl) + $(meson_native_use_feature apparmor) + $(meson_native_use_feature audit) + $(meson_native_use_feature boot bootloader) + $(meson_native_use_feature bpf bpf-framework) + -Dbpf-compiler=gcc + $(meson_native_use_feature cryptsetup libcryptsetup) + $(meson_native_use_feature curl libcurl) + $(meson_native_use_bool dns-over-tls dns-over-tls) + $(meson_native_use_feature elfutils) + $(meson_native_use_feature fido2 libfido2) + $(meson_feature gcrypt) + $(meson_native_use_feature gnutls) + $(meson_native_use_feature homed) + $(meson_native_use_feature http microhttpd) + $(meson_native_use_bool idn) + $(meson_native_use_feature importd) + $(meson_native_use_feature importd bzip2) + $(meson_native_use_feature importd zlib) + $(meson_native_use_bool kernel-install) + $(meson_native_use_feature kmod) + $(meson_feature lz4) + $(meson_feature lzma xz) + $(meson_use test tests) + $(meson_feature zstd) + $(meson_native_use_feature iptables libiptc) + $(meson_native_use_feature openssl) + $(meson_feature pam) + $(meson_native_use_feature passwdqc) + $(meson_native_use_feature pkcs11 p11kit) + $(meson_native_use_feature pcre pcre2) + $(meson_native_use_feature policykit polkit) + $(meson_native_use_feature pwquality) + $(meson_native_use_feature qrcode qrencode) + $(meson_native_use_feature seccomp) + $(meson_native_use_feature selinux) + $(meson_native_use_feature tpm tpm2) + $(meson_native_use_feature test dbus) + $(meson_native_use_feature ukify) + $(meson_native_use_feature xkb xkbcommon) + -Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org" + # Breaks screen, tmux, etc. + -Ddefault-kill-user-processes=false + -Dcreate-log-dirs=false + + # multilib options + $(meson_native_true backlight) + $(meson_native_true binfmt) + $(meson_native_true coredump) + $(meson_native_true environment-d) + $(meson_native_true firstboot) + $(meson_native_true hibernate) + $(meson_native_true hostnamed) + $(meson_native_true ldconfig) + $(meson_native_true localed) + $(meson_native_enabled man) + $(meson_native_true networkd) + $(meson_native_true quotacheck) + $(meson_native_true randomseed) + $(meson_native_true rfkill) + $(meson_native_true sysusers) + $(meson_native_true timedated) + $(meson_native_true timesyncd) + $(meson_native_true tmpfiles) + $(meson_native_true vconsole) + ) + + case $(tc-arch) in + amd64|arm|arm64|loong|ppc|ppc64|riscv|s390|x86) + # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE + myconf+=( $(meson_native_enabled vmspawn) ) ;; + *) + myconf+=( -Dvmspawn=disabled ) ;; + esac + + meson_src_configure "${myconf[@]}" +} + +multilib_src_test() { + ( + unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR + export COLUMNS=80 + addpredict /dev + addpredict /proc + addpredict /run + addpredict /sys/fs/cgroup + meson_src_test --timeout-multiplier=10 + ) || die +} + +multilib_src_install_all() { + einstalldocs + dodoc "${FILESDIR}"/nsswitch.conf + + insinto /usr/lib/tmpfiles.d + doins "${FILESDIR}"/legacy.conf + + if ! use resolvconf; then + rm -f "${ED}"/usr/bin/resolvconf || die + fi + + if ! use sysv-utils; then + rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die + rm "${ED}"/usr/share/man/man1/init.1 || die + rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || die + fi + + # https://bugs.gentoo.org/761763 + rm -r "${ED}"/usr/lib/sysusers.d || die + + # Preserve empty dirs in /etc & /var, bug #437008 + keepdir /etc/{binfmt.d,modules-load.d,tmpfiles.d} + keepdir /etc/kernel/install.d + keepdir /etc/systemd/{network,system,user} + keepdir /etc/udev/rules.d + + keepdir /etc/udev/hwdb.d + + keepdir /usr/lib/systemd/{system-sleep,system-shutdown} + keepdir /usr/lib/{binfmt.d,modules-load.d} + keepdir /usr/lib/systemd/user-generators + keepdir /var/lib/systemd + keepdir /var/log/journal + + if use pam; then + if use selinux; then + newpamd "${FILESDIR}"/systemd-user-selinux.pam systemd-user + else + newpamd "${FILESDIR}"/systemd-user.pam systemd-user + fi + fi + + if use kernel-install; then + # Dummy config, remove to make room for sys-kernel/installkernel + rm "${ED}/usr/lib/kernel/install.conf" || die + fi + + use ukify && python_fix_shebang "${ED}" + use boot && secureboot_auto_sign +} + +migrate_locale() { + local envd_locale_def="${EROOT}/etc/env.d/02locale" + local envd_locale=( "${EROOT}"/etc/env.d/??locale ) + local locale_conf="${EROOT}/etc/locale.conf" + + if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then + # If locale.conf does not exist... + if [[ -e ${envd_locale} ]]; then + # ...either copy env.d/??locale if there's one + ebegin "Moving ${envd_locale} to ${locale_conf}" + mv "${envd_locale}" "${locale_conf}" + eend ${?} || FAIL=1 + else + # ...or create a dummy default + ebegin "Creating ${locale_conf}" + cat > "${locale_conf}" <<-EOF + # This file has been created by the sys-apps/systemd ebuild. + # See locale.conf(5) and localectl(1). + + # LANG=${LANG} + EOF + eend ${?} || FAIL=1 + fi + fi + + if [[ ! -L ${envd_locale} ]]; then + # now, if env.d/??locale is not a symlink (to locale.conf)... + if [[ -e ${envd_locale} ]]; then + # ...warn the user that he has duplicate locale settings + ewarn + ewarn "To ensure consistent behavior, you should replace ${envd_locale}" + ewarn "with a symlink to ${locale_conf}. Please migrate your settings" + ewarn "and create the symlink with the following command:" + ewarn "ln -s -n -f ../locale.conf ${envd_locale}" + ewarn + else + # ...or just create the symlink if there's nothing here + ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink" + ln -n -s ../locale.conf "${envd_locale_def}" + eend ${?} || FAIL=1 + fi + fi +} + +pkg_preinst() { + if [[ -e ${EROOT}/etc/sysctl.conf ]]; then + # Symlink /etc/sysctl.conf for easy migration. + dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf + fi + + if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then + ewarn "The 'gnuefi' USE flag has been renamed to 'boot'." + ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot." + fi +} + +pkg_postinst() { + systemd_update_catalog + + # Keep this here in case the database format changes so it gets updated + # when required. + systemd-hwdb --root="${ROOT}" update + + udev_reload || FAIL=1 + + # Bug 465468, make sure locales are respected, and ensure consistency + # between OpenRC & systemd + migrate_locale + + if [[ -z ${REPLACING_VERSIONS} ]]; then + if type systemctl &>/dev/null; then + systemctl --root="${ROOT:-/}" enable getty@.service remote-fs.target || FAIL=1 + fi + elog "To enable a useful set of services, run the following:" + elog " systemctl preset-all --preset-mode=enable-only" + fi + + if [[ -L ${EROOT}/var/lib/systemd/timesync ]]; then + rm "${EROOT}/var/lib/systemd/timesync" + fi + + if [[ -z ${ROOT} && -d /run/systemd/system ]]; then + ebegin "Reexecuting system manager (systemd)" + systemctl daemon-reexec + eend $? || FAIL=1 + + # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html + ebegin "Signaling user managers to reexec" + systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service' + eend $? + fi + + if [[ ${FAIL} ]]; then + eerror "One of the postinst commands failed. Please check the postinst output" + eerror "for errors. You may need to clean up your system and/or try installing" + eerror "systemd again." + eerror + fi + + if use boot; then + optfeature "installing kernels in systemd-boot's native layout and update loader entries" \ + "sys-kernel/installkernel[systemd-boot]" + fi + if use ukify; then + optfeature "generating unified kernel image on each kernel installation" \ + "sys-kernel/installkernel[ukify]" + fi +} + +pkg_prerm() { + # If removing systemd completely, remove the catalog database. + if [[ ! ${REPLACED_BY_VERSION} ]]; then + rm -f -v "${EROOT}"/var/lib/systemd/catalog/database + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-9999.ebuild index e0d808b2954..ade9936865f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-9999.ebuild @@ -282,7 +282,7 @@ src_prepare() { if ! use vanilla; then PATCHES+=( - "${FILESDIR}/gentoo-journald-audit-r2.patch" + "${FILESDIR}/gentoo-journald-audit-r4.patch" ) fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.2-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.2-r3.ebuild index 3653229c67d..5f35d393b1a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.2-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.2-r3.ebuild @@ -27,7 +27,7 @@ elif [[ $(ver_cut 3) -ge 90 || $(ver_cut 4) -ge 90 ]] ; then REGEN_BDEPEND="" else SRC_URI="mirror://gnu/${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 ~arm64-macos ~x64-macos ~x64-solaris" REGEN_BDEPEND="" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.2-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.2-r4.ebuild index 3844b6678c3..5beb2a5de96 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.2-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.2-r4.ebuild @@ -27,7 +27,7 @@ elif [[ $(ver_cut 3) -ge 90 || $(ver_cut 4) -ge 90 ]] ; then REGEN_BDEPEND="" else SRC_URI="mirror://gnu/${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 ~arm64-macos ~x64-macos ~x64-solaris" REGEN_BDEPEND="" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-9999.ebuild index ba64360cd0f..3b8ef640211 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-9999.ebuild @@ -27,7 +27,7 @@ elif [[ $(ver_cut 3) -ge 90 || $(ver_cut 4) -ge 90 ]] ; then REGEN_BDEPEND="" else SRC_URI="mirror://gnu/${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 ~arm64-macos ~x64-macos ~x64-solaris" REGEN_BDEPEND="" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/Manifest index 054e65b85ef..5155ab7e273 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/Manifest @@ -1,4 +1 @@ -DIST usbutils-016.tar.xz 169000 BLAKE2B 2f3af61e5a7abf48cdf0a4aebc901ca1570007b54d11ae74572e16bdeb2d8e73844d76af54bd812d6d4b84ddaf6e956132ecc9a8a2849a7bffc0643e29115a49 SHA512 4483038bf91c056cd2977f5e7f449c0a62d9152d6f5d64ab7bde438ab9c1c56fe524ba10b35781c2828edd0fe89379dbaed78fa7ffe78903cae0c4e3c460f9a0 -DIST usbutils-017.tar.xz 168820 BLAKE2B 868c646ed6d38a38b9bd3ab85ba3a5e9362a97e476aeed6576c1b175caaf4ee688cb2c33756f02c9bf0aef9e7d58657331fc1c3b3314d86145b3d4f37124537e SHA512 eaebbc82eee4d940898f7a8de95ca49846c7c964e65c3d866b38735f8f3c8ccfed2b3a536bf2ef39a835a40a34c2273ac4d82b1012d0c693d4863cff14870d95 -DIST usbutils-018.tar.xz 120168 BLAKE2B 030f45afd5867ee38c8284a0741d1de63653a98746bfef42281390c5bdefbbb99c318d708e88ea2e28810d519d735da3103fe438befa889fc9b5ae9e21200992 SHA512 4f76c7a328746e17892c31d69cbd9a560c4384877e18d80076cef344a25b71b33387d803c98a9c6867b357a61e1a8a1a630884afe32128c3b6393dc186f216c8 DIST usbutils-019.tar.xz 121652 BLAKE2B 8267a36ec9670e83a0df5d5d34aee70d37e773ca25a20978cd6c99df29426e926af4308f97bb38463f50abdea2a764e98752bc4a5ca703bfcfdf9fcc361a7638 SHA512 fb4acc570c2b71f90c51c2717dc80e844727c8fcfebb5d92c57145eb9d09cbd1f63cf405e07db76c3afaaf3fac87b90f3f512d0a7c4d50cb9e6f26438eca9390 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-016.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-016.ebuild deleted file mode 100644 index 15ad1aa8edd..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-016.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..11} ) -inherit python-single-r1 - -DESCRIPTION="USB enumeration utilities" -HOMEPAGE=" - https://www.kernel.org/pub/linux/utils/usb/usbutils/ - https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usbutils.git/ -" -SRC_URI="https://www.kernel.org/pub/linux/utils/usb/${PN}/${P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" -IUSE="python" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -DEPEND=" - virtual/libusb:1= - virtual/libudev:= -" -RDEPEND=" - ${DEPEND} - python? ( - ${PYTHON_DEPS} - sys-apps/hwdata - ) -" -BDEPEND=" - virtual/pkgconfig - python? ( ${PYTHON_DEPS} ) -" - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - use python && python_fix_shebang lsusb.py.in -} - -src_configure() { - local myeconfargs=( - --cache-file="${S}"/config.cache - --datarootdir="${EPREFIX}/usr/share" - --datadir="${EPREFIX}/usr/share/hwdata" - ) - econf "${myeconfargs[@]}" -} - -src_install() { - default - - newdoc usbhid-dump/NEWS NEWS.usbhid-dump - dobin usbreset # noinst_PROGRAMS, but installed by other distros - - if ! use python ; then - rm -f "${ED}"/usr/bin/lsusb.py || die - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-017.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-017.ebuild deleted file mode 100644 index 177fcd025a9..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-017.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..13} ) -inherit python-single-r1 - -DESCRIPTION="USB enumeration utilities" -HOMEPAGE=" - https://www.kernel.org/pub/linux/utils/usb/usbutils/ - https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usbutils.git/ -" -SRC_URI="https://www.kernel.org/pub/linux/utils/usb/${PN}/${P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" -IUSE="python" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -DEPEND=" - virtual/libusb:1= - virtual/libudev:= -" -RDEPEND=" - ${DEPEND} - python? ( - ${PYTHON_DEPS} - sys-apps/hwdata - ) -" -BDEPEND=" - virtual/pkgconfig - python? ( ${PYTHON_DEPS} ) -" - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - use python && python_fix_shebang lsusb.py.in -} - -src_configure() { - local myeconfargs=( - --cache-file="${S}"/config.cache - --datarootdir="${EPREFIX}/usr/share" - --datadir="${EPREFIX}/usr/share/hwdata" - ) - econf "${myeconfargs[@]}" -} - -src_install() { - default - - newdoc usbhid-dump/NEWS NEWS.usbhid-dump - dobin usbreset # noinst_PROGRAMS, but installed by other distros - - if ! use python ; then - rm -f "${ED}"/usr/bin/lsusb.py || die - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-018-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-018-r1.ebuild deleted file mode 100644 index 2f00ea1e981..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-018-r1.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..13} ) -inherit meson python-single-r1 - -DESCRIPTION="USB enumeration utilities" -HOMEPAGE=" - https://www.kernel.org/pub/linux/utils/usb/usbutils/ - https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usbutils.git/ -" -SRC_URI="https://www.kernel.org/pub/linux/utils/usb/${PN}/${P}.tar.xz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" -IUSE="python usbreset" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -DEPEND=" - virtual/libusb:1= - virtual/libudev:= -" -RDEPEND=" - ${DEPEND} - python? ( - ${PYTHON_DEPS} - sys-apps/hwdata - ) -" -BDEPEND=" - virtual/pkgconfig - python? ( ${PYTHON_DEPS} ) -" - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - use python && python_fix_shebang lsusb.py -} - -src_install() { - meson_src_install - - if use usbreset ; then - # https://github.com/gregkh/usbutils/issues/214 - dobin "${BUILD_DIR}"/usbreset - doman man/usbreset.1 - fi - - if ! use python ; then - rm -f "${ED}"/usr/bin/lsusb.py || die - fi -} - -pkg_postinst() { - if use usbreset ; then - ewarn "Please be warned that 'usbreset' has been built and installed, but it could" - ewarn "damage your hardware, see upstream issue:" - ewarn " https://github.com/gregkh/usbutils/issues/214" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-018.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-018.ebuild deleted file mode 100644 index acbd3eed669..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-018.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..13} ) -inherit meson python-single-r1 - -DESCRIPTION="USB enumeration utilities" -HOMEPAGE=" - https://www.kernel.org/pub/linux/utils/usb/usbutils/ - https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usbutils.git/ -" -SRC_URI="https://www.kernel.org/pub/linux/utils/usb/${PN}/${P}.tar.xz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" -IUSE="python" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -DEPEND=" - virtual/libusb:1= - virtual/libudev:= -" -RDEPEND=" - ${DEPEND} - python? ( - ${PYTHON_DEPS} - sys-apps/hwdata - ) -" -BDEPEND=" - virtual/pkgconfig - python? ( ${PYTHON_DEPS} ) -" - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - use python && python_fix_shebang lsusb.py -} - -src_install() { - meson_src_install - - if ! use python ; then - rm -f "${ED}"/usr/bin/lsusb.py || die - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-019.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-019.ebuild index 89ef40d39c9..570cb995f5b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-019.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-019.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..13} ) inherit meson python-single-r1 DESCRIPTION="USB enumeration utilities" @@ -15,7 +15,7 @@ SRC_URI="https://www.kernel.org/pub/linux/utils/usb/${PN}/${P}.tar.xz" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="python usbreset" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" 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 72434a7377e..70b6adcfcfd 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/Manifest @@ -4,3 +4,5 @@ DIST util-linux-2.41.1.tar.sign 833 BLAKE2B ee9d199bf6e073d1c55ee99e9b8e997e59b0 DIST util-linux-2.41.1.tar.xz 9606156 BLAKE2B 0734e461837d825a8c0f770061cc005cef9238beea15dd900283481bcec66a971492a898cd44581e889fd1af25cf631e16a687d3f0df0a86a8caa15e7f45c935 SHA512 12cf37ab2d62d0378b16a40e0194ef7131ef1ad06737cca3f169cfc04b9da08a4233076c819b30705e8fb2c3b8d91a1d83aac4f036ce58b9cf5928f545e511a2 DIST util-linux-2.41.2.tar.sign 833 BLAKE2B b2fbccf627769f6d49ada61176be28d3badad6834a5c4d0e90d4838372b6072bdfdfcfb6f144221e59ced68ac9281720f40b20795b878bc29cff1de14ccfb9e7 SHA512 05ecccd24fbeea38a8579907629264550a309cfdfa63fa6eab756c0fc3cd182e9764101731424c1421d1ed950c2c1e41cf210abcd9c2837323c657292cdc9a0d DIST util-linux-2.41.2.tar.xz 9612488 BLAKE2B 96cf8022a2d727df373f717fcca750e4f3ffd365f50af35cb805fecb7fa39962dea134fab7efdb9dfdc5aa6ac721e758e2ea40254e21d3fd9e9e5e4b2d25aa91 SHA512 696c87e7cf185acc9b4b969ddade6155ea2945ae494eaecfd7b1f35d9607166cb09be79878fb793dd31b4d4dcac8c9be4be76af3886185db7ae8b58c303fb0cf +DIST util-linux-2.41.3.tar.sign 833 BLAKE2B 1b982a71fb7ab5f9d0d0cd0811abd48fc884578bf6528fcd590fcacf8eea8b0dcf20c3395b353b9cdbded2f5a91a38fa9b78b4d88d57fcdf961b28689036da10 SHA512 5aa90af75595867c534dc2853c16e742e0139f4c9bfb5a9dfc3e54bb27d8516d26bd074e7c24477910bb8ee63be8c1eb289bbdf56356cb60db991998d6793ef4 +DIST util-linux-2.41.3.tar.xz 9467224 BLAKE2B 1e3902b1e121431d956fa51bfa88394f15ed84497eaa08c311bffd906bf49f6df9480892fee99523ac3b9f8a70f4311352d6310049827398ea99e195acbfdb5c SHA512 3d299f0e05a4c982a04dbcbaaeff1222152feedf51c56c5dbdeb75999c68269d652a994f5cdf4c1ee42bb7b28475dd0792192c299fd9bc3b45198c5b153dad00 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 963d0f9c94a..cf3dd0e70fd 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 ~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.41.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.1-r1.ebuild index 2c4f66a162d..42aafdccc36 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.1-r1.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 ~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.41.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.2.ebuild index 9691616cccb..42aafdccc36 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.2.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 ~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.41.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.3.ebuild new file mode 100644 index 00000000000..40609e5fd3d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.3.ebuild @@ -0,0 +1,467 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +TMPFILES_OPTIONAL=1 + +inherit toolchain-funcs libtool flag-o-matic bash-completion-r1 \ + pam python-r1 multilib-minimal multiprocessing systemd tmpfiles + +MY_PV="${PV/_/-}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="Various useful Linux utilities" +HOMEPAGE="https://www.kernel.org/pub/linux/utils/util-linux/ https://github.com/util-linux/util-linux" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git" + inherit autotools git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/karelzak.asc + inherit verify-sig + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos" + fi + + SRC_URI="https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.xz" + SRC_URI+=" verify-sig? ( https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.sign )" +fi + +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2 GPL-3 LGPL-2.1 BSD-4 MIT public-domain" +SLOT="0" +IUSE="audit build caps +cramfs cryptsetup fdformat +hardlink kill +logger magic ncurses nls pam python +readline rtas selinux slang static-libs +su +suid systemd test tty-helpers udev unicode uuidd" + +# Most lib deps here are related to programs rather than our libs, +# so we rarely need to specify ${MULTILIB_USEDEP}. +RDEPEND=" + virtual/libcrypt:= + audit? ( >=sys-process/audit-2.6:= ) + caps? ( sys-libs/libcap-ng ) + cramfs? ( virtual/zlib:= ) + cryptsetup? ( >=sys-fs/cryptsetup-2.1.0 ) + hardlink? ( dev-libs/libpcre2:= ) + ncurses? ( + sys-libs/ncurses:=[unicode(+)?] + magic? ( sys-apps/file:0= ) + ) + nls? ( virtual/libintl[${MULTILIB_USEDEP}] ) + pam? ( sys-libs/pam ) + python? ( ${PYTHON_DEPS} ) + readline? ( sys-libs/readline:0= ) + rtas? ( sys-libs/librtas ) + selinux? ( >=sys-libs/libselinux-2.2.2-r4[${MULTILIB_USEDEP}] ) + slang? ( sys-libs/slang ) + !build? ( + systemd? ( sys-apps/systemd ) + udev? ( virtual/libudev:= ) + ) +" +BDEPEND=" + virtual/pkgconfig + nls? ( + app-text/po4a + sys-devel/gettext + ) + test? ( app-alternatives/bc ) +" +DEPEND=" + ${RDEPEND} + virtual/os-headers + acct-group/root +" +RDEPEND+=" + hardlink? ( !app-arch/hardlink ) + logger? ( !>=app-admin/sysklogd-2.0[logger] ) + kill? ( + !sys-apps/coreutils[kill] + !sys-process/procps[kill] + ) + su? ( + !=sys-apps/shadow-4.7-r2[su] + ) + uuidd? ( + acct-user/uuidd + systemd? ( virtual/tmpfiles ) + ) + !net-wireless/rfkill +" + +if [[ ${PV} == 9999 ]] ; then + # Required for man-page generation + BDEPEND+=" dev-ruby/asciidoctor" +else + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-karelzak-20230517 )" +fi + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) su? ( pam )" +RESTRICT="!test? ( test )" + +pkg_pretend() { + if use su && ! use suid ; then + elog "su will be installed as suid despite USE=-suid (bug #832092)" + elog "To use su without suid, see e.g. Portage's suidctl feature." + fi +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + return + fi + + # Upstream sign the decompressed .tar + if use verify-sig; then + einfo "Unpacking ${MY_P}.tar.xz ..." + verify-sig_verify_detached - "${DISTDIR}"/${MY_P}.tar.sign \ + < <(xz -cd "${DISTDIR}"/${MY_P}.tar.xz | tee >(tar -xf -)) + assert "Unpack failed" + else + default + fi +} + +src_prepare() { + default + + if use test ; then + # Known-failing tests + local known_failing_tests=( + # Subtest 'options-maximum-size-8192' fails + hardlink/options + + # Fails in sandbox + # re ioctl_ns: https://github.com/util-linux/util-linux/issues/2967 + lsns/ioctl_ns + lsfd/mkfds-inotify + lsfd/mkfds-symlink + lsfd/mkfds-rw-character-device + # Fails with network-sandbox at least in nspawn + lsfd/option-inet + utmp/last-ipv6 + + # 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 + # in output + if has_version "=app-shells/bash-5.3_alpha*" ; then + known_failing_tests+=( + lsfd/column-ainodeclass + lsfd/mkfds-netlink-protocol + lsfd/column-type + lsfd/mkfds-eventfd + lsfd/mkfds-signalfd + lsfd/mkfds-mqueue + lsfd/mkfds-tcp6 + lsfd/mkfds-tcp + lsfd/filter-floating-point-nums + lsfd/mkfds-unix-stream-requiring-sockdiag + lsfd/mkfds-unix-dgram + lsfd/mkfds-directory + lsfd/mkfds-pty + lsfd/mkfds-pipe-no-fork + lsfd/mkfds-unix-stream + lsfd/mkfds-ro-regular-file + lsfd/mkfds-timerfd + lsfd/mkfds-udp + lsfd/mkfds-udp6 + ) + fi + + local known_failing_test + for known_failing_test in "${known_failing_tests[@]}" ; do + einfo "Removing known-failing test: ${known_failing_test}" + rm tests/ts/${known_failing_test} || die + done + fi + + if [[ ${PV} == 9999 ]] ; then + po/update-potfiles + eautoreconf + else + elibtoolize + fi +} + +python_configure() { + local myeconfargs=( + "${commonargs[@]}" + --disable-all-programs + --disable-bash-completion + --without-systemdsystemunitdir + --with-python + --enable-libblkid + --enable-libmount + --enable-pylibmount + ) + + mkdir "${BUILD_DIR}" || die + pushd "${BUILD_DIR}" >/dev/null || die + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" + popd >/dev/null || die +} + +multilib_src_configure() { + # The scanf test in a run-time test which fails while cross-compiling. + # Blindly assume a POSIX setup since we require libmount, and libmount + # itself fails when the scanf test fails. bug #531856 + tc-is-cross-compiler && export scanf_cv_alloc_modifier=ms + + # bug #485486 + export ac_cv_header_security_pam_misc_h=$(multilib_native_usex pam) + # bug #545042 + export ac_cv_header_security_pam_appl_h=$(multilib_native_usex pam) + + # Undo bad ncurses handling by upstream. Fall back to pkg-config. + # bug #601530 + export NCURSES6_CONFIG=false NCURSES5_CONFIG=false + export NCURSESW6_CONFIG=false NCURSESW5_CONFIG=false + + # Avoid automagic dependency on ppc* + export ac_cv_lib_rtas_rtas_get_sysparm=$(usex rtas) + + # configure args shared by python and non-python builds + local commonargs=( + --localstatedir="${EPREFIX}/var" + --runstatedir="${EPREFIX}/run" + --enable-fs-paths-extra="${EPREFIX}/usr/sbin:${EPREFIX}/bin:${EPREFIX}/usr/bin" + ) + + local myeconfargs=( + "${commonargs[@]}" + --with-bashcompletiondir="$(get_bashcompdir)" + --without-python + $(multilib_native_use_enable suid makeinstall-chown) + $(multilib_native_use_enable suid makeinstall-setuid) + $(multilib_native_use_with readline) + $(multilib_native_use_with slang) + $(multilib_native_usex ncurses "$(use_with magic libmagic)" '--without-libmagic') + $(multilib_native_usex ncurses "$(use_with unicode ncursesw)" '--without-ncursesw') + $(multilib_native_usex ncurses "$(use_with !unicode ncurses)" '--without-ncurses') + $(multilib_native_use_with audit) + $(tc-has-tls || echo --disable-tls) + $(use_enable nls) + $(use_enable nls poman) + $(use_enable unicode widechar) + $(use_enable static-libs static) + $(use_with ncurses tinfo) + $(use_with selinux) + $(multilib_native_use_enable uuidd) + + # TODO: Wire this up (bug #931118) + --without-econf + + # TODO: Wire this up (bug #931297) + # TODO: investigate build failure w/ 2.40.1_rc1 + --disable-liblastlog2 + --disable-pam-lastlog2 + ) + + if use build ; then + myeconfargs+=( + --without-systemd + --without-udev + ) + else + myeconfargs+=( + $(multilib_native_use_with systemd) + $(multilib_native_use_with udev) + ) + fi + + if multilib_is_native_abi ; then + myeconfargs+=( + --disable-chfn-chsh + --disable-login + --disable-newgrp + --disable-nologin + --disable-pylibmount + --disable-raw + --disable-vipw + --enable-agetty + --enable-bash-completion + --enable-line + --enable-partx + --enable-rename + --enable-rfkill + --enable-schedutils + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + --with-tmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d + $(use_enable caps setpriv) + $(use_enable cramfs) + $(use_enable fdformat) + $(use_enable hardlink) + $(use_enable kill) + $(use_enable logger) + $(use_enable ncurses pg) + $(use_enable su) + $(use_enable tty-helpers mesg) + $(use_enable tty-helpers wall) + $(use_enable tty-helpers write) + $(use_with cryptsetup) + ) + if [[ ${PV} == *9999 ]] ; then + myeconfargs+=( --enable-asciidoc ) + else + # Upstream is shipping pre-generated man-pages for releases + myeconfargs+=( --disable-asciidoc ) + fi + else + myeconfargs+=( + --disable-all-programs + --disable-asciidoc + --disable-bash-completion + --without-systemdsystemunitdir + --disable-poman + + # build libraries + --enable-libuuid + --enable-libblkid + --enable-libsmartcols + --enable-libfdisk + --enable-libmount + + # Support uuidd for non-native libuuid + $(use_enable uuidd libuuid-force-uuidd) + ) + fi + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" + + if multilib_is_native_abi && use python ; then + python_foreach_impl python_configure + fi +} + +src_configure() { + append-lfs-flags + + # Workaround for bug #961040 (gcc PR120006) + if tc-is-gcc && [[ $(gcc-major-version) == 15 && $(gcc-minor-version) -lt 2 ]] ; then + append-flags -fno-ipa-pta + fi + + multilib-minimal_src_configure +} + +python_compile() { + pushd "${BUILD_DIR}" >/dev/null || die + emake all + popd >/dev/null || die +} + +multilib_src_compile() { + emake all + + if multilib_is_native_abi && use python ; then + python_foreach_impl python_compile + fi +} + +python_test() { + pushd "${BUILD_DIR}" >/dev/null || die + emake check TS_OPTS="--parallel=$(makeopts_jobs) --nonroot" + popd >/dev/null || die +} + +multilib_src_test() { + emake check TS_OPTS="--parallel=$(makeopts_jobs) --nonroot" + if multilib_is_native_abi && use python ; then + python_foreach_impl python_test + fi +} + +python_install() { + pushd "${BUILD_DIR}" >/dev/null || die + emake DESTDIR="${D}" install + python_optimize + popd >/dev/null || die +} + +multilib_src_install() { + if multilib_is_native_abi && use python ; then + python_foreach_impl python_install + fi + + # This needs to be called AFTER python_install call, bug #689190 + # XXX: -j1 as temporary workaround for bug #931301 + emake DESTDIR="${D}" install -j1 +} + +multilib_src_install_all() { + dodoc AUTHORS NEWS README* Documentation/{TODO,*.txt,releases/*} + + dosym hexdump /usr/bin/hd + newman - hd.1 <<< '.so man1/hexdump.1' + + # e2fsprogs-libs didn't install .la files, and .pc work fine + find "${ED}" -name "*.la" -delete || die + + if use pam ; then + # See https://github.com/util-linux/util-linux/blob/master/Documentation/PAM-configuration.txt + newpamd "${FILESDIR}/runuser.pamd" runuser + newpamd "${FILESDIR}/runuser-l.pamd" runuser-l + + newpamd "${FILESDIR}/su-l.pamd" su-l + fi + + if use su && ! use suid ; then + # Always force suid su, even when USE=-suid, as su is useless + # for the overwhelming-majority case without suid. + # Users who wish to truly have a no-suid su can strip it out + # via e.g. Portage's suidctl or some other hook. + # See bug #832092 + fperms u+s /bin/su + fi + + if use uuidd; then + newinitd "${FILESDIR}/uuidd.initd" uuidd + fi + + # Note: + # Bash completion for "runuser" command is provided by same file which + # would also provide bash completion for "su" command. However, we don't + # use "su" command from this package. + # This triggers a known QA warning which we ignore for now to magically + # keep bash completion for "su" command which shadow package does not + # provide. + + local ver=$(tools/git-version-gen .tarballversion) + local major=$(ver_cut 1 ${ver}) + local minor=$(ver_cut 2 ${ver}) + local release=$(ver_cut 3 ${ver}) + export QA_PKGCONFIG_VERSION="${major}.${minor}.${release:-0}" +} + +pkg_postinst() { + if ! use tty-helpers ; then + elog "The mesg/wall/write tools have been disabled due to USE=-tty-helpers." + fi + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + elog "The agetty util now clears the terminal by default. You" + elog "might want to add --noclear to your /etc/inittab lines." + fi + + if use systemd && use uuidd; then + tmpfiles_process uuidd-tmpfiles.conf + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-9999.ebuild index d8dfde9da3d..64c3f01f2ac 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-9999.ebuild @@ -22,7 +22,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 ~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/which/which-2.21.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/which/which-2.21.ebuild index 84c094fe6e2..0ee37b1bfaa 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/which/which-2.21.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/which/which-2.21.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://carlowood.github.io/which/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" src_configure() { append-lfs-flags diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/which/which-2.23.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/which/which-2.23.ebuild index 186e87865f7..ef20c3838a0 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/which/which-2.23.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/which/which-2.23.ebuild @@ -11,13 +11,18 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" src_configure() { tc-export AR # Workaround ancient getopt vs C23 (bug #954755) - use elibc_musl && append-cppflags -D__GNU_LIBRARY__ + if use elibc_musl || \ + [[ ${CHOST} == *-solaris* ]] || \ + [[ ${CHOST} == *-darwin* ]] + then + append-cppflags -D__GNU_LIBRARY__ + fi CONFIG_SHELL="${BROOT}"/bin/bash econf } diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-20251104-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-20251104-r1.ebuild new file mode 100644 index 00000000000..d76d283901b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-20251104-r1.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) + +inherit edo pam python-any-r1 readme.gentoo-r1 + +DESCRIPTION="PAM base configuration files" +HOMEPAGE="https://github.com/gentoo/pambase" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/pambase.git + https://github.com/gentoo/pambase.git + " +else + SRC_URI="https://gitweb.gentoo.org/proj/pambase.git/snapshot/${P}.tar.bz2" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="caps debug elogind gnome-keyring homed minimal mktemp +nullok pam_krb5 pam_ssh +passwdqc pwhistory pwquality securetty selinux sha512 sssd systemd +yescrypt" + +RESTRICT="binchecks" + +REQUIRED_USE=" + ?? ( elogind systemd ) + ?? ( passwdqc pwquality ) + ?? ( sha512 yescrypt ) + pwhistory? ( || ( passwdqc pwquality ) ) + homed? ( !pam_krb5 ) + pam_krb5? ( !homed ) +" + +MIN_PAM_REQ=1.4.0 + +RDEPEND=" + >=sys-libs/pam-${MIN_PAM_REQ} + elogind? ( sys-auth/elogind[pam] ) + gnome-keyring? ( gnome-base/gnome-keyring[pam] ) + mktemp? ( sys-auth/pam_mktemp ) + pam_krb5? ( + >=sys-libs/pam-${MIN_PAM_REQ} + sys-auth/pam_krb5 + ) + caps? ( sys-libs/libcap[pam] ) + pam_ssh? ( sys-auth/pam_ssh ) + passwdqc? ( >=sys-auth/passwdqc-1.4.0-r1 ) + pwquality? ( dev-libs/libpwquality[pam] ) + selinux? ( sys-libs/pam[selinux] ) + sha512? ( >=sys-libs/pam-${MIN_PAM_REQ} ) + homed? ( sys-apps/systemd[homed] ) + systemd? ( sys-apps/systemd[pam] ) + yescrypt? ( sys-libs/libxcrypt[system] ) + sssd? ( sys-auth/sssd ) +" +BDEPEND=" + $(python_gen_any_dep ' + dev-python/jinja2[${PYTHON_USEDEP}] + ') +" + +python_check_deps() { + python_has_version "dev-python/jinja2[${PYTHON_USEDEP}]" +} + +src_configure() { + local crypt=md5 + # TODO: sha256, blowfish, gost_yescrypt + use sha512 && crypt=sha512 + use yescrypt && crypt=yescrypt + + local pamargs=( + # Not all 'upstream' options are (currently) wired up + # in the ebuild. + # + # TODO: pam_shells + $(usev caps '--caps') + $(usev debug '--debug') + $(usev elogind '--elogind') + $(usev gnome-keyring '--gnome-keyring') + $(usev homed '--homed') + $(usev minimal '--minimal') + $(usev mktemp '--mktemp') + $(usev nullok '--nullok') + $(usev pam_krb5 '--krb5') + $(usev pam_ssh '--pam-ssh') + $(usev passwdqc '--passwdqc') + $(usev pwhistory '--pwhistory') + $(usev pwquality '--pwquality') + $(usev securetty '--securetty') + $(usev selinux '--selinux') + $(usex systemd '--systemd' '--openrc') + $(usev sssd '--sssd') + + --encrypt=${crypt} + ) + + edo ${EPYTHON} ./${PN}.py "${pamargs[@]}" +} + +src_test() { :; } + +src_install() { + local DOC_CONTENTS + + if use passwdqc; then + DOC_CONTENTS="To amend the existing password policy please see the man 5 passwdqc.conf + page and then edit the /etc/security/passwdqc.conf file" + fi + + if use pwquality; then + DOC_CONTENTS="To amend the existing password policy please see the man 5 pwquality.conf + page and then edit the /etc/security/pwquality.conf file" + fi + + { use passwdqc || use pwquality; } && readme.gentoo_create_doc + + dopamd -r stack/. +} + +pkg_postinst() { + { use passwdqc || use pwquality; } && readme.gentoo_print_elog +} diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-20251104.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-20251104.ebuild index 8b358020cac..2d64418812b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-20251104.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-20251104.ebuild @@ -19,7 +19,7 @@ if [[ ${PV} == *9999 ]]; then else SRC_URI="https://gitweb.gentoo.org/proj/pambase.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="MIT" diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-999999999.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-999999999.ebuild index 8b358020cac..d76d283901b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-999999999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-999999999.ebuild @@ -24,7 +24,7 @@ fi LICENSE="MIT" SLOT="0" -IUSE="caps debug elogind gnome-keyring homed minimal mktemp +nullok pam_krb5 pam_ssh +passwdqc pwhistory pwquality securetty selinux +sha512 sssd systemd yescrypt" +IUSE="caps debug elogind gnome-keyring homed minimal mktemp +nullok pam_krb5 pam_ssh +passwdqc pwhistory pwquality securetty selinux sha512 sssd systemd +yescrypt" RESTRICT="binchecks" 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 53e2efde44c..54fc3fb1fff 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,2 +1 @@ -DIST polkit-123.tar.bz2 707480 BLAKE2B 27d8764606d8156118269fb4cd5eda1cfd0d56df219e4157cd78fd4c2a2d001c474271b7bb31e7e82ca376eacd26411418695058cc888700690606348b4d014a SHA512 4306363d3ed7311243de462832199bd10ddda35e36449104daff0895725d8189b07a4c88340f28607846fdf761c23470da2d43288199c46aa816426384124bb6 DIST polkit-126.tar.gz 456138 BLAKE2B 2e86c8853edf29879d8367b77d210d3a891178297cb5f9eb204a953bfaa66f6ff2307da265f4c3f89265ba8ce32e94641272d654a78d116dfb32a65d402f877a SHA512 dbdbc31b7a231c963788b37cf1a138e30336466fb662225a812faaf58e45439925d9d39346cc8f07e54f22040c2f142435acb9fded315d33e24930e0abc736c7 diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-123-mozjs-JIT.patch b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-123-mozjs-JIT.patch deleted file mode 100644 index 5b3f2c4a364..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-123-mozjs-JIT.patch +++ /dev/null @@ -1,36 +0,0 @@ -https://gitlab.freedesktop.org/polkit/polkit/-/commit/4b7a5c35fb3dd439e490f8fd6b1265d17c6d4bcb - -From 4b7a5c35fb3dd439e490f8fd6b1265d17c6d4bcb Mon Sep 17 00:00:00 2001 -From: Xi Ruoyao -Date: Sat, 29 Jul 2023 17:44:58 +0800 -Subject: [PATCH] jsauthority: mozjs: Disable JIT - -The JIT compiling of mozjs needs W/X mapping, but our systemd hardening -setting does not allow it. - -For polkit, security is much more important than the speed running -Javascript code in rule files, so we should disable JIT. - -Fixes #199. ---- a/src/polkitbackend/polkitbackendjsauthority.cpp -+++ b/src/polkitbackend/polkitbackendjsauthority.cpp -@@ -56,7 +56,16 @@ - static class JsInitHelperType - { - public: -- JsInitHelperType() { JS_Init(); } -+ JsInitHelperType() -+ { -+ /* Disable JIT because it needs W/X mapping, which is not allowed by -+ * our systemd hardening setting. -+ */ -+ JS::DisableJitBackend(); -+ -+ JS_Init(); -+ } -+ - ~JsInitHelperType() { JS_ShutDown(); } - } JsInitHelper; - --- -GitLab diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-123-pkexec-uninitialized.patch b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-123-pkexec-uninitialized.patch deleted file mode 100644 index f19560943c4..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-123-pkexec-uninitialized.patch +++ /dev/null @@ -1,35 +0,0 @@ -https://gitlab.freedesktop.org/polkit/polkit/-/commit/c79ee5595c8d397098978ad50eb521ba2ae8467d - -From c79ee5595c8d397098978ad50eb521ba2ae8467d Mon Sep 17 00:00:00 2001 -From: Vincent Mihalkovic -Date: Wed, 16 Aug 2023 08:59:55 +0000 -Subject: [PATCH] pkexec: fix uninitialized pointer warning - ---- a/src/programs/pkexec.c -+++ b/src/programs/pkexec.c -@@ -53,6 +53,7 @@ - static gchar *original_user_name = NULL; - static gchar *original_cwd; - static gchar *command_line = NULL; -+static gchar *cmdline_short = NULL; - static struct passwd *pw; - - #ifndef HAVE_CLEARENV -@@ -508,6 +509,7 @@ main (int argc, char *argv[]) - path = NULL; - exec_argv = NULL; - command_line = NULL; -+ cmdline_short = NULL; - opt_user = NULL; - local_agent_handle = NULL; - -@@ -802,7 +804,6 @@ main (int argc, char *argv[]) - polkit_details_insert (details, "program", path); - polkit_details_insert (details, "command_line", command_line); - -- gchar *cmdline_short = NULL; - cmdline_short = g_strdup(command_line); - if (strlen(command_line) > 80) - g_stpcpy(g_stpcpy( cmdline_short + 38, " ... " ), --- -GitLab diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-126-musl.patch b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-126-musl.patch deleted file mode 100644 index 3bc3cc12847..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-126-musl.patch +++ /dev/null @@ -1,34 +0,0 @@ -https://github.com/polkit-org/polkit/commit/074ad836836167190cfe5649f9fc50da2e79a0ab - -From 074ad836836167190cfe5649f9fc50da2e79a0ab Mon Sep 17 00:00:00 2001 -From: Jan Rybar -Date: Wed, 19 Feb 2025 14:20:22 +0100 -Subject: [PATCH] Fix musl compilation error on Alpine - -Disruptions between glibc and musl-(not-)predefined feature-test macros led to -a decision to remove a check for POSIX standards older than 17 years. It makes no -sense to test the existence of a macro that we explicitly define in -meson.build either (shall we test for _GNU_SOURCE). ---- - src/programs/pkexec.c | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) - -diff --git a/src/programs/pkexec.c b/src/programs/pkexec.c -index b439475f..4274c92b 100644 ---- a/src/programs/pkexec.c -+++ b/src/programs/pkexec.c -@@ -674,12 +674,8 @@ main (int argc, char *argv[]) - argv[n] = path_abs; - } - } --#if _POSIX_C_SOURCE >= 200809L -+ - s = realpath(path, NULL); --#else -- s = NULL; --# error We have to deal with realpath(3) PATH_MAX madness --#endif - if (s != NULL) - { - /* The called program resolved to the canonical location. We don't update - diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-126-realpath.patch b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-126-realpath.patch deleted file mode 100644 index 3946932fa1f..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-126-realpath.patch +++ /dev/null @@ -1,133 +0,0 @@ -https://github.com/polkit-org/polkit/commit/9aa43e089d870a8ee695e625237c5b731b250678 - -From 9aa43e089d870a8ee695e625237c5b731b250678 Mon Sep 17 00:00:00 2001 -From: Walter Doekes -Date: Fri, 25 Oct 2024 23:18:16 +0200 -Subject: [PATCH] pkexec: Use realpath when comparing - org.freedesktop.policykit.exec.path - -This changes the pkexec path that is compared from the original supplied -path to the path resolved by realpath(3). - -That means that "/bin/something" might now be matched as -"/usr/bin/something", a review of your - -actions might be in order. - -Fixes: polkit-org/polkit#194 - -See also: systemd/systemd#34714 ---- - src/programs/pkexec.c | 29 +++++++++++++++++++++++++++-- - test/integration/pkexec/test.sh | 23 +++++++++++++++++++++++ - 2 files changed, 50 insertions(+), 2 deletions(-) - -diff --git a/src/programs/pkexec.c b/src/programs/pkexec.c -index 65c13090..b439475f 100644 ---- a/src/programs/pkexec.c -+++ b/src/programs/pkexec.c -@@ -452,6 +452,7 @@ main (int argc, char *argv[]) - gchar *action_id; - gboolean allow_gui; - gchar **exec_argv; -+ gchar *path_abs; - gchar *path; - struct passwd pwstruct; - gchar pwbuf[8192]; -@@ -508,6 +509,7 @@ main (int argc, char *argv[]) - result = NULL; - action_id = NULL; - saved_env = NULL; -+ path_abs = NULL; - path = NULL; - exec_argv = NULL; - command_line = NULL; -@@ -624,6 +626,8 @@ main (int argc, char *argv[]) - * but do check this is the case. - * - * We also try to locate the program in the path if a non-absolute path is given. -+ * -+ * And then we resolve the real path of the program. - */ - g_assert (argv[argc] == NULL); - path = g_strdup (argv[n]); -@@ -647,7 +651,7 @@ main (int argc, char *argv[]) - } - if (path[0] != '/') - { -- /* g_find_program_in_path() is not suspectible to attacks via the environment */ -+ /* g_find_program_in_path() is not susceptible to attacks via the environment */ - s = g_find_program_in_path (path); - if (s == NULL) - { -@@ -662,9 +666,29 @@ main (int argc, char *argv[]) - */ - if (argv[n] != NULL) - { -- argv[n] = path; -+ /* Must copy because we might replace path later on. */ -+ path_abs = g_strdup(path); -+ /* argv[n:] is used as argv arguments to execv(). The called program -+ * sees the original called path, but we make sure it's absolute. */ -+ if (path_abs != NULL) -+ argv[n] = path_abs; - } - } -+#if _POSIX_C_SOURCE >= 200809L -+ s = realpath(path, NULL); -+#else -+ s = NULL; -+# error We have to deal with realpath(3) PATH_MAX madness -+#endif -+ if (s != NULL) -+ { -+ /* The called program resolved to the canonical location. We don't update -+ * argv[n] this time. The called program still sees the original -+ * called path. This is very important for multi-call binaries like -+ * busybox. */ -+ g_free (path); -+ path = s; -+ } - if (access (path, F_OK) != 0) - { - g_printerr ("Error accessing %s: %s\n", path, g_strerror (errno)); -@@ -1084,6 +1108,7 @@ main (int argc, char *argv[]) - } - - g_free (original_cwd); -+ g_free (path_abs); - g_free (path); - g_free (command_line); - g_free (cmdline_short); -diff --git a/test/integration/pkexec/test.sh b/test/integration/pkexec/test.sh -index 4c76687b..e57b948f 100755 ---- a/test/integration/pkexec/test.sh -+++ b/test/integration/pkexec/test.sh -@@ -142,3 +142,26 @@ sudo -u "$TEST_USER" expect "$TMP_DIR/SIGTRAP-on-EOF.exp" | tee "$TMP_DIR/SIGTRA - grep -q "AUTHENTICATION FAILED" "$TMP_DIR/SIGTRAP-on-EOF.log" - grep -q "Not authorized" "$TMP_DIR/SIGTRAP-on-EOF.log" - rm -f "$TMP_DIR/SIGTRAP-on-EOF.log" -+ -+: "Check absolute (but not canonicalized) path" -+BASH_ABS=$(command -v bash) -+ln -s "$BASH_ABS" ./my-bash -+sudo -u "$TEST_USER" expect "$TMP_DIR/basic-auth.exp" "$TEST_USER_PASSWORD" ./my-bash -c true | tee "$TMP_DIR/absolute-path.log" -+grep -Eq "Authentication is needed to run \`/.*/${PWD##*/}/./my-bash -c true' as the super user" "$TMP_DIR/absolute-path.log" -+grep -q "AUTHENTICATION COMPLETE" "$TMP_DIR/absolute-path.log" -+rm -f "$TMP_DIR/absolute-path.log" -+rm -f "./my-bash" -+ -+: "Check canonicalized path" -+if command -v strace; then -+ BASH_ABS=$(command -v bash) -+ ln -s "$BASH_ABS" ./my-bash -+ sudo -u "$TEST_USER" strace -s 512 -o "$TMP_DIR/canonical-path.strace" -feexecve \ -+ expect "$TMP_DIR/basic-auth.exp" "$TEST_USER_PASSWORD" ./my-bash -c true | tee "$TMP_DIR/canonical-path.log" -+ cat "$TMP_DIR/canonical-path.strace" -+ grep -qF "execve(\"$BASH_ABS\", [\"$PWD/./my-bash\"," "$TMP_DIR/canonical-path.strace" -+ grep -q "AUTHENTICATION COMPLETE" "$TMP_DIR/canonical-path.log" -+ rm -f "$TMP_DIR/canonical-path.log" "$TMP_DIR/canonical-path.strace" -+ rm -f "./my-bash" -+ rm -f "$TMP_DIR/preload.c" "$TMP_DIR/preload.so" -+fi - 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 deleted file mode 100644 index 34b4e42c38f..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-123-r1.ebuild +++ /dev/null @@ -1,157 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -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" -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="examples gtk +introspection kde pam selinux systemd test" -# https://gitlab.freedesktop.org/polkit/polkit/-/issues/181 for test restriction -RESTRICT="!test? ( test ) test" - -# This seems to be fixed with 121? -#if [[ ${PV} == *_p* ]] ; then -# RESTRICT="!test? ( test )" -#else -# # Tests currently don't work with meson in the dist tarballs. See -# # https://gitlab.freedesktop.org/polkit/polkit/-/issues/144 -# RESTRICT="test" -#fi - -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-1.82.0-r2 ) - 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 - dev-lang/duktape:= - 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}-mozjs-JIT.patch - "${FILESDIR}"/${P}-pkexec-uninitialized.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=duktape - -Dlibs-only=false - $(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 - - if use examples ; then - docinto examples - dodoc src/examples/{*.c,*.policy*} - fi - - if [[ ${EUID} == 0 ]]; then - diropts -m 0700 -o polkitd - fi - keepdir /etc/polkit-1/rules.d -} - -pkg_postinst() { - if [[ ${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 deleted file mode 100644 index 1511837ee9f..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-126-r1.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -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" -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="examples gtk +introspection kde pam nls 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-2.32 - dev-libs/gobject-introspection-common - dev-libs/libxslt - dev-util/glib-utils - virtual/pkgconfig - introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2 ) - nls? ( sys-devel/gettext ) - 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 - dev-lang/duktape:= - 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}-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}]" -} - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -src_prepare() { - default - - # bug #401513 - sed -i -e 's|unix-group:@PRIVILEGED_GROUP@|unix-user:@PRIVILEGED_GROUP@|' src/polkitbackend/*-default.rules.in || 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 - -Dpam_module_dir=$(getpam_mod_dir) - -Dprivileged_group=0 - -Dsession_tracking="$(usex systemd logind elogind)" - -Dsystemdsystemunitdir="$(systemd_get_systemunitdir)" - -Dlibs-only=false - $(meson_use introspection) - $(meson_use nls gettext) - $(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 [[ ${EUID} == 0 ]]; then - diropts -m 0700 -o polkitd - fi - keepdir /etc/polkit-1/rules.d -} - -pkg_postinst() { - tmpfiles_process polkit-tmpfiles.conf - - if [[ ${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-block/thin-provisioning-tools/Manifest b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/Manifest index 65c2872241d..b78dc723e9b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/Manifest @@ -1,6 +1,7 @@ DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1 DIST adler2-2.0.1.crate 13366 BLAKE2B 3b28bbd7f89424567ff1bb36b984bf4fd767370459f5548545218cbe1c9f082fedd932fccc7e6acd83a1dfa06a371124801a772e5555ede7d6c2cd1ac57930a4 SHA512 555b2b7ba6f8116acccd0bcd16ed34cc78162c81023cff31a8566ffcd456c03832089fca2d5b668ceaac4fe8f922d31aa9c487f226a36cace294ff4a219bd91d DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 +DIST aho-corasick-1.1.4.crate 184015 BLAKE2B 088766e505a828a221a9bca29cb1833ac3964a538cda62d12b723a263fe0e588406af0b710cf87ef67b0ccb9aa3bf69f42e0e5225ade47abe93c73fcaca69ec1 SHA512 c77e35191b00546f5e499fab154170cedd619599e7250f92db9fba0a41c833eb426f214e58b00c5c39f8757406b33492b3241cb8cb233ce384ad0683c3ee4b62 DIST allocator-api2-0.2.21.crate 63622 BLAKE2B 983897fc977118f220dc4af7e801ac08eba77bfde2a25d756bad3e77f849418e74e7c67eaed68e2d719ca7fc6e1e9ce151dd7dbe8707dc43d4a6400294c8fc8e SHA512 1bb5711ed6041b0d7eae2ec784b8aa9d215db0f49cf79c692946eeb0db545d358cbcaa8156ae34e51d05287c08574f1da251ee574f2392949e4ed26d04770d03 DIST anstream-0.6.15.crate 29231 BLAKE2B cc4cf0f381c210fecc20b5796fe872b533419e5f957021b0c3be3cdc23fb84ce029fbef6f9b6f174a76ad713c07f0811145a70572de7c24cfab060fdd990f49a SHA512 1cb01a0293b4c9bcc010909707e71c464416d3ec6fc9789060b7aa9fe4cc04424fefa8013cc8765ccdae6dfd9a1c50a11f7b30b39a32c4aeaf525f28167ddb92 DIST anstream-0.6.21.crate 29516 BLAKE2B ddab9728a4824b1682a84339e2c5212904fcf878867c8ed7604ce045d4ba6bae0f129e73968e20d58a9b2e297ad1b6ddd5557907d3b6ae9253e3127ea901d40b SHA512 909059510b778f606df779d5f8ee69cf721072e81f933eb5f5fddaa4d1586a0040ba7456165d5db16c812dd654c2dda6b929ccb997310b507f1b79846ca1f402 @@ -10,7 +11,9 @@ DIST anstyle-parse-0.2.5.crate 22680 BLAKE2B 7473651b1eee08857a6ed1419d3d62ba4b9 DIST anstyle-parse-0.2.7.crate 21707 BLAKE2B 41d51d4c026e548a9428f5fd8dc85fce964e3f1cf709820dd53d216af3065a4ee069de8c5bcec5eae19b99172f60e89034a2ded6bc787f3ea4159d5d30de3984 SHA512 3e0920594dfa15f16dd308d0da81d784e6a5d6fd7a3b12cc1512fb625369ea7b4550df549e3be961906e2d3105f72ecb86b89dd6f5817c2c982929ea26d605fa DIST anstyle-query-1.1.1.crate 9891 BLAKE2B c298114c1864a5233fb39c365e079a7f1f4ef23499dc330e5deb06f83f27bc727015befef79075c7e39952547f799b4135d7db287cf72dfc914191df784a4989 SHA512 1b2e888f025142a0d9b01314cf083831a2a45d8da737c1be3a6a9aa177e73e0d2ae7999fe7610dd450b7096115e8cf38c5da23723cebf1deaa7d3501d3dbd5ce DIST anstyle-query-1.1.4.crate 10192 BLAKE2B c5672d2982bef5702f5d592bea8b4336df3f24edad35656873accb4491c0b6f323189c6721a7f722e6aae31ea8c183a93e3d59a123dc1c150ad1c85640906e40 SHA512 b94c550b865d17c15b2ff1a41da4f7aaf3a5c0694b2188c7238cae8212d8390f759381a3ae5598c13396a728aed8bffd4e32fe06da51af0ba92c334124d26641 +DIST anstyle-query-1.1.5.crate 10264 BLAKE2B e1c1bad89ad4c09e48f9d7c417713953f7f468f10f7f61e351137be801b5986ab3d21406411b0b23c42af4a2b5881b85aa68dfc66d23cafca7dfcb88180104b7 SHA512 3b7b888df0b678bd4560981dd94a51a6af9a535cc1a869bb4577e832492bb6de718a3ac80ecf61f8857b3d0ed7b95e444e85bd00ef65a46c6a244d0b0eadd95d DIST anstyle-wincon-3.0.10.crate 12558 BLAKE2B eddfdfd0bf8ec9520319c3bc54d627be3ecc4d931181e629f5ae4f1352a1662476060a25639f390825405691ef22befbc6f1b51d79047690fadbc90993b9ff5d SHA512 bee4e8a76185a359e6f6c0cca11ca322a8ff6eb92a1659986bbb2287c5e198f3e9cf3e48c9d980b18fa012b5d52f97cd017770736be27e550cf61be553982c8c +DIST anstyle-wincon-3.0.11.crate 12638 BLAKE2B 01f1ce85205ed3e573daca145ae420e9f7d78867fc036133be74bbcc9b83231ecbc681b57eb98bec622bcbaaf4bb293d05d3021a29b49a0a71b8ab89b0ae9dfd SHA512 09c3215dc6cef75d6282078e68c5dbd51580b6c8db79a77932d2e74a51d29cb0ef23c31b8a73a71896a45eb5dc5f94aee209bd8f6e5df4c675dabe3cd304a96b DIST anstyle-wincon-3.0.4.crate 12234 BLAKE2B 23294d6ed7715c55c8f796eb7b860450c57b22b57e32a5c75847f2e2bd68a52b33c24797db662aa5fd7e799b9644075c8c939d93b0cf8598b16ee80fc817b77f SHA512 24b3a9a44382609ad449425a657d4b42a792d4703c36e0953f09a03817759c266a2f0ff4ecc9e8b93ea8403df2badef1f1af6a6e50af56205176c41b13501ae6 DIST anyhow-1.0.100.crate 54059 BLAKE2B 3089cd4bac1a3ede11c5849fabf12735392ba2910f5d5c1117cbbc9fe2491855745879690522988ac343e210783f8d885f13593b4d0f3a3816b9a8c35ef2eb7d SHA512 1f0c072aab9490d68db3783f078c6f8a4d96360908fc6ee3e971b02fb72b9dd5e689dd385f0e93388a87e0dfbd8cff0e14a280b40d55f87646f3c0e558e779ca DIST anyhow-1.0.86.crate 46741 BLAKE2B 21b1f3acd1c1b659e6e9a53693178de67c806d7dbad30dedea0fb7078b2388baa196d1e7240a7dc88ed9dc93ee4c00bca8e608dad1b6bfb5bfa4f4c5ab51f0d3 SHA512 3853da32a2c53d73969bb29a1e622f3a6d5832d8888dc6bc8eedb76394b392f983aa3fcb1f542933e238841486106f0f38e9a2400c12c7699baba0ebe1d8193a @@ -20,6 +23,7 @@ DIST autocfg-1.5.0.crate 18729 BLAKE2B 27580e39b366c6fca02c9db09997b6415c409f120 DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20 DIST bindgen-0.69.4.crate 221092 BLAKE2B 69ed55a5827bfe850f589e39bc6e2f4445e20363002c765c5475007b75e4d81cac3d9df358505c63bd6a48300ae4988507abf78dd734bb98b33525bf9212237b SHA512 99530060708690f2ce0b87b97c9ce2998ee968df193137f3c9bf4fa66836814e2ae74c7e0b3057dcff1da7d2c4ea38157e21143c5117be35e94b878c0a427a34 DIST bindgen-0.71.1.crate 237785 BLAKE2B 4ef4af15b95a65510190e611662e39c4c7f6a33c02ed49c19e7e2d8d0ba951657ee5f681e73d3297603a87cff02ad857a21711f1a66eb13526d5af72e749ad1b SHA512 ff7f9f1989cf014fdc73f47263adff7928a51787e57a08eb687bfa3fae2b474300c13bfba62eff4da97cb70c456846826353debd9ef6de255228fe30dc9a7b6d +DIST bindgen-0.72.1.crate 246071 BLAKE2B b6db53ca86fa3b5f71abbf6d2fd5f83553e167507db2e869ed7f3acf8865478e49430eddce8c255a8fabf8f6e408e7dcc78a9088201cdeea1e48bc387f8a6f28 SHA512 14f4277b62cfc91661400ed1bacb82a9f28b7e6caa17dd4bb4dbeedd5784299d5915c2235af9da42a8a216fa0b14b49f1e38eaa530f1e906bcd74f864ae8a7e2 DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 DIST bitflags-2.10.0.crate 48427 BLAKE2B 238a6da813eb2c5541ad470b97b9cf6ad8004095d2a8e865b88eb2301290b7bda22e5b062ba66a04ff0f3108a84d4799af0786b76f785fb5782bd847876549c9 SHA512 6fcdaf250ca6e74b65ecba755d62c3e78f6c02ce1a9562a3b17bb2d6068a0df480ad9c838ce427dc2d2869a9dd1f86f2fb1dc1e50a114def77fd24154b2b86b0 DIST bitflags-2.6.0.crate 45357 BLAKE2B 3a368bd2eb58c095b7b4a46680cc2d90a28e24b2e37c854bbf8647c861c4b8fb37eca827599673c5c7df763048149dd82123d1ede1f8a0e58a6bc23c8250f7e6 SHA512 f9bb3c48931ed7e7e05ec6d13305af5da6b6c18861ff307d7dc17c658f63972c87b70b0527287b3625c8592befc207cfe15550654995faf3862bb12a6d95bacf @@ -36,8 +40,10 @@ DIST cfg_aliases-0.2.1.crate 6355 BLAKE2B a758d9c88527f0e6e7cfd6d4c83eda1bcb4d6e DIST clang-sys-1.8.1.crate 44009 BLAKE2B 9173de6dfbd3ef9d5d1fdc559700cd3a52f95cd77302063a97e8cf311a35825825e030b47f252c857853663ae8a16709e1f7bd0c608d67c2a74eb36ed588e778 SHA512 a68c426c20110fddb8bba07d6631517b0528fad45802e5a34a22561d7e6dad82dc5001387019a03f275e9a671b09ee0a06b6e86793c4fb4ec655700bb0f5e125 DIST clap-4.5.13.crate 56267 BLAKE2B 233f2fb4405ee2ff669220214c13b6c94858dbc375c8bf7eb83d7488690d74ebd8e1514679e02d1354b493b6e37fd7ed4b2ae32065d115a7287014aece90c2af SHA512 dd1a42ad3bf39463966c2ef76f3ec2dc5a847160bcd73de1718bd6706790f1ace183e3c9e6ee8d06f6ddea4b9bf30c884fa97d36b44f30dac26a85a52d9a0025 DIST clap-4.5.50.crate 62030 BLAKE2B cf2cf1761b2d4500ba6ce9c48e9127d83bc0eda99d111eedc5d45c9444c8cf53d15f9d56dddb1cd1d1ae464e514bd6484a15b4055a6305c5e476e80d57e090d0 SHA512 f98dc12a40453f17c733562e2d3a08dd4c073f2930665a683328100c5a09ae7d77fe535a22cce12c4eee8e2b073ebdfc156cfd4f5ebbd2f57fe779d206092264 +DIST clap-4.5.52.crate 62033 BLAKE2B 49d6c9ec19e31324e4e4493f4b0f45986bef54b6943c9d2164f9a00ea994c6ee257e64892828668992cc6cd5bdc99b1fd3d680aa7b3569dc6ce433cd07a2835f SHA512 17e7ccaaa76db226c3857644e197c6861b18e02a32bdda7108b38b22727bba8d3d06fe96df7826a4e2dddab0bdfde051090e6bb6f68faf7b412b8859fca6934a DIST clap_builder-4.5.13.crate 164093 BLAKE2B f938635782ba9c1a675bc15a73a36ee7f1cbee501dd10be6f267364fde125c75474e5abe226e0eaf0c9fb224887c65bbc1be4641ca093282d3042f9980f4ab94 SHA512 ab7a29b29a15d22701550fc590ca6ec256edf03828e2b9a87072734a8f66b6e5a1843ac2ee7856c62472960af4e8f40840f840adb78ce5afca918f333e0f623f DIST clap_builder-4.5.50.crate 171137 BLAKE2B c22e6f71df95d9cfd3c5f319d7c374ecb4879667279343e65ba35cac4308b490cacf2b2a702c4927d04412df2b1de776a38dd4081673777cf101553206fd32a0 SHA512 767b3bc14de66da6ba4cdf937b65d1f05fc34396026d8eeab39365714b26c7a2e0a7a494101ba13c97f23cbdabdedebfb62f522cce72fdb6f0fd5f45fd030cae +DIST clap_builder-4.5.52.crate 170544 BLAKE2B 4a3d91c0d34789c25550f9fc14acc744ec27c00b8e96a4b5dc182672a2d92614019cf706ee68309e9b3d2095a9fa2837e11fa01ef224ca813f80a398f6c750e2 SHA512 c4af54b9e8ed6d99b6687fd5b8d81bb4b365493959598a83d40da99b57325e8bd60f5a8ed5220e5bad22247859a070886c1424a90ae476f79a5e678979e255b0 DIST clap_lex-0.7.2.crate 12805 BLAKE2B 952bf3f3885ae7bedd0e8add236590da5fce72a7ccd88ebda063410aef337ce7ccdb5e5e929cb870bc993891610edc0197150a3aa82a62fadc4bbfd96324fcdf SHA512 a8726397e5372fca3389748efdfdbd016b6baedad5b4bd95f33e4e820d4f40e0b94c88b1918ded3678aecf23911028e2261837e73d58ba7fd6f091eb47267380 DIST clap_lex-0.7.6.crate 13466 BLAKE2B 723f306a9ae6c1fedd6b85fade039cc2a1dba51aa4412972025e0ff1aa8f15742e090dec61df3ac17ea9aae426e96049a673f5b944cb164b649ec1809477ab88 SHA512 d248b65234f201b2cb867562ca3d8299e79d348874547639b31883c6eac8416d3d6394e5b0047ad74f1a2c37e7721375c76bcaed1e60d13c3f1937b20ad9c54e DIST colorchoice-1.0.2.crate 7924 BLAKE2B a4027d5f870b4d9a718ac3f9d89ce04e2ed38406658c4a55ffaf39ed0cb1ce7e1c691eb56c66596b519ca82309e8ec7eebac65e69394cdd277f44f9b6280d560 SHA512 f34d5f66f84e90f473b6b9a62a61a59575e712d3e9b140324683f80af42d40c1d079701aa2ed651d0dd95a5ac8838e1f6f6c034e2adef79509d32357b8093117 @@ -57,9 +63,11 @@ DIST devicemapper-0.34.3.crate 68045 BLAKE2B 4e80d88f5ab4a44fd07b222e554a285f2f2 DIST devicemapper-0.34.5.crate 77244 BLAKE2B 7cfb2be51d5d4608411c0ee76be09b59eeb4e3e25e2088261c0303731f79bc006a5f3ee4da8b0a291bf4b8b76669a71c41c3c03e2e02bd29ad32d13851ba0e28 SHA512 544850dd14922ab3e56935b1641b028c252ea3ca5f86dc78afd6cf96b4aff931c61d31e296df4a0747efdf30848eff5b985a179a79db6a256d4821a1174c94e7 DIST devicemapper-sys-0.3.0.crate 7225 BLAKE2B 8d962dc46408580ddf1822cfce77cd102d3b9ca35311e1630630dae0f49e3f69107bff6086f0d038037e9b75f997ed54574de4415612cf1acb159a1b158a71d3 SHA512 4851be561f3735aab457ba575a5c46eaf5bd03aadc16bc5236c2e94286a62fc67639c7ef55466535cf243a7c7719e5b2ccf282db7641998df22ad2d40700f0ba DIST devicemapper-sys-0.3.2.crate 10278 BLAKE2B 9463c842c157508218088312f12d032eee19d06490aba16e2623fb8b6d5e308ebffca6291f7d4e2ad5ef7f86296de3f081414e3535e438d94a0c10b1cdccf98c SHA512 695c5d7262c3dab8dcfd4022d5080784199cb6fd762d70dde729d0a21a3a941abd6175db823c078989d6ec373686d6567eb8508f1cc86959be96db9d85800d3f +DIST devicemapper-sys-0.3.3.crate 9813 BLAKE2B b5f07c247c7f3db891a763884c865f624d2512775d0390f6a7a22408320e6f1b2b37b57d14a173637bdd4334a4549e2ead73f0eab33722cb7809553f3337026a SHA512 d5fcc713c88fc5cbcaaf0b12e7dcf55b5659c13df212be024655fbe94d543e50b732b07aa8f2b5d2902447488d403f1f88facc73a5da40887ccea9466a263ed5 DIST downcast-0.11.0.crate 5976 BLAKE2B 4ca0e66dbd8dbc86920d4184de8b37ab41954cb1560c7727334c990b97ad9544b098f7ce50759d10cac8b9cb955893805aed3bac5849c8b44a965e24d2ac7653 SHA512 11b037a09829e3e93eabff69f02b608725e6e348a191b1b6c8bb044b8d820a6ebf46eaea2f8bf5eb1c156f20d3e97be9b581e1b5fccebbfe76d94157d6bccd53 DIST duct-0.13.7.crate 30055 BLAKE2B f1259e9818a7c2f1df3dc387be3837a987e0246dacac84d3ac3443a0c6870b6cb4dab36d380ef8d04db47545655ef4def8c713c62f6e86f2b995fa3b69a16b6f SHA512 b6e524144360b61b5c134d40aec409664388e88ada241443d152c5f7ef8795535ba243cc792c881557412bf75c2ba73c84e2f620eaf7d4668a15ba6bc274b1e7 DIST duct-1.1.0.crate 35093 BLAKE2B 5580216e79152c95ff1012000daae202f665eb08aa8b77dba58772b2342cb4c65b18dbd222ad773fe42b590020ed0f8cf35df3abb68620405c834d4d6e779741 SHA512 8bbb4a65404c6c074bf60b4a5bb5432a3fa240ccde3d224eba3a753bfda01e2576dc828d37edd656b314caefa4a9f400ffb260d352a698627ccb623700523368 +DIST duct-1.1.1.crate 37041 BLAKE2B e65f1fe1cb46f46ea6a981575d2ffb2602407a012a94bb36c3f8a950b6fb8a89a94c4ad1aa032886884c73818b3dd3c4435e06f3539dbddc1d4ee1804f4af2a7 SHA512 2bfc531841954e040f5d55c78dd9ccf72dff1fcf6f675ab3f7e8a7f520070532db16057fe921be7b14844addb88a45b662632624dec2b38912b4ae195b742b59 DIST either-1.13.0.crate 19169 BLAKE2B d6223c76421babf163a694aa513fe07adcf4cea329872c02f5af5956e89b2c353a899f5708e5a2924e5a92d871ba748490350ba30c17dcd78dd4379e229f6e11 SHA512 72e803079bae621d282136ab1e423ba71415bf12038b6f386f294cae68a67ad9ff16e4fdf4344eb3fee4418e853f9cac344c248f6befa3006d1c954668b36322 DIST either-1.15.0.crate 20114 BLAKE2B 2f87cb6408b1e1a15ea19d930cfca3948d867d268c8ff18cbaf39dcb7f7fdc628811575ec87a7728940dfb2c26775995a3165ab9c17dd42880d56569b22c6f88 SHA512 d70c34d903e8e5088fd065a6da6673eadb569a20af183fa9bd6418940b37c8c2a777c44dbdab1b9960890cba5cb7464b805667ac42f4e05499ddcd4277d24e3f DIST encode_unicode-0.3.6.crate 45741 BLAKE2B e1e3792bc2bf9db7df33a516d0d755eef5eff1249aa9b2fd7f0dfcb155786c566fb619c9b2d73425a8625c8593988b117e9676c341f65e8795ddc838bf9881c4 SHA512 64193d6ac75f66d58ed864169b5d6228ede36dcf100614395e086bc8e847a3ddd287734d88e8ed50f38c679a99c80ec68449175a67d8ee03b02ec1cfa9d55e77 @@ -79,6 +87,7 @@ DIST fixedbitset-0.4.2.crate 15954 BLAKE2B 91270883db5ad0e999ebbca1123d8729d3040 DIST fixedbitset-0.5.7.crate 26537 BLAKE2B 48b7e02d7fa3fb33f05fb2de50a829e2f25d19ac680d59c754faef754ca4678d1671fcdc66d06c39b51b4f937bca44a89b87da195e43a4a905a0d29fa95996f9 SHA512 320b1b47a9f93590f24d5c111c171c401f15a50dc29617c8715b6c9d0b3f26e17f966a87d8628661dfc62ff8dee98524f3b6f4f4391725b1b77db714eb6eef60 DIST flate2-1.0.31.crate 108176 BLAKE2B 2b0afbeec9ef08e54bfc572d7a386052d519d5bdeb220a316b67409403d229425580e33991f0a98536e6468f0e59ca87b59ff2d00425749336d4e68906d5d787 SHA512 b211254e15b38663f080552598d61d6766d6e7abc45cbac8fbdb5af65b833d2d3fbc00b5748ee12d4fc71726ab84dda9da20b6916121735c7b1c6c9d7a09fa61 DIST flate2-1.1.4.crate 77010 BLAKE2B fac509e03369218f587db1c8372fc6e7ef4aa8d5f9cbe22bc19408347544112330c5bc3f6a1545ccef964d2042c3efed0d5f5b0afcd5fd7d593ef35c85750900 SHA512 23f595b3cba18df65843ef1db2597f445bff8edea152f0e0200d13419580f8e4d20a39a492c52122f225ee6835615706456b2769d7d3fad597924d4733f57c44 +DIST flate2-1.1.5.crate 77015 BLAKE2B 3bc8387b79a2f8d4124f98aa9f65580c3bc6f1a927643b52f414ffce4eb3eeab0fb595532e14591573ec0955800891b039c3935619b964d7fed3b2dac9031256 SHA512 b1be1942083756459f87044212b9915656a4c272ca9414f76d38a87242fe5c7a993cb7b05641f18163b2481daf6e9d724f500bed2fde9aebe35103470f065648 DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334 DIST foldhash-0.1.5.crate 21901 BLAKE2B 22c3a266becac17995ac996f5c9caa8dea77e36786c50464e4e7750d8f3f13321a0a1abd3a9abcfd6ff441ddea257066b2dfb7fc6fcf7468f537dbd1b0db737d SHA512 3a634fdec410d87ffced8aa1bf8dacd9316a04c51424563d60b4dd611617041f09085edfd0ec96e6bb0e0db74a0e950b0616d1fb94a31667af35af1637604c22 DIST fragile-2.0.0.crate 14668 BLAKE2B 2e589b312d7409a1a550a676303b9b2adf2e28b0d4cd02c7fb22b48a88d1f88a04e55c4405078e2c43b13ccada890a33bcacfe179abd12236c23f219d275c4df SHA512 a48fee7c13ad800142a9ef1f355b2200b904ad9bf97b3601e310bad2b6ad90ea235b9704964c54be1d9c415c9c95fbc5f49e8ba5d7c6ee3488573f3404912608 @@ -97,11 +106,13 @@ DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c DIST ident_case-1.0.1.crate 3492 BLAKE2B bc79ebeefbb7e3ed1139e3f41d8d20fb175786bb123bdb9c1a92ea70effb4a0e5e798f24b068cd66a1bf20d53eea4bf24de495b5568c2d649ea804389a1327ab SHA512 81003a43f18da5997d644319274502e2066af9f9fd1400afda7cf2986b3ae0b7355b932302723cd3bda2d46b264340434d9279dea58425bad13785698d5808a9 DIST indicatif-0.17.8.crate 64869 BLAKE2B c534020b2c7b25bb07cdd0fd4414fc817506647cf5b8e2081c22be58857d5adb170082a3756004c69187619fc5625f8b9a1904566dc51c621838e09ecda5b43e SHA512 487e73445c5c7d3c16d6f93a3d9767f41b37d2832e56851154f8b69e678ab7d9ab04eba225a6bcf8b48842ae0db0249b060e998e29a252dedf8afacdc88b1aaf DIST indicatif-0.18.1.crate 66826 BLAKE2B 96ba7d6bb3ba41f6f8190daf7329e41068d841d37750141beca58ac12d05ee54191ae14d64fe8986e2e9d7cf5a1a0bef4f9d9480d67f1efb5e9a6c9bc70879bf SHA512 af81776df2de89dcfa81772b8cea21b32dfad9ad483f4e4f060ae1b2b53ca89c5766564eee2855e74f21d80c13821bc72416bbd4807ba86621f11bfc7579d5e0 +DIST indicatif-0.18.3.crate 66504 BLAKE2B 61c6e0a3892bca66cc6db8d5371ad3130a43d45936b1e8e29e99bb3a7e3b6b3842798373a326f167c7eb752d9d3cd18ffa5bd274310c88a6b30e142f44d8714f SHA512 356b999f503bd64f98f817578dcd957645c8d23c256229ce1b1bf2d1ebd390caecb1ccdd71165311181f2447d6e80561763fc3418688c2ddeddf8c1af95c9028 DIST indoc-2.0.7.crate 17184 BLAKE2B aae454874b44dbc908a75b64626e608e04017c1407daff9a2e2dd12a337ac04db594540d2f31bfc590d6f37f0d711ff2d3054352ff1b33e736c36620404be0a0 SHA512 6e80cf927001821606488a822fd0f67ae1a569b022c98e727e6b1571c88d87775166f088322bd5f17abb8fc1fde62c9d14fb2e99f1e50918487252d823e48f73 DIST instability-0.3.9.crate 14451 BLAKE2B e45163b3d73ed63c3df11147f5540a94b2b67ae7e977d6ba1b9ec80544898082c948b7909f4a770f76b8e60bea7ebf52d81ed36b28366b458a34b6e68cb0e5c3 SHA512 1a710c6be8eadf481e505854d7fc614f983d410caf56516a35c36cbf637b04290c7d4ec9d4ab6398151a645a962b1af8824c69078a180856eebec1033fdffde0 DIST instant-0.1.13.crate 6305 BLAKE2B 83a2c479e21e789ca9795f66116ebc55481a42afb21f4c0ec0551edf07781901a28978667e92b01355b43e0e1a7ffcd3cc37b5501a7521da78f4f352e586c9fd SHA512 b7839431e8920c4c0841d0974eede75fc50f2bb7a9475664bd2c4ff6c558a10084e1c025e5be977c3364ae9112c365c0a6f480cb9b35ee4130ca2beebcf650a9 DIST io-lifetimes-1.0.11.crate 37346 BLAKE2B 7f278b7378a8569d3552c9b6d4be06d7908e05d77cdb964267f0b621ec4975a42fb6e48fc030a75ad5865681adf32ff747943ac559ab4ad73331a6611a1b10c6 SHA512 30c6e5ce6f5beabe0d7bee4f4522884d1316cf7d9b8d093ba0f952995997be3d0f10e1e77b9c20b7fe2b65429de0d2ec89bb35e939455795205206a3154ed544 DIST io-uring-0.7.10.crate 103070 BLAKE2B a958427e3f5e5e1d24a29e92da91654859597eb49363b076f9b3b6c9278387f4c264d95212ab12f903acc336014e224d63eb79b52210202abf5933fd9d5e6e32 SHA512 637c324d33f2d78bb6e2e13d021d9d3da02de4bf6698585c738de29e14b89e7ad2b310aa2ae0bea0eaa283e354a55f88b5de50212671d8e67a27833bca722165 +DIST io-uring-0.7.11.crate 104409 BLAKE2B 8cbace2d564916184ab58c10e422481bc4a14fa5edc090fe689adb373ab2f490c00d609857bafcbd6d148c587c2413d63cd369c89a3bb9147c35b629be2499ea SHA512 a4c2aabcce6f583f49cc92b1c38f6d4bc40e2d03fee69f138340fbb56e34110781474e17b369281431ba54b9eb883d1eb801dd98260b6834934020a522a6abc7 DIST iovec-0.1.4.crate 8720 BLAKE2B aa1b4cd98ebe47901c0959cf1d8eb2586a803d0453e2a8bdd5c63442b32886dbcb37650aa218c748fd45c9fe3a7fdf20569eae5b19716487b139caae1526da4c SHA512 e23fcaac239807daea20ddcf2cdd4fb858ba1aa970ce6248f70f0fba5bff7ebdb27247c0997ac0ff2791178f86ff9657e473d8f64b86c644763e5b3474edd158 DIST is_terminal_polyfill-1.70.1.crate 7492 BLAKE2B fa663f858ab8e5fd56202d731b572bfdd4ab0e8262100424e27360a9ffd2820182bc57d6718a305ef82d04c3798111841c0d9f9dcfe219765c0f63edb560dc1e SHA512 4730fa09401cb4e69c92b38b2b43afd74699c61f5bd7b37605efbc0c08ca7a1318d43e4a844e46e0f84f83f42432f01e33771be2b18eb5977702ab9f894837e1 DIST is_terminal_polyfill-1.70.2.crate 7548 BLAKE2B d84c45a94bc0ede333843ddb5206379f1a7d9df742c7f7940374d6b17b0a9c300e32fed5fe2bc58e6b3bc5d18b5fc58dd4e283c01c2f3b4f10f254b3cf7668c3 SHA512 d62f444e83950bdd441215c0ce681ff774692b35fec2af7181dfa243dd43fe42ff7e10a6e3b1d578712e4130dbfdf471ecdae73a3a584a2856a848d387b6c261 @@ -109,8 +120,11 @@ DIST itertools-0.12.1.crate 137761 BLAKE2B d7db67feb7418d6a779dc17d8a2f33481114c DIST itertools-0.13.0.crate 146261 BLAKE2B b23d59a87f80d24925bc868c0ac7abb6b9d05aad5ca08833634ef760ce228a1b753062ec4bd22237d0e74727edecd7ba3df9789cee896345b69780d7de66866c SHA512 c6cb8f93a93b6ac1a2cbb3033e66fc81a39f83be773b734bea3311332b96bc71bbb518aae3e6b40cb537590c23de1ca4964361c336795c3985bde63232d410c4 DIST itoa-1.0.15.crate 11231 BLAKE2B 17c261baf95bff2f6cf0dbc33ab78ebbab0cf5dc56aeb7f8977377af868deb5957918f1763c2fe8c080e931489ea89ebcc16b3ebd976eeeb7663ff74989a1071 SHA512 158ca5dd4b04cb12d9292a4df63c72443adaf5aab1bd9aacdb964dc58878d847a64251f84897cb25c34648d4c973b44fef5b4c175d7c04cabc2c13b4631c2e42 DIST jiff-0.2.15.crate 712996 BLAKE2B c90d59db2762c59fd85fa8f45c189e2cdb476afd140899e5cde1b657b2630cee75a10ea3d3f20a7ce2853fef972bbbfb21b701375e5e9d20b6287cbe433e9a10 SHA512 577b5b326c66bf8b81174c48e913ee381cb17030b7cfb3d211ea3376a4805edf08eebff7ba1aa67cf20144ebf3aca02d6f96f771cd44e5bf6aa0a23e96f6fd27 +DIST jiff-0.2.16.crate 731814 BLAKE2B 70fe71b4093af82d4484c32bcab37a49c3c2a7e5f155aaa91adc3fca0c4f1ba8240fa8095f431cb373b2858bea8ae6a7e71baf96ac02194bc40bced43416fafb SHA512 981899e22374207bc7af728a14703b0468cfd65bfc331c2c3c179a10fdae85c32d8e5711ebf64191f6eba3d913a94c4998fc70a0c7bb2dd1371c4a37e18b33c4 DIST jiff-static-0.2.15.crate 76146 BLAKE2B 5409fded10b61363d8a6c907716b5e374eb1de51cd062706eb3a81f53064584722984e9bcfae5fb0f90d1c3c841a12a2c569419ab459319697c98e6d70c630dc SHA512 282b8bbfcba6b86f84a5f93f3efcc20a61b727abad664836e8f81d00b397a34b1e94276af05dca25c7abd44292abcfe7af3c3b710087d4af8b5bbf348999089a +DIST jiff-static-0.2.16.crate 77672 BLAKE2B bc22d4e757ed36a1dd04ef524f5a27707d5ccda94e009deac32cb0ee2eb99a59181bff15e60e1168afa42e15198f1f1200610e8729da60372a929da6b51bbf52 SHA512 5701a44d5d9f2f70e67018271a47ac224d0bbcc5b92f66919c89d59dd69b45332aa4674e82016f4458e666026ca1b56a14568a75085d7fc58d035e8906245a2e DIST js-sys-0.3.81.crate 56399 BLAKE2B b279d15b1b177e4617ba5b6509d35c41d077d458f4f30684fd211c652d7a1f0b4e3bba62a74842aaa1227f61b382f5729e9cbf4bf517c0d2fc9dbbb0e46a67e6 SHA512 c62b7ed89c6b82dad85c7950add67c352a92ad9b7dc759170a42291e62fc21b1dd2fe84214a893d6447b73b00762439b5f787f7d86e5fd7cb505c056e6be50c7 +DIST js-sys-0.3.82.crate 56436 BLAKE2B 9f7b485177d1a3ade0f1c47becb114ba3dded7fe308420e56e1784199cd9cfcc1fd773a53fe4cc30132ec6579454936ae2be641ab3007c07658c9d525d73394a SHA512 ded31e414e3921c583358032b3e70895e570750f7b3913d685b2582a45b350e854acce64348f1c46692d910d4c7b366b6748574ec993c197b18e87870a52657b DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f DIST lazycell-1.3.0.crate 12502 BLAKE2B dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8 SHA512 f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807 @@ -165,14 +179,17 @@ DIST predicates-tree-1.0.11.crate 8393 BLAKE2B a8ed762ab18f3cd72ed749cb3db3d756d DIST predicates-tree-1.0.12.crate 8392 BLAKE2B 4b124a7b718d2942f5624d410fb8c59c06e90ec5b576fdfe20542dd00da64fe6a5fbacadcde3c3a6f19b8ef99efd862b08be08e08691e858a4b3d7bd72a4cf71 SHA512 f5f6d7d0cba4ca7176a26d9adea5ded46f1a3361f9b6ceaa7dcf468ce616912cf3b764b8250f39a42a24eac71fb94e0d4d822c89361aae02472cf761ba55dfaa DIST prettyplease-0.2.37.crate 72033 BLAKE2B 997c8d855023ba6dcc7aa3a8f1c0ac6f6ca72dab2804cfcfb0987832ae044ffc5f5d7541e66d7ff5b0679065e5217078a832333e6cb92d89a93660aedaf0b447 SHA512 3273621f42cd2f4f892ee81e130f50e7d30f7254f922a84e55e454c0157bd0a59c678ee352e05007fdb0a62cdab2d7693185990354b81d2b1f5d08b51cff77d0 DIST proc-macro2-1.0.101.crate 53886 BLAKE2B db566c4fb6a197e0aa45cc074310853eaa24ceeafe9fb91f2014ba47cf6b1cbc34e4e9391456c946587540c8e270e1a37f5195cf03bd15ea5d4f171bba9772db SHA512 3171c807d24371da2931f9c706fb3129bb9bf3ac40418e5d14cfc372baf96e5fee9ede72091163858e3ba0b4f88594efa1031b0bb7128ca68e7b847dead6856c +DIST proc-macro2-1.0.103.crate 60024 BLAKE2B e5ce5f77838fd063b5615b1555db02175621135132de6aa7479d67fd0a34c15e8235290112a728f3251cf913a835bf0aafaf6930880511427143b63152047259 SHA512 9a6964a2ad24dbb1108b7018882ddb48cb6e6f652d1c5eed1cac94602539fc71f011a0a276765778df161edbd6387bf03a8505d93565e0c106f09e98d7d6efce DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434 DIST quick-xml-0.36.1.crate 185352 BLAKE2B 0ad31fb7210bb9c71ee480d400d10c01e02fdc509ccc275305cdabe29aa7d3816ffc7854371e493d3b4b28d43452bf7ef393f7ba4ca556d311cc83f7887ee802 SHA512 21233a50b5ec45db623d4043e03962a19f10cae36fcf3074c32eec3c007a59310ab884352b6c880632535164745fbbf2985d27cd549d50b509f97395a0d48248 DIST quick-xml-0.38.3.crate 204498 BLAKE2B b029d214e594b3fa6161edac5957769c0b711dc866ac8e8caf06339f1d317a2d08097c0495b488cebe258ff0033a568e9ec5b46743dbf40886246dbf5e5e2f19 SHA512 6ea8669671deced89bd14761786e490cdb51693e7344b482480988604fbe323c0c20232fad09d7620b0449ea1c8a1eaf7e716374d2096e919630ba540d45e242 +DIST quick-xml-0.38.4.crate 205035 BLAKE2B 242ca800fc568f77d0d2b7f2963fd16142a05150a692a15584b3044c54fb5a2b44eb703dcc04fc9fe99b6efa35560ef6a760a180ac445a26b0f1e944d7ea1773 SHA512 dd2bea3dec3410978f8f15a0f6046047e5735fc75e714f6a19ab646090b347805ed77be51378ce3f9de19744daaf588ab5ea6e6a8b2d1f72198b4c78056b3877 DIST quickcheck-1.0.3.crate 28069 BLAKE2B 5f0ddc8e22fec55e879745a95024abaa03d7bcfc6453286eec072663b36a5d6ae247b3c1622c4743e1ca9b7c4bb21da0d095aa5247f32b0bedc393f92cda6bc0 SHA512 07dd707c9d3fd0b9cedbba545bc8b4fc1ca2770d169e444f8c96f8306d3161a6a3e9189cc5d0d6b3dc4221f7dbc05887dfe2dedc914f88d5e69ab2b94179185a DIST quickcheck_macros-1.0.0.crate 5275 BLAKE2B 1681fbc5a476c627da442d601d9f24dfeaa147dbad7c8d6989ad73cf5a204963c29b2b5bf68513ba74c322f74ef5ceea92594953e9034921a2c8132150252779 SHA512 f7de86f76a53fc36063f10f5405979677a2e48a96d13c439a4aa98e89ec7f3c3cae324b8dd789a5236630110ac9a1763f28361442cca08d1a1ef458c7bfadd55 DIST quickcheck_macros-1.1.0.crate 11744 BLAKE2B 50ad3dce5da43105a0fabc8ba373d614c718fcb0918a9dddfcf7115f1802c2d8509f8eb11d63937154686281a4e024ff9f5fa71a2209f7e84a9e9a31be3eca94 SHA512 d63c43796b4995b4a416c82365b09e29c50376e00c8c3a25d05da88a0f62b90c17385e98508659e3f210fbab8b103cee4113acaa76b5c2215faf0c47dfbf786f DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685 DIST quote-1.0.41.crate 31408 BLAKE2B 9d496e0878fc329ac9492ecbd470e762bd807ec8ca4e17a856b4d1c776351434778f519977137a67b8c143ee60b20774c09768d480cff51b22f2cfcb364a20d9 SHA512 64374d70eb29f7d7e02e535ba383586d93f68a9b6464c79840fa6c42a1ac47be7ba14e415a40e158f845e486ed33d5c564c882913780d296360b30a56301ff7e +DIST quote-1.0.42.crate 31504 BLAKE2B a8106c0fe3953bcc2aa421516dfbaad6d6cb2ea839b2ce1447a45b8732dad40a921c2008b477bc0fa029dc0e0357a339db543b1f90bb9da77a5a3681fc16bed0 SHA512 6d55047312de6bab660459750c54213e986f0a80b4458fdb706c2fb3bab83b8239cd230dd9291662076d395c818a391142af1228ae3158cfa4960d6c74d531ba DIST r-efi-5.3.0.crate 64532 BLAKE2B 54bc882e333f7ba52b6dd6ac92b8a282581c10b47de91a4c4b71b15a27b2df885ab52ae2fcc8a546367ee1ce98300dcaec3c33cbd7393b134383528540bb7d14 SHA512 e748db9729dbddf215d5c37630fa272197dd2921297800209ca7bfcd6ffd8530b598b944d95547ad9723655cafdfb69b1c1fade9ba5f8c2ac5c55ec38258fdad DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 DIST rand-0.9.2.crate 99930 BLAKE2B 4440c21211e3c09daf8797de5ae1c7c461ead207456ad0a0405c6da266de51427dbd68090c461f1a349a04064e4bdba8151656e2e9f7c17be1f4aaeec1e26f3a SHA512 91faee823d9a3b109135182b9566e6327881736359c9d68358ad7dc78eac1e845c553820e2450ca481cae1e0969ec6566e72f7f9233251b1f9133449306f2965 @@ -182,6 +199,7 @@ DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808 DIST rand_core-0.9.3.crate 24543 BLAKE2B d611130e240dffaff33f8384f13a008af93254b1530bbbd2369057ca33f295c7037178010efe76e4d7bf18e36003f843409fabec060c8c78077cba00772e66f9 SHA512 6e8e4067dbf5853c55b0ed38293b6bc6bdecbdd31bb9d624609b0222f706f5b29281ffd5fffd5c316367ba5b22c29e5282c61de3738344798ce0f9cf9cf2ce19 DIST rangemap-1.5.1.crate 57091 BLAKE2B 2fde0bcf53cad7c90bd39f6bc85f9d0913f9d772b93259b563ccff7cf08ff22df6050e7838122c8ce1ffbd87185f2613bcc1d175dcec4439835095133c8bbef7 SHA512 a78cc008bee3468604df91e18e1a03a6d1701c1ed96f4dca5995a97474f3d335bd6208f0ab2e6c616f501d39da86bc30a3f3913ffbf4796be45a7a9ad1b1f160 DIST rangemap-1.6.0.crate 58332 BLAKE2B f167e720b9ec094379ed639eb3454b75cb2688930aa3ea7b1eacaeb4bf7c911f12ab18546bbaa9e29a4645e77fba2bfe9a6de5ec72660c3696a5ad5b74502f0d SHA512 159908404972a709cf4d638a196df84859958cceeb5efeedfd05afe8c309aa2d87a8f0546e193f8bade8ec89ae85b3cc4e8a0063e06c1b057d837e4d0587a1a5 +DIST rangemap-1.7.0.crate 57912 BLAKE2B cf6de2ea92f11639369941efcd1fea35c7d3abade01e583475d93108db42e7cb3cbe3e6afb072ac050e069cd69a742313fb472ebd031a7d5f1cad1e1ca399b43 SHA512 629a83f4023b9db7a0ca764e4d79844319862a23b918842136c177a1451a7ccf582f0208dafe8b2e4eb7dd00b41f26cfa18866ee19543aa5f3226032cf5b63bc DIST ratatui-0.29.0.crate 543514 BLAKE2B d5e7de30e0c7f077ea5a4d13ce5417ab5221e0afa7d819c5706b711a843eced0d7bcef9f2d64bee5e74892ac9f6431d8ebf1f6b326e467e08e948ed0b86ded2f SHA512 0825af0b840e83e6a4aef9e631ae8840e8f7fe4ecc80dfe24b093488a95e1710d11c9a99f92690b0028f106b3d2351949a2b64016369a1fdf822eb4a2381eeb6 DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27 DIST redox_syscall-0.5.18.crate 30747 BLAKE2B b9507a055aa34178982f0b5861602d2e11e13c2604f905c9b747c39aa6c45f06e60cf5c9d17d914712a815fc5e9ad75bf648c300e7265fd4afbac0b0c207afa6 SHA512 69f1cfb215666f1243616366711dbd8cadd6bb411121f48f6e4ffd7b25479efa6f900dd072d7cc6e6fb8130d95cdb42f4c0cb4ba9e05b09b1fa676ca32932101 @@ -227,6 +245,7 @@ DIST strum-0.26.3.crate 7237 BLAKE2B bdc348c718c39609c00b9fa7d47b7090b1467022b7a DIST strum_macros-0.26.4.crate 27531 BLAKE2B 7f7d57c957a1591054288fcae6590a5e669fba1b47d8f1a52371ce60fd84f91fdb430e48cc7edbb5fc72914be5ce12af29758b653680da3f4177339b31206750 SHA512 77a17ce47d5e8fe8a89cb6aa6c3ca5d5c2625aea0f93456f05a9994238cd3b08b3f7c6a45e9b3db21bca8fb5759f505f15cc111ac84acbbb34d59cdae8307b0b DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d DIST syn-2.0.107.crate 301716 BLAKE2B 76ae71e40724b7ab0912df8c5d9ff571a21b6da1ed8f849395ca8565535c245894bbb1927952fa2c81891ce08d5e19336138f80c6374ca4a46c8bc8ed1ff53c7 SHA512 6c65589ad86a01307defcbfcb62d95b342135ad22636b899195784e56d476fe5eb5c7f2b54f827166e573f0a4af0ca834f4a107700417fd68edce7e423467f4a +DIST syn-2.0.110.crate 302184 BLAKE2B 68135017080bbdcee324fc4c98a719d70f9abe3f0a0913b82ad5dd96c8969712bb50d1bb387ed5e60b9fb64e69d6a1e0070361b4c41bc7c0804a4b674099222f SHA512 f9a393a3edcb49d039926bafa46f8befcb840da2af80329eb8b0efa1a2911e5db3e531d1866341f78cb4c28b7a122a07e269263262ff372c27334c7988f536e1 DIST syn-2.0.72.crate 267069 BLAKE2B b0b979f78937a10a6db45f96d5d93c595427a4e158d658a2186419d89b219a4a405ade488d88d9ebdbd605ce4b706aba7088ab39a77294f3cf9847bf032d8f91 SHA512 c3d26bf9787555bc6fd8bd789855d252e80ad28a413593e13bad174adf86087ff195a6b4227bdeb6d1a1c87b0af8e965d6f2d04b8d45e7383b6de49990b92e89 DIST tempfile-3.11.0.crate 34153 BLAKE2B 3a89580e05600ff2ef5637d2ed76ad8f1a769f6dae40cbd23f7bc2cb9d0807d03713ce1571df54c866c8fd9a4fb073990e4e98cc8ffee33aa4d8343c2d39733c SHA512 47d4c48c4f90d116a2f7d5ebf29ea623fb0a0fbfb1192aaaa53a83218ac910b6c836d6d4d8233b07d06e14de70fbf30d243152b7ac22a03d180905c53b6ad9e6 DIST tempfile-3.23.0.crate 43063 BLAKE2B f799368de517d83a5e42505438565c9d16217300d5c5f552e2789de4edcd493474d1d9a9e9cfdb88a776f26f403a89e0f436308b2ae7535d9b377b7c652f7cae SHA512 8e9f84400f714209eb713af5960d1de501c10520817299f0ba2fd53a7c5f0931b60d1053c2c84820aa627aa94bdefa1b0e82c787784b1960170930f0ed2d8753 @@ -236,6 +255,7 @@ DIST termtree-0.4.1.crate 4557 BLAKE2B d4300b0e6e908c519a0a76f5e08167f4467f428b2 DIST termtree-0.5.1.crate 8498 BLAKE2B ebe1face80741908e28d3fbf828bd0a7a70bb317f4532fe38ac9b6adae898a7032f751718a39300ecca8c7bf0ea6cca028c02c93c7ce7a645d67656318e90172 SHA512 43d92132cef6d352c6c0190ce4a688d7cffb61ee86dbc6b49ba1f4c404661f9b329331198063d913ae52b2d4c69e6a2d9f5cd62886894c468093abd8604f0125 DIST thin-provisioning-tools-1.1.0.tar.gz 418825 BLAKE2B 8bd959bb1d5c70feca306ec41450c34c4da830ca7e68d3d3c632971323e492f9e4fbc63e718c05c50caeb64bfe91fe59306275179852f82bfb397fefb87d0709 SHA512 8cf3953743334b5a34504695757fa2de5a5fb5bdb8c7aed859995154fc004f52c3ef041558d307a2309c2de8dcdcbd8a0537bd3408fd78c7ff2f641f28944c1e DIST thin-provisioning-tools-1.3.0.tar.gz 471090 BLAKE2B 5a36385249459d87d3d1e0d2de87392f668a9f82cd8d73f370137f1785ef0ca9fa8fca1094fa0f25ab97f92c723553fb54ff71ac846783503b19ce543f4bef3d SHA512 84e364df240a43fea44edfe14cf428d79d1301891b2482599229e125768912127922377139c2117db50a5370fb08c0f52d589d11b6a90673af2d242ff4ef7920 +DIST thin-provisioning-tools-1.3.1.tar.gz 482509 BLAKE2B c55a4067389fa281f172ead6ded56d7902cf1968f3753a4499753ef8c5298f84ece01f0c2dbc1cdea07780364ac20c7a6e0a67de3fdba6760539c892832a44db SHA512 ff0758b21b50702568cad88522ee4c2b6b4433cec0a5f5074c9d1791c13e630e5c516601d7a68c51ac34e036091fc82fe831dbe51e6776737571d90ed266878e DIST thiserror-1.0.63.crate 21537 BLAKE2B eacab5745d948416bde165d768f55c10c132572052db405ae3dd3e6e3b5ce41f36d574192ae68fecf6002ae5b14fd0aa135fe15e1614f3b51a294d5edc67c9ac SHA512 d5c2360075947cc0fff3253b5532f03f3102d6c9ef52dfeb3b400771116937e466a62ce67ccdf91532bf096f4882322522349a727588fd87b932326c8e758753 DIST thiserror-2.0.17.crate 28857 BLAKE2B ea60d7597439a703f50faf77dfc1cba7cf4ee5c9f7a28b9c553099fddf0534be55e484f4d0761639c845596ee4b4f2b273169cad6c1d36e1a06c775ea79554d9 SHA512 1a20ecdee9e0cef6f4af845255bf7664c77f55a8e6d878ef9c398c42d6c6f6e3deaaf606d7739df3a157f55c5be8bd0ae1af9e9bd7a66cd218e9a6268f7fab91 DIST thiserror-impl-1.0.63.crate 16047 BLAKE2B 290b56ece5c592fdab4d20e9ebcc8dfe3f76b00aa48ed6c216ed0ebcab86b1ab4b4d676d0f52329abaccefae12bd47b4a81966901fdcf4ca5d0632d5021adbb8 SHA512 f93b7f89784d72d8b6e36050c22b88b7fd8de38e9a90fa6fe3f45973ea1566ce8bf82e959951377e3bf584a32afc97812188be25983a028be138b1700bb8c102 @@ -246,6 +266,7 @@ DIST udev-0.7.0.crate 17980 BLAKE2B ef62bfc3bebdea9fbc30d8c0de6989b0310da2b7efa6 DIST udev-0.9.3.crate 21737 BLAKE2B 395c0e57f33be007dbf9d4c77f6d1e2619ab779ed45e6bc3dbd14c77454c0df3d27b6ec85776cbc39214d4b76750472292ca5895b360aa2b4bfda3f0d65ccc57 SHA512 527c075460cc1badcd290255451da1f39aa5fa46ea659c4009847d1af46d21957c099cb1f7de39083e9d7d611cc91f5703bcec0e39b037d70bff7ef0e548c99a DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920 DIST unicode-ident-1.0.20.crate 47416 BLAKE2B 98ae8010ba78315f3ad79707a24f437d86692a14bf857a495f1fec7a0007dc51577c787c9858c9ae379a3c80bc4b471da718087ec9c2fa613b4da66e0f337ffe SHA512 dee59f539c1a92c6847644dd609b65ebe08cfc2ad1054b6bb6c835b5a63c90d9fff09889c4a5cffaf11119898bc1235d8af421b6b1668ae0a153f221684c4c4c +DIST unicode-ident-1.0.22.crate 47919 BLAKE2B 766f52249631092af952df717e09e1eb0d2a8e87c45e65113f0b2b88b42e8b406a87241fadd368ceb9e13339362b48cdbbc6f699f95f448ab45dbbd861615d62 SHA512 81666679aaa2eebfe1429827fa2a88ee0b52bd69723067132c24252070133b3731287bcd880ba16d16274f038c7b27bcf637e9150b6cd955fb4ff49642078125 DIST unicode-segmentation-1.11.0.crate 102740 BLAKE2B 6ab5de53073ff56da4924e8c6ecbfa4bbd72a66b8d86f2c32b2f0ccfefee8064997a6b5311af5de2b71943089c9f52862e3cb13cf366cd645f57c96f2ac8673a SHA512 4914543cf022680f341c4a235f6d9204b3ac9a9098f34a80ee8c94e3d8ccbb82e78af016978eda910987533044593ac629a35286dc80707d349b33e405e86bef DIST unicode-segmentation-1.12.0.crate 106323 BLAKE2B 268b60aff6694434f05afb7e2b8187eeccdceb77460f8ce2ac0f84d470f8a4e03182ce3f7906177cd2f00f989273a7e69061a763006245f0876bf21b15076804 SHA512 55eebfe5e9972b39d7c0011d80eb5f517d636de37870999119a3d8f064f21f67b66a5ba9761d562738b05f220e21d56b5be7bbd9cc51662994e40dd67c38f946 DIST unicode-truncate-1.1.0.crate 12529 BLAKE2B 908c794c44d4928bcb73e3cb7f89a5f57ec39bb0a2931db282849d547fee1e228f0ae01d50421b86a5d08c4860c4960d96909f1444e00179ee7309e25e1a7fd6 SHA512 090050af06ec187902102b07b2caa4f5c4d1a046d013aa1fabef9d18fd3679a6dc4dde6b55b9f606dfb057349fb5c10e2c229d3577116c9fcff07f1099fdf4f2 @@ -253,15 +274,20 @@ DIST unicode-width-0.1.13.crate 457228 BLAKE2B 757c4da5fa090369a26130b08440c2348 DIST unicode-width-0.1.14.crate 271615 BLAKE2B dd2e1504caedecb5d37c397ba05446d3d762b8b6833a8032ebbc213e324d53d89db5e96ed2f7223096e5754d800b39a54105906effc88d9437d7acb9e7beb81e SHA512 3c58a18776aa82cc13c761789a47901616cd98a30356f93d7eb05ae457314209d0a66213e2bbfa5eb8b59be6beacf62438234ce8daafa31b128dbf7d5d6fcadb DIST unicode-width-0.2.0.crate 271509 BLAKE2B 53015f24c57ba65d7ffc6e15e947f5ab96fa272996fe5a4d2f9203051972238ea7591c99f1d8ae5d2610c7b83c215b6912eff7aaae034237aec8d79620bfb843 SHA512 38149ad512a44fc79b2c991c6b5667da2e8f8b442ab6bb7e4f404e7fbb034f7540c7e0e8b9e72a1ff6117b899d6034862239f43b6423fa89d55dcf489caff37d DIST unit-prefix-0.5.1.crate 7627 BLAKE2B 73c1cfe0c8736556700ae374de1004832d3c5e87370d0e0295a60ee78c8dc7a1b4153c1649207734a716820d55e9f3fc5932da87fbd8abd9ff5b8e0d3477eafe SHA512 ceffc0a250d17eb08edd4ad07411834dfcef275c1f5bfa4085f16852133a8b3467be3e8e696336da4a9901b235da66f04ecd9616395b6dd0d9ea88b66000a5a0 +DIST unit-prefix-0.5.2.crate 8041 BLAKE2B b4758a3191a670db8c133ea1cb2b5348df68e4d7f50f08397b3964cf3dbcfad9abf10f9a07da05a5af54cbd976f5f17e177538670579a48076d460263b49f54b SHA512 d4b80b081e5dbcad2cec9b40889fac228539563a29eb0c904d90dc67a4f300ce4006bff55701cb3fe9801a1352b1467afeafc25e8398074bc34cb890fbfc2c52 DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266 DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f DIST wasi-0.11.1+wasi-snapshot-preview1.crate 28477 BLAKE2B bcc773ba28cbe8d820e9e9fbb275fb4451bc7f39b3bd88bcd93850bf2bdb5300489bd8eca27489ccc5f6269b00f4e1b505ae3a33a35d708cd5a414ad307be149 SHA512 29e3c903763db2580a15f50db487c5e1d4e90763e48d90a5b3f681e468a24f9df1a01773bd1ffa0e3cd293dd8cb4d6fbabfaa63c0e13889c811a56f4554ada49 DIST wasip2-1.0.1+wasi-0.2.4.crate 132087 BLAKE2B 9ae5188981d55ab0cfc52668cd822bedde6b03104990bcd070f459a39ef75699a792bfbd33766cdfae852147c2f3ea236aa1d1b792e85c56be21b74aee2232af SHA512 56b88f97224b6b9763f4d2572e986609fc86a98f597930b5cbc8095d4184a0279286c8c79f6ace19bb08ba08854a408a61004bdc6b2f3b72d4f3fcb5e43edceb DIST wasm-bindgen-0.2.104.crate 47345 BLAKE2B 36867eb3a9f872da20a511e3724f13a1c7b6fbff71c0a7d13d1b6380ebfcb4eb2eda9a8d30cc5306497c199d50343ea37445f71b9d9148e71e6cfd123dbd27f4 SHA512 1e6a3aa20c236becd7cd06748b08f3b6eeb59c3fa7b52a15ba0e5e2164ee04ca635c0af7fe3d12f12dda43af739d0df4bae586dac76e63d72176bcf1782986d3 +DIST wasm-bindgen-0.2.105.crate 48215 BLAKE2B 1246bf578db288dfe1f441ed307d781c8c3b593343eaa70efdb602dfaf7eb20ac52ca5744c9ecd03784e4c61d166401db66cf7599b1385d1e15133b47cf2ec0d SHA512 f79d9c1251c005f8ae3a6f7e364c54a34eb80f445bf5a23de0428114dd5dd6f5f74b76c92df784f7b54a0d978c02d5df932626819bd26a97fe90fbbd3d6f8396 DIST wasm-bindgen-backend-0.2.104.crate 32230 BLAKE2B 50d1589b4a04e3807c8217e4707335227451dc9c7112675c5c5720830d82369f31f521748f39604e1f83c7af8676e8cf97ea599ae7c82f1ea095fa3560e52d74 SHA512 959c441e6e6b3391c880db9ec53e646b5ff249791107a6a3b87f0fd5288f91e92f26627a5420c47d205c73b047a8b2a10f35ea3d17cd0d3fead1a0b6d542ee08 DIST wasm-bindgen-macro-0.2.104.crate 9390 BLAKE2B 5bc5251e0c3c7803967e0ec8ed6666a52f7cacdcc9cea55366f9cb9051d4f99361321d6fb7dbc77bc899148089c408c5a2774c36787b5053b22c5eac239e46ae SHA512 3387d5a8faf6829accc6f36011182446bad3ea7af1b514404036c7cc06a5bb78021e8f649a5d2b78b67f6ccfb3ffc05b86eab07575f2ddb783c3ab9aa8108a4a +DIST wasm-bindgen-macro-0.2.105.crate 9264 BLAKE2B e2c4327e94482a8f1a22cc5bd2a67a7af96290c365bfaffe9e07acb1fb71034bda67dbb97e03e9239c8ef0be06a967ae5e1072f88a35ecb61b110a1ad122e243 SHA512 5f3ddd3dfd3060210e63f5da5384a308dcb1466d6c0435e30b4b0183b34284fa972aa70224c6c8f7cf19058e08b6945bafb17ad4d008312eb7b30d26f66fbb3c DIST wasm-bindgen-macro-support-0.2.104.crate 26411 BLAKE2B 0cc34516f3ffd4f5b72b56c184626a0099aa992c3787b7cd52c6e770c5f8c14c178f69983c7a696ef845306f22a93d14f55075ab0f8617971880dbc3fd774a77 SHA512 49b4ed12f09be6d22ef395a1c867d739b5a033cbcbeb308de879138da4f14f7e2de902ae55fabaaaad3a8688f2c05f5c6e7c885e6fbe453df6dcb05e03e326ac +DIST wasm-bindgen-macro-support-0.2.105.crate 49633 BLAKE2B 36c59a0fffe14cb6b5cc767285e6533aac2f1832ca91da5f535779d51323433a324bc07f351d491a151a8f6a67e234e75bf07d508494c314f483bc5d2882b03d SHA512 a579183f46e5e3a9ef32183166b443050af50b8df84ca4cc25cc5a6787e8e45fc1fc3b74c29e3fcdf44fd7b522627252c4894205c693317f27eb475a1b0d9b4e DIST wasm-bindgen-shared-0.2.104.crate 9057 BLAKE2B 970e017fb34c816e7827a175f5a252cf377fcc19fb15be93eafb830523b47df1eb0d9ec03565ec5086914f740818f7deb9a14edb7e7972c6fcb3319394598363 SHA512 ad994073722bd9c4ea955a77032fc5f3c9236446e1e7dad80b8a396be1deb7f1d1c4ba700fd2438c9d0a40c212c171e222dcb8a95235f3f48e42cfb76d721554 +DIST wasm-bindgen-shared-0.2.105.crate 9269 BLAKE2B c67cbf7f2eda35a29c0c60313e9887bc4e44ce0233cd9387f30fce55bfe173551b06f3b0e0d1834dd7c2a0e6383ce0b28390cf05e9ff692245fe4e38751e0b17 SHA512 a3604dd72ed83a627a1b708f1b268693c93a56cf1851823398e43da066f87a25535222cfdf987153d12f948cd7e316e5c2382d12273c63317025ad774411c079 DIST web-time-1.1.0.crate 18026 BLAKE2B cd72e384aca90c79e587448160587531c417f31a32e9ded23e6b78d492d0e517520170fd03177f28870c313b9302b28c32069a2408acccc076a1e4939a2c8f8d SHA512 73e4ef9851de089fde9381a595cb9e37a434f563f1fd350e345f2617b701caf57a9aef739b922b5b10cda131cdf2fd0af42c55603f8973a623a8b6ae70f6cc9f DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 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 d0150902694..33fe16a4bc0 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 @@ -166,7 +166,7 @@ else https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz ${CARGO_CRATE_URIS} " - KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux" + KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv ~sparc x86" fi LICENSE="GPL-3" diff --git a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.3.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.3.0.ebuild index 99fcf2c6add..d2de24ae7ef 100644 --- a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.3.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.3.0.ebuild @@ -212,7 +212,7 @@ else https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz ${CARGO_CRATE_URIS} " - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86" fi LICENSE="GPL-3" diff --git a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.3.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.3.1.ebuild new file mode 100644 index 00000000000..debf527bd70 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.3.1.ebuild @@ -0,0 +1,279 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler2@2.0.1 + aho-corasick@1.1.4 + allocator-api2@0.2.21 + anstream@0.6.21 + anstyle-parse@0.2.7 + anstyle-query@1.1.5 + anstyle-wincon@3.0.11 + anstyle@1.0.13 + anyhow@1.0.100 + autocfg@1.5.0 + base64@0.22.1 + bindgen@0.72.1 + bitflags@2.10.0 + bumpalo@3.19.0 + bytemuck@1.24.0 + byteorder@1.5.0 + cassowary@0.3.0 + castaway@0.2.4 + cexpr@0.6.0 + cfg-if@1.0.4 + cfg_aliases@0.2.1 + clang-sys@1.8.1 + clap@4.5.52 + clap_builder@4.5.52 + clap_lex@0.7.6 + colorchoice@1.0.4 + compact_str@0.8.1 + console@0.16.1 + crc32c@0.6.8 + crc32fast@1.5.0 + darling@0.20.11 + darling_core@0.20.11 + darling_macro@0.20.11 + data-encoding@2.9.0 + devicemapper-sys@0.3.3 + devicemapper@0.34.5 + downcast@0.11.0 + duct@1.1.1 + either@1.15.0 + encode_unicode@1.0.0 + env_filter@0.1.4 + env_logger@0.11.8 + env_logger@0.8.4 + equivalent@1.0.2 + errno@0.3.14 + exitcode@1.1.2 + fastrand@2.3.0 + fixedbitset@0.5.7 + flate2@1.1.5 + fnv@1.0.7 + foldhash@0.1.5 + fragile@2.0.1 + getrandom@0.2.16 + getrandom@0.3.4 + glob@0.3.3 + hashbrown@0.15.5 + heck@0.5.0 + hermit-abi@0.3.9 + hermit-abi@0.5.2 + ident_case@1.0.1 + indicatif@0.18.3 + indoc@2.0.7 + instability@0.3.9 + io-lifetimes@1.0.11 + io-uring@0.7.11 + iovec@0.1.4 + is_terminal_polyfill@1.70.2 + itertools@0.13.0 + itoa@1.0.15 + jiff-static@0.2.16 + jiff@0.2.16 + js-sys@0.3.82 + libc@0.2.177 + libloading@0.8.9 + libredox@0.1.10 + libudev-sys@0.1.4 + linux-raw-sys@0.11.0 + log@0.4.28 + lru@0.12.5 + memchr@2.7.6 + minimal-lexical@0.2.1 + miniz_oxide@0.8.9 + mockall@0.13.1 + mockall_derive@0.13.1 + nix@0.30.1 + nom@7.1.3 + nom@8.0.0 + num-derive@0.4.2 + num-traits@0.2.19 + num_cpus@1.17.0 + numtoa@0.2.4 + once_cell@1.21.3 + once_cell_polyfill@1.70.2 + os_pipe@1.2.3 + paste@1.0.15 + pkg-config@0.3.32 + portable-atomic-util@0.2.4 + portable-atomic@1.11.1 + ppv-lite86@0.2.21 + predicates-core@1.0.9 + predicates-tree@1.0.12 + predicates@3.1.3 + prettyplease@0.2.37 + proc-macro2@1.0.103 + quick-xml@0.38.4 + quickcheck@1.0.3 + quickcheck_macros@1.1.0 + quote@1.0.42 + r-efi@5.3.0 + rand@0.8.5 + rand@0.9.2 + rand_chacha@0.9.0 + rand_core@0.6.4 + rand_core@0.9.3 + rangemap@1.7.0 + ratatui@0.29.0 + redox_syscall@0.5.18 + redox_termios@0.1.3 + regex-automata@0.4.13 + regex-syntax@0.8.8 + regex@1.12.2 + retry@2.1.0 + roaring@0.11.2 + rustc-hash@2.1.1 + rustc_version@0.4.1 + rustix@1.1.2 + rustversion@1.0.22 + ryu@1.0.20 + semver@1.0.27 + serde@1.0.228 + serde_core@1.0.228 + serde_derive@1.0.228 + shared_child@1.1.1 + shared_thread@0.2.0 + shlex@1.3.0 + sigchld@0.2.4 + signal-hook-registry@1.4.6 + signal-hook@0.3.18 + simd-adler32@0.3.7 + static_assertions@1.1.0 + strsim@0.11.1 + strum@0.26.3 + strum_macros@0.26.4 + syn@2.0.110 + tempfile@3.23.0 + termion@4.0.5 + termtree@0.5.1 + thiserror-impl@2.0.17 + thiserror@2.0.17 + udev@0.9.3 + unicode-ident@1.0.22 + unicode-segmentation@1.12.0 + unicode-truncate@1.1.0 + unicode-width@0.1.14 + unicode-width@0.2.0 + unit-prefix@0.5.2 + utf8parse@0.2.2 + wasi@0.11.1+wasi-snapshot-preview1 + wasip2@1.0.1+wasi-0.2.4 + wasm-bindgen-macro-support@0.2.105 + wasm-bindgen-macro@0.2.105 + wasm-bindgen-shared@0.2.105 + wasm-bindgen@0.2.105 + web-time@1.1.0 + windows-link@0.2.1 + windows-sys@0.48.0 + windows-sys@0.60.2 + windows-sys@0.61.2 + windows-targets@0.48.5 + windows-targets@0.53.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.53.1 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.53.1 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.53.1 + windows_i686_gnullvm@0.53.1 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.53.1 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.53.1 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.53.1 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.53.1 + wit-bindgen@0.46.0 + zerocopy-derive@0.8.27 + zerocopy@0.8.27 +" + +LLVM_COMPAT=( {19..21} ) +RUST_MIN_VER="1.82.0" +RUST_NEEDS_LLVM=1 + +inherit cargo llvm-r1 + +DESCRIPTION="A suite of tools for thin provisioning on Linux" +HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://github.com/jthornber/thin-provisioning-tools.git" + inherit git-r3 +else + SRC_URI=" + https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} + " + KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv ~sparc x86" +fi + +LICENSE="GPL-3" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-3.0 ZLIB" +SLOT="0" +IUSE="io-uring" + +RDEPEND="virtual/libudev:=" +# libdevmapper.h needed for devicemapper-sys crate +DEPEND=" + ${RDEPEND} + sys-fs/lvm2 +" +# Needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + virtual/pkgconfig +" + +DOCS=( + CHANGES + COPYING + README.md + doc/TODO.md + doc/thinp-version-2/notes.md +) + +# Rust +QA_FLAGS_IGNORED="usr/sbin/pdata_tools" + +PATCHES=( + "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" +) + +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_configure() { + local myfeatures=( $(usev io-uring io_uring) ) + cargo_src_configure +} + +src_install() { + emake \ + DESTDIR="${D}" \ + DATADIR="${ED}/usr/share" \ + PDATA_TOOLS="$(cargo_target_dir)/pdata_tools" \ + install + + einstalldocs +} diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/Manifest b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/Manifest index 34271b011ac..3ca537454df 100644 --- a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/Manifest @@ -1,5 +1,4 @@ -DIST gnu-efi-3.0.15.tar.bz2 159399 BLAKE2B 0df93d8cacfa1e6d4b7731e32287d4386da9375c5e5c5847df8a29c99d70f5c24b14abc5e44ab9d0a39a6ec96682eb2b5e84d81a5a142d44a50a522a4ae0e3c2 SHA512 64d408b6d115bdc6eebae12fbd6cd907ed5f847f54e506c1e8f8ea5de38a95cf6fac66ab1009bd1d0bd2d54ad45ad598d29bcc303926a5899bf5cc25448cbb2f -DIST gnu-efi-3.0.17.tar.bz2 165568 BLAKE2B 27f8171b411a6a8a138d44d91c7e4e4291aa399562825d51a398913572119482ffeb303d7508ae13eacd2cd10b8f5098405ab16eb56243587efe93235f661285 SHA512 0893ca234272584f889b1ae1c75341a9ceee60acfd32765daa5d704191ba00450536a287b949304c6d055d1bf125cc29e24fc41df8e5230e0da4f9d944876512 DIST gnu-efi-3.0.18.tar.bz2 167567 BLAKE2B e080fa4c57a281452a6473304871304d1b5c30d42ee728b4c0c084258ed2f6f2099c068ec5841cee81ecf664dd658dee3b94d68324ebaa498cb49cec4f7f7df9 SHA512 39f9fa14b880441a94a04400ff8850efdd9474929e5501dfd05af06e7747b4d0f7cb742ac811c7026cf52d00508efb73018be4d61d63a1211de0cd931cbc473d DIST gnu-efi-3.0.19.tar.gz 218588 BLAKE2B 78db87904e644406ce2eb1a0ef0f325e7ad0f004dd56199e319985c5d035b4755d545c1a6bcf749da08c7670132de28a3e53ba059956b841034c6b059e39042b SHA512 78a79f51bd271043edbf534427d8fbba3d8099e831a9643019899453e8363ebd4d43f6e5448cdde31d43a6bdb94ec32e73425138bfb614617b8886df90fc1665 DIST gnu-efi-4.0.2.tar.gz 245063 BLAKE2B 4fe4a1000b2bcdb779aaa82e80f2a722a70230ac82f40e8fd4bfe67f73135e58e44a58b7cafce33702847ed00a1161fbc9565037298129f642ef1d875b04086c SHA512 a52e21daad16af6c1d9cff7f04076584251b77fe1eddc4e720d19de5d0a8d7cca5994b770d3236bcd9b2431918b427dd362ca7cb7e2a6e893ca4ba0e0ead9395 +DIST gnu-efi-4.0.4.tar.gz 245519 BLAKE2B a636ec81a830206b4d793689b6b4b85ab88b9061224691d47076b096e4502f4625fdc759c351d3e8b0a93fc26c33dd4862c2383d7620bb1704649c275da322f7 SHA512 4ed273ef8203f1b2fd90855821576523b070236911a26199eec220f1bad34f63759a32b06f11a681e532a2c793339d9e66bcb90e5cde5de02d8842a40c471a06 diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/files/gnu-efi-3.0.9-fix-clang-build.patch b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/files/gnu-efi-3.0.9-fix-clang-build.patch deleted file mode 100644 index 0e4ec7d77b0..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/files/gnu-efi-3.0.9-fix-clang-build.patch +++ /dev/null @@ -1,19 +0,0 @@ -Bug: https://bugs.gentoo.org/695612 -Upstream: https://sourceforge.net/p/gnu-efi/patches/70/ - ---- a/Make.defaults -+++ b/Make.defaults -@@ -110,10 +110,10 @@ - || ( [ $(GCCVERSION) -eq "4" ] \ - && [ $(GCCMINOR) -ge "7" ] ) ) \ - && echo 1) -- ifeq ($(GCCNEWENOUGH),1) -- CPPFLAGS += -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args --std=c11 -- else ifeq ($(USING_CLANG),clang) -+ ifeq ($(USING_CLANG),clang) - CPPFLAGS += -DGNU_EFI_USE_MS_ABI --std=c11 -+ else ifeq ($(GCCNEWENOUGH),1) -+ CPPFLAGS += -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args --std=c11 - endif - - CFLAGS += -mno-red-zone diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/files/gnu-efi-4.0.0-remove-linux-headers.patch b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/files/gnu-efi-4.0.0-remove-linux-headers.patch deleted file mode 100644 index 858200e3010..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/files/gnu-efi-4.0.0-remove-linux-headers.patch +++ /dev/null @@ -1,14 +0,0 @@ -https://bugs.gentoo.org/888829 - ---- a/apps/Makefile -+++ b/apps/Makefile -@@ -41,9 +41,7 @@ - - include $(SRCDIR)/../Make.defaults - --LINUX_HEADERS = /usr/src/sys/build - APPSDIR = $(LIBDIR)/gnuefi/apps --CPPFLAGS += -D__KERNEL__ -I$(LINUX_HEADERS)/include - - ifneq ($(HAVE_EFI_OBJCOPY),) - ifeq ($(SYSTEM_HAS_EFI_OBJCOPY),0) diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-3.0.15.ebuild b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-3.0.15.ebuild deleted file mode 100644 index 3f81e2b2136..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-3.0.15.ebuild +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright 2004-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit toolchain-funcs - -DESCRIPTION="Library for build EFI Applications" -HOMEPAGE="https://sourceforge.net/projects/gnu-efi/" -SRC_URI="https://downloads.sourceforge.net/gnu-efi/${P}.tar.bz2" - -# inc/, lib/ dirs (README.efilib) -# - BSD-2 -# gnuefi dir: -# - BSD (3-cluase): crt0-efi-ia32.S -# - GPL-2+ : setjmp_ia32.S -LICENSE="GPL-2+ BSD BSD-2" -SLOT="0" -KEYWORDS="-* amd64 arm arm64 ~riscv x86" -IUSE="abi_x86_32 abi_x86_64 custom-cflags" -REQUIRED_USE=" - amd64? ( || ( abi_x86_32 abi_x86_64 ) ) - x86? ( || ( abi_x86_32 abi_x86_64 ) ) -" - -# These objects get run early boot (i.e. not inside of Linux), -# so doing these QA checks on them doesn't make sense. -QA_EXECSTACK="usr/*/lib*efi.a:* usr/*/crt*.o" -RESTRICT="strip" - -PATCHES=( "${FILESDIR}"/${PN}-3.0.9-fix-clang-build.patch ) - -src_prepare() { - default - sed -i -e "s/-Werror//" Make.defaults || die -} - -efimake() { - local arch= - case ${CHOST} in - arm*) arch=arm ;; - aarch64*) arch=aarch64 ;; - ia64*) arch=ia64 ;; - i?86*) arch=ia32 ;; - riscv64*) arch=riscv64;; - x86_64*) arch=x86_64 ;; - *) die "Unknown CHOST" ;; - esac - - local args=( - ARCH="${arch}" - HOSTCC="${BUILD_CC}" - CC="${CC}" - AS="${AS}" - LD="${LD}" - AR="${AR}" - PREFIX="${EPREFIX}/usr" - LIBDIR='$(PREFIX)'/$(get_libdir) - ) - emake -j1 "${args[@]}" "$@" -} - -src_compile() { - tc-export BUILD_CC AR AS CC LD - - if ! use custom-cflags; then - unset CFLAGS CPPFLAGS LDFLAGS - fi - - if use amd64 || use x86; then - use abi_x86_32 && CHOST=i686 ABI=x86 efimake - use abi_x86_64 && CHOST=x86_64 ABI=amd64 efimake - else - efimake - fi -} - -src_install() { - if use amd64 || use x86; then - use abi_x86_32 && CHOST=i686 ABI=x86 efimake INSTALLROOT="${D}" install - use abi_x86_64 && CHOST=x86_64 ABI=amd64 efimake INSTALLROOT="${D}" install - else - efimake INSTALLROOT="${D}" install - fi - einstalldocs -} diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-3.0.17.ebuild b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-3.0.17.ebuild deleted file mode 100644 index 2f32f66d453..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-3.0.17.ebuild +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright 2004-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit toolchain-funcs - -DESCRIPTION="Library for build EFI Applications" -HOMEPAGE="https://sourceforge.net/projects/gnu-efi/" -SRC_URI="https://downloads.sourceforge.net/gnu-efi/${P}.tar.bz2" - -# inc/, lib/ dirs (README.efilib) -# - BSD-2 -# gnuefi dir: -# - BSD (3-cluase): crt0-efi-ia32.S -# - GPL-2+ : setjmp_ia32.S -LICENSE="GPL-2+ BSD BSD-2" -SLOT="0" -KEYWORDS="-* amd64 arm arm64 ~riscv x86" -IUSE="abi_x86_32 abi_x86_64 custom-cflags" -REQUIRED_USE=" - amd64? ( || ( abi_x86_32 abi_x86_64 ) ) - x86? ( || ( abi_x86_32 abi_x86_64 ) ) -" - -# These objects get run early boot (i.e. not inside of Linux), -# so doing these QA checks on them doesn't make sense. -QA_EXECSTACK="usr/*/lib*efi.a:* usr/*/crt*.o" -RESTRICT="strip" - -PATCHES=( "${FILESDIR}"/${PN}-3.0.9-fix-clang-build.patch ) - -src_prepare() { - default - sed -i -e "s/-Werror//" Make.defaults || die -} - -efimake() { - local arch= - case ${CHOST} in - arm*) arch=arm ;; - aarch64*) arch=aarch64 ;; - ia64*) arch=ia64 ;; - i?86*) arch=ia32 ;; - riscv64*) arch=riscv64;; - x86_64*) arch=x86_64 ;; - *) die "Unknown CHOST" ;; - esac - - local args=( - ARCH="${arch}" - HOSTCC="${BUILD_CC}" - CC="${CC}" - AS="${AS}" - LD="${LD}" - AR="${AR}" - OBJCOPY="${OBJCOPY}" - PREFIX="${EPREFIX}/usr" - LIBDIR='$(PREFIX)'/$(get_libdir) - ) - emake -j1 "${args[@]}" "$@" -} - -src_compile() { - tc-export BUILD_CC AR AS CC LD OBJCOPY - - if ! use custom-cflags; then - unset CFLAGS CPPFLAGS LDFLAGS - fi - - if use amd64 || use x86; then - use abi_x86_32 && CHOST=i686 ABI=x86 efimake - use abi_x86_64 && CHOST=x86_64 ABI=amd64 efimake - else - efimake - fi -} - -src_install() { - if use amd64 || use x86; then - use abi_x86_32 && CHOST=i686 ABI=x86 efimake INSTALLROOT="${D}" install - use abi_x86_64 && CHOST=x86_64 ABI=amd64 efimake INSTALLROOT="${D}" install - else - efimake INSTALLROOT="${D}" install - fi - einstalldocs -} diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-4.0.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-4.0.4.ebuild new file mode 100644 index 00000000000..c365147f3cd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-4.0.4.ebuild @@ -0,0 +1,153 @@ +# Copyright 2004-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="Library for build EFI Applications" +HOMEPAGE="https://sourceforge.net/projects/gnu-efi/" +SRC_URI="https://github.com/ncroxon/gnu-efi/archive/${PV}.tar.gz -> ${P}.tar.gz" + +# inc/, lib/ dirs (README.efilib) +# - BSD-2 +# gnuefi dir: +# - BSD (3-cluase): crt0-efi-ia32.S +# - GPL-2+ : setjmp_ia32.S +LICENSE="GPL-2+ BSD BSD-2" +SLOT="0" +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 ) ) + x86? ( || ( abi_x86_32 abi_x86_64 ) ) +" + +# for ld.bfd and objcopy +BDEPEND="sys-devel/binutils" + +# These objects get run early boot (i.e. not inside of Linux), +# so doing these QA checks on them doesn't make sense. +QA_EXECSTACK="usr/*/lib*efi.a:* usr/*/crt*.o" +RESTRICT="strip" + +PATCHES=( + "${FILESDIR}"/${PN}-4.0.2-remove-linux-headers.patch +) + +DOCS="README* SECURITY* docs/*" + +check_and_set_objcopy() { + if [[ ${MERGE_TYPE} != "binary" ]]; then + + if use arm || use riscv; then + # bug #939338 + # objcopy does not understand PE/COFF on these arches: arm32, riscv64 and mips64le + # gnu-efi containes a workaround + return 0 + fi + + # bug #931792 + # llvm-objcopy does not support EFI target, try to use binutils objcopy or fail + tc-export OBJCOPY + # Test OBJCOPY to see if it supports EFI targets, and return if it does + LC_ALL=C "${OBJCOPY}" --help | grep -q '\ /dev/null | grep ^install: | cut -f2 -d' ')/include + elif tc-is-clang; then + CPPINCLUDEDIR=$(LC_ALL=C ${CC} -print-resource-dir 2> /dev/null)/include + fi + append-cflags "-nostdinc -isystem ${CPPINCLUDEDIR} -isystem ${ESYSROOT}/usr/include" + + if use amd64 || use x86; then + use abi_x86_32 && CHOST=i686 ABI=x86 efimake + use abi_x86_64 && CHOST=x86_64 ABI=amd64 efimake + else + efimake + fi +} + +src_install() { + if use amd64 || use x86; then + use abi_x86_32 && CHOST=i686 ABI=x86 efimake INSTALLROOT="${D}" install + use abi_x86_64 && CHOST=x86_64 ABI=amd64 efimake INSTALLROOT="${D}" install + else + efimake INSTALLROOT="${D}" install + fi + einstalldocs +} diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/grub/files/grub-2.12-fix-for-bash-completion-_split_longopt.patch b/sdk_container/src/third_party/portage-stable/sys-boot/grub/files/grub-2.12-fix-for-bash-completion-_split_longopt.patch new file mode 100644 index 00000000000..4496135c660 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-boot/grub/files/grub-2.12-fix-for-bash-completion-_split_longopt.patch @@ -0,0 +1,191 @@ +From 0876fdf215292a06ad087f862ae7677c85ae444f Mon Sep 17 00:00:00 2001 +From: Gary Lin +Date: Mon, 25 Mar 2024 10:11:34 +0800 +Subject: util/bash-completion: Fix for bash-completion 2.12 + +_split_longopt() was the bash-completion private API and removed since +bash-completion 2.12. This commit initializes the bash-completion +general variables with _init_completion() to avoid the potential +"command not found" error. + +Although bash-completion 2.12 introduces _comp_initialize() to deprecate +_init_completion(), _init_completion() is still chosen for the better +backward compatibility. + +Signed-off-by: Gary Lin +Reviewed-by: Daniel Kiper +--- + util/bash-completion.d/grub-completion.bash.in | 61 ++++++++++---------------- + 1 file changed, 22 insertions(+), 39 deletions(-) + +(limited to 'util/bash-completion.d/grub-completion.bash.in') + +diff --git a/util/bash-completion.d/grub-completion.bash.in b/util/bash-completion.d/grub-completion.bash.in +index 4c88ee901..749a5d3cf 100644 +--- a/util/bash-completion.d/grub-completion.bash.in ++++ b/util/bash-completion.d/grub-completion.bash.in +@@ -151,13 +151,10 @@ __grub_list_modules () { + # grub-set-default & grub-reboot + # + __grub_set_entry () { +- local cur prev split=false ++ local cur prev words cword split ++ _init_completion -s || return + + COMPREPLY=() +- cur=`_get_cword` +- prev=${COMP_WORDS[COMP_CWORD-1]} +- +- _split_longopt && split=true + + case "$prev" in + --boot-directory) +@@ -180,11 +177,10 @@ __grub_set_entry () { + # grub-editenv + # + __grub_editenv () { +- local cur prev ++ local cur prev words cword ++ _init_completion || return + + COMPREPLY=() +- cur=`_get_cword` +- prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + create|list|set|unset) +@@ -201,10 +197,10 @@ __grub_editenv () { + # grub-mkconfig + # + __grub_mkconfig () { +- local cur prev ++ local cur prev words cword ++ _init_completion || return + + COMPREPLY=() +- cur=`_get_cword` + + if [[ "$cur" == -* ]]; then + __grubcomp "$(__grub_get_options_from_help)" +@@ -217,13 +213,10 @@ __grub_mkconfig () { + # grub-setup + # + __grub_setup () { +- local cur prev split=false ++ local cur prev words cword split ++ _init_completion -s || return + + COMPREPLY=() +- cur=`_get_cword` +- prev=${COMP_WORDS[COMP_CWORD-1]} +- +- _split_longopt && split=true + + case "$prev" in + -d|--directory) +@@ -246,15 +239,12 @@ __grub_setup () { + # grub-install + # + __grub_install () { +- local cur prev last split=false ++ local cur prev words cword split last ++ _init_completion -s || return + + COMPREPLY=() +- cur=`_get_cword` +- prev=${COMP_WORDS[COMP_CWORD-1]} + last=$(__grub_get_last_option) + +- _split_longopt && split=true +- + case "$prev" in + --boot-directory) + _filedir -d +@@ -287,10 +277,10 @@ __grub_install () { + # grub-mkfont + # + __grub_mkfont () { +- local cur ++ local cur prev words cword ++ _init_completion || return + + COMPREPLY=() +- cur=`_get_cword` + + if [[ "$cur" == -* ]]; then + __grubcomp "$(__grub_get_options_from_help)" +@@ -304,11 +294,10 @@ __grub_mkfont () { + # grub-mkrescue + # + __grub_mkrescue () { +- local cur prev last ++ local cur prev words cword last ++ _init_completion || return + + COMPREPLY=() +- cur=`_get_cword` +- prev=${COMP_WORDS[COMP_CWORD-1]} + last=$(__grub_get_last_option) + + if [[ "$cur" == -* ]]; then +@@ -330,13 +319,10 @@ __grub_mkrescue () { + # grub-mkimage + # + __grub_mkimage () { +- local cur prev split=false ++ local cur prev words cword split ++ _init_completion -s || return + + COMPREPLY=() +- cur=`_get_cword` +- prev=${COMP_WORDS[COMP_CWORD-1]} +- +- _split_longopt && split=true + + case "$prev" in + -d|--directory|-p|--prefix) +@@ -367,10 +353,10 @@ __grub_mkimage () { + # grub-mkpasswd-pbkdf2 + # + __grub_mkpasswd_pbkdf2 () { +- local cur ++ local cur prev words cword ++ _init_completion || return + + COMPREPLY=() +- cur=`_get_cword` + + if [[ "$cur" == -* ]]; then + __grubcomp "$(__grub_get_options_from_help)" +@@ -384,13 +370,10 @@ __grub_mkpasswd_pbkdf2 () { + # grub-probe + # + __grub_probe () { +- local cur prev split=false ++ local cur prev words cword split ++ _init_completion -s || return + + COMPREPLY=() +- cur=`_get_cword` +- prev=${COMP_WORDS[COMP_CWORD-1]} +- +- _split_longopt && split=true + + case "$prev" in + -t|--target) +@@ -417,10 +400,10 @@ __grub_probe () { + # grub-script-check + # + __grub_script_check () { +- local cur ++ local cur prev words cword ++ _init_completion || return + + COMPREPLY=() +- cur=`_get_cword` + + if [[ "$cur" == -* ]]; then + __grubcomp "$(__grub_get_options_from_help)" +-- +cgit v1.2.3 + diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-2.12-r7.ebuild b/sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-2.12-r11.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-2.12-r7.ebuild rename to sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-2.12-r11.ebuild index c5797ed8846..ae0dc8c0930 100644 --- a/sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-2.12-r7.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-2.12-r11.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -66,6 +66,7 @@ PATCHES=( "${FILESDIR}"/grub-2.12-fwsetup.patch "${WORKDIR}"/grub-2.12-bash-completion.patch "${FILESDIR}"/grub-2.12-zfs-zstd-compression-support.patch + "${FILESDIR}"/grub-2.12-fix-for-bash-completion-_split_longopt.patch ) DEJAVU=dejavu-sans-ttf-2.37 @@ -76,7 +77,7 @@ SRC_URI+=" fonts? ( mirror://gnu/unifont/${UNIFONT}/${UNIFONT}.pcf.gz ) # Includes licenses for dejavu and unifont LICENSE="GPL-3+ BSD MIT fonts? ( GPL-2-with-font-exception ) themes? ( CC-BY-SA-3.0 BitstreamVera )" SLOT="2/${PVR}" -IUSE="+device-mapper doc efiemu +fonts mount nls sdl test +themes truetype libzfs" +IUSE="+branding +device-mapper doc efiemu +fonts mount nls sdl test +themes truetype libzfs" GRUB_ALL_PLATFORMS=( coreboot efi-32 efi-64 emu ieee1275 loongson multiboot qemu qemu-mips pc uboot xen xen-32 xen-pvh ) @@ -130,6 +131,7 @@ DEPEND=" ppc64? ( >=sys-apps/ibm-powerpc-utils-1.3.5 ) " RDEPEND="${DEPEND} + branding? ( >=sys-boot/grub-themes-gentoo-1.0-r1 ) kernel_linux? ( grub_platforms_efi-32? ( sys-boot/efibootmgr ) grub_platforms_efi-64? ( sys-boot/efibootmgr ) @@ -370,6 +372,11 @@ src_install() { insinto /etc/default newins "${FILESDIR}"/grub.default-4 grub + if use branding && use themes ; then + sed -i -e 's:^#GRUB_THEME=.*$:GRUB_THEME="/boot/grub/themes/gentoo_glass/theme.txt":g' \ + "${ED}/etc/default/grub" || die + fi + # https://bugs.gentoo.org/231935 dostrip -x /usr/lib/grub diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-2.14_rc1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-2.14_rc1-r4.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-2.14_rc1-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-2.14_rc1-r4.ebuild index 6f4f991a939..b999f4f2177 100644 --- a/sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-2.14_rc1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-2.14_rc1-r4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -84,7 +84,7 @@ SRC_URI+=" # Includes licenses for dejavu and unifont LICENSE="GPL-3+ BSD MIT fonts? ( GPL-2-with-font-exception ) themes? ( CC-BY-SA-3.0 BitstreamVera )" SLOT="2/${PVR}" -IUSE="+device-mapper doc efiemu +fonts mount nls protect sdl test +themes truetype libzfs" +IUSE="+branding +device-mapper doc efiemu +fonts mount nls protect sdl test +themes truetype libzfs" GRUB_ALL_PLATFORMS=( coreboot efi-32 efi-64 emu ieee1275 loongson multiboot qemu qemu-mips pc uboot xen xen-32 xen-pvh ) @@ -138,6 +138,7 @@ DEPEND=" protect? ( dev-libs/libtasn1:= ) " RDEPEND="${DEPEND} + branding? ( themes? ( >=sys-boot/grub-themes-gentoo-1.0-r1 ) ) kernel_linux? ( grub_platforms_efi-32? ( sys-boot/efibootmgr ) grub_platforms_efi-64? ( sys-boot/efibootmgr ) @@ -380,6 +381,11 @@ src_install() { insinto /etc/default newins "${FILESDIR}"/grub.default-4 grub + if use branding && use themes ; then + sed -i -e 's:^#GRUB_THEME=.*$:GRUB_THEME="/boot/grub/themes/gentoo_glass/theme.txt":g' \ + "${ED}/etc/default/grub" || die + fi + # https://bugs.gentoo.org/231935 dostrip -x /usr/lib/grub diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-9999.ebuild index b1301d9f443..447fff13f57 100644 --- a/sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -63,12 +63,6 @@ else EGIT_REPO_URI="https://git.savannah.gnu.org/git/grub.git" fi -PATCHES=( - "${FILESDIR}"/gfxpayload.patch - "${FILESDIR}"/grub-2.02_beta2-KERNEL_GLOBS.patch - "${FILESDIR}"/grub-2.06-test-words.patch -) - DEJAVU_VER=2.37 DEJAVU=dejavu-fonts-ttf-${DEJAVU_VER} UNIFONT=unifont-17.0.02 @@ -83,7 +77,7 @@ SRC_URI+=" # Includes licenses for dejavu and unifont LICENSE="GPL-3+ BSD MIT fonts? ( GPL-2-with-font-exception ) themes? ( CC-BY-SA-3.0 BitstreamVera )" SLOT="2/${PVR}" -IUSE="+device-mapper doc efiemu +fonts mount nls protect sdl test +themes truetype libzfs" +IUSE="+branding +device-mapper doc efiemu +fonts mount nls protect sdl test +themes truetype libzfs" GRUB_ALL_PLATFORMS=( coreboot efi-32 efi-64 emu ieee1275 loongson multiboot qemu qemu-mips pc uboot xen xen-32 xen-pvh ) @@ -137,6 +131,7 @@ DEPEND=" protect? ( dev-libs/libtasn1:= ) " RDEPEND="${DEPEND} + branding? ( themes? ( >=sys-boot/grub-themes-gentoo-1.0-r1 ) ) kernel_linux? ( grub_platforms_efi-32? ( sys-boot/efibootmgr ) grub_platforms_efi-64? ( sys-boot/efibootmgr ) @@ -164,7 +159,9 @@ src_unpack() { local GNULIB_REVISION=$(source bootstrap.conf >/dev/null; echo "${GNULIB_REVISION}") git-r3_fetch "${GNULIB_URI}" "${GNULIB_REVISION}" git-r3_checkout "${GNULIB_URI}" gnulib - sh linguas.sh || die + if use nls; then + sh linguas.sh || die + fi popd >/dev/null || die elif use verify-sig; then verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sig} \ @@ -184,7 +181,7 @@ src_prepare() { if [[ -n ${GRUB_BOOTSTRAP} ]]; then eautopoint --force - AUTOPOINT=: AUTORECONF=: ./bootstrap || die + AUTOPOINT=: AUTORECONF=: ./bootstrap --skip-po || die elif [[ -n ${GRUB_AUTOGEN} ]]; then FROM_BOOTSTRAP=1 ./autogen.sh || die fi @@ -380,6 +377,11 @@ src_install() { insinto /etc/default newins "${FILESDIR}"/grub.default-4 grub + if use branding && use themes ; then + sed -i -e 's:^#GRUB_THEME=.*$:GRUB_THEME="/boot/grub/themes/gentoo_glass/theme.txt":g' \ + "${ED}/etc/default/grub" || die + fi + # https://bugs.gentoo.org/231935 dostrip -x /usr/lib/grub @@ -412,16 +414,17 @@ pkg_postinst() { ewarn fi - if has_version 'sys-boot/grub:0'; then - elog "A migration guide for GRUB Legacy users is available:" - elog " https://wiki.gentoo.org/wiki/GRUB2_Migration" - fi - if has_version sys-boot/os-prober; then ewarn "Due to security concerns, os-prober is disabled by default." ewarn "Set GRUB_DISABLE_OS_PROBER=false in /etc/default/grub to enable it." fi + if grep -q GRUB_LINUX_KERNEL_GLOBS "${EROOT}"/etc/default/grub; then + ewarn "Support for GRUB_LINUX_KERNEL_GLOBS has been dropped." + ewarn "Ensure that your kernels are named appropriately or edit" + ewarn "/etc/grub.d/10_linux to compensate." + fi + if use secureboot; then elog elog "The signed standalone grub EFI executable(s) are available in:" diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/mokutil/Manifest b/sdk_container/src/third_party/portage-stable/sys-boot/mokutil/Manifest index 673a0ed23b4..c9a91d4ada3 100644 --- a/sdk_container/src/third_party/portage-stable/sys-boot/mokutil/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-boot/mokutil/Manifest @@ -1,2 +1 @@ -DIST mokutil-0.6.0.tar.gz 38047 BLAKE2B f2307807c700091f1e5a783b3ad8e7b3eaa17e05580b2c24fd0e92433c6b9bedfb51e9eb2d5d1c71448623b12b6667a573dd51ed03fc738aaf9815083e118ca0 SHA512 11a9d172dba4fbb674e58e5d82cb1dc65a80cff844c0eaebd106b4d4608b24a8207e0cfabf36fe1eedb67f68a8a18db2136c7b62aa3230ac104615e8284dbd7d DIST mokutil-0.7.2.tar.gz 39226 BLAKE2B e3b639070e03a41c9bbf45fd7c95656b1e149a1bf43fdc15396853303cf776b9b8279c48049ff5ec1c4397cb15c58d69c618b884864a7941ad747567963cd491 SHA512 cdab37f86191c009b8264f065c3ca8ca051d8c1366191dca4c142d4146a0f7b7614cb17e53b6a8ca6fde0462bc113d4a1a751673b755eea0b3ed6e90da507f5a diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/mokutil/files/mokutil-0.6.0-conflict.patch b/sdk_container/src/third_party/portage-stable/sys-boot/mokutil/files/mokutil-0.6.0-conflict.patch deleted file mode 100644 index 6283fa33163..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-boot/mokutil/files/mokutil-0.6.0-conflict.patch +++ /dev/null @@ -1,38 +0,0 @@ -From dd55c28236809fc30a7f079882914cde45560277 Mon Sep 17 00:00:00 2001 -From: Gary Lin -Date: Fri, 30 Jun 2023 10:36:54 +0800 -Subject: [PATCH] Avoid conflicting efi_char16_t type definitions - -It's not necessary to define 'efi_char16_t' as 'wchar_t' since we don't -need any wchar functions. Besides, it may conflict with efivar-38. This -commit defines 'efi_char16_t' as 'uint16_t' and adds the conditional -check to avoid the potential conflict. - -Fixes: https://github.com/lcp/mokutil/issues/66 - -Signed-off-by: Gary Lin ---- - src/mokutil.h | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/mokutil.h b/src/mokutil.h -index d47a380..bd02608 100644 ---- a/src/mokutil.h -+++ b/src/mokutil.h -@@ -33,13 +33,14 @@ - #define __MOKUTIL_H__ - - #include --#include - - #include "signature.h" - - typedef unsigned long efi_status_t; - typedef uint8_t efi_bool_t; --typedef wchar_t efi_char16_t; /* UNICODE character */ -+#ifndef efi_char16_t -+typedef uint16_t efi_char16_t; /* UNICODE character */ -+#endif - - typedef enum { - DELETE_MOK = 0, diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/mokutil/mokutil-0.6.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-boot/mokutil/mokutil-0.6.0.ebuild deleted file mode 100644 index b57693258f1..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-boot/mokutil/mokutil-0.6.0.ebuild +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools - -DESCRIPTION="The utility to manipulate machines owner keys which managed in shim" -HOMEPAGE="https://github.com/lcp/mokutil" -SRC_URI="https://github.com/lcp/mokutil/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -DEPEND="dev-libs/openssl:= - sys-apps/keyutils:= - sys-libs/efivar:= - virtual/libcrypt:=" -RDEPEND="${DEPEND}" -BDEPEND="virtual/pkgconfig" - -PATCHES=( "${FILESDIR}"/mokutil-0.6.0-conflict.patch ) - -src_prepare() { - default - eautoreconf -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/bc/bc-1.07.1-r6.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/bc/bc-1.07.1-r6.ebuild index 7664b3206e1..033bfb88270 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/bc/bc-1.07.1-r6.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/bc/bc-1.07.1-r6.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/bc/${P}.tar.gz" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="libedit readline static" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/bc/bc-1.08.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/bc/bc-1.08.0.ebuild index 0a08fa03bab..36c14af1924 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/bc/bc-1.08.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/bc/bc-1.08.0.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/bc/${P}.tar.gz" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="libedit readline static" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/bc/bc-1.08.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/bc/bc-1.08.1.ebuild index a9b9b6389b8..d3a2cd0a575 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/bc/bc-1.08.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/bc/bc-1.08.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/bc/${P}.tar.gz" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="libedit readline static" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/bc/bc-1.08.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/bc/bc-1.08.2.ebuild index a9b9b6389b8..d3a2cd0a575 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/bc/bc-1.08.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/bc/bc-1.08.2.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/bc/${P}.tar.gz" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="libedit readline static" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/binutils-config-5.6.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/binutils-config-5.6.ebuild index a6c0d3c1643..7adc982245a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/binutils-config-5.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/binutils-config-5.6.ebuild @@ -8,7 +8,7 @@ if [[ ${PV} == 9999 ]]; then inherit git-r3 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="Utility to change the binutils version being used" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.45.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.45.1.ebuild index bcc6e945684..97b97ef2e7a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.45.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.45.1.ebuild @@ -35,7 +35,7 @@ else [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI} https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" SLOT=$(ver_cut 1-2) - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 # diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/bison/bison-3.8.2-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/bison/bison-3.8.2-r2.ebuild index 03a3778e65a..cd2955a0b17 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/bison/bison-3.8.2-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/bison/bison-3.8.2-r2.ebuild @@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )" 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="examples nls static test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/bison/bison-3.8.2-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/bison/bison-3.8.2-r3.ebuild index b8c28351a7c..e2cdb1a233a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/bison/bison-3.8.2-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/bison/bison-3.8.2-r3.ebuild @@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )" 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="examples nls static test" RESTRICT="!test? ( test )" 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 1d6909d039a..80cad371dc9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest @@ -1,3 +1,4 @@ DIST crossdev-20250410.tar.xz 33292 BLAKE2B b4c41757ff705866fb3c7420e10d1325977937c50801600002639984dd39b90ebf4fadbde5a09bae02eba2ca17261db32f5275b1599858b2b7c961e3eb85d82f SHA512 aa6c1657d23c96b6109e49ac517dd9550d731f0af508359be55fa8c641675bd4205223eb492e7c94fd69dd86999124d7d0f4766cf1bc17a3dd953f457bf85c9b DIST crossdev-20250622.tar.xz 33316 BLAKE2B 6e91e757174ce6b5c5f6ec5276725e0432f061ea7c21b0c215998d453deed285c422c1f25c313c80de2d2fe86a00751fbb516f40b63f1bcc25602d3eb0353351 SHA512 bdba3da3724d56b43e0d307b4f9fc00f9680ec541a9397d91f92d237980f7e4b300618e8e8484ee8410ecfd3b0c8854d54057ddb646e2182e407e21c503b9fa9 DIST crossdev-20251008.tar.xz 33852 BLAKE2B 4b689da747d73eb592cd6a1b0913084e28ab9882762a24c3fe90b845247ad13fad2c5e61a9d05312607716dfa464b7f1647eb731def555010bdc9bcdaaffe2a4 SHA512 414f45ede604dd6a770bec9032619f153d585d03a4f967e34b46253fcfaa7cace495f3ddbb00921b5efa4f2e3a6b68db9e15117559e557048203b273a0d29a3e +DIST crossdev-20251214.tar.xz 33892 BLAKE2B 02a97ef33ad3515a0bca9dd09636fe1b1bc9f5ac47663655cf4343d6b46738bf2281ae14ee28fb02f5c9bfdd06aaca41ef04559c3fcb9595c853a79d56099fae SHA512 a78e1cce83514d46de42a3e55a261e25fca9dbf8c4264a752fe896a8a9ed431db37214d69ec65062b3e981482d6fa7ff4e82e02c881612fd7e0ea1c1c6a6b0a0 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20251214.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20251214.ebuild new file mode 100644 index 00000000000..450f5772eaa --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20251214.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 +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/flex/flex-2.6.4-r6.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/flex/flex-2.6.4-r6.ebuild index 649fbf80cc9..8cd9ac9bf47 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/flex/flex-2.6.4-r6.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/flex/flex-2.6.4-r6.ebuild @@ -12,7 +12,7 @@ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-autotool LICENSE="FLEX" 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="nls static test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc-config/gcc-config-2.12.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc-config/gcc-config-2.12.2.ebuild index b26e560d302..247493d4d9a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc-config/gcc-config-2.12.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc-config/gcc-config-2.12.2.ebuild @@ -8,7 +8,7 @@ if [[ ${PV} == 9999 ]]; then inherit git-r3 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="Utility to manage compilers" 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 3013be6cc6c..eb3c3db841f 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 @@ -9,8 +9,11 @@ DIST gcc-12.4.0-patches-4.tar.xz 15648 BLAKE2B eec4a40233d396ef4d22901cd06b75a78 DIST gcc-12.5.0.tar.xz 85897368 BLAKE2B df2f87b407c5572d3590e9868a7597b98bc913669054e517fb2eb9ed82f635df6735a5cab0eab30ebec694e39e552806d837233f0ffe02aa90f5d8b61352c34f SHA512 c76020e4c844b53485502cb8a4e295221c9d37487d66c9f4559031fb14c85de20602e6387310005386cb0ef25e55067d2cfef141423bb445f3b77e7456a23533 DIST gcc-13-20250807.tar.xz 84575936 BLAKE2B cac8022c6c6d31fa1d741589b9a7c7fd60eb5fb9b44921b1be8beec1bed5846f769ecbdbd7950ed4de23de69c553b22944038edd92f0e76dc24154720a21f015 SHA512 2d5b59e2e18c02d49d8adadb3c62a45700016828a3dd170c276bfccebb6d15e05cf494fa523447a38e04e6b963c35467c8fb6a699da7cd39bb319f639cd9bf56 DIST gcc-13-20251016.tar.xz 84569872 BLAKE2B 39d1031bc18809098365cda39402ab6d5fa9b513cb2429e1a5f636f6aaaa1e51c515dda5d2842756fdfa03076f0b00089e929dd21bf1fb9a4ba03a4d31d1488f SHA512 bd8e121441bf448b8faf4f0adea93ee218a67a54646bce18638eec5c51974bda4b3226907e5ed7877f973a5a998cbd083dc27c12a64dfa07aec693da1cb2af55 -DIST gcc-13-20251106.tar.xz 84644168 BLAKE2B b4280587015d089b451871478412253877241121b89126f9240d773a9259475ab027b7de0925038fb1e78d41a35d1a583004d1b857375b1baf4710cf1812ed90 SHA512 f08b1ebd05c2ded9dfa0a18fffde22a3739b6e53cbe4b27acec5d38ef3bc5f2288f644680b46f6a6e4adda9a28c5ca1ffd6340aee3b9ac6d2867a387be3407c5 -DIST gcc-13-20251113.tar.xz 84603296 BLAKE2B e44c6cbda344c7d8d9988e0b0b282d3d215bcb525f101fab6b6fd1e53794bd0a0d2d922bfb5cbb9eba678effe2aeb3d1f46da883d1ee5cd7ee6cdf405abdf555 SHA512 6b9acecf887573ab7111c38f5cceccb8ff1fc58f4bb875a23d855ee5725c7bfe07ed0d0ba5afd6db7ad9f3dc59ca3f1125977e14a61d93653c896002b47be9b3 +DIST gcc-13-20251204.tar.xz 84571504 BLAKE2B 0f5b6b51aeb929f9104e419c0a28ec245278fd1f027242913b1adeccf678f63afcfb2c371993acab3cc3ae702acf70a0c32e58b8696eecae36924ad0eae8e315 SHA512 1d1d320fe724a2da3535bcb20630acd5e0cc950eda930a8c356cf9b2b757cf24f88da9ca828276c49d414ccb2d972915a53d92c18abb98f7a9748c7b24d4c6de +DIST gcc-13-20251211.tar.xz 84571276 BLAKE2B 97ed8f9ae3fada4fcb26f63af3b83548039b6313b2b30a33bde11948cf3a80cb25a38ad2638068d4e1f9829806b1294bd3a78e285a6ad3aff59c684462bfb735 SHA512 f576866dbc2dd42d8cea1cf56c6409055534a95e600987601af8775f253d1c0be1e962b31a7c107536bf68609354558b1aba05657d8b9f2599a9e3836ef36bf3 +DIST gcc-13-20251218.tar.xz 84567200 BLAKE2B c786f8fec382fff3fef53dc401746f057abf02d438b16b40d1658e0f7b361531bc9c12ed08b48185135313f4c6edbedefb2de782afb960bf95d3a2b6e8fcdd12 SHA512 2b94acb4e2bc9d03ce67ca40b5ad10455810ad74d271504d075698798c86a7b7db85208d32c4462ff9cb084536536d592aad9cf60271a83ce015acb273d50b47 +DIST gcc-13-20251225.tar.xz 84565564 BLAKE2B 7200bcecd066fdec71184533f8caa1a72916cda41ccece8569991314b3a27e6ada4efac78eb7c9f33d7a7e3cff8dd8a2922395a285b1028c2a866c2f7318d29c SHA512 1666e17c198557c2a66e4b307739f20d2fdcb413b6de3e19a173030b9bb24500036bea6785c1ab22c009d4f240f7eabecc5d275b49c12367d48defbbad22da60 +DIST gcc-13-20260101.tar.xz 84569852 BLAKE2B 9d14ee9a6b410103a5c2317c3244c9afba95ec65079f8c0374e01a92ef36703f2507c7a0309838d423cd0a889ce898f0ecdb8328b648bac07807d0d6aa9d743f SHA512 e44dda35ed65287a26806b70bce75d274318d66aa3ee0ed425b63497d4c35864968cd4e9cd8442da438797a173384490b202b0d3d9687a1f7667e105a7a6d64a 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 @@ -19,20 +22,42 @@ DIST gcc-13.3.0-patches-8.tar.xz 57472 BLAKE2B 85976f7313340ce7a2cd9e7fa67e6d69c DIST gcc-13.3.0-patches-9.tar.xz 69080 BLAKE2B 4933533a19c54972b18f91749ea6ac2f9f9963de8ebea1f16bfd7617fdea2e5f1df29b564c090c32ba6c53feee2f1f9107dfcf96e42050fc701f30bfa8a4c606 SHA512 4a8125f5021c5dff526ecd9bebeff7cfa4aa7d6dace23eacbfda54ea5bdc468d17503a0d8072f8561a72c887f8ce294c648fa802210a0d7e04aee8a585968ea3 DIST gcc-14-20250801.tar.xz 88323948 BLAKE2B 1d47af7340faeed133a1d55bed8a788e4a7e0d12741d80a4345053fae1e95aa57ba4a24361c130080539242e5e5a7f2076827fdd3f2be383ad8d739443c3c885 SHA512 4034c9cfc0eb64239fc2149709d2d9d5055cd11ee5ea2284c61ed3d230f812bc1d8899ead339940b579610b65e1939eaf8ec05a2e26a50cb2c2c5a802a3437ff DIST gcc-14-20251017.tar.xz 88341316 BLAKE2B cbf51aa6784652c90c58766a5f1baadb3395632b708988d7bc6043e2b943536acc5446d0463cee6192aaf026c5f93de09d9366bb3fe6d8134ab098c08b660552 SHA512 7b3385a7143003386df9c4794f2e1b0c79c8a5bccbc29a0e6a897d7028f51ac1e5c71796c0f0caaa3555acf427c8e6e0eccbd68d51512c4d6b5f6eafdc14a02b -DIST gcc-14-20251107.tar.xz 88366224 BLAKE2B cca2911c4b5cbcc21580c037ed8b5cc50dafdd969b3d14fc1a98e4d42f1e816a8f434e139c68038cd20831b7e6671f9146ae52d285a210cc981ed6e2e8e7e8d1 SHA512 d42bc972c51d84eec9ed17410f5141515aad5e349063faec66926b24b72f7aad200c73043e1192d049bc7ea97f8da0cf340659e25bd567e7c80f6e925d68dfa2 -DIST gcc-14-20251114.tar.xz 88382292 BLAKE2B 0c0a4182d99b1f2a16fba442f256952cd69bdb9d41ee871602874e3315163ac87e6183635be94b99af5cd766ade0fb088da326bdfeba8efaa4c7465c6c07aedb SHA512 56b5039891b0e7b1787a89bcf17c34b8ed1117c61129eac2bf754ba798a2e8e3563a51e45e2d99fd5f629a94ee62e7f496b440c8e89564b4b1d860b2c5862027 +DIST gcc-14-20251205.tar.xz 88331532 BLAKE2B 7513e5c220a5aa5d861d9761109f8195f54c5c683580b677d37724d83c3aecead5e8609acf3f05adf3e8383954c444c11f07de99bac0803f0aac563a01596745 SHA512 b05c932de5c478cf9b64a4f2cbdf1de9b37a4845614ff8bc0e0563cd1e716f69ea0fe070ef9bf5ec1fccc0658705ec76cef536ac8dc4ca4c32cf81dad8588c37 +DIST gcc-14-20251212.tar.xz 88337696 BLAKE2B efb74b486504c6bb65f2278c81b6ab0b585eb9eeb05aebe21ac048dc2c05af0050604c0e806719f87b44c8c1d1ee462a5c0af19e094cbf04cd386cadf2d3ff88 SHA512 11c670846fbad5b927539aa719c9fc582de05f9531341fb0ee327e6299c988849de9858d324289dce44d85edc9a15e399f7f4ac315f35f80f0e224e9c317c2b4 +DIST gcc-14-20251219.tar.xz 88338512 BLAKE2B db0cf66256dd6b5a2c6dbdce07412f56779c401dbd0d697f992b86e6c5503a3506b2bee2c8c8687e2985b4169298b9bd3536a8526a9e021f73c1e30f4ca31989 SHA512 9827cac134c417ed8fe3bdcda020a1ed5352e810aeb832a369edf69ed83bb28515849d196f042dc1ee84ab2a67f21c28d5d0ee3e000c1eb5160729996b563e1c +DIST gcc-14-20251226.tar.xz 88344164 BLAKE2B bba307d588edcb8c791aa7ee29bbe61f2324ef5b27263d9b73c3291fa2e9402c33a29c56915e16dd782438bed0cc6c3e2d5700730125bb62afe530005a438cac SHA512 9ed4a8a5b108f9b61c7e22e7e013292b6d071570e4f7de92d332ffeee04f6b84a30c01bf2b3267e744174c1e0c212906cc69f551bd55906d8a8d63bfab688b89 +DIST gcc-14-20260102.tar.xz 88330580 BLAKE2B 424fe164cf3d105155963f3cefd506455e8a11fd8858b4b2f824fe959632d53440c97051e24d0706c6ce24ad07bb2a79f102d32cba7f9b4a5996d059df51da85 SHA512 aa8ceb4aeb6b22c97da8374e329f2fd1120086d57da1bdb1de686eba8635ba5cc433517669ebe4d63ce66d906ec557df8abd60310be973669185116a7db1a4eb DIST gcc-14.3.0-musl-patches-2.tar.xz 6888 BLAKE2B e2f9ce6d445b7ced8f78c18585887422ffdd32356368a456a7cfde5a1854515b32546c1d25a2ab8637ee62d04a2c0bda1afc8d53c44e5c80c12499918c3c18fc SHA512 0b59d228213024cd93d9ffbd4ae5947021db2dc71bd320cc0e4ccf523d39f72e61be25c1a49a343729fe7b9abf7181503de3e650b255d80ab6d969d0de317d19 DIST gcc-14.3.0-patches-4.tar.xz 28116 BLAKE2B 5804f10b40befad1cb9eab4e536377c08aed8c54d3de27f188ae2d52fa7c082a529ad9cb64f9574087afe74e64138c9fc918d653bd2c1d062b8b68d5c7ab640d SHA512 75ee4895efea0131107cf664a0f9fd10f38da0d0f93704e1920778e07f1a860d872a97e1e528f8e1ab754cca25948bb09c444b80cc04f5ae3a516336290bb99c +DIST gcc-14.3.0-patches-5.tar.xz 53952 BLAKE2B 3e5f63d760caf3c18c0f683c00170bb71998b4f0e15552103359d5c0954144676f6ca60e3e367a94cbdff0ab9bec21f3e04e30c38aae8f7e79911da30e6aeb76 SHA512 1702b7f6ee791468d02fcb9d418d2dd48e10cd6dc6eab0cf455aaf848bb78d953b00690fd78cab1ddd5af02acc237072c99ee43f0e512ae3e2e5f922f40f0dfe DIST gcc-15-20251108.tar.xz 92349104 BLAKE2B 40c890e2d61dd02f20a190c8d82175a1df271bd77a1d7cf1bae296ca47941cd43f672ada0fed0c8b27a65d469aedefd0fccd9282418f28feebff29f0b940ef1a SHA512 cc12ff495ba08d37e719278aac7bd526f53609d6cce1f4b45183ff336b78e26eb97967fe5405f791528d0913378084ad6c596e246a5a85b550b84051e5b3974b DIST gcc-15-20251115.tar.xz 92358784 BLAKE2B 8dcf640bd61c0e2379df666bdf9afb6a43492ac5aeb1023dc322b136dff7831166931a6953ac5b883fed45efa855740013e385cd478d0449f61eb8ff7ad296b0 SHA512 fc609f058a6683d6e0496d48ff4240e4f871b378ce1765844c56c5ac96cac04c556f3418b1e1b03a615a0b968c1e92ecfc3e4310e93a654327a718d00672fd14 +DIST gcc-15-20251122.tar.xz 92364288 BLAKE2B 6c7795992430e3a650f43033b135613c5cd56e4b6e4ff5b121f665dba47c038b4ccc339c50b3e3367e2f6436f5a7cf761bca1cd13dc3d42a50b1f1105b8b1c3c SHA512 0534c9ea6c2684e01d93b32301ed11df4a716637e0d68fae4659730dbfc5e23f3e28c41a6b86b25c1bf8b97816b076abcd24f5c2841516031dbc4473bdf28797 +DIST gcc-15-20251129.tar.xz 92340416 BLAKE2B afaa162576a96d304cf82dccbcd695f76b797e1da1506033b810d35d717d1e8f6a73a4939752a3495c81bda4826512e4db4f67534a6ce84a84fea8d3120c5cbe SHA512 c2cb111f6becd6f38ace9527029ef0cdc23c4ec14e1076ab514261b88efa42a354f8797c219f4db2c74d77340df4910a4bd1b30abfe38ea3c86bb9b9680db4cf +DIST gcc-15-20251206.tar.xz 92344176 BLAKE2B 4aacac593eeb4a2dbefe8ac695d7df2ef732cac3a6e7f58b700c61402b9bbcbf36d550a13d118aad57b9917bb89cc5c877f256cc6c6b6a44d8b032ef0a93ea39 SHA512 04870762b7be62a14324b1a81f4d50eedcae1a306992bd14fb0f8f07f670bcbdcc26ed1a9cadf4bcff06527f6cbb99a23335ee0315cbc1d447435afb5cd8cc07 +DIST gcc-15-20251213.tar.xz 92346620 BLAKE2B b93dfb6ec74be9dc6f803a252de6f8b9cd8b4a056ec24e93ee0418ae4cf625359882136a3ecb223efcf3ff79cc937527c3d08fcc13ba75879835753002460cad SHA512 409b62c0a8cf2a7fb6282c68b54167d75d8d0800ec17fc87b17ad945e392229b7e12879857aef3b319b542b3dfb76a87c86290be2c2e2eba4bd04e4f7b704e4c +DIST gcc-15-20251220.tar.xz 92339328 BLAKE2B d0e252554f67cb5e35b3ad2f8db17c35af6bd0245a4ce2429352c1df02b8a2c73feed3f462d6b682b0cfa563dafe29f6a68f31ef1e247539a28c25b85490b866 SHA512 dde5c173b952c834ebfe40a122e31480632d0c74253ad3b821f69f54c904dc323499e58ea98ca25b0b907c508dd4fa66d0dbb732c363662e7c7ec2f937fa20ef +DIST gcc-15-20251227.tar.xz 92352736 BLAKE2B 674d464376a04ebc1f7908cc8b5226e21aadf0c05df41bba979279c8a79ab7989d4e05553c00258bb2e36a03ca9f842030e515b2f7d7c0c5a22883bce1daf16d SHA512 f908bb8e9eea41ce6da20599c556ccb4571f6e731adbb8e370cd1740199a7e1e45a1bccbc5436539a640764d80920091bd43db56ea45f46e9e8b3fa600a05cc0 +DIST gcc-15-20260103.tar.xz 92342096 BLAKE2B 5857348f2f2dac961828b2041b3d7f2c202a0829b1964715b1df760eab4090249dbc3e1c6314aa1a48afb8702fd36cf001fb3db31caa13da703f58e07313c920 SHA512 ff8b7dfb1189ce809ed5281cf0aa3483483403d180a4e4e2c35be76d717a91afd9b9f0ab891dc60364169bee1a7a50b050d5ab2717c384cbd3c73666536041ce DIST gcc-15.2.0-musl-patches-1.tar.xz 7168 BLAKE2B 6b7cfb123c3a691693240db815e6852a1e6c3820baa499368c463e0a0c1490c701053cfea10bf1d33f89dd2ba7bbddf63c4e6e0976590e3aaf1fee78b9282079 SHA512 ab80ffd69b9ead1fe06a9433faaa97ae53947d214999e77ea363fa6435de080d031a1aa6869e1dc088e800317952f2dc249a9e872113db56fb76f0a432240871 DIST gcc-15.2.0-patches-2.tar.xz 18708 BLAKE2B 09c54bd1b8436e12a3da1c3ee41017cd3e960268a5d4637252152b44a4cc93934d4dc93eff842d7dcee4d1688b7f2d98be48114ef5c864793242177f7549c933 SHA512 f11cfafe00f7d18e05a316bd1dc522477cc4118fdd65019cf85bca674ff0180951506fef84ce0b5b13190ccfe44c777a64afdc602a4580595005b43b79ae7411 DIST gcc-15.2.0-patches-3.tar.xz 17436 BLAKE2B ae72e3c5feb7b96c10eb0706efe95047f0516a66ec19488ad7281dd4c62d4c6f1d1d594c6a865c808293b30b4f57ee8bc018b90fcf5944ccb935bc391752aa74 SHA512 4d23fd0dacc33c069528ef0bd6ece3029a4b221e55c82347c2df8a6fa8b890c6e7eeaf15284204a4a29841678b033af2272481bde6fca8ebcc08f8c233f4e7e3 -DIST gcc-16-20251109.tar.xz 97043964 BLAKE2B 34313b7f335e58ddf76f28b8a19f4c1f70f860b6305ceb55f012220933a08caf41fbb986707cbbf37481202ff2a2fc2ea21922bb787b1ded6febd0348ae0b873 SHA512 157e565f3753f48ba34f380c5927a21645daf0bb31f2521dc9bb577fbbc871c2cd6e20504a0ed3f595f9ca95ab57917561caba1ea110e07568aa030f8c8b33ec -DIST gcc-16-20251116.tar.xz 97131276 BLAKE2B 9a2f786ba50fbe3e401f736325dbec3d32deb51cdf75f23430f2d8e077f9eb5fa78fcdb8828239b852dca1a2362e9ec4d289d0b81f1a08ea1b8f82336d577a46 SHA512 47c8302546fc92f9a11f943859d0805089e871821e64de5613af5bbcc7a64ae7cbe7dda167e7ec25b6e033eb02b207fc2209deb8294e4ed4a192703ba2ec5f18 +DIST gcc-15.2.0-patches-4.tar.xz 19912 BLAKE2B 255d6435fe5b205d23d04eb885c55b421b1e6ffc30623fad5fe8a4cee5582f210e9851165b0976629d7e49288366a14635acdf1ad70f6d2fe288bdf88a9416a5 SHA512 f36c0a1e8abbb25cebfd93965950c072f33d8dbbc0be285e8e374a3602fe7e7cae3dfe44f24856d2231bcbfb40fe0c1de3b629e2f573d97f82212a7acf52ccc8 +DIST gcc-15.2.0-patches-5.tar.xz 17460 BLAKE2B 66a813306de7b83da88fd293536f7795fd85c1d9dc5e442c64ab7f9098a7bc3aa4eb1eb27ef16f2fe6f14e3da12ded92a7b3e8aa9cdb449753e31d3546f0907c SHA512 68748f853a9ea7ee50c957c3f31c61ac52235b952f8ecb4dee35ac6f0563c088a733041468961d83ec0a27d5ad3a88c85d38513cbd6a365f38abfa48976387bc +DIST gcc-16-20251123.tar.xz 97158532 BLAKE2B bd24289aecc74de001c288c8e07ea9746ff4e26a19978b34e32f62481e9695eb2dc427b452280860fcd8757f1941133c449f4b8e08701dc923f1547ceadb427c SHA512 161e81d43337d8781ff14279c00ba2fcd0aba953de3c436a8f09b7864111a31288b3b3c1e55fb14fd1426695a6f33c22d39df06d9c2b7a1e6a88947e8e2f55fe +DIST gcc-16-20251130.tar.xz 97478692 BLAKE2B 5e03e213aec7c74e34648d2210b77bb20cb6ae04ee73ef840fe6cf113b05eee5c0d8b1f7bdcd4cac2efe10941e23a7908d3be487b92f8749c45428e99687f4b0 SHA512 ba191dfef948940e29c0981c7eea81207bdbd84f72d96391d286ad613cc7832a1273574a0657df04b317e0053c83bd827584e30ae14c591ab8c4c820e35aa320 +DIST gcc-16-20251207.tar.xz 97572092 BLAKE2B 373c76b915ade3be8b78a16d5d77b549ea52ca60265df5db563792582fe3c68c540a45b70af5b5bfe3e37f34f5b291524c3974275b33b8f8ade3008f93063a6f SHA512 88201f8e680e877417d61d76fefa8f4228809201f1981b2e78eb185933e0d0ea8a74e2b2719783c9f49df1584c8bfac07e469b7c72473d296719b2dcada34ec2 +DIST gcc-16-20251214.tar.xz 97640212 BLAKE2B dbada367a57b73f089f07952ab813580024b81806ceec2895656d592afd7fed258d7ef33a16baab5731138becf466a19d3b6ab5ff0b28d99b912abbb61ccf79b SHA512 4d2d5a97f3193d8092afec4937ca2c03de706eb60c2a7e7eaef5260eba2f3f524787741c1b1a94ca919e571b4144d4e88affff5864539a251bad3f3f214d86a7 +DIST gcc-16-20251221.tar.xz 97719712 BLAKE2B 823a0950b089501e1bd9d89910320a685790aa5623498d860dbc367c18eade21dbe887671a911d976e6a3860025eedccc870e5ba370f3967456b0a9cba535b2b SHA512 5f3f88bddfc8cef6d368fcbd2b2a858c76b38ebd20ad15e0040925d56c0f8118232a3cc44744818f27f7ffbb1536c2cdd47bed7ba1639c5776508740a2bd3241 +DIST gcc-16-20251228.tar.xz 97763020 BLAKE2B ef6d042247b40dd77e28c3b96d8a3df21e92af32eb00327e54c4410099de7a6d7318970f9b8bdbea7aa505c4b82b284bf30e8534015d302cecd393bd300055e8 SHA512 f8107296db1bdc2d59655cca0641236b7cc9eab710a4e6801b6d66777f81c035219b9ee2504c91a7724cf5948dfb3a347778c0b04d8f842c9b4d0a129c940dab +DIST gcc-16-20260104.tar.xz 97818844 BLAKE2B d6f6ea976e5a43c1ccf71a75142b5f8dbe753f6e57ce0ff0bc65934e07a994022fb4dc2ebe8880b33e06ee3f1524e5213905f2d3b2785d16ff28bb192f0713d7 SHA512 8b4c666cef4be7315f16bafdca381f69d03fe78b17bb2bbaf99027a67c208f2e0861839a0c776f6b98c1f6f69e41e78fb8388ec50ca1e7bf77fd959f37abf6f0 DIST gcc-16.0.0-musl-patches-1.tar.xz 3040 BLAKE2B 18b16357699780eb470cf44a10710281955140103198e0bd55b75e1efe3dbec233689edb11e1b9a62f782f3d97293af4906c18c2c41613b422eda085ee819467 SHA512 5ba580c7c7bb9e62935a5162d44d357cc31185a113acff7498ed7b1ac43fd0a35de7c3de0c87f02fe0be46b5e55b49bb35d1f5cd470058d21a9ea4096a37e13d -DIST gcc-16.0.0-patches-22.tar.xz 20656 BLAKE2B aecd57181a92381aa959211ed3ceb1475ae114c481fa8f77af916b68475de46336db789defedfc4a0d7c3d8d749e78b94e07270c094aa6663b35f24482d0dec3 SHA512 f0a3693059c9bab8c8d742bcde9ca7406612364112cc7d2626bb201cfe3824931c17dbacd607af1681a9d39ef44f0f0c197252f4c6de915590291b08dacc3357 -DIST gcc-16.0.0-patches-23.tar.xz 19484 BLAKE2B c6925b71b7a079866e15271d8ee9fc1294bdbd44e30b873b67ed7fb40a3f163fa5d49d8781bb0009598ad64c94a77f37a313cb316977f4e6f2bbad8d4b8b8c23 SHA512 c64add9f61f6f6bf25892be225523f84b13afaedda3895aa48ee1da7ec320182925657b349608a2914be60168dc4fa6d24b33be1856195a7dac08b9d007024e4 +DIST gcc-16.0.0-patches-24.tar.xz 20584 BLAKE2B e94a74b867317f5f5a126231783b5c15be729ec3f20863d46ed97f2eace67718d3a3a7f1cf6d040453057e764af4e4a2aeaeae7f6a09a5d966dd9df22716db4b SHA512 750fbade44cafddd7d54a942413193732649486fc83055a90049b461cbae96f6924fa38e1489c2dbf49d082f59fc6932658a563ee5a167fe1bba9f6bb7f23bed +DIST gcc-16.0.0-patches-25.tar.xz 17940 BLAKE2B 140856458acac807c2a78d97e0f10cc4d0012ad913a1d61411dd9f01ccc6e355fce219a1a0de1cae2cb4fc57b84fdc429ea65932964230b0f4852d6e61a62ee6 SHA512 2272aed3ab6d06c9f611adb01f5bbcd8c7eb4531aee41d456a3224a3b0b388f7bd9c541e4d5d8850e48450ae871074195d03ed83dc30292f2db5be9b4a7cdfb7 +DIST gcc-16.0.0-patches-26.tar.xz 23932 BLAKE2B 6528e4a9f2c02a00bab35c13fe53b071ff99001658de4e17806d66a87893cc528165682b841928f00dd075240a48a3603e0027a6fa8c567aefdf05f89bd2f13d SHA512 88bb06c83aa9bcff20d13e4e9de56cbf8a8de2acb73d918656eeff172a6302aa6371635ac5f8048083ccbb78965b273aa85e9372d4ae2c3df1023c604dcdbaeb +DIST gcc-16.0.0-patches-27.tar.xz 24392 BLAKE2B 08142bdcc50703d127a0ef2a87152ff27d259c588b1ea632357a7a2af634e7f0d54c190134574bd9395a6ca2b522e523fc2cc33e68733230fbfe7f94aae8edea SHA512 7a620bb61b96326fee118945e2f3d8d43878c7cc49007f83ca8e1f456bfea688223fca6af4a9a560d05b881f388d5a218cc3faad9dc4a60e6d113881c114346e +DIST gcc-16.0.0-patches-28.tar.xz 25820 BLAKE2B f7ff876b6b5081a72c0e004bbc2fa94c50daf6433f7a6962d3d5781b0faed3db105a6a24d8d84417347b1a43b828f6a9cbad0b4c3fc11b291797c68877692ea0 SHA512 66179b65f6f54bec508c8e0527cb6e86a2183c0a8acf5f74572beba4ce4e19dd2cf2bb342127a4cfafd465779257b9e6e79d17323b6814855a7f8814dcd935c9 +DIST gcc-16.0.0-patches-29.tar.xz 26752 BLAKE2B cb43d218f9429b38794a130fa787961485721136ae14898d105041db1ee17c4a3297b5e8a8ed9bb7b464dead352eca7cd11906ad3b4a829178eba0172e49d280 SHA512 d27cb569bed0bd8d3867b1cb1d90c4191a995fe8509d3317f036b9c403a5ed82f179f6c83d25cf56308709cb78e8045a53c7ca93a0402c13511ac70807aa5e8b DIST gcc-8.5.0-patches-5.tar.xz 20188 BLAKE2B 45b29161105edc6344bb48f5bdf17e1aad6e8d9edb4d9434816425996c1b12c10f1303963776adad9db866d845f864d80d198a30e35ee6c204ca3659cf7a1401 SHA512 f22ab5d8e3116e2e896a5dcbbf5cef67dc5090182af364ef64fc22d2b28c029da5ed39f126f446721e388e7b6848239d01f5fc0346e49b96d5c04068b557f8f8 DIST gcc-8.5.0.tar.xz 63841008 BLAKE2B aa81a1a730fd7371360f6abed6ba78b5843fd18c58d5de5687acc320741b9e430e85df3535a1ef7a26051409be8d2f0945f503e5968480d919103123a99d4b12 SHA512 92f599680e6b7fbce88bcdda810f468777d541e5fddfbb287f7977d51093de2a5178bd0e6a08dfe37090ea10a0508a43ccd00220041abbbec33f1179bfc174d8 DIST gcc-9.5.0-patches-3.tar.xz 17888 BLAKE2B f2be05f32f4ecca41ebf4f402bf8fb3c11a36a8b7bd912ee9fe6baea980929774b629e12df7afb3405f1f5d044766a437b3eca5433f4af6c757f4a9dbb2e77eb SHA512 d31bb1964cdb2376572e4981b22c7ffa6fa695259c27af5d0d12aebc334cd1122c2f75739033f25f1e672300adeab2b3772622cb16099d002f3f8c5a8fe694f9 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20251106.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20251204.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20251106.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20251204.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20251113.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20251211.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20251113.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20251211.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20251218.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20251218.ebuild new file mode 100644 index 00000000000..d85d2cf0d42 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20251218.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.3.0" +PATCH_VER="9" +MUSL_VER="3" +PYTHON_COMPAT=( python3_{11..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-13.4.1_p20251225.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20251225.ebuild new file mode 100644 index 00000000000..d85d2cf0d42 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20251225.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.3.0" +PATCH_VER="9" +MUSL_VER="3" +PYTHON_COMPAT=( python3_{11..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-13.4.1_p20260101.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260101.ebuild new file mode 100644 index 00000000000..2448afba4b1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260101.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2026 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.3.0" +PATCH_VER="9" +MUSL_VER="3" +PYTHON_COMPAT=( python3_{11..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_p20251017.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251017.ebuild index d99f5eced9f..e1f5607a033 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251017.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251017.ebuild @@ -9,7 +9,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="14.3.0" -PATCH_VER="4" +PATCH_VER="5" MUSL_VER="2" MUSL_GCC_VER="14.3.0" PYTHON_COMPAT=( python3_{11..14} ) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251114.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251205.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251114.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251205.ebuild index bce5cafa90e..f827e76d2ed 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251114.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251205.ebuild @@ -9,7 +9,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="14.3.0" -PATCH_VER="4" +PATCH_VER="5" MUSL_VER="2" MUSL_GCC_VER="14.3.0" PYTHON_COMPAT=( python3_{11..14} ) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251107.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251212.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251107.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251212.ebuild index bce5cafa90e..f827e76d2ed 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251107.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251212.ebuild @@ -9,7 +9,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="14.3.0" -PATCH_VER="4" +PATCH_VER="5" MUSL_VER="2" MUSL_GCC_VER="14.3.0" PYTHON_COMPAT=( python3_{11..14} ) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251219.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251219.ebuild new file mode 100644 index 00000000000..f827e76d2ed --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251219.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="14.3.0" +PATCH_VER="5" +MUSL_VER="2" +MUSL_GCC_VER="14.3.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # m68k doesnt build (ICE, bug 932733) + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251226.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251226.ebuild new file mode 100644 index 00000000000..f827e76d2ed --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251226.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="14.3.0" +PATCH_VER="5" +MUSL_VER="2" +MUSL_GCC_VER="14.3.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # m68k doesnt build (ICE, bug 932733) + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260102.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260102.ebuild new file mode 100644 index 00000000000..58030521832 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260102.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="14.3.0" +PATCH_VER="5" +MUSL_VER="2" +MUSL_GCC_VER="14.3.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # m68k doesnt build (ICE, bug 932733) + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251122.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251122.ebuild new file mode 100644 index 00000000000..195c5b1c9a5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251122.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="15.2.0" +PATCH_VER="4" +MUSL_VER="1" +MUSL_GCC_VER="15.2.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251129.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251129.ebuild new file mode 100644 index 00000000000..b31e36a7d0a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251129.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="15.2.0" +PATCH_VER="4" +MUSL_VER="1" +MUSL_GCC_VER="15.2.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251206.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251206.ebuild new file mode 100644 index 00000000000..b31e36a7d0a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251206.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="15.2.0" +PATCH_VER="4" +MUSL_VER="1" +MUSL_GCC_VER="15.2.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251213.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251213.ebuild new file mode 100644 index 00000000000..e06a0b86809 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251213.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="15.2.0" +PATCH_VER="5" +MUSL_VER="1" +MUSL_GCC_VER="15.2.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251220.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251220.ebuild new file mode 100644 index 00000000000..e06a0b86809 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251220.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="15.2.0" +PATCH_VER="5" +MUSL_VER="1" +MUSL_GCC_VER="15.2.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251227.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251227.ebuild new file mode 100644 index 00000000000..e06a0b86809 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251227.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="15.2.0" +PATCH_VER="5" +MUSL_VER="1" +MUSL_GCC_VER="15.2.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260103.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260103.ebuild new file mode 100644 index 00000000000..6351526d140 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260103.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="15.2.0" +PATCH_VER="5" +MUSL_VER="1" +MUSL_GCC_VER="15.2.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251116.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251123.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251116.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251123.ebuild index 072419d3307..95bba22eef7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251116.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251123.ebuild @@ -9,7 +9,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="16.0.0" -PATCH_VER="23" +PATCH_VER="24" MUSL_VER="1" MUSL_GCC_VER="16.0.0" PYTHON_COMPAT=( python3_{11..14} ) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251109-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251130.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251109-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251130.ebuild index 211c68d739a..8b22c97ca54 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251109-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251130.ebuild @@ -9,7 +9,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="16.0.0" -PATCH_VER="22" +PATCH_VER="25" MUSL_VER="1" MUSL_GCC_VER="16.0.0" PYTHON_COMPAT=( python3_{11..14} ) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251207.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251207.ebuild new file mode 100644 index 00000000000..ff96e86ffb5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251207.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="16.0.0" +PATCH_VER="26" +MUSL_VER="1" +MUSL_GCC_VER="16.0.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251214.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251214.ebuild new file mode 100644 index 00000000000..557e7804622 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251214.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="16.0.0" +PATCH_VER="27" +MUSL_VER="1" +MUSL_GCC_VER="16.0.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251221.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251221.ebuild new file mode 100644 index 00000000000..3da574c72e6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251221.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="16.0.0" +PATCH_VER="28" +MUSL_VER="1" +MUSL_GCC_VER="16.0.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251228.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251228.ebuild new file mode 100644 index 00000000000..3da574c72e6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20251228.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="16.0.0" +PATCH_VER="28" +MUSL_VER="1" +MUSL_GCC_VER="16.0.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20260104.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20260104.ebuild new file mode 100644 index 00000000000..07a5e194af2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.0_p20260104.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="16.0.0" +PATCH_VER="29" +MUSL_VER="1" +MUSL_GCC_VER="16.0.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/metadata.xml index 3cad6f30615..5397dbb3355 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/metadata.xml @@ -7,6 +7,7 @@ Build the Ada language (GNAT) frontend + Build the Algol 68 frontend Enable support for control flow hijacking protection. diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.21.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.21.1.ebuild index 43f0dc76ffe..5ec7362ee5f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.21.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.21.1.ebuild @@ -17,7 +17,7 @@ if [[ ${PV} == *_rc* ]] ; then else SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi # Only libasprintf is under the LGPL (and libintl is in a sep package), # so put that license behind USE=cxx. diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5-r2.ebuild index 27bcb39ce94..fe06327b5d2 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5-r2.ebuild @@ -23,7 +23,7 @@ else 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi # Only libasprintf is under the LGPL (and libintl is in a sep package), diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.23.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.23.1-r1.ebuild index 5b164e7b73d..968daaad081 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.23.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.23.1-r1.ebuild @@ -22,7 +22,7 @@ else 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi # Only libasprintf is under the LGPL (and libintl is in a sep package), diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.23.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.23.2.ebuild index 5fffd8620d4..f93795f0991 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.23.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.23.2.ebuild @@ -22,7 +22,7 @@ else 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi # Only libasprintf is under the LGPL (and libintl is in a sep package), diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.25.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.25.1.ebuild index 16a4615dd33..c1f5cf219ae 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.25.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.25.1.ebuild @@ -22,7 +22,7 @@ else 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi # Only libasprintf is under the LGPL (and libintl is in a sep package), diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.26.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.26.ebuild index 16a4615dd33..c1f5cf219ae 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.26.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.26.ebuild @@ -22,7 +22,7 @@ else 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi # Only libasprintf is under the LGPL (and libintl is in a sep package), diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-20240728.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-20240728.ebuild index 64869e56a95..3ce401e3701 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-20240728.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-20240728.ebuild @@ -9,7 +9,7 @@ if [[ ${PV} == 99999999 ]] ; then inherit git-r3 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 ~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 ~arm64-macos ~x64-macos ~x64-solaris" S="${WORKDIR}" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-20250710.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-20250710.ebuild index 64869e56a95..3ce401e3701 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-20250710.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-20250710.ebuild @@ -9,7 +9,7 @@ if [[ ${PV} == 99999999 ]] ; then inherit git-r3 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 ~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 ~arm64-macos ~x64-macos ~x64-solaris" S="${WORKDIR}" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-99999999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-99999999.ebuild index 90c7ed1f183..fba341bec21 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-99999999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-99999999.ebuild @@ -9,7 +9,7 @@ if [[ ${PV} == 99999999 ]] ; then inherit git-r3 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 ~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 ~arm64-macos ~x64-macos ~x64-solaris" S="${WORKDIR}" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.19-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.19-r2.ebuild index 794419c37cf..07d4b9679bd 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.19-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.19-r2.ebuild @@ -17,7 +17,7 @@ else SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" SRC_URI+=" https://dev.gentoo.org/~floppym/dist/${P}-test-198-sysval-r1.patch.gz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-3+" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.20.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.20.ebuild index 81341448be5..3861a687012 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.20.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.20.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/m4.asc -inherit flag-o-matic verify-sig +inherit branding flag-o-matic verify-sig DESCRIPTION="GNU macro processor" HOMEPAGE="https://www.gnu.org/software/m4/m4.html" @@ -24,7 +24,7 @@ if [[ ${PV} == *_p* ]] ; then else SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-3+" @@ -62,11 +62,6 @@ src_configure() { local -a myeconfargs=( --enable-changeword - - --with-packager="Gentoo Linux" - --with-packager-version="${PVR}" - --with-packager-bug-reports="https://bugs.gentoo.org/" - $(usex nls '' '--disable-nls') # Disable automagic dependency over libsigsegv; see bug #278026 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r6.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r6.ebuild index 529d1eef70d..917d8776ace 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r6.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r6.ebuild @@ -15,7 +15,7 @@ else SRC_URI="mirror://gnu/patch/${P}.tar.xz" SRC_URI+=" verify-sig? ( mirror://gnu/patch/${P}.tar.xz.sig )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-3+" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r8.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r8.ebuild index 2d8305b5605..8b96ed080c9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r8.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r8.ebuild @@ -15,7 +15,7 @@ else SRC_URI="mirror://gnu/patch/${P}.tar.xz" SRC_URI+=" verify-sig? ( mirror://gnu/patch/${P}.tar.xz.sig )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-3+" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.8-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.8-r1.ebuild index e4743a22018..24bf479200d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.8-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.8-r1.ebuild @@ -22,7 +22,7 @@ else SRC_URI="mirror://gnu/patch/${P}.tar.xz" SRC_URI+=" verify-sig? ( mirror://gnu/patch/${P}.tar.xz.sig )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-3+" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-9999.ebuild index c410f22ffd4..fafd712ded4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-9999.ebuild @@ -22,7 +22,7 @@ else SRC_URI="mirror://gnu/patch/${P}.tar.xz" SRC_URI+=" verify-sig? ( mirror://gnu/patch/${P}.tar.xz.sig )" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-3+" diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-6.17.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-6.17.1.ebuild index ad1b1253f16..527c906b2c0 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-6.17.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-6.17.1.ebuild @@ -26,7 +26,7 @@ else S="${WORKDIR}"/${PN}-${MY_PV} if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" fi fi 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 1025101ec98..fe76a92b75b 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,3 +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 DIST cryptsetup-2.8.1.tar.xz 11821036 BLAKE2B 148ff29e94c77abf66b3ebf1a6c291031a786dc2ccb23a3ccd6b816711aac56d64743b709ca6ed4378bf55946cd2c67ba300ed4b7ad831c341fcb37d580efaa5 SHA512 a5171e18c55bfbc57330f2d46ab06b5ac6957392a77aef74c3d1c5295eb39962d1db19ddd3420ea1154d730b361d09e72bf5315c7a3d56eb36cee9c2531bca5d +DIST cryptsetup-2.8.3.tar.xz 11863620 BLAKE2B 9559fb8cd0d916903c0e491c14f8d30a156672313065f4d58ca02a67293288831e6b5d12e843ae607c604d6a08bed46da887308a9ff87413e413b1cf7756810d SHA512 6aaf5a7e6d716e581b50fce417dad079022ff15d54e8a93697888b030b8defa03a39fd94725c3a8692cd07147573bd7f1c3c41571c488aabd44e4f9def9673e2 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.7.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.7.5-r1.ebuild deleted file mode 100644 index f2c5d6b2330..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.7.5-r1.ebuild +++ /dev/null @@ -1,155 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# TODO: meson -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 ) -" - -PATCHES=( "${FILESDIR}"/${P}-compat-test-passwdqc.patch ) - -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 -} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.7.5.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.7.5.ebuild deleted file mode 100644 index 2a7e1e8ee99..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.7.5.ebuild +++ /dev/null @@ -1,149 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# TODO: meson -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 ssh static static-libs test +udev urandom" -RESTRICT="!test? ( test )" -# bug #496612, bug #832711, bug #843863 -REQUIRED_USE=" - ^^ ( ${CRYPTO_BACKENDS//+/} ) - static? ( !ssh !udev !fips ) - 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(+)] ) - 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 !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 -} 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.1-r1.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.0.ebuild rename to sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.1-r1.ebuild index e35551b2182..8f113c0e667 100644 --- 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.1-r1.ebuild @@ -44,7 +44,7 @@ LIB_DEPEND=" openssl? ( dev-libs/openssl:0=[static-libs(+)] ) pwquality? ( dev-libs/libpwquality[static-libs(+)] ) passwdqc? ( sys-auth/passwdqc ) - ssh? ( net-libs/libssh[static-libs(+)] ) + ssh? ( net-libs/libssh[static-libs(+)] net-libs/libssh[sftp(+)] ) sys-fs/lvm2[static-libs(+)] " # We have to always depend on ${LIB_DEPEND} rather than put behind diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.3.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.3.ebuild index e35551b2182..453959440e1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.3.ebuild @@ -14,7 +14,7 @@ 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi CRYPTO_BACKENDS="gcrypt kernel nettle +openssl" @@ -44,7 +44,7 @@ LIB_DEPEND=" openssl? ( dev-libs/openssl:0=[static-libs(+)] ) pwquality? ( dev-libs/libpwquality[static-libs(+)] ) passwdqc? ( sys-auth/passwdqc ) - ssh? ( net-libs/libssh[static-libs(+)] ) + ssh? ( net-libs/libssh[static-libs(+)] net-libs/libssh[sftp(+)] ) sys-fs/lvm2[static-libs(+)] " # We have to always depend on ${LIB_DEPEND} rather than put behind diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/files/cryptsetup-2.7.5-compat-test-passwdqc.patch b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/files/cryptsetup-2.7.5-compat-test-passwdqc.patch deleted file mode 100644 index b266f142f2f..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/files/cryptsetup-2.7.5-compat-test-passwdqc.patch +++ /dev/null @@ -1,58 +0,0 @@ -https://gitlab.com/cryptsetup/cryptsetup/-/commit/64fb1c1b2673e7f366b789943d1627c859a70b1f.patch -https://gitlab.com/cryptsetup/cryptsetup/-/merge_requests/737 - -From 64fb1c1b2673e7f366b789943d1627c859a70b1f Mon Sep 17 00:00:00 2001 -From: Gabi Falk -Date: Sun, 22 Dec 2024 16:00:00 +0000 -Subject: [PATCH] tests/compat-test: Adjust test for compatibility with - passwdqc - -Unlike libpwquality, passwdqc does not consider 'compatkey' a strong -password and rejects 512 character long passwords. - -Closes: https://gitlab.com/cryptsetup/cryptsetup/-/issues/928 -Signed-off-by: Gabi Falk ---- - tests/compat-test | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/tests/compat-test b/tests/compat-test -index 0b2463dd..f01f3032 100755 ---- a/tests/compat-test -+++ b/tests/compat-test -@@ -250,7 +250,7 @@ echo $PWD1 | $CRYPTSETUP luksAddKey $IMG $FAST_PBKDF_OPT 2>/dev/null && fail - echo -e "$PWD1\n$PWD2" | $CRYPTSETUP luksAddKey $IMG $FAST_PBKDF_OPT || fail - echo -e "$PWD0\n$PWD1" | $CRYPTSETUP luksAddKey $IMG $FAST_PBKDF_OPT 2>/dev/null && fail - echo "[4] change key" --echo -e "$PWD1\n$PWD0\n" | $CRYPTSETUP luksChangeKey $FAST_PBKDF_OPT $IMG || fail -+echo -e "$PWD1\n$PWD0\n" | $CRYPTSETUP luksChangeKey --force-password $FAST_PBKDF_OPT $IMG || fail - echo -e "$PWD1\n$PWD2\n" | $CRYPTSETUP luksChangeKey $FAST_PBKDF_OPT $IMG 2>/dev/null && fail - [ $? -ne 2 ] && fail "luksChangeKey should return EPERM exit code" - echo "[5] remove key" -@@ -941,7 +941,7 @@ prepare "[35] Interactive format of device." wipe - expect_run - >/dev/null <$KEYE - expect_run - >/dev/null < v4.18.0 is required" && die +} + +src_prepare() { + default + eautoreconf +} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/Manifest index 1729efcc167..819477c5c3c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/Manifest @@ -1,7 +1,5 @@ DIST fuse-2.9.9.tar.gz 1813177 BLAKE2B 9e9141380bda46eb0bcce325c6fd293fe3844fe884a4952bb38d4b89dc48b728ffcc891038b3a7a861f05acfacce9dd7bb0e11d600609f3ad0ab278ccbe98847 SHA512 3d82fafd04f2924299bb09d2bb144935fa004a43fb9a6568e2e1cc5a60fded2efa1711029a0d7f12b3e6e4501f7217f2ee3545646d89da8dece083cb390f23e2 DIST fuse-3.16.2.tar.gz 14165836 BLAKE2B 04f0037f924ef7b7cc90cb4c26afd1e942da69efebd93f3114774f2101550729379a0256ba190d7c99249fbce4ead5902133c01b29d8d75f41777d148540f521 SHA512 3e8889863cd67dada67271f095f694dc9e5aaf2561fd1e2285aee95b5a54e692bb195ab8fce57fc2bdf08d0ea17b6d56ca4967b4e4371d639d6133907b2370d3 -DIST fuse-3.17.1.tar.gz 4793172 BLAKE2B f7aada0cd16454bd6fbd2af05647bb9b06c03f76cb4b04ea30fc3ff874e309eaa123e9785f7fb59b687d9b5cbe5953566b55892811b2d2566d0712367b6180e7 SHA512 ce2de14b074feae8257f82d738606a65a3330c109ed4c3c014df39fefe4eb3d32f7e2a388459c059b6a7f0653794312fb5842a273ce7bee6c1e01b1a5e7fd0bc -DIST fuse-3.17.2.tar.gz 5627028 BLAKE2B b3df38540720d3519fa8499ba09fbdb33e9871acd239cce888c596527072ab2782389f242bbb974cf82ac2b98385bea39d3c360c035f32aa996a08a22a5a51ad SHA512 fa3bec4b84ce26cd6a1679d669565f55faabf32ab59f406f59e7046e80302d788ed9cc0e895f66163e031a77a46717c4bbc1327ddc4735a8ee4700239ba1e1be -DIST fuse-3.17.3.tar.gz 5651401 BLAKE2B 39e0b20223c4c518308e163498fbb4549ff1af539c9216b4416611d799240185da2c7834b1bbcab7a30b2f1020f3f72699031a0fdfab8b18b56d2f88082d0d2e SHA512 617a7aa4df1027929ca7c1af973d3525a05498b04872c5aea0801b0391e4f3fc97320115bbc7b2720de856e6a097cb22eeab873bf5689859d024121bf590c90e DIST fuse-3.17.4.tar.gz 7307414 BLAKE2B eb9dfd5c446a35f7ef0b6b58c52fe22d306782f5a8b56dc54b00829aa8a59700bd2b03755cc58221d154b88cbdb3da59913700b3d7efa67a586bfaa8fef00e9d SHA512 5451b374ceadb4cb5a8f0c396f1111932ec63984b80dfad7a76258c026b4e8e5ab4a563bb4a9e272d7fa62a5f452113885d4c3ea080a9f56b6aeb85d50c01010 +DIST fuse-3.18.1.tar.gz 8350400 BLAKE2B b0a38794b8eb932f7b23314afdaeacbdd302e9f9037794f5dceb87b22f19de8d125ec0112ee28751b94063324c872e03c26e3128c6cd817858245f7df5acd7ef SHA512 02a6ed591e3a634893ab9a621ccc3b745abda06c5da5a4f2a7cc5a1740ddf8199c841f987bcbc8958fc134c2d773055a06cf25aeb6ef55204a4598b99371cb0b DIST iconv.m4.bz2 3057 BLAKE2B 9d8f7637d87bfcea1b60f3ea11e162aecf391b3f4579a3b85afb01735f56bfbae363a7e781279f3b2bed0d1dd3336f7d0678d3b1d59004824d7d0ca848dceb6e SHA512 9899368b8acc06e216a7a548b83a894f780e152a02612cd52af02b5c3f2ff38e2c36e77bda300587f81c3d74c90addec8066885216fa0e74f3f3280a383d2b55 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-2.9.9-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-2.9.9-r2.ebuild index 8cdc8aa6b14..f9fa7f73f40 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-2.9.9-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-2.9.9-r2.ebuild @@ -14,7 +14,7 @@ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/iconv.m4.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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="examples static-libs" BDEPEND="sys-devel/gettext 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 deleted file mode 100644 index f1c8e2544f2..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.2.ebuild +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..13} ) -inherit flag-o-matic meson-multilib udev python-any-r1 - -DESCRIPTION="An interface for filesystems implemented in userspace" -HOMEPAGE="https://github.com/libfuse/libfuse" -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" -IUSE="+suid test" -RESTRICT="test" -PROPERTIES="test_privileged" - -BDEPEND=" - virtual/pkgconfig - test? ( - ${PYTHON_DEPS} - $(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]') - $(python_gen_any_dep 'dev-python/looseversion[${PYTHON_USEDEP}]') - ) -" -RDEPEND=">=sys-fs/fuse-common-3.3.0-r1" - -DOCS=( AUTHORS ChangeLog.rst README.md doc/README.NFS doc/kernel.txt ) - -python_check_deps() { - python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" && - python_has_version "dev-python/looseversion[${PYTHON_USEDEP}]" -} - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -multilib_src_configure() { - # bug #853058 - filter-lto - - local emesonargs=( - $(meson_use test examples) - $(meson_use test tests) - -Duseroot=false - -Dinitscriptdir= - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - ) - meson_src_configure -} - -src_test() { - # For tests to pass: - # sandbox must be disabled. - # Write access to /dev/cuse* and /dev/fuse is required. - # root must be a member of the portage group; CAP_DAC_OVERRIDE is dropped. - # TMPDIR must be short for unix socket paths. - local -x TMPDIR=/tmp - multilib-minimal_src_test -} - -multilib_src_test() { - epytest -} - -multilib_src_install_all() { - # Installed via fuse-common - rm -r "${ED}"{/etc,$(get_udevdir)} || die - - # useroot=false prevents the build system from doing this. - use suid && fperms u+s /usr/bin/fusermount3 - - # manually install man pages to respect compression - rm -r "${ED}"/usr/share/man || die - doman doc/{fusermount3.1,mount.fuse3.8} -} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.3.ebuild deleted file mode 100644 index 353fc68f5c9..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.3.ebuild +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..13} ) -inherit flag-o-matic meson-multilib udev python-any-r1 - -DESCRIPTION="An interface for filesystems implemented in userspace" -HOMEPAGE="https://github.com/libfuse/libfuse" -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" -IUSE="+suid test" -RESTRICT="test" -PROPERTIES="test_privileged" - -BDEPEND=" - virtual/pkgconfig - test? ( - ${PYTHON_DEPS} - $(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]') - $(python_gen_any_dep 'dev-python/looseversion[${PYTHON_USEDEP}]') - ) -" -RDEPEND=">=sys-fs/fuse-common-3.3.0-r1" - -DOCS=( AUTHORS ChangeLog.rst README.md doc/README.NFS doc/kernel.txt ) - -python_check_deps() { - python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" && - python_has_version "dev-python/looseversion[${PYTHON_USEDEP}]" -} - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -multilib_src_configure() { - # bug #853058 - filter-lto - - local emesonargs=( - $(meson_use test examples) - $(meson_use test tests) - -Duseroot=false - -Dinitscriptdir= - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - ) - meson_src_configure -} - -src_test() { - # For tests to pass: - # sandbox must be disabled. - # Write access to /dev/cuse* and /dev/fuse is required. - # root must be a member of the portage group; CAP_DAC_OVERRIDE is dropped. - # TMPDIR must be short for unix socket paths. - local -x TMPDIR=/tmp - multilib-minimal_src_test -} - -multilib_src_test() { - epytest -} - -multilib_src_install_all() { - # Installed via fuse-common - rm -r "${ED}"{/etc,$(get_udevdir)} || die - - # useroot=false prevents the build system from doing this. - use suid && fperms u+s /usr/bin/fusermount3 - - # manually install man pages to respect compression - rm -r "${ED}"/usr/share/man || die - doman doc/{fusermount3.1,mount.fuse3.8} -} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.18.1.ebuild similarity index 65% rename from sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.1-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.18.1.ebuild index af2f7406cbb..7d291e3a4ef 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.18.1.ebuild @@ -3,8 +3,8 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..13} ) -inherit flag-o-matic meson-multilib udev python-any-r1 +PYTHON_COMPAT=( python3_{11..14} ) +inherit flag-o-matic meson-multilib toolchain-funcs udev python-any-r1 DESCRIPTION="An interface for filesystems implemented in userspace" HOMEPAGE="https://github.com/libfuse/libfuse" @@ -13,19 +13,30 @@ 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" -IUSE="+suid test" +IUSE="io-uring +suid systemtap test" RESTRICT="test" PROPERTIES="test_privileged" +DEPEND=" + io-uring? ( + sys-libs/liburing:=[${MULTILIB_USEDEP}] + sys-process/numactl + ) +" +RDEPEND=" + ${DEPEND} + >=sys-fs/fuse-common-3.3.0-r1 +" BDEPEND=" virtual/pkgconfig test? ( ${PYTHON_DEPS} - $(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]') - $(python_gen_any_dep 'dev-python/looseversion[${PYTHON_USEDEP}]') + $(python_gen_any_dep ' + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/looseversion[${PYTHON_USEDEP}] + ') ) " -RDEPEND=">=sys-fs/fuse-common-3.3.0-r1" DOCS=( AUTHORS ChangeLog.rst README.md doc/README.NFS doc/kernel.txt ) @@ -40,11 +51,13 @@ pkg_setup() { multilib_src_configure() { # bug #853058 - filter-lto + tc-is-clang && filter-lto local emesonargs=( $(meson_use test examples) $(meson_use test tests) + $(meson_use systemtap enable-usdt) + $(meson_use io-uring enable-io-uring) -Duseroot=false -Dinitscriptdir= -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" @@ -54,16 +67,18 @@ multilib_src_configure() { src_test() { # For tests to pass: - # sandbox must be disabled. - # Write access to /dev/cuse* and /dev/fuse is required. - # root must be a member of the portage group; CAP_DAC_OVERRIDE is dropped. - # TMPDIR must be short for unix socket paths. + # - sandbox must be disabled. + # - Write access to /dev/cuse* and /dev/fuse is required. + # - root must be a member of the portage group; CAP_DAC_OVERRIDE is dropped. + # - TMPDIR must be short for unix socket paths. local -x TMPDIR=/tmp + local -x SANDBOX_ON=0 multilib-minimal_src_test } multilib_src_test() { - epytest + # Explicit test/ needed to pick up pytest.ini + epytest test/ } multilib_src_install_all() { diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/metadata.xml index 1bd33fd4136..f7a4fa43f9c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/metadata.xml @@ -4,6 +4,9 @@ base-system@gentoo.org + + Enable SystemTap/DTrace tracing + cpe:/a:fuse:fuse libfuse/libfuse diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/lvm2-2.03.22-r7.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/lvm2-2.03.22-r7.ebuild index e438f09a07f..7772242c959 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/lvm2-2.03.22-r7.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/lvm2-2.03.22-r7.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}/${PN^^}.${PV}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="lvm readline sanlock selinux static static-libs systemd thin +udev valgrind" REQUIRED_USE=" static? ( !systemd !udev ) diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.5.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.5.ebuild index bd783dafb34..689cbffefb5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.5.ebuild @@ -14,7 +14,7 @@ SRC_URI="https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz LICENSE="Apache-2.0 LGPL-2+" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +KEYWORDS="amd64 ~arm64 ~riscv ~x86" IUSE="doc test" DEPEND="sys-fs/fuse:3=" diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/quota/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/quota/Manifest index d1698eff541..bb6c96d31f2 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/quota/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/quota/Manifest @@ -1,2 +1,3 @@ DIST quota-4.09.tar.gz 523191 BLAKE2B 30b3828a45dcd7d99ff053f362917c138b1f0bcbde5f6fd3dfc1b48cb12615e5673d852f9276f2b370f9c799a2103e220d91ddf6a770aaaf8944cfb5c1131a74 SHA512 003d45f33543d4c87446e6547079cdae293b8dade01c58cf3626623721a1400ee07681395ad656c23a9ea2a62ab27c6ad24ad55600890e6e25334aba27ab1ad5 DIST quota-4.10.tar.gz 551775 BLAKE2B 8c274e66e618f48c092c6885daf3d86223561d138e55f3abd24a24b73d6dd9da9458ac927ada9e68a61b06f7967d4fe2e80ed0c6ca1afb7f1038e62e9b358cd3 SHA512 071b7847b6b806b1c821059f11332c7a060787e041cc050789818be41d334d8bacaa7792fe3b8b0d422d7a505c0d7a0df8c363364c5f7cd9fa38cd74f0f6542f +DIST quota-4.11.tar.gz 550311 BLAKE2B 838dec013f5bb6d53ebc18b5a8b70ea2f4d4075aac834672f7631044ad1ae0b21e6562f8aad2c0582bef68ccd71e5663b6fd8d70fe353132476636e23c80c533 SHA512 84c6b520e9c06fd069ee4ead2683cc1f89ff8b888f30d8d610a3577af2ceb9ce3982a22a4b314151767dea600d76b368146adce7bdb9a180e12f054bdaaaeb3b diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/quota/quota-4.11.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/quota/quota-4.11.ebuild new file mode 100644 index 00000000000..326b49b0d01 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/quota/quota-4.11.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Linux quota tools" +HOMEPAGE="https://sourceforge.net/projects/linuxquota/" +SRC_URI="https://downloads.sourceforge.net/linuxquota/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="ldap netlink nls rpc selinux tcpd" + +RDEPEND=" + sys-fs/e2fsprogs + ldap? ( >=net-nds/openldap-2.3.35:= ) + netlink? ( + sys-apps/dbus + dev-libs/libnl:3 + ) + rpc? ( + elibc_glibc? ( sys-libs/glibc[-rpc(-)] ) + net-libs/libtirpc:= + net-libs/rpcsvc-proto + ) + tcpd? ( sys-apps/tcp-wrappers ) +" +DEPEND="${RDEPEND}" +BDEPEND="nls? ( sys-devel/gettext )" +PDEPEND="rpc? ( net-nds/rpcbind )" +RDEPEND+=" selinux? ( sec-policy/selinux-quota )" + +src_configure() { + local myeconfargs=( + --enable-ext2direct + $(use_enable nls) + $(use_enable ldap ldapmail) + $(use_enable netlink) + $(use_enable rpc) + $(use_enable rpc rpcsetquota) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + emake DESTDIR="${D}" install + dodoc doc/* README.* Changelog + + insinto /etc + insopts -m0644 + doins warnquota.conf quotatab + + newinitd "${FILESDIR}"/quota.rc7 quota + newconfd "${FILESDIR}"/quota.confd quota + + if use rpc ; then + newinitd "${FILESDIR}"/rpc.rquotad.initd rpc.rquotad + fi + + if use ldap ; then + insinto /etc/openldap/schema + insopts -m0644 + doins "${FILESDIR}"/ldap-scripts/quota.schema + + exeinto /usr/share/quota/ldap-scripts + doexe "${FILESDIR}"/ldap-scripts/*.pl + doexe "${FILESDIR}"/ldap-scripts/edquota_editor + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/squashfs-tools/squashfs-tools-4.7.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/squashfs-tools/squashfs-tools-4.7.4.ebuild index 2ff2b7dc6fc..690b0eefa67 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/squashfs-tools/squashfs-tools-4.7.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/squashfs-tools/squashfs-tools-4.7.4.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=" 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 3beb02e8b1e..028d8d72aae 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 @@ -4,3 +4,4 @@ DIST xfsprogs-6.14.0.tar.xz 1543640 BLAKE2B 5ef446b2055356627cd91ebfe9bb07388f9b DIST xfsprogs-6.15.0.tar.xz 1550568 BLAKE2B fe6806ac8235c0984055f7b969b11bc0c49ee8bb8f49f7a4c3bf03f1ebf839cccb86cdb6c4946723a1b8007422e057fb7b865cc60081037920e8208cfcab16e9 SHA512 975c9c7fe476b02da50da74eb599f804f2b27a638a74b807e1f69d93d0d150d19bf6d5036601b96febe557a6c51065d8cf22eef5fda92a6d7f084ac1d7647496 DIST xfsprogs-6.16.0.tar.xz 1557452 BLAKE2B ae4087c887b4c9d2fcc4b5341ca3c7d0333cf2132111179feee4b765ba9a1cc94143723b2bc4bcd8658bd7902871266af69293c77d715de1d0e878dc76b42e8e SHA512 333ef39f38d0fa46742b7fd28ebc6482e90abb32e58634b3a93aa24f0202c55f4dc32f1b00a9859c6e64efada4d844c3a995a913520cb00d5e1a4f1a83da848d DIST xfsprogs-6.17.0.tar.xz 1563092 BLAKE2B e841526add6c17d036a709c1fafe879a50ba7d568008865eac8d166182be5514d8abc94b8facbe113aa6106ac394ea01049b6a555ebd280ee1cd5d64fff1b5da SHA512 bcdd5a632ac1eae4ad68ac1b18a0289820fcef997da2b3b132e97f035f21e951f20f19de9d09e0babd7d7feb8ad14c0782aa81c698b39c19e4349e603892287e +DIST xfsprogs-6.18.0.tar.xz 1563944 BLAKE2B 225cb49a39a2539e48513985d72602c0c067f73597e3fe1d9d4062989ed98c3a0b2c85bb9d465c60acefce3243a7e2320808727e6ce527fbc35216bde235144e SHA512 95fcbfdd91d9b02ec9adef50e23a39240056bf3bfed3d973e048a50dd0d0b040f80e8cf72537cca7e560718e4444ed1bbcf8b99ee4c82e044ca52d916536f7f5 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/files/xfsprogs-6.17.0-ioctl.patch b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/files/xfsprogs-6.17.0-ioctl.patch new file mode 100644 index 00000000000..70c7cdb6fec --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/files/xfsprogs-6.17.0-ioctl.patch @@ -0,0 +1,66 @@ +https://lore.kernel.org/linux-xfs/20251205143154.366055-2-aalbersh@kernel.org/ +https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/commit/?h=for-next&id=3147d1d643c8278f1b75dedf3a64037bece7da53 + +From 3147d1d643c8278f1b75dedf3a64037bece7da53 Mon Sep 17 00:00:00 2001 +From: Arkadiusz Miśkiewicz +Date: Fri, 5 Dec 2025 15:31:48 +0100 +Subject: libfrog: fix incorrect FS_IOC_FSSETXATTR argument to ioctl() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +xfsprogs 6.17.0 has broken project quota due to incorrect argument +passed to FS_IOC_FSSETXATTR ioctl(). Instead of passing struct fsxattr, +struct file_attr was passed. + +# LC_ALL=C /usr/sbin/xfs_quota -x -c "project -s -p /home/xxx 389701" /home +Setting up project 389701 (path /home/xxx)... +xfs_quota: cannot set project on /home/xxx: Invalid argument +Processed 1 (/etc/projects and cmdline) paths for project 389701 with +recursion depth infinite (-1). + +ioctl(5, FS_IOC_FSSETXATTR, {fsx_xflags=FS_XFLAG_PROJINHERIT|FS_XFLAG_HASATTR, fsx_extsize=0, fsx_projid=0, fsx_cowextsize=389701}) = -1 EINVAL (Invalid argument) + +There seems to be a double mistake which hides the original ioctl() +argument bug on old kernel with xfsprogs built against it. The size of +fa_xflags was also wrong in xfsprogs's linux.h header. This way when +xfsprogs is compiled on newer kernel but used with older kernel this bug +uncovers. + +Reviewed-by: Darrick J. Wong +Reviewed-by: Christoph Hellwig +Signed-off-by: Arkadiusz Miśkiewicz +Signed-off-by: Andrey Albershteyn +--- + include/linux.h | 2 +- + libfrog/file_attr.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/include/linux.h b/include/linux.h +index cea468d2b9..3ea9016272 100644 +--- a/include/linux.h ++++ b/include/linux.h +@@ -214,7 +214,7 @@ struct fsxattr { + * fsxattr + */ + struct file_attr { +- __u32 fa_xflags; ++ __u64 fa_xflags; + __u32 fa_extsize; + __u32 fa_nextents; + __u32 fa_projid; +diff --git a/libfrog/file_attr.c b/libfrog/file_attr.c +index c2cbcb4e14..6801c54588 100644 +--- a/libfrog/file_attr.c ++++ b/libfrog/file_attr.c +@@ -114,7 +114,7 @@ xfrog_file_setattr( + + file_attr_to_fsxattr(fa, &fsxa); + +- error = ioctl(fd, FS_IOC_FSSETXATTR, fa); ++ error = ioctl(fd, FS_IOC_FSSETXATTR, &fsxa); + close(fd); + + return error; +-- +cgit 1.2.3-korg diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.17.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.17.0-r1.ebuild new file mode 100644 index 00000000000..6df2f7dc028 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.17.0-r1.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2025 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} + >=sys-kernel/linux-headers-6.11 +" +BDEPEND="nls? ( sys-devel/gettext )" +RDEPEND+=" selinux? ( sec-policy/selinux-xfs )" + +PATCHES=( + "${FILESDIR}"/${PN}-6.17.0-ioctl.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 + + # 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.17.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.17.0.ebuild index c85bd45aae8..8dbfbab1309 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.17.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.17.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=" diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.18.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.18.0.ebuild new file mode 100644 index 00000000000..c85bd45aae8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.18.0.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2025 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} + >=sys-kernel/linux-headers-6.11 +" +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 + + # 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/zfs-kmod/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/Manifest index afe0a2c2a7a..2a9d5551af0 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 @@ -1,16 +1,12 @@ DIST zfs-2.1.16.tar.gz 35187215 BLAKE2B 8bb90903f3747589fff94a810584de54d7f598b0aa9d0b364cc679779d401a9a76f6914cbfbdd007e2066f02230ed4cac4f3735830ea70eb3bcc449af8229c5d SHA512 68e62015e44eeb997166418bf769afa3e96c037a9282dcfd08a8f01d935fa48076483158f628d70b0aed258427510996d4c4ee7d2644ff561163c76f776635d2 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.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.2.9.tar.gz 33864041 BLAKE2B abafd4da0c98cf93a2648150c859ffc6847aa2f5bfa59f3b6cc1619a2313a1600923c7a07c9e647c6c0f40eda21fb0985de81a436c44513a5bd99984a18329a5 SHA512 bed0f7794ff7898557a4854d8634a96f9be5368b0264558d980e70664fe1f02a35b05a96b5e92acd40e2b741373ca4a312e31ad4f69c4d639c817cce3988f382 +DIST zfs-2.2.9.tar.gz.asc 858 BLAKE2B caf76646bb3cba75b65b9b93b63f698d172806d60480785938ca3112a67d3e6d9a9b123217df4c92ad682b695292d9e674c4cba819b94276d154aba11e8dcc7d SHA512 ff3a1789154382b06e778b1847519188d520d5037f8c78089309c1d532e8496f682ead1648991bb9eb58dbdedd0007fa7d3157a8887a525470c9220bab3eb4e2 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 DIST zfs-2.3.4.tar.gz 34386899 BLAKE2B e7619445a9138475e51e1578cb4e85032570830faba5aab44013a652596a07e49cf602acfe7fd0e5411199d11614d4686cc3f14fddf3062695ce3da922075efd SHA512 56b90960de6aa94b76f8efc3c84993454a8d544bd47e1270e02caa8d96569e866102e17ef1f16056722bf5f6624fad0bbe7f9ef0e94bc0c3fc16e61b681db815 DIST zfs-2.3.4.tar.gz.asc 858 BLAKE2B 2537afa40b48c07b8ad61a4f6973e40a78b5863afbb6b75674fb7a5950ba2dda22dfa93a180190332d234b0b2e2ce14ed61cb34bc0f56e609dad3cdb805ab5c2 SHA512 cc50fb915d4e8a7eb894bdf919940a8c68828e48a5e1f2a08b08a5e75c0eb8a9cd4feaa84742b65d6b2d85ee839ac2b7d565ed7958006ff079d751145463243b -DIST zfs-2.4.0-rc1.tar.gz 34294259 BLAKE2B 262a510a356c515692d03ce2f5bdb61bb051d04ac79cc7723a2944e9f99f5514e2749752901e202f6bb8edd560e3639b845e790d9b861271265fe04cbe0178ce SHA512 9e8a95d98c311ee6efc8a2aa3f6e97a1573f247bbdbf9f11e0f981f8b768b45337b229d3c17fe7bc40bb67d8f0cc0fc77ab4138c29d3ae3d86eaff54bad84700 -DIST zfs-2.4.0-rc1.tar.gz.asc 858 BLAKE2B 5fb794647fe89bc0b4030c273d50a2a8fcefb7e53a088f16fcdfba8d90aa3a011eb6c779e83c9a2bde2c6247a10bdca4245832c89886af8f5a1e7732b8a0fc3a SHA512 0083069492028f188ae015f99939cdde9458e29fee1e3fc848049488ed534fa7f2c557ddb7f83b7155bb29f8b98530c13b64f177fb40a741c3251a68890fa9ce -DIST zfs-2.4.0-rc2.tar.gz 34315284 BLAKE2B 6c72d5e86e93d28fd5204ac4c38175d97b564b671cf71045c94f4b9b19ae36a439000fd55761220a0a17adf9fd9b6df6b367831442c079b0bff1e01a3299baab SHA512 7fa6caecc6818af17bdc104624eb7638a6c41bfca03a5b45ce996e7bbf8bfd1b06a54714ca7cb59ac70b061cb0eb11bc68868f786a502f427775f1bcfe1a5de0 -DIST zfs-2.4.0-rc2.tar.gz.asc 858 BLAKE2B 1bdad0ca1fcccae5e74187a88b3352ab8834c15c0933ddedc5562866dc3657ea575db5f788243fe7decc2f58b5470193ae422dec377447e9ffe75c5773378cda SHA512 e0de554bb62b2ee840a3cac2022b91ed83d2572d0ea73d2b5941308e94abf8d2c4d0f50b1bcc309880e0b415963bb6511664fa31601f0290ce9bb9ed79671a65 +DIST zfs-2.3.5.tar.gz 34379136 BLAKE2B 4ae090c76e13f2d3d76e481b9950db1319534e47b357e4818bfc4db84cc0a5089de1e46319a36f02010ac27e3ab5cf74a56979b94864d38dcc41c86721841e54 SHA512 72d62e28dc868aba720755685d5e8020d3165d04d0ae55f33e97ed6c503637c476563d23ea6e991784ab1c2e6886d785e2f15f5a71d4d3f69700bbb26eda3dad +DIST zfs-2.3.5.tar.gz.asc 858 BLAKE2B 96edcd3eb5b1a9d33ed50b2526d6a69b5e3dd4d1450205ed7342352aa3ac7014fc813b703ae97a29380da16f452c5491ddf68c05621479b7559f8907cc3b90de SHA512 fc69ab416499ef03cc3721c9f0017e792fc857d045e7f5902a5bf41eb31bbe192e850c1d01482401f06a53926649a1798fc2f7f6fc058fe8c6727b8630c56cdd diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.2.7.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.2.7.ebuild deleted file mode 100644 index c9f1cf266b7..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.2.7.ebuild +++ /dev/null @@ -1,207 +0,0 @@ -# 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.12 -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? ( - 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: Wed, 22 Nov 2023 20:24:47 +0200 -Subject: [PATCH] Fix zoneid when USER_NS is disabled - -getzoneid() should return GLOBAL_ZONEID instead of 0 when USER_NS is disabled. - -Signed-off-by: Ilkka Sovanto ---- a/lib/libspl/os/linux/zone.c -+++ b/lib/libspl/os/linux/zone.c -@@ -42,20 +42,20 @@ getzoneid(void) - int c = snprintf(path, sizeof (path), "/proc/self/ns/user"); - /* This API doesn't have any error checking... */ - if (c < 0 || c >= sizeof (path)) -- return (0); -+ return (GLOBAL_ZONEID); - - ssize_t r = readlink(path, buf, sizeof (buf) - 1); - if (r < 0) -- return (0); -+ return (GLOBAL_ZONEID); - - cp = strchr(buf, '['); - if (cp == NULL) -- return (0); -+ return (GLOBAL_ZONEID); - cp++; - - unsigned long n = strtoul(cp, NULL, 10); - if (n == ULONG_MAX && errno == ERANGE) -- return (0); -+ return (GLOBAL_ZONEID); - zoneid_t z = (zoneid_t)n; - - return (z); - diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/files/2.2.3-musl.patch b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/files/2.2.3-musl.patch deleted file mode 100644 index 01433490e82..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/files/2.2.3-musl.patch +++ /dev/null @@ -1,63 +0,0 @@ -https://github.com/openzfs/zfs/pull/15925 - -From 68419c70dc7235a4954d6c0c09d60f9ebe694a3c Mon Sep 17 00:00:00 2001 -From: Sam James -Date: Fri, 23 Feb 2024 05:12:09 +0000 -Subject: [PATCH] Use instead of - -When building on musl, we get: -``` -In file included from tests/zfs-tests/cmd/getversion.c:22: -/usr/include/sys/fcntl.h:1:2: error: #warning redirecting incorrect #include to [-Werror=cpp] - 1 | #warning redirecting incorrect #include to - -In file included from module/os/linux/zfs/vdev_file.c:36: -/usr/include/sys/fcntl.h:1:2: error: #warning redirecting incorrect #include to [-Werror=cpp] - 1 | #warning redirecting incorrect #include to -``` - -Bug: https://bugs.gentoo.org/925235 -Signed-off-by: Sam James ---- - module/os/linux/zfs/vdev_file.c | 2 +- - tests/zfs-tests/cmd/getversion.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/module/os/linux/zfs/vdev_file.c b/module/os/linux/zfs/vdev_file.c -index 5abc0426d1..68e3042a97 100644 ---- a/module/os/linux/zfs/vdev_file.c -+++ b/module/os/linux/zfs/vdev_file.c -@@ -23,6 +23,7 @@ - * Copyright (c) 2011, 2020 by Delphix. All rights reserved. - */ - -+#include - #include - #include - #include -@@ -33,7 +34,6 @@ - #include - #include - #include --#include - #include - #include - #ifdef _KERNEL -diff --git a/tests/zfs-tests/cmd/getversion.c b/tests/zfs-tests/cmd/getversion.c -index 62c1c5b6ab..1e026b92d1 100644 ---- a/tests/zfs-tests/cmd/getversion.c -+++ b/tests/zfs-tests/cmd/getversion.c -@@ -19,9 +19,9 @@ - */ - - #include --#include - #include - #include -+#include - #include - #include - #include --- -2.43.2 - diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/files/2.2.9-nfs-truncate-shares.patch b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/files/2.2.9-nfs-truncate-shares.patch new file mode 100644 index 00000000000..2dd5f5da2ba --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/files/2.2.9-nfs-truncate-shares.patch @@ -0,0 +1,74 @@ +From 41e55b476bcfc90f1ad81c02c5375367fdace9e9 Mon Sep 17 00:00:00 2001 +From: siv0 +Date: Tue, 31 Oct 2023 21:57:54 +0100 +Subject: [PATCH] Fix nfs_truncate_shares without /etc/exports.d + +Calling nfs_reset_shares on Linux prints a warning: +`failed to lock /etc/exports.d/zfs.exports.lock: No such file or +directory` +when /etc/exports.d does not exist. The directory gets created, when a +filesystem is actually exported through nfs_toggle_share and +nfs_init_share. The truncation of /etc/exports.d/zfs.exports happens +unconditionally when calling `zfs mount -a` (via zfs_do_mount and +share_mount in `cmd/zfs/zfs_main.c`). + +Fixing the issue only in the Linux part, since the exports file on +freebsd is in `/etc/zfs/`, which seems present on 2 FreeBSD systems I +have access to (through `/etc/zfs/compatibility.d/`), while a Debian +box does not have the directory even if `/usr/sbin/exportfs` is +present through the `nfs-kernel-server` package. + +The code for exports_available is copied from nfs_available above. + +Fixes: ede037cda73675f42b1452187e8dd3438fafc220 +("Make zfs-share service resilient to stale exports") + +Reviewed-by: Brian Atkinson +Reviewed-by: Brian Behlendorf +Signed-off-by: Stoiko Ivanov +Closes #15369 +Closes #15468 +--- + lib/libshare/os/linux/nfs.c | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/lib/libshare/os/linux/nfs.c b/lib/libshare/os/linux/nfs.c +index 004946b0cfe4..3dce818400fc 100644 +--- a/lib/libshare/os/linux/nfs.c ++++ b/lib/libshare/os/linux/nfs.c +@@ -47,6 +47,7 @@ + + + static boolean_t nfs_available(void); ++static boolean_t exports_available(void); + + typedef int (*nfs_shareopt_callback_t)(const char *opt, const char *value, + void *cookie); +@@ -539,6 +540,8 @@ nfs_commit_shares(void) + static void + nfs_truncate_shares(void) + { ++ if (!exports_available()) ++ return; + nfs_reset_shares(ZFS_EXPORTS_LOCK, ZFS_EXPORTS_FILE); + } + +@@ -566,3 +569,18 @@ nfs_available(void) + + return (avail == 1); + } ++ ++static boolean_t ++exports_available(void) ++{ ++ static int avail; ++ ++ if (!avail) { ++ if (access(ZFS_EXPORTS_DIR, F_OK) != 0) ++ avail = -1; ++ else ++ avail = 1; ++ } ++ ++ return (avail == 1); ++} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/files/2.3.2-musl_S_IFMT.patch b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/files/2.3.2-musl_S_IFMT.patch deleted file mode 100644 index d356b818eda..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/files/2.3.2-musl_S_IFMT.patch +++ /dev/null @@ -1,40 +0,0 @@ -https://github.com/openzfs/zfs/pull/17294 (merged) - -From 634c172ee89f5303493a75dc7ff55e0a355b503a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jos=C3=A9=20Luis=20Salvador=20Rufo?= - -Date: Fri, 2 May 2025 23:49:25 +0200 -Subject: [PATCH] tests: fix `S_IFMT` undeclared at `statx.c` -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -`S_IFMT` is declared in `sys/stat.h`, but we cannot include this header -because it redeclares the `statx` function with different argument -types. Therefore, we define `S_IFMT` ourselves, in the same way as the -other definitions. - -Reviewed-by: Rob Norris -Reviewed-by: George Melikov -Reviewed-by: Alexander Motin -Signed-off-by: José Luis Salvador Rufo -Closes #17293 -Closes #17294 ---- - tests/zfs-tests/cmd/statx.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/tests/zfs-tests/cmd/statx.c b/tests/zfs-tests/cmd/statx.c -index 89939f6efb40..1acc7e58c5ce 100644 ---- a/tests/zfs-tests/cmd/statx.c -+++ b/tests/zfs-tests/cmd/statx.c -@@ -109,6 +109,9 @@ _statx(int fd, const char *path, int flags, unsigned int mask, void *stx) - #ifndef STATX_DIOALIGN - #define STATX_DIOALIGN (1<<13) - #endif -+#ifndef S_IFMT -+#define S_IFMT 0170000 -+#endif - - typedef struct { - int64_t tv_sec; diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.2.7.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.2.9.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.2.7.ebuild rename to sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.2.9.ebuild index a6ef0211073..ba1e892802e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.2.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.2.9.ebuild @@ -5,9 +5,10 @@ EAPI=8 DISTUTILS_OPTIONAL=1 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{11..14} ) -inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript +inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info +inherit pam systemd udev usr-ldscript DESCRIPTION="Userland utilities for ZFS Linux kernel module" HOMEPAGE="https://github.com/openzfs/zfs" @@ -25,7 +26,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 @@ -106,8 +107,8 @@ RESTRICT="test" PATCHES=( "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch - "${FILESDIR}"/2.2.2-no-USER_NS.patch - "${FILESDIR}"/2.2.3-musl.patch + "${FILESDIR}"/2.3.4-musl.patch + "${FILESDIR}"/2.2.9-nfs-truncate-shares.patch ) pkg_pretend() { @@ -289,7 +290,7 @@ pkg_postinst() { fi if systemd_is_booted || has_version sys-apps/systemd; then - einfo "Please refer to ${EROOT}/$(systemd_get_systempresetdir)/50-zfs.preset" + einfo "Please refer to $(systemd_get_systempresetdir)/50-zfs.preset" einfo "for default zfs systemd service configuration" else [[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \ diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.2.ebuild deleted file mode 100644 index bf700543580..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.2.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 - -# 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 - virtual/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 - "${FILESDIR}"/2.3.2-musl_S_IFMT.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 -} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.4.ebuild index b3b18c9dcbc..9d1985ee740 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.4.ebuild @@ -30,7 +30,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 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.0_rc1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.5.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.0_rc1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.5.ebuild index b3b18c9dcbc..26d3bfe4091 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.0_rc1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.5.ebuild @@ -10,7 +10,7 @@ EAPI=8 DISTUTILS_OPTIONAL=1 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.0_rc3.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.0.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.0_rc3.ebuild rename to sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.0.ebuild index ea1815bb06e..4a4ca52e939 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.0_rc3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.0.ebuild @@ -21,7 +21,7 @@ inherit linux-mod-r1 multiprocessing pam systemd udev usr-ldscript DESCRIPTION="Linux kernel module and userland utilities for ZFS" HOMEPAGE="https://github.com/openzfs/zfs" -MODULES_KERNEL_MAX=6.17 +MODULES_KERNEL_MAX=6.18 MODULES_KERNEL_MIN=4.18 if [[ ${PV} == "9999" ]]; then @@ -50,7 +50,7 @@ LICENSE="BSD-2 CDDL MIT modules? ( debug? ( GPL-2+ ) )" # 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/7" IUSE="custom-cflags debug dist-kernel 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.4.0_rc2-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.0_rc2-r1.ebuild deleted file mode 100644 index 979a6c7ad48..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.0_rc2-r1.ebuild +++ /dev/null @@ -1,436 +0,0 @@ -# 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..14} ) - -MODULES_INITRAMFS_IUSE=+initramfs -MODULES_OPTIONAL_IUSE=+modules - -inherit autotools bash-completion-r1 distutils-r1 flag-o-matic linux-info -inherit linux-mod-r1 multiprocessing pam systemd udev usr-ldscript - -DESCRIPTION="Linux kernel module and userland utilities for ZFS" -HOMEPAGE="https://github.com/openzfs/zfs" - -MODULES_KERNEL_MAX=6.17 -MODULES_KERNEL_MIN=4.18 - -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}" - - 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="BSD-2 CDDL MIT modules? ( debug? ( GPL-2+ ) )" -# 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 minimal nls pam python +rootfs selinux test-suite unwind" - -DEPEND=" - dev-libs/openssl:= - net-libs/libtirpc:= - sys-apps/util-linux - virtual/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 - modules? ( dev-lang/perl ) - 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 )" - - IUSE+=" +dist-kernel-cap" - RDEPEND=" - dist-kernel-cap? ( dist-kernel? ( - " - eerror " Block devices --->" - eerror " [X] Loopback device support" - fi - fi - fi - fi -} - -libsoversion_check() { - local bugurl libzfs_sover - bugurl="https://bugs.gentoo.org/enter_bug.cgi?form_name=enter_bug&product=Gentoo+Linux&component=Current+packages" - - libzfs_sover="$(grep 'libzfs_la_LDFLAGS += -version-info' lib/libzfs/Makefile.am \ - | grep -Eo '[0-9]+:[0-9]+:[0-9]+')" - libzfs_sover="${libzfs_sover%%:*}" - - if [[ ${libzfs_sover} -ne $(ver_cut 2 ${SLOT}) ]]; then - echo - eerror "BUG BUG BUG BUG BUG BUG BUG BUG" - eerror "ebuild subslot does not match libzfs soversion!" - eerror "libzfs soversion: ${libzfs_sover}" - eerror "ebuild value: $(ver_cut 2 ${SLOT})" - eerror "This is a bug in the ebuild, please use the following URL to report it" - eerror "${bugurl}&short_desc=${CATEGORY}%2F${P}+update+subslot" - echo - # we want to abort for releases, but just print a warning for live ebuild - # to keep package installable - [[ ${PV} == "9999" ]] || die - fi -} - -src_prepare() { - default - libsoversion_check - - # Run unconditionally (bug #792627) - eautoreconf - - if [[ ${PV} != "9999" ]]; then - # Set revision number - sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release" - fi - - if use python; then - pushd contrib/pyzfs >/dev/null || die - distutils-r1_src_prepare - popd >/dev/null || die - fi - - # Tries to use /etc/conf.d which we reserve for OpenRC - sed -i -e '/EnvironmentFile/d' etc/systemd/system/zfs*.in || die - - # prevent errors showing up on zfs-mount stop, #647688 - # openrc will unmount all filesystems anyway. - sed -i "/^ZFS_UNMOUNT=/ s/yes/no/" "etc/default/zfs.in" || die -} - -src_configure() { - use custom-cflags || strip-flags - use minimal || python_setup - - local myconf=( - --bindir="${EPREFIX}/bin" - --sbindir="${EPREFIX}/sbin" - --enable-shared - --enable-sysvinit - --localstatedir="${EPREFIX}/var" - --sbindir="${EPREFIX}/sbin" - --with-config="$(usex modules all 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}") - - # See gentoo.patch - GENTOO_MAKEARGS_EVAL="${MODULES_MAKEARGS[*]@Q}" - TEST_JOBS="$(makeopts_jobs)" - ) - - econf "${myconf[@]}" -} - -src_compile() { - if use modules; then - emake "${MODULES_MAKEARGS[@]}" - else - default - fi - - if use python; then - pushd contrib/pyzfs >/dev/null || die - distutils-r1_src_compile - popd >/dev/null || die - fi -} - -src_install() { - DOCS=( AUTHORS COPYRIGHT META README.md ) - if use modules; then - emake "${MODULES_MAKEARGS[@]}" DESTDIR="${ED}" install - modules_post_process - einstalldocs - else - default - fi - # distutils-r1_src_install tries to run einstalldocs as well - # bug #965156 - unset DOCS - - 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" -} - -_old_layout_cleanup() { - # new files are just extra/{spl,zfs}.ko with no subdirs. - local olddir=( - avl/zavl - icp/icp - lua/zlua - nvpair/znvpair - spl/spl - unicode/zunicode - zcommon/zcommon - zfs/zfs - zstd/zzstd - ) - - # kernel/module/Kconfig contains possible compressed extentions. - local kext kextfiles - for kext in .ko{,.{gz,xz,zst}}; do - kextfiles+=( "${olddir[@]/%/${kext}}" ) - done - - local oldfile oldpath - for oldfile in "${kextfiles[@]}"; do - oldpath="${EROOT}/lib/modules/${KV_FULL}/extra/${oldfile}" - if [[ -f "${oldpath}" ]]; then - ewarn "Found obsolete zfs module ${oldfile} for current kernel ${KV_FULL}, removing." - rm -rv "${oldpath}" || die - # we do not remove non-empty directories just for safety in case there's something else. - # also it may fail if there are both compressed and uncompressed modules installed. - rmdir -v --ignore-fail-on-non-empty "${oldpath%/*.*}" || die - fi - done -} - -pkg_postinst() { - udev_reload - - if use modules; then - # Check for old module layout before doing anything else. - # only attempt layout cleanup if new .ko location is used. - local newko=( "${EROOT}/lib/modules/${KV_FULL}/extra"/{zfs,spl}.ko* ) - # We check first array member, if glob above did not exand, it will be "zfs.ko*" and -f will return false. - # if glob expanded -f will do correct file precense check. - [[ -f ${newko[0]} ]] && _old_layout_cleanup - - linux-mod-r1_pkg_postinst - - if use x86 || use arm ; then - ewarn "32-bit kernels will likely require increasing vmalloc to" - ewarn "at least 256M and decreasing zfs_arc_max to some value less than that." - fi - - if has_version sys-boot/grub ; then - ewarn "This version of OpenZFS includes support for new feature flags" - ewarn "that are incompatible with previous versions. GRUB2 support for" - ewarn "/boot with the new feature flags is not yet available." - ewarn "Do *NOT* upgrade root pools to use the new feature flags." - ewarn "Any new pools will be created with the new feature flags by default" - ewarn "and will not be compatible with older versions of OpenZFS. To" - ewarn "create a new pool that is backward compatible wih GRUB2, use " - ewarn - ewarn "zpool create -o compatibility=grub2 ..." - ewarn - ewarn "Refer to /usr/share/zfs/compatibility.d/grub2 for list of features." - fi - fi - - if use rootfs; then - if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then - elog "Root on zfs requires an initramfs to boot" - elog "The following packages provide one and are tested on a regular basis:" - elog " sys-kernel/dracut ( preferred, module maintained by zfs developers )" - elog " sys-kernel/genkernel" - fi - fi - - if systemd_is_booted || has_version sys-apps/systemd; then - einfo "Please refer to $(systemd_get_systempresetdir)/50-zfs.preset" - einfo "for default zfs systemd service configuration" - else - [[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \ - einfo "You should add zfs-import to the boot runlevel." - [[ -e "${EROOT}/etc/runlevels/boot/zfs-load-key" ]] || \ - einfo "You should add zfs-load-key to the boot runlevel." - [[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \ - einfo "You should add zfs-mount to the boot runlevel." - [[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \ - einfo "You should add zfs-share to the default runlevel." - [[ -e "${EROOT}/etc/runlevels/default/zfs-zed" ]] || \ - einfo "You should add zfs-zed to the default runlevel." - fi -} - -pkg_postrm() { - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.0_rc2.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.0_rc2.ebuild deleted file mode 100644 index 059189254e5..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.0_rc2.ebuild +++ /dev/null @@ -1,312 +0,0 @@ -# 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_{11..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 - virtual/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=() - -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 -} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-9999.ebuild index 979a6c7ad48..19e77752faa 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-9999.ebuild @@ -10,7 +10,7 @@ EAPI=8 DISTUTILS_OPTIONAL=1 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) MODULES_INITRAMFS_IUSE=+initramfs MODULES_OPTIONAL_IUSE=+modules @@ -21,7 +21,7 @@ inherit linux-mod-r1 multiprocessing pam systemd udev usr-ldscript DESCRIPTION="Linux kernel module and userland utilities for ZFS" HOMEPAGE="https://github.com/openzfs/zfs" -MODULES_KERNEL_MAX=6.17 +MODULES_KERNEL_MAX=6.18 MODULES_KERNEL_MIN=4.18 if [[ ${PV} == "9999" ]]; then @@ -48,9 +48,9 @@ fi LICENSE="BSD-2 CDDL MIT modules? ( debug? ( GPL-2+ ) )" # just libzfs soname major for now. -# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered. +# possible candidates are libzpool and libnvpair. Those do not provide stable abi, but are considered. # see libsoversion_check() below as well -SLOT="0/6" +SLOT="0/7" IUSE="custom-cflags debug dist-kernel minimal nls pam python +rootfs selinux test-suite unwind" DEPEND=" @@ -304,6 +304,7 @@ src_compile() { src_install() { DOCS=( AUTHORS COPYRIGHT META README.md ) + if use modules; then emake "${MODULES_MAKEARGS[@]}" DESTDIR="${ED}" install modules_post_process @@ -315,7 +316,7 @@ src_install() { # bug #965156 unset DOCS - gen_usr_ldscript -a nvpair uutil zfsbootenv zfs zfs_core zpool + gen_usr_ldscript -a nvpair zfsbootenv zfs zfs_core zpool use pam && { rm -rv "${ED}/unwanted_files" || die ; } diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/Manifest b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/Manifest index 1167695027e..e11e754cd03 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/Manifest @@ -1,5 +1,3 @@ -DIST dracut-060_pre20240104.tar.gz 499965 BLAKE2B 935e0e5da348426d69c6dab6b91078f126cadd9ffc6a32378e79cd93b1dbadff35899efc3786fc12bf5a6741843d3637b0c98cc71fe4a96a8caf053ae887bac3 SHA512 f7818265f082e9c05ebb81a91b67fb9b1d3bf8b2433b7e6ea9be6bee43d28cd1ee48577648e1d9b3729c17608b028d294c13bf5d4db4cc5a18e3b007eb2cd67e -DIST dracut-103.tar.gz 567713 BLAKE2B 7781c0b7fc83a2c0c461f6398687e053226b489fb5405b3132b30d8e7a4f3cea2bb73aa0fe6e4c4b27187d6270ba623f403916ec38025a912930ae347a7e25ce SHA512 ba0dbefbcbecb09c44ce240664bc4f4ee25dfb8be7bc060028ae3b1ccf7d70410491c105e64fcef3d6f44d2794cb6162bcea9404125906be46bf3dff098e0277 DIST dracut-106.tar.gz 527743 BLAKE2B 837621da329500b88b0c81a724990702a9f4e816a4818c26622b2bc5e3885c908f0bbba682a262f967d9a08a912cfd63a33270143560a30e3d067dc4217c5262 SHA512 ab17f9440129e2db7c2902115459309132ce7f7b29bbb3172002b7a8ea8ab54799d62d89fbf3f84581a5c14196f6754d33669b583b9d758ab4686a3443a3c4ad DIST dracut-108.tar.gz 552724 BLAKE2B fa5efd4039be8d2d30564a0768d2dec8c3d72b3721391d3a02bde8445cd7a5766d4b119594ebbca86dbd59bd71b64353febaaa7e2257f02d0075333dc29e9047 SHA512 ed06844b65003c1f75373309dbdc10a3036958f413b05b608510142fa78bb34dd9fb1e622242b02b2e9e4063bfa916fd755f5131a77fb3249f77d3f08eca2283 DIST dracut-109.tar.gz 556054 BLAKE2B a5cc0a954fdacaca036d926eb37ecc1c5ed244f59078afb3d59f464f84cf109d52b61ef3ef58eb182164b491d87f8b81a8946c591f0207a44ecd6a6411f018e5 SHA512 c1fb0191911b3b3eac4f568db1cbc8184e2b518a70a0567777b72ef8a5af70a8bdb1b3f8acce2d92eb2dc807e056d5b75aed93292cd05bc8c333efe5d4b98adc diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-060_pre20240104-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-060_pre20240104-r4.ebuild deleted file mode 100644 index f7eeb0651f9..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-060_pre20240104-r4.ebuild +++ /dev/null @@ -1,158 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit bash-completion-r1 edo optfeature systemd toolchain-funcs - -if [[ ${PV} == 9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/dracutdevs/dracut" -else - if [[ ${PV} == *_p* ]] ; then - EGIT_COMMIT="4980bad34775da715a2639b736cba5e65a8a2604" - SRC_URI="https://github.com/dracutdevs/dracut/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}"/${PN}-${EGIT_COMMIT} - else - SRC_URI="https://github.com/dracutdevs/dracut/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" - fi -fi - -DESCRIPTION="Generic initramfs generation tool" -HOMEPAGE="https://github.com/dracutdevs/dracut/wiki" - -LICENSE="GPL-2" -SLOT="0" -if [[ "${PV}" != *_rc* ]]; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~sparc x86" -fi -IUSE="selinux test" -RESTRICT="!test? ( test )" - -RDEPEND=" - app-alternatives/cpio - >=app-shells/bash-4.0:0 - sys-apps/coreutils[xattr(-)] - >=sys-apps/kmod-23[tools] - || ( - >=sys-apps/sysvinit-2.87-r3 - sys-apps/openrc[sysv-utils(-),selinux?] - sys-apps/systemd[sysv-utils] - sys-apps/s6-linux-init[sysv-utils(-)] - ) - >=sys-apps/util-linux-2.21 - virtual/pkgconfig[native-symlinks(+)] - virtual/udev - - elibc_musl? ( sys-libs/fts-standalone ) - selinux? ( - sec-policy/selinux-dracut - sys-libs/libselinux - sys-libs/libsepol - ) -" -DEPEND=" - >=sys-apps/kmod-23 - elibc_musl? ( sys-libs/fts-standalone ) -" - -BDEPEND=" - app-text/asciidoc - app-text/docbook-xml-dtd:4.5 - >=app-text/docbook-xsl-stylesheets-1.75.2 - >=dev-libs/libxslt-1.1.26 - virtual/pkgconfig -" - -QA_MULTILIB_PATHS="usr/lib/dracut/.*" - -PATCHES=( - "${FILESDIR}"/gentoo-ldconfig-paths-r1.patch - "${FILESDIR}"/dracut-060-fix-resume-hostonly.patch - "${FILESDIR}"/dracut-060-grub-layout.patch - "${FILESDIR}"/dracut-060-systemd-255.patch - "${FILESDIR}"/dracut-059-install-new-systemd-hibernate-resume.service.patch -) - -src_configure() { - local myconf=( - --prefix="${EPREFIX}/usr" - --sysconfdir="${EPREFIX}/etc" - --bashcompletiondir="$(get_bashcompdir)" - --systemdsystemunitdir="$(systemd_get_systemunitdir)" - ) - - tc-export CC PKG_CONFIG - - edo ./configure "${myconf[@]}" -} - -src_test() { - if [[ ${EUID} != 0 ]]; then - # Tests need root privileges, bug #298014 - ewarn "Skipping tests: Not running as root." - elif [[ ! -w /dev/kvm ]]; then - ewarn "Skipping tests: Unable to access /dev/kvm." - else - emake -C test check - fi -} - -src_install() { - local DOCS=( - AUTHORS - NEWS.md - README.md - docs/README.cross - docs/README.generic - docs/README.kernel - docs/SECURITY.md - ) - - default - - docinto html - dodoc dracut.html -} - -pkg_postinst() { - optfeature "Networking support" net-misc/networkmanager - optfeature "Legacy networking support" net-misc/curl "net-misc/dhcp[client]" \ - sys-apps/iproute2 "net-misc/iputils[arping]" - optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs - optfeature "Load kernel modules and drop this privilege for real init" \ - sys-libs/libcap - optfeature "Support CIFS" net-fs/cifs-utils - optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \ - "sys-fs/cryptsetup[-static-libs]" - optfeature "Support for GPG-encrypted keys for crypt module" \ - app-crypt/gnupg - optfeature \ - "Allows use of dash instead of default bash (on your own risk)" \ - app-shells/dash - optfeature \ - "Allows use of busybox instead of default bash (on your own risk)" \ - sys-apps/busybox - optfeature "Support iSCSI" sys-block/open-iscsi - optfeature "Support Logical Volume Manager" sys-fs/lvm2[lvm] - optfeature "Support MD devices, also known as software RAID devices" \ - sys-fs/mdadm sys-fs/dmraid - optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools - optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5' - optfeature "Support network block devices" sys-block/nbd - optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind - optfeature \ - "Install ssh and scp along with config files and specified keys" \ - virtual/openssh - optfeature "Enable logging with rsyslog" app-admin/rsyslog - optfeature "Support Squashfs" sys-fs/squashfs-tools - optfeature "Support TPM 2.0 TSS" app-crypt/tpm2-tools - optfeature "Support Bluetooth (experimental)" net-wireless/bluez - optfeature "Support BIOS-given device names" sys-apps/biosdevname - optfeature "Support network NVMe" sys-apps/nvme-cli app-misc/jq - optfeature \ - "Enable rngd service to help generating entropy early during boot" \ - sys-apps/rng-tools - optfeature "automatically generating an initramfs on each kernel installation" \ - "sys-kernel/installkernel[dracut]" -} diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-103-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-103-r4.ebuild deleted file mode 100644 index 1356a2aefa7..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-103-r4.ebuild +++ /dev/null @@ -1,203 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic bash-completion-r1 edo optfeature systemd toolchain-funcs - -if [[ ${PV} == 9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/dracut-ng/dracut-ng" -else - if [[ "${PV}" != *_rc* ]]; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~sparc x86" - fi - SRC_URI="https://github.com/dracut-ng/dracut-ng/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${PN}-ng-${PV}" -fi - -DESCRIPTION="Generic initramfs generation tool" -HOMEPAGE="https://github.com/dracut-ng/dracut-ng/wiki" - -LICENSE="GPL-2" -SLOT="0" -IUSE="selinux test" -RESTRICT="test" -PROPERTIES="test? ( test_privileged test_network )" - -RDEPEND=" - app-alternatives/cpio - >=app-shells/bash-4.0:0 - sys-apps/coreutils[xattr(-)] - >=sys-apps/kmod-23[tools] - || ( - >=sys-apps/sysvinit-2.87-r3 - sys-apps/openrc[sysv-utils(-),selinux?] - sys-apps/systemd[sysv-utils] - sys-apps/s6-linux-init[sysv-utils(-)] - ) - >=sys-apps/util-linux-2.21 - virtual/pkgconfig[native-symlinks(+)] - virtual/udev - - elibc_musl? ( sys-libs/fts-standalone ) - selinux? ( - sec-policy/selinux-dracut - sys-libs/libselinux - sys-libs/libsepol - ) -" -DEPEND=" - >=sys-apps/kmod-23 - elibc_musl? ( sys-libs/fts-standalone ) -" - -BDEPEND=" - app-text/asciidoc - app-text/docbook-xml-dtd:4.5 - >=app-text/docbook-xsl-stylesheets-1.75.2 - >=dev-libs/libxslt-1.1.26 - virtual/pkgconfig - test? ( - net-nds/rpcbind - net-fs/nfs-utils - sys-block/open-iscsi - sys-fs/btrfs-progs - sys-fs/dmraid - sys-fs/lvm2[lvm,thin] - sys-fs/mdadm - sys-fs/multipath-tools - alpha? ( app-emulation/qemu[qemu_softmmu_targets_alpha] ) - amd64? ( app-emulation/qemu[qemu_softmmu_targets_x86_64] ) - arm? ( app-emulation/qemu[qemu_softmmu_targets_arm] ) - arm64? ( app-emulation/qemu[qemu_softmmu_targets_aarch64] ) - hppa? ( app-emulation/qemu[qemu_softmmu_targets_hppa] ) - loong? ( app-emulation/qemu[qemu_softmmu_targets_loongarch64] ) - mips? ( || ( - app-emulation/qemu[qemu_softmmu_targets_mips] - app-emulation/qemu[qemu_softmmu_targets_mips64] - app-emulation/qemu[qemu_softmmu_targets_mips64el] - ) ) - ppc? ( app-emulation/qemu[qemu_softmmu_targets_ppc] ) - ppc64? ( app-emulation/qemu[qemu_softmmu_targets_ppc64] ) - riscv? ( || ( - app-emulation/qemu[qemu_softmmu_targets_riscv32] - app-emulation/qemu[qemu_softmmu_targets_riscv64] - ) ) - sparc? ( || ( - app-emulation/qemu[qemu_softmmu_targets_sparc] - app-emulation/qemu[qemu_softmmu_targets_sparc64] - ) ) - x86? ( app-emulation/qemu[qemu_softmmu_targets_i386] ) - ) -" - -QA_MULTILIB_PATHS="usr/lib/dracut/.*" - -PATCHES=( - "${FILESDIR}"/gentoo-ldconfig-paths-r1.patch - # Gentoo specific acct-user and acct-group conf adjustments - "${FILESDIR}"/${PN}-103-acct-user-group-gentoo.patch - # https://github.com/dracut-ng/dracut-ng/pull/507 - "${FILESDIR}"/${PN}-103-systemd-udev-256-kmod.patch - # libsystemd-core is sometimes missing - "${FILESDIR}"/${PN}-103-always-install-libsystemd.patch -) - -src_configure() { - local myconf=( - --prefix="${EPREFIX}/usr" - --sysconfdir="${EPREFIX}/etc" - --bashcompletiondir="$(get_bashcompdir)" - --systemdsystemunitdir="$(systemd_get_systemunitdir)" - ) - - # this emulates what the build system would be doing without us - append-cflags -D_FILE_OFFSET_BITS=64 - - tc-export CC PKG_CONFIG - - edo ./configure "${myconf[@]}" -} - -src_test() { - addwrite /dev/kvm - # Translate ARCH so run-qemu can find the correct qemu-system-ARCH - local qemu_arch - if use amd64; then - qemu_arch=x86_64 - elif use arm64; then - qemu_arch=aarch64 - elif use loong; then - qemu_arch=loongarch64 - elif use x86; then - qemu_arch=i386 - else - qemu_arch=$(tc-arch) - fi - ARCH=${qemu_arch} emake -C test check -} - -src_install() { - local DOCS=( - AUTHORS - NEWS.md - README.md - docs/HACKING.md - docs/README.cross - docs/README.kernel - docs/RELEASE.md - docs/SECURITY.md - ) - - default - - docinto html - dodoc dracut.html -} - -pkg_postinst() { - optfeature "Networking support" net-misc/networkmanager - optfeature "Legacy networking support" net-misc/curl "net-misc/dhcp[client]" \ - sys-apps/iproute2 "net-misc/iputils[arping]" - optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs - optfeature "Load kernel modules and drop this privilege for real init" \ - sys-libs/libcap - optfeature "Support CIFS" net-fs/cifs-utils - optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \ - "sys-fs/cryptsetup[-static-libs]" - optfeature "Support for GPG-encrypted keys for crypt module" \ - app-crypt/gnupg - optfeature \ - "Allows use of dash instead of default bash (on your own risk)" \ - app-shells/dash - optfeature \ - "Allows use of busybox instead of default bash (on your own risk)" \ - sys-apps/busybox - optfeature "Support iSCSI" sys-block/open-iscsi - optfeature "Support Logical Volume Manager" sys-fs/lvm2[lvm] - optfeature "Support MD devices, also known as software RAID devices" \ - sys-fs/mdadm sys-fs/dmraid - optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools - optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5' - optfeature "Support network block devices" sys-block/nbd - optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind - optfeature \ - "Install ssh and scp along with config files and specified keys" \ - virtual/openssh - optfeature "Enable logging with rsyslog" app-admin/rsyslog - optfeature "Support Squashfs" sys-fs/squashfs-tools - optfeature "Support TPM 2.0 TSS" app-crypt/tpm2-tools - optfeature "Support Bluetooth (experimental)" net-wireless/bluez - optfeature "Support BIOS-given device names" sys-apps/biosdevname - optfeature "Support network NVMe" sys-apps/nvme-cli app-misc/jq - optfeature \ - "Enable rngd service to help generating entropy early during boot" \ - sys-apps/rng-tools - optfeature "building Unified Kernel Images with dracut (--uefi)" \ - "sys-apps/systemd[boot]" "sys-apps/systemd-utils[boot]" - optfeature "automatically generating an initramfs on each kernel installation" \ - "sys-kernel/installkernel[dracut]" - optfeature "automatically generating an UKI on each kernel installation" \ - "sys-kernel/installkernel[dracut,uki]" -} diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-108-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-108-r4.ebuild index 4875e71dc10..db15c7f7cf3 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-108-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-108-r4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,7 +11,7 @@ if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://github.com/dracut-ng/dracut-ng" else if [[ "${PV}" != *_rc* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~sparc x86" fi SRC_URI="https://github.com/dracut-ng/dracut-ng/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${PN}-ng-${PV}" diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/Manifest b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/Manifest index 31959c493c2..b0300b37f48 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/Manifest @@ -16,6 +16,7 @@ DIST gentoo-headers-6.15-1.tar.xz 1168 BLAKE2B 2a48bece7181e24ebaf4c206823406fbe DIST gentoo-headers-6.16-1.tar.xz 1168 BLAKE2B 01e016fd7fbe35c03e9be3df8c0bc4f4d885ae783dcec0631957c9f8d4cc4e294afc0fee6eda7a16526f10503aaed333685b18f3266025170ed28fe51b7ef3ae SHA512 1460a2c1a8589059e2df61c8cdd4da5ddada08d0889485cd3daf688f0274780bc0be46c9691df9039c77919c364cc85f08a0db899d014bdf4b79d9f853876791 DIST gentoo-headers-6.16-3.tar.xz 2256 BLAKE2B a023a3a72a29b486ba763f072c2c3f4f079ba2d857ebe2ee22633ee891b05e668475b79cb82e5f4714aed11f7832401f713e75a397e0d683eb4d17c76cc09f65 SHA512 fc363f073ede597764f731f84aeed73e47aa9a644612d0e7f86d3062fdb3daca7edef7b4c3a122336d5292db339bf68f6f09ce9bd1d33e5228ddd5271a40d844 DIST gentoo-headers-6.17-2.tar.xz 2244 BLAKE2B 7a1b08bada363a22bb4e30e2a1add4245b3c9bfb2309d9aa47a2687371019fdc01da7b540e8ec055bbb294e1774c0fa2a868fb7bd598b49f81365b027b0586fa SHA512 ecb3a3be672d3c82f11dfb1d8abb8155fdce2a46fcd3f9d0b83730d7d3dfbaf638c81168ba4fb7f15cf02e6eec09affa24b3da99bcfaae627106305888c984ac +DIST gentoo-headers-6.18-1.tar.xz 2064 BLAKE2B f6a97a95d1086885b4bb53ef0230ce1638a7cc1518f062eeeb629def79325e54385296db7beab596cd47172fa07fbfb631e5405e3ac58e0b9177b3bf623145f5 SHA512 f10d0741a6fd9cd4aab0e59efab7cc0d3044d3c6b9dddbd1b7fd6223a30ad50a4375b1c1b7e457350417e90b9e03075e05a9ed1347b5c4c034428877a61db0b3 DIST gentoo-headers-6.6-1.tar.xz 1172 BLAKE2B 626bb33b42f48bceca2ba6a0a9c0b043a8607bb391d3b541e98d2af42eacfabeda3a5a3d48b7bee1fd0a2a8ad0b6173bde49d3827ea087e501eb0e91d18c4ab7 SHA512 09bcda97d9d17ee3f66ee46d9c00b8ac4fba5b9662fa24e4e2754bd9e4e7b3f097e5f2d52281eeb7a671dfe303aabe15c8fd66f117fddf29fb094e28d8c603b3 DIST gentoo-headers-6.8-1.tar.xz 1164 BLAKE2B 43283b61fc35057c7f703108d6e4aead901329106e4c297cdfc261e8f9cb1f2ec9370b7367432b9eabe9fcc4358da745170b1f4ec6079d373f50de1fde148778 SHA512 c43e18ce1b39a60e163c2e0f824b1402bcbda84f20b2ae38d53681ff517713c42fd876954fab0ab8044b66e28e32f9ee93fc61ecbbc9c2bb5a9932a0616e570c DIST gentoo-headers-6.9-1.tar.xz 1164 BLAKE2B fd385a2c39e9528f60dee582f153485842e76a8a9ad87fd8a11179b8ad2558df23e3c7fb7476f3f1011536e26da50f625a660d2a8ae01954300085f8b3f1bb01 SHA512 3fad4602e453a9aae24cc640ee6c70b06f221c78262f5befe794ca5eb48c352aff335715b5033760ca690bdef55e6a6acb5d3d2351bae885f3023098b5c6ecb1 @@ -36,6 +37,7 @@ DIST linux-6.14.tar.xz 149408504 BLAKE2B 11835719804b406fe281ea1c276a84dc0cbaa80 DIST linux-6.15.tar.xz 151168812 BLAKE2B 465596c6dc053ff3a3966302a906d3edb4f7ee1ef82f8c20b96360196d3414f5b1deeafa67b8340fcdecd3617280ba9b756d7073ad15c707865e256397b4af53 SHA512 d03788ffa8d8ae1b84ef1286bb44a08fc01432e509dfec6cccae5c5a5a47201d378aec2bcd21e6f0bbd1e625b26f47780c06ee9c1cef3775358f98b160923f30 DIST linux-6.16.tar.xz 152620004 BLAKE2B 87bc4da7e89cc8265aebffea7ec6c09f711be24fee87cb1c03a264c03fd5a538d66aa806640835aa5103926e612cdfbc52d7c861d7f7065f1a8bb11d893b0921 SHA512 55a00f89ad6db6db2e26ff5dc5cfc96bbf6654e5bd5d17d2a3b944a47640367e54139716d230923187bebc6cb7756edc9511a620fb8abc6f32c50a658a734784 DIST linux-6.17.tar.xz 153382068 BLAKE2B 0edb2324be5638aa75984128aafdba3e50824187d2fcdff8794eab99d85c10c3a17d1e840053c2c83df5ee11fdf69f1c9452c57ecc9dae01c4af38180fe7821a SHA512 063999d7b819970657f6b7713fdb4173da2065ffdeed7cae197026dbb1edfd7f1d50374f073a1e19ef9686539594824ff6ecb8a930d97c4f272cb12f1c6d8355 +DIST linux-6.18.tar.xz 154309096 BLAKE2B b94b7b9bf18aca0c3e50baf79b009a1448fc6cd9c3ee019f641cc247dcf53a4abef4274ee0608ad8cd4943af69854363a95d26e117ff23620bb07dccb158859f SHA512 88599ffdec96d150c1feb9b261ba93bb0301a9d0e1ad6bef7aeab1f5372cbfc57d8b43c7e902bd8f76921d1dbd8189663c142ea869e51d0e2b483b150ee00fe0 DIST linux-6.6.tar.xz 140064536 BLAKE2B 5f02fd8696d42f7ec8c5fbadec8e7270bdcfcb1f9844a6c4db3e1fd461c93ce1ccda650ca72dceb4890ebcbbf768ba8fba0bce91efc49fbd2c307b04e95665f2 SHA512 458b2c34d46206f9b4ccbac54cc57aeca1eaecaf831bc441e59701bac6eadffc17f6ce24af6eadd0454964e843186539ac0d63295ad2cc32d112b60360c39a35 DIST linux-6.8.tar.xz 142502100 BLAKE2B c6f17f816cea16e629f63e9379b98888713f57b2c5173306926471f139a9d612a0c74e119341f8075390e55e203d787d9edeb4ad5a064b18870f6f0f7ffaafb2 SHA512 5c4eb4aa1d3f7d1ea01c0f7ddeadacdece6e144fd4bdfc16b2b925d3e10dc04de3a6db69320b79a96c3560052616f001d2c09e7a1bb4f7b731e2380a7ecce068 DIST linux-6.9.tar.xz 144034416 BLAKE2B 4cf86c3cfe6e6534745d42dfaeca59b17ea1168c4e8b615c80e6d8aac735f11283cd85fa992b440b5d4452917e94b9f08397a64af0be5894e3df23c68892377e SHA512 fed3b4cd1fbfb4d94618587c1934273d2ecc8b6e42a3d586ff8a5f24980be930f2ef803aa2923ca3bfa5e4e619f967f3af315368f24fa76f610b10443624a579 diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-3.18-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-3.18-r1.ebuild index 5c489f2c927..0d2cb881269 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-3.18-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-3.18-r1.ebuild @@ -13,7 +13,7 @@ SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}" S="${WORKDIR}/gentoo-headers-base-${PV}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-4.14-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-4.14-r2.ebuild index 476983caf98..4064207bb75 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-4.14-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-4.14-r2.ebuild @@ -13,7 +13,7 @@ SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}" S="${WORKDIR}/gentoo-headers-base-${PV}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-4.19-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-4.19-r1.ebuild index a891f63087f..8b5b81b149e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-4.19-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-4.19-r1.ebuild @@ -15,7 +15,7 @@ SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz ${PATCH_VER:+https://dev.gentoo.org/~sam/distfiles/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}" S="${WORKDIR}/gentoo-headers-base-${PV}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-4.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-4.4-r1.ebuild index 476983caf98..4064207bb75 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-4.4-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-4.4-r1.ebuild @@ -13,7 +13,7 @@ SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}" S="${WORKDIR}/gentoo-headers-base-${PV}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-4.9-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-4.9-r1.ebuild index f562e3e131d..f67393cff26 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-4.9-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-4.9-r1.ebuild @@ -13,7 +13,7 @@ SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}" S="${WORKDIR}/gentoo-headers-base-${PV}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.10-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.10-r2.ebuild index 0093fd594ed..e56fea3da24 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.10-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.10-r2.ebuild @@ -16,7 +16,7 @@ SRC_URI="${KERNEL_URI} " S="${WORKDIR}/linux-${PV}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.15-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.15-r3.ebuild index a7cf93c4b98..5149ace2451 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.15-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.15-r3.ebuild @@ -15,7 +15,7 @@ SRC_URI="${KERNEL_URI} ${PATCH_VER:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/sys-kernel/linux-headers/gentoo-headers-${PATCH_PV}-${PATCH_VER}.tar.xz}" S="${WORKDIR}/linux-${PV}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.4-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.4-r2.ebuild index e2fd64397e9..0b1e31b3b54 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.4-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-5.4-r2.ebuild @@ -16,7 +16,7 @@ SRC_URI="${KERNEL_URI} " S="${WORKDIR}/linux-${PV}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.1.ebuild index 66233536701..22493a47fa7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.1.ebuild @@ -15,7 +15,7 @@ SRC_URI="${KERNEL_URI} ${PATCH_VER:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/sys-kernel/linux-headers/gentoo-headers-${PATCH_PV}-${PATCH_VER}.tar.xz}" S="${WORKDIR}/linux-${PV}" -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" BDEPEND="app-arch/xz-utils dev-lang/perl diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.10.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.10.ebuild index 2b48a908ff3..743d67b1371 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.10.ebuild @@ -17,7 +17,7 @@ SRC_URI=" " S="${WORKDIR}/linux-${PV}" -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" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.11.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.11.ebuild index 2b48a908ff3..743d67b1371 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.11.ebuild @@ -17,7 +17,7 @@ SRC_URI=" " S="${WORKDIR}/linux-${PV}" -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" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.12.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.12.ebuild index 0aaf3efb5ac..b033f29f006 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.12.ebuild @@ -17,7 +17,7 @@ SRC_URI=" " S="${WORKDIR}/linux-${PV}" -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" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.13.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.13.ebuild index 2b48a908ff3..743d67b1371 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.13.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.13.ebuild @@ -17,7 +17,7 @@ SRC_URI=" " S="${WORKDIR}/linux-${PV}" -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" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.14.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.14.ebuild index 2b48a908ff3..743d67b1371 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.14.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.14.ebuild @@ -17,7 +17,7 @@ SRC_URI=" " S="${WORKDIR}/linux-${PV}" -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" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.15.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.15.ebuild index 2b48a908ff3..743d67b1371 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.15.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.15.ebuild @@ -17,7 +17,7 @@ SRC_URI=" " S="${WORKDIR}/linux-${PV}" -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" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.16-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.16-r2.ebuild index ab7564ca080..0a91c199938 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.16-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.16-r2.ebuild @@ -17,7 +17,7 @@ SRC_URI=" " S="${WORKDIR}/linux-${PV}" -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" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.16.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.16.ebuild index 2b48a908ff3..743d67b1371 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.16.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.16.ebuild @@ -17,7 +17,7 @@ SRC_URI=" " S="${WORKDIR}/linux-${PV}" -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" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.17-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.17-r1.ebuild index c6a88ba68ce..4bf6a5929f4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.17-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.17-r1.ebuild @@ -17,7 +17,7 @@ SRC_URI=" " S="${WORKDIR}/linux-${PV}" -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" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.18.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.18.ebuild new file mode 100644 index 00000000000..743d67b1371 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.18.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ETYPE="headers" +H_SUPPORTEDARCH="alpha amd64 arc arm arm64 csky hexagon hppa loong m68k microblaze mips nios2 openrisc ppc ppc64 riscv s390 sh sparc x86 xtensa" +inherit kernel-2 +detect_version + +PATCH_PV=${PV} # to ease testing new versions against not existing patches +PATCH_VER="1" +PATCH_DEV="sam" +SRC_URI=" + ${KERNEL_URI} + ${PATCH_VER:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/sys-kernel/linux-headers/gentoo-headers-${PATCH_PV}-${PATCH_VER}.tar.xz} +" +S="${WORKDIR}/linux-${PV}" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +BDEPEND=" + app-arch/xz-utils + dev-lang/perl + net-misc/rsync +" + +src_unpack() { + # Avoid kernel-2_src_unpack + default +} + +src_prepare() { + local PATCHES=() + [[ -n ${PATCH_VER} ]] && PATCHES+=( "${WORKDIR}"/${PATCH_PV} ) + + # TODO: May need forward porting to newer versions + use elibc_musl && PATCHES+=( + "${FILESDIR}"/${PN}-5.15-remove-inclusion-sysinfo.h.patch + ) + + # Avoid kernel-2_src_prepare + default +} + +src_install() { + kernel-2_src_install + + find "${ED}" \( -name '.install' -o -name '*.cmd' \) -delete || die + # Delete empty directories + find "${ED}" -empty -type d -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.6-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.6-r1.ebuild index 4f72579b355..68d8405f1d2 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.6-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.6-r1.ebuild @@ -17,7 +17,7 @@ SRC_URI=" " S="${WORKDIR}/linux-${PV}" -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" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.8-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.8-r1.ebuild index 217770f8584..bf758ad08b6 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.8-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.8-r1.ebuild @@ -17,7 +17,7 @@ SRC_URI=" " S="${WORKDIR}/linux-${PV}" -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" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.9.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.9.ebuild index 217770f8584..bf758ad08b6 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.9.ebuild @@ -17,7 +17,7 @@ SRC_URI=" " S="${WORKDIR}/linux-${PV}" -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" BDEPEND=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.45.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.45.1.ebuild index 4f1c92ab900..fa5c34c5f6b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.45.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.45.1.ebuild @@ -38,7 +38,7 @@ else https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_P}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" SLOT="0/${PV}" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi BDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/cracklib/cracklib-2.10.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/cracklib/cracklib-2.10.2.ebuild index f5e4851f786..f181121f885 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/cracklib/cracklib-2.10.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/cracklib/cracklib-2.10.2.ebuild @@ -18,7 +18,7 @@ S="${WORKDIR}"/${MY_P} LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="nls python static-libs zlib" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/cracklib/cracklib-2.10.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/cracklib/cracklib-2.10.3.ebuild index f5e4851f786..f181121f885 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/cracklib/cracklib-2.10.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/cracklib/cracklib-2.10.3.ebuild @@ -18,7 +18,7 @@ S="${WORKDIR}"/${MY_P} LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="nls python static-libs zlib" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.24.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.24.ebuild index 866c768cb5f..f5afb772422 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.24.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.24.ebuild @@ -15,7 +15,7 @@ SRC_URI=" LICENSE="GPL-3+ GPL-2+ FDL-1.3+" SLOT="0/6" # libgdbm.so 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="+berkdb nls +readline static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.25.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.25.ebuild index 3451043c526..a90931dc958 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.25.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.25.ebuild @@ -15,7 +15,7 @@ SRC_URI=" LICENSE="GPL-3+ GPL-2+ FDL-1.3+" SLOT="0/6" # libgdbm.so 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="+berkdb nls +readline static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.26.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.26.ebuild index 5b60c56173c..f88fb571943 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.26.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.26.ebuild @@ -15,7 +15,7 @@ SRC_URI=" LICENSE="GPL-3+ GPL-2+ FDL-1.3+" SLOT="0/6" # libgdbm.so 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="+berkdb nls +readline static-libs test" RESTRICT="!test? ( test )" 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 04d484f10f6..b8cbdc7ef23 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 @@ -25,9 +25,11 @@ DIST glibc-2.39-patches-11.tar.xz 192784 BLAKE2B fef42e0bd2a3341f41cac56dc878dcc DIST glibc-2.39.tar.xz 18520988 BLAKE2B 9d98459a2d58401e07c081e0d841935b23998da75a7eb5a7ebd23a1f9ebab99dee623fe166397c1b6c926960c570f62dbca5cb3b5ce84a918adff6b7a15e16bb SHA512 818f58172a52815b4338ea9f2a69ecaa3335492b9f8f64cbf8afb24c0d737982341968ecd79631cae3d3074ab0ae4bc6056fc4ba3ffe790849dc374835cd57e2 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-10.tar.xz 159460 BLAKE2B 6b228e2cb049b5fe43e42a2f0f30277b3d895d7ccae339e3cc25346b15b55d6399274a2c7d357adf55d08d3f673491e3008fb9e6c4871f6cf6cde340bf70df11 SHA512 1504e30b31e3f1d2d474714132c01badcdbced667c779803f6ee706e050ad3352e3ae2cfb8741067237c420e8ae29b9efaed7e08f43ece6d988fe7325a7974a2 DIST glibc-2.41-patches-8.tar.xz 139400 BLAKE2B 2023d09d6842a18dd19611e504c643cf866ba28b1d836d5a21f1a34d78f6fe82d6f3d4b76bf9a34dc8b1f12aac632fb85b95c025afbcf164976f30dfd794fe6d SHA512 c41e0a4e6dda014c6540a8178c0bc951e807deacb0cb85d4741b575fd2e9803ab9960b9caa783cf38449cb1452c40a3a0f54844b6c1e8ee47f7340c5f97dd261 DIST glibc-2.41.tar.xz 19344868 BLAKE2B 4da62f489ba7a95bb069c2cfea8cf78e4d37e3a5f7e1736239670ba1dca12b69aa77bd00ced078c27d91b1e622c58cbd70258161a9d18c5b3bcc95863b8d744d SHA512 894a3e5a796bc13df30c26a5bfbe4d60b5dbdaac54e7763432235124b547070c7dda88c50584536870cab79183d8cad73a3ac6ed09bfe54fa8482aad07253169 DIST glibc-2.42-patches-4.tar.xz 48152 BLAKE2B 82b036226ad1435c99bfb1b4fc87523b92153e26cb4fbc82eeea0a41793bab7fa3c15dd7a02286cfb53e397e76f6978fe5e85022db12724c3f7c65c25598c8a4 SHA512 c34fb13f455e5e040eb45eabbdb97a611fe80634cb32eb23cad08a5ecd349d41a5b99a5aa18850a017ecf1291f21f8295a17e4697b34b000c75693bc0f3c04d7 +DIST glibc-2.42-patches-5.tar.xz 63016 BLAKE2B bc608bbd2b38d13bd02da86e8229834e2a70ac1b69b2ace2b2ea15d10e8bf1b4679fbd5ee8fff470ed9e0913ab913779df9567c94193f7e4722f60af07b1b629 SHA512 4e24c3361ddeea5cc615783832e7a9dc82342449dbeda38d84dd15034d56afb9838fdc1dcd9119b15d56343d954ae651c6064ec76741a3ca9a61b2ea1b40079f DIST glibc-2.42.tar.xz 19930508 BLAKE2B 6ffabfe7942034a5a4fb5097679cb47bc3431eb2a3864af07cea0cb6aa5db63fbaf6f026b3c9299e00268058a6762eb21e92499f012d552ed87d65c7ffbd0bbe SHA512 73a617db8e0f0958c0575f7a1c5a35b72b7e070b6cbdd02a9bb134995ca7ca0909f1e50d7362c53d2572d72f1879bb201a61d5275bac16136895d9a34ef0c068 DIST glibc-2.42.tar.xz.sig 981 BLAKE2B 890e637c444982b2b07fac4607ce3e9f416c9c7688267ebd135e53878d93db95c609facfa1f347c59f23776cafb4b5df8ffb60235c89be451276202dd676dab2 SHA512 d868220778e98d24aead10a585e6a903892e4d043cd96a404634c8aa03d001d624a46a5c0fe13c86f83f66396a1f360a10990966fe377e98a722914b5087575d DIST glibc-systemd-20210729.tar.gz 1480 BLAKE2B 37722c7579df782d890e44dbab99c3de52ab466eb9de80d82405e9bb5620bf39ffc8c5f466a435bdb86ef6d36dd7019c0736573916bda6c67d02a2581e0ec979 SHA512 efd75af58b50522c28cdac7abd1fc56555bc1bb042512c90d8340c1ec09c5791b3872a305bf83723252bbde5855b75d958c041083457765c4cfd170732d09238 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41-r6.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41-r6.ebuild index b10af22d16d..e9360f1fc79 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41-r6.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41-r6.ebuild @@ -41,7 +41,7 @@ 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 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 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41-r8.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41-r8.ebuild new file mode 100644 index 00000000000..3eaefb0c71b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41-r8.ebuild @@ -0,0 +1,1790 @@ +# 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 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 + CC="${glibc__ORIG_CC}" CXX="${glibc__ORIG_CXX}" CPP="${glibc__ORIG_CPP}" \ + CFLAGS="-O2" LDFLAGS="" 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." + [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || 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 && ! tc-is-cross-compiler ; 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 + + case ${CTARGET} in + m68*-aligned-*) + einfo "Applying utmp format fix for m68k with -maligned-int" + eapply "${FILESDIR}/glibc-2.41-m68k-malign.patch" + ;; + *) + ;; + esac + + 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() { + local fatal=$1 prefix=$2 + local user_config action config stderr noun ret + local -a hasversion_opts localegen_args + + if [[ ${EBUILD_PHASE_FUNC} == src_install ]]; then + hasversion_opts=( -b ) + fi + + if has_version "${hasversion_opts[@]}" '>=sys-apps/locale-gen-3'; then + localegen_args=( --prefix "${prefix}" ) + else + config="${prefix}/usr/share/i18n/SUPPORTED" + user_config="${prefix}/etc/locale.gen" + if [[ ${EBUILD_PHASE_FUNC} == src_install ]]; then + # For USE=compile-locales, all locales should be built. + mkdir -p -- "${prefix}/usr/lib/locale" || die + elif locale-gen --list --config "${user_config}" | read -r; then + config=${user_config} + fi + localegen_args=( --config "${config}" --destdir "${prefix}" ) + 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 + if [[ ${EMERGE_FROM} != binary ]]; then + localegen_args+=( --jobs "$(makeopts_jobs)" ) + fi + + printf 'Executing: locale-gen %s\n' "${localegen_args[*]@Q}" >&2 + { stderr=$(locale-gen "${localegen_args[@]}" 2>&1 >&3); } 3>&1 + ret=$? + action="ewarn" + if (( ret == 0 )); then + noun="warning" + else + noun="error" + if (( fatal )); then + action="die" + fi + fi + # Convey warnings/errors so that they can be reseen upon emerge exiting. + if [[ ${stderr} ]]; then + ewarn "locale-gen(8) issued the following ${noun}s:" + while read -r; do + ewarn "$REPLY" + done <<<"${stderr}" + fi + if (( ret != 0 )); then + "${action}" "locale-gen(8) unexpectedly failed during the ${EBUILD_PHASE_FUNC} phase" + fi +} + +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 1 "${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 + + if ! use compile-locales; then + run_locale_gen 0 "${EROOT}" + fi + + # 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.42-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.42-r2.ebuild index 25498b33861..3d1194e0e02 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.42-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.42-r2.ebuild @@ -295,7 +295,7 @@ do_run_test() { if [[ ${MERGE_TYPE} == "binary" ]] ; then # ignore build failures when installing a binary package #324685 - do_compile_test "" "$@" 2>/dev/null || return 0 + CFLAGS="-O2" LDFLAGS="" do_compile_test "" "$@" 2>/dev/null || return 0 else ebegin "Performing simple compile test for ABI=${ABI}" if ! do_compile_test "" "$@" ; then diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.42-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.42-r3.ebuild new file mode 100644 index 00000000000..257bc27b06e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.42-r3.ebuild @@ -0,0 +1,1805 @@ +# 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..14} ) +TMPFILES_OPTIONAL=1 + +EMULTILIB_PKG="true" + +# Gentoo patchset (ignored for live ebuilds) +PATCH_VER=5 +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" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/glibc.asc + +inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \ + multilib systemd multiprocessing tmpfiles eapi9-ver verify-sig + +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+=" verify-sig? ( mirror://gnu/glibc/${P}.tar.xz.sig )" + 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 sframe +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 + ) + sframe? ( >=sys-devel/binutils-2.45 ) + test? ( + dev-lang/perl + >=net-dns/libidn2-2.3.0 + sys-apps/gawk[mpfr] + ) + verify-sig? ( sec-keys/openpgp-keys-glibc ) +" +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 + CC="${glibc__ORIG_CC}" CXX="${glibc__ORIG_CXX}" CPP="${glibc__ORIG_CPP}" \ + CFLAGS="-O2" LDFLAGS="" 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} +} + +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." + [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || 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 && ! tc-is-cross-compiler ; 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 ! [[ $(g_KV_to_int ${run_kv}) -ge $(g_KV_to_int ${want_kv}) ]] ; then + eend 1 + echo + eerror "You need a kernel of at least ${want_kv}!" + die "Kernel version too low!" + fi + eend 0 + 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 ! [[ $(g_KV_to_int ${build_kv}) -ge $(g_KV_to_int ${want_kv}) ]] ; then + eend 1 + echo + eerror "You need linux-headers of at least ${want_kv}!" + die "linux-headers version too low!" + fi + eend 0 + 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} + [[ ${PV} == *.*.9999 ]] && EGIT_BRANCH=release/${PV%.*}/master + git-r3_src_unpack + else + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}/${P}.tar.xz" "${DISTDIR}/${P}.tar.xz.sig" + fi + unpack ${P}.tar.xz + + cd "${WORKDIR}" || die + unpack ${P}-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 + + case ${CTARGET} in + m68*-aligned-*) + einfo "Applying utmp format fix for m68k with -maligned-int" + eapply "${FILESDIR}/glibc-2.41-m68k-malign.patch" + ;; + *) + ;; + esac + + 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 + + case ${ABI}-${CTARGET} in + amd64-x86_64-*|arm64-aarch64-*) myconf+=( $(use_enable sframe) ) ;; + *) ;; + 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 nonfatal emake ${myxfailparams} check +} + +src_test() { + if just_headers ; then + return + fi + + # glibc_src_test uses nonfatal so that we can run tests for all ABIs + # and fail at the end instead. + foreach_abi glibc_src_test || die "tests failed" +} + +# src_install + +run_locale_gen() { + local fatal=$1 prefix=$2 + local user_config action config stderr noun ret + local -a hasversion_opts localegen_args + + if [[ ${EBUILD_PHASE_FUNC} == src_install ]]; then + hasversion_opts=( -b ) + fi + + if has_version "${hasversion_opts[@]}" '>=sys-apps/locale-gen-3'; then + localegen_args=( --prefix "${prefix}" ) + else + config="${prefix}/usr/share/i18n/SUPPORTED" + user_config="${prefix}/etc/locale.gen" + if [[ ${EBUILD_PHASE_FUNC} == src_install ]]; then + # For USE=compile-locales, all locales should be built. + mkdir -p -- "${prefix}/usr/lib/locale" || die + elif locale-gen --list --config "${user_config}" | read -r; then + config=${user_config} + fi + localegen_args=( --config "${config}" --destdir "${prefix}" ) + 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 + if [[ ${EMERGE_FROM} != binary ]]; then + localegen_args+=( --jobs "$(makeopts_jobs)" ) + fi + + printf 'Executing: locale-gen %s\n' "${localegen_args[*]@Q}" >&2 + { stderr=$(locale-gen "${localegen_args[@]}" 2>&1 >&3); } 3>&1 + ret=$? + action="ewarn" + if (( ret == 0 )); then + noun="warning" + else + noun="error" + if (( fatal )); then + action="die" + fi + fi + # Convey warnings/errors so that they can be reseen upon emerge exiting. + if [[ ${stderr} ]]; then + ewarn "locale-gen(8) issued the following ${noun}s:" + while read -r; do + ewarn "$REPLY" + done <<<"${stderr}" + fi + if (( ret != 0 )); then + "${action}" "locale-gen(8) unexpectedly failed during the ${EBUILD_PHASE_FUNC} phase" + fi +} + +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 1 "${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 + + if ! use compile-locales; then + run_locale_gen 0 "${EROOT}" + fi + + # 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 af95e206646..5ec25c760f1 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 @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -54,7 +54,7 @@ SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git 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 sframe +ssp stack-realign +static-libs suid systemd systemtap test vanilla" +IUSE="audit caps cet clang compile-locales custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd perl profile selinux sframe +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 @@ -155,7 +155,10 @@ if [[ ${CATEGORY} == cross-* ]] ; then else BDEPEND+=" >=sys-devel/binutils-2.27 - >=sys-devel/gcc-6.2 + clang? ( || ( ( >=sys-devel/gcc-6.2 ) + ( >=sys-devel/gcc-6.2 >=llvm-core/clang-18 ) + ( >=llvm-core/clang-18 >=llvm-runtimes/libgcc-18 ) ) ) + !clang? ( >=sys-devel/gcc-6.2 ) " DEPEND+=" virtual/os-headers " RDEPEND+=" @@ -295,7 +298,8 @@ do_run_test() { if [[ ${MERGE_TYPE} == "binary" ]] ; then # ignore build failures when installing a binary package #324685 - do_compile_test "" "$@" 2>/dev/null || return 0 + CC="${glibc__ORIG_CC}" CXX="${glibc__ORIG_CXX}" CPP="${glibc__ORIG_CPP}" \ + CFLAGS="-O2" LDFLAGS="" do_compile_test "" "$@" 2>/dev/null || return 0 else ebegin "Performing simple compile test for ABI=${ABI}" if ! do_compile_test "" "$@" ; then @@ -468,6 +472,11 @@ setup_flags() { append-ldflags '-Wl,--hash-style=both' fi + # clang warns about linker flags unused during compilation, but we don't + # want that to turn into errors! + # Let's turn the warning off entirely since it spams. + append-flags -Wno-unused-command-line-argument + # #492892 filter-flags -frecord-gcc-switches @@ -599,7 +608,7 @@ setup_env() { export glibc__ORIG_CXX=${CXX} export glibc__ORIG_CPP=${CPP} - if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then + if tc-is-clang && ! ( use 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... @@ -610,9 +619,8 @@ setup_env() { # 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. + # Want to shoot yourself into the foot? Set USE="clang" or USE="custom-cflags". + # Also, if you are 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... @@ -641,26 +649,22 @@ setup_env() { 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 CC="$(tc-getCC ${CTARGET})" + export CXX="$(tc-getCXX ${CTARGET})" + export CPP="$(tc-getCPP ${CTARGET})" 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?) + # We need to move CFLAGS with abi information into CC etc per glibc upstream + # requirement. Keep around the original clean value to avoid appending + # multiple ABIs on top of each other. export glibc__GLIBC_CC=${CC} export glibc__GLIBC_CXX=${CXX} export glibc__GLIBC_CPP=${CPP} @@ -802,7 +806,7 @@ sanity_prechecks() { 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." + [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Old and broken kernel." fi fi diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/metadata.xml index f4f01a67edd..36b6c957322 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/metadata.xml @@ -7,6 +7,7 @@ Enable Intel Control-flow Enforcement Technology (needs binutils 2.29 and gcc 8) + Allow building with clang (if proper environment is set). Highly experimental. Disable to auto-force gcc usage. Enable the new clone3 syscall within glibc. Can be disabled to allow compatibility with older Electron applications. build *all* locales in src_install; this is generally meant for stage building only as it ignores /etc/locale.gen file and can be pretty slow build and install libcrypt and crypt.h diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libcap-ng/libcap-ng-0.8.5.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libcap-ng/libcap-ng-0.8.5.ebuild index 77dd380001f..450f6fdf1c3 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libcap-ng/libcap-ng-0.8.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libcap-ng/libcap-ng-0.8.5.ebuild @@ -14,7 +14,7 @@ SRC_URI="https://people.redhat.com/sgrubb/${PN}/${P}.tar.gz" LICENSE="GPL-2+ LGPL-2.1+" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="python static-libs" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.71.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.71.ebuild index 16e96157538..c3a81ac19ab 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.71.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.71.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" fi DESCRIPTION="POSIX 1003.1e capabilities" 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 16e96157538..c3a81ac19ab 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" fi DESCRIPTION="POSIX 1003.1e capabilities" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.77.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.77.ebuild index aeb560184a5..c3a81ac19ab 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.77.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.77.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" fi DESCRIPTION="POSIX 1003.1e capabilities" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-9999.ebuild index aeb560184a5..48a39fe2e5c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-9999.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" fi DESCRIPTION="POSIX 1003.1e capabilities" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.16.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.16.1.ebuild index 3558cff4039..22c63031a2b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.16.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.16.1.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz - LICENSE="LGPL-2.1+" SLOT="0/1" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" IUSE="dbus examples io-uring +json keyutils python ssl test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.5-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.5-r2.ebuild index 0655f56bed1..4eb2728435b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.5-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.5-r2.ebuild @@ -24,7 +24,7 @@ else SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz experimental-loong? ( https://github.com/matoro/libseccomp/compare/v${PV}..loongarch-r1.patch -> ${P}-loongarch-r1.patch )" - KEYWORDS="-* amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux" + KEYWORDS="-* amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 x86" fi LICENSE="LGPL-2.1" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.0-r3.ebuild similarity index 84% rename from sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.0-r2.ebuild rename to sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.0-r3.ebuild index 3a9a369c8a1..4f22c8f8ac7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.0-r3.ebuild @@ -8,7 +8,7 @@ DISTUTILS_OPTIONAL=1 DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{10..13} ) -inherit distutils-r1 multilib-minimal +inherit distutils-r1 multilib-minimal multiprocessing DESCRIPTION="High level interface to Linux seccomp filter" HOMEPAGE="https://github.com/seccomp/libseccomp" @@ -19,7 +19,7 @@ if [[ ${PV} == *9999 ]] ; then inherit autotools git-r3 else SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="-* amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux" + KEYWORDS="-* amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 x86" fi LICENSE="LGPL-2.1" @@ -28,13 +28,14 @@ IUSE="python static-libs test" RESTRICT="!test? ( test )" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +RDEPEND=" + python? ( ${PYTHON_DEPS} ) +" # We need newer kernel headers; we don't keep strict control of the exact # version here, just be safe and pull in the latest stable ones. bug #551248 -DEPEND=" +DEPEND="${RDEPEND} >=sys-kernel/linux-headers-5.15 - python? ( ${PYTHON_DEPS} ) " -RDEPEND="${DEPEND}" BDEPEND=" ${DEPEND} dev-util/gperf @@ -60,6 +61,9 @@ src_prepare() { eautoreconf fi + + # Silence noise when running Python tests + sed -i -e 's:$(pwd)/../src/python/build/lib\.\*:$(pwd):' tests/regression || die } multilib_src_configure() { @@ -91,6 +95,17 @@ multilib_src_compile() { } multilib_src_test() { + local -x LIBSECCOMP_TSTCFG_JOBS="$(makeopts_jobs)" + emake -Onone check + + if multilib_is_native_abi && use python ; then + distutils-r1_src_test + fi +} + +python_test() { + local -x LIBSECCOMP_TSTCFG_MODE_LIST="python" + emake -Onone check } diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.0.ebuild index 50009f99b27..f28f3459eb9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.0.ebuild @@ -19,7 +19,7 @@ if [[ ${PV} == *9999 ]] ; then inherit autotools git-r3 else SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="-* amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux" + KEYWORDS="-* amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 x86" fi LICENSE="LGPL-2.1" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-9999.ebuild index cc42ab905df..b3a5119c28b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-9999.ebuild @@ -8,7 +8,7 @@ DISTUTILS_OPTIONAL=1 DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{10..13} ) -inherit distutils-r1 multilib-minimal +inherit distutils-r1 multilib-minimal multiprocessing DESCRIPTION="High level interface to Linux seccomp filter" HOMEPAGE="https://github.com/seccomp/libseccomp" @@ -19,7 +19,7 @@ if [[ ${PV} == *9999 ]] ; then inherit autotools git-r3 else SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="-* ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="-* ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86" fi LICENSE="LGPL-2.1" @@ -28,13 +28,14 @@ IUSE="python static-libs test" RESTRICT="!test? ( test )" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +RDEPEND=" + python? ( ${PYTHON_DEPS} ) +" # We need newer kernel headers; we don't keep strict control of the exact # version here, just be safe and pull in the latest stable ones. bug #551248 -DEPEND=" +DEPEND="${RDEPEND} >=sys-kernel/linux-headers-5.15 - python? ( ${PYTHON_DEPS} ) " -RDEPEND="${DEPEND}" BDEPEND=" ${DEPEND} dev-util/gperf @@ -57,6 +58,9 @@ src_prepare() { eautoreconf fi + + # Silence noise when running Python tests + sed -i -e 's:$(pwd)/../src/python/build/lib\.\*:$(pwd):' tests/regression || die } multilib_src_configure() { @@ -88,6 +92,17 @@ multilib_src_compile() { } multilib_src_test() { + local -x LIBSECCOMP_TSTCFG_JOBS="$(makeopts_jobs)" + emake -Onone check + + if multilib_is_native_abi && use python ; then + distutils-r1_src_test + fi +} + +python_test() { + local -x LIBSECCOMP_TSTCFG_MODE_LIST="python" + emake -Onone check } diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.8.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.8.1-r2.ebuild similarity index 55% rename from sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.8.1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.8.1-r2.ebuild index a940e1af6f7..e3929b3c323 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.8.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.8.1-r2.ebuild @@ -3,11 +3,13 @@ EAPI=8 +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_EXT=1 PYTHON_COMPAT=( python3_{11..14} ) USE_RUBY="ruby32 ruby33" # No, I am not calling ruby-ng -inherit python-r1 toolchain-funcs multilib-minimal +inherit distutils-r1 toolchain-funcs multilib-minimal MY_PV="${PV//_/-}" MY_P="${PN}-${MY_PV}" @@ -66,40 +68,33 @@ multilib_src_compile() { FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \ all - if multilib_is_native_abi && use python; then - building() { - emake \ - LDFLAGS="-fPIC ${LDFLAGS} -lpthread" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - USE_PCRE2=y \ - USE_LFS=y \ - FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \ - pywrap - } - python_foreach_impl building - fi - - if multilib_is_native_abi && use ruby; then - building() { - einfo "Calling rubywrap for ${1}" - # Clean up .lo file to force rebuild - rm -f src/selinuxswig_ruby_wrap.lo || die - emake \ - RUBY=${1} \ - LDFLAGS="-fPIC ${LDFLAGS} -lpthread" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - USE_LFS=y \ - USE_PCRE2=y \ - FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \ - rubywrap - } - for RUBYTARGET in ${USE_RUBY}; do - use ruby_targets_${RUBYTARGET} || continue - - building ${RUBYTARGET} - done + if multilib_is_native_abi; then + if use python; then + pushd src >/dev/null || die + distutils-r1_src_compile + popd >/dev/null || die + fi + if use ruby; then + building() { + einfo "Calling rubywrap for ${1}" + # Clean up .lo file to force rebuild + rm -f src/selinuxswig_ruby_wrap.lo || die + emake \ + RUBY=${1} \ + LDFLAGS="-fPIC ${LDFLAGS} -lpthread" \ + LIBDIR="\$(PREFIX)/$(get_libdir)" \ + SHLIBDIR="/$(get_libdir)" \ + USE_LFS=y \ + USE_PCRE2=y \ + FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \ + rubywrap + } + for RUBYTARGET in ${USE_RUBY}; do + use ruby_targets_${RUBYTARGET} || continue + + building ${RUBYTARGET} + done + fi fi } @@ -111,42 +106,50 @@ multilib_src_install() { USE_PCRE2=y \ install - if multilib_is_native_abi && use python; then - installation() { - emake DESTDIR="${D}" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - USE_LFS=y \ - USE_PCRE2=y \ - install-pywrap - python_optimize # bug 531638 - } - python_foreach_impl installation - fi - - if multilib_is_native_abi && use ruby; then - installation() { - einfo "Calling install-rubywrap for ${1}" - # Forcing (re)build here as otherwise the resulting SO file is used for all ruby versions - rm src/selinuxswig_ruby_wrap.lo - emake DESTDIR="${D}" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - RUBY=${1} \ - USE_LFS=y \ - USE_PCRE2=y \ - install-rubywrap - } - for RUBYTARGET in ${USE_RUBY}; do - use ruby_targets_${RUBYTARGET} || continue - - installation ${RUBYTARGET} - done + if multilib_is_native_abi; then + if use python; then + pushd src >/dev/null || die + mv selinux.py __init__.py || die + distutils-r1_src_install + popd >/dev/null || die + fi + if use ruby; then + installation() { + einfo "Calling install-rubywrap for ${1}" + # Forcing (re)build here as otherwise the resulting SO file is used for all ruby versions + rm src/selinuxswig_ruby_wrap.lo + emake DESTDIR="${D}" \ + LIBDIR="\$(PREFIX)/$(get_libdir)" \ + SHLIBDIR="/$(get_libdir)" \ + RUBY=${1} \ + USE_LFS=y \ + USE_PCRE2=y \ + install-rubywrap + } + for RUBYTARGET in ${USE_RUBY}; do + use ruby_targets_${RUBYTARGET} || continue + + installation ${RUBYTARGET} + done + fi fi use static-libs || rm "${ED}"/usr/$(get_libdir)/*.a || die } +python_install() { + # this installs the C extensions only + distutils-r1_python_install + + # now explicitly install the python package + python_moduleinto selinux + python_domodule __init__.py + + # install the C extension symlink + local pycext="$(python -c 'import importlib.machinery;print(importlib.machinery.EXTENSION_SUFFIXES[0])' || die)" + dosym -r "$(python_get_sitedir)/selinux/_selinux${pycext}" "$(python_get_sitedir)/_selinux${pycext}" +} + pkg_postinst() { # Fix bug 473502 for POLTYPE in ${POLICY_TYPES}; diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-9999.ebuild index da394c50dfd..372ceec423d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-9999.ebuild @@ -3,11 +3,13 @@ EAPI=8 +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_EXT=1 PYTHON_COMPAT=( python3_{11..14} ) USE_RUBY="ruby32 ruby33" # No, I am not calling ruby-ng -inherit python-r1 toolchain-funcs multilib-minimal +inherit distutils-r1 toolchain-funcs multilib-minimal MY_PV="${PV//_/-}" MY_P="${PN}-${MY_PV}" @@ -66,40 +68,33 @@ multilib_src_compile() { FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \ all - if multilib_is_native_abi && use python; then - building() { - emake \ - LDFLAGS="-fPIC ${LDFLAGS} -lpthread" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - USE_PCRE2=y \ - USE_LFS=y \ - FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \ - pywrap - } - python_foreach_impl building - fi - - if multilib_is_native_abi && use ruby; then - building() { - einfo "Calling rubywrap for ${1}" - # Clean up .lo file to force rebuild - rm -f src/selinuxswig_ruby_wrap.lo || die - emake \ - RUBY=${1} \ - LDFLAGS="-fPIC ${LDFLAGS} -lpthread" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - USE_LFS=y \ - USE_PCRE2=y \ - FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \ - rubywrap - } - for RUBYTARGET in ${USE_RUBY}; do - use ruby_targets_${RUBYTARGET} || continue - - building ${RUBYTARGET} - done + if multilib_is_native_abi; then + if use python; then + pushd src >/dev/null || die + distutils-r1_src_compile + popd >/dev/null || die + fi + if use ruby; then + building() { + einfo "Calling rubywrap for ${1}" + # Clean up .lo file to force rebuild + rm -f src/selinuxswig_ruby_wrap.lo || die + emake \ + RUBY=${1} \ + LDFLAGS="-fPIC ${LDFLAGS} -lpthread" \ + LIBDIR="\$(PREFIX)/$(get_libdir)" \ + SHLIBDIR="/$(get_libdir)" \ + USE_LFS=y \ + USE_PCRE2=y \ + FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \ + rubywrap + } + for RUBYTARGET in ${USE_RUBY}; do + use ruby_targets_${RUBYTARGET} || continue + + building ${RUBYTARGET} + done + fi fi } @@ -111,42 +106,50 @@ multilib_src_install() { USE_PCRE2=y \ install - if multilib_is_native_abi && use python; then - installation() { - emake DESTDIR="${D}" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - USE_LFS=y \ - USE_PCRE2=y \ - install-pywrap - python_optimize # bug 531638 - } - python_foreach_impl installation - fi - - if multilib_is_native_abi && use ruby; then - installation() { - einfo "Calling install-rubywrap for ${1}" - # Forcing (re)build here as otherwise the resulting SO file is used for all ruby versions - rm src/selinuxswig_ruby_wrap.lo - emake DESTDIR="${D}" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - RUBY=${1} \ - USE_LFS=y \ - USE_PCRE2=y \ - install-rubywrap - } - for RUBYTARGET in ${USE_RUBY}; do - use ruby_targets_${RUBYTARGET} || continue - - installation ${RUBYTARGET} - done + if multilib_is_native_abi; then + if use python; then + pushd src >/dev/null || die + mv selinux.py __init__.py || die + distutils-r1_src_install + popd >/dev/null || die + fi + if use ruby; then + installation() { + einfo "Calling install-rubywrap for ${1}" + # Forcing (re)build here as otherwise the resulting SO file is used for all ruby versions + rm src/selinuxswig_ruby_wrap.lo + emake DESTDIR="${D}" \ + LIBDIR="\$(PREFIX)/$(get_libdir)" \ + SHLIBDIR="/$(get_libdir)" \ + RUBY=${1} \ + USE_LFS=y \ + USE_PCRE2=y \ + install-rubywrap + } + for RUBYTARGET in ${USE_RUBY}; do + use ruby_targets_${RUBYTARGET} || continue + + installation ${RUBYTARGET} + done + fi fi use static-libs || rm "${ED}"/usr/$(get_libdir)/*.a || die } +python_install() { + # this installs the C extensions only + distutils-r1_python_install + + # now explicitly install the python package + python_moduleinto selinux + python_domodule __init__.py + + # install the C extension symlink + local pycext="$(python -c 'import importlib.machinery;print(importlib.machinery.EXTENSION_SUFFIXES[0])' || die)" + dosym -r "$(python_get_sitedir)/selinux/_selinux${pycext}" "$(python_get_sitedir)/_selinux${pycext}" +} + pkg_postinst() { # Fix bug 473502 for POLTYPE in ${POLICY_TYPES}; diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libsepol/libsepol-3.8.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libsepol/libsepol-3.8.1.ebuild index 37c01b9d4b7..06dc7151a40 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libsepol/libsepol-3.8.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libsepol/libsepol-3.8.1.ebuild @@ -3,7 +3,7 @@ EAPI="8" -inherit toolchain-funcs multilib-minimal +inherit dot-a toolchain-funcs multilib-minimal MY_PV="${PV//_/-}" MY_P="${PN}-${MY_PV}" @@ -34,6 +34,7 @@ src_prepare() { } my_make() { + use static-libs && lto-guarantee-fat emake \ PREFIX="${EPREFIX}/usr" \ LIBDIR="\$(PREFIX)/$(get_libdir)" \ @@ -51,5 +52,9 @@ multilib_src_compile() { multilib_src_install() { my_make DESTDIR="${D}" install - use static-libs || rm "${ED}"/usr/$(get_libdir)/*.a || die + if use static-libs; then + strip-lto-bytecode + else + rm "${ED}"/usr/$(get_libdir)/*.a || die + fi } diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libsepol/libsepol-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libsepol/libsepol-9999.ebuild index 95aea8cbafe..ec76ef1ec0a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libsepol/libsepol-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libsepol/libsepol-9999.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" -inherit toolchain-funcs multilib-minimal +inherit dot-a toolchain-funcs multilib-minimal MY_PV="${PV//_/-}" MY_P="${PN}-${MY_PV}" @@ -34,6 +34,7 @@ src_prepare() { } my_make() { + use static-libs && lto-guarantee-fat emake \ PREFIX="${EPREFIX}/usr" \ LIBDIR="\$(PREFIX)/$(get_libdir)" \ @@ -51,5 +52,9 @@ multilib_src_compile() { multilib_src_install() { my_make DESTDIR="${D}" install - use static-libs || rm "${ED}"/usr/$(get_libdir)/*.a || die + if use static-libs; then + strip-lto-bytecode + else + rm "${ED}"/usr/$(get_libdir)/*.a || die + fi } diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.8.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.8.2-r1.ebuild index 4ceaae8b2d5..deafe9ddaa6 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.8.2-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.8.2-r1.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" fi fi 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 316b63bdefd..4971ad884a0 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" fi fi diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-9999.ebuild index 99e0e16ea7c..dd021de94a4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-9999.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" fi fi 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 124eda95036..00cd41f6f56 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 @@ -2,5 +2,5 @@ DIST liburing-2.10-fix-compilation-error-io_uring_for_each_cqe.patch 2593 BLAKE2 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.12.tar.gz 441865 BLAKE2B 9229974bcebd6d117fb686ed998dfc76a3dd68c1d1da0d18a895b55cc6ba01f1656756f95987f1a18495306d038ebc4c7090c2eb0dea455b596c5e639d413b29 SHA512 ccd40be43d4ea046c63d949cfddd9adb0fda531e3ae4ee17d4639b82a11eda966d8a2afd280b4e6b45f907ea1d53bbd432bfd8ae7a015609e86555a766fc850f -DIST liburing-2.7.gh.tar.gz 347638 BLAKE2B 3e281cbf9be72cc8e04b04486df4dd9dd32c95ef9b84f7eae3253eb8e9a4afdaf8048ac359d6d250fecfb0a2bded51e46c1ab073d0e96c4d7d5d1d554d65c2b2 SHA512 c65146ee53defba4f9b752674be8489757f60be0855b361c6d1136119c74803351e5ccc8a1890c0777bfe61da4c0fd997230fc8817ff3929a7e2186b389cdc28 +DIST liburing-2.13.tar.gz 454243 BLAKE2B e9032e48622ee87ddbd9dd25d4e0264f0a648f9540acaca69a3a9bea05e64c5a8bdf2da37787ea72a298074f01bc0ab8baf934da5ece792443ee4417245d75fd SHA512 ada60d8c0bf5b546e45fe2e9e58b2cb4e342665d260648210218e5802dbc7bf650bc8bbcf0620dee27bc4310089dd5c509451a4f451368eccf1e1c5b3a4db0a7 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.7-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.13.ebuild similarity index 85% rename from sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.7-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.13.ebuild index 27ac3bbbf69..d49bf312622 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.7-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.13.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -10,11 +10,13 @@ HOMEPAGE="https://github.com/axboe/liburing" if [[ "${PV}" == *9999 ]] ; then inherit git-r3 EGIT_REPO_URI="https://github.com/axboe/liburing.git" + S="${WORKDIR}"/liburing-${PV} else - SRC_URI="https://github.com/axboe/liburing/archive/refs/tags/${P}.tar.gz -> ${P}.gh.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + 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} - S="${WORKDIR}"/liburing-${P} fi @@ -71,11 +73,14 @@ multilib_src_install_all() { multilib_src_test() { local disabled_tests=( accept.c + conn-unreach.t fpos.c io_uring_register.c link-timeout.c read-before-exit.c recv-msgall-stream.c + msg-ring.c + wait-timeout.t ) local disabled_test for disabled_test in "${disabled_tests[@]}"; do diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/Manifest index 2d599afbef0..a283ed682e1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/Manifest @@ -124,8 +124,47 @@ DIST ncurses-6.5-20250726.patch.gz 47760 BLAKE2B 316109ff7e38c6ecdec115e7980d307 DIST ncurses-6.5-20250726.patch.gz.asc 729 BLAKE2B 0317fe9d4251514a01848b804e1c0d89cbadf6645127bcdb5b854a4a60346de1ffc5464454ac9cb4e930eed566e65e3c5b9624b2e7b76b264f4bd9cbb6f5e70d SHA512 847d6de3cf0ba49ed6cafeae269966d1687e061eb546b0e05ab155af20309ab7fbe0eed6e4d226bc3859a8aa7c526d2781233bf06e9862120c57f2791c2e52f0 DIST ncurses-6.5-20250802.patch.gz 4000 BLAKE2B 18c7855d0a16ad24947b8f9099729dde3d4bf5509d310ec6fe48e52436a8e9c151b963020c798484184989c9816266ef21f5545d73e5d931a8c07da318612e2d SHA512 ef29aeb611f7362343356b50f602298e52727df62dea661dd9b831f440dd9b3ca3b4e0a57011222db9e8016fa06413ef97b83936445353dbb11993f08936d95f DIST ncurses-6.5-20250802.patch.gz.asc 729 BLAKE2B 20bdd09573b76d1f37964f3af89e96fa481a8c3cd3872de5b8c1fdffc718c4777ef7a5a99046b17f06a92a9266f46ac29df5e21c473ed3fbaf1e03fc557157f3 SHA512 e2398af3d20db4fff9d724a8c7d6da32c094b95dc8156c46f6f5f3aaa3f53b9b0eb739bb6be8afab54863180ab56e16168056b0852ff3aefce0875a32f2770b8 +DIST ncurses-6.5-20250809.patch.gz 46897 BLAKE2B 42c023edabcfcd3fc83941b9f250d930b69a1ee1b328b68512bbd0499f47f7ef7e0f7cd292fd5a263fc35a25d25a51893cacfe3d7efd741209d8745afb2cec53 SHA512 b4186a62aa987f6d258322ef2288d3e4742915263baddcb7c1d9ca31b8097abb93d53cfc96ce205d9aeb6793d207630a34420541f47cd9eb328701fe83ec8757 +DIST ncurses-6.5-20250809.patch.gz.asc 729 BLAKE2B 480600e7cb9032b38aa004a1dd22a917b31c19b7a530c1264e52ffbb775033b656db4a00bad6477b71507ffa355c6e950d0a4bd42fdecceba3756905e44d0421 SHA512 0fde10847f267bb2856ce4bcfff5a7c06d59a6d626e94cdcc575f95a97a1b4adf8b89859a01970451ff1613242d9cf757c64e0d4ef55428db49eb970a8da271f +DIST ncurses-6.5-20250816.patch.gz 119512 BLAKE2B 57ea32c56c3d7aa5dcf46c4432974b0b252e6a30e9166a14873f0621746366f6273161c640b98181ebed59604ecfa975740e509f56d3bc31a7186d5e61364226 SHA512 7723c14dc469612c0b5d0eeb02117f46c2ce06e2b303d0411b0ffe92f1149adc90b92fc8d66dd877f11d6df3ad019ef2d36d50564c531b8ebccec82083dca9d5 +DIST ncurses-6.5-20250816.patch.gz.asc 729 BLAKE2B 8f799e324cc3f7fd02bffa481101fe447c544b41ff0839c737101731945331c9a4275a53d99d08cc8d7d27635b5d8431d3e620ed346124463817ea676beb3dc7 SHA512 94b3bf84f172c28eb01fb341d4f578c80e3aacfc218e0288cd9846981cbd205af6302432acf9d2616dc51cd6acfd7c45942366c6b1de2f3882896becb064a7ab +DIST ncurses-6.5-20250823.patch.gz 44210 BLAKE2B 26dac2ceb0818800e82e13fa5cff5df8cedff4c70f6326b2d3c946131099e37868eecaf1f14f3e11d548f392061a0fa2a395c9737c557a504393167687528a67 SHA512 d8ca6b886a4dd07d77cee10dfd63529580a2b7951c730f30c56c29d1451aed8d90f0a7ce0de9476c96efebdfcc341e1180c3076383da10bf9cb643ac4a4ba93b +DIST ncurses-6.5-20250823.patch.gz.asc 729 BLAKE2B c9892e424bcf8737019876d4929e383bc95a047b5af20955700f8d88be57453f1b78aae4d88370529a22cbec12ccdb8a5bb3f4c81c3f0a983d81aecb5b438c91 SHA512 eeea41aa72b1c9006dff584dfe559e766330d4715518c2356362dbc024d468b16430a6c6dd46823e0c25b9f664e090f5eb464e929cc2c15e725253e1702f7e6d +DIST ncurses-6.5-20250830.patch.gz 13319 BLAKE2B aa47b1f01985f56e5e2b5cfca44e3381140fac516dd93ba4b6872fa87a3d25d702c25836746e98e991759ffdd5e52daa22905de2648de93ea28c1a0b5634a2aa SHA512 1905c1c6ddc3df31e51c828c48fe81af7b93991195853d5d04031b10198e1c5eb2653e3552ec894867600a23c7e5570ec104e711406b1a7f47579a272ed38147 +DIST ncurses-6.5-20250830.patch.gz.asc 729 BLAKE2B 565e7a6150554603b27a005c0dc3c56599ee39efcf40959aba962fdec638b2affc4824d8156d8c70b0c305e126b1ebb2d325a211168ec19aa17dbef2c68a5197 SHA512 126d67074b46c1f529a632a55ffabf33f850322be57f7a03f7c4c5c4a69dca89a773cea64b943217af6eb2fbb9ed2341545fd7bf6c7452b6a23e250296bd5717 +DIST ncurses-6.5-20250913.patch.gz 80129 BLAKE2B f42227602fcf1651306904ef60f43ee783c9f1e01600b6083809e82a05a9c70fed773c9eca163234a0381f4a6885906cbcff8672ad418a79384f8fdc765678ef SHA512 8ebc583e6f7454f05210b1d31d5f369facb918c6ec01faa649160ea60458dc89a15ae675b4b6a91ef80d728730d78be21ec2c7afa8d30b4bb7f1b572e9713e8d +DIST ncurses-6.5-20250913.patch.gz.asc 729 BLAKE2B 82f637fd79d8ddfa7ee9c69a39511fe91e4bb0e83399ac51bd9f662b10a1d76e511c72e1856b3aedaa2a2958a26f339e526c27b5bc5d30d3b79b1a716c101893 SHA512 4a0dfce56ce8d594b8295437ca7325da41f4907090663d5fa43a9d8e41a30b4c746463bd980988f15c9ea474090370b378fec52eac371aa2a4ae1b5c75ccf5da +DIST ncurses-6.5-20250920.patch.gz 37175 BLAKE2B 207cc906673fad63c664dd1f31cff7e2a417e90f395d475d1d934eb61921691d84ea12d415ac746d9708384118ad0835598316b55ad8e79cc887690ce5656839 SHA512 cc21a8f3cdb512a6742aa9760e223114a5fbfafdc05e4bc4413f0b3ec32ede1c43d48dc1dd98bbe572db4fa39a6e1c92de356f6d7d79654b5b9377eb6cba5cf9 +DIST ncurses-6.5-20250920.patch.gz.asc 729 BLAKE2B d2294d67deffb414a52f7bd1e2ad63eb00342873c3474a4a8f3c1388a3c3b6fcd681318bcd9fac809d2ed003ae3149278a384e7089a4da8980b63f5e5115e169 SHA512 21ed7b930ac4e3024a1576e5da19220d45b3d27de93846c29e686e7052af97cefb3d167f87a00f7f176234ab238864d05a55bf14c1c18fb08eab824d4d99c97a +DIST ncurses-6.5-20250927.patch.gz 8267 BLAKE2B 728d22b33733e5da996898ca55555e47ade97928d1077ec13dd92a44291d222eecf75174fb142bba0806b9ee7fddde85ba700b91f96aa12a7dbf214785683634 SHA512 bd3029306b024301b2500fe2871d6bf7e0e92ff83ec78080825e5fc5bed0ed63736a798d32c4a9955e30559a2fbf095a7ba5374b1aa04fed8b46b64fd9cdd245 +DIST ncurses-6.5-20250927.patch.gz.asc 729 BLAKE2B 925cfcb07449925e4c3bbe1fb25416cba78756c326c98ba58f1155d4317900465ca9b03ca51eadd60c8653a2e6967da204c6fb73a777665d0edfc77b55226271 SHA512 cfc2ec9a1228600cac21fcc206f3d5b72da4f4d9f70cf1315f927463c87f1090d79e875594adad93cbe01f9e59873546eb352832cf49039132ef280621e4617f +DIST ncurses-6.5-20251004.patch.gz 203325 BLAKE2B 4c171114cc9cb567cb2246b83a8c32ecb1addb22a70ab4c7637fdd6da5e3b198cb5ac73776bde3b38c98a7334f405c7bb1df492b05864cc04ea82a9dac21b79f SHA512 b0d28be367d00ea1c6151b57dcc98767831ee3c5f9823b3cd0f1d8b099b0a0bb95c3d08d02ac766988a064dc83e2a264cf8ae91ed1fbd8f3555bd943e86b62a4 +DIST ncurses-6.5-20251004.patch.gz.asc 729 BLAKE2B 25024c8a8f1dcc03383052df5566955835869b1f1082e7fc294bece49fb2b6e523d9611a3f160fed69a63e1eaa8dd5cf40a670351c4aa302e8841ffed4d740ce SHA512 556230f44629b5d01b9b67e0a71b607b5d822330dcf046a2a99e6b2abb61fd60b201323b6e148a66157c3dc667b78fd1943d6787163fc7293fac7df5a151dad6 +DIST ncurses-6.5-20251010.patch.gz 206836 BLAKE2B 86661e45894bf896ef0f3157571f948d0291db5c7a2018a66bc92ecb9a54504efd0cc142582bcd557da7a48920f30702238f6682fe3f72b2002bcaf72211d7a1 SHA512 410818b46b50b640a95ff4946ddc3a7911c27a702c80edf4c14d24116c033fac4431e195bf71ac4a4be19db4d8e486e2710e89be3e6cfe15739ec1c9bb305788 +DIST ncurses-6.5-20251010.patch.gz.asc 729 BLAKE2B 8f96014a3aed043d3ef9b298d5478b4d539976a315c4e94587c15d94d54582a5c0b47124b5516cd6c74cb29111b6a24e62e1a9849c7258434f79f946a4be31a4 SHA512 256148ddcac8a5bcc7f7e6f8cab527d8a1e14fa59bc5e5f05225f385be414b80d2defdb3e7929393417e128961de12d7c5a91e1482c1234f20530d469a44a91f +DIST ncurses-6.5-20251018.patch.gz 161296 BLAKE2B 03ae4709f8ba67039b0b3926b29aa5c591d86cb1de723c0b0b6d8feec8ac48e926c111ba74e3b5f2c84b2d70d69c4c6741f1d74074f29ddfab8f55c18d4c7476 SHA512 e2f53a6104313dc395ad8093faac3af14703363cdfd4d9ead90afd051ab2670ead40ad07405ad9a502cd5f186f7f34c07e6cb20ed28c3ffc374beb2931260d4d +DIST ncurses-6.5-20251018.patch.gz.asc 729 BLAKE2B 86e874f0d74f9b00a2ee1f66bcecc531681428e0dc98de125aec67de32ce84b1aa44bb398495df273c9ec18061349f87184d0c59cb6518a02c409fabef8e1bb3 SHA512 71eaf0969e90c875b8d301a162b665bc0a0a7091b747133ab443e0851d034fecdc6e3000b29ca18007d390039fad95e7d2cc046b04831c759767617fb3b139e8 +DIST ncurses-6.5-20251025.patch.gz 14491 BLAKE2B 6cd6c3f3ee34b2819d3525723e0ed4755f61fb24daab2113543ed4295cfa83f79473a0ec78ccd7e8fda1c9ccce4cfb01d0199beea8c3773a9028ae618c6c90ef SHA512 405c3599e93895f432dcb3c9be4fbadb61f24ae2c16a6a3e3e4f57c8eb24a679d7233d13380a49f5d1e8adc3bee891582ff9eb512e15799d3a6cb39d3d4d7593 +DIST ncurses-6.5-20251025.patch.gz.asc 729 BLAKE2B 3dd848d6d54262142878ed3e069d022ce78f26a6cd4bd6e6865ac40fb0c8a9da00ceabbca63a6d8f3fa329aed149dfef1e6650274e1eee7669c3d151a975ef4f SHA512 acfbed338e670f5762bc0f8e1b68caa76104cef05ac5e5522510ef3b90554f7806526be0bcf4e59a44b119af935c713dd6d43e0bbba9869fc30fcf2be21287a8 +DIST ncurses-6.5-20251101.patch.gz 17400 BLAKE2B a58218161188f14bc3d21a7c19189630bf364e3abc5a1dabe70e6f986371e23430996c5037f7f668d9cb452532c744cba5e895571d44aee79ac2e14ca5cb72d6 SHA512 eb65a8789a4946ef8630fd93ac60fc690a32b2b4b8ca336f07a86404e5f677e7d85e475a57642959e5c6c7affc3fc2a559bcecd90756261c90221c02489886c2 +DIST ncurses-6.5-20251101.patch.gz.asc 729 BLAKE2B c64b32815ced635c41f39f0309d7305b82c6ae00d5bd7f23ab77c56cf0bc265901ac05bbf1768e6645305894c5200cc08b6d88056e10b736b6409eaecff5f31f SHA512 7c77f189c81c68fcaa685163ed4b58cb1141c72864d8bf74e40c6e2d02a14de4e158537de1259010126893ba543403f99b4768bb06934ba21c825e76ee81250f +DIST ncurses-6.5-20251115.patch.gz 42799 BLAKE2B 26fecf92c968b85867edbae4728f467693793cce601548d5c043a369ea1e8c03f601bfa6fa972f21732eee9a0e3a96dcc88c6dd01e9cbffa16f8b91d20aa10ec SHA512 4b18e92526b69a8ee5c98814bc8de8c52ddbd7acd8b6e41786244b3f2f37cb436c93dbb398fe02d5af6d8bfac476aa04e9e94e27166b4f143cdd42809a30c932 +DIST ncurses-6.5-20251115.patch.gz.asc 729 BLAKE2B 739bbcd9acc1153b0bd09e9ab1528ed2c5b1d3a6fa15f03b1a5bbf4efa177f631bb4348485e908c184722a8810af7e763b7e37a3dab53cdb7f7a09963c5f64da SHA512 f03991a5069f490fbb79230c47388219adbd9d0df8134ecf33e3072df049055967d29e8dd4ee047d752c1286d4f99bd7706c63d63c8c946ebcf926cd7c7d6100 +DIST ncurses-6.5-20251122.patch.gz 4970 BLAKE2B 9b80805baf3c29bea66434b553c126958ca157f7e5f9008173f31616af447b086c01db9fd16027aa253fd890dee78540426b6faceda265dfe0acbfb40dde816e SHA512 17199617592baa5349554308a50f469078ec97b64659bf6064f7e2247dced030c85409341d97767518a57e3b0dad90306d472c8ac4bb42258448fcf4b9ce8981 +DIST ncurses-6.5-20251122.patch.gz.asc 729 BLAKE2B 1e2fc221870490d02857ad8182b750d3704ca31fc16250e7febee25ccc8a9f33f2c8e2242fac577f21a2ab1d0c70ad0fb68823e932f9fc5dee7fd6f094921196 SHA512 c94a7543bf9d20be4761e651613f7f3ee2fe10153c0a7dc792c35b74f8e78b0e53c0303e754a3a3d6c17ba7439be5d4f0bea0f9686886c853815b293dbb54176 +DIST ncurses-6.5-20251123.patch.gz 3595 BLAKE2B de3f5e9943322f3517eaec91e7b66eb6d5cde63da7208ce330ceec3b7bdba1be999d622029eeff0bea153f6f075bfbcb7f1aceeb36cb774e148162fc77c2b807 SHA512 50ea77cc1f050fd15f9c72bf22ed511e13ed37a44364fbd4d90625f6ae8dd2368f128c6070f137cf4570b8595c77713c05f24459aab9b5a0e67500b79649c650 +DIST ncurses-6.5-20251123.patch.gz.asc 729 BLAKE2B 26de469564d95dad59c933cd3b4a75ceb16a0ecb186a85a6ebcfff3e910887ec476ddf854b676558fa40f0e4b9d4b1508c6f2d33b2c65f32af42f33ad0aae0c9 SHA512 f1f5eecf1d0dc579a62e7c5cba3a38522282cfb608bdaadea5e39cfa8ab2d3f093a28c05ea657ef13a81265fdd4e7e00ab8aed4c158a6ef63b8dfc0e174b2f72 +DIST ncurses-6.5-20251129.patch.gz 3455 BLAKE2B dfd89cd780e415f3a62a3b8819d8f114da76b8fb05113fa71a3748d85e5692be02fc062f3fb943d3289ee6a3eb1287ac15e2241ccb15851e642e881e14de72b0 SHA512 60b0f7feb418a0074e04c812280470bcb9547ecf037f3e8cef93991cfe37e6bcbbd04494de5e669c242f1ab8d01ea38378e079f8fe712f7f2ccf47f44aa8cb21 +DIST ncurses-6.5-20251129.patch.gz.asc 729 BLAKE2B 35455c3155739005c4e019013483144c4db597bb32e822c81c7491fb8246d6c3eac060a43187c97f49121c78a31e3e6142181b04f9fa8018e8284586818711b9 SHA512 21262705f09b945ce7dc0deba62c265779d03bad75c1307198f7454e17bd8a147a0c3145460a4d4fd0073d4024508a4fab8b53c68e930bbcb942ff193e8a4185 +DIST ncurses-6.5-20251206.patch.gz 19900 BLAKE2B 6207671b1cac347a3eaf17ed5b6f831299503f9d2bb85eecea0f4bb1e79674dfe8ea513d96b80fa4e1e1d608e1fc3b670b99fe9126662b94e8abe197b7631fac SHA512 a9b9338f5bd185d281b8659ae56fed6ba7d3d94c8d22274f55de28fe1345e9bfc16e50457e2069d5c15bb7211cdc69a875ca9ef7eaac9ffd831719a074bb8005 +DIST ncurses-6.5-20251206.patch.gz.asc 729 BLAKE2B ddfffd8da860a3551c3e3cbd4ed4248fb5490b5102392c3ed122bebc334f545b3bb0881cdcf77ae754b03d0f502ba6ed22f8c477ec806ef650c16bc4fb7fadb7 SHA512 b1206bfc8965b5e649409508c68a8c7db74f4afb51960b9f043ae77d2ac4570ecc0a333d991bf7a94d324288365a4923fc0154207679a4439f77d9bde95c8e95 +DIST ncurses-6.5-20251213.patch.gz 3444 BLAKE2B 6bd6f2ec52b0388388e238abfbe63b1d8f7eec7b07cd00e9c1bd4f30b72810a6bc65080e644f7a2c8ac20548f74a110bf858ba7d6a0385d1f2735965c3c315f9 SHA512 fdef9635e4de7001309a428efcccbb6ab5c6be532e5fad74456a733bf5a56a3be8c03c71f2c8add1dffa4cdd42d4373a65ad19afcb40e641802d1f458ae7d13b +DIST ncurses-6.5-20251213.patch.gz.asc 729 BLAKE2B f9b41ea4a29d06b21561284b398874b5e145557a6119516a35bcee27a3652af3c1f289b78b0438f65243aaca63a0e84fd7f20bee61fd2c942b7118c60aca164e SHA512 cc14b5d519405f6d784fdf27db14c9099717263ebc7fad0a04dceb68c39d5cee7c4a6f2b80eb69e1e223b75d30f4b4b075af5831f1bd7e440f93e7b56c9e8c0b +DIST ncurses-6.5-20251220.patch.gz 46642 BLAKE2B 4b0f3edd124ffbaba3d20fb1594ecc20ad10ef96a4d403579ccf9bf3f20eebbac57be973a08ef0b343213e0e2f594d2fef188d208dd3364ee1f7a48294a3914f SHA512 7d5b00f20f48617806867d319a8a19cd2d3e17e9391d537c8dec1aab53e0e7838a163226f83f60a00f4cc407029ce13250da9a60a68561a4e6cc3ad5cf2bb3db +DIST ncurses-6.5-20251220.patch.gz.asc 729 BLAKE2B d208a0969f99afd55454fbcaca2d8cb6e784008b0c1b10a4272d3ebb16128245774d88341c9ec8f08d5f64280cae89978b9ba215a4168ebb96ecb768b0ff1c03 SHA512 fb8714e858c60fbc7b33b162d681f6f261daeeb6bd6e376c058c12624e976db520dbd0b7a0a87394e81b9b6ef46cd9a127b51a15c334f0da4239e2a49405295f DIST ncurses-6.5.tar.gz 3688489 BLAKE2B d0a05c218b5f320ba9abe2f322787baef1d15d764e503c81d49772b54b2927d28ecbeb500c8e514996226b41f69445b4de44ff423cec25b61847307fe61682ec SHA512 fc5a13409d2a530a1325776dcce3a99127ddc2c03999cfeb0065d0eee2d68456274fb1c7b3cc99c1937bc657d0e7fca97016e147f93c7821b5a4a6837db821e8 DIST ncurses-6.5.tar.gz.sig 438 BLAKE2B 5789b47932ec97d3863c7a65306369f0a36cb5b1a35c1e009b5174f50941edceafc22e6f07db3843a096773663a0ca602c0ecb9465e6042d9a78d76ae5008215 SHA512 96ce61a3d529e48e249acecbf4bb9eae2d9f2f67506e92ffa3182f5e98040c38babf0c2c15d92fc5d96e1181e72be1b29fdbff7bee859dfe2ae387f9b8883092 DIST ncurses-6.5_p20250301-patches.tar.xz 65224 BLAKE2B 9db65c728cc6d79e21b7673bb7700069cbf09287acfb65b23a65d607c3172835a9bf7df9a705d3a05b6197684bc7935e1cbed91bf18343c4fb8ebacf17e61dc1 SHA512 f5808f0c2fc1f6027678d8980a0cf598a64c9e85e1d72459dd712090c2dd24eb45261f35b025fd543aed56e903c658942c163b8fe8bace24a56fb8e9238da29e DIST ncurses-6.5_p20250531-patches.tar.xz 65304 BLAKE2B b696a473c34df2aa1fe8b03fcbd6dd4bffdc8620917c0651994037bf902526a0c0b2be843beee2dec543677a0289aea35dd7e9ba7161eaef2c5663b4f1e356a8 SHA512 cb638cd2fd7128a7245b95a686df0725cbe133b42d26bdebabe62f070eacc25545845ea09c44d6d73183776a0ad094ae7857e2079b6561f05d94b86730f355db DIST ncurses-6.5_p20250802-patches.tar.xz 64208 BLAKE2B a4e721225ac68590f6d5b492d5ec0a90b2637fe34bbe6bc3bf7eebfd6e295f430f71e63f36bb81db5864868e29d4acb62698dc01511048d929c745b752a95352 SHA512 40d9db23bc9b3baa0fac6bc380c47bc13bf2928796b6a0ab706f952dd6c39cba939e772f13b0323656b661f9006cd4d5dbde705db79a2bf28980c6f423ded374 +DIST ncurses-6.5_p20251220-patches.tar.xz 64532 BLAKE2B 2e15dcdff309cdfae21bb122a57a34088bed9c85658de938e50fee1fd28b73549eff0bf8f1656a0e86a0a53bf1539cc369ef9a0c9daef8d8cf4e8874dac7eb5d SHA512 394323278b59cac96fec01f2b2cf81f134b644e0887f187e9a6b0b3411a18f17252430bbcd7bab08ab578a69d7217a31e482b498e96ff991d4d9da4ec37c8a7a diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20250329.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20250329.ebuild index 524fb1d9108..fa53d43ecd5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20250329.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20250329.ebuild @@ -129,7 +129,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="MIT" # The subslot reflects the SONAME. SLOT="0/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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="ada +cxx debug doc gpm minimal profile split-usr +stack-realign static-libs test tinfo trace" # In 6.5_p20250118, the C++ examples fail to link, but there's no automated # testsuite anyway. Controlling building examples isn't really what USE=test diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20250531-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20250531-r1.ebuild index 88e193fb75e..76f6f5cf00a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20250531-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20250531-r1.ebuild @@ -138,7 +138,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="MIT" # The subslot reflects the SONAME. SLOT="0/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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="ada +cxx debug doc gpm minimal profile split-usr +stack-realign static-libs test tinfo trace" # In 6.5_p20250118, the C++ examples fail to link, but there's no automated # testsuite anyway. Controlling building examples isn't really what USE=test diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20250802.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20250802.ebuild index 7e19f10403b..69f9dae5d0c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20250802.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20250802.ebuild @@ -146,7 +146,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="MIT" # The subslot reflects the SONAME. SLOT="0/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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="ada +cxx debug doc gpm minimal profile split-usr +stack-realign static-libs test tinfo trace" # In 6.5_p20250118, the C++ examples fail to link, but there's no automated # testsuite anyway. Controlling building examples isn't really what USE=test diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20251220.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20251220.ebuild new file mode 100644 index 00000000000..975b4996025 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20251220.ebuild @@ -0,0 +1,517 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# sys-libs/ncurses-compat can be bumped with sys-libs/ncurses as upstream +# provide a configure option for the ABI version. + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc +inherit flag-o-matic toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript verify-sig + +MY_PV="${PV:0:3}" +MY_P="${PN}-${MY_PV}" +DESCRIPTION="Console display library" +HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/" +# Keep invisible-mirror.net here as some users reported 403 forbidden with invisible-island.net +SRC_URI=" + mirror://gnu/ncurses/${MY_P}.tar.gz + https://invisible-island.net/archives/${PN}/${MY_P}.tar.gz + https://invisible-mirror.net/archives/${PN}/${MY_P}.tar.gz + verify-sig? ( mirror://gnu/ncurses/${MY_P}.tar.gz.sig ) +" + +GENTOO_PATCH_DEV=sam +GENTOO_PATCH_PV=6.5_p20251220 +GENTOO_PATCH_NAME=${PN}-${GENTOO_PATCH_PV}-patches + +# Populated below in a loop. Do not add patches manually here. +UPSTREAM_PATCHES=() + +if [[ ${PV} == *_p* ]] ; then + # Sometimes, after releases, there's no megapatch available yet. + # + # From upstream README at e.g. https://invisible-island.net/archives/ncurses/6.3/: + # + # "At times (generally to mark a relatively stable point), I create a rollup + # patch, which consists of all changes from the release through the current date." + # + # Also, from https://lists.gnu.org/archive/html/bug-ncurses/2019-08/msg00039.html, + # the patches are considered to be acceptable to use after some testing. They + # are both for development but also bug fixes. + # + # This array should contain a list of all the snapshots since the last + # release if there's no megapatch available yet. + PATCH_DATES=( + 20240504 + 20240511 + 20240518 + 20240519 + 20240525 + 20240601 + 20240608 + 20240615 + 20240622 + 20240629 + 20240706 + 20240713 + 20240720 + 20240727 + 20240810 + 20240817 + 20240824 + 20240831 + 20240914 + 20240922 + 20240928 + 20241006 + 20241019 + 20241026 + 20241102 + 20241109 + 20241123 + 20241130 + 20241207 + 20241214 + 20241221 + 20241228 + 20250104 + 20250111 + 20250118 + 20250125 + 20250201 + 20250208 + 20250215 + 20250216 + 20250222 + 20250301 + 20250308 + 20250315 + 20250322 + 20250329 + 20250405 + 20250412 + 20250419 + 20250426 + 20250503 + 20250510 + 20250517 + 20250524 + 20250531 + 20250614 + 20250621 + 20250628 + 20250705 + 20250712 + 20250720 + 20250726 + 20250802 + 20250809 + 20250816 + 20250823 + 20250830 + 20250913 + 20250920 + 20250927 + 20251004 + 20251010 + 20251018 + 20251025 + 20251101 + 20251115 + 20251122 + 20251123 + 20251129 + 20251206 + 20251213 + + # Latest patch is just _pN = $(ver_cut 4) + $(ver_cut 4) + ) + + if [[ -z ${PATCH_DATES[@]} ]] ; then + SRC_URI+=" https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P/_p/-}.patch.sh.gz" + SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P/_p/-}.patch.sh.gz.asc" + + # If we have a rollup patch, use that instead of the individual ones. + UPSTREAM_PATCHES+=( patch.sh ) + else + # We use a mirror as well because we've had reports of 403 forbidden for some users. + upstream_url_base="https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P}-" + upstream_m_url_base="https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${MY_P}-" + + # Prefix each date with the upstream location (https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P}) + mangled_patches=( "${PATCH_DATES[@]/#/${upstream_url_base}}" ) + # Suffix each with .patch.gz + mangled_patches=( "${mangled_patches[@]/%/.patch.gz}" ) + mangled_patches_sig=( "${mangled_patches[@]/%/.asc}" ) + # Repeat for .patch.gz.asc for verify-sig + SRC_URI+=" ${mangled_patches[@]}" + SRC_URI+=" verify-sig? ( ${mangled_patches_sig[@]} )" + + # For all of the URLs, chuck in invisible-island.net too: + SRC_URI+=" ${mangled_patches[@]/${upstream_url_base}/${upstream_m_url_base}}" + SRC_URI+=" verify-sig? ( ${mangled_patches_sig[@]/${upstream_url_base}/${upstream_m_url_base}} )" + + UPSTREAM_PATCHES=( "${PATCH_DATES[@]/%/.patch}" ) + + unset upstream_url_base upstream_m_url_base mangled_patches mangled_patches_sig + fi +fi + +SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${GENTOO_PATCH_NAME}.tar.xz" +S="${WORKDIR}/${MY_P}" + +LICENSE="MIT" +# The subslot reflects the SONAME. +SLOT="0/6" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="ada +cxx debug doc gpm minimal profile split-usr +stack-realign static-libs test tinfo trace" +# In 6.5_p20250118, the C++ examples fail to link, but there's no automated +# testsuite anyway. Controlling building examples isn't really what USE=test +# is for. Just restrict them. +RESTRICT="!test? ( test ) test" + +# TODO: ncurses allows (and we take advantage of this, even) passing +# the SONAME for dlopen() use, so only the header is needed at build time. +# Maybe we should bundle a copy of gpm.h so we can move gpm to PDEPEND +# which would be far nicer UX-wise. +DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )" +# Block the older ncurses that installed all files w/SLOT=5, bug #557472 +RDEPEND=" + ${DEPEND} + !<=sys-libs/ncurses-5.9-r4:5 + !& /dev/null \ + || lbuildflags="${dbuildflags}" + + # We can't re-use the multilib BUILD_DIR because we run outside of it. + BUILD_DIR="${WORKDIR}" \ + CC=${BUILD_CC} \ + CXX=${BUILD_CXX} \ + CPP=${BUILD_CPP} \ + CHOST=${CBUILD} \ + CFLAGS=${BUILD_CFLAGS} \ + CXXFLAGS=${BUILD_CXXFLAGS} \ + CPPFLAGS=${BUILD_CPPFLAGS} \ + LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \ + do_configure cross --without-shared --with-normal --with-progs --without-ada + fi + multilib-minimal_src_configure +} + +multilib_src_configure() { + if [[ ${ABI} == x86 ]] ; then + # For compatibility with older binaries at slight performance cost. + # bug #616402 + use stack-realign && append-flags -mstackrealign + fi + + local t + for t in "${NCURSES_TARGETS[@]}" ; do + do_configure "${t}" + done +} + +do_configure() { + local target=$1 + shift + + mkdir "${BUILD_DIR}/${target}" || die + cd "${BUILD_DIR}/${target}" || die + + local conf=( + # We need the basic terminfo files in /etc, bug #37026. We will + # add '--with-terminfo-dirs' and then populate /etc/terminfo in + # src_install() ... + --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo" + + # Enable installation of .pc files. + --enable-pc-files + # This path is used to control where the .pc files are installed. + --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig" + + # Now the rest of the various standard flags. + --with-shared + --enable-fvisibility + # (Originally disabled until bug #245417 is sorted out, but now + # just keeping it off for good, given nobody needed it until now + # (2022) and we're trying to phase out bdb.) + --without-hashed-db + $(use_with ada) + $(use_with cxx) + $(use_with cxx cxx-binding) + --with-cxx-shared + $(use_with debug) + $(use_with profile) + # The configure script uses ldd to parse the linked output which + # is flaky for cross-compiling/multilib/ldd versions/etc... + $(use_with gpm gpm libgpm.so.1) + + # bug #930806 + --disable-setuid-environ + # TODO: Maybe do these for USE=hardened + #--disable-root-access + #--disable-root-environ + + --disable-termcap + --enable-symlinks + --with-manpage-format=normal + --enable-const + --enable-colorfgbg + --enable-hard-tabs + --enable-echo + $(use_enable !ada warnings) + $(use_enable debug assertions) + $(use_enable !debug leaks) + $(use_enable debug expanded) + $(use_enable !debug macros) + $(multilib_native_with progs) + $(use_with test tests) + $(use_with trace) + $(use_with tinfo termlib) + --disable-stripping + --disable-pkg-ldflags + ) + + case ${CHOST} in + *-mingw32*) + conf+=( --enable-term-driver ) + ;; + *) + conf+=( --disable-term-driver ) + ;; + esac + + if [[ ${target} == ncurses*w ]] ; then + conf+=( --enable-widec ) + else + conf+=( --disable-widec ) + fi + if [[ ${target} == ncursest* ]] ; then + conf+=( --with-{pthread,reentrant} ) + else + conf+=( --without-{pthread,reentrant} ) + fi + + # Make sure each variant goes in a unique location. + if [[ ${target} == "ncurses" ]] ; then + # "ncurses" variant goes into "${EPREFIX}"/usr/include + # It is needed on Prefix because the configure script appends + # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr. + conf+=( --enable-overwrite ) + else + conf+=( --includedir="${EPREFIX}"/usr/include/${target} ) + fi + # See comments in src_configure. + if [[ ${target} != "cross" ]] ; then + local cross_path="${WORKDIR}/cross" + [[ -d ${cross_path} ]] && export TIC="${cross_path}/progs/tic" + fi + + ECONF_SOURCE="${S}" econf "${conf[@]}" "$@" +} + +src_compile() { + # See comments in src_configure. + if ! has_version -b "~sys-libs/${P}:0" ; then + BUILD_DIR="${WORKDIR}" do_compile cross -C progs tic$(get_exeext) + fi + + multilib-minimal_src_compile +} + +multilib_src_compile() { + local t + for t in "${NCURSES_TARGETS[@]}" ; do + do_compile "${t}" + done +} + +do_compile() { + local target=$1 + shift + + cd "${BUILD_DIR}/${target}" || die + + # A little hack to fix parallel builds ... they break when + # generating sources so if we generate the sources first (in + # non-parallel), we can then build the rest of the package + # in parallel. This is not really a perf hit since the source + # generation is quite small. + emake -j1 sources + + # For some reason, sources depends on pc-files which depends on + # compiled libraries which depends on sources which ... + # Manually delete the pc-files file so the install step will + # create the .pc files we want. + rm -f misc/pc-files || die + emake "$@" +} + +multilib_src_install() { + local target + for target in "${NCURSES_TARGETS[@]}" ; do + emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install + done + + # Move main libraries into /. + if multilib_is_native_abi ; then + gen_usr_ldscript -a \ + "${NCURSES_TARGETS[@]}" \ + $(usex tinfo 'tinfow tinfo' '') + fi + + # Don't delete '*.dll.a', needed for linking, bug #631468 + if ! use static-libs; then + find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die + fi + + # Build fails to create this ... + # -FIXME- + # Ugly hackaround for riscv having two parts libdir (bug #689240) + # Replace this hack with an official solution once we have one... + # -FIXME- + dosym $(sed 's@[^/]\+@..@g' <<< $(get_libdir))/share/terminfo \ + /usr/$(get_libdir)/terminfo + + # Remove obsolete libcurses symlink that is created by the build + # system. Technically, this could be also achieved + # via --disable-overwrite but it also moves headers implicitly, + # and we do not want to do this yet. + # bug #836696 + rm "${ED}"/usr/$(get_libdir)/libcurses* || die +} + +multilib_src_install_all() { + local terms=( + # Dumb/simple values that show up when using the in-kernel VT. + ansi console dumb linux + vt{52,100,102,200,220} + # [u]rxvt users used to be pretty common. Probably should drop this + # since upstream is dead and people are moving away from it. + rxvt{,-unicode}{,-256color} + # xterm users are common, as is terminals re-using/spoofing it. + xterm xterm-{,256}color + # screen is common (and reused by tmux). + screen{,-256color} + screen.xterm-256color + ) + if use split-usr ; then + local x + # We need the basic terminfo files in /etc for embedded/recovery, bug #37026 + einfo "Installing basic terminfo files in /etc..." + for x in "${terms[@]}"; do + local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null) + local basedir=$(basename "$(dirname "${termfile}")") + + if [[ -n ${termfile} ]] ; then + dodir "/etc/terminfo/${basedir}" + mv "${termfile}" "${ED}/etc/terminfo/${basedir}/" || die + dosym "../../../../etc/terminfo/${basedir}/${x}" \ + "/usr/share/terminfo/${basedir}/${x}" + fi + done + + echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 50ncurses + + use minimal && rm -r "${ED}"/usr/share/terminfo* + # Because ncurses5-config --terminfo returns the directory we keep it + # bug #245374 + keepdir /usr/share/terminfo + elif use minimal ; then + # Keep only the basic terminfo files + find "${ED}"/usr/share/terminfo/ \ + \( -type f -o -type l \) ${terms[*]/#/! -name } -delete , \ + -type d -empty -delete || die + fi + + cd "${S}" || die + dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc + if use doc ; then + docinto html + dodoc -r doc/html/ + fi +} + +pkg_preinst() { + preserve_old_lib /$(get_libdir)/libncurses.so.5 + preserve_old_lib /$(get_libdir)/libncursesw.so.5 +} + +pkg_postinst() { + preserve_old_lib_notify /$(get_libdir)/libncurses.so.5 + preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5 +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.0_p20241230-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.0_p20241230-r3.ebuild index 9ebdadc2a48..1478d04ec17 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.0_p20241230-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.0_p20241230-r3.ebuild @@ -21,7 +21,7 @@ if [[ ${PV} == *_p* ]] ; then " S="${WORKDIR}"/linux-${PN}-${PAM_COMMIT} else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/strace.asc + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/pam.asc inherit verify-sig SRC_URI=" @@ -30,12 +30,12 @@ else " S="${WORKDIR}/${MY_P}" - BDEPEND="verify-sig? ( sec-keys/openpgp-keys-strace )" + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-pam )" fi LICENSE="|| ( BSD GPL-2 )" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="audit berkdb elogind examples debug nis nls selinux systemd" REQUIRED_USE="?? ( elogind systemd )" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.1-r1.ebuild index d580d7da9df..ecd11e989f8 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.1-r1.ebuild @@ -21,7 +21,7 @@ if [[ ${PV} == *_p* ]] ; then " S="${WORKDIR}"/linux-${PN}-${PAM_COMMIT} else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/strace.asc + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/pam.asc inherit verify-sig SRC_URI=" @@ -30,12 +30,12 @@ else " S="${WORKDIR}/${MY_P}" - BDEPEND="verify-sig? ( sec-keys/openpgp-keys-strace )" + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-pam )" fi LICENSE="|| ( BSD GPL-2 )" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="audit berkdb elogind examples debug nis nls selinux systemd" REQUIRED_USE="?? ( elogind systemd )" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.1-r2.ebuild index 9f36e29ce99..31fa45adc1b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.1-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.1-r2.ebuild @@ -21,7 +21,7 @@ if [[ ${PV} == *_p* ]] ; then " S="${WORKDIR}"/linux-${PN}-${PAM_COMMIT} else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/strace.asc + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/pam.asc inherit verify-sig SRC_URI=" @@ -30,12 +30,12 @@ else " S="${WORKDIR}/${MY_P}" - BDEPEND="verify-sig? ( sec-keys/openpgp-keys-strace )" + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-pam )" fi LICENSE="|| ( BSD GPL-2 )" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="audit berkdb elogind examples debug nis nls selinux systemd" REQUIRED_USE="?? ( elogind systemd )" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/readline/Manifest index 2c4f9c412fe..e5b374c9d95 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/readline/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/readline/Manifest @@ -32,3 +32,7 @@ DIST readline82-013 5757 BLAKE2B 5af309dc331cdc2fc9c47f8a53c78731885cf70ba22c135 DIST readline82-013.sig 95 BLAKE2B 388b707e863c6047fdc92bb29e2c172292b497f53926f6e2534016e5cdb621fd7feb9418c6edd4a693869ea61c16cb64815bf2159d6af0bb3eec5d5dc666e525 SHA512 85bd30dc816d62a2e339c95bf9f243a60a960264e14bc396b34f586afdded2cc43ecc307a7f1a2c03c7eba2d11d2f3a0028107a59c4b2bc8d6dbe77fe9fb81cd DIST readline83-001 1846 BLAKE2B b0953458a18b8b06b0086567abd3c9ca3efceb5e4c38271e62137e126c106b938945d956394de0e955ecea5d48f8b261a4f2f3db2ee1d2cbc3b4cfdcf213ca46 SHA512 ced50af353ed527f6ec0eac5f65261f2ed208825ec72fe2acf5f0217f34f84f33dcbf01b895325f6b33664b5a426bac99506193e2ddb6eea8c79ccad37364b89 DIST readline83-001.sig 95 BLAKE2B 7fbf8bf9974239872fd14d8484e7425ad7f86c934183cb26aa4bbfec18f8888c07fb9ec510441258e3b89aecacbf4dff1b18e45b0972a1a667721f0053d8466b SHA512 aea02ce216da1a47035207a67d8eaa5fd07c41b74d9809bce0fd50114abd201ff78d33c74df101c70fb49fdbf4f8651252b520d2e4071f4a1423a557fd0046a0 +DIST readline83-002 1613 BLAKE2B bb07c3e1663b36988e59721d8e8054022726f6adc2160cbb1fe30bcb5fe96d70fc38980a84c05a0518b9916975ffa1c4c97542fc9c82845736c6f6d03ca60229 SHA512 e45ad6443bd4e271ec8e8ab883de561b6420aec362b0b7f0256086cb5a023d946df55994ed99c76ceb191e8a25e8059ae9b553ef1d546626d671b80af292f04d +DIST readline83-002.sig 95 BLAKE2B 8d5294bf74b4a6aff7408b827a12607da2b824295e4b9d4827825d053701f796580fe38029a62188aec9529a2801183ea4b10e40913e1039ee501f95a3a38a07 SHA512 4dbed1ad56a3be4f750544694164a1fdfbc8795cb0efb991cd0e84c8f4f97d8a69b239de90060aac5957fccf177c897bdd55667173bfd812261844d01d2c50b3 +DIST readline83-003 2284 BLAKE2B 39f48eefef1840460aa418a070813dd284893e74dddad5fb44230498a7991148e9681be89b30e98fe805a67b3093360c883a16a26a7f103548f36c899f9359da SHA512 6b3ebffe994d0cd4d3466b15e3aee9a73613109283a4442f3bf10e28edcd1204df824c71356d66d01ac21014a806023a101fedf94526a19f6f590d9ffdc864cd +DIST readline83-003.sig 95 BLAKE2B 1735f682249205cb0e1b0d81ef603d0f87fa3604f65634e66d851da747111abc36d82895480f283c93ef757483f85bba1f081f69c0d200a8d908dfd2d49974a4 SHA512 2e90acc5820fc2a6f5f63520dc66301c64a1636f6134d684d62560c235ba7a0a8fd4c0caad054d09021084fe201a171f3b776cc4814f212f8165aa6f67d007de diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p13-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p13-r1.ebuild index f3608ce110b..29f55a7d24f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p13-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p13-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -78,7 +78,7 @@ fi LICENSE="GPL-3+" SLOT="0/8" # subslot matches SONAME major if is_release ; 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 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="static-libs +unicode utils" @@ -126,7 +126,7 @@ src_prepare() { is_release || eautoreconf - if use prefix && [[ ! -x "${BROOT}"/usr/bin/pkg-config ]] ; then + if use prefix && [[ -n ${STAGE} ]] ; then # If we're bootstrapping, make a guess. We don't have pkg-config # around yet. bug #818103. # Incorrectly populating this leads to underlinked libreadline. diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.3_p1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.3_p1.ebuild index cba77147fe0..9cb20578f4c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.3_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.3_p1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -78,7 +78,7 @@ fi LICENSE="GPL-3+" SLOT="0/8" # subslot matches SONAME major 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 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="static-libs +unicode utils" @@ -127,7 +127,7 @@ src_prepare() { #(( PLEVEL < 0 )) && eautoreconf - if use prefix && [[ ! -x "${BROOT}"/usr/bin/pkg-config ]] ; then + if use prefix && [[ -n ${STAGE} ]] ; then # If we're bootstrapping, make a guess. We don't have pkg-config # around yet. bug #818103. # Incorrectly populating this leads to underlinked libreadline. diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.3_p3.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.3_p3.ebuild new file mode 100644 index 00000000000..3fddcda0525 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.3_p3.ebuild @@ -0,0 +1,257 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# There's no standard way of versioning the point releases upstream +# make anyway, so while this was added for RC versions, it's fine +# in general. +QA_PKGCONFIG_VERSION=$(ver_cut 1-2) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc +inherit flag-o-matic multilib multilib-minimal preserve-libs toolchain-funcs verify-sig + +# Official patches +# See ftp://ftp.cwru.edu/pub/bash/readline-8.1-patches/ +PLEVEL="${PV##*_p}" +MY_PV="${PV/_p*}" +MY_PV="${MY_PV/_/-}" +MY_P="${PN}-${MY_PV}" +MY_PATCHES=() + +# Determine the patchlevel. +case ${PV} in + 9999|*_alpha*|*_beta*|*_rc*) + # Set a negative patchlevel to indicate that it's a pre-release. + PLEVEL=-1 + ;; + *_p*) + PLEVEL=${PV##*_p} + ;; + *) + PLEVEL=0 +esac + +DESCRIPTION="Another cute console display library" +HOMEPAGE="https://tiswww.case.edu/php/chet/readline/rltop.html https://git.savannah.gnu.org/cgit/readline.git" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/readline.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. + READLINE_COMMIT="7cf2d923617659d216db3210f6247740f7dde1d8" + SRC_URI="https://git.savannah.gnu.org/cgit/readline.git/snapshot/readline-${READLINE_COMMIT}.tar.gz -> ${P}-${READLINE_COMMIT}.tar.gz" + S=${WORKDIR}/${PN}-${READLINE_COMMIT} +else + SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz" + SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )" + S="${WORKDIR}/${MY_P}" + + if [[ ${PLEVEL} -gt 0 ]] ; then + # bash-5.1 -> bash51 + my_p=${PN}$(ver_rs 1-2 '' $(ver_cut 1-2)) + + patch_url= + my_patch_index= + + upstream_url_base="mirror://gnu/readline" + + for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; my_patch_index++)) ; do + printf -v mangled_patch_ver ${my_p}-%03d ${my_patch_index} + patch_url="${upstream_url_base}/${MY_P}-patches/${mangled_patch_ver}" + + SRC_URI+=" ${patch_url}" + SRC_URI+=" verify-sig? ( ${patch_url}.sig )" + + MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} ) + done + + unset my_p patch_url my_patch_index upstream_url_base + fi +fi + +LICENSE="GPL-3+" +SLOT="0/8" # subslot matches SONAME major +if (( PLEVEL >= 0 )); then + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" +fi +IUSE="static-libs +unicode utils" + +RDEPEND=">=sys-libs/ncurses-5.9-r3:=[static-libs?,unicode(+)?,${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-chetramey ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-5.0-no_rpath.patch + "${FILESDIR}"/${PN}-7.0-headers.patch + "${FILESDIR}"/${PN}-8.0-headers.patch +) + +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() { + (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" + + default + + #(( PLEVEL < 0 )) && eautoreconf + + if use prefix && [[ -n ${STAGE} ]] ; then + # If we're bootstrapping, make a guess. We don't have pkg-config + # around yet. bug #818103. + # Incorrectly populating this leads to underlinked libreadline. + local ncurses_libs + local ncurses_libs_suffix=$(usex unicode w '') + + ncurses_libs="-lncurses${ncurses_libs_suffix}" + + if has_version "sys-libs/ncurses[tinfo(+)]" ; then + ncurses_libs+=" -ltinfo${ncurses_libs_suffix}" + fi + else + # Force ncurses linking, bug #71420. + # Use pkg-config to get the right values, bug #457558. + local ncurses_libs=$($(tc-getPKG_CONFIG) ncurses$(usex unicode w '') --libs || die) + fi + + sed -i \ + -e "/^SHLIB_LIBS=/s:=.*:='${ncurses_libs}':" \ + support/shobj-conf || die + sed -i \ + -e "/[[:space:]]*LIBS=.-lncurses/s:-lncurses:${ncurses_libs}:" \ + examples/rlfe/configure || die + + # Fix building under Gentoo/FreeBSD; upstream FreeBSD deprecated + # objformat for years, so we don't want to rely on that. + sed -i -e '/objformat/s:if .*; then:if true; then:' support/shobj-conf || die + + # For local readline headers + ln -s ../.. examples/rlfe/readline || die +} + +src_configure() { + # Fix implicit decls with widechar funcs + append-cppflags -D_GNU_SOURCE + # https://lists.gnu.org/archive/html/bug-readline/2010-07/msg00013.html + append-cppflags -Dxrealloc=_rl_realloc -Dxmalloc=_rl_malloc -Dxfree=_rl_free + + # Make sure configure picks a better ar than `ar`, bug #484866 + export ac_cv_prog_AR="$(tc-getAR)" + + # Force the test since we used sed above to force it. + export bash_cv_termcap_lib=ncurses + + # Control cross-compiling cases when we know the right answer. + # In cases where the C library doesn't support wide characters, readline + # itself won't work correctly, so forcing the answer below should be OK. + if tc-is-cross-compiler ; then + export bash_cv_func_sigsetjmp="present" + export bash_cv_func_ctype_nonascii="yes" + # bug #503312 + export bash_cv_wcwidth_broken="no" + fi + + # This is for rlfe, but we need to make sure LDFLAGS doesn't change + # so we can re-use the config cache file between the two. + append-ldflags -L. + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myeconfargs=( + --cache-file="${BUILD_DIR}"/config.cache + --with-curses + $(use_enable static-libs static) + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" + + if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then + # Code is full of AC_TRY_RUN() + mkdir -p examples/rlfe || die + cd examples/rlfe || die + + ECONF_SOURCE="${S}"/examples/rlfe econf --cache-file="${BUILD_DIR}"/config.cache + fi +} + +multilib_src_compile() { + emake + + if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then + # Code is full of AC_TRY_RUN() + cd examples/rlfe || die + local l + for l in readline history ; do + ln -s ../../shlib/lib${l}$(get_libname)* lib${l}$(get_libname) || die + ln -s ../../lib${l}.a lib${l}.a || die + done + emake + fi +} + +multilib_src_install() { + default + + if multilib_is_native_abi ; then + if use utils && ! tc-is-cross-compiler; then + dobin examples/rlfe/rlfe + fi + fi +} + +multilib_src_install_all() { + HTML_DOCS="doc/history.html doc/readline.html doc/rluserman.html" einstalldocs + + dodoc USAGE + docinto ps + dodoc doc/*.ps +} +pkg_preinst() { + # bug #29865 + # Reappeared in bug #595324 with paludis so keeping this for now... + preserve_old_lib \ + /$(get_libdir)/lib{history,readline}$(get_libname 4) \ + /$(get_libdir)/lib{history,readline}$(get_libname 5) \ + /$(get_libdir)/lib{history,readline}$(get_libname 6) \ + /$(get_libdir)/lib{history,readline}$(get_libname 7) +} + +pkg_postinst() { + preserve_old_lib_notify \ + /$(get_libdir)/lib{history,readline}$(get_libname 4) \ + /$(get_libdir)/lib{history,readline}$(get_libname 5) \ + /$(get_libdir)/lib{history,readline}$(get_libname 6) \ + /$(get_libdir)/lib{history,readline}$(get_libname 7) +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.4_alpha_pre20251007.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.4_alpha_pre20251007.ebuild index 8ca5dbbb513..b6cfe4de364 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.4_alpha_pre20251007.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.4_alpha_pre20251007.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -78,7 +78,7 @@ fi LICENSE="GPL-3+" SLOT="0/8" # subslot matches SONAME major 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 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="static-libs +unicode utils" @@ -126,7 +126,7 @@ src_prepare() { #(( PLEVEL < 0 )) && eautoreconf - if use prefix && [[ ! -x "${BROOT}"/usr/bin/pkg-config ]] ; then + if use prefix && [[ -n ${STAGE} ]] ; then # If we're bootstrapping, make a guess. We don't have pkg-config # around yet. bug #818103. # Incorrectly populating this leads to underlinked libreadline. diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-9999.ebuild index 18069a1d9ee..236229ef6d7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -78,7 +78,7 @@ fi LICENSE="GPL-3+" SLOT="0/8" # subslot matches SONAME major 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 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="static-libs +unicode utils" @@ -126,7 +126,7 @@ src_prepare() { #(( PLEVEL < 0 )) && eautoreconf - if use prefix && [[ ! -x "${BROOT}"/usr/bin/pkg-config ]] ; then + if use prefix && [[ -n ${STAGE} ]] ; then # If we're bootstrapping, make a guess. We don't have pkg-config # around yet. bug #818103. # Incorrectly populating this leads to underlinked libreadline. diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/talloc/talloc-2.4.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/talloc/talloc-2.4.2.ebuild index 0e1ff74e99e..c16d40f3dd1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/talloc/talloc-2.4.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/talloc/talloc-2.4.2.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://www.samba.org/ftp/${PN}/${P}.tar.gz" LICENSE="GPL-3 LGPL-3+ 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 ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" IUSE="compat +python test valgrind" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/talloc/talloc-2.4.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/talloc/talloc-2.4.3.ebuild index c307180082c..eff5e108ca1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/talloc/talloc-2.4.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/talloc/talloc-2.4.3.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://www.samba.org/ftp/${PN}/${P}.tar.gz" LICENSE="GPL-3 LGPL-3+ 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 ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" IUSE="compat +python test valgrind" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.12.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.12.ebuild index 247211f778d..4f6790bddb6 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.12.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://samba.org/ftp/tdb/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="python test" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.13.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.13.ebuild index db1a2281965..d5a93712a80 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.13.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.13.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://samba.org/ftp/tdb/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="python test" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.14.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.14.ebuild index ac464d46288..d4431304f17 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.14.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.14.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://samba.org/ftp/tdb/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="python test" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/tevent/files/cmocka-config_h.patch b/sdk_container/src/third_party/portage-stable/sys-libs/tevent/files/cmocka-config_h.patch deleted file mode 100644 index 124928450cd..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/tevent/files/cmocka-config_h.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- ./third_party/cmocka/cmocka.h.orig 2024-03-26 10:23:03.378410042 +0100 -+++ ./third_party/cmocka/cmocka.h 2024-03-26 10:24:51.526922405 +0100 -@@ -14,6 +14,11 @@ - * See the License for the specific language governing permissions and - * limitations under the License. - */ -+ -+#ifdef HAVE_CONFIG_H -+#include "config.h" -+#endif -+ - #ifndef CMOCKA_H_ - #define CMOCKA_H_ - -@@ -111,7 +114,7 @@ - ((LargestIntegralType)(value)) - - /* Smallest integral type capable of holding a pointer. */ --#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) -+#if !defined(HAVE_UINTPTR_T) && !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) && !defined(__DEFINED_uintptr_t) - # if defined(_WIN32) - /* WIN32 is an ILP32 platform */ - typedef unsigned int uintptr_t; diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/tevent/tevent-0.16.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/tevent/tevent-0.16.1.ebuild index c89b3319858..fab474e9d02 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/tevent/tevent-0.16.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/tevent/tevent-0.16.1.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://samba.org/ftp/tevent/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="python test" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/tevent/tevent-0.16.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/tevent/tevent-0.16.2.ebuild index e0daea98c23..68db04859bf 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/tevent/tevent-0.16.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/tevent/tevent-0.16.2.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://samba.org/ftp/tevent/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="python test" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/tevent/tevent-0.17.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/tevent/tevent-0.17.1.ebuild index dc874c91495..df9b7e12df6 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/tevent/tevent-0.17.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/tevent/tevent-0.17.1.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://samba.org/ftp/tevent/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="python test" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/Manifest index f8d417b26c3..f09c3073cae 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/Manifest @@ -1,2 +1,3 @@ DIST tzdb-2025a.tar.lz 548434 BLAKE2B cccd37ca71bfde7e56ed5138be5a610ec9d5ca59658b90e5e2a10af9221ed6d09b24b106bef46b04bbc97bff74b6e97a1f800c078a523aa32c13416a33264df2 SHA512 1e8c4e141158d63ca5c39babc9d18c32df14e2e59bc7649a7fed8c3e577f7b175bafa43883cf351139ff198515f5f8c22b1418e2ac7efb7f837faa8f61d2574d DIST tzdb-2025b.tar.lz 549879 BLAKE2B 6930d475e7fa2c29d7c6c9a1d3c8a8e4ec80745d3f8d7be6b74ae1fc1ba06fbe362e5ff96f6e3b6faa4e15240973ec4162a7f764cddf451029776f443966824c SHA512 4f4afca86645ca5564a9d7d3ddc36e6b07c15c1b87cd4edbbcae72c6be4e6154e4ad1966407a7081237550301f1093af53dd8a486effb95f7cf3e5721db47c8f +DIST tzdb-2025c.tar.lz 556440 BLAKE2B 21524cbbde446b7ea2a4536765795f4eb0f180f88fe1e1857168ae0d59ccd1c0e459b1853ba6ff9c6444514dfa22c04d367c1b3039e1bbd40779a80d3e1bb955 SHA512 6fa233d6a884acd24b52c44b2eecf683f9403f44b39dcbe85b1ec92fc11f4daf6ee5143f05332faf9258b8bd8f7ca7d4882e19b1e3d892b4761be43fd4f39d51 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2025a-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2025a-r1.ebuild index 30f81954754..2cd1931e4ef 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2025a-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2025a-r1.ebuild @@ -14,7 +14,7 @@ S="${WORKDIR}"/tzdb-${PV} LICENSE="BSD public-domain" 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="nls leaps-timezone zic-slim" DEPEND="nls? ( virtual/libintl )" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2025b.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2025b.ebuild index 539afc06569..3315c169fce 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2025b.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2025b.ebuild @@ -14,7 +14,7 @@ S="${WORKDIR}"/tzdb-${PV} LICENSE="BSD public-domain" 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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="nls leaps-timezone zic-slim" DEPEND="nls? ( virtual/libintl )" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2025c.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2025c.ebuild new file mode 100644 index 00000000000..6acda8adc9b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2025c.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs flag-o-matic unpacker + +DESCRIPTION="Timezone data (/usr/share/zoneinfo) and utilities (tzselect/zic/zdump)" +HOMEPAGE="https://www.iana.org/time-zones" +SRC_URI=" + https://data.iana.org/time-zones/releases/tzdb-${PV}.tar.lz +" +S="${WORKDIR}"/tzdb-${PV} + +LICENSE="BSD public-domain" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="nls leaps-timezone zic-slim" + +DEPEND="nls? ( virtual/libintl )" +RDEPEND=" + ${DEPEND} + !sys-libs/glibc[vanilla(+)] +" +BDEPEND="$(unpacker_src_uri_depends)" + +src_prepare() { + default + + if tc-is-cross-compiler ; then + cp -pR "${S}" "${S}"-native || die + fi +} + +src_configure() { + tc-export CC + + # bug #471102 + append-lfs-flags + + if use elibc_Darwin ; then + # bug #138251 + append-cppflags -DSTD_INSPIRED + fi + + append-cppflags -DHAVE_GETTEXT=$(usex nls 1 0) -DTZ_DOMAIN='\"libc\"' + + # Upstream default is 'slim', but it breaks quite a few programs, + # that parse /etc/localtime directly: bug #747538. + append-cppflags -DZIC_BLOAT_DEFAULT='\"'$(usex zic-slim slim fat)'\"' + + LDLIBS="" + if use nls ; then + # See if an external libintl is available. bug #154181, bug #578424 + local c="${T}/test" + echo 'int main(){}' > "${c}.c" || die + if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} "${c}.c" -o "${c}" -lintl 2>/dev/null ; then + LDLIBS+=" -lintl" + fi + fi +} + +_emake() { + emake \ + REDO=$(usex leaps-timezone posix_right posix_only) \ + TOPDIR="${EPREFIX}" \ + ZICDIR='$(TOPDIR)/usr/bin' \ + "$@" +} + +src_compile() { + tc-export AR CC RANLIB + + _emake \ + CFLAGS="${CFLAGS} -std=gnu99 ${CPPFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + LDLIBS="${LDLIBS}" + + if tc-is-cross-compiler ; then + _emake -C "${S}"-native \ + AR="$(tc-getBUILD_AR)" \ + CC="$(tc-getBUILD_CC)" \ + RANLIB="$(tc-getBUILD_RANLIB)" \ + CFLAGS="${BUILD_CFLAGS} ${BUILD_CPPFLAGS}" \ + LDFLAGS="${BUILD_LDFLAGS}" \ + LDLIBS="${LDLIBS}" \ + zic + fi +} + +src_test() { + # CURL is used for extended/web based tests. Punt on them. + emake check CURL=: +} + +src_install() { + local zic="" + tc-is-cross-compiler && zic="zic=${S}-native/zic" + _emake install ${zic} DESTDIR="${D}" LIBDIR="/nukeit" + rm -rf "${D}/nukeit" "${ED}/etc" || die + + insinto /usr/share/zoneinfo + doins "${S}"/leap-seconds.list + + # Delete man pages installed by man-pages package. + rm "${ED}"/usr/share/man/man5/tzfile.5* "${ED}"/usr/share/man/man8/{tzselect,zdump,zic}.8 || die + dodoc CONTRIBUTING README NEWS *.html +} + +configure_tz_data() { + # Make sure the /etc/localtime file does not get stale, bug #127899 + local tz src="${EROOT}/etc/timezone" etc_lt="${EROOT}/etc/localtime" + + # If it's a symlink, assume the user knows what they're doing and + # they're managing it themselves, bug #511474 + if [[ -L "${etc_lt}" ]] ; then + einfo "Skipping update: ${etc_lt} is a symlink." + if [[ -e ${src} ]]; then + einfo "Removing ${src}." + rm "${src}" + fi + return 0 + fi + + if [[ ! -e ${src} ]] ; then + einfo "Skipping update: ${src} does not exist." + return 0 + fi + + tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}") + + if [[ -z ${tz} ]]; then + einfo "Skipping update: ${src} is empty." + return 0 + fi + + local tzpath="${EROOT}/usr/share/zoneinfo/${tz}" + + if [[ ! -e ${tzpath} ]]; then + ewarn "The timezone specified in ${src} is not valid!" + return 1 + fi + + if [[ -f ${etc_lt} ]]; then + # If a regular file already exists, copy over it. + ewarn "Found a regular file at ${etc_lt}." + ewarn "Some software may expect a symlink instead." + ewarn "Convert it to a symlink by removing the file and running:" + ewarn " emerge --config sys-libs/timezone-data" + einfo "Copying ${tzpath} to ${etc_lt}." + cp -f "${tzpath}" "${etc_lt}" + else + # Otherwise, create a symlink and remove the timezone file. + tzpath="../usr/share/zoneinfo/${tz}" + einfo "Linking ${tzpath} at ${etc_lt}." + if ln -snf "${tzpath}" "${etc_lt}"; then + einfo "Removing ${src}." + rm -f "${src}" + fi + fi +} + +pkg_config() { + configure_tz_data +} + +pkg_postinst() { + configure_tz_data +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/zlib/zlib-1.3.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/zlib/zlib-1.3.1-r1.ebuild index 49463fb0984..07d24102c36 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/zlib/zlib-1.3.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/zlib/zlib-1.3.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -23,7 +23,7 @@ SRC_URI=" LICENSE="ZLIB" SLOT="0/1" # subslot = SONAME -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 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="minizip static-libs" RDEPEND="!sys-libs/zlib-ng[compat]" @@ -88,6 +88,11 @@ multilib_src_configure() { # bug #347167 local uname=$("${BROOT}"/usr/share/gnuconfig/config.sub "${CHOST}" | cut -d- -f3) + # for GNU Hurd + if [[ ${uname} == gnu ]] ; then + uname=GNU + fi + local myconf=( --shared --prefix="${EPREFIX}/usr" diff --git a/sdk_container/src/third_party/portage-stable/sys-process/lsof/Manifest b/sdk_container/src/third_party/portage-stable/sys-process/lsof/Manifest index 4ccfac2d3da..54ceebd6520 100644 --- a/sdk_container/src/third_party/portage-stable/sys-process/lsof/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-process/lsof/Manifest @@ -1,2 +1 @@ -DIST lsof-4.99.4.tar.gz 1128285 BLAKE2B aa8e062f782f3e94688e725f963cc4a907abd49e1b78813ea3639afc284efb0946efd7f14f918f8792e253fb7bfceb6c3d258b84660d2af015a218d7cba16eb7 SHA512 5b04e2d8f26e6f76bcdb3e1282fbe71bb1b9379c76ffd88b05731920d5175595b0d4dbfd41a7ace1bfb4d21fcc7ebc641372af76c24ccb01bc3f5d7149ea4fa3 DIST lsof-4.99.5.tar.gz 1139280 BLAKE2B 2f11990956b64b5777721f669b231e8f2a520f4535cd3d6023a3d8563c65c83598a4b52c887a2c1c742d12b2f92f724a33873bf460a5fb52255d1622436b1d44 SHA512 1584804fd98f6d416dd1b334832a306abb8e557185523ba255032c3e33fdc472ce4912c50ef70a0ed5e33194ebc4d4853ed7a9baa40c327223614de209c60f13 diff --git a/sdk_container/src/third_party/portage-stable/sys-process/lsof/lsof-4.99.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/lsof/lsof-4.99.4.ebuild deleted file mode 100644 index 99fef8bc185..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-process/lsof/lsof-4.99.4.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit libtool - -MY_P="${P/-/_}" -DESCRIPTION="Lists open files for running Unix processes" -HOMEPAGE="https://github.com/lsof-org/lsof" -SRC_URI="https://github.com/lsof-org/lsof/releases/download/${PV}/${P}.tar.gz" - -LICENSE="lsof" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE="rpc selinux" - -RDEPEND=" - rpc? ( net-libs/libtirpc ) - selinux? ( sys-libs/libselinux ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - sys-apps/groff - rpc? ( virtual/pkgconfig ) -" - -# Needs fixing first for sandbox -RESTRICT="test" - -src_prepare() { - default - elibtoolize -} - -src_configure() { - local myeconfargs=( - $(use_with rpc libtirpc) - $(use_with selinux) - ) - - econf "${myeconfargs[@]}" -} - -src_compile() { - emake DEBUG="" all -} - -src_install() { - default - find "${ED}" -name '*.la' -delete || die -} - -pkg_postinst() { - if [[ ${CHOST} == *-solaris* ]] ; then - einfo "Note: to use lsof on Solaris you need read permissions on" - einfo "/dev/kmem, i.e. you need to be root, or to be in the group sys" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-pgrep-pidwait.patch b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-pgrep-pidwait.patch new file mode 100644 index 00000000000..aa603179f74 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-pgrep-pidwait.patch @@ -0,0 +1,186 @@ +From 66a37d3abf14dfd450b4ded7f1ccb0506699e7d1 Mon Sep 17 00:00:00 2001 +Message-ID: <66a37d3abf14dfd450b4ded7f1ccb0506699e7d1.1763650309.git.sam@gentoo.org> +From: Sam James +Date: Thu, 20 Nov 2025 14:43:13 +0000 +Subject: [PATCH] build-sys: fix option handling + +Explicit --enable-pidwait wasn't setting ENABLE_PIDWAIT. Fix that by +moving the ENABLE_PIDWAIT handling outside of AC_ARG_ENABLE. + +While here, fix all the other AC_* calls to correctly set enable_XYZ or +with_XYZ to avoid other problems, otherwise they'd be left unset if +enabled rather than set to the correct value (yes or no). +--- + configure.ac | 43 ++++++++++++++++++++++--------------------- + 1 file changed, 22 insertions(+), 21 deletions(-) + +diff --git a/configure.ac b/configure.ac +index fe5ac458..97033143 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -181,7 +181,7 @@ fi + AC_SUBST([WITH_COLORWATCH]) + AC_ARG_ENABLE([colorwatch], + AS_HELP_STRING([--enable-colorwatch], [enable watch to use color by default]), +- [], [enable_colorwatch=no] ++ [enable_colorwatch=$enableval], [enable_colorwatch=no] + ) + if test "$enable_colorwatch" = "yes"; then + AC_DEFINE([WITH_COLORWATCH], [1], [Enable color watch by default]) +@@ -191,7 +191,7 @@ fi + + AC_ARG_ENABLE([libselinux], + AS_HELP_STRING([--enable-libselinux], [enable libselinux]), +- [], [enable_libselinux=no] ++ [enable_libselinux=$enableval], [enable_libselinux=no] + ) + if test "$enable_libselinux" = "yes"; then + AC_DEFINE([ENABLE_LIBSELINUX], [1], [Enable libselinux]) +@@ -223,7 +223,7 @@ AC_SUBST([HARDEN_LDFLAGS]) + # Optional packages - AC_ARG_WITH + AC_ARG_WITH([ncurses], + AS_HELP_STRING([--without-ncurses], [build only applications not needing ncurses]), +- [], ++ [with_ncurses=$withval], + [with_ncurses=yes] + ) + if test "x$with_ncurses" = xno; then +@@ -267,7 +267,7 @@ fi + + AC_ARG_WITH([systemd], + [AS_HELP_STRING([--with-systemd], [enable systemd support])], +- [], [with_systemd=no] ++ [with_systemd=$withval], [with_systemd=no] + ) + AS_IF([test "x$with_systemd" != "xno"], [ + PKG_CHECK_MODULES([SYSTEMD], [libsystemd],, +@@ -286,7 +286,7 @@ AM_CONDITIONAL([WITH_SYSTEMD], [test x$with_systemd != xno]) + + AC_ARG_WITH([elogind], + [AS_HELP_STRING([--with-elogind], [enable elogind support])], +- [], [with_elogind=no] ++ [with_elogind=$withval], [with_elogind=no] + ) + # Do not allow elogind if systemd is wanted and found + AS_IF([test "x$with_systemd" != "xno"], [with_elogind=no]) +@@ -300,7 +300,7 @@ AM_CONDITIONAL([WITH_ELOGIND], [test x$with_elogind != xno]) + # AC_ARG_ENABLEs + AC_ARG_ENABLE([pidof], + AS_HELP_STRING([--disable-pidof], [do not build pidof]), +- [], [enable_pidof=yes] ++ [enable_pidof=$enableval], [enable_pidof=yes] + ) + AM_CONDITIONAL(BUILD_PIDOF, test "x$enable_pidof" = xyes) + +@@ -308,11 +308,12 @@ AM_CONDITIONAL(BUILD_PIDOF, test "x$enable_pidof" = xyes) + # Cannot use AC_CHECK_FUNC as it (incorrectly) passes with pidfd_open missing + AC_ARG_ENABLE([pidwait], + AS_HELP_STRING([--disable-pidwait], [do not build pidwait]), +- [], [ +- enable_pidwait=yes +- AC_DEFINE(ENABLE_PIDWAIT, 1, [enable pidwait]) +- ] ++ [enable_pidwait=$enableval], [enable_pidwait=yes] + ) ++ ++AS_IF([test "x$enable_pidwait" = xyes], [ ++ AC_DEFINE(ENABLE_PIDWAIT, 1, [enable pidwait]) ++], []) + AM_CONDITIONAL(BUILD_PIDWAIT, test "x$enable_pidwait" = xyes) + AC_MSG_CHECKING([for pidfd_open()]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[pidfd_open(1,1)]])], +@@ -346,12 +347,12 @@ AC_LINK_IFELSE( + + AC_ARG_ENABLE([kill], + AS_HELP_STRING([--disable-kill], [do not build kill]), +- [], [enable_kill=yes] ++ [enable_kill=$enableval], [enable_kill=yes] + ) + AM_CONDITIONAL(BUILD_KILL, test "x$enable_kill" = xyes) + AC_ARG_ENABLE([w], + AS_HELP_STRING([--disable-w], [do not build w]), +- [], [enable_w=yes] ++ [enable_w=$enableval], [enable_w=yes] + ) + AM_CONDITIONAL(BUILD_W, test "x$enable_w" = xyes) + +@@ -360,19 +361,19 @@ AM_CONDITIONAL(CYGWIN, test "x$host_os" = xcygwin) + + AC_ARG_ENABLE([skill], + AS_HELP_STRING([--enable-skill], [build skill and snice]), +- [], [enable_skill=no] ++ [enable_skill=$enableval], [enable_skill=no] + ) + AM_CONDITIONAL(BUILD_SKILL, test "x$enable_skill" = xyes) + + AC_ARG_ENABLE([examples], + AS_HELP_STRING([--enable-examples], [add example files to installation]), +- [], [enable_examples=no] ++ [enable_examples=$enableval], [enable_examples=no] + ) + AM_CONDITIONAL(EXAMPLE_FILES, test "x$enable_examples" = xyes) + + AC_ARG_ENABLE([sigwinch], + AS_HELP_STRING([--enable-sigwinch], [reduce impact of x-windows resize operations on top]), +- [], [enable_sigwinch=no] ++ [enable_sigwinch=$enableval], [enable_sigwinch=no] + ) + if test "x$enable_sigwinch" = xyes; then + AC_DEFINE(SIGNALS_LESS, 1, [reduce impact of x-windows resize operations on top]) +@@ -380,7 +381,7 @@ fi + + AC_ARG_ENABLE([wide-percent], + AS_HELP_STRING([--enable-wide-percent], [provide extra precision under %CPU and %MEM for top]), +- [], [enable_wide_percent=no] ++ [enable_wide_percent=$enableval], [enable_wide_percent=no] + ) + if test "x$enable_wide_percent" = xyes; then + AC_DEFINE(BOOST_PERCNT, 1, [provide extra precision under %CPU and %MEM for top]) +@@ -388,7 +389,7 @@ fi + + AC_ARG_ENABLE([wide-memory], + AS_HELP_STRING([--enable-wide-memory], [provide extra precision under memory fields for top]), +- [], [enable_wide_memory=no] ++ [enable_wide_memory=$enableval], [enable_wide_memory=no] + ) + if test "x$enable_wide_memory" = xyes; then + AC_DEFINE(BOOST_MEMORY, 1, [provide extra precision under memory fields for top]) +@@ -396,7 +397,7 @@ fi + + AC_ARG_ENABLE([modern-top], + AS_HELP_STRING([--disable-modern-top], [disable new startup defaults, return to original top]), +- [], [enable_modern_top=yes] ++ [enable_modern_top=$enableval], [enable_modern_top=yes] + ) + if test "x$enable_modern_top" = xno; then + AC_DEFINE(ORIG_TOPDEFS, 1, [disable new startup defaults, return to original top]) +@@ -405,7 +406,7 @@ fi + DL_LIB= + AC_ARG_ENABLE([numa], + AS_HELP_STRING([--disable-numa], [disable NUMA/Node support in top]), +- [], [enable_numa=yes] ++ [enable_numa=$enableval], [enable_numa=yes] + ) + if test "x$enable_numa" = xno; then + AC_DEFINE([NUMA_DISABLE], [1], [disable NUMA/Node support in top]) +@@ -420,7 +421,7 @@ AC_SUBST([DL_LIB]) + + AC_ARG_ENABLE([w-from], + AS_HELP_STRING([--enable-w-from], [enable w from field by default]), +- [], [enable_w_from=no] ++ [enable_w_from=$enableval], [enable_w_from=no] + ) + if test "x$enable_w_from" = xyes; then + AC_DEFINE(W_SHOWFROM, 1, [enable w from field by default]) +@@ -428,7 +429,7 @@ fi + + AC_ARG_ENABLE([whining], + AS_HELP_STRING([--disable-whining], [do not print unnecessary warnings (slackware-ism)]), +- [], [enable_whining=yes] ++ [enable_whining=$enableval], [enable_whining=yes] + ) + if test "x$enable_whining" = xyes; then + AC_DEFINE(BUILD_WITH_WHINE, 1, [should extra warnings be printed (slackware-ism)]) +-- +2.52.0 + diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-pidwait-half.patch b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-pidwait-half.patch new file mode 100644 index 00000000000..1ca37bf2058 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.5-pidwait-half.patch @@ -0,0 +1,43 @@ +https://gitlab.com/procps-ng/procps/-/issues/386 +https://gitlab.com/procps-ng/procps/-/merge_requests/262 + +From 0298cd70368f76ce6bfe46a55cebd105d5d53e94 Mon Sep 17 00:00:00 2001 +From: Chris Down +Date: Sat, 26 Jul 2025 22:38:12 +0100 +Subject: [PATCH] pgrep: Fix pidwait only waiting for half of specified + processes + +The pidwait command currently waits for only half of the given +processes. This happens because when a monitored process terminates, its +pidfd can generate two events: one for the process exiting (EPOLLIN), +and another for it being reaped by its parent (EPOLLIN or EPOLLHUP). The +existing code increments its completion counter for every event +returned, causing it to count each process termination twice and exit +prematurely. + +This fix tells the kernel to deactivate the file descriptor after the +first event (process exit) is delivered, and prevents any subsequent +events from being processed for the same pidfd. + +References: #386 + +Signed-off-by: Chris Down +--- + src/pgrep.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/pgrep.c b/src/pgrep.c +index 4c5ed521..20cc251d 100644 +--- a/src/pgrep.c ++++ b/src/pgrep.c +@@ -1433,7 +1433,7 @@ int main (int argc, char **argv) + warn(_("opening pid %ld failed"), procs[i].num); + continue; + } +- ev.events = EPOLLIN | EPOLLET; ++ ev.events = EPOLLIN | EPOLLET | EPOLLONESHOT; + ev.data.fd = pidfd; + if (epoll_ctl(epollfd, EPOLL_CTL_ADD, pidfd, &ev) != -1) + poll_count++; +-- +GitLab diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.4-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.4-r2.ebuild index d4a063dfe36..8d369dfb0c7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.4-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.4-r2.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}"/${PN}-ng-${PV} # See bug #913210 LICENSE="GPL-2+ LGPL-2+ LGPL-2.1+" SLOT="0/0-ng" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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" IUSE="elogind +kill modern-top +ncurses nls selinux static-libs skill systemd test unicode" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.5-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.5-r2.ebuild index 7f6c4712ceb..e99e3423aaa 100644 --- a/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.5-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.5-r2.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}"/${PN}-ng-${PV} # See bug #913210 LICENSE="GPL-2+ LGPL-2+ LGPL-2.1+" SLOT="0/1-ng" -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" IUSE="elogind +kill modern-top +ncurses nls selinux static-libs skill systemd test unicode" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.5-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.5-r3.ebuild new file mode 100644 index 00000000000..10d30779fc6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.5-r3.ebuild @@ -0,0 +1,134 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic multilib-minimal toolchain-funcs + +DESCRIPTION="Standard informational utilities and process-handling tools" +HOMEPAGE="https://gitlab.com/procps-ng/procps" +# Per e.g. https://gitlab.com/procps-ng/procps/-/releases/v4.0.5, the dist tarballs +# are still hosted on SF. +SRC_URI="https://downloads.sourceforge.net/${PN}-ng/${PN}-ng-${PV}.tar.xz" +S="${WORKDIR}"/${PN}-ng-${PV} + +# See bug #913210 +LICENSE="GPL-2+ LGPL-2+ LGPL-2.1+" +SLOT="0/1-ng" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="elogind +kill modern-top +ncurses nls selinux static-libs skill systemd test unicode" +RESTRICT="!test? ( test )" + +DEPEND=" + elogind? ( sys-auth/elogind ) + elibc_musl? ( sys-libs/error-standalone ) + ncurses? ( >=sys-libs/ncurses-5.7-r7:=[unicode(+)?] ) + selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) + systemd? ( sys-apps/systemd[${MULTILIB_USEDEP}] ) +" +RDEPEND=" + ${DEPEND} + !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 Install the persistence daemon for keeping devices state when unused (e.g. for headless) Install the NVIDIA dynamic boost support daemon (only useful with specific laptops, ignore if unsure) diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-390.157.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-390.157.ebuild index a848076b8f7..ad7489e7d9f 100644 --- a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-390.157.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-390.157.ebuild @@ -431,7 +431,7 @@ pkg_postinst() { if [[ -r /proc/driver/nvidia/version && $( ${EROOT}/etc/portage/package.mask/${PN}" @@ -477,13 +475,11 @@ pkg_postinst() { ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau" fi - ewarn - ewarn "Be warned/reminded that the 470.xx branch reached end-of-life and" + ewarn "\nBe warned/reminded that the 470.xx branch reached end-of-life and" ewarn "NVIDIA is no longer fixing issues (including security). Free to keep" ewarn "using (for now) but it is recommended to either switch to nouveau or" ewarn "replace hardware. Will be kept in-tree while possible, but expect it" ewarn "to be removed likely in late 2027 or earlier if major issues arise." - ewarn - ewarn "Note that there is no plans to patch in support for kernels branches" + ewarn "\nNote that there is no plans to patch in support for kernels branches" ewarn "newer than 6.6.x which will be supported upstream until December 2026." } diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-535.274.02.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-535.274.02.ebuild index bd81c3f5074..aecc28257f6 100644 --- a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-535.274.02.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-535.274.02.ebuild @@ -7,7 +7,7 @@ MODULES_OPTIONAL_IUSE=+modules inherit desktop dot-a eapi9-pipestatus flag-o-matic linux-mod-r1 multilib inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info -MODULES_KERNEL_MAX=6.17 +MODULES_KERNEL_MAX=6.18 NV_URI="https://download.nvidia.com/XFree86/" DESCRIPTION="NVIDIA Accelerated Graphics Driver" @@ -127,7 +127,8 @@ pkg_setup() { use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827 local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open. Cannot be directly selected in the kernel's menuconfig, and may need - selection of another option that requires it such as CONFIG_KVM." + selection of another option that requires it such as CONFIG_AMD_IOMMU=y, + or DRM_I915=m (among others, consult the kernel config's help)." local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is @@ -523,7 +524,7 @@ pkg_postinst() { if [[ -r /proc/driver/nvidia/version && $( ${EROOT}/etc/portage/package.mask/${PN}" @@ -557,19 +556,16 @@ pkg_postinst() { fi if use kernel-open; then - ewarn - ewarn "Open source variant of ${PN} was selected, be warned it is experimental" + ewarn "\nOpen source variant of ${PN} was selected, be warned it is experimental" ewarn "and only for modern GPUs (e.g. GTX 1650+). Try to disable if run into issues." ewarn "Please also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html" fi if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then - elog - elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1" + elog "\nWith USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1" elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered" elog "experimental but is required for wayland." - elog - elog "If you experience issues, either disable wayland or edit nvidia.conf." + elog "\nIf you experience issues, either disable wayland or edit nvidia.conf." elog "Of note, may possibly cause issues with SLI and Reverse PRIME." fi } diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-570.195.03.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-570.207.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-570.195.03.ebuild rename to sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-570.207.ebuild index 85567b32d99..b344456365b 100644 --- a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-570.195.03.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-570.207.ebuild @@ -7,7 +7,7 @@ MODULES_OPTIONAL_IUSE=+modules inherit desktop dot-a eapi9-pipestatus flag-o-matic linux-mod-r1 inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info -MODULES_KERNEL_MAX=6.17 +MODULES_KERNEL_MAX=6.18 NV_URI="https://download.nvidia.com/XFree86/" DESCRIPTION="NVIDIA Accelerated Graphics Driver" @@ -139,7 +139,8 @@ pkg_setup() { be ignored, but note that is due to change in the future." local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open. Cannot be directly selected in the kernel's menuconfig, and may need - selection of another option that requires it such as CONFIG_KVM." + selection of another option that requires it such as CONFIG_AMD_IOMMU=y, + or DRM_I915=m (among others, consult the kernel config's help)." local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is set. Please do not report issues if run into e.g. kernel panics while @@ -537,7 +538,7 @@ pkg_postinst() { if [[ -r /proc/driver/nvidia/version && $( ${EROOT}/etc/portage/package.mask/${PN}" @@ -571,15 +570,13 @@ pkg_postinst() { fi if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then - ewarn - ewarn "Open source variant of ${PN} was selected, note that it requires" + ewarn "\nOpen source variant of ${PN} was selected, note that it requires" ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues." ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html" fi if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then - elog - elog "Note that with USE=wayland, nvidia-drm.modeset=1 will be enabled" + elog "\nNote that with USE=wayland, nvidia-drm.modeset=1 will be enabled" elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. *If* experience issues," elog "either disable wayland or edit nvidia.conf." fi diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.105.08.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.119.02.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.105.08.ebuild rename to sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.119.02.ebuild index 30b8a0f5538..d32bb11ae40 100644 --- a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.105.08.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.119.02.ebuild @@ -3,23 +3,27 @@ EAPI=8 +# note: while this 580.119.02 version is not as broken as 580.105.08 +# was (no need to mask), it still seem to be affected by notable +# regressions compared to 580.95.05 and it should not be considered +# for stable (e.g. https://forums.developer.nvidia.com/t/355216) + MODULES_OPTIONAL_IUSE=+modules inherit desktop dot-a eapi9-pipestatus flag-o-matic linux-mod-r1 inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info -MODULES_KERNEL_MAX=6.17 +MODULES_KERNEL_MAX=6.18 NV_URI="https://download.nvidia.com/XFree86/" DESCRIPTION="NVIDIA Accelerated Graphics Driver" HOMEPAGE="https://www.nvidia.com/" SRC_URI=" amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run ) + arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run ) $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \ nvidia-{installer,modprobe,persistenced,settings,xconfig}{,}) ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz " -# TODO: arm64 tarball is currently missing, restore + keyword when back -# arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run ) # nvidia-installer is unused but here for GPL-2's "distribute sources" S=${WORKDIR} @@ -28,7 +32,7 @@ LICENSE=" curl openssl public-domain " SLOT="0/${PV%%.*}" -KEYWORDS="-* ~amd64" # ~arm64 (see SRC_URI's TODO) +KEYWORDS="-* ~amd64 ~arm64" IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland" REQUIRED_USE="kernel-open? ( modules )" @@ -144,7 +148,8 @@ pkg_setup() { be ignored, but note that is due to change in the future." local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open. Cannot be directly selected in the kernel's menuconfig, and may need - selection of another option that requires it such as CONFIG_KVM." + selection of another option that requires it such as CONFIG_AMD_IOMMU=y, + or DRM_I915=m (among others, consult the kernel config's help)." local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is set. Please do not report issues if run into e.g. kernel panics while @@ -542,7 +547,7 @@ pkg_postinst() { if [[ -r /proc/driver/nvidia/version && $( ${EROOT}/etc/portage/package.mask/${PN}" @@ -576,15 +579,13 @@ pkg_postinst() { fi if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then - ewarn - ewarn "Open source variant of ${PN} was selected, note that it requires" + ewarn "\nOpen source variant of ${PN} was selected, note that it requires" ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues." ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html" fi if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then - elog - elog "Note that with USE=wayland, nvidia-drm.modeset=1 will be enabled" + elog "\nNote that with USE=wayland, nvidia-drm.modeset=1 will be enabled" elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. *If* experience issues," elog "either disable wayland or edit nvidia.conf." fi diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.94.06.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.94.13.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.94.06.ebuild rename to sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.94.13.ebuild index bf95c1603eb..f3d232db2c6 100644 --- a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.94.06.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.94.13.ebuild @@ -7,7 +7,7 @@ MODULES_OPTIONAL_IUSE=+modules inherit desktop dot-a eapi9-pipestatus flag-o-matic linux-mod-r1 inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info -MODULES_KERNEL_MAX=6.17 +MODULES_KERNEL_MAX=6.18 NV_PIN=580.95.05 DESCRIPTION="NVIDIA Accelerated Graphics Driver" @@ -144,7 +144,8 @@ pkg_setup() { be ignored, but note that is due to change in the future." local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open. Cannot be directly selected in the kernel's menuconfig, and may need - selection of another option that requires it such as CONFIG_KVM." + selection of another option that requires it such as CONFIG_AMD_IOMMU=y, + or DRM_I915=m (among others, consult the kernel config's help)." local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is set. Please do not report issues if run into e.g. kernel panics while @@ -542,7 +543,7 @@ pkg_postinst() { if [[ -r /proc/driver/nvidia/version && $( ${EROOT}/etc/portage/package.mask/${PN}" @@ -576,15 +575,13 @@ pkg_postinst() { fi if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then - ewarn - ewarn "Open source variant of ${PN} was selected, note that it requires" + ewarn "\nOpen source variant of ${PN} was selected, note that it requires" ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues." ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html" fi if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then - elog - elog "Note that with USE=wayland, nvidia-drm.modeset=1 will be enabled" + elog "\nNote that with USE=wayland, nvidia-drm.modeset=1 will be enabled" elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. *If* experience issues," elog "either disable wayland or edit nvidia.conf." fi diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.95.05.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.95.05.ebuild index ab92b709740..3dde3bbccdd 100644 --- a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.95.05.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.95.05.ebuild @@ -7,7 +7,7 @@ MODULES_OPTIONAL_IUSE=+modules inherit desktop dot-a eapi9-pipestatus flag-o-matic linux-mod-r1 inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info -MODULES_KERNEL_MAX=6.17 +MODULES_KERNEL_MAX=6.18 NV_URI="https://download.nvidia.com/XFree86/" DESCRIPTION="NVIDIA Accelerated Graphics Driver" @@ -100,6 +100,7 @@ QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*" PATCHES=( "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch + "${FILESDIR}"/nvidia-kernel-module-source-580.95.05-kernel6.18.patch ) pkg_setup() { @@ -143,7 +144,8 @@ pkg_setup() { be ignored, but note that is due to change in the future." local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open. Cannot be directly selected in the kernel's menuconfig, and may need - selection of another option that requires it such as CONFIG_KVM." + selection of another option that requires it such as CONFIG_AMD_IOMMU=y, + or DRM_I915=m (among others, consult the kernel config's help)." local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is set. Please do not report issues if run into e.g. kernel panics while @@ -541,7 +543,7 @@ pkg_postinst() { if [[ -r /proc/driver/nvidia/version && $( ${EROOT}/etc/portage/package.mask/${PN}" @@ -575,15 +575,13 @@ pkg_postinst() { fi if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then - ewarn - ewarn "Open source variant of ${PN} was selected, note that it requires" + ewarn "\nOpen source variant of ${PN} was selected, note that it requires" ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues." ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html" fi if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then - elog - elog "Note that with USE=wayland, nvidia-drm.modeset=1 will be enabled" + elog "\nNote that with USE=wayland, nvidia-drm.modeset=1 will be enabled" elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. *If* experience issues," elog "either disable wayland or edit nvidia.conf." fi diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-590.44.01.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-590.44.01.ebuild new file mode 100644 index 00000000000..e1f8b776485 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-590.44.01.ebuild @@ -0,0 +1,567 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODULES_OPTIONAL_IUSE=+modules +inherit desktop dot-a eapi9-pipestatus eapi9-ver flag-o-matic linux-mod-r1 +inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info + +MODULES_KERNEL_MAX=6.18 +NV_URI="https://download.nvidia.com/XFree86/" + +DESCRIPTION="NVIDIA Accelerated Graphics Driver" +HOMEPAGE="https://www.nvidia.com/" +SRC_URI=" + amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run ) + arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run ) + $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \ + nvidia-{installer,modprobe,persistenced,settings,xconfig}{,}) + ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz +" +# nvidia-installer is unused but here for GPL-2's "distribute sources" +S=${WORKDIR} + +LICENSE=" + NVIDIA-2025 Apache-2.0 Boost-1.0 BSD BSD-2 GPL-2 MIT ZLIB + curl openssl public-domain +" +SLOT="0/${PV%%.*}" +# kept unkeyworded due to being a beta, users are free to opt-in for testing +#KEYWORDS="-* ~amd64 ~arm64" +IUSE="+X abi_x86_32 abi_x86_64 persistenced powerd +static-libs +tools wayland" + +COMMON_DEPEND=" + acct-group/video + X? ( x11-libs/libpciaccess ) + persistenced? ( + acct-user/nvpd + net-libs/libtirpc:= + ) + tools? ( + >=app-accessibility/at-spi2-core-2.46:2 + dev-libs/glib:2 + dev-libs/jansson:= + media-libs/harfbuzz:= + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXxf86vm + x11-libs/pango + ) +" +# egl-wayland2: nvidia currently ships both versions so, to ensure +# everything works properly, depend on both at same time for now +# (may use one or the other depending on setup) +RDEPEND=" + ${COMMON_DEPEND} + dev-libs/openssl:0/3 + sys-libs/glibc + X? ( + media-libs/libglvnd[X,abi_x86_32(-)?] + x11-libs/libX11[abi_x86_32(-)?] + x11-libs/libXext[abi_x86_32(-)?] + ) + powerd? ( sys-apps/dbus[abi_x86_32(-)?] ) + wayland? ( + >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?] + >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?] + gui-libs/egl-wayland2[abi_x86_32(-)?] + X? ( gui-libs/egl-x11[abi_x86_32(-)?] ) + ) +" +DEPEND=" + ${COMMON_DEPEND} + static-libs? ( + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXext + ) + tools? ( + dev-util/vulkan-headers + media-libs/libglvnd + sys-apps/dbus + x11-base/xorg-proto + x11-libs/libXrandr + x11-libs/libXv + x11-libs/libvdpau + ) +" +BDEPEND=" + app-alternatives/awk + sys-devel/m4 + virtual/pkgconfig +" + +# there is some non-prebuilt exceptions but rather not maintain a list +QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*" + +PATCHES=( + "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch + "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch +) + +pkg_setup() { + use modules && [[ ${MERGE_TYPE} != binary ]] || return + + # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK + get_version + require_configured_kernel + + local CONFIG_CHECK=" + MMU_NOTIFIER + PROC_FS + ~DRM_KMS_HELPER + ~DRM_FBDEV_EMULATION + ~SYSVIPC + ~!LOCKDEP + ~!PREEMPT_RT + ~!SLUB_DEBUG_ON + !DEBUG_MUTEXES + $(usev powerd '~CPU_FREQ') + " + + kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION && + CONFIG_CHECK+=" DRM_TTM_HELPER" + + use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764 + + local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need + selection of a DRM device even if unused, e.g. CONFIG_DRM_QXL=m or + DRM_AMDGPU=m (among others, consult the kernel config's help), can + also use DRM_NOUVEAU=m as long as built as module *not* built-in." + local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but is needed for nvidia-drm.modeset=1 + support (see ${EPREFIX}/etc/modprobe.d/nvidia.conf) which is needed for wayland + and for config-less Xorg auto-detection. + ${drm_helper_msg}" + local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using + kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set. + ${drm_helper_msg}" + local ERROR_DRM_FBDEV_EMULATION="CONFIG_DRM_FBDEV_EMULATION: is not set but is needed for + nvidia-drm.fbdev=1 support (see ${EPREFIX}/etc/modprobe.d/nvidia.conf), may + result in a blank console/tty." + local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but is required for compilation. + Cannot be directly selected in the kernel's menuconfig, and may need + selection of another option that requires it such as CONFIG_AMD_IOMMU=y, + or DRM_I915=m (among others, consult the kernel config's help)." + local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and + will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is + set. Please do not report issues if run into e.g. kernel panics while + ignoring this." + + linux-mod-r1_pkg_setup +} + +src_prepare() { + # make patches usable across versions + rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die + rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die + rm nvidia-settings && mv nvidia-settings{-${PV},} || die + rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die + mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die + + default + + sed 's/__USER__/nvpd/' \ + nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \ + > "${T}"/nvidia-persistenced.service || die + + # use alternative vulkan icd option if USE=-X (bug #909181) + use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die + + # makefile attempts to install wayland library even if not built + use wayland || sed -i 's/ WAYLAND_LIB_install$//' \ + nvidia-settings/src/Makefile || die +} + +src_compile() { + tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG + + # extra flags for the libXNVCtrl.a static library + local xnvflags=-fPIC #840389 + tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)" + + NV_ARGS=( + PREFIX="${EPREFIX}"/usr + HOST_CC="$(tc-getBUILD_CC)" + HOST_LD="$(tc-getBUILD_LD)" + BUILD_GTK2LIB= + NV_USE_BUNDLED_LIBJANSSON=0 + NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out + WAYLAND_AVAILABLE=$(usex wayland 1 0) + XNVCTRL_CFLAGS="${xnvflags}" + ) + + if use modules; then + local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS} + + # environment flags are normally unused for modules, but nvidia uses + # them for building the formerly closed "blob" and it is a bit fragile + filter-flags -fno-plt #912949 + filter-lto + CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags + LDFLAGS=$(raw-ldflags) + + : video:kernel-module-source:kernel-module-source/kernel-open + local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${_} ) + local modargs=( + IGNORE_CC_MISMATCH=yes NV_VERBOSE=1 + SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}" + + # kernel takes "x86" and "x86_64" as meaning the same, but nvidia + # makes the distinction (since 550.135) and is not happy with "x86" + # TODO?: it should be ok/better for tc-arch-kernel to do x86_64 + $(usev amd64 ARCH=x86_64) + ) + + # temporary workaround for bug #914468 + addpredict "${KV_OUT_DIR}" + + linux-mod-r1_src_compile + CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags} + fi + + emake "${NV_ARGS[@]}" -C nvidia-modprobe + use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced + use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig + + if use tools; then + # avoid noisy *very* noisy logs with deprecation warnings + CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \ + emake "${NV_ARGS[@]}" -C nvidia-settings + elif use static-libs; then + # pretend GTK+3 is available, not actually used (bug #880879) + emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \ + -C nvidia-settings/src out/libXNVCtrl.a + fi +} + +src_install() { + local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir) + + NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} ) + + local -A paths=( + [APPLICATION_PROFILE]=/usr/share/nvidia + [CUDA_ICD]=/etc/OpenCL/vendors + [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d + [FIRMWARE]=/lib/firmware/nvidia/${PV} + [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm + [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d + [OPENGL_DATA]=/usr/share/nvidia + [VULKANSC_ICD_JSON]=/usr/share/vulkansc + [VULKAN_ICD_JSON]=/usr/share/vulkan + [WINE_LIB]=/usr/${libdir}/nvidia/wine + [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d + + [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions + [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules + [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules + ) + + local skip_files=( + $(usev !X "libGLX_nvidia libglxserver_nvidia") + libGLX_indirect # non-glvnd unused fallback + libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source + libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm + libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland + libnvidia-egl-wayland2 99_nvidia_wayland2 # gui-libs/egl-wayland2 + libnvidia-egl-xcb 20_nvidia_xcb.json # gui-libs/egl-x11 + libnvidia-egl-xlib 20_nvidia_xlib.json # gui-libs/egl-x11 + libnvidia-pkcs11.so # using the openssl3 version instead + ) + local skip_modules=( + $(usev !X "nvfbc vdpau xdriver") + $(usev !modules gsp) + $(usev !powerd nvtopps) + installer nvpd # handled separately / built from source + ) + local skip_types=( + GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd + OPENCL_WRAPPER.\* # virtual/opencl + DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused + ) + + local DOCS=( + README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json + nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt + ) + local HTML_DOCS=( html/. ) + einstalldocs + + local DISABLE_AUTOFORMATTING=yes + local DOC_CONTENTS="\ +Trusted users should be in the 'video' group to use NVIDIA devices. +You can add yourself by using: gpasswd -a my-user video\ +$(usev modules " + +Like all out-of-tree kernel modules, it is necessary to rebuild +${PN} after upgrading or rebuilding the Linux kernel +by for example running \`emerge @module-rebuild\`. Alternatively, +if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}), +this can be automated by setting USE=dist-kernel globally. + +Loaded kernel modules also must not mismatch with the installed +${PN} version (excluding -r revision), meaning should +ensure \`eselect kernel list\` points to the kernel that will be +booted before building and preferably reboot after upgrading +${PN} (the ebuild will emit a warning if mismatching). + +See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\ +$(use amd64 && usev !abi_x86_32 " + +Note that without USE=abi_x86_32 on ${PN}, 32bit applications +(typically using wine / steam) will not be able to use GPU acceleration.") + +For additional information or for troubleshooting issues, please see +https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own +documentation that is installed alongside this README." + readme.gentoo_create_doc + + if use modules; then + linux-mod-r1_src_install + + insinto /etc/modprobe.d + newins "${FILESDIR}"/nvidia-590.conf nvidia.conf + + # used for gpu verification with binpkgs (not kept, see pkg_preinst) + insinto /usr/share/nvidia + doins supported-gpus/supported-gpus.json + fi + + emake "${NV_ARGS[@]}" -C nvidia-modprobe install + fowners :video /usr/bin/nvidia-modprobe #505092 + fperms 4710 /usr/bin/nvidia-modprobe + + if use persistenced; then + emake "${NV_ARGS[@]}" -C nvidia-persistenced install + newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced + newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced + systemd_dounit "${T}"/nvidia-persistenced.service + fi + + if use tools; then + emake "${NV_ARGS[@]}" -C nvidia-settings install + + doicon nvidia-settings/doc/nvidia-settings.png + domenu nvidia-settings/doc/nvidia-settings.desktop + + exeinto /etc/X11/xinit/xinitrc.d + newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings + fi + + if use static-libs; then + dolib.a nvidia-settings/src/out/libXNVCtrl.a + strip-lto-bytecode + + insinto /usr/include/NVCtrl + doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h + fi + + use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install + + # mimic nvidia-installer by reading .manifest to install files + # 0:file 1:perms 2:type 3+:subtype/arguments -:module + local m into + while IFS=' ' read -ra m; do + ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] || + [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] || + [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] || + has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue + + case ${m[2]} in + MANPAGE) + gzip -dc ${m[0]} | newman - ${m[0]%.gz} + pipestatus || die + continue + ;; + GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../ + VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/ + esac + + if [[ -v 'paths[${m[2]}]' ]]; then + into=${paths[${m[2]}]} + elif [[ ${m[2]} == EXPLICIT_PATH ]]; then + into=${m[3]} + elif [[ ${m[2]} == *_BINARY ]]; then + into=/usr/bin + elif [[ ${m[3]} == COMPAT32 ]]; then + use abi_x86_32 || continue + into=/usr/${libdir32} + elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then + into=/usr/${libdir} + else + die "No known installation path for ${m[0]}" + fi + [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/} + [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/} + + if [[ ${m[2]} =~ _SYMLINK$ ]]; then + [[ ${m[4]: -1} == / ]] && m[4]=${m[5]} + dosym ${m[4]} ${into}/${m[0]} + continue + fi + # avoid portage warning due to missing soname links in manifest + [[ ${m[0]} =~ ^libnvidia-ngx.so ]] && + dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 + + printf -v m[1] %o $((m[1] | 0200)) # 444->644 + insopts -m${m[1]} + insinto ${into} + doins ${m[0]} + done < .manifest || die + insopts -m0644 # reset + + # MODULE:installer non-skipped extras + : "$(systemd_get_sleepdir)" + exeinto "${_#"${EPREFIX}"}" + doexe systemd/system-sleep/nvidia + dobin systemd/nvidia-sleep.sh + systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend,suspend-then-hibernate}.service + + dobin nvidia-bug-report.sh + + insinto /usr/share/nvidia/files.d + doins sandboxutils-filelist.json + + # MODULE:powerd extras + if use powerd; then + newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117 + systemd_dounit systemd/system/nvidia-powerd.service + + insinto /usr/share/dbus-1/system.d + doins nvidia-dbus.conf + fi + + # enabling is needed for sleep to work properly and little reason not to do + # it unconditionally for a better user experience + : "$(systemd_get_systemunitdir)" + local unitdir=${_#"${EPREFIX}"} + # not using relative symlinks to match systemd's own links + dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service + dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service + dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service + dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service + dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-suspend-then-hibernate.service + dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-resume.service + # also add a custom elogind hook to do the equivalent of the above + exeinto /usr/lib/elogind/system-sleep + newexe "${FILESDIR}"/system-sleep.elogind nvidia + # =systemd-256 or may fail to resume with some setups + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722 + insinto "${unitdir}"/systemd-homed.service.d + newins - 10-nvidia.conf <<-EOF + [Service] + Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false + EOF + insinto "${unitdir}"/systemd-suspend.service.d + newins - 10-nvidia.conf <<-EOF + [Service] + Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false + EOF + dosym -r "${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf + dosym -r "${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf + dosym -r "${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf + + # symlink non-versioned so nvidia-settings can use it even if misdetected + dosym nvidia-application-profiles-${PV}-key-documentation \ + ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation + + # don't attempt to strip firmware files (silences errors) + dostrip -x ${paths[FIRMWARE]} + + # sandbox issues with /dev/nvidiactl and others (bug #904292,#921578) + # are widespread and sometime affect revdeps of packages built with + # USE=opencl/cuda making it hard to manage in ebuilds (minimal set, + # ebuilds should handle manually if need others or addwrite) + insinto /etc/sandbox.d + newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"' + + # dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure + # our settings are used for bug 932781#c8 and nouveau blacklist if either + # modules are included (however, just best-effort without initramfs regen) + if use modules; then + echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \ + "${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die + fi +} + +pkg_preinst() { + use modules || return + + # set video group id based on live system (bug #491414) + local g=$(egetent group video | cut -d: -f3) + [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')" + sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die + + # try to find driver mismatches using temporary supported-gpus.json + for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do + g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \ + "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null) + if [[ ${g} ]]; then + g=$((${g##*\"}+1)) + if ver_test -ge ${g}; then + NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}" + break + fi + fi + done + rm "${ED}"/usr/share/nvidia/supported-gpus.json || die +} + +pkg_postinst() { + linux-mod-r1_pkg_postinst + + readme.gentoo_print_elog + + if [[ -r /proc/driver/nvidia/version && + $( ${EROOT}/etc/portage/package.mask/${PN}" + else + ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask" + fi + ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions" + ewarn "are available or fully functional, may need to consider nouveau[2])." + ewarn "[1] https://www.nvidia.com/object/IO_32667.html" + ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau" + fi + + if ver_replacing -lt 590; then + elog "\n>=${PN}-590 has changes that may or may not need attention:" + elog "1. support for Pascal, Maxwell, and Volta cards has been dropped" + elog " (if affected, there should be a another message about this above)" + elog "2. kernel-open USE is gone and the open source variant is *always* used" + elog " (no longer possible to disable GSP with NVreg_EnableGpuFirmware=0)" + elog "3. nvidia-drm.modeset=1 is now default regardless of USE=wayland" + elog "4. nvidia-drm.fbdev=1 is now also tentatively default to match upstream" + elog "See ${EROOT}/etc/modprobe.d/nvidia.conf to modify settings if needed," + elog "fbdev=1 *could* cause issues for the console display with some setups." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-590.48.01.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-590.48.01.ebuild new file mode 100644 index 00000000000..79ae5026092 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-590.48.01.ebuild @@ -0,0 +1,567 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODULES_OPTIONAL_IUSE=+modules +inherit desktop dot-a eapi9-pipestatus eapi9-ver flag-o-matic linux-mod-r1 +inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info + +MODULES_KERNEL_MAX=6.18 +NV_URI="https://download.nvidia.com/XFree86/" + +DESCRIPTION="NVIDIA Accelerated Graphics Driver" +HOMEPAGE="https://www.nvidia.com/" +SRC_URI=" + amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run ) + arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run ) + $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \ + nvidia-{installer,modprobe,persistenced,settings,xconfig}{,}) + ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz +" +# nvidia-installer is unused but here for GPL-2's "distribute sources" +S=${WORKDIR} + +LICENSE=" + NVIDIA-2025 Apache-2.0 Boost-1.0 BSD BSD-2 GPL-2 MIT ZLIB + curl openssl public-domain +" +SLOT="0/${PV%%.*}" +# kept unkeyworded due to being a beta, users are free to opt-in for testing +KEYWORDS="-* ~amd64 ~arm64" +IUSE="+X abi_x86_32 abi_x86_64 persistenced powerd +static-libs +tools wayland" + +COMMON_DEPEND=" + acct-group/video + X? ( x11-libs/libpciaccess ) + persistenced? ( + acct-user/nvpd + net-libs/libtirpc:= + ) + tools? ( + >=app-accessibility/at-spi2-core-2.46:2 + dev-libs/glib:2 + dev-libs/jansson:= + media-libs/harfbuzz:= + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXxf86vm + x11-libs/pango + ) +" +# egl-wayland2: nvidia currently ships both versions so, to ensure +# everything works properly, depend on both at same time for now +# (may use one or the other depending on setup) +RDEPEND=" + ${COMMON_DEPEND} + dev-libs/openssl:0/3 + sys-libs/glibc + X? ( + media-libs/libglvnd[X,abi_x86_32(-)?] + x11-libs/libX11[abi_x86_32(-)?] + x11-libs/libXext[abi_x86_32(-)?] + ) + powerd? ( sys-apps/dbus[abi_x86_32(-)?] ) + wayland? ( + >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?] + >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?] + gui-libs/egl-wayland2[abi_x86_32(-)?] + X? ( gui-libs/egl-x11[abi_x86_32(-)?] ) + ) +" +DEPEND=" + ${COMMON_DEPEND} + static-libs? ( + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXext + ) + tools? ( + dev-util/vulkan-headers + media-libs/libglvnd + sys-apps/dbus + x11-base/xorg-proto + x11-libs/libXrandr + x11-libs/libXv + x11-libs/libvdpau + ) +" +BDEPEND=" + app-alternatives/awk + sys-devel/m4 + virtual/pkgconfig +" + +# there is some non-prebuilt exceptions but rather not maintain a list +QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*" + +PATCHES=( + "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch + "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch +) + +pkg_setup() { + use modules && [[ ${MERGE_TYPE} != binary ]] || return + + # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK + get_version + require_configured_kernel + + local CONFIG_CHECK=" + MMU_NOTIFIER + PROC_FS + ~DRM_KMS_HELPER + ~DRM_FBDEV_EMULATION + ~SYSVIPC + ~!LOCKDEP + ~!PREEMPT_RT + ~!SLUB_DEBUG_ON + !DEBUG_MUTEXES + $(usev powerd '~CPU_FREQ') + " + + kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION && + CONFIG_CHECK+=" DRM_TTM_HELPER" + + use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764 + + local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need + selection of a DRM device even if unused, e.g. CONFIG_DRM_QXL=m or + DRM_AMDGPU=m (among others, consult the kernel config's help), can + also use DRM_NOUVEAU=m as long as built as module *not* built-in." + local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but is needed for nvidia-drm.modeset=1 + support (see ${EPREFIX}/etc/modprobe.d/nvidia.conf) which is needed for wayland + and for config-less Xorg auto-detection. + ${drm_helper_msg}" + local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using + kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set. + ${drm_helper_msg}" + local ERROR_DRM_FBDEV_EMULATION="CONFIG_DRM_FBDEV_EMULATION: is not set but is needed for + nvidia-drm.fbdev=1 support (see ${EPREFIX}/etc/modprobe.d/nvidia.conf), may + result in a blank console/tty." + local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but is required for compilation. + Cannot be directly selected in the kernel's menuconfig, and may need + selection of another option that requires it such as CONFIG_AMD_IOMMU=y, + or DRM_I915=m (among others, consult the kernel config's help)." + local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and + will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is + set. Please do not report issues if run into e.g. kernel panics while + ignoring this." + + linux-mod-r1_pkg_setup +} + +src_prepare() { + # make patches usable across versions + rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die + rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die + rm nvidia-settings && mv nvidia-settings{-${PV},} || die + rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die + mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die + + default + + sed 's/__USER__/nvpd/' \ + nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \ + > "${T}"/nvidia-persistenced.service || die + + # use alternative vulkan icd option if USE=-X (bug #909181) + use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die + + # makefile attempts to install wayland library even if not built + use wayland || sed -i 's/ WAYLAND_LIB_install$//' \ + nvidia-settings/src/Makefile || die +} + +src_compile() { + tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG + + # extra flags for the libXNVCtrl.a static library + local xnvflags=-fPIC #840389 + tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)" + + NV_ARGS=( + PREFIX="${EPREFIX}"/usr + HOST_CC="$(tc-getBUILD_CC)" + HOST_LD="$(tc-getBUILD_LD)" + BUILD_GTK2LIB= + NV_USE_BUNDLED_LIBJANSSON=0 + NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out + WAYLAND_AVAILABLE=$(usex wayland 1 0) + XNVCTRL_CFLAGS="${xnvflags}" + ) + + if use modules; then + local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS} + + # environment flags are normally unused for modules, but nvidia uses + # them for building the formerly closed "blob" and it is a bit fragile + filter-flags -fno-plt #912949 + filter-lto + CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags + LDFLAGS=$(raw-ldflags) + + : video:kernel-module-source:kernel-module-source/kernel-open + local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${_} ) + local modargs=( + IGNORE_CC_MISMATCH=yes NV_VERBOSE=1 + SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}" + + # kernel takes "x86" and "x86_64" as meaning the same, but nvidia + # makes the distinction (since 550.135) and is not happy with "x86" + # TODO?: it should be ok/better for tc-arch-kernel to do x86_64 + $(usev amd64 ARCH=x86_64) + ) + + # temporary workaround for bug #914468 + addpredict "${KV_OUT_DIR}" + + linux-mod-r1_src_compile + CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags} + fi + + emake "${NV_ARGS[@]}" -C nvidia-modprobe + use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced + use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig + + if use tools; then + # avoid noisy *very* noisy logs with deprecation warnings + CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \ + emake "${NV_ARGS[@]}" -C nvidia-settings + elif use static-libs; then + # pretend GTK+3 is available, not actually used (bug #880879) + emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \ + -C nvidia-settings/src out/libXNVCtrl.a + fi +} + +src_install() { + local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir) + + NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} ) + + local -A paths=( + [APPLICATION_PROFILE]=/usr/share/nvidia + [CUDA_ICD]=/etc/OpenCL/vendors + [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d + [FIRMWARE]=/lib/firmware/nvidia/${PV} + [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm + [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d + [OPENGL_DATA]=/usr/share/nvidia + [VULKANSC_ICD_JSON]=/usr/share/vulkansc + [VULKAN_ICD_JSON]=/usr/share/vulkan + [WINE_LIB]=/usr/${libdir}/nvidia/wine + [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d + + [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions + [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules + [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules + ) + + local skip_files=( + $(usev !X "libGLX_nvidia libglxserver_nvidia") + libGLX_indirect # non-glvnd unused fallback + libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source + libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm + libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland + libnvidia-egl-wayland2 99_nvidia_wayland2 # gui-libs/egl-wayland2 + libnvidia-egl-xcb 20_nvidia_xcb.json # gui-libs/egl-x11 + libnvidia-egl-xlib 20_nvidia_xlib.json # gui-libs/egl-x11 + libnvidia-pkcs11.so # using the openssl3 version instead + ) + local skip_modules=( + $(usev !X "nvfbc vdpau xdriver") + $(usev !modules gsp) + $(usev !powerd nvtopps) + installer nvpd # handled separately / built from source + ) + local skip_types=( + GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd + OPENCL_WRAPPER.\* # virtual/opencl + DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused + ) + + local DOCS=( + README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json + nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt + ) + local HTML_DOCS=( html/. ) + einstalldocs + + local DISABLE_AUTOFORMATTING=yes + local DOC_CONTENTS="\ +Trusted users should be in the 'video' group to use NVIDIA devices. +You can add yourself by using: gpasswd -a my-user video\ +$(usev modules " + +Like all out-of-tree kernel modules, it is necessary to rebuild +${PN} after upgrading or rebuilding the Linux kernel +by for example running \`emerge @module-rebuild\`. Alternatively, +if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}), +this can be automated by setting USE=dist-kernel globally. + +Loaded kernel modules also must not mismatch with the installed +${PN} version (excluding -r revision), meaning should +ensure \`eselect kernel list\` points to the kernel that will be +booted before building and preferably reboot after upgrading +${PN} (the ebuild will emit a warning if mismatching). + +See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\ +$(use amd64 && usev !abi_x86_32 " + +Note that without USE=abi_x86_32 on ${PN}, 32bit applications +(typically using wine / steam) will not be able to use GPU acceleration.") + +For additional information or for troubleshooting issues, please see +https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own +documentation that is installed alongside this README." + readme.gentoo_create_doc + + if use modules; then + linux-mod-r1_src_install + + insinto /etc/modprobe.d + newins "${FILESDIR}"/nvidia-590.conf nvidia.conf + + # used for gpu verification with binpkgs (not kept, see pkg_preinst) + insinto /usr/share/nvidia + doins supported-gpus/supported-gpus.json + fi + + emake "${NV_ARGS[@]}" -C nvidia-modprobe install + fowners :video /usr/bin/nvidia-modprobe #505092 + fperms 4710 /usr/bin/nvidia-modprobe + + if use persistenced; then + emake "${NV_ARGS[@]}" -C nvidia-persistenced install + newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced + newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced + systemd_dounit "${T}"/nvidia-persistenced.service + fi + + if use tools; then + emake "${NV_ARGS[@]}" -C nvidia-settings install + + doicon nvidia-settings/doc/nvidia-settings.png + domenu nvidia-settings/doc/nvidia-settings.desktop + + exeinto /etc/X11/xinit/xinitrc.d + newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings + fi + + if use static-libs; then + dolib.a nvidia-settings/src/out/libXNVCtrl.a + strip-lto-bytecode + + insinto /usr/include/NVCtrl + doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h + fi + + use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install + + # mimic nvidia-installer by reading .manifest to install files + # 0:file 1:perms 2:type 3+:subtype/arguments -:module + local m into + while IFS=' ' read -ra m; do + ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] || + [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] || + [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] || + has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue + + case ${m[2]} in + MANPAGE) + gzip -dc ${m[0]} | newman - ${m[0]%.gz} + pipestatus || die + continue + ;; + GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../ + VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/ + esac + + if [[ -v 'paths[${m[2]}]' ]]; then + into=${paths[${m[2]}]} + elif [[ ${m[2]} == EXPLICIT_PATH ]]; then + into=${m[3]} + elif [[ ${m[2]} == *_BINARY ]]; then + into=/usr/bin + elif [[ ${m[3]} == COMPAT32 ]]; then + use abi_x86_32 || continue + into=/usr/${libdir32} + elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then + into=/usr/${libdir} + else + die "No known installation path for ${m[0]}" + fi + [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/} + [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/} + + if [[ ${m[2]} =~ _SYMLINK$ ]]; then + [[ ${m[4]: -1} == / ]] && m[4]=${m[5]} + dosym ${m[4]} ${into}/${m[0]} + continue + fi + # avoid portage warning due to missing soname links in manifest + [[ ${m[0]} =~ ^libnvidia-ngx.so ]] && + dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 + + printf -v m[1] %o $((m[1] | 0200)) # 444->644 + insopts -m${m[1]} + insinto ${into} + doins ${m[0]} + done < .manifest || die + insopts -m0644 # reset + + # MODULE:installer non-skipped extras + : "$(systemd_get_sleepdir)" + exeinto "${_#"${EPREFIX}"}" + doexe systemd/system-sleep/nvidia + dobin systemd/nvidia-sleep.sh + systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend,suspend-then-hibernate}.service + + dobin nvidia-bug-report.sh + + insinto /usr/share/nvidia/files.d + doins sandboxutils-filelist.json + + # MODULE:powerd extras + if use powerd; then + newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117 + systemd_dounit systemd/system/nvidia-powerd.service + + insinto /usr/share/dbus-1/system.d + doins nvidia-dbus.conf + fi + + # enabling is needed for sleep to work properly and little reason not to do + # it unconditionally for a better user experience + : "$(systemd_get_systemunitdir)" + local unitdir=${_#"${EPREFIX}"} + # not using relative symlinks to match systemd's own links + dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service + dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service + dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service + dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service + dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-suspend-then-hibernate.service + dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-resume.service + # also add a custom elogind hook to do the equivalent of the above + exeinto /usr/lib/elogind/system-sleep + newexe "${FILESDIR}"/system-sleep.elogind nvidia + # =systemd-256 or may fail to resume with some setups + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722 + insinto "${unitdir}"/systemd-homed.service.d + newins - 10-nvidia.conf <<-EOF + [Service] + Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false + EOF + insinto "${unitdir}"/systemd-suspend.service.d + newins - 10-nvidia.conf <<-EOF + [Service] + Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false + EOF + dosym -r "${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf + dosym -r "${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf + dosym -r "${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf + + # symlink non-versioned so nvidia-settings can use it even if misdetected + dosym nvidia-application-profiles-${PV}-key-documentation \ + ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation + + # don't attempt to strip firmware files (silences errors) + dostrip -x ${paths[FIRMWARE]} + + # sandbox issues with /dev/nvidiactl and others (bug #904292,#921578) + # are widespread and sometime affect revdeps of packages built with + # USE=opencl/cuda making it hard to manage in ebuilds (minimal set, + # ebuilds should handle manually if need others or addwrite) + insinto /etc/sandbox.d + newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"' + + # dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure + # our settings are used for bug 932781#c8 and nouveau blacklist if either + # modules are included (however, just best-effort without initramfs regen) + if use modules; then + echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \ + "${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die + fi +} + +pkg_preinst() { + use modules || return + + # set video group id based on live system (bug #491414) + local g=$(egetent group video | cut -d: -f3) + [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')" + sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die + + # try to find driver mismatches using temporary supported-gpus.json + for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do + g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \ + "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null) + if [[ ${g} ]]; then + g=$((${g##*\"}+1)) + if ver_test -ge ${g}; then + NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}" + break + fi + fi + done + rm "${ED}"/usr/share/nvidia/supported-gpus.json || die +} + +pkg_postinst() { + linux-mod-r1_pkg_postinst + + readme.gentoo_print_elog + + if [[ -r /proc/driver/nvidia/version && + $( ${EROOT}/etc/portage/package.mask/${PN}" + else + ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask" + fi + ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions" + ewarn "are available or fully functional, may need to consider nouveau[2])." + ewarn "[1] https://www.nvidia.com/object/IO_32667.html" + ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau" + fi + + if ver_replacing -lt 590; then + elog "\n>=${PN}-590 has changes that may or may not need attention:" + elog "1. support for Pascal, Maxwell, and Volta cards has been dropped" + elog " (if affected, there should be a another message about this above)" + elog "2. kernel-open USE is gone and the open source variant is *always* used" + elog " (no longer possible to disable GSP with NVreg_EnableGpuFirmware=0)" + elog "3. nvidia-drm.modeset=1 is now default regardless of USE=wayland" + elog "4. nvidia-drm.fbdev=1 is now also tentatively default to match upstream" + elog "See ${EROOT}/etc/modprobe.d/nvidia.conf to modify settings if needed," + elog "fbdev=1 *could* cause issues for the console display with some setups." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/Manifest b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/Manifest index 7cf364fd60e..3f60362ddf5 100644 --- a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/Manifest +++ b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/Manifest @@ -1,2 +1 @@ -DIST pixman-0.46.0.tar.xz 660268 BLAKE2B 5fc9d0df2f685afc1931ac12757d7ec0369c1f90b51f79b696479a2edd0c13e0684938871166318ca5c78b4955195ba5517e98e4666803b9062f4ed2b6593afa SHA512 c7ef987b7db89c58278c537f862bc9eb17c19f8288a3b7e88f8501a0486662f1e2cb6a2c0b81d4bf0464310475192428d6e29d05a6ae3cfc1d2c0941fbb0b9a3 DIST pixman-0.46.4.tar.xz 660536 BLAKE2B b00041009aeed3cd2548251489df6fcb5efb0415a8279451306558b2e736e2b012b11335b4ed3361e0126cad861873c0675dae24eb031b2434e45a7d39e087d8 SHA512 83b133e7969ba34f883f4e08dcc5d388c4397f43ce836c191c05945fe77c16ff501d531600780c12678a0d08105828a6bdeff2156b63f9c1a84087bc7f40ae9f diff --git a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-0.46.0.ebuild b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-0.46.0.ebuild deleted file mode 100644 index 1779a49d775..00000000000 --- a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-0.46.0.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -EGIT_REPO_URI="https://gitlab.freedesktop.org/pixman/pixman.git" - -if [[ ${PV} = 9999* ]]; then - GIT_ECLASS="git-r3" -fi - -inherit flag-o-matic ${GIT_ECLASS} meson-multilib multiprocessing toolchain-funcs - -DESCRIPTION="Low-level pixel manipulation routines" -HOMEPAGE="http://www.pixman.org/ https://gitlab.freedesktop.org/pixman/pixman/" -if [[ ${PV} != 9999* ]]; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - SRC_URI="https://www.x.org/releases/individual/lib/${P}.tar.xz" -fi - -LICENSE="MIT" -SLOT="0" -IUSE="cpu_flags_ppc_altivec cpu_flags_arm_neon loongson2f cpu_flags_x86_mmxext cpu_flags_x86_sse2 cpu_flags_x86_ssse3 static-libs test" -RESTRICT="!test? ( test )" - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && use test && tc-check-openmp -} - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && use test && tc-check-openmp -} - -multilib_src_configure() { - # Temporary workaround for a build failure (known gcc issue): - # - # * https://bugs.gentoo.org/956715 - # * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110812 - # - use riscv && filter-lto - - local emesonargs=( - $(meson_feature cpu_flags_x86_mmxext mmx) - $(meson_feature cpu_flags_x86_sse2 sse2) - $(meson_feature cpu_flags_x86_ssse3 ssse3) - $(meson_feature cpu_flags_ppc_altivec vmx) - $(meson_feature loongson2f loongson-mmi) - $(meson_feature test openmp) # only used in unit tests - $(meson_feature test tests) - -Ddefault_library=$(usex static-libs both shared) - -Ddemos=disabled - -Dgtk=disabled - -Dlibpng=disabled - ) - - if [[ ${ABI} == arm64 ]]; then - emesonargs+=($(meson_feature cpu_flags_arm_neon a64-neon)) - elif [[ ${ABI} == arm ]]; then - emesonargs+=($(meson_feature cpu_flags_arm_neon neon)) - fi - - meson_src_configure -} - -multilib_src_test() { - export OMP_NUM_THREADS=$(makeopts_jobs) - meson_src_test -t 100 -} diff --git a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-0.46.4.ebuild b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-0.46.4.ebuild index 8cac0712d62..9b8de6541b4 100644 --- a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-0.46.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-0.46.4.ebuild @@ -14,7 +14,7 @@ inherit flag-o-matic ${GIT_ECLASS} meson-multilib multiprocessing toolchain-func DESCRIPTION="Low-level pixel manipulation routines" HOMEPAGE="http://www.pixman.org/ https://gitlab.freedesktop.org/pixman/pixman/" if [[ ${PV} != 9999* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" SRC_URI="https://www.x.org/releases/individual/lib/${P}.tar.xz" fi diff --git a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-9999.ebuild b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-9999.ebuild index 8cac0712d62..63c42b82ce0 100644 --- a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-9999.ebuild @@ -14,7 +14,7 @@ inherit flag-o-matic ${GIT_ECLASS} meson-multilib multiprocessing toolchain-func DESCRIPTION="Low-level pixel manipulation routines" HOMEPAGE="http://www.pixman.org/ https://gitlab.freedesktop.org/pixman/pixman/" if [[ ${PV} != 9999* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" SRC_URI="https://www.x.org/releases/individual/lib/${P}.tar.xz" fi diff --git a/sdk_container/src/third_party/portage-stable/x11-misc/makedepend/makedepend-1.0.9.ebuild b/sdk_container/src/third_party/portage-stable/x11-misc/makedepend/makedepend-1.0.9.ebuild index 3c65da92b0c..9b49e6c49da 100644 --- a/sdk_container/src/third_party/portage-stable/x11-misc/makedepend/makedepend-1.0.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-misc/makedepend/makedepend-1.0.9.ebuild @@ -6,4 +6,4 @@ EAPI=8 inherit xorg-3 DESCRIPTION="create dependencies in makefiles" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-solaris"