diff --git a/.github/workflows/portage-stable-packages-list b/.github/workflows/portage-stable-packages-list index d529ec957e4..f9dada95f09 100644 --- a/.github/workflows/portage-stable-packages-list +++ b/.github/workflows/portage-stable-packages-list @@ -516,6 +516,7 @@ eclass/wrapper.eclass eclass/xdg-utils.eclass eclass/xdg.eclass eclass/xorg-3.eclass +eclass/xorg-meson.eclass licenses diff --git a/changelog/security/2026-08-28-weekly-updates.md b/changelog/security/2026-08-28-weekly-updates.md new file mode 100644 index 00000000000..c29aae1be24 --- /dev/null +++ b/changelog/security/2026-08-28-weekly-updates.md @@ -0,0 +1,12 @@ +- expat ([CVE-2026-72522](https://www.cve.org/CVERecord?id=CVE-2026-72522)) +- glib ([CVE-2026-15588](https://www.cve.org/CVERecord?id=CVE-2026-15588)) +- go ([CVE-2026-33818](https://www.cve.org/CVERecord/?id=CVE-2026-33818), [CVE-2026-39821](https://www.cve.org/CVERecord/?id=CVE-2026-39821), [CVE-2026-46600](https://www.cve.org/CVERecord/?id=CVE-2026-46600), [CVE-2026-56853](https://www.cve.org/CVERecord/?id=CVE-2026-56853), [CVE-2026-56858](https://www.cve.org/CVERecord/?id=CVE-2026-56858), [CVE-2026-56859](https://www.cve.org/CVERecord/?id=CVE-2026-56859), [CVE-2026-56860](https://www.cve.org/CVERecord/?id=CVE-2026-56860), [CVE-2026-56862](https://www.cve.org/CVERecord/?id=CVE-2026-56862), [CVE-2026-56864](https://www.cve.org/CVERecord/?id=CVE-2026-56864), [CVE-2026-56865](https://www.cve.org/CVERecord/?id=CVE-2026-56865)) +- incus ([CVE-2026-62867](https://www.cve.org/CVERecord?id=CVE-2026-62867), [CVE-2026-62940](https://www.cve.org/CVERecord?id=CVE-2026-62940), [CVE-2026-62941](https://www.cve.org/CVERecord?id=CVE-2026-62941), [CVE-2026-63125](https://www.cve.org/CVERecord?id=CVE-2026-63125), [CVE-2026-63343](https://www.cve.org/CVERecord?id=CVE-2026-63343), [GHSA-26gp-p5fw-3r2h](https://github.com/lxc/incus/security/advisories/GHSA-26gp-p5fw-3r2h), [GHSA-67qw-68v3-36h6](https://github.com/lxc/incus/security/advisories/GHSA-67qw-68v3-36h6), [GHSA-7fj9-65v4-rp7h](https://github.com/lxc/incus/security/advisories/GHSA-7fj9-65v4-rp7h), [GHSA-p2v3-6wvc-cv3p](https://github.com/lxc/incus/security/advisories/GHSA-p2v3-6wvc-cv3p), [GHSA-4qxq-p5hm-3q3p](https://github.com/lxc/incus/security/advisories/GHSA-4qxq-p5hm-3q3p), [GHSA-m3j6-p3v3-qmjv](https://github.com/lxc/incus/security/advisories/GHSA-m3j6-p3v3-qmjv), [CVE-2026-62313](https://www.cve.org/CVERecord/?id=CVE-2026-62313), [GHSA-6v6x-387m-rj4w](https://github.com/lxc/incus/security/advisories/GHSA-6v6x-387m-rj4w)) +- intel-microcode ([CVE-2025-31936](https://www.cve.org/CVERecord?id=CVE-2025-31936), [CVE-2025-31938](https://www.cve.org/CVERecord?id=CVE-2025-31938), [CVE-2025-35973](https://www.cve.org/CVERecord?id=CVE-2025-35973), [CVE-2026-20707](https://www.cve.org/CVERecord?id=CVE-2026-20707), [CVE-2026-20713](https://www.cve.org/CVERecord?id=CVE-2026-20713), [CVE-2026-20716](https://www.cve.org/CVERecord?id=CVE-2026-20716), [CVE-2026-20760](https://www.cve.org/CVERecord?id=CVE-2026-20760), [CVE-2026-20917](https://www.cve.org/CVERecord?id=CVE-2026-20917)) +- open-iscsi ([CVE-2026-44943](https://www.cve.org/CVERecord?id=CVE-2026-44943), [CVE-2026-44944](https://www.cve.org/CVERecord?id=CVE-2026-44944)) +- openssh ([CVE-2026-73281](https://www.cve.org/CVERecord?id=CVE-2026-73281), [CVE-2026-73282](https://www.cve.org/CVERecord?id=CVE-2026-73282), [CVE-2026-73283](https://www.cve.org/CVERecord?id=CVE-2026-73283)) +- openssl ([CVE-2026-14456](https://www.cve.org/CVERecord?id=CVE-2026-14456), [CVE-2026-14457](https://www.cve.org/CVERecord?id=CVE-2026-14457), [CVE-2026-18798](https://www.cve.org/CVERecord?id=CVE-2026-18798), [CVE-2026-54874](https://www.cve.org/CVERecord?id=CVE-2026-54874), [CVE-2026-63072](https://www.cve.org/CVERecord?id=CVE-2026-63072), [CVE-2026-63073](https://www.cve.org/CVERecord?id=CVE-2026-63073), [CVE-2026-63074](https://www.cve.org/CVERecord?id=CVE-2026-63074), [CVE-2026-63075](https://www.cve.org/CVERecord?id=CVE-2026-63075), [CVE-2026-63076](https://www.cve.org/CVERecord?id=CVE-2026-63076), [CVE-2026-75803](https://www.cve.org/CVERecord?id=CVE-2026-75803)) +- rpcbind ([CVE-2026-16277](https://www.cve.org/CVERecord?id=CVE-2026-16277), [CVE-2026-16461](https://www.cve.org/CVERecord?id=CVE-2026-16461)) +- rsync ([CVE-2026-53783](https://www.cve.org/CVERecord?id=CVE-2026-53783), [CVE-2026-53784](https://www.cve.org/CVERecord?id=CVE-2026-53784), [CVE-2026-53785](https://www.cve.org/CVERecord?id=CVE-2026-53785), [CVE-2026-53786](https://www.cve.org/CVERecord?id=CVE-2026-53786), [CVE-2026-53788](https://www.cve.org/CVERecord?id=CVE-2026-53788), [CVE-2026-53789](https://www.cve.org/CVERecord?id=CVE-2026-53789), [CVE-2026-53790](https://www.cve.org/CVERecord?id=CVE-2026-53790), [CVE-2026-53791](https://www.cve.org/CVERecord?id=CVE-2026-53791), [CVE-2026-53792](https://www.cve.org/CVERecord?id=CVE-2026-53792), [CVE-2026-53793](https://www.cve.org/CVERecord?id=CVE-2026-53793), [CVE-2026-53794](https://www.cve.org/CVERecord?id=CVE-2026-53794), [CVE-2026-53795](https://www.cve.org/CVERecord?id=CVE-2026-53795), [CVE-2026-53796](https://www.cve.org/CVERecord?id=CVE-2026-53796), [CVE-2026-53797](https://www.cve.org/CVERecord?id=CVE-2026-53797), [CVE-2026-53798](https://www.cve.org/CVERecord?id=CVE-2026-53798), [CVE-2026-53799](https://www.cve.org/CVERecord?id=CVE-2026-53799), [CVE-2026-53800](https://www.cve.org/CVERecord?id=CVE-2026-53800), [CVE-2026-53801](https://www.cve.org/CVERecord?id=CVE-2026-53801), [CVE-2026-53802](https://www.cve.org/CVERecord?id=CVE-2026-53802), [CVE-2026-53803](https://www.cve.org/CVERecord?id=CVE-2026-53803), [CVE-2026-70452](https://www.cve.org/CVERecord?id=CVE-2026-70452), [CVE-2026-70453](https://www.cve.org/CVERecord?id=CVE-2026-70453), [CVE-2026-70454](https://www.cve.org/CVERecord?id=CVE-2026-70454), [CVE-2026-70455](https://www.cve.org/CVERecord?id=CVE-2026-70455), [CVE-2026-70456](https://www.cve.org/CVERecord?id=CVE-2026-70456), [CVE-2026-70457](https://www.cve.org/CVERecord?id=CVE-2026-70457), [CVE-2026-70458](https://www.cve.org/CVERecord?id=CVE-2026-70458), [CVE-2026-70459](https://www.cve.org/CVERecord?id=CVE-2026-70459), [CVE-2026-70460](https://www.cve.org/CVERecord?id=CVE-2026-70460), [CVE-2026-70461](https://www.cve.org/CVERecord?id=CVE-2026-70461), [CVE-2026-70462](https://www.cve.org/CVERecord?id=CVE-2026-70462), [CVE-2026-70463](https://www.cve.org/CVERecord?id=CVE-2026-70463), [CVE-2026-70464](https://www.cve.org/CVERecord?id=CVE-2026-70464)) +- unzip (CAN-2026-2034440, CAN-2026-2034442, CAN-2026-2034443) +- zip ([zip-20260814](https://sintonen.fi/advisories/infozip-test-option-command-injection.txt)) diff --git a/changelog/updates/2026-08-28-weekly-updates.md b/changelog/updates/2026-08-28-weekly-updates.md new file mode 100644 index 00000000000..4b95314ee05 --- /dev/null +++ b/changelog/updates/2026-08-28-weekly-updates.md @@ -0,0 +1,32 @@ +- SDK: go ([1.26.7](https://go.dev/doc/devel/release#go1.26.7) (includes [1.26.6](https://go.dev/doc/devel/release#go1.26.6))) +- SDK: meson ([1.11.2](https://github.com/mesonbuild/meson/commits/1.11.2/)) +- SDK: pkgcheck ([0.10.42](https://github.com/pkgcore/pkgcheck/releases/tag/v0.10.42) (includes [0.10.41](https://github.com/pkgcore/pkgcheck/releases/tag/v0.10.41))) +- SDK: rust ([1.96.1](https://blog.rust-lang.org/2026/06/30/Rust-1.96.1/) (includes [1.96.0](https://blog.rust-lang.org/2026/05/28/Rust-1.96.0/))) +- base, dev: bash ([5.3_p15](https://cgit.git.savannah.gnu.org/cgit/bash.git/log/?id=b460816602167718f78a6233164e8875f49b75b2)) +- base, dev: bind ([9.20.26](https://bind9.readthedocs.io/en/v9.20.26/notes.html#notes-for-bind-9-20-26) (includes [9.20.25](https://bind9.readthedocs.io/en/v9.20.25/notes.html#notes-for-bind-9-20-25), [9.20.24](https://bind9.readthedocs.io/en/v9.20.24/notes.html#notes-for-bind-9-20-24))) +- base, dev: etcd ([3.5.26](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md#v3526-2025-12-17)) +- base, dev: expat ([2.8.3](https://blog.hartwork.org/posts/expat-2-8-3-released/)) +- base, dev: findutils ([4.11.0](https://cgit.git.savannah.gnu.org/cgit/findutils.git/tree/NEWS?h=v4.11.0)) +- base, dev: glib ([2.88.3](https://gitlab.gnome.org/GNOME/glib/-/releases/2.88.3)) +- base, dev: gnupg ([2.5.21](https://dev.gnupg.org/T8262.html)) +- base, dev: intel-microcode ([20260812_p20260813](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20260812) (includes [20260811_p20260811](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20260811))) +- base, dev: leancrypto ([1.8.0](https://leancrypto.org/leancrypto/releases/leancrypto-1.8.0/index.html)) +- base, dev: libevent ([2.1.13](https://github.com/libevent/libevent/releases/tag/release-2.1.13-stable)) +- base, dev: openssh ([10.5_p1](https://www.openssh.org/txt/release-10.5)) +- base, dev: rsync ([3.5.0](https://download.samba.org/pub/rsync/NEWS#3.5.0)) +- base, dev: sqlite ([3.53.3](https://sqlite.org/releaselog/3_53_3.html)) +- base, dev: unzip ([6.0_p31](https://metadata.ftp-master.debian.org/changelogs//main/u/unzip/unzip_6.0-31_changelog)) +- base, dev: zip ([3.0_p16](https://metadata.ftp-master.debian.org/changelogs//main/z/zip/zip_3.0-16_changelog)) +- dev: bash-completion ([2.18.0](https://cgit.git.savannah.gnu.org/cgit/bash.git/log/?id=b460816602167718f78a6233164e8875f49b75b2)) +- dev: binutils ([2.46.1](https://lists.gnu.org/archive/html/info-gnu/2026-06/msg00003.html)) +- dev: gentoolkit ([0.8.0](https://gitweb.gentoo.org/proj/gentoolkit.git/log/?h=gentoolkit-0.8.0)) +- dev: pahole ([1.31](https://git.kernel.org/pub/scm/devel/pahole/pahole.git/tag/?h=v1.31)) +- dev: portage ([3.0.81.3](https://raw.githubusercontent.com/gentoo/portage/refs/tags/portage-3.0.81.3/NEWS)) +- sysext-containerd: containerd ([2.3.4](https://github.com/containerd/containerd/releases/tag/v2.3.4)) +- sysext-incus: incus ([7.3](https://discuss.linuxcontainers.org/t/incus-7-3-has-been-released/27033)) +- sysext-podman: gpgme ([2.1.2](https://raw.githubusercontent.com/gpg/gpgme/refs/tags/gpgme-2.1.2/NEWS)) +- sysext-python: charset-normalizer ([3.4.9](https://github.com/jawah/charset_normalizer/releases/tag/3.4.9)) +- sysext-python: jaraco-functools ([4.6.0](https://raw.githubusercontent.com/jaraco/jaraco.functools/refs/tags/v4.6.0/NEWS.rst)) +- sysext-python: jaraco-text ([4.3.0](https://raw.githubusercontent.com/jaraco/jaraco.text/refs/tags/v4.3.0/NEWS.rst)) +- sysext-python: platformdirs ([4.10.1](https://github.com/tox-dev/platformdirs/releases/tag/4.10.1)) +- sysext-python: setuptools ([83.0.0](https://raw.githubusercontent.com/pypa/setuptools/refs/tags/v83.0.0/NEWS.rst)) diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.5.16.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.5.26.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.5.16.ebuild rename to sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.5.26.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-nds/rpcbind/0001-rpcinfo-stack-buffer-overflow-in-rpcinfo-rpcbaddrlis.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-nds/rpcbind/0001-rpcinfo-stack-buffer-overflow-in-rpcinfo-rpcbaddrlis.patch new file mode 100644 index 00000000000..70fc6ca60fe --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-nds/rpcbind/0001-rpcinfo-stack-buffer-overflow-in-rpcinfo-rpcbaddrlis.patch @@ -0,0 +1,30 @@ +From bb9bb7286a4c345442946dc2ce3c9e7f67e96d4d Mon Sep 17 00:00:00 2001 +From: Steve Dickson +Date: Wed, 27 May 2026 11:42:11 -0400 +Subject: [PATCH] rpcinfo: stack buffer overflow in rpcinfo rpcbaddrlist() + +rpcinfo's rpcbaddrlist() formats two server-controlled, unbounded XDR strings into a fixed 128-byte stack buffer with sprintf(). A malicious or on-path rpcbind server overflows it when a user runs: +rpcinfo -l + +Reported-by: Michalis Vasileiadis +Signed-off-by: Steve Dickson +--- + src/rpcinfo.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/rpcinfo.c b/src/rpcinfo.c +index c59e8b4..30d535e 100644 +--- a/src/rpcinfo.c ++++ b/src/rpcinfo.c +@@ -1104,7 +1104,7 @@ rpcbaddrlist ( + + re = &head->rpcb_entry_map; + printf ("%10u%3u ", parms.r_prog, parms.r_vers); +- sprintf (buf, "%s/%s/%s ", ++ snprintf (buf, sizeof(buf), "%s/%s/%s ", + re->r_nc_protofmly, re->r_nc_proto, + re->r_nc_semantics == NC_TPI_CLTS ? "clts" : + re->r_nc_semantics == NC_TPI_COTS ? "cots" : "cots_ord"); +-- +2.54.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-nds/rpcbind/0002-rpcinfo-stack-buffer-overflow-in-rpcinfo-rpcbdump.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-nds/rpcbind/0002-rpcinfo-stack-buffer-overflow-in-rpcinfo-rpcbdump.patch new file mode 100644 index 00000000000..c89066ed21a --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-nds/rpcbind/0002-rpcinfo-stack-buffer-overflow-in-rpcinfo-rpcbdump.patch @@ -0,0 +1,47 @@ +From 62371b84babbc2f3546edb44d7d2b1ba62429d03 Mon Sep 17 00:00:00 2001 +From: Krzesimir Nowak +Date: Tue, 25 Aug 2026 20:19:01 +0200 +Subject: [PATCH] rpcinfo: stack buffer overflow in rpcinfo rpcbdump() + +rpcinfo's rpcbdump() formats a server-controlled list of versions into +a fixed size buffer with sprintf(). A malicious server returning a +large number of versions may overflow it. + +Reported-by: Michalis Vasileiadis +Signed-off-by: Krzesimir Nowak +--- + src/rpcinfo.c | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/src/rpcinfo.c b/src/rpcinfo.c +index 30d535e..9917913 100644 +--- a/src/rpcinfo.c ++++ b/src/rpcinfo.c +@@ -958,17 +958,19 @@ rpcbdump ( + for (rs = rs_head; rs; rs = rs->next) + { + size_t netidmax = sizeof(buf) - 1; +- char *p = buf; ++ int l = 0; + + printf ("%10ld ", rs->prog); + for (vl = rs->vlist; vl; vl = vl->next) + { +- sprintf (p, "%d", vl->vers); +- p = p + strlen (p); ++ l += printf ("%d", vl->vers); + if (vl->next) +- sprintf (p++, ","); ++ l += printf (","); + } +- printf ("%-10s", buf); ++ if (l < 10) ++ printf("%*s", 10 - l, " "); ++ else ++ printf(" "); + buf[0] = '\0'; + + for (nl = rs->nlist; nl; nl = nl->next) +-- +2.54.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-nds/rpcbind/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-nds/rpcbind/README.md new file mode 100644 index 00000000000..baeca35d682 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-nds/rpcbind/README.md @@ -0,0 +1,7 @@ +The patch +`0001-rpcinfo-stack-buffer-overflow-in-rpcinfo-rpcbaddrlis.patch` +fixes CVE-2026-16277 and can be dropped when updating to rpcbind +1.2.9. The patch +`0002-rpcinfo-stack-buffer-overflow-in-rpcinfo-rpcbdump.patch` fixes +CVE-2026-16461 and, as of 2026-08-25, this hasn't been yet fixed by +upstream. diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/open-iscsi/open-iscsi-startup-automatic.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/open-iscsi/0001-open-iscsi-startup-automatic.patch similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/open-iscsi/open-iscsi-startup-automatic.patch rename to sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/open-iscsi/0001-open-iscsi-startup-automatic.patch diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/open-iscsi/0002-fix-security-issues.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/open-iscsi/0002-fix-security-issues.patch new file mode 100644 index 00000000000..1cfb70f788a --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/open-iscsi/0002-fix-security-issues.patch @@ -0,0 +1,209 @@ +From 668ca1df9c9a1e9bdd5c999ae1d67c9c8909237e Mon Sep 17 00:00:00 2001 +From: Lee Duncan +Date: Tue, 14 Jul 2026 12:16:58 -0700 +Subject: [PATCH] Fix security issues recently discovered by Keith at Linneman + Labs (#535) + +* Fix iscsiuio control-socket credential verification. + +Prevent unprivilidged user from driving the isscsiuio control socket, +by validating connection against correct file descriptor. + +Reference: CVE-2026-44944 +Found-by: + +* Improve iscsid discovery handling of IQN names. + +Currently, IQN names received via discovery are assumed to be valid up +to the NULL character, i.e. the end of the supplied string. But this +may not be correct. + +The ASCII characters allowed in an IQN are detailed in RFC 3722, section +6.2: "Currently Prohibited ASCII Characters". + +Disallowing such characters should not break current usage, since the +disallowed characters should not be in an IQN anyway. For example, they +include characters like forward slashes, backward slashes, spaces, +control characters, etc.. + +Open-iscsi uses target names as directory names in the "database" +directory (typically /var/lib/iscsi), so fixing this eliminates discovery +target name containing sequences like "../../../*" from being allowed. + +Reference: CVE-2026-44943 +Found-by: +--- + iscsiuio/src/unix/iscsid_ipc.c | 4 ++-- + usr/discovery.c | 18 ++++++++++++++++++ + usr/initiator.h | 3 +++ + usr/initiator_common.c | 33 +++++++++++++++++++++++++++++++++ + usr/iscsiadm.c | 4 ++++ + usr/iscsistart.c | 5 ++++- + 6 files changed, 64 insertions(+), 3 deletions(-) + +diff --git a/iscsiuio/src/unix/iscsid_ipc.c b/iscsiuio/src/unix/iscsid_ipc.c +index bcd6437c..c4740fa0 100644 +--- a/iscsiuio/src/unix/iscsid_ipc.c ++++ b/iscsiuio/src/unix/iscsid_ipc.c +@@ -1120,10 +1120,10 @@ static void *iscsid_loop(void *arg) + continue; + } + +- if (!mgmt_peeruser(iscsid_opts.fd, user) || strncmp(user, "root", PEERUSER_MAX)) { ++ if (!mgmt_peeruser(s2, user) || strncmp(user, "root", PEERUSER_MAX)) { + close(s2); + ILOG_ERR(PFX "Access error: non-administrative connection rejected"); +- break; ++ continue; + } + + /* this closes the file descriptor s2 */ +diff --git a/usr/discovery.c b/usr/discovery.c +index 9936630a..da9957f5 100644 +--- a/usr/discovery.c ++++ b/usr/discovery.c +@@ -137,7 +137,9 @@ int discovery_isns_query(struct discovery_rec *drec, const char *iname, + uint32_t status; + int rc; + ++ + isns_config.ic_security = 0; ++ + source = isns_source_create_iscsi(iname); + if (!source) + return ISCSI_ERR_NOMEM; +@@ -215,6 +217,11 @@ int discovery_isns_query(struct discovery_rec *drec, const char *iname, + continue; + } + ++ if (!iqn_name_valid(pg_tgt)) { ++ log_error("iSNS discovery Target Name invalid: ignoring it"); ++ continue; ++ } ++ + if (!isns_object_get_ipaddr(obj, ISNS_TAG_PG_PORTAL_IP_ADDR, + &in_addr)) { + log_debug(1, "Missing addr"); +@@ -293,6 +300,11 @@ static int discovery_isns_reg_node(const char *iname, int op_reg) + log_debug(1, "trying to %s %s with iSNS server.", + op_reg ? "register" : "deregister", iname); + ++ if (!iqn_name_valid(iname)) { ++ log_error("iSNS initiatorname invalid: ignoring it"); ++ return ISCSI_ERR_INVAL; ++ } ++ + source = isns_source_create_iscsi(iname); + if (!source) + return ISCSI_ERR_NOMEM; +@@ -612,6 +624,12 @@ add_target_record(char *name, char *end, discovery_rec_t *drec, + log_error("TargetName %s too long, ignoring", name); + return 0; + } ++ ++ if (!iqn_name_valid(name)) { ++ log_error("Discovery TargetName invalid, ignoring"); ++ return 0; ++ } ++ + text = name + length; + + /* skip NULs after the name */ +diff --git a/usr/initiator.h b/usr/initiator.h +index 9d0264c9..daeebebe 100644 +--- a/usr/initiator.h ++++ b/usr/initiator.h +@@ -21,6 +21,7 @@ + #define INITIATOR_H + + #include ++#include + #include + #include + +@@ -412,4 +413,6 @@ extern int iscsi_set_net_config(struct iscsi_transport *t, + extern void iscsi_session_init_params(struct iscsi_session *session); + + extern int session_in_use(int sid); ++ ++extern bool iqn_name_valid(const char *name); + #endif /* INITIATOR_H */ +diff --git a/usr/initiator_common.c b/usr/initiator_common.c +index 80b76522..3d580236 100644 +--- a/usr/initiator_common.c ++++ b/usr/initiator_common.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + #include + + #include "iface.h" +@@ -749,3 +750,35 @@ int iscsi_host_set_net_params(struct iface_rec *iface, + } + return 0; + } ++ ++/** ++ * @brief iqn_name_valid -- return whether or not the supplied ++ * IQN name valid ++ * ++ * @details Checks for invalid characters, using RFC 3722, ++ * section 6.2, "Currently Prohibited ASCII Characters" ++ * ++ * @param name the IQN name we are checking ++ * @return true iff the whole name (string) has valid ++ * charaters ++ */ ++bool ++iqn_name_valid(const char *name) ++{ ++ unsigned char *cp; ++ ++ /* ensure no invalid characters */ ++ for (cp = name; *cp != '\0'; cp++) ++ if ((*cp <= '\x2c') || ++ (*cp == '\x2f') || ++ ((*cp >= '\x3b') && (*cp <= '\x40')) || ++ ((*cp >= '\x5b') && (*cp <= '\x60')) || ++ (*cp >= '\x7b')) { ++ log_debug(8, "IQN name is invalid: \"%s\" (char: '%#02x')", ++ name, *cp); ++ return false; ++ } ++ ++ log_debug(8, "IQN name has all valid characters: \"%s\"", name); ++ return true; ++} +diff --git a/usr/iscsiadm.c b/usr/iscsiadm.c +index dafce209..4881eaeb 100644 +--- a/usr/iscsiadm.c ++++ b/usr/iscsiadm.c +@@ -1165,6 +1165,10 @@ exec_disc_op_on_recs(discovery_rec_t *drec, struct list_head *rec_list, + if (op & OP_NEW || op & OP_UPDATE) { + /* now add/update records */ + list_for_each_entry(new_rec, rec_list, list) { ++ if (!iqn_name_valid(new_rec->name)) { ++ log_error("FW discovery Target Name invalid: ignoring it"); ++ continue; ++ } + rc = idbm_add_node(new_rec, drec, op & OP_UPDATE); + if (rc) + log_error("Could not add/update " +diff --git a/usr/iscsistart.c b/usr/iscsistart.c +index df92d247..6f133d6a 100644 +--- a/usr/iscsistart.c ++++ b/usr/iscsistart.c +@@ -403,7 +403,10 @@ int main(int argc, char *argv[]) + case 't': + check_str_param_len(optarg, TARGET_NAME_MAXLEN, + "targetname"); +- strlcpy(config_rec.name, optarg, TARGET_NAME_MAXLEN); ++ if (!iqn_name_valid(optarg)) ++ log_error("iscsistart Target Name invalid: ignoring"); ++ else ++ strlcpy(config_rec.name, optarg, TARGET_NAME_MAXLEN); + break; + case 'g': + config_rec.tpgt = atoi(optarg); diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/open-iscsi/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/open-iscsi/README.md index fe45b223bb9..bc683299a92 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/open-iscsi/README.md +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-block/open-iscsi/README.md @@ -1,3 +1,6 @@ -We want nodes to start automatically. +The patch `0001-open-iscsi-startup-automatic.patch` file is because we want +nodes to start automatically. See +https://github.com/flatcar/scripts/commit/8fb48ff69f29e64da3df6a197662904f60af25f5 -See: https://github.com/flatcar/scripts/commit/8fb48ff69f29e64da3df6a197662904f60af25f5 +The patch `0002-fix-security-issues.patch` fixes CVE-2026-44943 and +CVE-2026-44944, and can be dropped when updating to open-iscsi 2.1.12. 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 51e1899f395..4be1343c2b0 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,24 +7,19 @@ # Gentoo upstream package stabilisation # (the following packages are "unstable" upstream; we're stabilising these) -# Chewi maintains edk2 in Gentoo, and we generally want the latest. -sys-firmware/edk2-bin - # Keep versions on both arches in sync. =app-admin/logrotate-3.22.0-r1 -# To address CVE-2026-41991 (has no keywords) -=app-arch/gzip-1.14_p20260502 ** - # Needed to fix build with acl 2.4.0 =app-arch/tar-1.35-r1 +# Needed to address security issues. +=app-arch/unzip-6.0_p31 +=app-arch/zip-3.0_p16 + # For podman 6.0.0 =app-containers/aardvark-dns-2.0.0 -# To address CVE-2025-0495. -=app-containers/docker-buildx-0.35.0 - # For podman 6.0.0 =app-containers/conmon-2.2.1 =app-containers/container-libs-0.69.0 @@ -35,15 +30,8 @@ sys-firmware/edk2-bin # To address some CVEs. =app-containers/cri-tools-1.36.0 -# To address CVE-2026-30892 -=app-containers/crun-1.28 - -# To address some CVEs. -=app-containers/docker-cli-29.5.2 -=app-containers/docker-29.5.2 - -# To address a bunch of CVEs -=app-containers/incus-7.2 +# To address security issues +=app-containers/incus-7.3-r1 # Keep versions on both arches in sync. =app-containers/lxc-7.0.0 @@ -55,7 +43,7 @@ sys-firmware/edk2-bin =app-containers/podman-6.0.0 # We always want the latest version available. -=app-containers/runc-1.4* ~amd64 ~arm64 +=app-containers/runc-1.4* # No stable keywords. =app-containers/syft-1.18.1 ~amd64 ~arm64 @@ -81,9 +69,6 @@ app-crypt/azure-keyvault-pkcs11 # No stable keywords yet because it's new. =app-emulation/open-vmdk-0.3.12 ~amd64 -# To address CVE-2026-3886. -=app-emulation/qemu-10.2.3 - # Keep versions on both arches in sync. =app-emulation/qemu-guest-agent-10.2.2 @@ -95,17 +80,18 @@ 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 +# To pick up latest 3.5 version Gentoo has. +=dev-db/etcd-3.5* -# Needed to address CVE-2026-27145, CVE-2026-39822, CVE-2026-42504, CVE-2026-42505, CVE-2026-42507. -=dev-lang/go-1.26.5 +# Needed to address security issues. +=dev-lang/go-1.26.7 # Keep versions on both arches in sync. =dev-libs/cowsql-1.15.9 ~arm64 =dev-libs/ding-libs-0.6.2-r1 ~arm64 -# To address CVE-2026-9146. +# To address security issues. +=dev-libs/glib-2.88.3 =dev-libs/json-c-0.19-r2 # Keep versions on both arches in sync. @@ -115,6 +101,9 @@ dev-db/etcd amd64 # The only available ebuild (from GURU) has ~amd64 and no keyword for arm64 yet. =dev-libs/luksmeta-9-r1 ** +# To address security issues. +=dev-libs/openssl-3.6.4 + # Keep versions on both arches in sync. =dev-libs/raft-0.22.1 ~arm64 @@ -130,7 +119,6 @@ dev-db/etcd amd64 =dev-util/catalyst-4.1.1-r1 # Keep versions on both arches in sync. -=net-dns/bind-9.20.23 =net-firewall/conntrack-tools-1.4.9 # Needed to address CVE-2026-12505. @@ -143,17 +131,14 @@ dev-db/etcd amd64 =net-libs/libnetfilter_cthelper-1.0.1-r1 ~arm64 =net-libs/libnetfilter_cttimeout-1.0.1 ~arm64 -# For CVE-2026-{59995,59996,59997,59998,59999,60000,60001,60002} -=net-misc/openssh-10.4_p1-r1 +# To address security issues. +=net-misc/openssh-10.5_p1 # For podman 6.0.0 =net-misc/passt-2026.05.26 -# To address CVE-2026-54369, CVE-2026-54370. -=sys-apps/acl-2.4.0-r2 - -# To address CVE-2026-54371. -=sys-apps/attr-2.6.0 +# To address security issues. +=net-misc/rsync-3.5.0 # 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 @@ -171,8 +156,18 @@ sys-apps/azure-vm-utils # Enable ipvsadm for arm64. =sys-cluster/ipvsadm-1.31-r1 ~arm64 +# Keep versions on both arches in sync. +=sys-devel/binutils-2.46.1 + +# To address security issues. +=sys-firmware/intel-microcode-20260812_p20260813 + +# Chewi maintains edk2 in Gentoo, and we generally want the latest. +sys-firmware/edk2-bin + # Keep versions on both arches in sync. =sys-fs/lxcfs-7.0.0 +=sys-libs/binutils-libs-2.46.1 # To address GHSA-2hqh-5c36-grrm, GHSA-46fr-jh49-xvhx, GHSA-4q85-33p6-j5g6. =sys-libs/libseccomp-2.6.1 @@ -183,3 +178,6 @@ sys-apps/azure-vm-utils # Keep versions on both arches in sync. =sys-libs/libunwind-1.8.3 + +# rsync 3.5.0 needs it +=virtual/acl-2.4.0 diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.mask b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.mask index 11674ba8f3d..1ebc78d6600 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.mask +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.mask @@ -23,3 +23,7 @@ # We are using RedHat patches for grub, so until they rebase them on # top of 2.14, we are locked out of the update. >=sys-boot/grub-2.14 + +# I don't want to deal with etcd update right now. Also, locksmith +# needs to stop using v2 first. +>=dev-db/etcd-3.6 diff --git a/sdk_container/src/third_party/portage-stable/app-arch/gzip/files/gzip-1.14-CVE-2026-41992.patch b/sdk_container/src/third_party/portage-stable/app-arch/gzip/files/gzip-1.14-CVE-2026-41992.patch new file mode 100644 index 00000000000..7b9172c2eb2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/gzip/files/gzip-1.14-CVE-2026-41992.patch @@ -0,0 +1,17 @@ +https://bugs.gentoo.org/981308 +https://marc.info/?l=oss-security&m=178750295349970&w=4 +--- a/unlzh.c ++++ b/unlzh.c +@@ -307,6 +307,12 @@ decode_p () + static void + huf_decode_start () + { ++ /* Needed in case LEFT and RIGHT are reused from a previous ++ LZW decompression. It may be overkill to clear all of both ++ arrays, but nobody has had time to analyze this carefully. */ ++ memzero (left, (2 * NC - 1) * sizeof *left); ++ memzero (right, (2 * NC - 1) * sizeof *right); ++ + init_getbits(); blocksize = 0; + } + diff --git a/sdk_container/src/third_party/portage-stable/app-arch/gzip/files/gzip-1.14-zgrep.patch b/sdk_container/src/third_party/portage-stable/app-arch/gzip/files/gzip-1.14-zgrep.patch new file mode 100644 index 00000000000..25fee05676e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/gzip/files/gzip-1.14-zgrep.patch @@ -0,0 +1,22 @@ +https://debbugs.gnu.org/80868 + +From cd74dc30f8cc5814c7805c9cee52302b6d34d811 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Mon, 20 Apr 2026 10:22:33 -0700 +Subject: [PATCH] zgrep: fix quoting typo + +* zgrep.in: Fix quoting typo in option parsing. +Problem reported by Leenear (bug#80868). +--- a/zgrep.in ++++ b/zgrep.in +@@ -172,7 +172,7 @@ while test $# -ne 0; do + esac + + case $option in +- (*\'?*) ++ (*\'*) + option=\'$(printf '%s\n' "$option" | LC_ALL=C sed "$escape");; + (*) + option="'$option'";; +-- +2.51.0 diff --git a/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.14-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.14-r1.ebuild new file mode 100644 index 00000000000..20306319dca --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.14-r1.ebuild @@ -0,0 +1,98 @@ +# 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/gzip.asc +inherit eapi9-ver flag-o-matic verify-sig + +DESCRIPTION="Standard GNU compressor" +HOMEPAGE="https://www.gnu.org/software/gzip/" +if [[ ${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).56-e549" + SRC_URI=" + https://meyering.net/gzip/gzip-${MY_SNAPSHOT}.tar.xz -> ${P}.tar.xz + verify-sig? ( + https://meyering.net/gzip/gzip-${MY_SNAPSHOT}.tar.xz.sig -> ${P}.tar.xz.sig + ) + " + S="${WORKDIR}"/${PN}-${MY_SNAPSHOT} +else + SRC_URI=" + mirror://gnu/gzip/${P}.tar.xz + verify-sig? ( + mirror://gnu/gzip/${P}.tar.xz.sig + ) + " +fi + +LICENSE="GPL-3+" +SLOT="0" +if [[ ${PV} != *_p* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +fi +IUSE="pic static" + +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gzip )" +RDEPEND="!app-arch/pigz[symlink(-)]" +PDEPEND=" + app-alternatives/gzip +" + +PATCHES=( + "${FILESDIR}/${PN}-1.3.8-install-symlinks.patch" + "${FILESDIR}/${P}-CVE-2026-41992.patch" + "${FILESDIR}/${P}-zgrep.patch" +) + +src_configure() { + use static && append-flags -static + + # Avoid text relocation in gzip + use pic && export DEFS="NO_ASM" + + # embeds the path to grep detected at build time into installed scripts; + # use the canonical USE="split-usr" agnostic path. bug #935721 + export GREP="${EPREFIX}/bin/grep" + + # bug #663928 + econf --disable-gcc-warnings +} + +src_install() { + default + + docinto txt + dodoc algorithm.doc gzip.doc + + # Avoid conflict with app-arch/ncompress + rm "${ED}"/usr/bin/uncompress || die + + # keep most things in /usr, just the fun stuff in / + # also rename them to avoid conflict with app-alternatives/gzip + dodir /bin + local x + for x in gunzip gzip zcat; do + mv "${ED}/usr/bin/${x}" "${ED}/bin/${x}-reference" || die + done + mv "${ED}"/usr/share/man/man1/gzip{,-reference}.1 || die + rm "${ED}"/usr/share/man/man1/{gunzip,zcat}.1 || die +} + +pkg_postinst() { + if ver_replacing -lt "1.12-r2"; then + ewarn "This package no longer installs 'uncompress'." + ewarn "Please use 'gzip -d' to decompress .Z files." + fi + + # ensure to preserve the symlinks before app-alternatives/gzip + # is installed + local x + for x in gunzip gzip zcat; do + if [[ ! -h ${EROOT}/bin/${x} ]]; then + ln -s "${x}-reference" "${EROOT}/bin/${x}" || die + fi + done +} diff --git a/sdk_container/src/third_party/portage-stable/app-arch/tar/tar-1.35-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/tar/tar-1.35-r1.ebuild index 47581c38df2..0d2ed6c018c 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/tar/tar-1.35-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/tar/tar-1.35-r1.ebuild @@ -4,7 +4,7 @@ EAPI=8 VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tar.asc -inherit branding check-reqs multiprocessing verify-sig +inherit branding check-reqs multiprocessing toolchain-funcs 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 ~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 IUSE="acl minimal nls selinux test xattr" RESTRICT="!test? ( test )" @@ -96,7 +96,14 @@ src_test() { # Drop after 1.35: https://git.savannah.gnu.org/cgit/tar.git/commit/?id=18f90676e4695ffcf13413e9fbb24cc0ae2ae9d5 local -x XZ_OPT= XZ_DEFAULTS= - emake check TESTSUITEFLAGS="--jobs=$(get_makeopts_jobs)" + local testargs=( + --jobs=$(get_makeopts_jobs) + ) + + # 155: time: tricky time stamps FAILED (time01.at:23) + ! tc-has-64bit-time_t && testargs+=( -k '!time01' ) + + emake check TESTSUITEFLAGS="${testargs[*]}" } src_install() { diff --git a/sdk_container/src/third_party/portage-stable/app-arch/unzip/Manifest b/sdk_container/src/third_party/portage-stable/app-arch/unzip/Manifest index c8f66118544..0168a34af59 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/unzip/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-arch/unzip/Manifest @@ -1,3 +1,3 @@ DIST unzip60.tar.gz 1376845 BLAKE2B 5016d300b4452018a391f4ebc03c6960c068df400a0407c0c60bd7bb5ec5012031f916d8b204a6149ba291c2c35beba40d9b43c76fc093026e79471329ab0e47 SHA512 0694e403ebc57b37218e00ec1a406cae5cc9c5b52b6798e0d4590840b6cdbf9ddc0d9471f67af783e960f8fa2e620394d51384257dca23d06bcd90224a80ce5d -DIST unzip_6.0-27.debian.tar.xz 24980 BLAKE2B e53a96f12af0cf5227600c73a35003484fca5de138cd37991eb1eb25b97b80371c3a566d989feeb04deb1a93acd9444253b091cd7e920b23520c87c5f5a94eeb SHA512 e1e605f023c7b314a6c5b2857a3bd630350df2d7e4bf6bb38ab8594f967336384666b4db8afad931251b85261ee4e2c38d78641c74ac7e5fd02523f26e92ddb2 DIST unzip_6.0-29.debian.tar.xz 25876 BLAKE2B b4477fe1c611e91bf878aeab868a2fd5b5fc62f81a43eb8505716edea8d56509947ca5fe6ca2b0a72899e1681e75cdb22911c3ba454eb453eb401c0e63af7e9a SHA512 527baae307d9ae169b6f9ad29319c61a2386de523319200efeda4a763b78777554e9ec035351c0da9160656c8b8e7aba60cc18fe1eb23fccca1e0115dee63e57 +DIST unzip_6.0-31.debian.tar.xz 27232 BLAKE2B cec55b499ca41f281f9c72ff8b176ee9c3c51263a49d1888161dc8ba9a779916247c30fdaa1d8c521c5013a5ebd61a3500f4021dc262ad90625948b2a91efba8 SHA512 63ddbf7aa70469a4f9bf239e127d794dc178f274fcb12e6d2721d7325df6066590874227fd45ddece2eb55c5363f05194dda071eb10355bb84dda8a617c57ec5 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 deleted file mode 100644 index a3201cf8e88..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p27-r1.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 - -inherit flag-o-matic multilib toolchain-funcs - -MY_PV="${PV//.}" -MY_PV="${MY_PV%_p*}" -MY_P="${PN}${MY_PV}" - -DESCRIPTION="unzipper for pkzip-compressed files" -HOMEPAGE="https://infozip.sourceforge.net/UnZip.html" -SRC_URI="https://downloads.sourceforge.net/infozip/${MY_P}.tar.gz - mirror://debian/pool/main/u/${PN}/${PN}_${PV/_p/-}.debian.tar.xz" - -LICENSE="Info-ZIP" -SLOT="0" -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 ) - natspec? ( dev-libs/libnatspec )" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - "${WORKDIR}"/debian/patches - "${FILESDIR}"/${PN}-6.0-no-exec-stack.patch - "${FILESDIR}"/${PN}-6.0-format-security.patch - "${FILESDIR}"/${PN}-6.0-fix-false-overlap-detection-on-32bit-systems.patch -) - -src_prepare() { - # bug #275244 - use natspec && PATCHES+=( "${FILESDIR}"/${PN}-6.0-natspec.patch ) - - rm "${WORKDIR}"/debian/patches/02-this-is-debian-unzip.patch || die - - default - - sed -i -r \ - -e '/^CFLAGS/d' \ - -e '/CFLAGS/s:-O[0-9]?:$(CFLAGS) $(CPPFLAGS):' \ - -e '/^STRIP/s:=.*:=true:' \ - -e "s:\:CC=\"$(tc-getCC)\":" \ - -e "s:\:LD=\"$(tc-getCC)\":" \ - -e "s:\:AS=\"$(tc-getCC)\":" \ - -e 's:LF2 = -s:LF2 = :' \ - -e 's:LF = :LF = $(LDFLAGS) :' \ - -e 's:SL = :SL = $(LDFLAGS) :' \ - -e 's:FL = :FL = $(LDFLAGS) :' \ - -e "/^#L_BZ2/s:^$(use bzip2 && echo .)::" \ - -e 's:$(AS) :$(AS) $(ASFLAGS) :g' \ - unix/Makefile \ - || die "sed unix/Makefile failed" - - # Delete bundled code to make sure we don't use it. - rm -r bzip2 || die -} - -src_configure() { - case ${CHOST} in - i?86*-*linux*) TARGET="linux_asm" ;; - *linux*) TARGET="linux_noasm" ;; - *-darwin*) TARGET="macosx" ;; - *-solaris*) TARGET="linux_noasm" ;; - *) die "Unknown target; please update the ebuild to handle ${CHOST}" ;; - esac - - # Needed for Clang 16 - append-flags -std=gnu89 - - [[ ${CHOST} == *linux* ]] && append-cppflags -DNO_LCHMOD - [[ ${CHOST} == *-solaris* ]] && append-cppflags -DNO_LCHMOD -DBSD4_4 - use bzip2 && append-cppflags -DUSE_BZIP2 - use unicode && append-cppflags -DUNICODE_SUPPORT -DUNICODE_WCHAR -DUTF8_MAYBE_NATIVE -DUSE_ICONV_MAPPING - - # bug #281473 - append-cppflags -DLARGE_FILE_SUPPORT -} - -src_compile() { - ASFLAGS="${ASFLAGS} $(get_abi_CFLAGS)" emake -f unix/Makefile ${TARGET} -} - -src_install() { - dobin unzip funzip unzipsfx unix/zipgrep - dosym unzip /usr/bin/zipinfo - doman man/*.1 - dodoc BUGS History* README ToDo WHERE -} 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_p31.ebuild similarity index 71% rename from sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p29.ebuild rename to sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p31.ebuild index ab9eb46e670..5bd0f5817c2 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_p31.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,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 ~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" IUSE="bzip2 natspec unicode" DEPEND=" @@ -28,21 +28,25 @@ DEPEND=" " RDEPEND="${DEPEND}" -PATCHES=( - "${WORKDIR}"/debian/patches - "${FILESDIR}"/${PN}-6.0-no-exec-stack.patch - "${FILESDIR}"/${PN}-6.0-format-security.patch - "${FILESDIR}"/${PN}-6.0-fix-false-overlap-detection-on-32bit-systems.patch -) - src_prepare() { + sed -i -e '/this-is-debian-unzip/d' "${WORKDIR}"/debian/patches/series || die + + PATCHES=( + $(sed -e 's:^:../debian/patches/:' "${WORKDIR}"/debian/patches/series || die) + + "${FILESDIR}"/${PN}-6.0-no-exec-stack.patch + "${FILESDIR}"/${PN}-6.0-format-security.patch + "${FILESDIR}"/${PN}-6.0-c99-configure.patch + ) + # bug #275244 use natspec && PATCHES+=( "${FILESDIR}"/${PN}-6.0-natspec.patch ) - rm "${WORKDIR}"/debian/patches/02-this-is-debian-unzip.patch || die - default + sed -i \ + -e 's:LFLAGS2="-s":LFLAGS2=:' \ + unix/configure || die sed -i -r \ -e '/^CFLAGS/d' \ -e '/CFLAGS/s:-O[0-9]?:$(CFLAGS) $(CPPFLAGS):' \ @@ -69,6 +73,9 @@ src_configure() { *linux*) TARGET="linux_noasm" ;; *-darwin*) TARGET="macosx" ;; *-solaris*) TARGET="linux_noasm" ;; + *-gnu) TARGET="generic" ;; + # generic may work but there may be a better-suited target + # so we should get people to check. *) die "Unknown target; please update the ebuild to handle ${CHOST}" ;; esac @@ -85,6 +92,14 @@ src_compile() { ASFLAGS="${ASFLAGS} $(get_abi_CFLAGS)" emake -f unix/Makefile ${TARGET} } +src_test() { + # Match the timezone with which test files were created, per a warning + # it prints upon a mismatch. + local -x TZ=CET + + ASFLAGS="${ASFLAGS} $(get_abi_CFLAGS)" emake -f unix/Makefile check +} + src_install() { dobin unzip funzip unzipsfx unix/zipgrep dosym unzip /usr/bin/zipinfo diff --git a/sdk_container/src/third_party/portage-stable/app-arch/zip/Manifest b/sdk_container/src/third_party/portage-stable/app-arch/zip/Manifest index 37fcc7a2f5f..2f15ec41c4d 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/zip/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-arch/zip/Manifest @@ -1 +1,2 @@ DIST zip30.zip 1287223 BLAKE2B d29a3e3ddbaa3ce50c80b2dd058b39c35791bf2079879b61dab0be4f011ccd3331d1768ebda5a69aa150c651713eb7a99b02833bb727eee75a3e0bbdc8504cbc SHA512 642ea6768d79adc1499251a3fb7bfc7ddc8d708699cbf9e0cfe849deda94165cb93e21dc2606bea1166ae5d8531e1e2cb056a7246bf2ab86ea7587bd4712d8d8 +DIST zip_3.0-16.debian.tar.xz 12512 BLAKE2B cd705fcafb72ac4bfa20a1844e26a073856d075f61d3da670aaf09c76e614cf4ad1b5d22f135e9d3e1e0e6417950734cd6db19a38a6ba4cf7852357d60321134 SHA512 c58b69f5749d2580a49398390adce1a4ea39bf8f27de339578ba5aa0906fbd4ff5cddc027d22b2500784ab7a9440a10b752628be7e9dca48fb471e68947bf310 diff --git a/sdk_container/src/third_party/portage-stable/app-arch/zip/files/zip-3.0_p16-zipnote-freeze.patch b/sdk_container/src/third_party/portage-stable/app-arch/zip/files/zip-3.0_p16-zipnote-freeze.patch new file mode 100644 index 00000000000..2ed3b35735b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/zip/files/zip-3.0_p16-zipnote-freeze.patch @@ -0,0 +1,39 @@ +https://bugs.gentoo.org/322047 +--- a/zipfile.c ++++ b/zipfile.c +@@ -5406,7 +5406,9 @@ int putlocal(z, rewrite) + if (z->flg & UTF8_BIT) { + /* If this flag is set, then restore UTF-8 as path name */ + use_uname = 1; ++ tempzn -= nam; + nam = strlen(z->uname); ++ tempzn += nam; + } else { + /* use extra field */ + add_Unicode_Path_local_extra_field(z); +@@ -5647,7 +5650,9 @@ int putcentral(z) + if (z->flg & UTF8_BIT) { + /* If this flag is set, then restore UTF-8 as path name */ + use_uname = 1; ++ tempzn -= nam; + nam = strlen(z->uname); ++ tempzn += nam; + } else { + add_Unicode_Path_cen_extra_field(z); + } +--- a/zipnote.c ++++ b/zipnote.c +@@ -575,6 +575,13 @@ char **argv; /* command line + strcpy(z->iname, a+2); + #endif + ++#ifdef UNICODE_SUPPORT ++#define UTF8_BIT (1 << 11) ++ if (using_utf8) { ++ z->uname = z->iname; ++ } ++#endif ++ + /* + * Don't update z->nam here, we need the old value a little later..... + * The update is handled in zipcopy(). diff --git a/sdk_container/src/third_party/portage-stable/app-arch/zip/zip-3.0_p16.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/zip/zip-3.0_p16.ebuild new file mode 100644 index 00000000000..0571a0d81cd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/zip/zip-3.0_p16.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo toolchain-funcs flag-o-matic + +MY_PV="${PV//.}" +MY_PV="${MY_PV%_p*}" +MY_P="${PN}${MY_PV}" +DESCRIPTION="Info ZIP (encryption support)" +HOMEPAGE="https://infozip.sourceforge.net/Zip.html" +SRC_URI=" + https://downloads.sourceforge.net/infozip/${MY_P}.zip + mirror://debian/pool/main/z/${PN}/${PN}_${PV/_p/-}.debian.tar.xz +" +S="${WORKDIR}"/${MY_P} + +LICENSE="Info-ZIP" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="bzip2 crypt natspec unicode" + +DEPEND=" + bzip2? ( app-arch/bzip2 ) + natspec? ( dev-libs/libnatspec ) +" +RDEPEND="${DEPEND}" +BDEPEND="app-arch/unzip" + +src_prepare() { + PATCHES=( + $(sed -e 's:^:../debian/patches/:' "${WORKDIR}"/debian/patches/series || die) + + "${FILESDIR}"/${PN}-3.0-no-crypt.patch # bug #238398 + "${FILESDIR}"/${PN}-3.0-pic.patch + "${FILESDIR}"/${PN}-3.0_p16-zipnote-freeze.patch # bug #322047 + ) + + # bug #275244 + use natspec && PATCHES+=( "${FILESDIR}"/${PN}-3.0-natspec.patch ) + default +} + +src_configure() { + # Needed for tricky configure tests w/ C23 (bug #943727) + export CC="$(tc-getCC) -std=gnu89" + # Needed for Clang 16 + append-flags -std=gnu89 + + append-cppflags \ + -DLARGE_FILE_SUPPORT \ + -DUIDGID_NOT_16BIT \ + -D$(usev !bzip2 'NO')BZIP2_SUPPORT \ + -D$(usev !crypt 'NO')CRYPT \ + -D$(usev !unicode 'NO')UNICODE_SUPPORT + + # - We use 'sh' because: 1. lacks +x bit, easier; 2. it tries to load bashdb + # - Third arg disables bzip2 logic as we handle it ourselves above. + edo sh ./unix/configure "$(tc-getCC)" "-I. -DUNIX ${CFLAGS} ${CPPFLAGS}" "${T}" + + if use bzip2 ; then + sed -i -e "s:LFLAGS2=:&'-lbz2 ':" flags || die + fi +} + +src_compile() { + emake \ + CPP="$(tc-getCPP)" \ + -f unix/Makefile generic +} + +src_install() { + dobin zip zipnote zipsplit + doman man/zip{,note,split}.1 + if use crypt ; then + dobin zipcloak + doman man/zipcloak.1 + fi + dodoc BUGS CHANGES README* TODO WHATSNEW WHERE proginfo/*.txt +} 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 e2e843ecd4e..6718d9ca55d 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,6 @@ DIST aardvark-dns-1.17.1.crate 62779 BLAKE2B 487b8de4d01df37ca8eef8b911f8231db1df4417a61b921e1c109661af0270115b8941d56493a468a6ecd58174c0074a5c8687c8d4ae6d21bfc028efae45d663 SHA512 eee8ecd47626093dd2f0a60f862593c035efc87fd4ba9fc209c93f75ca624300bc70ecc11a3828198eb36ff97ab0bb32ba090c0708793279117793876ede47a3 DIST aardvark-dns-2.0.0.crate 60884 BLAKE2B c883311c633b069a52fe07d0a6ccdd1958cfc79cb8d8d96373685e56ecf500119b7287680a0be46359125631442e0d5cd2a82e0a4ce181102c363612968e1257 SHA512 8ff50f93015ab1d343ce42a81bdbede016e77e5709f111f1085df2b1a9a683694ccde16d4267092055f1b30ac335f1dabb6d6b8932e0225159ebd9b2bfab9df2 +DIST aardvark-dns-2.1.0.crate 59419 BLAKE2B 455e2eefc6b99afe823e53051ebed0f26137c4ebb454e8362c4d194888b9237b926b262d120ff97259f586e9af8722295b54a609e0864f708424e2178bf33797 SHA512 b4355a809d1a61f2daead36f83f95a0ea4fb1e9002f0e84b22dbcf890134160fd4aa2b0fdf88ef260738b71bffddc9f437ce0b30faaf3ec0fe8907f8e420d72b DIST aardvark-dns-v1.17.1-vendor.tar.gz 10267576 BLAKE2B 984a27b5dbd773d9fa2db7123e8bd16f59407249caa1ab203d76bd1626b63e7bbadcf9a32e46b087d8cbb38442e7203bd810ce8d45c988e24c3237ea282def0a SHA512 ce6768f90a731a55511fdb78f8048ed3c5ff4b058d3edfc7832430330a239b58b6250851c6a268706f24b4fc94f47afd6ce4c1e4cbb1132e0dc7a2d0127d62ff DIST aardvark-dns-v2.0.0-vendor.tar.gz 10533784 BLAKE2B 96792ab9a38b0e7a1c05a8536a617ecaa5f2da5b1b3a530cd7fff4cae8f6a62739b3186c57be360d678bc0f024a876df4e9ddac030a828e1914796bf0d669189 SHA512 dc7d72dd8dc18031be55578e12c911f73137632e5c92a04a53a85bcf99b7dae4ad4faddc483a99e3cf5d5cab6a8e22d09bc47e6ae38ce15e7ba9b07fc10e9ea4 +DIST aardvark-dns-v2.1.0-vendor.tar.gz 10972640 BLAKE2B f10909a4c349993bbef80b76cca0b228c38bdbb7f248f932df333f5d6e7c75a24e1d47ce26a4414875e9b996f34729242b6431ef86a99ff1108f1c901be8452f SHA512 ce37fa79aabfc1d1bc1cc8db9c904930010d16eea082b9f525252294b5c318a717468729e3569cddd7c03d39f76b4627c0e09b8ea4df42bb11da588c871dd041 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-2.1.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-2.1.0.ebuild new file mode 100644 index 00000000000..db908f0c5ef --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-2.1.0.ebuild @@ -0,0 +1,53 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_MIN_VER="1.88.0" +[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" +inherit cargo + +DESCRIPTION="A container-focused DNS server" +HOMEPAGE="https://github.com/containers/aardvark-dns" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/aardvark-dns.git" +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" +fi + +# main +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" + +PATCHES=( + "${FILESDIR}"/${PN}-2.1.0-musl-close_range.patch #bug #980641, fixed in >2.1.0 +) + +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_install() { + local -x PREFIX="${EPREFIX}"/usr + default +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/files/aardvark-dns-2.1.0-musl-close_range.patch b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/files/aardvark-dns-2.1.0-musl-close_range.patch new file mode 100644 index 00000000000..e592df3dcdc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/files/aardvark-dns-2.1.0-musl-close_range.patch @@ -0,0 +1,43 @@ +From 9e73fd8ddde844d755f3f992ca9cd7bb0502d87e Mon Sep 17 00:00:00 2001 +From: Pepper Gray +Date: Tue, 11 Aug 2026 00:03:34 +0200 +Subject: [PATCH] add syscall for close_range for non-glibc targets + +compiling on musl fails with error: +``` +error[E0425]: cannot find function `close_range` in crate `libc` +``` + +use syscall for targets which do not provide a `close-range`-wrapper + +Closes: #730 +Signed-off-by: Pepper Gray +--- + src/main.rs | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/src/main.rs b/src/main.rs +index f3af0d6a..c20761e1 100644 +--- a/src/main.rs ++++ b/src/main.rs +@@ -32,9 +32,19 @@ enum SubCommand { + Version(version::Version), + } + ++#[cfg(any(all(target_os = "linux", target_env = "gnu"), target_os = "freebsd",))] ++unsafe fn close_range(first: libc::c_uint, last: libc::c_uint, flags: libc::c_int) -> libc::c_int { ++ unsafe { libc::close_range(first, last, flags) } ++} ++ ++#[cfg(all(target_os = "linux", not(target_env = "gnu"),))] ++unsafe fn close_range(first: libc::c_uint, last: libc::c_uint, flags: libc::c_int) -> libc::c_int { ++ unsafe { libc::syscall(libc::SYS_close_range, first, last, flags) as libc::c_int } ++} ++ + fn main() { + // Close all fds we inherited from our parent process, we only need stdio. +- let _ = unsafe { libc::close_range(3, libc::c_uint::MAX, 0) }; ++ let _ = unsafe { close_range(3, libc::c_uint::MAX, 0) }; + + let formatter = Formatter3164 { + facility: Facility::LOG_USER, 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 d932d0806d8..29f0808de0f 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 @@ -1,3 +1,4 @@ DIST containerd-2.2.5.tar.gz 10922595 BLAKE2B 2f6a4653d3b5dcb7a82e9255e7557d5e92c1c65f344abce4fe44bebde2727cc6a414be235e9cdcebaca1660326dfa249cf3f559505e3c7529bf463199a0e3f4c SHA512 5d658c8daa48e3b5369995847d15e3dae4367e7221a5a34115bb74723707053378a2d489b29e6f2742e04bdfc2362c02df34fcb403fc0adb144e19bd352d7741 DIST containerd-2.3.2.tar.gz 11653431 BLAKE2B eae465cfa0f2a3a4bb231dcf9e18b93e9644be6ff11fb04d712367a74adce5456a3f15811fcbb0c1f78ca9b5ae32077d8e8a476d09c7913ffab82fe23d00369d SHA512 2ce4744e0a93917fa45c2930c22853315577f217fe66d4761a96f4289241cdc930b52e8f646a28e0277747396f031964085c03885824a2f12dd6950ab651b348 DIST containerd-2.3.3.tar.gz 11655312 BLAKE2B 9ddc68a0e6c0dd844e6f27a3df4e4e2c461ba1feb473f76b3da4f1d23a25bd6c159695d57a9775d8d638c2bd353a622eb8462124015f993008c763b7d2809473 SHA512 a2a8a30d5251b5d0f9be75f44972509e05ce2b206c3b488b8fb15828e44982aeec6c54cfb65ddc3309c974293496f77b096f0c2ee541b3ece8ef81f36abec6b8 +DIST containerd-2.3.4.tar.gz 11667896 BLAKE2B ad83ac029cefa3cb2dcc5989450cc00cfa51f0d9d8b08427da1bb09c59e2582df111cfe28356f31a52927aafe6a23e1caa88c6b2b9247b4c0241f6c97d6a1086 SHA512 cf8be1759399fb9e3b7c84d353a876b8f599b74fb3094a288333cf0b61a743b74484cbde7eab96576b214c92caf7de65ef94813bb3670e079585c371a438f6b4 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.2-r1.ebuild index ebfcede63d9..bc58e0fee08 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.2-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.2-r1.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}. LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" IUSE="apparmor btrfs device-mapper +cri +seccomp selinux test" # tests require root or docker RESTRICT="test" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.4.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.4.ebuild new file mode 100644 index 00000000000..5900da1e8c9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.4.ebuild @@ -0,0 +1,83 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-env go-module systemd toolchain-funcs + +GIT_REVISION=db8809540e1a7a9da5d518876894933ff55692ab + +DESCRIPTION="A daemon to control runC" +HOMEPAGE="https://containerd.io/" +SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="apparmor btrfs device-mapper +cri +seccomp selinux test" +# tests require root or docker +RESTRICT="test" + +DEPEND=" + btrfs? ( sys-fs/btrfs-progs ) + seccomp? ( sys-libs/libseccomp ) +" +# recommended minimum version of runc is found in script/setup/runc-version +RDEPEND="${DEPEND} + >=app-containers/runc-1.4.3[apparmor?,seccomp?] + selinux? ( sec-policy/selinux-docker ) +" +BDEPEND=" + dev-go/go-md2man + >=dev-lang/go-1.26.3 + virtual/pkgconfig +" + +src_prepare() { + default + sed -i \ + -e "s/-s -w//" \ + Makefile || die + sed -i \ + -e "s:/usr/local:/usr:" \ + containerd.service || die +} + +src_compile() { + local options=( + $(usev apparmor) + $(usex btrfs "" "no_btrfs") + $(usex cri "" "no_cri") + $(usex device-mapper "" "no_devmapper") + $(usev seccomp) + $(usev selinux) + ) + + local myemakeargs=( + BUILDTAGS="${options[*]}" + REVISION="${GIT_REVISION}" + VERSION=v${PV} + ) + + emake "${myemakeargs[@]}" all + + # race condition in man target https://bugs.gentoo.org/765100 + tc-env_build go-env_run emake "${myemakeargs[@]}" man -j1 #nowarn +} + +src_install() { + rm bin/gen-manpages || die + dobin bin/* + doman man/* + newconfd "${FILESDIR}"/${PN}.confd "${PN}" + newinitd "${FILESDIR}"/${PN}.initd "${PN}" + systemd_dounit containerd.service + keepdir /var/lib/containerd + + # we already installed manpages, remove markdown source + # before installing docs directory + rm -r docs/man || die + + local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. ) + einstalldocs +} 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 e96945bc72d..88697290727 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 @@ -3,3 +3,4 @@ DIST crun-1.20.tar.gz 1787750 BLAKE2B 4f31c21056c6c764c76021d3121dfaa4dd9b91f17d DIST crun-1.21.tar.gz 1788933 BLAKE2B bc854f8eb24566d608e90b44cb7dd2509b59cf6594eef244839f15beef2d241eab7149aabcf2156694043ab00367e312f58599deb324b85493555958eedaf849 SHA512 dbec4b55645587046a83903822a00b93092b26fdf36d6df9b086674815b53a9a60f907c1611eb9535f3186a03d6e8a98ae6e40e9f4e287855ea17745c3578d4f DIST crun-1.25.1.tar.gz 1867772 BLAKE2B 8bd15f34d867800838514d6fcc1fe90de5488ad29addb483148ab15027bcebaa7d5eb23dfe9d939679e1f0168c7104e0a3de1eaedc13de898faa1e116761b92f SHA512 46ec1efbd0532c2c531daad770670082bb57c5d11959f328ee6d20c4e4d6ba2a050150883fd01475f94850eb3ee8ce4bc8654f76cee3f83edebf208cd32d1cf8 DIST crun-1.28.tar.gz 1585077 BLAKE2B bc7d7cdaad87ad4131247f07fc947de69c51a7f6f909939f8b3e49035493dc87648d01340d9a1495af3c84741e4a619815ad6c012099fb3391958fdfda1bde8c SHA512 b27af828aaf8d7911669ab2df396ba8e314f6a14e31c7d40e19d79e9ba3f9e301e70e82a1d56def5aef171d2b69ac40ec7624ccd4cfd060f06e7762f801037ec +DIST crun-1.29.1.tar.gz 1605621 BLAKE2B fb65f471f599a7bcd87fef7a95223a20f7bb3b86f3a71301bcb0dd595071b124154ca1f49173d3b26f34c0fb9034b4baed98c9effa7fcb3504d0a834081e7b1a SHA512 cf3f8fb0051ffb8eae30a1795557796696a67cc9a2e3b788e4a55621c87959f12ad4bb38e0010bcc3ac8e8fc5f3828fc3440a15c65e2190d6bb93472dcf9c64d diff --git a/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.28.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.28.ebuild index 24f1aec250c..dcde4154de4 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.28.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.28.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..14} ) inherit autotools libtool python-any-r1 flag-o-matic toolchain-funcs @@ -15,7 +15,7 @@ if [[ "${PV}" == *9999* ]]; then EGIT_REPO_URI="https://github.com/containers/${PN}.git" else SRC_URI="https://github.com/containers/${PN}/releases/download/${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv" + KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv" fi LICENSE="GPL-2+ LGPL-2.1+" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.29.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.29.1.ebuild new file mode 100644 index 00000000000..4346f45c55f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.29.1.ebuild @@ -0,0 +1,87 @@ +# Copyright 2019-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..15} ) + +inherit autotools libtool python-any-r1 flag-o-matic toolchain-funcs + +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/json-c:= + sys-kernel/linux-headers + caps? ( sys-libs/libcap ) + criu? ( >=sys-process/criu-3.15 ) + elibc_musl? ( sys-libs/error-standalone ) + seccomp? ( sys-libs/libseccomp ) + systemd? ( sys-apps/systemd:= ) +" +RDEPEND="${DEPEND} + selinux? ( sec-policy/selinux-container ) +" +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig +" + +src_prepare() { + default + elibtoolize + eautoreconf +} + +src_configure() { + if use elibc_musl ; then + append-cflags "$($(tc-getPKG_CONFIG) --cflags error-standalone)" + append-libs "$($(tc-getPKG_CONFIG) --libs error-standalone)" + fi + 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-buildx/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/docker-buildx/Manifest index 305006ff308..a85c8ade34d 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker-buildx/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker-buildx/Manifest @@ -5,3 +5,4 @@ DIST docker-buildx-0.20.1.tar.gz 12049522 BLAKE2B cc370f8a6bc82d9358cb59f9964544 DIST docker-buildx-0.21.2.tar.gz 13608048 BLAKE2B 8229fe6d8d1b2b9f35213ae0ae879d90d7f96ca4688c787e7dcbb88e0aaa4444519c4e5fca51acf9e9d6f2bf697adf74b2c2d8440eec1660dbf10496eb76c243 SHA512 a90a9af1a9b986f99a08f3e53ca06cfac64378a92ab887653d3aa9e1538ef87fec4fbd719c5087782cf7dc5eb8845c9c0786605e7386d759c0e33ef5f121fbba DIST docker-buildx-0.34.1.tar.gz 15417849 BLAKE2B b302d1f2331ba7f76c79358be197436ac37e3d4ebea154ae441fc05b787544d9cd037bff2ae8140f9475ddfa3cad77e0a136b1a423d29cb73bdb42218ade5da0 SHA512 be69ff92a136e169456710c369099bd33ed0ae17271133fe0322fe1664c868ad76dd74265879fa783fa257a6ed6dca37c213d1153de9e903833b59cde4181d0b DIST docker-buildx-0.35.0.tar.gz 15243338 BLAKE2B d5529d81cd2745366e46da1f805da6b4b47a4002260c5f351cddafbba4cc55fbad3be182e94d89453de62fdda3adc7bde2713010122439ce72a7cc53e49b3f6f SHA512 208251fe59d016bbb1d34abacab4813169577c474ad62f47afdcce4f2484e8535a452bfa0b8dbadc465590cae935896bfeec2263934262cdb769a27b59b4c5de +DIST docker-buildx-0.36.1.tar.gz 15022684 BLAKE2B c927c4e310cd72a9cbffb00d637e0c596828ea1ad1aee8725cdaa9163dc100a35c0898b25f7123ed1c926006f7b3e632c4b579eeeeb296cd25b331f9e7d64699 SHA512 669a1fa58570f56dfc6d5a0cf79f09e5a326b997a26a79e9bdbc263b1b847200d6bcc8fa1a37be43a77573d32c04d093959ec793cfd503cef524cbfdb9332339 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker-buildx/docker-buildx-0.35.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker-buildx/docker-buildx-0.35.0.ebuild index 5e941c9e611..39c2b485614 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker-buildx/docker-buildx-0.35.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker-buildx/docker-buildx-0.35.0.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/docker/buildx.git" else SRC_URI="https://github.com/docker/buildx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" S=${WORKDIR}/${P#docker-} fi diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker-buildx/docker-buildx-0.36.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker-buildx/docker-buildx-0.36.1.ebuild new file mode 100644 index 00000000000..a339148875b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker-buildx/docker-buildx-0.36.1.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +inherit go-module + +DESCRIPTION="Docker CLI plugin for extended build capabilities with BuildKit" +HOMEPAGE="https://github.com/docker/buildx" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/docker/buildx.git" +else + SRC_URI="https://github.com/docker/buildx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + S=${WORKDIR}/${P#docker-} +fi + +LICENSE="Apache-2.0" +# Dependent licenses +LICENSE+=" Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0" + +RDEPEND="app-containers/docker-cli" +BDEPEND=">=dev-lang/go-1.26.3" + +src_compile() { + local _buildx_r='github.com/docker/buildx' + local version=${PV} + if [[ ${PV} == 9999 ]]; then + version="$(git rev-parse --short HEAD)" + fi + local go_ldflags=( + "-linkmode=external" + -X "${_buildx_r}/version.Version=${version}" + -X "${_buildx_r}/version.Revision=$(date -u +%FT%T%z)" + -X "${_buildx_r}/version.Package=${_buildx_r}" + ) + ego build -o docker-buildx -ldflags "${go_ldflags[*]}" ./cmd/buildx +} + +src_test() { + # TestGit can't work in a source tarball; TestReadTargets fails seemingly due to parallelism. + if [[ ${PV} == 9999 ]]; then + ego test ./... -skip "TestReadTargets|TestIntegration" + else + ego test ./... -skip "TestGit|TestReadTargets|TestIntegration" + fi +} + +src_install() { + exeinto /usr/libexec/docker/cli-plugins + doexe docker-buildx + + einstalldocs +} 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 68d5672b3a7..c90b074ab35 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 @@ -9,3 +9,4 @@ DIST docker-cli-28.2.2.tar.gz 7531638 BLAKE2B cb7d2766e4a6c444169f8462379b8524e0 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 DIST docker-cli-29.5.2.tar.gz 6828313 BLAKE2B c62bf6acd83a6db72dbf3f65be34e0738b38e6ade12ae15c1b1bcc69b648628b85dac523bd876c0f473cd9d12408c738b1728b8e33aab87034a76ec0aec36388 SHA512 3c569dbbcef6e9720a126147175f67297acab9a4ae8dd2af544b48eca70519dfd3c5312bf4ffab777e59a251cfdc5965217b0d3ca4c2eb41117c2e3b465bbb8a +DIST docker-cli-29.7.2.tar.gz 6893753 BLAKE2B f744e147e32eeea233398c35b998d1e7f7b17066cd2d9c4d0fe8a2e155ff0445ff90d844181f7758c85fcd87b57e0b9a702449e9fef2131a8d9d04f186081b3f SHA512 0b118d17e205277c15b90e29a2f9bad3b385f59ea3b8d6e32371c103ceadd0fb964e91f3d57f5b87dc0a1b0778afbc41680087e91fdb4c8037abab6b6e222b80 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-29.5.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-29.5.2.ebuild index a492870e7e0..26a997d780a 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-29.5.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-29.5.2.ebuild @@ -16,7 +16,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="selinux" RDEPEND="selinux? ( sec-policy/selinux-docker )" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-29.7.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-29.7.2.ebuild new file mode 100644 index 00000000000..f87be5bce15 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-29.7.2.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit shell-completion go-env go-module toolchain-funcs +MY_PV=${PV/_/-} + +# update this on every bump +GIT_COMMIT=a7dcaa6fdb6ed04aacbfdc76357fdae01605609e + +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="selinux" + +RDEPEND="selinux? ( sec-policy/selinux-docker )" +BDEPEND=" + dev-go/go-md2man + >=dev-lang/go-1.25.0 +" + +RESTRICT="installsources strip test" + +src_prepare() { + default + sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die + ln -s vendor.mod go.mod || die + ln -s vendor.sum go.sum || die +} + +src_compile() { + export DISABLE_WARN_OUTSIDE_CONTAINER=1 + + myemakeargs=( + VERSION="${PV}" + GITCOMMIT="${GIT_COMMIT}" + ) + + emake "${myemakeargs[@]}" dynbinary + tc-env_build go-env_run emake "${myemakeargs[@]}" 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 d3b72581dc0..eadb535aae5 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 @@ -5,3 +5,4 @@ DIST docker-28.2.2.tar.gz 17861904 BLAKE2B 6f55e96d653579b749908080550ebee063554 DIST docker-28.4.0.tar.gz 18066393 BLAKE2B 70c9910bec169994ddd39f46e4a7042e5f38a3b76e8a43389ee934fb7f3c75ae686f32ad7f3cbc0dcff210b5c0eeed24674db0fdf4e845e78c330cf6c2b75918 SHA512 a98f8012547dc1e61e6a4f420355d29fbd6f6ddb5642601d8762099768e0b284fcf129ee31af155049731f61f43ff4efe42313467055dae32337dc5cc8c8cf78 DIST docker-29.1.3.tar.gz 19491833 BLAKE2B ded1a1832b1ce037776e04855a0ea7c3f45981df41bdace54c3b84496a2990b0450ed62b34a6f3c289dec2643d28a7563c9afba55c88fc0e1cc4fb7855220800 SHA512 e3fa96057beb2849fea6e4fd480b08ffbe9b74b851060901e54e57aa62938888b260b7cef4cee33d4cffd965fabc0db7fc0aa5aeeae9aa6b9870c3dbcf7b6ec3 DIST docker-29.5.2.tar.gz 21115630 BLAKE2B f47b730a470c0ab4868beb6d4187b9ff34d06ecf4f381f3e89b89e6f9b18b5bf4c9220ee2e0d6977d4b2b0dfddd4fb9f7e171316dcb2935428bfc9ca350dd17f SHA512 c5cbb956711e9ce8dbab010bf1eab3fd9b35e35806188e3030a3bbeafb545f4024504577df7c39588672c8d5252f6ab071bcfd6377867f4668b75855571469fb +DIST docker-29.7.2.tar.gz 22043949 BLAKE2B 78bd52de33f2ecbc4272150add52b4b293629aeae2aa746f32c5134c2905a93cfc92db65510f707621689d8794c6a759952b58bd50a3852149cbeeab3f29d12c SHA512 f04e264c499854525ed7ef694ebea3c9fd449c6a538ed449e228728b87b654c86962d639fad45081d328db749f58493e18286217d2d95ca492028b79c99c0beb diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-29.5.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-29.5.2.ebuild index 56db6666c11..8d1387f7186 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-29.5.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-29.5.2.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}/moby-${PN}-v${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-29.7.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-29.7.2.ebuild new file mode 100644 index 00000000000..045910e450c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-29.7.2.ebuild @@ -0,0 +1,337 @@ +# Copyright 1999-2026 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=6a43e3d5afddf4111da0f864bbc7cae5d7e95001 + +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 + >=dev-lang/go-1.26.3 +" +# 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 + 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 +} + +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 02d16cbb96d..d9df4cc0082 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/incus/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/incus/Manifest @@ -2,3 +2,6 @@ DIST incus-7.0.1.tar.xz 13961756 BLAKE2B 6266f2c1984a8fd7b1290b6e772d01f95c6d849 DIST incus-7.0.1.tar.xz.asc 833 BLAKE2B db72bbeacadb282964f2214bd6f2fd6548e6b6d83fb861e5f9662e67a070e4827102be920c2702ee406c3b197cbd1dc96934dcdd6dcc677538d16c89f23ff1eb SHA512 08d29eaced3c70002f1b3963443467b5a62a80bb19a680d4ea52caf7c422195fbab3887ee38036cc8a8ea77cd72a401d0e53cd400f7267fcf9edd59b3fdeef30 DIST incus-7.2.tar.xz 13899812 BLAKE2B 67504a86755517f785cfcb869560a5ba8bda86c538e172a53309362a8590266c1c748840ff33a55a435daaf99a38b108a0becca514bcfc90c4296fad25145f97 SHA512 219e9de0d483fdb05dc7782d129de81864903b61c010c97d2606b59487be95a2a0362c5b54909471f8fe20777bbcec88c82a86d803227e28f28f8def7a5ba613 DIST incus-7.2.tar.xz.asc 833 BLAKE2B a01ea73af3cc3447874627fa1687fbde2346f7cba77a607a3decf07def91026260aa34a1aeaaa7392d3ddd543e1530d50b657117b72e22210f811c8f6bc91535 SHA512 87f609cb97c07306b9578e869948e28f4739a1ad2d9da7ddf4614429eadb08972dd4f80e7c8c6e2fabb7bfc975ca2273432c0a975041d45cea8b1129c769772a +DIST incus-7.3-cve-commits-bgo980304.tar.xz 9564 BLAKE2B 9c53f58e460608ae67d16be04e030515cc2862575739fb89c48627f2fc9c29c2472640dc28aa42cd634916a2375a7e1858a47a654cf408714246cd110b11e850 SHA512 96c0c6ae80096e9af3f9e2dd348bd48b553c9bbdff57bd3214e17032cdf459d450a6d25afca79b9197d1add06c01a35be5f63c910ab6e5c9d71643cebd52507c +DIST incus-7.3.tar.xz 14151148 BLAKE2B 1f4109d956599ce798a3c156e1b37e9dfcea9350498e3cd2703b692d367da79f76cff482f9042bd35a58b99ae67fea8a7b393aaa2a9f13c54ea25ac68cd995ea SHA512 aad1a35bbe150cd3f1beee233839bff23c636a4bd9e2ff99a26f15adc971b5a383fae3900f4e7cf6997b153560f8f18dfab87f1e68d859f5a338e3522209a5c4 +DIST incus-7.3.tar.xz.asc 833 BLAKE2B 62b81b3f97f0965dd6153a4b271942c81a1f217047b04c1d96108b49fa775be06cd610e2a1418f572cce2fda2dd8509223437c4241ec6d1a8eacae7c085b6d8d SHA512 3169f98a7c4bd2d5cd9a04b538dd21bf5e34d602d4651549da9c32043be8706fb55b2256685ce16fc9b167efe8d4f2f81a3500ca8726a9f6d7f892c7275c06ee diff --git a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-7.0.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-7.0.1-r1.ebuild new file mode 100644 index 00000000000..5315a1f3244 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-7.0.1-r1.ebuild @@ -0,0 +1,274 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-env go-module linux-info optfeature systemd toolchain-funcs verify-sig + +DESCRIPTION="Modern, secure and powerful system container and virtual machine manager" +HOMEPAGE="https://linuxcontainers.org/incus/introduction/ https://github.com/lxc/incus" +SRC_URI="https://linuxcontainers.org/downloads/incus/${P}.tar.xz + https://dev.gentoo.org/~juippis/distfiles/incus-7.3-cve-commits-bgo980304.tar.xz + verify-sig? ( https://linuxcontainers.org/downloads/incus/${P}.tar.xz.asc )" + +LICENSE="Apache-2.0 BSD LGPL-3 MIT" +SLOT="0/lts" +KEYWORDS="amd64 ~arm64" +IUSE="apparmor fuidshift nls qemu selinux" + +DEPEND="acct-group/incus + acct-group/incus-admin + app-arch/xz-utils + >=app-containers/lxc-6.0.0:=[apparmor?,seccomp(+)] + dev-db/sqlite:3 + >=dev-libs/cowsql-1.15.9 + 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} + fuidshift? ( !app-containers/lxd ) + net-firewall/ebtables + net-firewall/nftables[json] + sys-apps/iproute2 + sys-fs/fuse:* + >=sys-fs/lxcfs-6.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 + ) + selinux? ( sec-policy/selinux-incus )" +BDEPEND=">=dev-lang/go-1.25.11 + 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 use verify-sig ; then + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.asc} + fi + go-module_src_unpack +} + +src_prepare() { + export GOPATH="${S}/_dist" + + default + + # bgo#980304, patch multiple CVEs before 7.0.2. + eapply "${WORKDIR}"/incus-7.3-cve-commits-bgo980304/*.patch + + 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() { :; } + +incus_get_bindir() { + local host_arch=${1} + if [[ "${GOARCH}" != "${host_arch}" ]]; then + echo "_dist/bin/linux_${GOARCH}" + else + echo "_dist/bin" + fi +} + +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 + + local bindir=$(incus_get_bindir "$(go-env_goarch "${CBUILD}")") + + # Build the VM agents, statically too + if use amd64 ; then + GOARCH=amd64 CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.linux.x86_64 -v \ + -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent + GOARCH=386 CGO_ENABLED=0 ego build -o "${bindir}"/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 "${bindir}"/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 "${bindir}"/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 "${bindir}"/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 "${bindir}"/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}") + local bindir=$(incus_get_bindir "${GOHOSTARCH}") + + 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/agents + 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 "ipv6 support" net-dns/dnsmasq[ipv6] + optfeature "full incus-migrate support" net-misc/rsync + optfeature "btrfs storage backend" sys-fs/btrfs-progs + 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-7.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-7.3-r1.ebuild new file mode 100644 index 00000000000..8d2b2fcf70d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-7.3-r1.ebuild @@ -0,0 +1,279 @@ +# Copyright 1999-2026 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} + fuidshift? ( !app-containers/lxd ) + net-firewall/ebtables + net-firewall/nftables[json] + 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 + ) + selinux? ( sec-policy/selinux-incus )" +BDEPEND=">=dev-lang/go-1.25.12 + 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" + +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 + go-env_set_compile_environment + 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() { :; } + +incus_get_bindir() { + local host_arch=${1} + if [[ "${GOARCH}" != "${host_arch}" ]]; then + echo "_dist/bin/linux_${GOARCH}" + else + echo "_dist/bin" + fi +} + +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; 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 + + local bindir=$(incus_get_bindir "$(go-env_goarch "${CBUILD}")") + + # Build the VM agents, statically too + if use amd64 ; then + GOARCH=amd64 CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.linux.x86_64 -v \ + -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent + GOARCH=386 CGO_ENABLED=0 ego build -o "${bindir}"/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 "${bindir}"/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 "${bindir}"/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 "${bindir}"/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 "${bindir}"/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}") + local bindir=$(incus_get_bindir "${GOHOSTARCH}") + + newsbin "${FILESDIR}"/incus-startup-0.4.sh incus-startup + + # Admin tools + for l in incusd incus-user; 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/agents + 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 8d30b9cb7c7..8d2b2fcf70d 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 @@ -49,7 +49,7 @@ RDEPEND="${DEPEND} sys-apps/gptfdisk ) selinux? ( sec-policy/selinux-incus )" -BDEPEND=">=dev-lang/go-1.25.10 +BDEPEND=">=dev-lang/go-1.25.12 nls? ( sys-devel/gettext ) verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" 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 cf3aac523d5..2304d8acd94 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,8 @@ DIST netavark-1.17.1.crate 174659 BLAKE2B a31fd13f31b671274000ae6a43ceefb0b0d1cd32026fd86ac01dc30acb55cf25b28016e5a8e7c91760384e61bb62d6edfcd48b163abc2000ff43201edac7e054 SHA512 dff64afaf982ba38c8a991ffafffbba2dce7abf70b4763eba662ef82f01629f265e2421d622a27a1db9e26ea44f33b5c8dbab2fdcf9b643b3d845b8ca624ba57 DIST netavark-1.17.2.crate 175788 BLAKE2B 94f6f202eca445267f063d53a47e572055fa6a7b2839d5e95246ff93dad0c55866571456459600cd57f42001dd75b4ae5bbdad6e7b95fa9b95616137fd87f03d SHA512 7a6a12fb58a190462d6a2171ac28df03686d09d371cb84e702278cda190111c24603060048f8cf7bd9a8ad334dc056efaa901604d08145009adf9e10eabf1aee DIST netavark-2.0.0.crate 185348 BLAKE2B 591e413e2058c2df3b66fa06eb8d13f0d19a7b9b8c29cc804cd1c38932f7e1df4c6ac9033b3ed40b494053c1decb4a8d703404b13a89123ddbfb4d4ad1ad2511 SHA512 384940e713162f149ca8ebb8c03e4ac505cab8482155fbd622091d165ceb0f0101842e87fb11b57e57ed677cd31ce3a77f140b2cb8b2852754d31eea3962895a +DIST netavark-2.1.0.crate 188118 BLAKE2B 2a1cf5a4236428f356635551a15f65e1d3604257a816c45641ac4d99a4aba09c85a69ea82e468d8f1bac7f5f4431e65b410e69e17c34145ebb48301e80b726b7 SHA512 68ebb930e96e5d3b2cbeb2f7fa42fcb98cc53dc0e9bccdba07c4927cf0c3ec8d5d6480fff5aa99265ee8cc41739499c554f91b1ff8b3d4ffa3cd263889467bf5 DIST netavark-v1.17.1-vendor.tar.gz 17711446 BLAKE2B d3b7030d411a4bd848127508e43a65e278a75a1ffcdca7b9e8ea46180d2e8da26be5e4eaa21fad22197f9eb9fd28413dc21a7d10b42f98d882990eeb750bb737 SHA512 9f7e5ee54b776ec27511a937e6ebb30b70a527f9232d635a9755459afee569fc37d715626b92ea2aa08637d6e63dada4f55ad6757f3a0a7aae753637349f6193 DIST netavark-v1.17.2-vendor.tar.gz 17711355 BLAKE2B a4967f3496635da375aa9adb22b9d5cdef2b5463b53b7bb31c1d0236c84edb36727a391cdbf8c81a7b2caa2675c173ff01ee3974465d4143c139d956951ff774 SHA512 2d34a237c540acd05590c09f07e57b1b0a765b746332cbc27337a4c31e2db4b92861629b1418a9c3990a0f25c659d537a8c7b7d2e63247fa3df39c092e80a59d DIST netavark-v2.0.0-vendor.tar.gz 20282162 BLAKE2B bed4a1023d20c88985fd8ad07e24a051f37483fab12e1770bf62a01cd092f1329b47a876fe989839db1543de317d16cbf985fd9730767908e0a0f1b5c970407b SHA512 125dcded2218e183020582c2bb1778667d812cb5009c6264fec14b0500329c493a57a01f0c72e1e2d7cc2cfef4462b0ccc68af1b4f745e35bddbcc1550835509 +DIST netavark-v2.1.0-vendor.tar.gz 20936193 BLAKE2B 12e94fb0b6f3af2f3128d5864ce6a371e4e901389e65ad6ba2dde44f713573cc7292ccc598e47e21ab27944d6c6edb5a39adf115bf35767e7dcef273851fdaa7 SHA512 175a93d38579bee64a9dcc1b834f5d229a8e3129184076ffe7e164a4a71ada514828ff8a63a78eaec0b607d89cabb045363ee86e11695122d76f99cc7bef1151 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-2.1.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-2.1.0.ebuild new file mode 100644 index 00000000000..9d93db474e9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-2.1.0.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" +RUST_MIN_VER="1.88.0" + +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" + +RDEPEND=" + >=app-containers/aardvark-dns-2.0.0 + net-firewall/nftables[json] + ! hack/"${feature}"_tag.sh || die + #!/usr/bin/env bash + $(usex ${feature} "echo ${feature}" echo) + EOF + done + + cat <<-EOF > hack/btrfs_installed_tag.sh || die + #!/usr/bin/env bash + $(usex btrfs echo 'echo exclude_graphdriver_btrfs') + EOF + + # hardcode using system sqlite instead of bundled one + [[ -f hack/sqlite_tag.sh ]] && echo -e '#!/usr/bin/env bash\necho libsqlite3' > hack/sqlite_tag.sh || die +} + +src_compile() { + export ETCDIR="${EPREFIX}/etc" 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) + + 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 + + if use cron; then + exeinto /etc/cron.daily + newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update + fi + 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 +} + +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-6.0.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.0.2.ebuild index 3d85cc9941a..9e0c4ede01d 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.0.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.0.2.ebuild @@ -42,7 +42,7 @@ RDEPEND=" btrfs? ( sys-fs/btrfs-progs ) wrapper? ( !app-containers/docker-cli ) seccomp? ( sys-libs/libseccomp:= ) - selinux? ( sec-policy/selinux-podman sys-libs/libselinux:= ) + selinux? ( sec-policy/selinux-podman ) systemd? ( sys-apps/systemd:= ) " DEPEND="${RDEPEND}" @@ -105,12 +105,12 @@ src_compile() { tc-export PKG_CONFIG fi - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" \ + emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" SELINUXOPT= \ all $(usev wrapper docker-docs) } src_install() { - emake DESTDIR="${D}" install install.completions $(usev wrapper install.docker-full) + emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.1.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.1.0.ebuild new file mode 100644 index 00000000000..0434e661e7f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.1.0.ebuild @@ -0,0 +1,141 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..14} ) + +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/podman-container-tools/podman/ https://podman.io/" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/podman-container-tools/podman.git" +else + SRC_URI="https://github.com/podman-container-tools/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 cron +seccomp selinux systemd wrapper" +RESTRICT="test" + +RDEPEND=" + app-containers/catatonit + >=app-containers/conmon-2.1.10 + >=app-containers/container-libs-0.68.0[extra(-)] + app-crypt/gpgme:= + dev-db/sqlite:3 + 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 ) + systemd? ( sys-apps/systemd:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + dev-go/go-md2man + >=dev-lang/go-1.25.9 +" + +PATCHES=( + "${FILESDIR}"/${PN}-5.5.2-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 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 + + cat <<-EOF > hack/btrfs_installed_tag.sh || die + #!/usr/bin/env bash + $(usex btrfs echo 'echo exclude_graphdriver_btrfs') + EOF + + # hardcode using system sqlite instead of bundled one + [[ -f hack/sqlite_tag.sh ]] && echo -e '#!/usr/bin/env bash\necho libsqlite3' > hack/sqlite_tag.sh || die +} + +src_compile() { + export ETCDIR="${EPREFIX}/etc" 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) + + 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 + + if use cron; then + exeinto /etc/cron.daily + newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update + fi + + 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 +} + +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-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-9999.ebuild index 3d85cc9941a..0434e661e7f 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-9999.ebuild @@ -42,14 +42,14 @@ RDEPEND=" btrfs? ( sys-fs/btrfs-progs ) wrapper? ( !app-containers/docker-cli ) seccomp? ( sys-libs/libseccomp:= ) - selinux? ( sec-policy/selinux-podman sys-libs/libselinux:= ) + selinux? ( sec-policy/selinux-podman ) systemd? ( sys-apps/systemd:= ) " DEPEND="${RDEPEND}" BDEPEND=" ${PYTHON_DEPS} dev-go/go-md2man - >=dev-lang/go-1.25.7 + >=dev-lang/go-1.25.9 " PATCHES=( @@ -105,12 +105,12 @@ src_compile() { tc-export PKG_CONFIG fi - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" \ + emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" SELINUXOPT= \ all $(usev wrapper docker-docs) } src_install() { - emake DESTDIR="${D}" install install.completions $(usev wrapper install.docker-full) + emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman diff --git a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.4.3.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.4.3.ebuild index 5d640bb0897..54612d653df 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.4.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.4.3.ebuild @@ -17,7 +17,7 @@ S="${WORKDIR}/${PN}-${MY_PV}" LICENSE="Apache-2.0 BSD-2 BSD MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" IUSE="apparmor +seccomp selinux test" COMMON_DEPEND=" 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 99a7f747f13..d87e487bb0d 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,11 +1,3 @@ -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.17.tar.bz2 8308629 BLAKE2B e52c4cf6219a8ce877511c2cfb2e32abf9fafc66c280ddd5f37b7dc6abffaeb60a5ebe925332fd00735a81bb8bb9ebeff79d04d112bd52ec00c2e8692cea6eb0 SHA512 8c1fe6afb04034ed1579080cf8d384f5b331ac1bc277f77c8e9103d29971c944fcb4c072586d2c045630ef34483b355a1b35f1785dded6f8d8da1e4760bef308 -DIST gnupg-2.5.17.tar.bz2.sig 119 BLAKE2B b404b6cdff76187c410a7751708e1cbb0ad173658b8c0dde9726063b16c6e9d5c673cb6ae86142e00ca48790dc314968625ec6aa2364ba4a48a3cf0c03e9b06f SHA512 385de45addf2c857ebf054bcc85d03d4fc0ccd70149138baac5cfcefccd7c0b0e48219dd9da757f36b1c6411816dcb43213920442796da03fb38ee59709877a4 -DIST gnupg-2.5.18.tar.bz2 8307830 BLAKE2B 5d591f609a580c5e9a023c83707ad4baf3794595ff08eaa571c619bf5469fe32ca787cd39be3d0572cb8021e1dc66135d9523009e92c9c3b862ccd53a7060b12 SHA512 34542728ef09d23d63af21cfbc943e4a81a1c367b2bf4b892afe7428b06eaa3d105e34f5dcec1758e91ec9bac1c13fdd72418d946cd8580e34c07b57a07139a2 -DIST gnupg-2.5.18.tar.bz2.sig 266 BLAKE2B d7d9de7cf9dd3468e1cc1b03b766b81136cd90149046fe5990c449e055b3228b24c2e51f0d7c2113b3b0dfffd25d9b11df5b0f36e9964a5626795a3499cae784 SHA512 a9d79e92e61ae4e39c13d5659dc07de8f10d042e14faa88f97776ecb77cc65480ae4a687aa74d6c3cc8c102636ac69be7f10fb61ee1da678d6c92b5eefaffa36 -DIST gnupg-2.5.19.tar.bz2 8322515 BLAKE2B 2497ecc9345d7b38d3fd9e5685a1ba047713e95e27c78a5c1bfd9848dd5719506763127625a3550babd0b1e66430a0390a8687ad75b1f57929866fae01ecbad4 SHA512 3f20cd4cbf6cd57e458b3e5e60f9d3d06ae71ae26681257f313ba0fe3a04245560149b5b39220a7ec8fb1f94b67e47a021c72b72c55f2c3f511e32e463df87fa -DIST gnupg-2.5.19.tar.bz2.sig 119 BLAKE2B 0236943996ae324553f7554efac400e8f540be14b42bebe17c6338d0d3e045cdf62fe8533f4a84c1053a29ee475cd69e40045797857db1d213527134e616d642 SHA512 679163b60d0dd91741b1f6ea39203f919ba19b44784709ae6ea95f546f1c2a2b0e5e59b5cac9b3150b66aba0d5be82648244a2aa80bf7b0f2dba3756b164b68a DIST gnupg-2.5.20.tar.bz2 8327674 BLAKE2B 5a2890203cf4ac52d86897ffb104896c5cbc8ab6f088336f423cb539ae0d917e6df0dcb99b8d51d2d6cdc4068e5570e63982e78c14631a332b4fa87ba0ae16bb SHA512 73e5f3020271069421c220871caffcb6ec05c52a8e12d8dcbd214ce2b14a2b22ce0030d9e1fedf25c60ec1077a33630b0a6bd1cc1043fbbaf7083b998113f90f DIST gnupg-2.5.20.tar.bz2.sig 119 BLAKE2B fc54197b59aad9cb26cfcef062a25f882cf26e5cf8ca0c9d3672d4501cbe453b3334225291b3d4fbc4a49c7bb52102963a5386e9b59b4ec10a0385fe8be004b6 SHA512 0a54e9df9f1d6aa6d2f5fb841a3ae36d7530d3ab34bc7635892f58020e73e950a420120430206860e5eb4a7dc7b668f03e31eb42e381b25c4bca07f3e5f2f95b DIST gnupg-2.5.21.tar.bz2 8351785 BLAKE2B 3d00cb6e7779358886a8bb8710f5e00e43dfed6e4f495c8ae93b653ac7a688f4c622e721f64a657fd48ed2135c378d456e88828a1e0f5745ccf701cfd0b77d47 SHA512 dcc4e976e56411c0dd7309c0cb7e790b409709af55bb93883d257890abe72b17442d6c8fd682fef0e019d70e46a6a5cf860f1ae355a99024ed2aea230de8c0ea diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.9.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.9.ebuild deleted file mode 100644 index 51958f02087..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.9.ebuild +++ /dev/null @@ -1,218 +0,0 @@ -# Copyright 1999-2026 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 ~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 )" - -# 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.48 - >=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=$(get_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 - 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 - - 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.5.17-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.17-r2.ebuild deleted file mode 100644 index c985d9e41e8..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.17-r2.ebuild +++ /dev/null @@ -1,221 +0,0 @@ -# Copyright 1999-2026 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 ~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 )" - -# 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-r1:= - >=dev-libs/libgcrypt-1.11.0:= - >=dev-libs/libgpg-error-1.56 - >=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 - "${FILESDIR}"/0001-Fix-stub-functions-to-avoid-LTO-linking-bugs.patch - "${FILESDIR}"/0002-Fix-stub-functions-to-avoid-LTO-linking-bugs-followup.patch - "${FILESDIR}"/0003-agent-Fix-the-regression-in-pkdecrypt-with-TPM-RSA.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() { - 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 - # 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 - 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=$(get_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 - 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 - - 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.5.18.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.18.ebuild deleted file mode 100644 index 000c17b2422..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.18.ebuild +++ /dev/null @@ -1,219 +0,0 @@ -# Copyright 1999-2026 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 ~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 )" - -# 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-r1:= - >=dev-libs/libgcrypt-1.11.0:= - >=dev-libs/libgpg-error-1.56 - >=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 - "${FILESDIR}"/0002-Fix-stub-functions-to-avoid-LTO-linking-bugs-followup.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() { - 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 - # 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 - 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=$(get_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 - 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 - - 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.5.19.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.19.ebuild deleted file mode 100644 index c4d71e4158e..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.19.ebuild +++ /dev/null @@ -1,218 +0,0 @@ -# Copyright 1999-2026 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 ~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 )" - -# Existence of executables is checked during configuration -DEPEND=" - >=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 - >=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 - "${FILESDIR}"/0002-Fix-stub-functions-to-avoid-LTO-linking-bugs-followup.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() { - 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 - # 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 - 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=$(get_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 - 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 - - 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.5.20.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.20.ebuild deleted file mode 100644 index 93b1f9b8cd2..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.20.ebuild +++ /dev/null @@ -1,221 +0,0 @@ -# Copyright 1999-2026 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 ~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 )" - -# Existence of executables is checked during configuration -DEPEND=" - >=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 - >=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 - "${FILESDIR}"/0002-Fix-stub-functions-to-avoid-LTO-linking-bugs-followup.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() { - local myconf=( - # --enable-selinux controls ENABLE_SELINUX_HACKS which - # prohibits import of secret keys, so doesn't seem desirable - # to have that forced on with USE=selinux. - $(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 - # 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 - 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=$(get_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 - 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 - - 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.5.21.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.21.ebuild index e52a6cf4fa4..93b1f9b8cd2 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.21.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.21.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 ~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" 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 )" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.1.2.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.1.2.ebuild index cfb998de2ab..47e156d4efd 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.1.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.1.2.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 ~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" IUSE="common-lisp static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/Manifest b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/Manifest index 2a52565e751..90da87c1951 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/Manifest @@ -1,3 +1,4 @@ DIST qemu-10.2.2.tar.xz 141119364 BLAKE2B 810efae886e5ba56900882455cc8714923378e34995dceaec8177ba5cc7f922547b7cbf68f7ac3804e498b3b4b3895165646c81ff9ad50b09c8286e8b2293a72 SHA512 c5409530505c2d1e69a80f1750e377261cea8fee42516a0a89d0343b19d55f9d33579cef181d7cc04d51519e50a55dff1b89175e7685bb803468c8ce03929591 +DIST qemu-10.2.3.tar.xz 141095748 BLAKE2B e726111fe5d48482c9804463339b14e0465b61fefee63291cd3a1f50ad13788426d777501c857953d93113eeec400df35f97361b661b2d8c666dc379b43f06e3 SHA512 b91e151d41856c54276e8ab348cbfc322f8c88a140276c77f72dcdbdfea71fc49db1519ca6a2974af7b5a7966cc30d530ee4ad62176503261da351333a8676b1 DIST qemu-8.2.0.tar.xz 130008888 BLAKE2B a63667042e1e19c635568072d8dcc117320117e81e374a93cfb79e2363ebf505df3217fb098638e53c899eb6f83435221e8031f2aae003c27ec25af8654683b3 SHA512 92ec41196ff145cdbb98948f6b6e43214fa4b4419554a8a1927fb4527080c8212ccb703e184baf8ee0bdfa50ad7a84689e8f5a69eba1bd7bbbdfd69e3b91256c DIST qemu-9.2.0.tar.xz 135188800 BLAKE2B 5800556f356e4324124e250c02a07857eef3a6f22995a819fe972061fa750ebf7233da64ae4c0a3e775b1639c870be4b7312d86d9866fedf2bc99074aad0a10a SHA512 f92548623e4e31400c823a2d78417a8a4ecfccb07f3ee4883e2f2ad33054539d2a37d076dbc64df42c6c86c08fa7c2c975cd6e823aa14d5f20cef83348006813 diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-10.2.3.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-10.2.3.ebuild new file mode 100644 index 00000000000..3301b8dec35 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-10.2.3.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_REQ_USE="ensurepip(-),ncurses,readline" + +inherit edo linux-info python-any-r1 systemd toolchain-funcs udev + +MY_PN="qemu" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM" +HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent" +SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2 BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86" + +RDEPEND="dev-libs/glib" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/distlib[${PYTHON_USEDEP}] + ') + app-alternatives/ninja + dev-lang/perl +" + +QA_CONFIG_IMPL_DECL_SKIP=( + # FreeBSD & OpenBSD + elf_aux_info +) + +PATCHES=( + "${FILESDIR}"/qemu-8.1.0-find-sphinx.patch +) + +python_check_deps() { + python_has_version "dev-python/distlib[${PYTHON_USEDEP}]" +} + +pkg_setup() { + # While qemu-ga supports multiple modes, virtio-serial is the + # default. Make sure it's enabled in kernel. + CONFIG_CHECK="~VIRTIO_CONSOLE" + linux-info_pkg_setup + python-any-r1_pkg_setup +} + +src_configure() { + tc-export AR LD OBJCOPY RANLIB + + local myconf=( + --prefix=/usr + --sysconfdir=/etc + --libdir="/usr/$(get_libdir)" + --localstatedir=/ + --disable-bsd-user + --disable-linux-user + --disable-system + --disable-strip + --enable-tools + --disable-werror + --without-default-features + --enable-guest-agent + --python="${PYTHON}" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --host-cc="$(tc-getBUILD_CC)" + ) + + # Meson will not use a cross-file unless cross_prefix is set. + tc-is-cross-compiler && myconf+=( --cross-prefix="${CHOST}-" ) + + edo ./configure "${myconf[@]}" +} + +src_test() { + # qga only uses generic code covered by qobject tests, + # the full test suite requires at least one softmmu binary + emake check-unit +} + +src_install() { + dobin build/qga/qemu-ga + + # Normal init stuff + newinitd "${FILESDIR}/qemu-ga.init-r2" qemu-guest-agent + newconfd "${FILESDIR}/qemu-ga.conf-r1" qemu-guest-agent + + insinto /etc/logrotate.d + newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent + + # systemd stuff + udev_newrules "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules + + systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \ + qemu-guest-agent.service +} + +pkg_postinst() { + elog "You should add 'qemu-guest-agent' to the default runlevel." + elog "e.g. rc-update add qemu-guest-agent default" + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.3-r1.ebuild new file mode 100644 index 00000000000..71ec7c3f97d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.3-r1.ebuild @@ -0,0 +1,1034 @@ +# 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-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_{12..14} ) +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 + inherit verify-sig + MY_P="${PN}-${PV/_rc/-rc}" + SRC_URI=" + https://download.qemu.org/${MY_P}.tar.xz + verify-sig? ( https://download.qemu.org/${MY_P}.tar.xz.sig ) + " + + 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 +jpeg keyutils + lzo multipath + 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 valgrind 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.7.5:=[static-libs(+)] + >=dev-libs/nettle-3.7.3:=[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 ) + 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 ) + passt? ( net-misc/passt ) + 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.5 + >=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}[qemu_softmmu_targets_x86_64(+)] + ~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}[qemu_softmmu_targets_x86_64(+)] + ) + 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 + >=dev-util/gdbus-codegen-2.80.5-r1 + 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}] + ) +" +if [[ ${PV} != 9999 ]]; then + # https://www.qemu.org/download/ + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-mdroth )" + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/mdroth.asc +fi +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} ) + valgrind? ( dev-debug/valgrind ) +" +RDEPEND=" + ${CDEPEND} + acct-group/kvm + selinux? ( + sec-policy/selinux-qemu + sys-libs/libselinux + ) +" + +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}-10.2.2-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; 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 + use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sig} + 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) + $(use_enable valgrind) + ) + + # 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_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 passt) + $(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 + # 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 + # 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 + + # 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" + + 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.2.3.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.3.ebuild index c5ae7af86c3..1d3f2bb8bb7 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.3.ebuild @@ -48,7 +48,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" 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 ce50310c3e5..66693c5fc05 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 @@ -227,7 +227,7 @@ SOFTMMU_TOOLS_DEPEND=" >=app-emulation/spice-protocol-0.14.0 >=app-emulation/spice-0.14.0[static-libs(+)] ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) + ssh? ( >=net-libs/libssh-0.8.6[sftp,static-libs(+)] ) udev? ( virtual/libudev:= ) usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] ) usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) 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 d13ff8204d8..b071afadde2 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 @@ -60,8 +60,8 @@ 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 + +fdt fuse +gnutls gtk infiniband iscsi io-uring + jack +jpeg keyutils lzo multipath ncurses nfs nls numa opengl +oss pam passt +pin-upstream-blobs pipewire plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux @@ -179,7 +179,6 @@ SOFTMMU_TOOLS_DEPEND=" 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.7.5:=[static-libs(+)] >=dev-libs/nettle-3.7.3:=[static-libs(+)] @@ -192,7 +191,6 @@ SOFTMMU_TOOLS_DEPEND=" 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(+)] ) @@ -629,14 +627,12 @@ qemu_src_configure() { $(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) diff --git a/sdk_container/src/third_party/portage-stable/app-misc/jq/Manifest b/sdk_container/src/third_party/portage-stable/app-misc/jq/Manifest index f7783d7825e..f40b6369e74 100644 --- a/sdk_container/src/third_party/portage-stable/app-misc/jq/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-misc/jq/Manifest @@ -1,3 +1 @@ -DIST jq-1.7.1.gh.tar.gz 1323338 BLAKE2B 17e3b68e23f9a7f1aa8749ede6c0b8fe435990899886f0c96da36d130c17d13609ba7f910321316f0c3b35985360f8cb5e6a3b12caea5e9bc7792e128798f137 SHA512 af9c444e5306423182f467a53acdf45bb8aefa058a47f490ce16395f0aebfb7627e3843f65e96f41cd9d4b72b8ad274ab0bdb061abc6990b1158f86d2256d4ec -DIST jq-1.8.1.gh.tar.gz 1409730 BLAKE2B 8a7cad88d62c6ec4388d8859eca2e7acdf0053f1277d61bccf87cdb6eafb69a0a00574c6b0bd5f46a512a3857ca880a9ac5f0732b3ea5e29a17fd67b90e193e7 SHA512 7eece5744008710d6098d2b945b52250184e981ed3b7a66d4e8e1d0484539a281031900fa9dda7e1004a3fcfa8b5be39814d499c66c34707b35962a365d24fde DIST jq-1.8.2.gh.tar.gz 1440150 BLAKE2B 1f20c8b02aac326dab44bc0222786075705c7a1aee2d7e52fd085301d65b26d490c4fa35ee88147a45f9672febf552dc1089cfbb470c93004dcc94898c84f1ab SHA512 08915a125694a68319728b21c754cd00a9e982d9a83c2b78f268eb1011452fda535bcecaf7008f231662f38ba0ab274aeb7be0d7b89e46003ab2d7143da91be5 diff --git a/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.7.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.7.1-r1.ebuild deleted file mode 100644 index 8ba4db1f24d..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.7.1-r1.ebuild +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic - -MY_PV="${PV/_/}" -MY_P="${PN}-${MY_PV}" -DESCRIPTION="A lightweight and flexible command-line JSON processor" -HOMEPAGE="https://stedolan.github.io/jq/" -SRC_URI="https://github.com/jqlang/jq/archive/refs/tags/${MY_P}.tar.gz -> ${P}.gh.tar.gz" -S="${WORKDIR}/${PN}-${MY_P}" - -LICENSE="MIT CC-BY-3.0" -SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="+oniguruma static-libs test" - -ONIGURUMA_MINPV='>=dev-libs/oniguruma-6.9.3' # Keep this in sync with bundled modules/oniguruma/ -DEPEND=" - >=sys-devel/bison-3.0 - app-alternatives/lex - oniguruma? ( ${ONIGURUMA_MINPV}:=[static-libs?] ) -" -RDEPEND=" - !static-libs? ( - oniguruma? ( ${ONIGURUMA_MINPV}[static-libs?] ) - ) -" -PATCHES=( - "${FILESDIR}"/jq-1.6-r3-never-bundle-oniguruma.patch - "${FILESDIR}"/jq-1.7.1-runpath.patch -) - -RESTRICT="!test? ( test )" -REQUIRED_USE="test? ( oniguruma )" - -src_prepare() { - sed -e '/^dist_doc_DATA/d; s:-Wextra ::' -i Makefile.am || die - printf "#!/bin/sh\\nprintf '%s'\\n\n" "${MY_PV}" > scripts/version || die - - # jq-1.6-r3-never-bundle-oniguruma makes sure we build with the system oniguruma, - # but the bundled copy of oniguruma still gets eautoreconf'd since it - # exists; save the cycles by nuking it. - sed -e '/modules\/oniguruma/d' -i Makefile.am || die - rm -rf "${S}"/modules/oniguruma || die - - default - - sed -i "s/\[jq_version\]/[${MY_PV}]/" configure.ac || die - - eautoreconf -} - -src_configure() { - # TODO: Drop on next release > 1.7.1 - # bug #944014 - append-cflags -std=gnu17 - - local econfargs=( - # don't try to rebuild docs - --disable-docs - --disable-valgrind - --disable-maintainer-mode - $(use_enable static-libs static) - $(use_with oniguruma oniguruma yes) - ) - econf "${econfargs[@]}" -} - -src_test() { - if ! LD_LIBRARY_PATH="${S}/.libs" nonfatal emake check; then - if [[ -r "${S}/test-suite.log" ]]; then - eerror "Tests failed, outputting testsuite log" - cat "${S}/test-suite.log" - fi - die "Tests failed" - fi -} - -src_install() { - local DOCS=( AUTHORS NEWS.md README.md SECURITY.md ) - default - - use static-libs || { find "${D}" -name '*.la' -delete || die; } -} diff --git a/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.8.1.ebuild b/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.8.1.ebuild deleted file mode 100644 index 14a0f948a5b..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.8.1.ebuild +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic - -MY_PV="${PV/_/}" -MY_P="${PN}-${MY_PV}" -DESCRIPTION="A lightweight and flexible command-line JSON processor" -HOMEPAGE="https://stedolan.github.io/jq/" -SRC_URI="https://github.com/jqlang/jq/archive/refs/tags/${MY_P}.tar.gz -> ${P}.gh.tar.gz" -S="${WORKDIR}/${PN}-${MY_P}" - -LICENSE="MIT icu CC-BY-3.0" -SLOT="0/1" -KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="+oniguruma static-libs test" - -ONIGURUMA_MINPV='>=dev-libs/oniguruma-6.9.10' # Keep this in sync with bundled vendor/oniguruma/ -DEPEND=" - >=sys-devel/bison-3.0 - app-alternatives/lex - oniguruma? ( ${ONIGURUMA_MINPV}:=[static-libs?] ) -" -RDEPEND=" - !static-libs? ( - oniguruma? ( ${ONIGURUMA_MINPV}[static-libs?] ) - ) -" -PATCHES=( - "${FILESDIR}"/jq-1.6-r3-never-bundle-oniguruma.patch -) - -RESTRICT="!test? ( test )" -REQUIRED_USE="test? ( oniguruma )" - -src_prepare() { - sed -e '/^dist_doc_DATA/d; s:-Wextra ::' -i Makefile.am || die - printf "#!/bin/sh\\nprintf '%s'\\n\n" "${MY_PV}" > scripts/version || die - - # jq-1.6-r3-never-bundle-oniguruma makes sure we build with the system oniguruma, - # but the bundled copy of oniguruma still gets eautoreconf'd since it - # exists; save the cycles by nuking it. - sed -e '/vendor\/oniguruma/d' -i Makefile.am || die - rm -rf "${S}"/vendor/oniguruma || die - - default - - sed -i "s/\[jq_version\]/[${MY_PV}]/" configure.ac || die - - eautoreconf -} - -src_configure() { - # TODO: Drop on next release > 1.7.1 - # bug #944014 - append-cflags -std=gnu17 - - local econfargs=( - # don't try to rebuild docs - --disable-docs - --enable-valgrind=no - --disable-maintainer-mode - $(use_enable static-libs static) - $(use_with oniguruma oniguruma yes) - ) - econf "${econfargs[@]}" -} - -src_test() { - if ! LD_LIBRARY_PATH="${S}/.libs" nonfatal emake check; then - if [[ -r "${S}/test-suite.log" ]]; then - eerror "Tests failed, outputting testsuite log" - cat "${S}/test-suite.log" - fi - die "Tests failed" - fi -} - -src_install() { - local DOCS=( AUTHORS NEWS.md README.md SECURITY.md ) - default - - use static-libs || { find "${D}" -name '*.la' -delete || die; } -} diff --git a/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.8.2.ebuild b/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.8.2.ebuild index 6bec5b07408..208b3b1c13b 100644 --- a/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.8.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.8.2.ebuild @@ -14,7 +14,7 @@ S="${WORKDIR}/${PN}-${MY_P}" LICENSE="MIT icu CC-BY-3.0" SLOT="0/1" -KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="+oniguruma static-libs test" RESTRICT="!test? ( test )" REQUIRED_USE="test? ( oniguruma )" diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/Manifest b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/Manifest index d5648174864..5bc7515ea64 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/Manifest @@ -1,3 +1,2 @@ -DIST gentoolkit-0.7.2.tar.bz2 3190909 BLAKE2B b8646c98858cd4e7c1c4dee5656319fd30b2668ea0b6739e327b94fc9955bb0fd8591769df0168fae46a98e28a96d1a95ff28fa35fe4a146cb100c554cd8a55a SHA512 9afe0e249bcee9f184cf5e691dd841756d00ac4ea63de223d89bc6a4a457f30a7def4390afe2e3f6f83425828f4c22086d381930e35b161000dea4c7146d5cd2 DIST gentoolkit-0.7.6.tar.bz2 3191813 BLAKE2B a56c575ab2026abe2ace0b6fe7c411d892b8aeb8722ecac929ccfe8da141683c630c490d35bedcfe0cf67e0fe071a2f45b7b7731b052a34b47f798c10102f240 SHA512 723611caea039272870b928a8fb3c2681fbde68ace09049d2f1b44fb9181b4ceb706593b9e6c7b4b465393e80e3582791c384d79b8622423bbc676b3d28a6a44 DIST gentoolkit-0.8.0.tar.bz2 3191836 BLAKE2B 4fc4db2b394521ae6ee41b18868c022628a6c69d814810821713ba5b203d21e9bdda789ff37588efe77f2af7625a7b6993d4d24e68da2a13e8cdda2a25999767 SHA512 96d343401afd548106280120bfa7e8e25f3b31027cf84a3f950bec93680bc3fe49d56f1c0a6fb4284a8505bf1868a36d0f7eb68815c556edf0c48a541d172fad diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.7.2.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.7.2.ebuild deleted file mode 100644 index fe7fac2130e..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.7.2.ebuild +++ /dev/null @@ -1,130 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{12..14} ) -PYTHON_REQ_USE="xml(+),threads(+)" - -inherit meson python-r1 tmpfiles - -if [[ ${PV} = 9999* ]]; then - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/gentoolkit.git - https://github.com/gentoo/gentoolkit - " - inherit git-r3 -else - SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -fi - -DESCRIPTION="Collection of administration scripts for Gentoo" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools" - -LICENSE="GPL-2" -SLOT="0" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -IUSE="test" -RESTRICT="!test? ( test )" - -# Need newer Portage for eclean-pkg API, bug #900224 -DEPEND=" - >=sys-apps/portage-3.0.57[${PYTHON_USEDEP}] -" -RDEPEND=" - ${DEPEND} - ${PYTHON_DEPS} - app-alternatives/awk - sys-apps/gentoo-functions -" - -# setuptools is still needed as a workaround for Python 3.12+ for now. -# https://github.com/mesonbuild/meson/issues/7702 -# -# >=meson-1.2.1-r1 for bug #912051 -BDEPEND=" - ${PYTHON_DEPS} - >=dev-build/meson-1.2.1-r1 - $(python_gen_cond_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ' python3_12) - test? ( - dev-python/pytest[${PYTHON_USEDEP}] - ) -" - -src_prepare() { - default - if use prefix-guest ; then - # use correct repo name, bug #632223 - sed -i \ - -e "/load_profile_data/s/repo='gentoo'/repo='gentoo_prefix'/" \ - pym/gentoolkit/profile.py || die - fi -} - -src_configure() { - local code_only=false - python_foreach_impl my_src_configure -} - -my_src_configure() { - local emesonargs=( - -Dcode-only=${code_only} - $(meson_use test tests) - -Deprefix="${EPREFIX}" - -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" - ) - - meson_src_configure - code_only=true -} - -src_compile() { - python_foreach_impl meson_src_compile -} - -src_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - python_foreach_impl epytest -} - -src_install() { - python_foreach_impl my_src_install - dotmpfiles data/tmpfiles.d/revdep-rebuild.conf - - local scripts - mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/bin/* || die) - python_replicate_script "${scripts[@]}" -} - -my_src_install() { - local pydirs=( - "${D}$(python_get_sitedir)" - ) - - meson_src_install - python_optimize "${pydirs[@]}" -} - -pkg_postinst() { - tmpfiles_process revdep-rebuild.conf - - # Only show the elog information on a new install - if [[ ! ${REPLACING_VERSIONS} ]]; then - elog - elog "For further information on gentoolkit, please read the gentoolkit" - elog "guide: https://wiki.gentoo.org/wiki/Gentoolkit" - elog - elog "Another alternative to equery is app-portage/portage-utils" - elog - elog "Additional tools that may be of interest:" - elog - elog " app-admin/eclean-kernel" - elog " app-portage/diffmask" - elog " app-portage/flaggie" - elog " app-portage/portpeek" - elog " app-portage/smart-live-rebuild" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.8.0.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.8.0.ebuild index f5621f8bded..fb8bc6b6178 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.8.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.8.0.ebuild @@ -16,7 +16,7 @@ if [[ ${PV} = 9999* ]]; then inherit git-r3 else SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.bz2" - 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 DESCRIPTION="Collection of administration scripts for Gentoo" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.18.0.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.18.0.ebuild index 0e5e168409b..fd1072b64ea 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.18.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.18.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 ~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/bash-5.3_p15.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p15.ebuild index 214a8bf8bc0..9b4f607f642 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p15.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p15.ebuild @@ -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 ~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 IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" diff --git a/sdk_container/src/third_party/portage-stable/app-text/scdoc/scdoc-1.11.5.ebuild b/sdk_container/src/third_party/portage-stable/app-text/scdoc/scdoc-1.11.5.ebuild index 984e8c5fac7..28252710ea0 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/scdoc/scdoc-1.11.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/scdoc/scdoc-1.11.5.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 ~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/dev-build/meson/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/meson/Manifest index 0afe03e43aa..9bd41ee3f7f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/Manifest @@ -4,15 +4,12 @@ DIST meson-1.11.1.tar.gz 5190321 BLAKE2B 3fcedb28ae3646e1c6bc1b9596ec3f04af1752b DIST meson-1.11.1.tar.gz.asc 395 BLAKE2B ed30367a763c06bc4dd241629b31dd416c9ff898a12e72ce4285608f0b1b66ff62a06b42bb90682f45e9d3298a112342fd451ca45fbf2397b30668ff28e5d5e6 SHA512 9115834e1dffefd5468206fb4539ebd4bdbe94d35a86ef2d62947d9268ffab6848994e75878d73d4b7b5880bdb0ab9ed648b77dd37321020461aaa89f11b6b45 DIST meson-1.11.2.tar.gz 2463316 BLAKE2B c4ad77fe543b555d23f511dd2de43f6ee259384b6a753ecfe6142793fc0a9d7bc3cdd2d1e48d2b8dae35b96870e55c5d33df40c4b0284ea1bedef5f76b3a0214 SHA512 2be37c49c99b7882910956f513c251bd588e5222e2a69c5ee81a7f272bf9cbbb22402c9bc152ebd20ce81a522b4f60a68e39d755e8cd8fc11de5500e37436278 DIST meson-1.11.2.tar.gz.asc 833 BLAKE2B 937dd1858679140471deaa8ffd6aaa76873f1f67bfffac406b3ca516635b1dadb8e554e45bb34611f52c0d5b61426aca9d23d399bf844f5ca590a75090af5b8f SHA512 370cf3d26c36e1a3c775309450f3191532953626f58e04cc059cfd719f1444778025b61591b33e7749c13e0cc841461f2063369abe27b78c6b77522322df5e76 -DIST meson-1.12.0rc1.tar.gz 2516312 BLAKE2B 75f6f2648f6f9aa382bb605abd2c4cd5b53a99a6209b7036b6c613333f0eae8a698ee58cba80b362340055aadf1f05b4a0f29ca2527cd0bbabc994527d21a008 SHA512 382681d54bb6e5713bb36b335c420b8aeaffe3aaac25c5554355a841ba36c01f2af18f4af52de8e802115fcfd395a81dc216e017a79a206700b509a2dca9eb2a -DIST meson-1.12.0rc1.tar.gz.asc 833 BLAKE2B 7ed2b8c568281450654ae3eeda44bd87ee5bbbc8e7d77d211df6899b25c23189fabc6eea816e81089240708724a906f995cee70d08cc2ab830ea17627b5ffb57 SHA512 0551dcdb1a47be403ba322e82de369e879505d7a3963eacb9102926b94a272da787581e173cc6c12be10c870f38afdcd14c4dc6c955e60acfbd3d7ea16a60ace -DIST meson-1.12.0rc2.tar.gz 2519078 BLAKE2B 640356e2d1fbe0834d71c885ff2ab8d13a3ba6994ac4bebe1f52260196fa2c6b2574afc150238efbe05fbb240a5fcc69bc52de54964522da6f365e7ee1d04803 SHA512 5a7bd6379933fb2b63c596c6c40a8963052dbfe76003c2d73037c85379ccfbe04f283f3823f6b28f5bfdde72e6e21b040a29a5bce9989eacc7659c236e7f92ac -DIST meson-1.12.0rc2.tar.gz.asc 833 BLAKE2B 605e2f57332023028a3554d0a9d2937dcb94c7f3933d72b7ad364cbe04e56b094542c939085a6d12ac53d76ef599292a10a2e28a09a866ea1f453f4799726685 SHA512 ad04b9878d26c0843d1518ee53b7d10a99f882b805980e5cfce863ff460441658471d3ff2b071741a5463d51163eead3cdb6c6e46813af3d5f336c3c2e604516 +DIST meson-1.12.0.tar.gz 2518280 BLAKE2B 41d06e300bd549958179e81c0ba3c494912652f8851ef34214de05db42e32fe793cd42f09ef08a8f44e4340649508ed9dc5071daba9dda81df0efa9669022251 SHA512 776efa8e5c490285925738d0836474b309e43c5f12af9f1e61d0457c2f4c1d4c197fcc3fcb0166b523e1051bc0e37d2ef4e10f4f703e562278227805e311e0ef +DIST meson-1.12.0.tar.gz.asc 833 BLAKE2B 39a9bf0245afc395c98fefb6db12fbc4103634d16e541d14f59008049a03f8b5c48c1cbd38407783597cb13b65c647554c4f021412b4f3c95b0fa783e62a4d1c SHA512 0fe3d7f82cf16e77b592bc880ef3ec11c6997ebb5e4bc0d0cd39ba043cea4defb4db368bfce6e91ca11049fc4a8b1f1b58d92f3cfd0feaec43a4bebed24ed798 DIST meson-1.9.2.tar.gz 2382854 BLAKE2B f099352abbc0fa8d358cbe406955ddf817453cdc244b36f322e11b5b3020013641d162c68c9bce119cf866e8082a14a3f7db9930b66dfba15805afb32440f555 SHA512 3237e55bb8374f65f40dccd8a93493a42fc425337758b8600b377c5e9795a1bdc97942fc19fedd4c3cb697f87c1d54364a637110704a5dc1a391d712be1463bc DIST meson-1.9.2.tar.gz.asc 833 BLAKE2B f161b2918c341172de5f141ac367d7d62a60f2d0eadd793f71fb6a19e8944b4ad6bbfbb25d233862066eec8e422295d46e03ce8aca26e1081f2bcb456b7c1057 SHA512 c8cace334e31d5ba3e4f2da687ed945182e3039dc8bbea94015caa82d373c4b4d96a425eccb7617793fd471040705711b00ab37705dcd2070be6ba089586652b DIST meson-reference-1.10.2.3 366569 BLAKE2B 28b37c33cb94f3cad8de68eeaaf210a470d14df68fa00d8fe18b79ab9acee71a725fa9cbcf57c9c470f98acd540123612dfd9974fb67121ce72fdc70168cfab8 SHA512 1defa912aeac9a5768e7f3ad669d4471a457c6fc70ead30c428ecc335d3a06db56314a5ad343aff7805b1a46388cbfba5b4188e2ef55d10b35767c046dcb0f36 DIST meson-reference-1.11.1.3 383896 BLAKE2B 6262239b32c9be67eb426f2c208f7395ddb7894869d2d96618aec035a60e1529273c0e22f8fe141393465a96a962f3f307cad2353569dd0d7006e79cd9e36f41 SHA512 52a6efd4b52b389986c7ce346b5ccb2abc9e2afc66dcc83ee3b2d981a81c7052520afbbc34c483e6db53660048fb14925ca6fb5718c76768c6773458b8adf814 DIST meson-reference-1.11.2.3 383896 BLAKE2B f202f256f49a7c9a47f142bed4327097ea2af0d321356efdd01f0612ad38acb372e7a1d2623ca8d490d6eeded7256edc9ac91080d05d966899b94da96b174cb9 SHA512 3f55e8a79eddf20c6562c9ebe9d820db1ead649d0f3c6c47a7a888b3ec05f05202e6087e39d3810f786ce4cd375a5e0b7397c9851040a3f4c46f01ad472d1898 -DIST meson-reference-1.12.0rc1.3 385710 BLAKE2B c963b93419cc048d85daaf2c8280fa60891bc7b888bac1621af807d7faa4a60ca7822f48fec3431181f118122fb8c1bf5a041465cd3d0e6bf4cb30cc1fe019c3 SHA512 76bb6d4b77e88137bd3bb09b122807d378821c02b17ae115bfb60b462d59a5b50e469032e596eb10de21cf3a64304ce99c4bafe7fd6bedc3fa24bdbec2c8f679 -DIST meson-reference-1.12.0rc2.3 385710 BLAKE2B 04839b450dac0d95f01ce0ca6289a92f1c1ae6d51308872e70205e27915f637ca2ec2ddd4e8e12fcff38f54abb25bb1fee0108737f2772c104bda902bcdf98d0 SHA512 8bcc883e08977d0ac42c052c6fab5aacc38b4c6a1983ea550a826350d51d153213872478e244032d54b57a32832d9b59aa9b40b19948093090fe3b8c0b7a5984 +DIST meson-reference-1.12.0.3 385706 BLAKE2B 0676732e9fcd3f1cfcb295faadcc554e84b077805bd495fcfa20b97b7a0acd79d8515bb55fd86a02a8ebb0d2d947e8b60f7fe3d3643c5376e437d01622f974ae SHA512 66fc654c54994c300c85247ae0a9b0f5bbd6a8d33740a236e324b5e4fd7bbf364b36603bed842fa6307bbab96b46babafdc271869ae4200ac8c749a615a70599 DIST meson-reference-1.9.2.3 347286 BLAKE2B ece5e2075e1d1aabe9daf09e8dbdd4c22d0940b957cc61443c9ea0136e54c9f39244cc082f7a784209bb1bb81b116acae74f02501a9cd16df6d06ff9dcda08c0 SHA512 dbf57730e6c6ac6d3ebfba70f4c4b479d8e1a502854343c776f5ba0e9c7a4ba10bf75758b3434dd418041019ab7d704fe1424f49adaf41e260f652b58fd9cb23 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.11.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.11.1.ebuild index cfe127b706d..e172a5b7177 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.11.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.11.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 ~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 fi @@ -179,7 +179,11 @@ python_compile_all() { } src_test() { + # bug 513658 + has_version -b dev-lang/vala && vala_setup + tc-export PKG_CONFIG + if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then ewarn "Found Qt5Core but not Qt5Gui; skipping tests" else @@ -194,9 +198,6 @@ python_test() { # breaks rust. filter-lto - # bug 513658 - has_version -b dev-lang/vala && vala_setup - # remove unwanted python_wrapper_setup contents # We actually do want to non-error if python2 is installed and tested. remove="${T}/${EPYTHON}/bin:" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.11.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.11.2.ebuild index 17a5b79633c..bc66f749bda 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.11.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.11.2.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 ~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 fi @@ -179,6 +179,9 @@ python_compile_all() { } src_test() { + # bug 513658 + has_version -b dev-lang/vala && vala_setup + tc-export PKG_CONFIG if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then ewarn "Found Qt5Core but not Qt5Gui; skipping tests" @@ -194,9 +197,6 @@ python_test() { # breaks rust. filter-lto - # bug 513658 - has_version -b dev-lang/vala && vala_setup - # remove unwanted python_wrapper_setup contents # We actually do want to non-error if python2 is installed and tested. remove="${T}/${EPYTHON}/bin:" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.12.0_rc2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.12.0.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.12.0_rc2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.12.0.ebuild index e8ba3870cc3..cbd1401a803 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.12.0_rc2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.12.0.ebuild @@ -179,6 +179,9 @@ python_compile_all() { } src_test() { + # bug 513658 + has_version -b dev-lang/vala && vala_setup + tc-export PKG_CONFIG if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then ewarn "Found Qt5Core but not Qt5Gui; skipping tests" @@ -194,9 +197,6 @@ python_test() { # breaks rust. filter-lto - # bug 513658 - has_version -b dev-lang/vala && vala_setup - # remove unwanted python_wrapper_setup contents # We actually do want to non-error if python2 is installed and tested. remove="${T}/${EPYTHON}/bin:" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.12.0_rc1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.12.0_rc1.ebuild deleted file mode 100644 index e8ba3870cc3..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.12.0_rc1.ebuild +++ /dev/null @@ -1,242 +0,0 @@ -# Copyright 2016-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{12..15} ) -DISTUTILS_USE_PEP517=setuptools - -inherit shell-completion edo distutils-r1 flag-o-matic toolchain-funcs vala - -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 )" - -# test-full contains various test dependencies, for optional test cases of -# frameworks Meson has support for. These will *usually* get skipped -# automatically if uninstalled. The dep allows: -# - guaranteeing the whole test suite runs transparently without skips -# - reducing brittleness of frameworks that straddle multiple packages -# - Qt is a particular example of this. qt5 is deprecated, but we need qtbase -# consistently installed as long as it isn't masked for removal. TODO: drop -# dev-qt/*:5 from DEPEND once they are masked. - -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 - $(vala_depend) - 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/qtbase:6[gui,widgets] - dev-qt/qtdeclarative:6 - dev-qt/qttools:6 - >=dev-util/gdbus-codegen-2.80.5-r1 - 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 e8ba3870cc3..cbd1401a803 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 @@ -179,6 +179,9 @@ python_compile_all() { } src_test() { + # bug 513658 + has_version -b dev-lang/vala && vala_setup + tc-export PKG_CONFIG if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then ewarn "Found Qt5Core but not Qt5Gui; skipping tests" @@ -194,9 +197,6 @@ python_test() { # breaks rust. filter-lto - # bug 513658 - has_version -b dev-lang/vala && vala_setup - # remove unwanted python_wrapper_setup contents # We actually do want to non-error if python2 is installed and tested. remove="${T}/${EPYTHON}/bin:" diff --git a/sdk_container/src/third_party/portage-stable/dev-db/etcd/Manifest b/sdk_container/src/third_party/portage-stable/dev-db/etcd/Manifest index 2a522a57735..16bac1b68be 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/etcd/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-db/etcd/Manifest @@ -6,5 +6,7 @@ DIST etcd-3.5.26-deps.tar.xz 48943308 BLAKE2B 6c5719f47ef4be8b98260ff8b1f4d09c25 DIST etcd-3.5.26.tar.gz 4145585 BLAKE2B e261a5ef3b629a69cc044b1a92ee6b3a2d56ee7e648b86036016c79b084bbb5dd748ecaf0214900b88c596b14f297815ab166e468c0fe84d63f46e6b51e867d5 SHA512 3a014d259725d8a116a3823fd921c6fa6cf9587c993038c12765085032610e997bf318d29ca2ae9ed34a55990cb500b61e2bc1f8151a80e200ec2299d918cf76 DIST etcd-3.6.11-deps.tar.xz 111959652 BLAKE2B bfe2bb60c5a0a428401333f5ee9f33c1cad7f455fce768318625aceb95ffd6927a588c81166e67cad21d6055cda6e290a6e8a0d0151ab0b566494fb2e899adee SHA512 160078a709a58656fbc584ddeb35baa1ffe447ae9ed9b4dca5e40aa316e162caccde13c29b0eff5ef144153d601565d253e897f3ffe5684c4f807dd87517a5ca DIST etcd-3.6.11.tar.gz 7384738 BLAKE2B ba4730a1cdf31ae94365124a48aeb222a91b1df835e5b919dac15c3eceecf1165ac92ab2a19e70067be7ba8f42df59100e1679c5cee423fe86cd4aeea7d3efbd SHA512 56423c42443d9d1d2d06ff28aff389a381ed9b726cbee0d3523ac34fe2a8e22029377a42aa808077bb985f524a153c5fe63fd6166857749e8217b705fdf41910 -DIST etcd-3.6.7-deps.tar.xz 109371156 BLAKE2B 46f3d0cfed7ad1f9c799d569cd78d766266e8f33f3b2421011860443d644044cd46a58c67180ac7c15d63385b33ab18b9139dc0954a509898147e616f470e4e0 SHA512 711506c537d721a3c64466a7b57a5cc32f25a018947b232a9fc6b28f0faa1985c3f319161ba6ca20e7a909574fd5c4887a0cf0290461a97d713182a38f11f48c -DIST etcd-3.6.7.tar.gz 7379199 BLAKE2B 011a5fb132dbb3a5229d20f803df3ba8785c068e3ed38d14d8be798af74cf3895efe980be605014e648883903512f910129d5bb57600dd7f170361a1fb7c488b SHA512 05d85c127bf947799deccbf082bfb7e93c3a37378a13723d0cc925bec8fc153a2391b4d1be3cf9da46fc575ed45c3afbbdb143f227a163b37e92a27163f5a2e8 +DIST etcd-3.6.14-deps.tar.xz 111593632 BLAKE2B cfc9e3474c75f2ba6b8f1601f6f2427a0542429cb495196915adbb79b0c5762ffcb5608965821d6cc5b12e7f8e08c249b70ceea61969b7422ffe3f2fad9faf6b SHA512 3cb35f8ac8d7c6c041f8951fd89ae415b256a940e818d3f8e713ffbcf19f85a09823d394d8f67fd6357c12ed3e117d713101c5d68fb167b7c9de975978256642 +DIST etcd-3.6.14.tar.gz 7389983 BLAKE2B 322637f55a33f103dde18ed35f0f9dd4176ecc31130c6860fef6260a70cee72cec6cb51fad2c7484449a04819e42413a23c46f0bf89801ef984ce476b9e6524c SHA512 4fa9ad2c3c06ef6364f040aad00aad5022f7a9cae8afc291c62b609a2dad27c57d8b7f8540ffd2e7d25638da8346ac7fa30e09ca681f1de280fa2b9a0064a3f4 +DIST etcd-3.7.1-vendor.tar.xz 3079016 BLAKE2B c75ca547d09d85a883a1480678ce2b73a5b1299084b979fa4c4f3e69117f49a407e3c993bc35be76bf508ee1e62ef5355e001300bfbc43d3eb56f2006703078d SHA512 ada23dcfffa32ecfeddf77de59eb63323f336e349a558703b101b934d00d99d9387b9830c9ad978b615a1f84bd56f2c2570c04f19492cc6765aecf04f8014923 +DIST etcd-3.7.1.tar.gz 7463252 BLAKE2B 7ed466a35b7a34860953f3fc0b18c6d202c8b01181b42b3bb483c8b6d4c044f163d7dc640f828f98a5d50ac3093f50497ec7342241a0ff2cd31dba4b7fe4945f SHA512 28cb8a5c29f81335de95946a2f974384b3b63f491601ebac67980ccef3a5acabc383c5027b0eed858b8fcddfe719c192086de48805d3e721e3d32f7b8cec85fd diff --git a/sdk_container/src/third_party/portage-stable/dev-db/etcd/etcd-3.6.11.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/etcd/etcd-3.6.11.ebuild index 2e453cecb92..efa01ef3e28 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/etcd/etcd-3.6.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-db/etcd/etcd-3.6.11.ebuild @@ -13,7 +13,7 @@ SRC_URI+=" https://dev.gentoo.org/~chewi/distfiles/${P}-deps.tar.xz" LICENSE="Apache-2.0" LICENSE+=" BSD BSD-2 MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~loong ~riscv" +KEYWORDS="amd64 ~arm64 ~loong ~riscv" IUSE="doc +server" COMMON_DEPEND="server? ( diff --git a/sdk_container/src/third_party/portage-stable/dev-db/etcd/etcd-3.6.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/etcd/etcd-3.6.14.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/dev-db/etcd/etcd-3.6.7.ebuild rename to sdk_container/src/third_party/portage-stable/dev-db/etcd/etcd-3.6.14.ebuild index 23fa26acaf2..7919815f519 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/etcd/etcd-3.6.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-db/etcd/etcd-3.6.14.ebuild @@ -3,12 +3,12 @@ EAPI=8 inherit go-module systemd tmpfiles -GIT_COMMIT=e838ef116 +GIT_COMMIT=fc04cf702 DESCRIPTION="Highly-available key value store for shared configuration and service discovery" HOMEPAGE="https://github.com/etcd-io/etcd" SRC_URI="https://github.com/etcd-io/etcd/archive/v${PV}.tar.gz -> ${P}.tar.gz" -SRC_URI+=" https://dev.gentoo.org/~chewi/distfiles/${P}-deps.tar.xz" +SRC_URI+=" https://dev.gentoo.org/~chewi/distfiles/${P}-deps.tar.xz" # Vendor tarball doesn't work. LICENSE="Apache-2.0" LICENSE+=" BSD BSD-2 MIT" @@ -22,6 +22,7 @@ COMMON_DEPEND="server? ( )" DEPEND="${COMMON_DEPEND}" RDEPEND="${COMMON_DEPEND}" +BDEPEND=">=dev-lang/go-1.25.12" # Unit tests attempt to download go modules. PROPERTIES="test_network" diff --git a/sdk_container/src/third_party/portage-stable/dev-db/etcd/etcd-3.7.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/etcd/etcd-3.7.1.ebuild new file mode 100644 index 00000000000..05b0d0f01a4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-db/etcd/etcd-3.7.1.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd tmpfiles +GIT_COMMIT=5e7fd0de9 + +DESCRIPTION="Highly-available key value store for shared configuration and service discovery" +HOMEPAGE="https://github.com/etcd-io/etcd" +SRC_URI="https://github.com/etcd-io/etcd/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~chewi/distfiles/${P}-vendor.tar.xz" + +# `go mod vendor` doesn't work but `go work vendor` does. Additional steps can +# make the vendor tarball a bit smaller. +# +# P=etcd-3.X.Y +# cd /var/tmp/portage/dev-db/${P}/work/${P} +# sed -i "/\.\/tools\//d" go.work +# go work vendor +# tar --owner root --group root -Jcf /var/cache/distfiles/${P}-vendor.tar.xz -C .. ${P}/vendor ${P}/go.work + +LICENSE="Apache-2.0" +LICENSE+=" BSD BSD-2 MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~riscv" +IUSE="doc +server" + +COMMON_DEPEND="server? ( + acct-group/etcd + acct-user/etcd + )" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" +BDEPEND=">=dev-lang/go-1.26" + +# Unit tests attempt to download go modules. +PROPERTIES="test_network" +RESTRICT="test" + +PATCHES=( + "${FILESDIR}"/${PN}-3.7.1-vendor.patch +) + +src_prepare() { + default + sed -i "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|" scripts/build_lib.sh || die + + # Don't test these as they are not built. + find tools/ -name "*_test.go" -delete || die +} + +src_configure() { + export FORCE_HOST_GO=1 GO_BUILD_FLAGS="-v -x" +} + +src_compile() { + scripts/build.sh || die +} + +src_test() { + # -buildmode=pie is incompatible with -race used by the tests. + GOFLAGS=${GOFLAGS//-buildmode=pie} PASSES="unit" scripts/test.sh -v || die +} + +src_install() { + dobin bin/etcdctl + dobin bin/etcdutl + use doc && dodoc -r Documentation + if use server; then + insinto /etc/${PN} + sed -e 's|^data-dir:|\0 /var/lib/etcd|' -i etcd.conf.yml.sample || die + newins etcd.conf.yml.sample etcd.conf.yml + dobin bin/etcd + dodoc README.md + systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service" + newtmpfiles "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf + newinitd "${FILESDIR}"/${PN}.initd-r1 ${PN} + newconfd "${FILESDIR}"/${PN}.confd-r1 ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" "${PN}" + keepdir /var/lib/${PN} /var/log/${PN} + fowners ${PN}:${PN} /var/lib/${PN} /var/log/${PN} + fperms 0700 /var/lib/${PN} + fperms 0755 /var/log/${PN} + fi +} + +pkg_postinst() { + if use server; then + tmpfiles_process ${PN}.conf + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-db/etcd/files/etcd-3.7.1-vendor.patch b/sdk_container/src/third_party/portage-stable/dev-db/etcd/files/etcd-3.7.1-vendor.patch new file mode 100644 index 00000000000..9c61db96f58 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-db/etcd/files/etcd-3.7.1-vendor.patch @@ -0,0 +1,10 @@ +--- a/scripts/test.sh ++++ b/scripts/test.sh +@@ -57,7 +57,6 @@ + # The test script is not supposed to make any changes to the files + # e.g. add/update missing dependencies. Such divergences should be + # detected and trigger a failure that needs explicit developer's action. +-export GOFLAGS=-mod=readonly + export ETCD_VERIFY=all + + source ./scripts/test_lib.sh 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 72d5f5fc773..63b773e3a0c 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,6 +1,4 @@ -DIST sqlite-doc-3530100.zip 11796231 BLAKE2B aff3462d5d9ccdac9cb7bed65d4ed1b52ae8268c6eff738804ba32bb6852fee4ce0a934ccaf47259cd86b0d832dc57571652816159411493d435d6f5f4029ed0 SHA512 fe1234a91408536c899991cd50633fc755544206931560e0308cf9aa9114f4161fe33eb6046eb3f4c62a0d94439108ad32c2ef5cedb410c59c89d70c1260118a -DIST sqlite-doc-3530200.zip 11807834 BLAKE2B 6dcdd24e80cf82ded185c4ec17b9be33b7e55c7628128727c23073cd5d9e18214035cee41e20c2c6c564c40e89f8c000f2b1476e536bf4103325828933724701 SHA512 58048eff2245b3371a46a8728410d663d1ed9f65f54da87691499ad5bb8d8479e22c2400a6e0e5ba993cc7608da4a981964974bc36c6aeddedd170873ec35a96 DIST sqlite-doc-3530300.zip 11814077 BLAKE2B 26a7c8ba32034ff7d2eed3b077d5ebb966b89f933a6a7601a8e8558f4f86fdd6512168ae48b5ef776eb0a78addef6eeba949793db73925c31f102d3a7068940e SHA512 9c63baa5156090061b4741e318a4f647c70e92230f077d4ea43f422bbf605dd9ae7bf21eaad7ffac079cf900ca3949b867d650c05333fd1119a6dfc1b6ac49ba -DIST sqlite-src-3530100.zip 14515734 BLAKE2B 4677b83156ded5d65336161dc6b565268ba5d39bf110e3b69a71809b7a9ae1511684a2150d268c298f9991a316ac2cda7adea2bd692292d75a78f05d5807cd0d SHA512 e6b429dbec2056e1e90557896940f46b0976b9c4a3cfa6890d23f690fcab4d7cff2f2dea3a3d2cfc5faf87d0d6feb318c70212ec101008416d106189c6bc0133 -DIST sqlite-src-3530200.zip 14527073 BLAKE2B d06696d0d77becea85b15a04be178971e356dfe8babb9440ce150633dfe6e6195eac852ff434d306ca27a511273ef4f02bf2aec70a3ce6ec86f0b003c9aa64c4 SHA512 ebb8f1d05c416f1e8962ea94b5e09a7d92df9ace3af6ff0c090d4bec244fff741861257b3cb79f14b7b38c16992f5b1495121266bd01e865fb377aa402e33332 +DIST sqlite-doc-3530400.zip 11820412 BLAKE2B cc53360c084c50d78859a955b2fa1dd776b56a6ecd9cf62fe4c24e6c72b060811d020afd799807db8065becd2a3c74a2ae89d07682f5926a05e46181b86c293f SHA512 b0a07be9b7110f141ebf87c6ded540b61e8bc734dd953d94fd363e79f60460f754ed8dbaa0daa8ec81315dcab6edc7b4c253139627af33092eae49cc8f9cf058 DIST sqlite-src-3530300.zip 14537772 BLAKE2B c9e2de4e20398f9cd954ccce5fcb05c1a6d3ca7950d0141b7aab9f121b59a365c9cfefbe6cd64eea90a62486447dbf1b26ca31e67055f3bf6c11d9c6deb219b9 SHA512 56faea22a885b556877fba25b750de627b0c5a449545b95bd771c8a8a885363c73a876db099b438632c1f8ededa70d1897156cd04b84f53d2af9ca88c2948096 +DIST sqlite-src-3530400.zip 14557315 BLAKE2B a1b84251781a41a4605e4de211984e3a402d2f259ffec318c354f874fb1529c874ad32a3a0f6d2426193cce5f777a4c56c8dd49911530154b66e7f73be7c88a7 SHA512 4530f39a68e4e32460fc2656bc3ad9d8d73394390cb5c6668ff0755cb50d39219035677994d65078ad45ad126256c8c4e6a91afc5fcbc321883c805b11e7754e diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.53.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.53.1.ebuild deleted file mode 100644 index fe32a0d817d..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.53.1.ebuild +++ /dev/null @@ -1,445 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic multilib multilib-minimal toolchain-funcs - -DESCRIPTION="SQL database engine" -HOMEPAGE="https://sqlite.org/" - -# On version updates, make sure to read the forum (https://sqlite.org/forum/forum) -# for hints regarding test failures, backports, etc. -if [[ ${PV} == 9999 ]]; then - S="${WORKDIR}"/${PN} - PROPERTIES="live" -else - printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ") - DOC_PV="${SRC_PV}" - #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ") - - SRC_URI=" - https://sqlite.org/2026/${PN}-src-${SRC_PV}.zip - doc? ( https://sqlite.org/2026/${PN}-doc-${DOC_PV}.zip ) - " - S="${WORKDIR}/${PN}-src-${SRC_PV}" - - 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" -SLOT="3" -IUSE="debug doc icu +readline secure-delete static-libs tcl test test-full tools" -REQUIRED_USE="test-full? ( test )" -RESTRICT="!test? ( test )" - -RDEPEND=" - virtual/zlib:=[${MULTILIB_USEDEP}] - icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] ) - readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] ) - tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] ) - tools? ( dev-lang/tcl:= ) -" -DEPEND=" - ${RDEPEND} - test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] ) -" -if [[ ${PV} == 9999 ]]; then - BDEPEND+=" dev-vcs/fossil" -else - BDEPEND+=" app-arch/unzip" -fi - -_fossil_fetch() { - local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" - local repo_id="${1}" - local repo_uri="${2}" - - local -x FOSSIL_HOME="${HOME}" - - mkdir -p "${T}/fossil/${repo_id}" || die - pushd "${T}/fossil/${repo_id}" > /dev/null || die - - if [[ -n "${EVCS_OFFLINE}" ]]; then - if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then - die "Network activity disabled using EVCS_OFFLINE and clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\"" - fi - else - if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then - einfo fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" - fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" || die - echo - else - cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" . || die - einfo fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" - fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" || die - echo - fi - - ( - addwrite "${distdir}" - mkdir -p "${distdir}/fossil-src/${repo_id}" || die - cp -p "${repo_id}.fossil" "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" || die - ) - fi - - popd > /dev/null || die -} - -_fossil_checkout() { - local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" - local repo_id="${1}" - local branch_or_commit="${2}" - local target_directory="${3}" - - local -x FOSSIL_HOME="${HOME}" - - if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then - die "Clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\"" - fi - - if [[ ! -f "${T}/fossil/${repo_id}/${repo_id}.fossil" ]]; then - mkdir -p "${T}/fossil/${repo_id}" || die - cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" "${T}/fossil/${repo_id}" || die - fi - - mkdir "${target_directory}" || die - pushd "${target_directory}" > /dev/null || die - - einfo fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" - fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" || die - echo - - popd > /dev/null || die -} - -fossil_fetch() { - local repo_id="${1}" - local repo_uri="${2}" - local target_directory="${3}" - - local branch_or_commit="${EFOSSIL_COMMIT:-${EFOSSIL_BRANCH:-trunk}}" - - _fossil_fetch "${repo_id}" "${repo_uri}" - _fossil_checkout "${repo_id}" "${branch_or_commit}" "${target_directory}" -} - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}" - if use doc; then - fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc" - fi - else - default - fi -} - -src_prepare() { - default - - multilib_copy_sources -} - -multilib_src_configure() { - local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" - local options=() - - options+=( - --enable-load-extension - --enable-threadsafe - ) - - # Support detection of misuse of SQLite API. - # https://sqlite.org/compile.html#enable_api_armor - append-cppflags -DSQLITE_ENABLE_API_ARMOR - - # Support bytecode and tables_used virtual tables. - # https://sqlite.org/compile.html#enable_bytecode_vtab - # https://sqlite.org/bytecodevtab.html - append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB - - # Support column metadata functions. - # https://sqlite.org/compile.html#enable_column_metadata - # https://sqlite.org/c3ref/column_database_name.html - append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA - - # Support sqlite_dbpage virtual table. - # https://sqlite.org/compile.html#enable_dbpage_vtab - # https://sqlite.org/dbpage.html - append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB - - # Support dbstat virtual table. - # https://sqlite.org/compile.html#enable_dbstat_vtab - # https://sqlite.org/dbstat.html - append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB - - # Support sqlite3_serialize() and sqlite3_deserialize() functions. - # https://sqlite.org/compile.html#enable_deserialize - # https://sqlite.org/c3ref/serialize.html - # https://sqlite.org/c3ref/deserialize.html - append-cppflags -DSQLITE_ENABLE_DESERIALIZE - - # Support comments in output of EXPLAIN. - # https://sqlite.org/compile.html#enable_explain_comments - append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS - - # Support Full-Text Search versions 3, 4 and 5. - # https://sqlite.org/compile.html#enable_fts3 - # https://sqlite.org/compile.html#enable_fts3_parenthesis - # https://sqlite.org/compile.html#enable_fts4 - # https://sqlite.org/compile.html#enable_fts5 - # https://sqlite.org/fts3.html - # https://sqlite.org/fts5.html - append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS - options+=( --enable-fts4 ) - options+=( --enable-fts5 ) - - # Support hidden columns. - append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS - - # Support memsys5 memory allocator. - # https://sqlite.org/compile.html#enable_memsys5 - # https://sqlite.org/malloc.html#memsys5 - options+=( --enable-memsys5 ) - - # Support sqlite3_normalized_sql() function. - # https://sqlite.org/c3ref/expanded_sql.html - append-cppflags -DSQLITE_ENABLE_NORMALIZE - - # Support sqlite_offset() function. - # https://sqlite.org/compile.html#enable_offset_sql_func - # https://sqlite.org/lang_corefunc.html#sqlite_offset - append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC - - # Support pre-update hook functions. - # https://sqlite.org/compile.html#enable_preupdate_hook - # https://sqlite.org/c3ref/preupdate_count.html - append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK - - # Support Resumable Bulk Update extension. - # https://sqlite.org/compile.html#enable_rbu - # https://sqlite.org/rbu.html - append-cppflags -DSQLITE_ENABLE_RBU - - # Support R*Trees. - # https://sqlite.org/compile.html#enable_rtree - # https://sqlite.org/compile.html#enable_geopoly - # https://sqlite.org/rtree.html - # https://sqlite.org/geopoly.html - options+=( --enable-rtree --enable-geopoly ) - - # Support Session extension. - # https://sqlite.org/compile.html#enable_session - # https://sqlite.org/sessionintro.html - options+=( --enable-session ) - - # Support scan status functions. - # https://sqlite.org/compile.html#enable_stmt_scanstatus - # https://sqlite.org/c3ref/stmt_scanstatus.html - # https://sqlite.org/c3ref/stmt_scanstatus_reset.html - append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS - - # Support sqlite_stmt virtual table. - # https://sqlite.org/compile.html#enable_stmtvtab - # https://sqlite.org/stmt.html - append-cppflags -DSQLITE_ENABLE_STMTVTAB - - # Support unknown() function. - # https://sqlite.org/compile.html#enable_unknown_sql_function - append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION - - # Support unlock notification. - # https://sqlite.org/compile.html#enable_unlock_notify - # https://sqlite.org/c3ref/unlock_notify.html - # https://sqlite.org/unlock_notify.html - append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY - - # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements. - # https://sqlite.org/compile.html#enable_update_delete_limit - # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses - # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses - append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT - - # Support soundex() function. - # https://sqlite.org/compile.html#soundex - # https://sqlite.org/lang_corefunc.html#soundex - append-cppflags -DSQLITE_SOUNDEX - - # Support URI filenames. - # https://sqlite.org/compile.html#use_uri - # https://sqlite.org/uri.html - append-cppflags -DSQLITE_USE_URI - - options+=( $(use_enable debug) ) - - if use icu; then - # Support ICU extension. - # https://sqlite.org/compile.html#enable_icu - options+=( --with-icu-config ) - fi - - options+=( - --disable-editline - $(use_enable readline) - ) - - if use readline; then - options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" ) - fi - - if use secure-delete; then - # Enable secure_delete pragma by default. - # https://sqlite.org/compile.html#secure_delete - # https://sqlite.org/pragma.html#pragma_secure_delete - append-cppflags -DSQLITE_SECURE_DELETE - fi - - options+=( $(use_enable static-libs static) ) - - # tcl, test, tools USE flags. - if use tcl || use test || { use tools && multilib_is_native_abi; }; then - options+=( - --enable-tcl - --with-tcl="${ESYSROOT}/usr/$(get_libdir)" - ) - else - options+=( --disable-tcl ) - fi - - if [[ "${ABI}" == "x86" ]]; then - if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then - append-cflags -mfpmath=sse - else - append-cflags -ffloat-store - fi - fi - - if [[ ${CHOST} != *-darwin* ]] ; then - # set SONAME for the library - options+=( --soname=legacy ) - else - # to allow install_name_tool id change - append-ldflags -headerpad_max_install_names - fi - - # https://sqlite.org/forum/forumpost/4f4d06a9f6683bb9 - tc-export_build_env BUILD_CC - - CC_FOR_BUILD=${BUILD_CC} econf "${options[@]}" -} - -multilib_src_compile() { - emake HAVE_TCL="$(usex tcl 1 0)" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" - - if use tools && multilib_is_native_abi; then - emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_expert sqltclsh - fi - - if [[ ${PV} == 9999 ]] && use doc && multilib_is_native_abi; then - emake tclsqlite3.c - - local build_directory="$(pwd)" - build_directory="${build_directory##*/}" - - mkdir "${WORKDIR}/${PN}-doc-build" || die - pushd "${WORKDIR}/${PN}-doc-build" > /dev/null || die - - emake -f "../${PN}-doc/Makefile" -j1 SRC="../${PN}" BLD="../${build_directory}" DOC="../${PN}-doc" CC="$(tc-getBUILD_CC)" TCLINC="" TCLFLAGS="$($(tc-getBUILD_PKG_CONFIG) --libs tcl) -ldl -lm" base doc - rmdir doc/matrix{/*,} || die - - popd > /dev/null || die - fi -} - -multilib_src_test() { - if [[ "${EUID}" -eq 0 ]]; then - ewarn "Skipping tests due to root permissions" - return - fi - - local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}" - - # e_uri.test tries to open files in /. - # bug #839798 - local SANDBOX_PREDICT=${SANDBOX_PREDICT} - addpredict "/test.db" - addpredict "/ÿ.db" - - emake tclextension - if multilib_is_native_abi; then - emake -Onone $(usex test-full 'xdevtest' 'test') - else - emake srctree-check fuzztest sourcetest $TESTPROGS testrunner - fi -} - -multilib_src_install() { - emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install - - if [[ ${CHOST} == *-darwin* ]] ; then - # fix install_name, soname=legacy doesn't work for this (but - # breaks the build instead) - install_name_tool \ - -id "${EPREFIX}/usr/$(get_libdir)/libsqlite3$(get_libname 0)" \ - "${ED}/usr/$(get_libdir)/libsqlite3$(get_libname ${PV})" \ - || die "failed to fix install_name" - fi - - if use tools && multilib_is_native_abi; then - install_tool() { - if [[ -f ".libs/${1}" ]]; then - newbin ".libs/${1}" "${2}" - else - newbin "${1}" "${2}" - fi - } - - install_tool changeset sqlite3-changeset - install_tool dbdump sqlite3-db-dump - install_tool dbhash sqlite3-db-hash - install_tool dbtotxt sqlite3-db-to-txt - install_tool index_usage sqlite3-index-usage - install_tool rbu sqlite3-rbu - install_tool scrub sqlite3-scrub - install_tool showdb sqlite3-show-db - install_tool showjournal sqlite3-show-journal - install_tool showshm sqlite3-show-shm - install_tool showstat4 sqlite3-show-stat4 - install_tool showwal sqlite3-show-wal - install_tool sqldiff sqlite3-diff - install_tool sqlite3_analyzer sqlite3-analyzer - install_tool sqlite3_expert sqlite3-expert - install_tool sqltclsh sqlite3-tclsh - - unset -f install_tool - fi -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -delete || die - - doman sqlite3.1 - - if use doc; then - if [[ ${PV} == 9999 ]]; then - pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die - else - pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die - fi - - find "(" -name "*.db" -o -name "*.txt" ")" -delete || die - if [[ ${PV} != 9999 ]]; then - rm search search.d/admin || die - rmdir search.d || die - find -name "*~" -delete || die - fi - - ( - docinto html - dodoc -r * - ) - - popd > /dev/null || die - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.53.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.53.3.ebuild index 5ee98da6c05..5e495f59f66 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.53.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.53.3.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 ~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 LICENSE="public-domain" diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.53.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.53.4.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.53.2-r1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.53.4.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/go/Manifest index 161470217fb..af9123685f0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/Manifest @@ -3,6 +3,8 @@ DIST go1.24.12.src.tar.gz 30803950 BLAKE2B b3f7d2f1392d3337e6645c4fa53e2e53c4258 DIST go1.25.10.src.tar.gz 32000721 BLAKE2B 020336996667a6bb5fd9f3b4af8a8a2012d4c1f162301b83db65f62820945a4f927c76cfc8b5ec183b7ddb12587d74aecbdf17a0c4dd3e66ddc461e7af716919 SHA512 4a938b18d00af583d1ab8592386b8c71385997b1c8fab661549232ee84ac2f42716dc8304c38f1f462335a12048da19611bb614a7007d8201e6818a11f187487 DIST go1.25.11.src.tar.gz 31999704 BLAKE2B 44149e7a24ebfd1941f774014f50b841ba568fababea031b7039fa23480572ddceaf56b9316e6afcac85ebe2b8dd6f47c62484378b54243a53423bd9d96316f7 SHA512 d1fa0d267ee8ba55aacbe47562c128cccabb757dc1f5c553ac0fe70eec9edc49cf66133df6f88997c752e89f9d24b77bf4b6448f73fdd7d05f8bca88951eea26 DIST go1.25.12.src.tar.gz 32013699 BLAKE2B 772ef11f0f0d828980e47fb109bafe2098eb05bfa95bdac9d5c9fcb5f17d114e2f58f824bacf99336cb5316e095e81df2253897f774112cfac2159b2c391c70d SHA512 748341d737c3ce9eb64a0f072c70be7cf3ceab7d1033da2d88b3aea4cf0de96745cded982b6db4a47de505c14e49babf59926fa61e6a86f2e22e61625daf762a +DIST go1.25.13.src.tar.gz 32023100 BLAKE2B 37094c66ff5d399a1d2a4b55ea9f3366219ef22b9e26b556d2d7f0cc2f7d0e413636f23b205ddb332ad3e9c9c5914a2333ae727fa8bba2d84aede99574bdc452 SHA512 a7ef774fd747359fd7490baf3a6e4f358a78c38fb56d741c5d5712d34b574d3d722e3e42042f5a6ecd4637707e6c5b159705d4de62027db3684f205e240caa71 +DIST go1.25.14.src.tar.gz 32023791 BLAKE2B a81ea6111598162d5b87077d23da67bf5ad587bba40bf24cfef0722a5d87177d8fdb824397d21fb31fb0de0aff694590fbca2a1e917fa3e9fab0ea85aca5c810 SHA512 89cf61d27fc5fa179a821feb4fbd0c55bb8340cdab2adcaa95b52ccf4f5d855034f3acff0e2c1c9e9eaed8c833c5139a04144fa92324755abba13502b07184ac DIST go1.25.5.src.tar.gz 31983405 BLAKE2B b6349931e6174b1b11c00360fb7a3040a80f3d3d463894b29393a464548398bad37be685923c725eb8a3fb71d42849254319102c833418f81eca477f52579222 SHA512 97ec368521253bce610e1e3a6f10460f4a38eba440289553a40ab27afcdf2bb9b426d150ffaa3be8db50e84a00a4eb723a631ebc4f39168bc133bf7b2f1ccf66 DIST go1.25.6.src.tar.gz 31987986 BLAKE2B f9937808018f058d0f50fd0c0c1fa8f5a0f25d983a477e158e310d46dea30e33f3e0ea3d97ab550b6e5ed8d9f3b5354e76923b539ddb16a081f42e24fd3e4cfc SHA512 214b2d82b5322d544e80d7202db9169c24e5f097338f2d0e6d34189bd5bde9e7c1656f06611062c78a156181f03956181971b346172fc14617726bfece5e61e9 DIST go1.25.8.src.tar.gz 31991986 BLAKE2B c8a18a74a8903e53954bcc39ce804518e94bd6b2ee0b8a0cc4b5cd87f5d1760d6b1235233d2bf2804e3ec55a42cf6f5345a6fe4382e7406483915101ca107c97 SHA512 2f5c9f314d18169985a9a4b19346e00dd5d4b396c8c17bfffe5719e51f27d834cc9649d0165f7eeb7367d3b6d384f49917325a40b49ba4da65e22f2c5362c739 @@ -12,3 +14,6 @@ DIST go1.26.2.src.tar.gz 34120738 BLAKE2B 86586f1d5e9d27e235219110023f8005388c50 DIST go1.26.3.src.tar.gz 34119059 BLAKE2B 985d0739d18c5dac0fc9f661006449dc20e76a157a9974a7dcfba2c43ec3c92c5ca3b785795af101e1b2df2b4d57349ea9ee2ca3b0c56d9df400686b0118329b SHA512 9c673a9ec7783a345b6294984486a5c76ba52de3eb72c95cbd68626312d100c50adb7a3ed15c93d1dc9ce9969b0f6fb4b86c87771118091cc7b0297afaf74fec DIST go1.26.4.src.tar.gz 34118246 BLAKE2B 6a9da2e9b876f52f8f35754ff6640eb5b26c17478a4aad52f8ad4f2b28d12dc74ec8665d0b8c4f77aca3e6332c86c05a5159a9e89684e3c3dc25c16da251bd1f SHA512 adacc6a34ad239d98277acd2ac8da867110da0b184dbbafb82e8a06d2b7fd23434f878a8a8cd550172c21bd31ac6391d01a0bd095c9f5c1250be66b459c8de88 DIST go1.26.5.src.tar.gz 34140216 BLAKE2B 0903273e37d73ef81e5c88f108f345d21f829aef6cfc5af0c63cc41584ce822912b8e90a989b37dad74debc90d70a9eea99621a043af56003fa9622e96bcb49d SHA512 1c1ff7bc002438e77c968155b077c51df87935d1a1a214c8750e748abe3af5cf83769eae5cfe85ca1b12a0e6fa4a0dfe4344b1023f037f206dad328607bba9f7 +DIST go1.26.6.src.tar.gz 34151057 BLAKE2B 1f67f6f99c3c067388a714f1721eb24d52acf94adece1cded75df3b6c1045b0f2826cfb3edc05b5f1e1db8e17cca0289a69c8aeb8abb2cf244954c5983e6116d SHA512 73325ff6e1ed60228a4c409baf2fc592f41c10f77d86207d3e98d8ca764ec43249c453ac70997dd3990ccbd11efa872bbfcdb6623e0a67b7dfd7ab4cf4dfe1e8 +DIST go1.26.7.src.tar.gz 34150794 BLAKE2B c6df632587189b6e67aa1624a0e572d9f15f63a004a43a73aca20575fed93fec8c04d3fd2b62b6c83298d66eb21ceaa93a8e0f1335652c13f99d64d5f1d4147c SHA512 708c8f19d43c7f931287ee0c710eb7a0c4a3d7589f546a59fcdb276f2963d8eb1fba1599977613e751d6de95b8386b6bca8e7d2caf9c555a1d51d1ef0d40289b +DIST go1.27.0.src.tar.gz 35080395 BLAKE2B eee787d8c81ad0fcc50d0eaaa2bd354bc2ba5b5568e64748236a02cb1f25c6feff4b018c4a6376a186554914d300c9029dc34a3d060915d649abc87d3e26ea73 SHA512 2709a190db3b7d230743a88fe95fd25cb378e06bc31b745c3ccaa783c0b82c83e9d2cfd8ecc364c8fe47844fcdf85fef0701dca2ce2653260f61b9c98be5e682 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.12-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.12-r1.ebuild index ba024c432e0..9c64792aecd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.12-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.12-r1.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 ~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.25.12.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.12.ebuild index 4fae67fcf5a..a4da32d3784 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.12.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 ~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.25.13.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.13.ebuild new file mode 100644 index 00000000000..4fae67fcf5a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.13.ebuild @@ -0,0 +1,152 @@ +# Copyright 1999-2026 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 flag-o-matic 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 ~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" + +# The Go data race detector (go test -race) requires an unstripped Go toolchain. +# https://bugs.gentoo.org/961618 +RESTRICT="strip" + +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.25-no-dwarf5.patch + "${FILESDIR}"/go-1.25-strip-top-level-const.patch + "${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 + + if tc-is-gcc ; then + # XXX: Hack for checking ICE (bug #912152, gcc PR113204) + # + # For either USE=debug or an unreleased compiler, non-default + # checking will trigger. + if has_version -b "sys-devel/gcc[debug]" || [[ $(gcc-minor-version) -eq 0 ]] ; then + rm src/cmd/link/cgo_test.go || die + fi + + # bug #929219 + replace-flags -g3 -g + replace-flags -ggdb3 -ggdb + 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 || die + + # remove bad test because of ebuild toolchain environment + rm -v cmd/go/testdata/script/autocgo.txt || die + + 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.14.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.14.ebuild new file mode 100644 index 00000000000..4fae67fcf5a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.14.ebuild @@ -0,0 +1,152 @@ +# Copyright 1999-2026 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 flag-o-matic 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 ~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" + +# The Go data race detector (go test -race) requires an unstripped Go toolchain. +# https://bugs.gentoo.org/961618 +RESTRICT="strip" + +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.25-no-dwarf5.patch + "${FILESDIR}"/go-1.25-strip-top-level-const.patch + "${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 + + if tc-is-gcc ; then + # XXX: Hack for checking ICE (bug #912152, gcc PR113204) + # + # For either USE=debug or an unreleased compiler, non-default + # checking will trigger. + if has_version -b "sys-devel/gcc[debug]" || [[ $(gcc-minor-version) -eq 0 ]] ; then + rm src/cmd/link/cgo_test.go || die + fi + + # bug #929219 + replace-flags -g3 -g + replace-flags -ggdb3 -ggdb + 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 || die + + # remove bad test because of ebuild toolchain environment + rm -v cmd/go/testdata/script/autocgo.txt || die + + 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.26.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.6.ebuild new file mode 100644 index 00000000000..452231977fd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.6.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} + +# See "Bootstrap" in release notes +GO_BOOTSTRAP_MIN=1.24.6 +MY_PV=${PV/_/} + +inherit flag-o-matic 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 ~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" + +# The Go data race detector (go test -race) requires an unstripped Go toolchain. +# https://bugs.gentoo.org/961618 +RESTRICT="strip" + +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.25-no-dwarf5.patch + "${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 + + if tc-is-gcc ; then + # XXX: Hack for checking ICE (bug #912152, gcc PR113204) + # + # For either USE=debug or an unreleased compiler, non-default + # checking will trigger. + if has_version -b "sys-devel/gcc[debug]" || [[ $(gcc-minor-version) -eq 0 ]] ; then + rm src/cmd/link/cgo_test.go || die + fi + + # bug #929219 + replace-flags -g3 -g + replace-flags -ggdb3 -ggdb + 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 || die + + # remove bad test because of ebuild toolchain environment + rm -v cmd/go/testdata/script/autocgo.txt || die + + 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.26.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.7.ebuild new file mode 100644 index 00000000000..452231977fd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.7.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} + +# See "Bootstrap" in release notes +GO_BOOTSTRAP_MIN=1.24.6 +MY_PV=${PV/_/} + +inherit flag-o-matic 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 ~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" + +# The Go data race detector (go test -race) requires an unstripped Go toolchain. +# https://bugs.gentoo.org/961618 +RESTRICT="strip" + +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.25-no-dwarf5.patch + "${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 + + if tc-is-gcc ; then + # XXX: Hack for checking ICE (bug #912152, gcc PR113204) + # + # For either USE=debug or an unreleased compiler, non-default + # checking will trigger. + if has_version -b "sys-devel/gcc[debug]" || [[ $(gcc-minor-version) -eq 0 ]] ; then + rm src/cmd/link/cgo_test.go || die + fi + + # bug #929219 + replace-flags -g3 -g + replace-flags -ggdb3 -ggdb + 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 || die + + # remove bad test because of ebuild toolchain environment + rm -v cmd/go/testdata/script/autocgo.txt || die + + 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.27.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.27.0.ebuild new file mode 100644 index 00000000000..89c75b000c3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.27.0.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} + +# See "Bootstrap" in release notes +GO_BOOTSTRAP_MIN=1.24.6 +MY_PV=${PV/_/} + +inherit flag-o-matic 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 ~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" + +# The Go data race detector (go test -race) requires an unstripped Go toolchain. +# https://bugs.gentoo.org/961618 +RESTRICT="strip" + +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.25-no-dwarf5.patch + "${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 + + if tc-is-gcc ; then + # XXX: Hack for checking ICE (bug #912152, gcc PR113204) + # + # For either USE=debug or an unreleased compiler, non-default + # checking will trigger. + if has_version -b "sys-devel/gcc[debug]" || [[ $(gcc-minor-version) -eq 0 ]] ; then + rm src/cmd/link/cgo_test.go || die + fi + + # bug #929219 + replace-flags -g3 -g + replace-flags -ggdb3 -ggdb + 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 || die + + # remove bad test because of ebuild toolchain environment + rm -v cmd/go/testdata/script/autocgo.txt || die + + 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/python/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest index ad7a1fb4f0d..9bb90e21edc 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 @@ -2,33 +2,52 @@ DIST Python-2.7.18.tar.xz 12854736 BLAKE2B 060a621c91dd8e3d321aec99d44c17aa67381 DIST Python-2.7.18.tar.xz.asc 833 BLAKE2B 1d98770e46171971fb99994508d238c01d2755281d2f94353314014d9e83e0ec5f0b3e3950ea1fdf5fce9ba6b8f55312355845c2a3fc4291c27ee56fe6215448 SHA512 c2a5f5a52f47dec52460ad3275758d4e5de6e7075c3def4353c988d74d563a39b42cae2d5eb24e2a23a6247cef69100f91620b11a49c2359fbf99b203c9cbda8 DIST Python-3.10.20.tar.xz 19868028 BLAKE2B 2c87aba3688454eeba9828689f7d6b4cd31d12b23cff8849f6565ba3731030a726f00285d95c301f4cd6ea4316a0b63b10b2d551e03c7eaf7750f69a422626e1 SHA512 591d3acf7ef47307b8c58fec9516731b374bcdf6eb21883410f67402f823a183f1abffec1116583e394610730f414d5a98b4c3437ea5174a4d2adbb99b8f6e5b DIST Python-3.10.20.tar.xz.asc 833 BLAKE2B a0c698708b74cc9510374c07cc65b69fd492aeef1e910e58289f7f197edf5d42b4a14a09971c36fd8e8d01b744197a58ce081a8830610009306136ee3dc279ff SHA512 cb90ce514c63c63adc10cbb3db778eae626b922461715954daf08b3a3a99b8b4c750fded624787b7d28fc10a203b0e0e5494b91e5305ef56a23fda46c023c203 +DIST Python-3.10.21.tar.xz 19896516 BLAKE2B aeca599f2f94b333c0bf1e4cb8d8ec6a60fc981686a436406345ab108dd913228eef514e52414c07d606f72ab716c90de674c6d7516aeb58e0393909bbc8bab8 SHA512 6f6de7c5e4c0457f2d189ed5d111c83fb8775e19123afe4f9fd0ae2b93f3fa2bbb7ad849ade6bb5227d4a6a3d63abc8e167fbe5fb54fa715660c89fd6274daee +DIST Python-3.10.21.tar.xz.asc 833 BLAKE2B 1933b63b13e32c8ca9d7edfbad474569da81630d17e0be49b01d9092e25773af2a1c09058382d75c9783b426418a891d3ee68a24e64b9e8efd46bf6955d43f9f SHA512 72d6aeaa0f51e527f82392cf1f969b0ad50a48fe10e8b7e5feb6117718223d00757f7b375b3ac82e257571d5a61f8162e9dd59b81fcf8f2a441c6deb42be71cb DIST Python-3.11.15.tar.xz 20332596 BLAKE2B 8be4dd30aff7a2615fd37754dc6ed1caede1507ef7716e500a2e1d1aa421668e810a2c13dfc743bcd47576a7715588476bd8c3d42275a24215a85109d6da7062 SHA512 1667f4839acfd23d05917a12993983b7dc3ab4438a37c72496fd040ac6981f4dea9dc95461ca701a6862beedb56c423fb83398b8b18e39e1efe12f539fced1c1 DIST Python-3.11.15.tar.xz.asc 833 BLAKE2B dd4134701ef36d22c7bca8ea16794d3e85dc2a2b6323b2babfdeb2652ade1db8b7d4256cb68a40ee1c1a2b5885666e25791c1e4d6c044cc8d49f68693ec65887 SHA512 673822ca037acb521bf7d3e7433f83cc2d60c8d102cfbf6695234e2a50ce12a7003040ad4017438510ebbb1ff0ba6727253fae250b07bc0e3d24b5578e80be52 +DIST Python-3.11.16.tar.xz 20328716 BLAKE2B 1a8cb139045e28f4176b1e97ab73abbb2e206e56375f198325f25c17a452a6929a6cc0ba1b25c851f0c5ac33c7c0e70bac4ef39ef3c21a10233a22f01fd2ffa9 SHA512 f4e168d35596c2df080663d8e8b3472f03bace987d46b49b8410f2425ba193215b9880c7d03d4653ec31c83b72209d95866fc1cb6d666799145075b092f64a48 +DIST Python-3.11.16.tar.xz.asc 833 BLAKE2B 9bbb865ed7a4bf2dc50a29608f92390213ae8811641ef7af85eefe5a7130bee149b07c2b43019b8dd8cbc41e03fc69ffd9826d7c32ca288f17247d034ee46c67 SHA512 b31b3205e68951478fe76f4884a124ebb4955a711b6105754d4179acb48b16a5439ec8c35383a84787cd673fa1143f2f047c6d65944909b0f1a8e3c75a0e2efe DIST Python-3.12.13.tar.xz 20801708 BLAKE2B 94b99c75e3aba1d1a953b5447f8ad6b7ebec921bc8cf32a9dfd449e574e4b7e2a010f0f267c31c859acec0092669203c71c90386c80203968126d9dbfb6ae85d SHA512 e1eb66f0b34581f0155e3ce25ba72cf0b4b1107672ed0ad3e86bcfe616945c9204c41ffc492f32b1066b9154913ff88343038967ad8711dd05e6f2332fdb735b DIST Python-3.12.13.tar.xz.asc 963 BLAKE2B e6bc572fd207fe203cf8018bca89777c7033e46d25cc598b5715658f556d26b6f3b1652f13518850ad62a37254ab4ecf5f770197cb847306ffef96b747840e88 SHA512 903fd3baa7e29891bb00fb159ec9c43804a71002c4cd38902d25bf4e5167f856b37d211a5b1098ee60e1ea41f8a10a1596dd2382edc6d7367d55dd4154807fc7 +DIST Python-3.12.14.tar.xz 20820300 BLAKE2B 3ef16b62edfe1aca66180a31eaa8b05059563acf9e83669b705dc7ce58417d72e04a156d6cc6130127fb54bfdf4a390d6a2f2961f228ba3d3a5de1a2340bab7e SHA512 9007399ffdd3a493c91a98cd7a6cb93acfb8de80f3be2f5480cda36f134d49b5043a60bc6b5c62ed18cc6a2e4e3c81cb7556ac5f337e2cd58ff3449a8099ed22 +DIST Python-3.12.14.tar.xz.asc 833 BLAKE2B 5531fd3eff81a3177b70659c8853330d6e613c0ce8888b24666367d6c25a22aaf59b3ae375b199b1d4ef76933842e602b74daabb001e0fc9516768d2c59c78dc SHA512 69cc4757f5d79ea46f9b632d5b34f9f16855cb1f767f77c827ad65546ba8f77b68e75a661ebc4e4f453edd7a98a73d916491597f67d4fed9c891aa599a869324 DIST Python-3.13.14.tar.xz 23021880 BLAKE2B 8f60f704c06fbfc2ee8ae3b2aa5c74cb5941f609baf74b3625eb37929933d2a3c806e9257c7d7f860d775a94454ed3ad90f50402ddd110b8bb32c40879bf66ec SHA512 0790da65f8ce88a13b06d3b287ace5a1f36b0a8f630a3af00fbbdf93b6ef0944dea05173a20c9e1336d280ef9a97ae2b95a44a4b487a7bbb71fda53b6331c0eb DIST Python-3.13.14.tar.xz.asc 963 BLAKE2B d500bc16d5a1a1fb999b6c98ed076077a7fa8ab55b437a676c5f20f4665d27ee4644653e55a82ab78f2be18bb38b2cfa95efe5f39d7d39db3fe6c4b227c5d6ad SHA512 a5cfab862ac03447838d13c4d1a9b085a8c8a947c958fd42cecb42929817b1448c1b23a124c87456abd43a1cadfcfb427f394eead9eaf0b84f3296fa263dba6c +DIST Python-3.13.15.tar.xz 23160540 BLAKE2B 919260666d5e641fa174de3f9ce4dace7bc2944446d11bf2a954a77acfc8f8b18ce2517b805887d78ed970486e5c893715f4252c96bf09943044d773a05d7279 SHA512 b0ab766a3de0b4cfdbf0b93300d7330c734d3f7057577bb03e95e39da4cdade81993e769c7fa6dfdcc13b9d43a3b399d9cd89b5477b413662e9e691c1b7886b8 +DIST Python-3.13.15.tar.xz.asc 833 BLAKE2B daba95f5977f80a155effdfba3e1a8a744a739f0aa0d1f4f7d2e410cd91833c1faad1186ef50d1979ec061e4a9f0c71444955612a75b4874898c9cf571019a01 SHA512 662c00be95f62e80db43cf42099fef91f764ff7a4433cadf7eb19dedb5e4775adb12878d5ed2295fcea187731de186163ad9672ab72cde62a2335ca58ec1ad86 DIST Python-3.14.6.tar.xz 23921184 BLAKE2B d3038309c02fb260ee54a4151c67999930099455a993e8b712ec5d7cac97fcd8fc847288b0c93ca8c30d5acbf79325e6d54d16019b7daf51ade982208548386e SHA512 90a82f46c28f0fca613b67358fdc57c145ab05d20fb56bf3bc0c9e4e54947c7d30fbaa6856c41a41909237a9e601d1a7d19579d4b25c7a784ebcfe9012defc41 DIST Python-3.14.6.tar.xz.sigstore 5539 BLAKE2B f48bd02fb1588306063d2a05b905bb640b23d73a404f39c6b1100b457d71bac296aaf753f24eb25c7bf060cf73972179d6e8b123f6931e69067480ded50e5d01 SHA512 461b8b4b8af0af507681fd1dd684c3559edfcc6cd79454ee0635f8e2d1606e87528ad24c9142bca2eb1ba4a70aeb123750cb9e6c181de6675205849d8cb58a48 +DIST Python-3.14.7.tar.xz 24053924 BLAKE2B 7d6988f906a402dbfc87b690f228b5fc53de024602bb459360e0482c1e323e212c71ff389b2c37bcc35248df9d9aa3bf710d3745484048cce7d4a41e5b3ea937 SHA512 3d4e2e2f983b320dec47005c408d7178d3656a6de0c4430ce21514797174b972f461200898b25d3dfac2a455019ef87e45d0fb2bb6ec2ca887124d10037a2a07 +DIST Python-3.14.7.tar.xz.sigstore 7101 BLAKE2B 9c016780aad594596b5f4782e755f211bf6c635026c2c854d6594aba2254c84eeb78f0e90eae4b0ba218168c2162999b2e9327184031c43d8b111fb72e95f888 SHA512 6e56084d4c45712d2ce21c4f16008513e4daa22f2a6174b4d715c2bcf80a2fa9a1356ea6c4ecb8470ab2f08117ef79301da666b53b264bac53ae0801e410d189 DIST Python-3.15.0b2.tar.xz 35381676 BLAKE2B 59834dc8301dcc9d7e25fd3faf6060a6755443f3782fd3f035d82896468013d01be1b558f7d5c7099b32d49256b09055fde324660d66a52900f519f75acb5556 SHA512 fae17efc3bd2604fdff2d63e0afeac47562165a5da2e1e027f4126b4f8bbb4957f3a2f406d6db23a20c8881fad108385b4b2afb53482075dbe16a690778ccd4a DIST Python-3.15.0b2.tar.xz.sigstore 5583 BLAKE2B a766583eb8340ac3bef93ac0bde0ffa66f4680361bb369b3baccd715eb24a8a1f2e5f1ba049e1e8d3c7c53f41a2fe4b0402104156f7c0609355a18dbb24c99e2 SHA512 78f437419f67b10d556ec2304e9f46af4ee0114434e1c51594ccf202aa98ae3b733f4022aeac8fc1afdeeb29fda9328f855dd4914d38318c9ec965b45358153c DIST Python-3.15.0b3.tar.xz 35459584 BLAKE2B 613f3609775df8b899603363a5e6cce39d3e1e56451c626cf87adc6149d9bbe5d1cddce86e3d86eb521747f4f0ada226322d0d737f881d107adccfd7b8533098 SHA512 a8c73a8e373ca921c87778d011072c1a0602cc203c65acda69117189cf5bd6c277c54044af381f27c243b187bbbb7b3ef47b9318bc89e2c044de9723175d7dca DIST Python-3.15.0b3.tar.xz.sigstore 5687 BLAKE2B fd74f7eae99854979980740fb5af2f75fcd4a37548667706fe3f301d213244af987afc7a5395d85df48a04f42f0f660ab6c2b717085c43077f7da5b0413aabc3 SHA512 0f9241d114a1b390f547fbd0768be1375d1500c2e9b8d851a3ba87a5d8df1c0963e69c8798dd5576298f0e535860b5faa69ead5f41549d1a4b0e6228603b5a26 DIST Python-3.15.0b4.tar.xz 35509544 BLAKE2B d7fb1fb55cb75ab28971dc4ce575a61213b2041d12224b387ca6e2c176c818d37f4db07c4064cecdefae794befbd2247cacda43b33dd28485e9a6e547e9b6865 SHA512 ea668ea51334338aa44ee6ab20d9acb958fb7c41c1bd8ef3b91048d80a27f7aa2b2bc7b4c4928714b22c86a7a7719e7c09ae2ac82fc3f3ad01ca3a736f85e067 DIST Python-3.15.0b4.tar.xz.sigstore 7105 BLAKE2B 78f8667ab32ae1353cb1475a9318e669922d475e0c31fd5e5bd86f944dc318d33299b9fbb6d00eb833cfa0f33dd0f043a6301f3e09f25fb1af892f3bb3a633b2 SHA512 df6545bc6899bcaafa056066b25a35de010a64587af223060f14ae35313b18c9e221f8bced7e256d2b3f9f13fa56c86a1cb8feefe0e24c7ad2efc41e4bf115b9 +DIST Python-3.15.0rc1.tar.xz 35516700 BLAKE2B 97bcfd712f442c0811591c4e23b29840de9755893f5ac03c3a10eaf68682a9620b39d147cf857c319b047b1d816b521b9e1e9b7cb21321974d50bbc1b8ce8c3b SHA512 70dfe0b18bf769206d50d1efa2d3c5d3da7b8333139d9d7f8f404bc8273cdf86348714a7c94869b4af4a38c0ee45559ad0bac6e90e434f11f1ee07ebbda0618a +DIST Python-3.15.0rc1.tar.xz.sigstore 7297 BLAKE2B bc1c314774909316c1860e3bb947740ed9beaa00821416459b9f66eb681a2467a19ca0187ab515f54829a3df8fb3214ac2bf8c68d1b6ead09b5c810c96253fd4 SHA512 1ce9eebc29918a5a74378f3af893104b957a5565cd7f3878e099b799787cc731caccd70f6e8fc450bc4f6a6690e1e1570fdc9ee6722b67fad455e3b075881f7b 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.25.tar.xz 20183236 BLAKE2B 01c5af78659324e2a596611c11c0fa982f81faf9b401afe1a96399b58321e39c41e46a932e1e4437f3f2bb2d76d8482e852fc66e6f960a4928f7fc99b62dfb7e SHA512 33fd65952cc3ce5df83825aa32a103935815bdd5a016e5fd9896cafb068a3f89b3a6134458a2694e4f0f4f8a9fbe84739b53116264728b32cde0f03ab210cb19 DIST Python-3.9.25.tar.xz.asc 833 BLAKE2B 3ab506f78b53aed0b3ebbeb620e3763857aafca7756f0f9a594fdc27c2fc8b002e338ae34d54f7e9e5a52fa701d3ab4de44ab4f4328034d77a207f066abafc2e SHA512 83f0a0e558aa89a106bdffeeb9b0fa2685fbd7be5c5954f9176c59c6c7023716207b07239f202b3508cbb98ca34572161955f0bfd3732fdb9265721cd6723dbe DIST python-gentoo-patches-2.7.18_p16.tar.xz 35448 BLAKE2B 0139c0944f62f9cdd236f6a8557e0ed19704c7d72869af1cb7d8bd3e646a746cd4a0201e1b44232a5e78ef49f254db20b0d0271bf744fbfd4fe0f1e99b8f3e6c SHA512 810be590d0e06fab4b2165e6852ca49662f09dcd7e20b47a29f613ad7653252c8dfac3f0eb228d77c8a914efa7c08788b2fbd552a4b47504f5fd0ec17450c48f DIST python-gentoo-patches-3.10.20.tar.xz 29180 BLAKE2B 3179a983fd4f744a6d29cb345f9e3ee1348c4feeaf2eb67ff2f3069811764129b5fc10f728c2cbc3731c7d3bbe566f08d8d4b564b907d2492ea063c284424c1a SHA512 bd7c8fea81d3e7eada0e01ff60cf37133f66d61fab3d39778ded88f445f7830493c3ef2cfbd136bc1d15526730f4b4455d6b0adbefb6a275e6b8cfe53255eb34 +DIST python-gentoo-patches-3.10.21.tar.xz 30980 BLAKE2B 5e77e0a544008c26db03d3b35f4babe95e7dbf932312439931671974094de9a94eacbd222491e19d0e3a3ce5d9cbec550224219b8b6598ca8e513336b3c09ac3 SHA512 36cbf684fbe14ee9bc3c75747c47a4588ce1cc5cfcb4461ad6d3381aec7d03150f54836836ac08fe4fca7ceeac14d16442552ef090c714f4d4ae0483a80f9470 DIST python-gentoo-patches-3.11.15.tar.xz 15988 BLAKE2B 16e98450749ebd1c617acbb9aba380fff50a8f7dba19f3f99edd3bd387c1a5d61d78cbf493cf003dfe03d2be59374ad89077b39fe203059bbbb881ae02a72ea5 SHA512 b705c72a585e315eb3ba69ffbf2a80836f0fc894fa8ae2c22768e6aa8ac2a23aada5def3d2635193793f58e3da81f0f10281c47bd8e129e1fd2c9167d292265b +DIST python-gentoo-patches-3.11.16.tar.xz 17844 BLAKE2B 5b94818357f434ee98779f42bfb0495619eb74caabed843c9b2d0704d3808910e0ef4d29afa832b81ec2ca6eb81d125815d69948d16c033671fcb6a98e64634b SHA512 d86e3efefe05f462487ce5bee96d2c8bd5630c5a4cf4d0f40956aeae7d1bbea398d490e0faa44569c1820f931df8c9652f7941510b8cd12766ffdf66e7ced4f6 DIST python-gentoo-patches-3.12.13_p1.tar.xz 12408 BLAKE2B 2b232c2742eafcb803713c837b4ddaa38f45c88e707ec272571739570f9e2e5c94644681369d887992eadf5f0c1178489f1aa3a7d8163a2aa4ce6a86732e73da SHA512 e06d78ad24c9fbc3fa9c47b25ba722342ddd140aa30f624b41d605dae40d00ab956d879a247db2d7980c063a1472de40587a0d3cd6947e560aa7e8d0e4f89309 +DIST python-gentoo-patches-3.12.14.tar.xz 14296 BLAKE2B aa38928fedcdca5b681f5b1d7cb227038a60202c91c561f2dd3dd40e80167e683676670b7a3fb791ad37f92801d23a429b5adc869eb5566f4223057e932d2f2f SHA512 aafa1c59b54c131efa7fc7db5e64ab01f6c15b4d9d6bedf44bed747b3b06610dc731c4d527b91b321205e83eba944da4b687f23628155468cfc4c8b531a822c0 DIST python-gentoo-patches-3.13.14.tar.xz 9360 BLAKE2B 257a43992b857d44881174b36b0940fab3f879060938fe6e6464ae671832a3af624a0cc6f012e44ee344a34d0a8da0c898a29176029bfab70086434fbd3c3b99 SHA512 0084ffc35ff81a7056dd7a3624083ed957fbe482b1cbca9e401ef5851e0046b82b9102f4cf358f2974d7a7dfb3e21e96dcafe6c207417fa01834b9d10a2ee8d6 +DIST python-gentoo-patches-3.13.15.tar.xz 9364 BLAKE2B 03cc93d5d89db0fedf92dc80e1a758b408fea4d718c7ef653b5068b791327a0d416870a362a652f21066abf17b15f682850f71473adf8e2bfc86ede4677738e5 SHA512 319805f8dad220b89c6d52bd76ba031f1c8c780c7338fdbe7fd35af685a8ee75ca2568d77863a67de64398e92c4b73beb581481846f81c24eb9f0317b81a848a DIST python-gentoo-patches-3.14.6.tar.xz 10312 BLAKE2B 3415bb7859cdd8754987afdc7d0c793833755698a9a6b7e7b7c75d2c203109640cf5c1aff49ea38419273959479fb745cf956cae263515d82c0e7e67155be5c2 SHA512 19cb6f1424165153d2834b310ef6f8a0ac047351126191457fc0ce49238a6b21fe8a427897a5ce19bdd20076abc2189c71175981a67ab07dcbdec759b80005ab DIST python-gentoo-patches-3.14.6_p1.tar.xz 12032 BLAKE2B 315de6cb5f346c6406e12d4cb6ccbc986e6a39dc334e5ceb4d1ba4922a336d77f0bd0167fb7ef4d1c40ce0829e03248e838dbfbd0a46c0e4e0f6cf9e999e09e8 SHA512 2ac689aa6cff138782440ce1104bf21eace756fd1a72e22590c14157390937f7f50cd1e1ca774bb5a1ff08404b74901fb55d703c39a6ff9c9165e420d1b045e9 +DIST python-gentoo-patches-3.14.7.tar.xz 10304 BLAKE2B df9214b27caaef53da93e5468faae24186d5f37b675a86289ae0161539935a509d60635cde4569efd03769e228fb7d450e396bf731db2b49d4a46e0f70df4a87 SHA512 d8313edbf5126df6ed59d4e06fb813574e4dd672ccd433e6de776a06757deda0e0495bb92e59508d86bb5ee84d2fab8141c5446f6541104b1bd80c8647a1f705 DIST python-gentoo-patches-3.15.0b2.tar.xz 3436 BLAKE2B fa2128b899f2d93078058ccd3e47b780bd092a841b07add94da61a55bb1f9846ec1fa5e00bcd78fcdd1d7da80fdf1dbabcc5d644a70cebce2018c457b186c74a SHA512 e92e87c027c8d777faae20b264cd83353dbb23d15679e99465f014277d02078b8c68fce3723e176cbebd94ac2057e5a9703f0ae5f5691e934b74947735ec3a86 DIST python-gentoo-patches-3.15.0b3.tar.xz 3432 BLAKE2B 994e9339e00dfa4b40395e763f25dde4813d791151787028dafcf2e5159c38bbe88d4b56d07fc4c7454a09bd55edfda94b9cb8cf5c0ff0ffe7db4bb1a8eea8b6 SHA512 8c3a8dea43fc42179679b1f6811979dabb4e1c34821b4aecd894d661842df26e7592f5c74787157f36ccddf9ce233994c774fbe8381dc0ccaff3dfcff0c6c572 DIST python-gentoo-patches-3.15.0b4_p1.tar.xz 4272 BLAKE2B 850ff2a20381a562da3e727fcbf4d2de88682b9ec086c31359de8a31e0aaf2b87da91d55ec7ceb690c7969d75683bd07e43f88d3bf6f33448f98674c49b404b2 SHA512 7baa9b19cb01bf6c1fc5ca5a62cd08967d4be3f697931ffc7e56da150d4d9a038b1ed212543ae334cb826f59a20ec6cc5d329db72e62fd152271817f5ded1975 +DIST python-gentoo-patches-3.15.0rc1.tar.xz 3432 BLAKE2B ecd250cefb140de9b9072e4fc256a21c0f2b0a372a4fc715cf954e04c8b5ed8932f9729e14fa1c31edbca3db72b6c9fade2bb4571544e26425bfa841cbd9acad SHA512 2d587b31bafe712f87b79c93fc197e7232da29a14df218ec495a57a50a92d1543dc5fb32214a5ef83dc2b0dac22dad493a03cac39b25566f1b4688d810dacefa +DIST python-gentoo-patches-3.15.0rc1_p1.tar.xz 5204 BLAKE2B 088022af757ebcb93a6fed65211147f5e1b4fc3cf319aa4fd6ca18998a96a579711cc18ba392e91a58cbea44fc71facca47ace333fc79957ae779876b30e0349 SHA512 c72a2a312c97e67962b06a2fa2da6292b11fa19cb8fe237e9a100c85672a230acf2f74b47832a601513a100358bcfd70296501652a9692e86a53447f5962fdfa DIST python-gentoo-patches-3.8.20_p7.tar.xz 54544 BLAKE2B e31fc9fb5e98b62b0f70165670ec58ed4fa932cfc95d5287c249015a3a372fdbf0d1ba08cb98f63c2dc500700edfd6ffea6db670385d2c86a4fdb92ffb991192 SHA512 a9e7e4976be226931a503af2c986da207d060d4ce436af61f5e8427da513639adbed32bb0061963b83fef275a5de91707ab13b7a9abf3a7472ee0e2c5310eda1 DIST python-gentoo-patches-3.9.25.tar.xz 36604 BLAKE2B 11d35dcbc8979fe37e27a00dfef9683f0bf40514415be416d322f0509109edeb58a2e0b9218cfa3b3326654f5923d165511d203504ca2b52971ad136f8a454d1 SHA512 234bae116b2a5af00506cb76a0b86dfb8cf1f84ee980a358f3642bb717cff4d6f10388b2a07f12118588a174de4d2fd6ad2e3ab24704f9c85f36cb33d51f0c65 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.15.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.15.ebuild new file mode 100644 index 00000000000..225078930d1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.15.ebuild @@ -0,0 +1,582 @@ +# Copyright 1999-2026 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 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://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${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 + sys-apps/util-linux + >=virtual/zlib-1.1.3:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + 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-20260805 ) +" +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} -fno-lto" + 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" +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.7.ebuild new file mode 100644 index 00000000000..dda039e2d6d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.7.ebuild @@ -0,0 +1,625 @@ +# Copyright 1999-2026 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 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://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${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}" +if [[ ${PV} != *_rc* ]]; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi +IUSE=" + bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo + +readline +sqlite +ssl tail-call-interp test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + sys-apps/util-linux + >=virtual/zlib-1.1.3:= + virtual/libintl + !build? ( app-arch/zstd:= ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + 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} -fno-lto" + 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 build '_zstd') + $(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.15.0_rc1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_rc1-r1.ebuild new file mode 100644 index 00000000000..b011e6ecc26 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_rc1-r1.ebuild @@ -0,0 +1,662 @@ +# Copyright 1999-2026 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://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${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 build debug +ensurepip examples gdbm libedit +ncurses pgo + +readline +sqlite +ssl tail-call-interp test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + sys-apps/util-linux + >=virtual/zlib-1.1.3:= + virtual/libintl + !build? ( app-arch/zstd:= ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + 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:* + ) + ) +" +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 + + 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." + + if [[ ${MERGE_TYPE} != buildonly ]] && ver_replacing -lt 0.3.15.0_beta4; then + ewarn + ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" + ewarn "with older versions may crash at runtime or worse after upgrading." + ewarn "A rebuild is recommended after the merge is complete, e.g. using:" + ewarn + ewarn " emerge -1v \$(find /usr/lib/python3.15t/site-packages -name '*.cpython-315t-*.so')" + ewarn + ewarn "Note that if you enabled both python3_15 and python3_15t, then" + ewarn "the 3.15 rebuild should cover all 3.15t packages as well." + ewarn "If you do not wish to perform the rebuild at the time, it is" + ewarn "recommended to abort the upgrade." + ewarn + 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} -fno-lto" + 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 build '_zstd') + $(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} + local build_dir=$(/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.15.0_beta4; then + ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" + ewarn "with older versions may crash at runtime or worse. To prevent this," + ewarn "please rebuild all extensions using the versoned ABI, e.g. using:" + ewarn + ewarn " emerge -1v \$(find /usr/lib/python3.15t/site-packages -name '*.cpython-315t-*.so')" + ewarn + ewarn "Note that if you enabled both python3_15 and python3_15t, then" + ewarn "the 3.15 rebuild should cover all 3.15t packages already." + fi +} 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 1517731db95..630b688ff06 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 @@ -6,7 +6,7 @@ EAPI="8" WANT_LIBTOOL="none" inherit autotools check-reqs eapi9-ver flag-o-matic git-r3 linux-info -inherit multiprocessing pax-utils toolchain-funcs +inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs PYVER="$(ver_cut 2-3)t" PATCHSET="python-gentoo-patches-3.15.0b3" @@ -607,6 +607,30 @@ src_install() { -e "s:@PYDOC@:pydoc${PYVER}:" \ -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 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() { diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.21.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.21.ebuild new file mode 100644 index 00000000000..3b5799d53f6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.21.ebuild @@ -0,0 +1,572 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit prefix toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${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 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-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + sys-apps/util-linux + >=virtual/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + ) + 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 ) +" +PDEPEND=" + ensurepip? ( + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || 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} -fno-lto" + 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 and bug #864911. + 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. + --without-lto + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" 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 + local disable + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + 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 + ) + + # 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 + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_descr + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -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_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + build_cbuild_python + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + 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 + + hprefixify setup.py + 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 + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # 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 + + 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} + + emake 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 ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter} || 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.11.16.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.16.ebuild new file mode 100644 index 00000000000..58e364bf25a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.16.ebuild @@ -0,0 +1,589 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit prefix toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${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 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 + sys-apps/util-linux + >=virtual/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + ) + 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 ) +" +PDEPEND=" + ensurepip? ( + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || 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} -fno-lto" + 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 + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__GDBM_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__SQLITE3_STATE=disabled + MODULE__HASHLIB_STATE=disabled + MODULE__SSL_STATE=disabled + MODULE__CURSES_STATE=disabled + MODULE__CURSES_PANEL_STATE=disabled + MODULE_READLINE_STATE=disabled + MODULE__TKINTER_STATE=disabled + MODULE_PYEXPAT_STATE=disabled + MODULE_ZLIB_STATE=disabled + EOF + + # 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. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" 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 + ) + + # 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 + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_descr + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -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_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + 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 + + hprefixify setup.py + 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 + + # force-disable modules we don't want built + local disable_modules=( NIS ) + use gdbm || disable_modules+=( _GDBM _DBM ) + use sqlite || disable_modules+=( _SQLITE3 ) + use ssl || disable_modules+=( _HASHLIB _SSL ) + use ncurses || disable_modules+=( _CURSES _CURSES_PANEL ) + use readline || disable_modules+=( READLINE ) + use tk || disable_modules+=( _TKINTER ) + + local mod + for mod in "${disable_modules[@]}"; do + echo "MODULE_${mod}_STATE=disabled" + done >> Makefile || die + + # 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 + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + 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 ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter} || 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.12.14.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.14.ebuild new file mode 100644 index 00000000000..f31347ad28b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.14.ebuild @@ -0,0 +1,606 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${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 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 + sys-apps/util-linux + >=virtual/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +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 ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + 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 + # broken w/ >=linux-7.1, fixed w/ >=3.13 + # https://github.com/python/cpython/issues/149078 + # https://github.com/python/cpython/issues/149776 + -x test_socket + ) + + # 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 + + # 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 + -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_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + 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} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" 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 + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.15.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.15.ebuild new file mode 100644 index 00000000000..d1ccb0f535b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.15.ebuild @@ -0,0 +1,616 @@ +# Copyright 1999-2026 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://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${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 + sys-apps/util-linux + >=virtual/zlib-1.1.3:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + 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-20260805 ) +" +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} -fno-lto" + 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.14.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.7.ebuild new file mode 100644 index 00000000000..1b4baba3a56 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.7.ebuild @@ -0,0 +1,636 @@ +# Copyright 1999-2026 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 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://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${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}" +if [[ ${PV} != *_rc* ]]; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi +IUSE=" + bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo + +readline +sqlite +ssl tail-call-interp test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + sys-apps/util-linux + >=virtual/zlib-1.1.3:= + virtual/libintl + !build? ( app-arch/zstd:= ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + 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} -fno-lto" + 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 build '_zstd') + $(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.15.0_rc1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_rc1.ebuild new file mode 100644 index 00000000000..0dd32397024 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_rc1.ebuild @@ -0,0 +1,642 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 21 ) +LLVM_OPTIONAL=1 +VERIFY_SIG_METHOD=sigstore +WANT_LIBTOOL="none" + +inherit autotools check-reqs eapi9-ver flag-o-matic linux-info llvm-r2 +inherit multiprocessing pax-utils toolchain-funcs 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://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${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 build debug +ensurepip examples gdbm jit libedit +ncurses pgo + +readline +sqlite +ssl tail-call-interp test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + sys-apps/util-linux + >=virtual/zlib-1.1.3:= + virtual/libintl + !build? ( app-arch/zstd:= ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + 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:* + ) + ) +" +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 + + if [[ ${MERGE_TYPE} != buildonly ]] && ver_replacing -lt 3.15.0_beta4; then + ewarn + ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" + ewarn "with older versions may crash at runtime or worse after upgrading." + ewarn "A rebuild is recommended after the merge is complete, e.g. using:" + ewarn + ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" + ewarn + ewarn "Note that if you enabled both python3_15 and python3_15t, then" + ewarn "the 3.15 rebuild should cover all 3.15t packages already." + ewarn "If you do not wish to perform the rebuild at the time, it is" + ewarn "recommended to abort the upgrade." + ewarn + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + use jit && llvm-r2_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} -fno-lto" + 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 build '_zstd') + $(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} + local build_dir=$(/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" +} + +pkg_postinst() { + if ver_replacing -lt 3.15.0_beta4; then + ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" + ewarn "with older versions may crash at runtime or worse. To prevent this," + ewarn "please rebuild all extensions using the versoned ABI, e.g. using:" + ewarn + ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" + ewarn + ewarn "Note that if you enabled both python3_15 and python3_15t, then" + ewarn "the 3.15 rebuild should cover all 3.15t packages already." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_rc1_p1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_rc1_p1-r1.ebuild new file mode 100644 index 00000000000..32f16d24f06 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_rc1_p1-r1.ebuild @@ -0,0 +1,667 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 21 ) +LLVM_OPTIONAL=1 +VERIFY_SIG_METHOD=sigstore +WANT_LIBTOOL="none" + +inherit autotools check-reqs eapi9-ver flag-o-matic linux-info llvm-r2 +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://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${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 build debug +ensurepip examples gdbm jit libedit +ncurses pgo + +readline +sqlite +ssl tail-call-interp test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + sys-apps/util-linux + >=virtual/zlib-1.1.3:= + virtual/libintl + !build? ( app-arch/zstd:= ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + 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:* + ) + ) +" +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 + + if [[ ${MERGE_TYPE} != buildonly ]] && ver_replacing -lt 3.15.0_beta4; then + ewarn + ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" + ewarn "with older versions may crash at runtime or worse after upgrading." + ewarn "A rebuild is recommended after the merge is complete, e.g. using:" + ewarn + ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" + ewarn + ewarn "Note that if you enabled both python3_15 and python3_15t, then" + ewarn "the 3.15 rebuild should cover all 3.15t packages already." + ewarn "If you do not wish to perform the rebuild at the time, it is" + ewarn "recommended to abort the upgrade." + ewarn + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + use jit && llvm-r2_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} -fno-lto" + 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 build '_zstd') + $(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} + local build_dir=$(/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.15.0_beta4; then + ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" + ewarn "with older versions may crash at runtime or worse. To prevent this," + ewarn "please rebuild all extensions using the versoned ABI, e.g. using:" + ewarn + ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" + ewarn + ewarn "Note that if you enabled both python3_15 and python3_15t, then" + ewarn "the 3.15 rebuild should cover all 3.15t packages already." + fi +} 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 dcc4581f1d0..3ceef737324 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 @@ -8,7 +8,7 @@ LLVM_OPTIONAL=1 WANT_LIBTOOL="none" inherit autotools check-reqs eapi9-ver flag-o-matic git-r3 linux-info llvm-r2 -inherit multiprocessing pax-utils toolchain-funcs +inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs PYVER=$(ver_cut 1-2) PATCHSET="python-gentoo-patches-3.15.0b3" @@ -613,6 +613,30 @@ src_install() { -e "s:@PYDOC@:pydoc${PYVER}:" \ -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 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() { diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.96.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.96.1.ebuild index 40019466925..4b46e5cd725 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.96.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.96.1.ebuild @@ -24,7 +24,7 @@ else SRC_URI="$(rust_all_arch_uris "rust-${PV}") rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2026-06-30/rust-src-${PV}.tar.xz ) " - 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-common/rust-common-1.96.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.96.1.ebuild index 1037d635a09..44d5013f245 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.96.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.96.1.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/rust-1.96.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.96.1.ebuild index 905eb46cf0e..a42821af523 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.96.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.96.1.ebuild @@ -61,7 +61,7 @@ else " 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-libs/expat/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/expat/Manifest index 55a2507150b..c6a5b25362f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/expat/Manifest @@ -1 +1,2 @@ DIST expat-2.8.2.tar.xz 515504 BLAKE2B f037cb75f86652fbddd3474f2b7a1293e9b77b540475fa34432a8304ddc58b3eafbab5150a5b591fc4a889d895507b0d379032cdd0c474445ac0aa9e518bef18 SHA512 68ee856b3eeefeb6bb800004951bbbe89a9a144354ae12bc9d670888fd89e8513243e0053c61674430c78e2beeeb85a3c86ac7644576a5bb9867fbce3643ff8d +DIST expat-2.8.3.tar.xz 517264 BLAKE2B 4dc1173f3458320278b6776aa9342aec4eec3e2e5d8806e52dec59b9a40d5fdad5b8930708bace06a5c9a33fd7451df67c5c822954fa3d7f763babab62989390 SHA512 f6f08f9e4591077c9ed625ea6108d58f2541c3a35bc55e09a8654868c407b82ffaed65e1a437b08ea34783f72f6e453d53647f5b89c8ac59a0bf14902335dad1 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.8.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.8.3.ebuild new file mode 100644 index 00000000000..3526fc8e126 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.8.3.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +AUTOTOOLS_AUTO_DEPEND=no +inherit autotools multilib-minimal + +DESCRIPTION="Stream-oriented XML parser library" +HOMEPAGE="https://libexpat.github.io/" +SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/expat-${PV}.tar.xz" + +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="examples static-libs test unicode" +RESTRICT="!test? ( test )" +BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )" + +DOCS=( README.md ) + +QA_CONFIG_IMPL_DECL_SKIP=( + # https://bugs.gentoo.org/906384 + arc4random + arc4random_buf +) + +src_prepare() { + default + + # fix interpreter to be a recent/good shell + sed -i -e "1s:/bin/sh:${BASH}:" conftools/get-version.sh || die + if use unicode; then + cp -R "${S}" "${S}"w || die + pushd "${S}"w >/dev/null + find -name Makefile.am \ + -exec sed \ + -e 's,libexpat\.la,libexpatw.la,' \ + -e 's,libexpat_la,libexpatw_la,' \ + -i {} + || die + eautoreconf + popd >/dev/null + fi +} + +multilib_src_configure() { + local myconf="$(use_with test tests) $(use_enable static-libs static) --without-docbook" + + mkdir -p "${BUILD_DIR}"w || die + + if use unicode; then + pushd "${BUILD_DIR}"w >/dev/null + CPPFLAGS="${CPPFLAGS} -DXML_UNICODE" ECONF_SOURCE="${S}"w econf ${myconf} + popd >/dev/null + fi + + ECONF_SOURCE="${S}" econf ${myconf} +} + +multilib_src_compile() { + emake + + if use unicode; then + pushd "${BUILD_DIR}"w >/dev/null + emake -C lib + popd >/dev/null + fi +} + +multilib_src_install() { + emake install DESTDIR="${D}" + + if use unicode; then + pushd "${BUILD_DIR}"w >/dev/null + emake -C lib install DESTDIR="${D}" + popd >/dev/null + + pushd "${ED}"/usr/$(get_libdir)/pkgconfig >/dev/null + cp expat.pc expatw.pc + sed -i -e '/^Libs/s:-lexpat:&w:' expatw.pc || die + popd >/dev/null + fi +} + +multilib_src_install_all() { + einstalldocs + + doman doc/xmlwf.1 + + # Note: Use of HTML_DOCS would add unwanted "doc" subfolder + docinto html + dodoc doc/*.{css,html} + + if use examples; then + docinto examples + dodoc examples/*.c + docompress -x usr/share/doc/${PF}/examples + fi + + find "${D}" -name '*.la' -type f -delete || die +} 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 8560e2f6ca1..b8b0cb8f179 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,7 +1,4 @@ -DIST glib-2.84.4.tar.xz 5618200 BLAKE2B 5faee382433085cd598545a99e2e95ce430be4ac5ca10106b70f2404ddacf328f4223bc092a23025f9bf8b936619a88a9dfb220674a07e9250cf4213c6213be9 SHA512 2de9b2f7376c0e5f6ee585087090675d597c474199a10d04aad18df688b6ca77d17e93a86ec07482898663f51c82121992272496318138f77ca5ad2c340a4bd3 -DIST glib-2.86.5.tar.xz 5695864 BLAKE2B 67fb6d9bde2c47647bfc7979bf3486aac0c7c32d51593ac37c2e988556d3225faa7c702b3f39103051a6671e142c2ae2baf309451720262d18311f519385f17c SHA512 e14e56659594cb1f929cf62b01f415b867592f83d7a624a8806c609c762fcdf6ab7bc4c68ab1faafd709f7448a52b8e37a7066a53c84b52607a8b5261bc8f222 -DIST glib-2.88.1.tar.xz 5789296 BLAKE2B d9a0e54d2c1b5128aee76f1743cbeea84a24af5a2252ba1c649943bbca3fbc5f08896249542526560c92dd0e60cbd8a72498c3cfe1535d1f0bf85316ce37dba1 SHA512 74e6d6086081e5dfb5b7fd3b74f59171033be0c340ff2dd798fea9cb42e5f680e13b2ac3dde8dd423bceb9c6556103005f9542aeda166e9a3b89da8bacecca23 DIST glib-2.88.2-const-whoops.patch.xz 19144 BLAKE2B 7b9cd36900acab507702f53e0e70f7b623958810d604b5ac60b7c8a458887c001f871119fcfe9bf8b3266d63d74030aa87305c44ce501bb08fab6e072bc4f774 SHA512 0f8b2b3890250725277addeb1ab42dcb5f53bdb58980d7679564c9b701ec3f68af8fa77b5b04aa9b24370fa77a6121646434aa8d811d2c5ad12966fa0caeed0e DIST glib-2.88.2.tar.xz 5782636 BLAKE2B fecce4ad82e62e429d30f4e9050a83b53715644fc8c7c89d767ecdaefa603530e81e024dd3450ce25bcd93b00fa6aeb8551b6240d3a04862dadeb895b0177e10 SHA512 d6f40d1ff0f73faccdff8060fabd29b8217cc46139cf33e5792fee05af0665f96cd04e7866995bd84fcd99c9e40c40367d1326f8417bad99c1242dd841ec72a5 -DIST gobject-introspection-1.82.0.tar.xz 1052872 BLAKE2B 8336ae26d48a71a203655d9d268076f603055ceabb55dbfa676f2c67b4096b83afc106d485dc45d02b3a8be806f9ef50d54806a82e61f2a252ae59543c61e934 SHA512 e139fadb4174c72b648914f3774d89fc0e5eaee45bba0c13edf05de883664dad8276dbc34006217bb09871ed4bad23adab51ff232a17b9eb131329b2926cafb7 +DIST glib-2.88.3.tar.xz 5794356 BLAKE2B 8c291c0c05e2bf1dc7c5ca7d077f7d87ea7d81eff56de80991001c113718fe314db771f8901a26b21dace763a9d9898cccf6d4c11462372e594b6b39cdf4b95c SHA512 9e2b4985d5e4e06c6897a33cf8c100b9303528ebd72152c10e4cb734fa62fc011c84b816b20f686a3b2aac9a4a5a46f33e7517b4c4c7f3c25c75ac3ddc11f844 DIST gobject-introspection-1.86.0.tar.xz 1083172 BLAKE2B 425d60c8c4bd582c55030ed91b4c2f3982e3c502da1c6f2579c4cc1e05d82d8a8c9a533af3e4a7ae8f6a031761d763d7f7ad8031e38ae3bd7d2549c9f6bcf7f3 SHA512 a9d2edbe1cea710e10ef1ea8059a45cf5689bace43b5d2a6861809e863a6de7114b4763db8df3916ad6202c9967f48f7997acd0810a86e5e88dea7e0be88b585 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.4-r5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.4-r5.ebuild deleted file mode 100644 index 9193a315362..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.84.4-r5.ebuild +++ /dev/null @@ -1,483 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_REQ_USE="xml(+)" -PYTHON_COMPAT=( python3_{11..14} ) - -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 ~arm64-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}] - 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} - systemtap? ( >=dev-debug/systemtap-1.3 ) -" -# libxml2 used for optional tests that get automatically skipped -BDEPEND=" - app-text/docbook-xsl-stylesheets - >=dev-build/meson-1.4.0 - 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 - "${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 - "${FILESDIR}"/${PN}-2.84.4-setlocale-glibc-2.43.patch - "${FILESDIR}"/${PN}-2.84.4-fix-const-attribute.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 - # 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 - - # Running gdb inside a test within sandbox is brittle - sed -i -e '/self.__gdb = shutil.which("gdb")/s:"gdb":"gdb-idonotexist":' glib/tests/assert-msg-test.py || 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 - 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.) - 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 - - # 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=( - --localstatedir="${EPREFIX}"/var - -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; then - tc-export CC - meson_add_machine_file dtrace <<-EOF - [binaries] - dtrace='stap-dtrace' - EOF - 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.86.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.86.5-r1.ebuild deleted file mode 100644 index 79af0bddbc7..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.86.5-r1.ebuild +++ /dev/null @@ -1,478 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_REQ_USE="xml(+)" -PYTHON_COMPAT=( python3_{11..14} ) - -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.86.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 ~arm64-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}] - 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} - systemtap? ( >=dev-debug/systemtap-1.3 ) -" -# libxml2 used for optional tests that get automatically skipped -BDEPEND=" - app-text/docbook-xsl-stylesheets - >=dev-build/meson-1.4.0 - 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 - "${FILESDIR}"/${PN}-2.84.4-setlocale-glibc-2.43.patch - "${FILESDIR}"/${PN}-2.84.4-fix-const-attribute.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 - # 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 - - # Running gdb inside a test within sandbox is brittle - sed -i -e '/self.__gdb = shutil.which("gdb")/s:"gdb":"gdb-idonotexist":' glib/tests/assert-msg-test.py || 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 - 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.) - 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 - - # 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=( - --localstatedir="${EPREFIX}"/var - -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; then - tc-export CC - meson_add_machine_file dtrace <<-EOF - [binaries] - dtrace='stap-dtrace' - EOF - 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.88.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.88.3.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.88.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.88.3.ebuild index 80dfab5ac62..a7e616b2390 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.88.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.88.3.ebuild @@ -3,7 +3,7 @@ EAPI=8 PYTHON_REQ_USE="xml(+)" -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..15} ) inherit dot-a eapi9-ver gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg @@ -15,6 +15,7 @@ INTROSPECTION_PV="1.86.0" INTROSPECTION_P="${INTROSPECTION_PN}-${INTROSPECTION_PV}" SRC_URI=" ${SRC_URI} + https://distfiles.gentoo.org/pub/dev/sam%40gentoo.org/${CATEGORY}/${PN}/${PN}-2.88.2-const-whoops.patch.xz introspection? ( mirror://gnome/sources/gobject-introspection/${INTROSPECTION_PV%.*}/gobject-introspection-${INTROSPECTION_PV}.tar.${GNOME_TARBALL_SUFFIX} ) " INTROSPECTION_SOURCE_DIR="${WORKDIR}/${INTROSPECTION_P}" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/leancrypto/leancrypto-1.8.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/leancrypto/leancrypto-1.8.0.ebuild index 11d0e3512e9..37b8f55e8e9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/leancrypto/leancrypto-1.8.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/leancrypto/leancrypto-1.8.0.ebuild @@ -20,7 +20,7 @@ else verify-sig? ( https://leancrypto.org/leancrypto/releases/${P}/${P}.tar.xz.asc ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~m68k ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~m68k ~mips ~riscv ~s390 ~sparc x86" BDEPEND=" verify-sig? ( sec-keys/openpgp-keys-leancrypto ) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libevent/libevent-2.1.13.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libevent/libevent-2.1.13.ebuild index 2ef3ecd9258..3652a5ed8bf 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libevent/libevent-2.1.13.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libevent/libevent-2.1.13.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 ~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/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/Manifest index 1a44d2edade..3238bc9002e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/Manifest @@ -4,3 +4,4 @@ DIST libffi-3.5.2.tar.gz 1423124 BLAKE2B 35ce590926bcdd2556c30c94bb0fef3f0cfe8f3 DIST libffi-3.6.0.tar.gz 1475449 BLAKE2B 25044e42e3451319b04105af7818e90579aff90f6bc4eb0313daee354011cfba322b94e282b49cffa014d74ec907c0c5cc47399f3cb25566cbb178b72379c3ec SHA512 716f0e7884cd7206ceb7410a8422a0c2229bf48151ff525575f7489d389683531bd0c6cf8c78a3a5f9c54444ef485a7f2b0e1e6e4180b4da599dec9021a40491 DIST libffi-3.7.0.tar.gz 1508891 BLAKE2B e792fe8213e36d47ec1dad2bda99f9ba34f76587693a52433777c1b113cdb8dc93dd49c9d7c30fd455a2776598dc04be333e6edd96388f33062b4bf0a60086f8 SHA512 4a5021f8a6f2ef8b2b25d3537a642a25aa61c25e8d6b83590b4dc66435903ad72a7751c507a7b0d1ab4749385724224ff40cbebd0af4e923432d074942892c65 DIST libffi-3.7.1.tar.gz 1515185 BLAKE2B 642741667d55aa2921fc250adea68eafd2519e786199fd2d0463a57ab6e830b51d97a361156bc2761d8c1bfecb9156ddc3147b6f81f4379bc054b98a29675526 SHA512 03c04616261a8199794d5d482d734298f2f60b2c9c5968cf717b58df7fd0e4bba33d0cb38f73aec361339128dddf4fdbe5d64002b54fdb8b3fc01c07d8b90a31 +DIST libffi-3.8.0.tar.gz 1581626 BLAKE2B 589f87f79ea637dbddd00db3e320090f17855da5b1669a42b154f1c61bcafd1e8a964738d25b424c95ba5e148565df4b7379800ba42f40149c74d749f4f4b096 SHA512 a259d50f40b5dcde9cb6227bd105761e667290f107553b204a5a6cfdfbf2e6b022ed04be2ea4596da42961d11396125425def3cb67e2844a9eba90b6750c8c39 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.8.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.8.0.ebuild new file mode 100644 index 00000000000..a32677eadcd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.8.0.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dot-a multilib-minimal preserve-libs + +MY_PV=${PV/_rc/-rc} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="Portable, high level programming interface to various calling conventions" +HOMEPAGE="https://sourceware.org/libffi/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/libffi/libffi" + inherit autotools git-r3 +else + inherit libtool + SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz" + + if [[ ${PV} != *@(alpha|beta|pre|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="MIT" +# This is a core package which is depended on by e.g. Python. +# Please use preserve-libs.eclass in pkg_{pre,post}inst to cover users +# with FEATURES="-preserved-libs" or another package manager if SONAME changes. +SLOT="0/8" # SONAME=libffi.so.8 +IUSE="debug +exec-static-trampoline pax-kernel static-libs test" + +RESTRICT="!test? ( test )" +BDEPEND="test? ( dev-util/dejagnu )" + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + else + elibtoolize + fi + + if [[ ${CHOST} == arm64-*-darwin* ]] ; then + # ensure we use aarch64 asm, not x86 on arm64 + sed -i -e 's/aarch64\*-\*-\*/arm64*-*-*|&/' \ + configure configure.host || die + fi +} + +src_configure() { + use static-libs && lto-guarantee-fat + multilib-minimal_src_configure +} + +multilib_src_configure() { + # --includedir= path maintains a few properties: + # 1. have stable name across libffi versions: some packages like + # dev-lang/ghc or kde-frameworks/networkmanager-qt embed + # ${includedir} at build-time. Don't require those to be + # rebuilt unless SONAME changes. bug #695788 + # + # We use /usr/.../${PN} (instead of former /usr/.../${P}). + # + # 2. have ${ABI}-specific location as ffi.h is target-dependent. + # + # We use /usr/$(get_libdir)/... to have ABI identifier. + ECONF_SOURCE="${S}" econf \ + --includedir="${EPREFIX}"/usr/$(get_libdir)/${PN}/include \ + --disable-multi-os-directory \ + --with-pic \ + $(use_enable static-libs static) \ + $(use_enable exec-static-trampoline exec-static-tramp) \ + $(use_enable pax-kernel pax_emutramp) \ + $(use_enable debug) +} + +multilib_src_test() { + emake -Onone check +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -name "*.la" -delete || die + strip-lto-bytecode +} + +pkg_preinst() { + preserve_old_lib /usr/$(get_libdir)/libffi.so.7 +} + +pkg_postinst() { + preserve_old_lib_notify /usr/$(get_libdir)/libffi.so.7 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libksba/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libksba/Manifest index f1f81283f3a..a4ce734e320 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libksba/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libksba/Manifest @@ -1,4 +1,2 @@ -DIST libksba-1.6.8.tar.bz2 716917 BLAKE2B 13efba4f1f22de8e149049443ac1b68dea75c7526678f0a462c6922fb2f6de71c8c20d6c41b726e3083076f201576645b2f9181340fa2c49ca4de2ed1f6064fb SHA512 23522376b4ce89c9847d464723ba6052e410d2450dcd10e0da3f07e074c1169585823eea30a70aa572f4e8ec86121844476eeb90c8599dd21f22eab71333d5a8 -DIST libksba-1.6.8.tar.bz2.sig 294 BLAKE2B 257739517c1c5c0c6b0121de186ed7dfcc54e470070ce9466408e148fa16efdc8ba7146211a3574ac9a6bae95015be9d5545bc30459ac0f2f38873bac219a879 SHA512 ada3a9f6f26cb89c5c2926e51283bb26db7ec3a95da592b296e4b269889a6607c31ebb8b5b09e92afc987fa146c2f67b2f8a024808264a2c5dd9a8fd0b42c64c DIST libksba-1.8.0.tar.bz2 721895 BLAKE2B ce1ceaf4b2542c2ac391fe944e81d0a05d73abf6abbc2637ef2c6c93d0a110a9fd352ae1586eb486148244ec68b0974348f440560991ca96196ab57549ab2cd3 SHA512 d0cfb14131c12e3dbce4b9e5e6026a44570c8f5412099f95180b77a944d4705a2f897cda94764e04ffd9c0aad3772b5e40c81b8e032ff58fbc82e5ad6e2978e9 DIST libksba-1.8.0.tar.bz2.sig 147 BLAKE2B 764eea53d2d42a08e4d39d2df9d51f9b411ccef879c07fe4079ffe3b7c6101c1a1cebfcca90b369f38598b2314bfb483e14cd67bd8bf27dc1333b6cfcb0bb97e SHA512 62a9a71f5f0aa3c4b6c063a9369e2f7a608ae26de1599893881ca112c98678e0dd22b9133a6155a278c2bbcacd08a1ae2ddda907ffc68cb74ee872c225ac885b diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.6.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.6.8.ebuild deleted file mode 100644 index c8eeac391fd..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.6.8.ebuild +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 1999-2026 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 toolchain-funcs out-of-source verify-sig libtool - -DESCRIPTION="X.509 and CMS (PKCS#7) library" -HOMEPAGE="https://www.gnupg.org/related_software/libksba" -SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" -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 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="static-libs" - -RDEPEND=">=dev-libs/libgpg-error-1.33" -DEPEND="${RDEPEND}" -BDEPEND=" - app-alternatives/yacc - verify-sig? ( sec-keys/openpgp-keys-gnupg ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.6.0-no-fgrep-ksba-config.patch -) - -src_prepare() { - default - - elibtoolize # necessary on Solaris for shared lib support -} - -my_src_configure() { - export CC_FOR_BUILD="$(tc-getBUILD_CC)" - - local myeconfargs=( - --disable-valgrind-tests - $(use_enable static-libs static) - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config" - GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" - ) - - econf "${myeconfargs[@]}" -} - -my_src_install() { - default - - # People need to use ksba-config for --cflags and --libs - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.8.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.8.0.ebuild index c8eeac391fd..b2f1cf5bec7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.8.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.8.0.ebuild @@ -14,7 +14,7 @@ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc inherit toolchain-funcs out-of-source verify-sig libtool DESCRIPTION="X.509 and CMS (PKCS#7) library" -HOMEPAGE="https://www.gnupg.org/related_software/libksba" +HOMEPAGE="https://www.gnupg.org/related_software/libksba/" SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/Manifest index 49d2132cb61..b83f64482b3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/Manifest @@ -1,3 +1,4 @@ DIST nspr-4.36.tar.gz 1036274 BLAKE2B 369d851db0f425f0c6c3cdaeb333320860b77b49b40b77cc983998de3f9128f9d987f143e9f2ce155d609fb23f3f9ed0d0abe7d74e20c59763e2b9bdd1835817 SHA512 55d21e196508ad29a179639fc8006f44b04dc2c0b5a85895e727f0a4f0ea37aeeceb936e37ac6b271b882a18e9f06d96133a60f19cee6345f8424c1c66e270ee DIST nspr-4.38.2.tar.gz 1025394 BLAKE2B 1e677504bed875651d7204d6df1a0f9671233bdab5a7b7cfdd691084c16c31a74a1126569372e4fe59edc8318b622551f979fbe55c8e64df1d977dbd63962cac SHA512 f17302b0973ab006f9e6af70199ac6bb40d6266f96ab4d6692f56c24979907a7f0a20cf9d926aa80084f2e0ce7dfd56de89a7547b5e7e8caafa7afa5eb0b7bd8 DIST nspr-4.39.tar.gz 1014093 BLAKE2B dfb8a050ee29974d5226c4140901ba1704af9ddf6939053e495cf698b23c2eb2aff4fec968cb321648ea4cb373cd85cb81283693b11d2b761e3dcc85294dfa57 SHA512 201627666814552e3c98f66a0bdb18194670dcbdbc8cf3241079d918891d46aef1b10e9339beb84802d1de4189993340febab27344e97f8de21ceb1f43c77bda +DIST nspr-4.40.tar.gz 1008989 BLAKE2B 91fcb301f001068190c9a0e0c792d7decb46bc56c26a7f2b0001aa4b322c71d2bfaecfa7f3467befb7ec1dfecd31694f164cdc3f1c49abcc30c3859896e3f1ac SHA512 7b1256da87e85287f4e2dab1ea735459044c258831f186bc662640c11ab0d96c8e28cd618ea6cb5178cf185e928c2dd967131154327a3bcb0d2ebdb7d560dff2 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/files/nspr-4.40-ipv6-musl-support.patch b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/files/nspr-4.40-ipv6-musl-support.patch new file mode 100644 index 00000000000..ba7d9386eb0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/files/nspr-4.40-ipv6-musl-support.patch @@ -0,0 +1,45 @@ +From 2e6a43c751707b6983760669988ba4d2826ffd5b Mon Sep 17 00:00:00 2001 +From: Violet Purcell +Date: Sat, 10 Jun 2023 04:37:55 +0000 +Subject: [PATCH] Added IPv6 compatibility for musl libc + +--- a/pr/include/md/_linux.h ++++ b/pr/include/md/_linux.h +@@ -326,33 +326,19 @@ static inline PRInt32 _MD_ATOMIC_SET(PRInt32 *ptr, PRInt32 nv) + #endif /* __arm__ */ + + #define USE_SETJMP +-#if (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(ANDROID) + #define _PR_POLL_AVAILABLE +-#endif + #undef _PR_USE_POLL + #define _PR_STAT_HAS_ONLY_ST_ATIME +-#if defined(__alpha) || defined(__ia64__) + #define _PR_HAVE_LARGE_OFF_T +-#elif (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || \ +- defined(ANDROID) +-#define _PR_HAVE_OFF64_T +-#else +-#define _PR_NO_LARGE_FILES +-#endif +-#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || \ +- defined(ANDROID) ++#define _FILE_OFFSET_BITS 64 + #define _PR_INET6 + #define _PR_HAVE_INET_NTOP + #define _PR_HAVE_GETHOSTBYNAME2 + #define _PR_HAVE_GETADDRINFO + #define _PR_INET6_PROBE +-#endif + #ifndef ANDROID + #define _PR_HAVE_SYSV_SEMAPHORES + #define PR_HAVE_SYSV_NAMED_SHARED_MEMORY +-#endif +-/* Android has gethostbyname_r but not gethostbyaddr_r or gethostbyname2_r. */ +-#if (__GLIBC__ >= 2) && defined(_PR_PTHREADS) + #define _PR_HAVE_GETHOST_R + #define _PR_HAVE_GETHOST_R_INT + #endif +-- +2.41.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.40.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.40.ebuild new file mode 100644 index 00000000000..f433af51e8f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.40.ebuild @@ -0,0 +1,160 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic toolchain-funcs multilib-minimal + +MIN_PV="$(ver_cut 2)" + +DESCRIPTION="Netscape Portable Runtime" +HOMEPAGE="https://www.mozilla.org/projects/nspr/" +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 ~x64-macos ~x64-solaris" +IUSE="debug" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/nspr-config +) + +PATCHES=( + "${FILESDIR}"/${PN}-4.7.1-solaris.patch + "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch + "${FILESDIR}"/${PN}-4.8.9-link-flags.patch + # We do not need to pass -L$libdir via nspr-config --libs + "${FILESDIR}"/${PN}-4.9.5_nspr_config.patch +) + +QA_CONFIGURE_OPTIONS="--disable-static" + +src_prepare() { + cd "${S}"/nspr || die + + default + + if use elibc_musl; then + eapply "${FILESDIR}"/${PN}-4.40-ipv6-musl-support.patch + eapply "${FILESDIR}"/nspr-4.35-bgo-905998-lfs64-musl.patch + fi + + # rename configure.in to configure.ac for new autotools compatibility + if [[ -e "${S}"/nspr/configure.in ]] ; then + einfo "Renaming configure.in to configure.ac" + mv "${S}"/nspr/configure.{in,ac} || die + else + elog "configure.in rename logic can be removed from ebuild." + fi + + # We must run eautoconf to regenerate configure + eautoconf + + # make sure it won't find Perl out of Prefix + sed -i -e "s/perl5//g" "${S}"/nspr/configure || die + + # Respect LDFLAGS + sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \ + "${S}"/nspr/config/rules.mk || die +} + +multilib_src_configure() { + # -Werror=strict-aliasing + # https://bugs.gentoo.org/867634 + # + # Testsuite-only issue. Still, this makes it challenging to test the package with LTO + # enabled... + append-flags -fno-strict-aliasing + filter-lto + + # The build system overrides user optimization level based on a configure flag. #886987 + local my_optlvl=$(get-flag '-O*') + + # bgo #923802 + append-lfs-flags + + # We use the standard BUILD_xxx but nspr uses HOST_xxx + tc-export_build_env BUILD_CC + export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS} + tc-export AR AS CC CXX RANLIB + [[ ${CBUILD} != ${CHOST} ]] \ + && export CROSS_COMPILE=1 \ + || unset CROSS_COMPILE + + local myconf=( --libdir="${EPREFIX}/usr/$(get_libdir)" ) + + # Optimization is disabled when debug is enabled. + if use debug; then + myconf+=( --enable-debug ) + else + myconf+=( --disable-debug ) + myconf+=( --enable-optimize="${my_optlvl}" ) + fi + + # The configure has some fancy --enable-{{n,x}32,64bit} switches + # that trigger some code conditional to platform & arch. This really + # matters for the few common arches (x86, ppc) but we pass a little + # more of them to be future-proof. + case $(tc-get-ptr-size) in + 4) use abi_x86_x32 && myconf+=( --enable-x32 );; + 8) myconf+=( --enable-64bit );; + esac + + # Ancient autoconf needs help finding the right tools. + LC_ALL="C" ECONF_SOURCE="${S}/nspr" \ + ac_cv_path_AR="${AR}" \ + ac_cv_path_AS="${AS}" \ + econf "${myconf[@]}" +} + +multilib_src_test() { + # https://firefox-source-docs.mozilla.org/nspr/running_nspr_tests.html + cd "${BUILD_DIR}/pr/tests" || die + einfo "Building tests" + emake + + einfo "Running test suite" + ../../../${P}/${PN}/pr/tests/runtests.pl | tee "${T}"/${ABI}-tests.log + + # Needed to check if runtests.pl itself or the tee (somehow) failed + # (can't use die with pipes to check each component) + [[ ${PIPESTATUS[@]} == "0 0" ]] || die "Tests failed to run!" + + local known_failures=( + # network-sandbox related? + cltsrv + # network-sandbox related? + gethost + ) + + local known_failure + for known_failure in "${known_failures[@]}" ; do + sed -i -e "/${known_failure}.*FAILED/d" "${T}"/${ABI}-tests.log || die + done + + # But to actually check the test results, we examine the log. + if grep -q "FAILED" "${T}"/${ABI}-tests.log ; then + die "Test failure for ${ABI}!" + fi +} + +multilib_src_install() { + # Their build system is royally confusing, as usual + MINOR_VERSION=${MIN_PV} # Used for .so version + emake DESTDIR="${D}" install + + einfo "removing static libraries as upstream has requested!" + rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries." + + # install nspr-config + dobin config/nspr-config + + # Remove stupid files in /usr/bin + rm "${ED}"/usr/bin/prerr.properties || die + + # This is used only to generate prerr.c and prerr.h at build time. + # No other projects use it, and we don't want to depend on perl. + # Talked to upstream and they agreed w/punting. + rm "${ED}"/usr/bin/compile-et.pl || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/Manifest index 615f0c4eaa9..33d6740c932 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/Manifest @@ -1,2 +1 @@ -DIST opensc-0.26.1.tar.gz 2416935 BLAKE2B 3d869e5f0a0a031442aa91588dcf4dca99e69b9a2853f09868e45df6f96439ca0773bf2e7ce7c877cc7156bc33b12f5055269c38b59ae5db8f01f84673da78c8 SHA512 8555173b3727aede568290a3b288a46e74564050574b9a1e85487adc59532cb600e1f67c289b7430c8daca348fe928eb1e6e837e72c32731649403b19d53cfd8 DIST opensc-0.27.1.tar.gz 2470990 BLAKE2B 195a282f723887aa4b7436b105cc4dc58293ccde079996c98a759caf4df338f7108eef0bf596e082a92b40b7216cb0f419f78185afc864fe79c509f4d42d6cf3 SHA512 1d435938d5db45ffc60e2ac2512c42bc7ee893991d213b19033a60cabca19a7ddd5bf1f71bb172dcb77220bfa87abe92564b3edc878f22a87dfd4e7bcacf662f diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.26.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.26.1.ebuild deleted file mode 100644 index 1d2d0e3260a..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.26.1.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 - -inherit autotools bash-completion-r1 - -DESCRIPTION="Libraries and applications to access smartcards" -HOMEPAGE="https://github.com/OpenSC/OpenSC/wiki" - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/OpenSC/OpenSC.git" -else - SRC_URI="https://github.com/OpenSC/OpenSC/releases/download/${PV}/${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -fi - -LICENSE="LGPL-2.1+ BSD" -SLOT="0/11" -IUSE="ctapi doc openct notify pace +pcsc-lite readline secure-messaging ssl test zlib" -RESTRICT="!test? ( test )" - -RDEPEND="zlib? ( virtual/zlib:= ) - readline? ( sys-libs/readline:0= ) - ssl? ( dev-libs/openssl:0= ) - openct? ( >=dev-libs/openct-0.5.0 ) - pace? ( dev-libs/openpace:= ) - pcsc-lite? ( >=sys-apps/pcsc-lite-1.3.0 ) - notify? ( dev-libs/glib:2 )" -# vim-core needed for xxd in tests -DEPEND="${RDEPEND} - app-text/docbook-xsl-stylesheets - dev-libs/libxslt - test? ( - app-editors/vim-core - dev-util/cmocka - dev-libs/softhsm - )" -BDEPEND="virtual/pkgconfig" - -REQUIRED_USE=" - pcsc-lite? ( !openct !ctapi ) - openct? ( !pcsc-lite !ctapi ) - ctapi? ( !pcsc-lite !openct ) - || ( pcsc-lite openct ctapi )" - -PATCHES=( - "${FILESDIR}"/${PN}-0.26.1-c23-tests.patch -) - -src_prepare() { - # This test is known to fail, for a long time upstream has carried - # version-specific patches which they would update on every version bump. - # There doesn't appear to be a permanent solution yet. - sed -i "/test-pkcs11-tool-unwrap-wrap-test.sh/d" "tests/Makefile.am" || die - default - eautoreconf -} - -src_configure() { - # don't want to run upstream's clang-tidy checks - export ac_cv_path_CLANGTIDY="" - - econf \ - --with-completiondir="$(get_bashcompdir)" \ - --disable-strict \ - --enable-man \ - $(use_enable ctapi) \ - $(use_enable doc) \ - $(use_enable notify) \ - $(use_enable openct) \ - $(use_enable pace openpace) \ - $(use_enable pcsc-lite pcsc) \ - $(use_enable readline) \ - $(use_enable secure-messaging sm) \ - $(use_enable ssl openssl) \ - $(use_enable test cmocka) \ - $(use_enable zlib) -} - -src_test() { - P11LIB="${ESYSROOT}/usr/$(get_libdir)/softhsm/libsofthsm2.so" default -} - -src_install() { - default - - insinto /etc/pkcs11/modules/ - doins "${FILESDIR}"/opensc.module - - find "${ED}" -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/Manifest index 6425babbb5e..7490cdabbef 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/Manifest @@ -1,20 +1,20 @@ -DIST openssl-3.0.20.tar.gz 15292815 BLAKE2B 10681682203f0d734e624c93c67c5d399941385d2874bb980012d79b63d9b165b0f5405f27cc99be3571584c4957ef3d108bfe4187ddd9bc3b794179a5c6be76 SHA512 3583a44bf9dec4deeade371d6861ce799821a85b32a4d9a8fcae253d78df8f93025ed73fb8efcaf23cc305b11d5aec439852444b3207d211f55660d1f89f5c9c -DIST openssl-3.0.20.tar.gz.asc 833 BLAKE2B 6efee85870e0d8d1d9b36ef90975d0ee9810a26abc881b0a881274952931685f4edc37d61e454fe4d7e4ec5202df0aa23e31644620d2ae5f57d894d71b66c53e SHA512 e132722e7ec7f96f1ca8f21e05e48cce07cd4d801746d5ad21d8f6be9df4c49aa6c8183b87bd1fc1cbb83a481c57c8425eeb19b2bc9c2e28983c57bac181d89e DIST openssl-3.0.21.tar.gz 15309723 BLAKE2B 170cff38638c51c6f6d3fff517a49286796639197cc6b57952d19f2149385b5f71e6a6f30dae7e6a0e3c138e9a5b2d2c0cdfa2be2e5f7a402eac8f93674e83b0 SHA512 9be1c8c11a2d55417bb177804d1b5369aa54a9dcd2e136929509457d549697407ae9611079e94c61b58a95be598ce35b94edb336e050d1019e7269f4d2f52cda DIST openssl-3.0.21.tar.gz.asc 833 BLAKE2B d300bfdb02fb72aefa909bdc5c79dfaa51d775bf322e4711e18f8cbdb3e8e8d4efca6ae923c94e10fad4c575451168137dc29990003535092ddc58732e3edfcb SHA512 58a051099f4660cb244715c0b09cdf283247b13f03be6eb67993678db7e50169348e6d2d11e70f999e36dbb72f9432c6e10d4fdaba360e5f05a708e6c81acf30 -DIST openssl-3.4.5.tar.gz 18295030 BLAKE2B 8447ea0b861e068463ef5127e158dceab1dfd6516861211e2b4e636f8114887034f2d86c55b41a6aa221ba5d377e0ffdbf9e533e2d8efc7101a5e6cc8c96ab70 SHA512 dd6006d5733f8d28b8bed2027e9ebd4afb071ed50d6fffea12127873ba26a3b1550f8225b5b8d59896db975985586c96d3425ef651d8382798981d07fd873532 -DIST openssl-3.4.5.tar.gz.asc 833 BLAKE2B 463903df98db3deda9d1da0f02375ac9492f39a9e5bd50fbdd95837022d5cbf874aaa8f39f01449e059e6668a79c1c92e0020af3b88c9a70cb2b4fc5695d82cc SHA512 0eaa5bc2aa068fdaa591c4495ed55237c71c4b8d4b079820e1c3377b09d19955917fcdd9f4e9994ccdae9905158381c4869a396f3729ad54d5ac64a4b87980ab +DIST openssl-3.0.22.tar.gz 15330396 BLAKE2B 4a7cfe40d9cfb6aaf5e84dcc02b64ffb98e7a99fd14df886bccfa97b4e960cf786cbafdea7daeeb6e3cb1e6a0bea0313b01031b83875fe19715a05defb425593 SHA512 88f5cffd8949b9e236f989f414eefcd4e924145b9e8cb303a969534908e055a9ff2a4b29bd1619425c84240d9ae40aab0d84dbee0f338d20fac81cf7b2f20492 +DIST openssl-3.0.22.tar.gz.asc 931 BLAKE2B 5a3dd2726a852da5594d96e24802aca2a5aed84f84ef78cb01078dcbeca7eb273b05a4b7c2e4ceaf1a68caf7ee15f7718a4c981ae689d83addf540507834e1d9 SHA512 cdfc8454cfebd34848e49d70e7cad8c2096e5cadb1b4725eb9fbf9949cba994788c2016e44240e1fb6e503609092e15c72bc1eecfe93b6ea30eb7c6b4447a324 DIST openssl-3.4.6.tar.gz 18319647 BLAKE2B dd688583a38191097f1b8f4d5de25d271eac424aafcb4a417c3bdd826a83b4028540d0d9764b3861782d728bc07c07668b4365e15a37a367ce99abb43fb6ea96 SHA512 f119e8e06a4bdcb577db6b21fa9e1a4fbbb29177585331e754b8cee6c003e7c64e0e41b988597fceae70604bcfe2ce2eaf921af914188d57ded808c72f8274b2 DIST openssl-3.4.6.tar.gz.asc 833 BLAKE2B e32d5164014835c6316028104298fd5e1c078a8aa62418974954bfbd5401a617a4f8d4c20893496f2e4db61d75e1ef6e451e0f199f18e019b8f7f53f271cc08b SHA512 4a4e97e68f9bbb50ee330d9ba24da8af4b840694352dc9e292d828f454f40555cb5e497f132add0d074d0f4397142519f687324f57e038e70d27c8e3590320d8 -DIST openssl-3.5.6.tar.gz 53121812 BLAKE2B 07b86010043aeb09c796162ff85e602e53f3e9b03277d269c534716d7e645de1bda336c07282dcf1286f3cce9dfc54a17b48b68c3e388f27ad709177b5d5d225 SHA512 7e48989c01751104e1c94fde05726c0d6d7cb0dd4f3d045e0e8f36b1d330a2557665970c44ec9aae86f5f7420315326022249247cd6845e6d598134aa74ac33c -DIST openssl-3.5.6.tar.gz.asc 833 BLAKE2B fa7ea81667830959a5221fb683ba131bc7d3e3e24af1a9ca78cd5cbf1e66cb40754980c2fb47f45852cdff4fe317b0273af866a311d5150457824c73052407b2 SHA512 426c9d855fe735b39a7cfb7508ae5676869a79f02de306b349199ef9d437b7316c40beb090f45258d6e1517b8689a3977611704ffd26f853f22cae70ed832b7a +DIST openssl-3.4.7.tar.gz 18360265 BLAKE2B 8eb07df2f918de856427a2b5c9c2f5a513edce7403b99dbeb88f144682ccbb1cab8fa835c52a4571a86c76e4d2a846f31dbc5237dbd4839f9d1b53057fc54998 SHA512 07c3112895f14dd08cd8306a63603acfc35b5aa129a60d493ac79d611764c94d8f193bb8baaa590886c149bfbb14273527b4bd1ceb874efdf698dfd56dd604e6 +DIST openssl-3.4.7.tar.gz.asc 931 BLAKE2B afbdc024a510c029a40f09879a6efd746cdc8df76557632ae7306976dc8286eeba40517e890764afb466b64c2e8f8c42028a6938f9afb264ec9e789c9d2d41f1 SHA512 32bd2a2ef24fc21d173b6d3611e7e850e32cfe94989cb7b29a3c420f7f50a58e08fb0d71068f1c7b31057b2b6e6719c583e6e007db56b2cd652179c07458d1af DIST openssl-3.5.7.tar.gz 53153930 BLAKE2B e19d7e40e9aaed0e4b4a405866ac56f37a03dc5c57cf1a2452ca547a5a9cab7771254d6ab8ce7df36b20d8145ba435aa5158c80be97d3887b3ef51db3cdd7428 SHA512 de5351d2d532e1a3908a738f7d8aae448d32bc60bdb24808c556a24bc37a3f53daedf12b5d432eeb8c235e16939d842f908332ede8a447ca103ad1c493c820d7 DIST openssl-3.5.7.tar.gz.asc 833 BLAKE2B 3e6926602fbb473f3bbe64a33c721510bd2a48905efb273f79b6770eecf0d30d43888716c6fa582459df2aae8c57f8528fe5df6bd713381eda56982666d7c8d3 SHA512 294e29a2c3a54e5882b0bedb25fd6692f5fcf85a07da818ccebbf3e3704d596193591215df3bb8506d2d434a56b9f01cbc3c71152ae32c5e1a11a545bd239a0b -DIST openssl-3.6.2.tar.gz 54913556 BLAKE2B 21a23c53d16e9fbfb4c6d606d6056e7bb72e15c964c43a7f02837d805584bc34917fb2527cbc7fa75de63f3b5f840c693e7b43ac95e4bf9c10dce27f130bf69f SHA512 46549ed4d6b0160adfa3e1406bc16f3083a7f3c85bdda289c1dbebd0db91433c39855dae765787ec68157faffba4cdb05a0600af4652e3e35da939e0bad8ef1e -DIST openssl-3.6.2.tar.gz.asc 833 BLAKE2B 089164a42cdbb22d688ab314fae83d3fa16fb8d0c206ce8d0fe82a670b6e5fb0859e8842d0c0f75184d8e7022086aa05feeb5193e720ef58c18c7d303a6ec157 SHA512 bc1710380b80e0b9d35fe706604357c1f801d0b6ab1481b53061e21d6f55904fe8961ec10ead5c454dc637c88586f3093df71d2210b960d65c112466422d51ff +DIST openssl-3.5.8.tar.gz 53213818 BLAKE2B dc96fd5959f9719f1a36fe25a955cad414b0552f92e34ec3c41ec2a722282e71a47aa513267ee0aff60599b51ca63f4344b3327e4c158679699bf524d5f3af8a SHA512 62a1dbed0fad75245b332e41b85a1f7c2379189525e7628a7cf68947d115e90a47f179e3f87d27641e5b2d357c357292179fc0e64eccecdebc81c083f7a8ebe4 +DIST openssl-3.5.8.tar.gz.asc 931 BLAKE2B f866d6fa4fc3fc7ba432a74fa197103c1afc602a88b90964d65a2e5da4b5a135f11bda222e644b978e1ce165c26ad7fcda25397cfd640786338f22eb0b4fc1d4 SHA512 36439518d0b81343c5e7dc3564092d936f91eca83b0a2b6a61d569ac2c7e238f595c3b96418e63a98c905e15938fff313ad756cef83dfb22279aa434d7bc5ec7 DIST openssl-3.6.3.tar.gz 54953005 BLAKE2B 12dcbd977c3ccbeefd0310c23a8398d91395896b0d23e3e630d1318e96d650ee7dadd91c8ea1876458076b2d19d1fa72c70ae76669ce97d315aa813a0b826745 SHA512 4179ad56f285fd27a1c7b294472afdca588e915d4f8a9610e461f34f0678004aebe32e88434ae536a63a7c9aff6607702a3b341e2faacb7899c27d6def4cc92d DIST openssl-3.6.3.tar.gz.asc 833 BLAKE2B c7f00b3fcfe52b29a0a734179b1440b91ebabe1a293494b377399c5681ee95f11fcc9beb43615b98995cec7459def88a51a62f7aa782e1fe69fa972f30a1d88d SHA512 a7ad2a5da941b8a5ab0bb6d22848aa0573604f115510c758b7dd127decf3c2473974e12bda1887a70fbff478a43375d567252492452eb57adea5e659d730bded -DIST openssl-4.0.0.tar.gz 55046677 BLAKE2B bea6e52456df3d6881dd9e800113886af64168eaa92a69cec95fb6e1cebfb675581fc75f0918aa6aa6654a36043444326da080db58781fe073ea0d0911e81982 SHA512 46d456fae5358c566f860ab873533e84edb3f0757cb0697ee8768fdb2fca2cb4770849014444c56d0c8690730d2fc9476127240eb6a53fd17c58b3be6433dc10 -DIST openssl-4.0.0.tar.gz.asc 833 BLAKE2B c128958a9b47e9c061cc34ca6cca4d48def528005d796336e01f89e4344bff21ee772f332ed2a65697b0344fed7e1d1309069f4c186bb7cdac9cd7e09446cd6f SHA512 8609e8a9def07853d3054a4730ffee088512dd7aaf994d9df674818ec7cd519b20eecce6cfcb613d5da9d3d35e27839fbcec9772f7e734217f1463a42e5c95a1 +DIST openssl-3.6.4.tar.gz 55003802 BLAKE2B 93d5fcd284a52963b476f98e9915359a1025a9487cb2d15d7437e9b9a8058050ae249f0b76b5627f589036cecda62c69aebfab6c8be2ddcf82ae7e3a6ff87804 SHA512 9e7f4039082880357969c0857f33b20a6a4306d1b5e4f8fcbd7ec8dc41edc96e87c526a1db0b8259f5000c4ced84149b03547562ce4f9df35194634a7576dac0 +DIST openssl-3.6.4.tar.gz.asc 931 BLAKE2B 59cc358251ee36f6fbbe849978b91fcb034d116f42ded469380766882d1597a94f6bd17a8fbd206071c347ee2f58eae406c2a2fff9a54fd4c58bb77f78318675 SHA512 8628b7e8559a593d635e5c73be03044f86aa6c62f83745a4cf9bba07aede486b4681900b0d770cd4086128a1543bda55f510f87656fddb09427de8fb30bcd5c4 DIST openssl-4.0.1.tar.gz 55079428 BLAKE2B 8c5e1d97165d8e74f6ab41adf75c8f1a60a38b511163d0cdd054b27280538681d308385ce9a6fe2230aed7e412436419f864876e57538738e13eed77d520d5cd SHA512 84104cbd928a3fbcb9a90c567fa37f927b974d4744b8cd774641e0d07db065d1564fa4c3df4c26818f3c6e726ca71b3aae72109d10482bba3396949886fc8892 DIST openssl-4.0.1.tar.gz.asc 833 BLAKE2B 8d4d3bc5ccd92c6374daf6a52b9b2c70414785c627c9853f8282e44800fcf2e955166e825843ab16a511f6606b57aea4caef8b88767c0e1cf0f76282af4a6529 SHA512 1f6f35c4c9219cf11f81f0eb7bf1558778cd38ef5eb0121e6806ca069efe0b21824e85cbc630331e1979ddde18af5630a05e8bc0340e87100f0062650cebbc59 +DIST openssl-4.0.2.tar.gz 55153883 BLAKE2B f73b12c5779518ddc45bd232f3f80def2fe0f8655ef2a8de1d9647255ce3cc1fd1c843dee444e9d11a4dc80c4048e274cd4793f5ab60180598ef2a57609fd931 SHA512 4da808b64fca832b80752c4dc0248ea602c78ecc35fb7455439dccfae3fb74213d3689f455a40533d89e6180d2c81ea5871f2763fa64740c2810af9fdb4104be +DIST openssl-4.0.2.tar.gz.asc 931 BLAKE2B 34e209999d6071309431db712e0db4f4353b92dd7d8b90672f5c99012b66b3d3c28e09fe450fdd566ba0e02824a6a2a79bef51d5f62a457ff4263aae5005f4f0 SHA512 59e3c112cc7f01dfb442258ea9c883c3033728459d2f211375f32ed7080c76fab30af7dcf9082e4d10b2021e9eb54abae222af50c1e25cb78a658d8d9c8e80c1 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.0.20.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.0.22.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.0.20.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.0.22.ebuild index 5a790b1794a..30a59319cdf 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.0.20.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.0.22.ebuild @@ -27,10 +27,10 @@ else " 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" + 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 )" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20260617-r1 )" fi S="${WORKDIR}"/${MY_P} 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 0366220a612..30a59319cdf 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 @@ -30,7 +30,7 @@ else 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-20260415 )" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20260617-r1 )" fi S="${WORKDIR}"/${MY_P} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.7.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.5.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.7.ebuild index aee6f99cf00..6d3053e26e2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.4.7.ebuild @@ -27,10 +27,10 @@ else " 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" + 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 )" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20260617-r1 )" fi S="${WORKDIR}"/${MY_P} 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 a3e03ca5b66..6d3053e26e2 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 @@ -30,7 +30,7 @@ else 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-20260415 )" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20260617-r1 )" fi S="${WORKDIR}"/${MY_P} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.6.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.8.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.6.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.8.ebuild index ff44bcfaaa4..f65d8c2e572 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.6.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.8.ebuild @@ -30,7 +30,7 @@ else 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 )" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20260617-r1 )" fi S="${WORKDIR}"/${MY_P} 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 d88181b93e9..f65d8c2e572 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 @@ -30,7 +30,7 @@ else 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-20260415 )" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20260617-r1 )" fi S="${WORKDIR}"/${MY_P} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.6.4.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.6.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.6.4.ebuild index 2045afba5e9..f65d8c2e572 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.6.4.ebuild @@ -27,10 +27,10 @@ else " 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" + 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 )" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20260617-r1 )" fi S="${WORKDIR}"/${MY_P} 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 d88181b93e9..f65d8c2e572 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 @@ -30,7 +30,7 @@ else 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-20260415 )" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20260617-r1 )" fi S="${WORKDIR}"/${MY_P} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-4.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-4.0.2.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-4.0.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-4.0.2.ebuild index b71950f71e1..f0321ee8bf0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-4.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-4.0.2.ebuild @@ -30,7 +30,7 @@ else 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-20260415 )" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20260617-r1 )" fi S="${WORKDIR}"/${MY_P} @@ -61,6 +61,10 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/openssl/configuration.h ) +PATCHES=( + "${FILESDIR}"/${PN}-4.0.1-x86-avx2.patch +) + pkg_setup() { if use ktls ; then if kernel_is -lt 4 18 ; then diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-4.0.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-4.0.9999.ebuild index b71950f71e1..50d1d5c0f26 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-4.0.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-4.0.9999.ebuild @@ -30,7 +30,7 @@ else 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-20260415 )" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20260617-r1 )" fi S="${WORKDIR}"/${MY_P} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/Manifest index 573d8073c0c..003295fb28a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/Manifest @@ -3,6 +3,7 @@ DIST tree-sitter-0.25.10.tar.gz 864648 BLAKE2B ae80d0e995cc5e3b40198caa3a7845f20 DIST tree-sitter-0.25.6.tar.gz 857070 BLAKE2B 3bb6b6130e1a96c96b5af4608bf60f8bbd00cbf1fdc9905b7a6169db52351c2ae3a907eca444363ab2b3185a54d0080aa487cbe252e6e015c1cd7a735e420679 SHA512 47213b68233d376e145e3f42b4674d64e7ff27436f4a028e751d9ad8494469ff67b002ce184346d3f6848df2c91386c28127827c43a8bea34da5e84f2530f02f DIST tree-sitter-0.25.8.tar.gz 857462 BLAKE2B aa3f0d9056544bb6ef1127723563449c7672e06b5289e1596f2c1b5826905c578830c7e6c3bc58a91e388d647a5a5629e71f5f0af2a431e73c3be4f93ce5b6f4 SHA512 0d26d0699f61fa27b5adbc298ff53f8e0f5b9f2f1b216744200f6f50cff777c9c5a5a5b92304a4d1889fccd9d8a6dd6b7d4947bac907a91850322281f754ea53 DIST tree-sitter-0.26.11.tar.gz 920828 BLAKE2B 6406aa003bbd4cdff00a16a20dffe24f8a3081fd0a190216b6ad5aad0393449814c7b2830017ad265ddc67ab57f4494a4fe2409f72a4cf786ce4c291795a9cd0 SHA512 2175f7d1f913fffaba7395baa7b0a3228172bdc25169d22cf3e39fa3841df1a9902031e248e417328f8ea3e48e7042d34bf85a36c8545a79ca5f7321c6b9d848 +DIST tree-sitter-0.26.12.tar.gz 923279 BLAKE2B 18cfd313f07272e4d7254da3ba61b9cc9e590ffa182e5d4a26ba858b3f8b286615d311ad00a9bf75ec4fea6abeefacb07539c2e4acb8cfaddbb49ae4276c523a SHA512 d0e5596b9445bf94177927f5ca6053f473bced8eee9d27f878677c37ad4e1f13d8898220c7156743b57f6c9591840c9c1accb9e1f6f54a6ac302a6875c48466b DIST tree-sitter-0.26.3.tar.gz 900789 BLAKE2B 8532bd460f3fd4e1cec9daecc45fcc85638e5ebde474fc32ccbb9ba77611cf8aff41653295b9b1c267aac62f8e2cf23345193271cc64c975895dd04a3d988c11 SHA512 ae2b59938ce41f6936d98e454adfc05a3890b2b3d24485b0d992e6f1d2dd1e8d9124e6a3eddc3d594f0cdb831362ff2c9b44b72364b22d3526150d23a9d15781 DIST tree-sitter-0.26.5.tar.gz 905701 BLAKE2B 3771c0b31704f6182ae10c2629566984883a9bfcfc914e40a3d30889eb3ef30f19213a45e9732b067042893dd89e27b51b8f5fa50f2d7d8cec81aeb8666ebece SHA512 c8ffa86caf5841208dd2c987c6437111c7514635ebc76e910deb38ba64252caa99ae8453f1acd8af8e167cc2c7fe7194d481cd53533802601b331c60d20f2a49 DIST tree-sitter-0.26.6.tar.gz 906770 BLAKE2B c6fcbc901f86795d6e5de5e22d4b7f34425f1f25ff9134de27baa0a68d917c376accd4a7a9d33faaee4e82e4dd7440085a06b55d5f57e5fe9756c195147867d5 SHA512 33ce5617ac53e276cccc8fa34e3a6b3e29a5bd572b381da4a7d6d78cbb7485d85120be8c0e25e02d3fbae4c36793b02bcfd788a2cdfe73f026742b184e16d572 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.26.11.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.26.11.ebuild index 3abf2d9fb7d..dd1667f5a0d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.26.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.26.11.ebuild @@ -13,7 +13,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/tree-sitter/tree-sitter-0.26.12.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.26.12.ebuild new file mode 100644 index 00000000000..3abf2d9fb7d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.26.12.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake optfeature + +DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library" +HOMEPAGE="https://tree-sitter.github.io/" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + 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" +fi + +LICENSE="MIT" +# ABI is not stable. Revisit after tree-sitter-1.0. +# https://bugs.gentoo.org/930039 +# https://github.com/tree-sitter/tree-sitter/pull/3302 +SLOT="0/${PV}" +RESTRICT="test" # tests are for CLI and not the lib + +pkg_postinst() { + optfeature "building and testing grammars" dev-util/tree-sitter-cli +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cffi/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/cffi/Manifest index 66e9b74065a..b2022743246 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cffi/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/cffi/Manifest @@ -1,2 +1,2 @@ DIST cffi-2.0.0.tar.gz 523588 BLAKE2B 2038eb1eeb89b1015ea40202cc5dc0da62989288a41cccf75baeea86051a085e28798e75ce0a74316c2f5bd94e83e0b89d3df6b97ee0f4f61dac301e239bb3e9 SHA512 a8bf705e626f6b5858cc20e9044a23fd653d155e2a2d4cb59f1eed00ef13ebd92d5a2f07738c66b361cb24d863786d4379dcd9c176250b546fbd45758e51d4f4 -DIST cffi-2.1.0.tar.gz 531036 BLAKE2B 1df5a789895b405d7f842008c49bf0551887d578796c6b3ecffbc8a6b3a8b60f3dcd4417a805f62dfc4deea7ed0119384d9edbb619d22468d3acae1ff1f264b1 SHA512 44c5e434580ba5ff1f2c23bbabe959d49e77a8823648eaab631c46f175c2b4ff3b96d5976b66ef33b93537674a1ba01e355cf836d40de7e2c0557a51f5fc7959 +DIST cffi-2.1.1.tar.gz 530807 BLAKE2B 5ceeb512dc6ec82685ca5e1ffb890f5764911138d1956e72a3f65d1a90b2c152a46bf5ad00a9857acceb04a562d66d253b68c02a22ddd41a6ad29e4340696c9a SHA512 60299646ae72e54155a3ca220f00a2b2fee079276a01ff13e30fb6af0d19b07fb4ae539af55e4704ce2081d34c4a3079ef43c0dcb2fe854f835f8441b348f7c5 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cffi/cffi-2.1.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cffi/cffi-2.1.1.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-python/cffi/cffi-2.1.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/cffi/cffi-2.1.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/Manifest index b5b31125d51..309ac1d750f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/Manifest @@ -2,3 +2,7 @@ DIST charset_normalizer-3.4.7.tar.gz 144271 BLAKE2B 46baf0eb8691da293f19206eaa90 DIST charset_normalizer-3.4.7.tar.gz.provenance 9402 BLAKE2B 9e3905ea5aa0fb8577b5ccfb2684eb3afc6ab59a45fef0d07167ee0b78f1ee5136548c46ba023e928145b52abc7ac79178117c323e2f7b98deefc0cac616b417 SHA512 d90705ed0ab90ef4502984712ee01ffc859fcbceb0b28201f8e53525a7290f64ffbc9bbe27d784663e92cde592216ce9ed8a8b7ab2e14ab6b89eac293e1b2494 DIST charset_normalizer-3.4.9.tar.gz 152439 BLAKE2B 13aaf1defc6b8f5f03b32726e1e73a62e63ed9e0c3a78d83a342c121744c0f6a1577d9885d839815385f56ed0fb50ecee16441348673d7baf1f9081bc484be93 SHA512 eb96d91b60b5ed083a6169a2c67534a6fd261d91e957f592a52076c98fad99d30e45a11754d51472e1b2815b08061005a5cf9a6844441726cd2814f22bdeef2c DIST charset_normalizer-3.4.9.tar.gz.provenance 9732 BLAKE2B 9c588768b3658889f0bb9bb192718b9a5ecde297cfb46bee07344309921b149f33181f8d81be0f23bf6de7945f9f2331a834058aa0bb90e8ffa9e22b082f6262 SHA512 d1a3171078f5270ea76c48f9cf31eb620b72b2edc921abedbdbaf87e4447fc73ee1884dad99442ad97aeb7402981c447c8ead0cecdb145cf2908ca5e54e4ad34 +DIST charset_normalizer-3.5.0.tar.gz 169295 BLAKE2B 0763349d742fe7e4741e4805c0df66fe9f8ce2614886d39ad7657c13703c5d2dd8ede41af318af903e28d2d811b52427cf50dda273e401c50b6265559f449a7e SHA512 4bcf300629620a9ddd838ee8b600855ef9debe67ceb5f5b1e170f819664a5247c75e4f2dd3aa5354111aafb3103cb7a0f19b6dbbdb0e5a287c26bf174adf23eb +DIST charset_normalizer-3.5.0.tar.gz.provenance 9695 BLAKE2B 3755d591b74259b204c37b2c0e84f49b0e7da847e97516649739daa8ff7d5766147dafecceef7415c8c9ac455a94a6fdee4a33c85329559018c149e56b7acc1c SHA512 7cfda74cb51b74aca2574363c924e4a0caec5530471719bd4fcac9e6d08e7bf38436872900a6d44c64b0397465ed1c7bdcaf4d9d81a65edd354b77633d2f4ff9 +DIST charset_normalizer-3.5.1.tar.gz 171764 BLAKE2B 5dabe8b2c99f3a1cdb2f355cc6d3236ef0b03e285490fe2309de52a2f989a1d4752a1ed963da78261a0b66d4b4d4e9d0812d2b755f4b40d30e512764708cf2bb SHA512 9f77c6eb941e7b718ccfeefc0febbf964c9b4992fc14c9d64efac1da346f24f1c0b5b82a094512f2ab220232b2b269614ca34e59b93eb05e57e13cd85f7167fb +DIST charset_normalizer-3.5.1.tar.gz.provenance 9922 BLAKE2B 038dec5269349c0a799acc33653b21cfebe738738f45213103c25c656a61b0811f9fb0d58019ab02bf11b5b8833c7cbabaf26428aa5ccd95c1d9118a91571230 SHA512 f479b2bc5996402de02b4d6b69c953d937eb42a1e668da43b6fa352f3270733c12d04a90f2d59c7ae16c8ffaaa3816bbc3021c5d27dc4462ab446e24d7ccc74a diff --git a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.7.ebuild index 1199e0f25c3..edae85e6af6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.7.ebuild @@ -7,7 +7,7 @@ EAPI=8 DISTUTILS_USE_PEP517=standalone DISTUTILS_EXT=1 PYPI_VERIFY_REPO=https://github.com/jawah/charset_normalizer -PYTHON_COMPAT=( python3_{11..15} pypy3_11 ) +PYTHON_COMPAT=( python3_{12..15} ) inherit distutils-r1 pypi @@ -20,7 +20,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" -IUSE="+native-extensions" +IUSE="native-extensions" BDEPEND=" native-extensions? ( diff --git a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.9.ebuild index 784cb084b63..02569389500 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.9.ebuild @@ -19,8 +19,8 @@ HOMEPAGE=" 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" +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? ( diff --git a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.5.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.5.0.ebuild new file mode 100644 index 00000000000..8566f0b5349 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.5.0.ebuild @@ -0,0 +1,43 @@ +# Copyright 2022-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=standalone +DISTUTILS_EXT=1 +PYPI_VERIFY_REPO=https://github.com/jawah/charset_normalizer +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) + +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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +IUSE="native-extensions" + +BDEPEND=" + native-extensions? ( + dev-python/mypy[${PYTHON_USEDEP}] + ) + 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.5.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.5.1.ebuild new file mode 100644 index 00000000000..8566f0b5349 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.5.1.ebuild @@ -0,0 +1,43 @@ +# Copyright 2022-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=standalone +DISTUTILS_EXT=1 +PYPI_VERIFY_REPO=https://github.com/jawah/charset_normalizer +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) + +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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +IUSE="native-extensions" + +BDEPEND=" + native-extensions? ( + dev-python/mypy[${PYTHON_USEDEP}] + ) + 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/cython/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest index 1f3937ed084..73bab7ab3ce 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,4 +1,3 @@ -DIST cython-3.2.5.tar.gz 3286381 BLAKE2B c3627213a2e62838b3aae120e0ab9cc33bb8f95a6c4ec9e10c6dc3e3ed00626b93bf3df3265ca601c4379c50598bec14b72de9bee9f8e8c96d125a175775086f SHA512 d11feb71bf2dbbbdffcac3e71e28eaa4d2583431f24e1722df4c0ab3fc33afc763ba4468e3bc7b8620b6d486357b8aa85dee248a195570329648c6b84312657a -DIST cython-3.2.6.tar.gz 3286970 BLAKE2B 6f18f448b3bec5a73f7bb29ef10bf546f887e477e1269431b3b0b73d8c7a160dece08d9ae947f6fbbb94c14cc1c652ca10b2487d55ee7716983e45c6eb0a62be SHA512 85940b6313ceb83c06f2ddb67bfc5dfd7dc7957503cea2b68362eb71a0e594976bf86032b24a4db713c991bb7eae7cd31f6bb90b58449b0b36cff2423f954931 DIST cython-3.2.8.tar.gz 3290300 BLAKE2B a24c99d93414dcddc3912119253d454b0e60ab98d5e547aa53bedd0910f6b685fa6580e46c8e5dba6ef6882ad07e4a34a4bfc7b713c886308fd82a104b70dd00 SHA512 19807bc7a956325c642206debdd32c8c234aaeb79bb9b9b79adfdea51a65150203e32b3ac2a952371e57600ba06656c2734b2f401f2c986813bc73227069a853 DIST cython-3.2.9.tar.gz 3293493 BLAKE2B 5798cac7a60c3642856ab5595f0a7547080bcc071ed457df25b4f4f15656406108cdc7a8b24a4e70ab546ad7295ade9563dab359a213b0b4988bb762f3e99d6d SHA512 5592d4eca3c522628082a695c514627e12b933cb761be77c97da9dda0dafdc44b16ea6ceb18a773ac32173c96e6150d06fa1d61b99d8f85d0fdc367e105b6bb1 +DIST cython-3.3.0.tar.gz 3727515 BLAKE2B 7eb8e7b04b51c1de078389a8cc14015b6c34c558885f80d66b7eb8264c159f454d4e170ef86c31d4b288d455449af590b08704414a2aef572c3bead407b687b7 SHA512 733892dcdb8a12f5914e46e8d7c83e2429573f292c1ff9817bce83fb18c9183d34956e5b061dbe790d822ca62c85f3e2bfe7b1e7ee38ab9302fcd09351a161be diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.5-r1.ebuild deleted file mode 100644 index 11813f10a08..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.5-r1.ebuild +++ /dev/null @@ -1,140 +0,0 @@ -# Copyright 1999-2026 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_15 python3_{13..15}t ) -PYTHON_REQ_USE="threads(+)" - -inherit distutils-r1 flag-o-matic 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 ~arm64-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" -) - -# disabled to workaround pkgcheck performance issue -# https://github.com/pkgcore/pkgcheck/issues/782 -#distutils_enable_sphinx docs \ -# dev-python/jinja2 \ -# dev-python/sphinx-issues \ -# dev-python/sphinx-tabs - -python_configure_all() { - # https://gcc.gnu.org/PR125730 (bug #976797) - tc-is-gcc && [[ $(gcc-major-version) -ge 16 ]] && append-cflags -fno-ivopts -} - -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 - - # uses $(nproc) to additionally parallelize many OpenMP-based jobs, - # leading to overcommitting - local -x OMP_NUM_THREADS=1 - - 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' - # No freethreading here - --exclude 'run.freethreaded_list_indexing_stress_test' - ) - 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.2.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.9.ebuild index 61ec8f655d6..8cc265e8f45 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.9.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 ~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" IUSE="test test-full" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.3.0.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.6.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.3.0.ebuild index 327e89bc485..61ec8f655d6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.3.0.ebuild @@ -7,7 +7,7 @@ DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=setuptools PYTHON_FULLY_TESTED=( python3_{12..14} ) PYTHON_TESTED=( "${PYTHON_FULLY_TESTED[@]}" ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_15 python3_{13..15}t ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_15 python3_{14..15}t ) PYTHON_REQ_USE="threads(+)" inherit distutils-r1 flag-o-matic multiprocessing pypi toolchain-funcs @@ -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 ~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" IUSE="test test-full" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/dependency-groups/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/dependency-groups/Manifest index 76d616f0d9c..d4b43fc67ab 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/dependency-groups/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/dependency-groups/Manifest @@ -1,2 +1,4 @@ DIST dependency_groups-1.3.1.tar.gz 10093 BLAKE2B 527f1e9a3594df9c811b50f933edbd4d188b2b2338a07a2154e7e999f48d7ce75f06aaf3ecd6ab4b3b367d05c1aed51c1e474d4558a42048d69bf13e9ca245ad SHA512 03e707791494da58cb860e9d605e657812f538d8f39d239f99108236c42eb831467969a561fbc587aa33a88794652aa2e63b43421b3beda42a825602f3fe7c17 DIST dependency_groups-1.3.1.tar.gz.provenance 9242 BLAKE2B e94c82b28e5fe1c63cab2f589129dcd8a39cc09f0c21265c2b576081b66dd5c52af6ce8bcc4a50322897884bb7bf8a1582fa1ec8308ea71b968d93857500f61e SHA512 8ad890b7fde03724c60285d23d40ebe19b917823638fc72d2a7af88251e74023ff6be8bc59a8ada32918c9edabace2e3e2dbe5747d25f6614bd0c0a1affbdad3 +DIST dependency_groups-1.3.2.tar.gz 13309 BLAKE2B cefc2279b8372ee32ab9d05b1e067da656ac84cf78f36910935385a5606aec4a5825fa5cf50c2ae6cd10cdc4058b4e6bf0301d425a544c0a537513d0961dfb98 SHA512 527ea67b2dc4b45f8198b0cc02f8df41d89cd323674f624d0219589c3abb6f9bba42e4e8768aef380349fa1374a1af3ce65bf6a0558d625f40f0729692e7f00a +DIST dependency_groups-1.3.2.tar.gz.provenance 10092 BLAKE2B a1067f68ac949a2f088f26958919e942f8bb57280e3a6313b6a13795ceedbde38c5649689a874cd0902f4ce9adc5d94914f42aa49148369085437c70a6b35b71 SHA512 9a1901ae12bb783bb7ee37ea3edb902b10d24be323ade4f650f1b3cbe186570cb01490d38cbd46c0e1a3a59d28804bf23a466da723ca44f036629c257b623bf8 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/dependency-groups/dependency-groups-1.3.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/dependency-groups/dependency-groups-1.3.2.ebuild new file mode 100644 index 00000000000..fd08cf9abcc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/dependency-groups/dependency-groups-1.3.2.ebuild @@ -0,0 +1,27 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit-core +PYPI_VERIFY_REPO=https://github.com/pypa/dependency-groups +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="A tool for resolving PEP 735 Dependency Group data" +HOMEPAGE=" + https://github.com/pypa/dependency-groups/ + https://pypi.org/project/dependency-groups/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + dev-python/packaging[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/Manifest index 5f4d6040017..09d6960dbc0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/Manifest @@ -1,3 +1,4 @@ DIST setuptools-79.0.1-py3-none-any.whl 1256281 BLAKE2B 8ae51bdd1c0ccada116757c2bd765225fcf4bedc7ada18567ae12f09b6978cdbcddd4f635a39a5568b6d3ed4388e4f73af5c33a7060f2ac0d0907fc82d8fd74f SHA512 fef6cfc6f95a5bb7320f1680e1c665cb8d9a4e4227cde4d8aab8a50bed4bcf04320085b9d7d5343359f887008db5c5a861e57f3d08b7b0b2311a28adaeee6b4a DIST setuptools-82.0.1.tar.gz 1152316 BLAKE2B d7f6eaf62ec66355b65642bc20a7a549e167dd6d1c0cdb15926b6644a23cab7737d713cd9418e0cc09161eb0bff53ffd0b8781c96d9203717077121c1e3cc0d5 SHA512 5d70e9efd818245fb8119a4eed64d776078469ed884facc188f141ea491efd9fde5c10c928d3236ea5e2e431b16616f18ed14870b867f95e6320251707332395 DIST setuptools-83.0.0.tar.gz 1154254 BLAKE2B b82142ad699703352b4ec7843545f3f078e853d39fa93e2d0ee42b9914ebc9d04bc7de4954bce0a1e49f3befea39d14176ed4e7462d202d74ed503664765fba9 SHA512 d426f235471d30b41391bda63e8f3d461f54a6a4127594a2e2d0cab0c7576d511db5e5f211ed6cdac2afc620d3695e991a1dd08106f1201ec64697b14b3e0390 +DIST setuptools-84.0.0.tar.gz 1168449 BLAKE2B b4dc28c42ea271dc2cac7f7218bec0819d043d52100df8c1ac7672092c2f45b62e731d18d76bc00a6392b60f8afb8c1f7e961050ee23b0e1c77bbd94e42481db SHA512 67721834362dd88c256cbd523413dbdcb99ca871bcc873ffa29c7667687973e1d5e15b0ea8ef4529711418b14d3d660771846877543001d4ab0fe8b4585ac9ad diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-83.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-83.0.0.ebuild index 1aeda58ff24..31c867a61f0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-83.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-83.0.0.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 ~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" IUSE="test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-84.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-84.0.0.ebuild new file mode 100644 index 00000000000..5a8906ab11a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-84.0.0.ebuild @@ -0,0 +1,130 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYPI_PN=${PN#ensurepip-} +# PYTHON_COMPAT used only for testing +PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_REQ_USE="xml(+)" + +inherit distutils-r1 pypi + +DESCRIPTION="Shared setuptools wheel for ensurepip Python module" +HOMEPAGE=" + https://github.com/pypa/setuptools/ + https://pypi.org/project/setuptools/ +" + +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 )" + +BDEPEND=" + ${RDEPEND} + test? ( + >=dev-python/build-1.0.3[${PYTHON_USEDEP}] + >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}] + >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}] + >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}] + >=dev-python/jaraco-path-3.7.2[${PYTHON_USEDEP}] + >=dev-python/jaraco-test-5.5[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] + dev-python/pyproject-hooks[${PYTHON_USEDEP}] + >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}] + >=dev-python/virtualenv-20[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-{home,subprocess,timeout} ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +declare -A VENDOR_LICENSES=( + [autocommand]=LGPL-3 + [backports.tarfile]=MIT + [importlib_metadata]=Apache-2.0 + [jaraco_context]=MIT + [jaraco_functools]=MIT + [jaraco.text]=MIT + [more_itertools]=MIT + [packaging]="|| ( Apache-2.0 MIT )" + [platformdirs]=MIT + [tomli]=MIT + [wheel]=MIT + [zipp]=MIT +) +LICENSE+=" ${VENDOR_LICENSES[*]}" + +src_prepare() { + distutils-r1_src_prepare + + # Verify that we've covered licenses for all vendored packages + cd setuptools/_vendor || die + local packages=( *.dist-info ) + local pkg missing=() + for pkg in "${packages[@]%%-*}"; do + if [[ ! -v "VENDOR_LICENSES[${pkg}]" ]]; then + missing+=( "${pkg}" ) + else + unset "VENDOR_LICENSES[${pkg}]" + fi + done + + if [[ ${missing[@]} || ${VENDOR_LICENSES[@]} ]]; then + [[ ${missing[@]} ]] && + eerror "License missing for packages: ${missing[*]}" + [[ ${VENDOR_LICENSES[@]} ]] && + eerror "Vendored packages removed: ${!VENDOR_LICENSES[*]}" + die "VENDOR_LICENSES outdated" + fi +} + +python_compile() { + # If we're testing, install for all implementations. + # If we're not, just get one wheel built. + if use test || [[ -z ${DISTUTILS_WHEEL_PATH} ]]; then + distutils-r1_python_compile + fi +} + +python_test() { + local EPYTEST_DESELECT=( + # TODO + setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic + setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors + # TODO, probably some random package + setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass + # relies on -Werror + setuptools/_static.py::setuptools._static.Dict + setuptools/_static.py::setuptools._static.List + # Internet + setuptools/tests/test_namespaces.py::TestNamespaces::test_mixed_site_and_non_site + setuptools/tests/test_namespaces.py::TestNamespaces::test_namespace_package_installed_and_cwd + setuptools/tests/test_namespaces.py::TestNamespaces::test_packages_in_the_same_namespace_installed_and_cwd + setuptools/tests/test_namespaces.py::TestNamespaces::test_pkg_resources_import + # broken by warnings from setuptools-scm + setuptools/tests/config/test_apply_pyprojecttoml.py::TestPresetField::test_scripts_dont_require_dynamic_entry_points + # TODO + setuptools/tests/test_config_discovery.py::TestDiscoverPackagesAndPyModules::test_py_modules_when_wheel_dir_is_cwd + 'setuptools/tests/test_egg_info.py::TestEggInfo::test_requires[setup_requires_with_markers]' + # broken by scikit-build-core somehow + 'setuptools/tests/test_extern.py::test_distribution_picklable' + ) + + local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH} + epytest -o tmp_path_retention_policy=all \ + -m "not uses_network" setuptools +} + +src_install() { + if [[ ${DISTUTILS_WHEEL_PATH} != *py3-none-any.whl ]]; then + die "Non-pure wheel produced?! ${DISTUTILS_WHEEL_PATH}" + fi + # TODO: compress it? + insinto /usr/lib/python/ensurepip + doins "${DISTUTILS_WHEEL_PATH}" +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/Manifest index 06700577792..4b7acc7a0a5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/Manifest @@ -1,3 +1,3 @@ DIST fastjsonschema-2.21.2.tar.gz 374130 BLAKE2B 198cca481d765b43b21101020718b59e3ccba2728a0a2a0ce56c7b73ce1ff6102c2e3916c9fd4c8fe8f2f3e931d87fd7ffc76e6d7983c5a2d87eca2cfa5aa721 SHA512 9e16f533065267ba48eeda70e8a41fdc10b1b99832a3ddaa0d48d01a783e4555d2fb790201ca3f47b959d3e1f06f68b9f83672f90cc1969355d28f0f24cb9837 -DIST fastjsonschema-2.22.0.tar.gz 382291 BLAKE2B 5fe9d70e253e23cb568d72611b631ce45157a0b73aca902ed5f633ab3de499fa6e8b55877b574fe7e5b1ad914606e0eae6b195989a137860236f88584a9659d0 SHA512 a655408b3c0ecebc24a24cdab1ec2638db26fc3a46032529cd3b6686f9711cb5fd0a95f8164b6ed56128d86747fe0782e12953ce9cc4bb6cdded6843bd7e7410 DIST fastjsonschema-2.22.1.tar.gz 382291 BLAKE2B 8b526c47da2cdbae32ad3a53e72eea6fd0373c51b79b350c6168ee259c6c1be9cec4a925f5898c81b2e638cc4549cdc02ff1d3780f426da6309ee4a80c7af6c6 SHA512 975246cee87cea677cb87873d3ad7b81dd30370a5c860dd59527bd3793925693cd63e666250fcdcc70d7cbf4deb42733cd0606a63d6665c58b72b53d699fd847 +DIST fastjsonschema-2.22.2.tar.gz 385171 BLAKE2B 35f3d6522b545e4d7d1ac83280dba6fd268e43a957899de6b5207bcbab469fa36fe3c0cd50112195f9c504dcb262d13914fd7564f6181b5ffa9f68401e32bd4f SHA512 bb479bab8031e48188fa1a26633c423f81ec9f7f2bdeb93edffcaf8b867aff15f23841bbbf8f17a70fce7dfbf3a15dc5052d1fb5e6a10ccba0253be5cb8ba47c diff --git a/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/fastjsonschema-2.22.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/fastjsonschema-2.22.2.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/fastjsonschema-2.22.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/fastjsonschema-2.22.2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/flit-core/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/flit-core/Manifest index e1d4e90f3a2..2b8355c376e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/flit-core/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/flit-core/Manifest @@ -1,2 +1,4 @@ DIST flit_core-3.12.0.tar.gz 53690 BLAKE2B 2dbc8cb1803d2b05693d458ab29d141631af268ad1620ccd91d7fe1636eab6c776c5482d94fdd2006dafa8b5cb45cb41d29fb80ac91e29877b43ba8e94ac2bd5 SHA512 189dcd674722164b165e18b11c4dc72b8309fa2e3c82fc1ed6a9160bb5c6c1f86e2b2cfa111603cf73dca0dba74a496a664d5cbb6242587b47f139c42f7ae8bd DIST flit_core-3.12.0.tar.gz.provenance 9041 BLAKE2B 565e305d207998db9d44d21a857f71e20aff110126f099800461f551bac89a3dd692eafe053c54f4f68a7d9d34b9c60c52415a80ccbce4f577963da59164cc3e SHA512 a59272bcc25fafbba551030602fc0ae7601f2d5aa912a37eedf7e364f69186719f0636cd824c4c51145f1c848b5a8005c5b886a593c9b4c46afd9f039000f04f +DIST flit_core-4.0.2.tar.gz 53083 BLAKE2B 3825bcb6dbfde73907e2705de94a33d7d128313ed19c9a264c6a8e994fc00937aa85d5c074e4958944f360f0da92b5704ec16d3dbdb3c6fb2ba3b806122ee233 SHA512 d0d3ace00529392cb69813ee975b37bbcdadbacb1ff9ad841838cb821f3732ae3c075fe3c740ca88bf7017b6d49739602382fed4603cfb0f49331f5b5da6dfb3 +DIST flit_core-4.0.2.tar.gz.provenance 8836 BLAKE2B 399becda7ce362501d1526bcea33bcec6b1c45ae595fe791d9fa8d1c121b1d1a8986940792f50910584952c5eb685ab2be3a858225e2ca34f793035c5c34261f SHA512 41f37ef2a0b0f4173a0df3cbff86b92b9bf6dd1605786c2eabf33f8c881c63226a4e9beafeecdf6f6c82d07866fe05e4c20075b4317cceb1ea2986cf9c08a8ee diff --git a/sdk_container/src/third_party/portage-stable/dev-python/flit-core/flit-core-4.0.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/flit-core/flit-core-4.0.2.ebuild new file mode 100644 index 00000000000..5b299824f53 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/flit-core/flit-core-4.0.2.ebuild @@ -0,0 +1,37 @@ +# Copyright 2019-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=standalone +PYPI_VERIFY_REPO=https://github.com/pypa/flit +PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="Simplified packaging of Python modules (core module)" +HOMEPAGE=" + https://pypi.org/project/flit-core/ + https://github.com/pypa/flit/ +" + +LICENSE="BSD" +SLOT="0" +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}] ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # unbundle deps + rm -r flit_core/vendor || die + sed -i -e 's:from \.vendor ::' flit_core/*.py || die + sed -i -e '/license-files/d' pyproject.toml || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-20.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-20.ebuild index c6842881bed..91fb7bf92a2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-20.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-20.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 ~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" 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 60b06798d30..4cefa9fa14c 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,2 +1,2 @@ -DIST hatch-hatchling-v1.30.1.gh.tar.gz 5333904 BLAKE2B d5f1c478f2bc214400a50f079d695ef3795a92b0633307799bec34f031cffa4c36b0269a3f142323c61b5ddcf4b1918d4e9f32283eaacff7615e3330fe864be6 SHA512 dfb57a076ec683d82228a453c2485153defd0b1d2f31a43041ae0b7ddd428b931ab1288b0b23393df80f5630bd09c78faa2852b28649af0db2e7f55bd915b942 DIST hatch-hatchling-v1.31.0.gh.tar.gz 5336511 BLAKE2B 51a18127fa90768fd3116faa1bf500b7f95315fa995486922023ef3a55530c7f658ab6041a0f4cbb254f114086c09f3828d38493150ca6d8f54da8d862f4bbec SHA512 707efa1d72bde3e80bb5210602e9f0389f1659dfe65bac6ab33ecfa0e9b433a42c3dac1e92a86398c72dbcb72a69e9dc1db9466c2a9de38993025c52578db2f1 +DIST hatch-hatchling-v1.32.0.gh.tar.gz 5360982 BLAKE2B a3eea27c39600ccf7b45e1b8de28112f3b92380f80579049013101cefde5f734225d71ac330d1b76a6c39c8f2e4a6e8b116f548b5eab305852a71d6d0b6c0094 SHA512 e8165a4444675382938502e692877cdad4a3f24e11f4b38bd0f6ae6ecc8a4fdde343ef5827719c803e5b40beddfd2a934d633270f0c200e3615c9b797038681e diff --git a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.31.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.31.0.ebuild index 9081cf53530..0982d35f536 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.31.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.31.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 ~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" IUSE="test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.30.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.32.0.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.30.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.32.0.ebuild index 0982d35f536..ef26f73c5b0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.30.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.32.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 ~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" IUSE="test" RESTRICT="!test? ( test )" @@ -35,6 +35,7 @@ RDEPEND=" >=dev-python/packaging-24.2[${PYTHON_USEDEP}] >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}] >=dev-python/pluggy-1.0.0[${PYTHON_USEDEP}] + >=dev-python/tomlkit-0.11.1[${PYTHON_USEDEP}] dev-python/trove-classifiers[${PYTHON_USEDEP}] " BDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/idna/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/idna/Manifest index 00c7f3da0cd..c9bd616c358 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/idna/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/idna/Manifest @@ -1,2 +1,4 @@ DIST idna-3.18.tar.gz 196711 BLAKE2B d816787698eaa0002ab2b7314e1ef82934f74bed70d67d20db49cbf114b049e48cd3ca65a8fdd760e7134bc01afee6a1b80eafc8a743bda887ef0a7c4b99ecca SHA512 5cdfa086a6a1d2c5fbb6fe56ceae5434a71e2215711d252be41f82cebfa48cef35cc8b2ff03e6af17ae309f230a04a008c41eae55852dd77942f97f65848c916 DIST idna-3.18.tar.gz.provenance 9495 BLAKE2B 728c5dba519fd7716fd71c566073f2482ea5971efab097c03ef2998f7f9dd3fecaa87562409c149d579289913d52e1a303a8fb0abdcbd411600bb66dc685de9a SHA512 a02d92639bcf09a0ff8b16c4f1c95aa811c766257f74a31d34b48e1bee92be347251a77a4ea014df0b61c3f7f0b219585b0eb6bd054e25deb56a42b5836fc884 +DIST idna-3.19.tar.gz 215237 BLAKE2B 180ec174fd5992cfb4a207c48c3ddcce9000bbdd87a8df897e5453dfd93c07a19d96e6ce0e08aaca40ef85ea4a7887cbbe006e636107a493281f0c5ed6dc21c8 SHA512 9d80b04098d59eb2f2c82a91d1b8153aa5cf135dafc9f792b69d5efee05a1b7f441a907286741f85992a67b175e2910b2233bdf7492c61a3dc204ff74aed3aca +DIST idna-3.19.tar.gz.provenance 9309 BLAKE2B 96f914967234a39eb4bf028fc5e51cd8d4ff3a1bbfcbdf0095fae63ea417e5857f9621eebb549ba00643cd0d250fa52ae16dc72fab329fd83c78ba24b12e2a42 SHA512 5990aea65ca005c0ef5702c2c13e90b03bd83af37d86fda1985a44c7c89e9aed70a101ae5a1bec9473cdae7de69714a5e366bdaa5e2f4363df0fe12124de10e0 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/idna/idna-3.19.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/idna/idna-3.19.ebuild new file mode 100644 index 00000000000..638ab04d4a1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/idna/idna-3.19.ebuild @@ -0,0 +1,31 @@ +# 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=flit-core +PYPI_VERIFY_REPO=https://github.com/kjd/idna +PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="Internationalized Domain Names in Applications (IDNA)" +HOMEPAGE=" + https://github.com/kjd/idna/ + https://pypi.org/project/idna/ +" + +LICENSE="BSD" +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 )" + +BDEPEND=" + test? ( + dev-python/hypothesis[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests unittest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.6.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.6.0.ebuild index b50ba1c39b2..4190e1c0766 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.6.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.6.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 ~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" RDEPEND=" >=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-4.3.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-4.3.0.ebuild index e15ada5c39c..da0a0fd9449 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-4.3.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-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 ~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" RDEPEND=" >=dev-python/jaraco-context-4.1.1-r1[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/lxml/Manifest index 85bf62da8b5..07ad2c970af 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/lxml/Manifest @@ -1 +1,2 @@ DIST lxml-6.1.1.gh.tar.gz 995492 BLAKE2B 0ddb8b59ad1c6fa237830fed00ee5fd8626930a25baa08ab8343530568ae2917dfc2c8bd72a2f700ac62a1420db628ef63a86178790e4405844ccfd271ca3bdb SHA512 c8bd3825f5b15af8a39b7e0a11b114ad67bcfcaf8fd08928e34918ea194525d26fa498057a30a014e452817d78a839bea7cf5221f089ae8ba0d4f5f4527dc62d +DIST lxml-6.1.2.gh.tar.gz 997710 BLAKE2B e2f5176d9e870f2298b7e962c6fe6c672831c11bd67fae4ebdb8f8abe7630ce128792d835236d9b7395a77d888437fb4ecf355811dfc7ba80459eacbc1df1341 SHA512 6352ed0bbfdfa75111b017731a2b522c376d6a620dc954f2636e4038c172c0ef7a54a270486a901c6a0c55d68a09d085f802345e19fa2d3fbca701509df42fac diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.1.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.1.2.ebuild new file mode 100644 index 00000000000..78bb43bd8c7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.1.2.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) + +inherit distutils-r1 optfeature toolchain-funcs + +DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries" +HOMEPAGE=" + https://lxml.de/ + https://pypi.org/project/lxml/ + https://github.com/lxml/lxml/ +" +SRC_URI=" + https://github.com/lxml/lxml/archive/${P}.tar.gz + -> ${P}.gh.tar.gz +" +S=${WORKDIR}/lxml-${P} + +LICENSE="BSD ElementTree GPL-2 PSF-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="doc examples +threads test" +RESTRICT="!test? ( test )" + +# Note: lib{xml2,xslt} are used as C libraries, not Python modules. +DEPEND=" + >=dev-libs/libxml2-2.10.3:= + >=dev-libs/libxslt-1.1.38 +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + virtual/pkgconfig + >=dev-python/cython-3.1.4[${PYTHON_USEDEP}] + doc? ( + $(python_gen_any_dep ' + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/pygments[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] + ') + ) + test? ( + dev-python/cssselect[${PYTHON_USEDEP}] + ) +" + +python_check_deps() { + use doc || return 0 + python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" +} + +python_prepare_all() { + # don't use some random SDK on Darwin + sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \ + setupinfo.py || die + + distutils-r1_python_prepare_all +} + +python_compile() { + local DISTUTILS_ARGS=( + # by default it adds -w to CFLAGS + --warnings + ) + tc-export PKG_CONFIG + distutils-r1_python_compile +} + +python_compile_all() { + # disable automagic dep on coverage + use doc && emake CYTHON_WITH_COVERAGE= html +} + +python_test() { + local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml + local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH} + + cp -al "${BUILD_DIR}"/{install,test} || die + cp -al src/lxml/tests "${dir}/" || die + cp -al src/lxml/html/tests "${dir}/html/" || die + mkdir "${dir}"/../../doc || die + # this one needs to be copied, because upstream uses doc/../../../doc + cp -r "${S}"/doc "${dir}"/../../ || die + ln -s "${S}"/doc "${dir}"/../../../../ || die + + "${EPYTHON}" test.py --no-src -vv --all-levels -p || + die "Tests fail on ${EPYTHON}" +} + +python_install_all() { + if use doc; then + local DOCS=( README.rst *.txt doc/*.txt ) + local HTML_DOCS=( doc/html/. ) + fi + if use examples; then + dodoc -r samples + fi + + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4 + optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect + optfeature "Support for lxml.html.clean sanitizer" dev-python/lxml-html-clean +} 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 706f61df2b9..f80484c0791 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,4 +1,4 @@ -DIST packaging-26.1.tar.gz 215519 BLAKE2B de311aea3af5d7fe1414c6c3aa667b7835d47949c26d5298e1172c1bbb6c9f75646f99f4b7a633f7d2b1b13677a19d6f497912a35531baf6b7d0edb0db1e4075 SHA512 37dfdc50da2701016ff8caf7053c7d06ed3c8762ed22e43f8001c12b99b00251f960d50e8bfa0294e37069091135ef6006c7b3b92d05fde2b934cf336f0fbe1d -DIST packaging-26.1.tar.gz.provenance 9178 BLAKE2B acb6131b39570cc582506163fd2b84802c36fd29c3b3c2b61470bf12fb352f77498429d54efc32e469a5189f94ba28df9334ba5febbbc0fde46e201d9962cc36 SHA512 46873132db3e0cec2c383965e68d495645a44e16059758fb88287c2e4b8e6d06f309f03a9658b21381a89b2dbb0265123a99e42059816dbc7f33b2c6d5766828 DIST packaging-26.2.tar.gz 228134 BLAKE2B 5d19304c33c560fdc5e1784c2cc0ce8b7033957c2484ff00d7b07110e2d49c84c14c40066c93a9fada23dbc47a864ac4de16afec5588031c38b084a9198d40e8 SHA512 cefa0ac8cfade3e86d73c62e79aff75e7e24337495f6e675c20ddd3fa3f3431eb48764a34e5ab0bcdacc0d2204afdc0088686d1f3f6880e9a8ae055da4867f15 DIST packaging-26.2.tar.gz.provenance 9601 BLAKE2B bfeddec8c935693875dae1b6a5f6c8309a3a9ccaf0a814012795c97df3f08ec2ec3dec9e69179363f507297b42ee18e404039e0573c9ca1287eca4ed5544ba32 SHA512 05f2c47a7cfbd175bac6731b87d59daf4d072592787e7feca26c203478678e90451cfce405e0fd2b82ca8db64f29cbd9f01a73bd3fdfc7eacdb4b3b1d9a7fd35 +DIST packaging-26.3.tar.gz 313412 BLAKE2B ac74f7ec270d5b966820ce151297e59d82f6d9bfefb5789fa812ce5610077eec279f414f0ed6712520f07b600ff8d4ffb39e03f8e32239c987036e9f7206622c SHA512 6a649d40efe6e6e9a7aaa1c4be9dc9e5eac40c35c57834407f9e610cda9f7c9c74d42bd2d5d86d3a7637cfa0201ad534997da8697acd7e5261f2fa18be478a95 +DIST packaging-26.3.tar.gz.provenance 9664 BLAKE2B c098ead2db324ac1804d604af88043021bf1ae0b05cbaec7d58e08ae37395b023fc18fb32d7316b2250cb97feaa6c58c5b5ec9b3f94baf346ea8514850d62456 SHA512 df083a9d8ce3a821abd30c9bc9fbd8f6b78778728fa404c71a48296c84fa931c17b4e6d36745d7616c803925f91eb994c47db0df7501fc5ec9e33edab4ef5593 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/packaging/packaging-26.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/packaging/packaging-26.3.ebuild similarity index 76% rename from sdk_container/src/third_party/portage-stable/dev-python/packaging/packaging-26.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/packaging/packaging-26.3.ebuild index 2ae06bbff44..9f2b636dd3b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/packaging/packaging-26.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/packaging/packaging-26.3.ebuild @@ -4,9 +4,9 @@ # please keep this ebuild at EAPI 8 -- sys-apps/portage dep EAPI=8 -DISTUTILS_USE_PEP517=flit +DISTUTILS_USE_PEP517=flit-core PYPI_VERIFY_REPO=https://github.com/pypa/packaging -PYTHON_COMPAT=( python3_{11..14} python3_{13,14}t pypy3_11 ) +PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) inherit distutils-r1 pypi @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="|| ( Apache-2.0 BSD-2 )" SLOT="0" 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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-26.1.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-26.1.2-r1.ebuild index c48ded8a844..2dc502a629a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-26.1.2-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-26.1.2-r1.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/pkg-resources/pkg-resources-81.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pkg-resources/pkg-resources-81.0.0.ebuild index fd79315c994..3c87678e7fb 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pkg-resources/pkg-resources-81.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pkg-resources/pkg-resources-81.0.0.ebuild @@ -43,7 +43,7 @@ EPYTEST_IGNORE=( python_test() { # needed only by setuptools rm -f conftest.py || die - epytest -o filterwarnings= pkg_resources + epytest pkg_resources } python_install() { 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 920f65d2995..a0fb51a7193 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 @@ -2,5 +2,5 @@ DIST platformdirs-4.10.0.tar.gz 31224 BLAKE2B 4619bb4609da115660b0747237a4675a14 DIST platformdirs-4.10.0.tar.gz.provenance 9894 BLAKE2B 38fc9d69b639f158adc749eabac2c0495f1ce7b7bcc7ec37b95de7e612302b578abf28bdc05a4c0952cc58cd3a45859b1b099d326b67f08b24c120e702b5e05f SHA512 cc3e135570c28ea1bce8447f823723dec2f8e3384b92a598f1b8a5eb521a496a4f2a384331f21f8d6e0e1a03f6d28e54acac293a665cb454fcd338ce547911bc DIST platformdirs-4.10.1.tar.gz 31678 BLAKE2B f856043d7dfd9a1b3e588bd4c5ee4d40edcfe307dd6234b3b21e0d8025e922c383c07535572c2217c04c680a263ff917b172e31c019c6d6155ffd5cf03a1aa0f SHA512 11590c5ede99cf866be4bc6eba7f3c0764b4e2a7d176ba0cb0b967934e0b72388a44e52ff07519637ab87290f7d5aac186be60b58eae65aeb72ca580ac97ff09 DIST platformdirs-4.10.1.tar.gz.provenance 9920 BLAKE2B 514a93e710634d7f9bad01dcb53c7f00c7bf1988247b80d07582596749864647cfc00662de85035a62035b18e3e30c916733d43c540e99fc500c58c3da1a8a6e SHA512 9517b368a04da9b6cf923b96bef99179922cf4e6898cf4d48ff82cc269a6fe1fafbf019c76338d95f848aab628c789139c5768bc337b111b26d0e2ae91bd8b66 -DIST platformdirs-4.11.0.tar.gz 31953 BLAKE2B b0673aa3c8df445857d0f248c0f971d4f74f5650b80da210492470938031245cf7160d149ce7d0a2dc03ce718a21b351bad4649e8a216c050c59f930995172a5 SHA512 9669463cba81f09b1c90472521c3692666b4884d3885bbfbc3c8b7087547d7d4cc4169dd80eebfdc0d03972a659907014eb0e3ba2f23e339aad0e27cc03f67f9 -DIST platformdirs-4.11.0.tar.gz.provenance 9787 BLAKE2B 1ca4c1d48cd86257ba46ea2d08fffac423359942496c96e615893c1a682c48e2edf5cad66727ccddd5af095f3546e803726c6cf1c139b267d2a956c3e0e49742 SHA512 61e2696a74fa04fe32e7f141d2347205c6c804337a0c6455ff6dba0ba278497d6d553f9049d7f3128f4c1bf7941a2de90e9b83f4efbb6e9c14582199d091acc7 +DIST platformdirs-4.11.3.tar.gz 33050 BLAKE2B c838822e0d5a9391d13fbf240c3006ade7094c2a2ad7c5b9904fce23c48ea9db6e851d04c887a80f37fee3bd0612e010ae58516751c050fb881c8ec6da1ab22e SHA512 0d90ccbb4f75bc2c0eda42223d475c688c59214fd696ff4690abd022322d9883816bc7c33765da8c9a792afc04ab21faa08c69dcbe027f7cbdcb4087e5baa2a1 +DIST platformdirs-4.11.3.tar.gz.provenance 9777 BLAKE2B 9b4f683aaab5b99f085f560e4ff21e3a9533b892e974e8e39aef047ee2021ff416ff88af6db98c6fd284ef592a926b425c8b7c05f5cb0f4b8d5c23bb59ac8229 SHA512 97833d43052e8b2c303f204f8291cfb39bc1b399c2ecfbeabe18b54e5d20bb8920c802013fc43060c9e4f2ed7f359c5a5c763dc8cb14e9ba8bc52f328a64fa34 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.10.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.10.1.ebuild index 42ae74868d3..b254fda552f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.10.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.10.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 ~x64-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/platformdirs/platformdirs-4.11.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.11.3.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.11.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.11.3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pygments/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/pygments/Manifest index fc3be3039a2..babdfcefdd0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pygments/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/pygments/Manifest @@ -1,2 +1,3 @@ DIST pygments-2.19.2.tar.gz 4968631 BLAKE2B fad9d5c28194761a77f68f5428a6655c78c498917fa7b91d677e0da18a2fe5521a37440ac52bd7eb7578fac50bf4b55e95dd1ac7334644b775b9ca5b3d0f153e SHA512 3ead3a1fa4c7d86b415287949099cb0e5667ea71f7f69aa3de359bbb5c2f234d90fa5a41ec9c74cb041593e465b934d54bbb7dc87669683f04b94dd3aa6ca03c DIST pygments-2.20.0.tar.gz 4955991 BLAKE2B 0d3ef30bdca0713946930f97d222fe3d5096a340b435383b7a6cdd0c2570cb1c4a723dcf6b09e4253fbc7c8b3eefe093529d45c4b4c1753d3e45f25347e84958 SHA512 7d073ead03b1722f862a72a962346f2d76bafb472f58fd5038061ca09675483f3b427bec700fe4ef49da9cace9e65b0d5414cda5ee20ebc056759e0c422f4547 +DIST pygments-2.21.0.tar.gz 5005329 BLAKE2B b381d374ff12e230350f206a4ecd0c273e48563ecfe221c4aff7014278dc2f83884cf5dc58a63241871812750ec08f8475dbddb80df39c8561595296e21f4f74 SHA512 c2d2e48556be345378004463d8f0f357b6b0652a6af0f33fa255b9f749f7ab42e4bdde0fd6870619bfe225b83d13dbb1cb891c989cf43d12a2cdaf6f89ab8279 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pygments/pygments-2.21.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pygments/pygments-2.21.0.ebuild new file mode 100644 index 00000000000..5d0e76204e2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/pygments/pygments-2.21.0.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_PN=${PN^} +PYTHON_FULLY_TESTED=( python3_{12..15} ) +PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" python3_{13..15}t ) + +inherit distutils-r1 pypi shell-completion + +DESCRIPTION="Pygments is a syntax highlighting package written in Python" +HOMEPAGE=" + https://pygments.org/ + https://github.com/pygments/pygments/ + https://pypi.org/project/Pygments/ +" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" + +BDEPEND=" + test? ( + dev-python/lxml[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/pillow[${PYTHON_USEDEP}] + ' "${PYTHON_FULLY_TESTED[@]}") + dev-python/wcag-contrast-ratio[${PYTHON_USEDEP}] + virtual/ttf-fonts + ) +" + +EPYTEST_DESELECT=( + # fuzzing tests, very slow + tests/test_basic_api.py::test_random_input +) + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_install() { + distutils-r1_src_install + newbashcomp external/pygments.bashcomp pygmentize +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.2.1.ebuild index 438af4f736a..221cb9f28c4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.2.1.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" # there's an optional dep on rich for cute logs RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest index 8a7191238f7..48f7bc5e691 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest @@ -1,3 +1,4 @@ DIST setuptools-79.0.1.tar.gz 1367909 BLAKE2B d495a22753400b3b0ef71423e2c9b5adaad1a065d1f9638b5da8161b29c453495701c3efaa3abd2482777e186ba992bd7b57090dfc711d9cdfdaa8254616a8ff SHA512 5b68d7cc775f4318e178f7d7f69c60a01b1abc607411e88c88e3507a08bd85eed241b915d4be5f3ada90df4b68718056c2ba032943c1f53fe68d171c7d728179 DIST setuptools-82.0.1.tar.gz 1152316 BLAKE2B d7f6eaf62ec66355b65642bc20a7a549e167dd6d1c0cdb15926b6644a23cab7737d713cd9418e0cc09161eb0bff53ffd0b8781c96d9203717077121c1e3cc0d5 SHA512 5d70e9efd818245fb8119a4eed64d776078469ed884facc188f141ea491efd9fde5c10c928d3236ea5e2e431b16616f18ed14870b867f95e6320251707332395 DIST setuptools-83.0.0.tar.gz 1154254 BLAKE2B b82142ad699703352b4ec7843545f3f078e853d39fa93e2d0ee42b9914ebc9d04bc7de4954bce0a1e49f3befea39d14176ed4e7462d202d74ed503664765fba9 SHA512 d426f235471d30b41391bda63e8f3d461f54a6a4127594a2e2d0cab0c7576d511db5e5f211ed6cdac2afc620d3695e991a1dd08106f1201ec64697b14b3e0390 +DIST setuptools-84.0.0.tar.gz 1168449 BLAKE2B b4dc28c42ea271dc2cac7f7218bec0819d043d52100df8c1ac7672092c2f45b62e731d18d76bc00a6392b60f8afb8c1f7e961050ee23b0e1c77bbd94e42481db SHA512 67721834362dd88c256cbd523413dbdcb99ca871bcc873ffa29c7667687973e1d5e15b0ea8ef4529711418b14d3d660771846877543001d4ab0fe8b4585ac9ad diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-83.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-83.0.0.ebuild index 900a4d2c153..d34e0b3bbae 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-83.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-83.0.0.ebuild @@ -21,7 +21,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" IUSE="test" RESTRICT="!test? ( test )" @@ -117,6 +117,6 @@ python_test() { local EPYTEST_XDIST=1 local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH} local EPYTEST_PLUGINS=( pytest-{home,subprocess,timeout} ) - epytest -o filterwarnings= -o tmp_path_retention_policy=all \ + epytest -o tmp_path_retention_policy=all \ -m "not uses_network" setuptools } diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-84.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-84.0.0.ebuild new file mode 100644 index 00000000000..9a1c082bc45 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-84.0.0.ebuild @@ -0,0 +1,124 @@ +# 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 + +# please bump dev-python/ensurepip-setuptools along with this package! + +DISTUTILS_USE_PEP517=standalone +PYTHON_TESTED=( python3_{12..15} ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_{14..15}t ) +PYTHON_REQ_USE="xml(+)" + +inherit distutils-r1 pypi + +DESCRIPTION="Collection of extensions to Distutils" +HOMEPAGE=" + https://github.com/pypa/setuptools/ + https://pypi.org/project/setuptools/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/jaraco-functools-4.4.0[${PYTHON_USEDEP}] + >=dev-python/jaraco-text-4.0.0[${PYTHON_USEDEP}] + >=dev-python/more-itertools-10.8.0[${PYTHON_USEDEP}] + >=dev-python/packaging-25.0[${PYTHON_USEDEP}] + >=dev-python/platformdirs-4.4.0[${PYTHON_USEDEP}] + >=dev-python/wheel-0.45.1[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( + $(python_gen_cond_dep ' + >=dev-python/build-1.0.3[${PYTHON_USEDEP}] + >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}] + >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}] + >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}] + >=dev-python/jaraco-path-3.7.2[${PYTHON_USEDEP}] + >=dev-python/jaraco-test-5.5[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] + dev-python/pyproject-hooks[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}] + dev-python/pytest-subprocess[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}] + >=dev-python/virtualenv-20[${PYTHON_USEDEP}] + ' "${PYTHON_TESTED[@]}") + ) +" +# setuptools-scm is here because installing plugins apparently breaks stuff at +# runtime, so let's pull it early. See bug #663324. +# +# trove-classifiers are optionally used in validation, if they are +# installed. Since we really oughtn't block them, let's always enforce +# the newest version for the time being to avoid errors. +# https://github.com/pypa/setuptools/issues/4459 +PDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}] +" + +src_prepare() { + local PATCHES=( + # https://github.com/abravalheri/validate-pyproject/pull/221 + "${FILESDIR}/setuptools-75.6.0-disable-trove-classifiers.patch" + ) + + distutils-r1_src_prepare + + # remove bundled dependencies + rm -r */_vendor || die +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + return + fi + + local EPYTEST_DESELECT=( + # broken by unbundling (e.g. installs self-wheel into venv) + setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta + setuptools/tests/test_distutils_adoption.py + setuptools/tests/test_editable_install.py + setuptools/tests/test_sdist.py::test_sanity_check_setuptools_own_sdist + setuptools/tests/test_setuptools.py::test_wheel_includes_vendored_metadata + setuptools/tests/test_virtualenv.py::test_no_missing_dependencies + setuptools/tests/config/test_setupcfg.py::TestOptions::test_entry_points + # TODO + setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic + setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors + # TODO, probably some random package + setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass + # relies on -Werror + setuptools/_static.py::setuptools._static.Dict + setuptools/_static.py::setuptools._static.List + # Internet + setuptools/tests/test_build_py.py::TestTypeInfoFiles::test_type_files_included_by_default + setuptools/tests/test_dist.py::test_dist_fetch_build_egg + setuptools/tests/test_namespaces.py::TestNamespaces::test_mixed_site_and_non_site + setuptools/tests/test_namespaces.py::TestNamespaces::test_namespace_package_installed_and_cwd + setuptools/tests/test_namespaces.py::TestNamespaces::test_packages_in_the_same_namespace_installed_and_cwd + setuptools/tests/test_namespaces.py::TestNamespaces::test_pkg_resources_import + # broken by warnings from setuptools-scm + setuptools/tests/config/test_apply_pyprojecttoml.py::TestPresetField::test_scripts_dont_require_dynamic_entry_points + # TODO + 'setuptools/tests/test_egg_info.py::TestEggInfo::test_requires[setup_requires_with_markers]' + # broken by scikit-build-core somehow + 'setuptools/tests/test_extern.py::test_distribution_picklable' + ) + + local EPYTEST_XDIST=1 + local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH} + local EPYTEST_PLUGINS=( pytest-{home,subprocess,timeout} ) + epytest -o tmp_path_retention_policy=all \ + -m "not uses_network" setuptools +} 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 d2f121cff65..2e0ccb2fa72 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,8 +1,2 @@ -DIST snakeoil-0.11.0.tar.gz 201462 BLAKE2B c8d9953b5fc482afbadd471c6de273518d1b30a42cff2cc45cd2700544bb9a84b25ea3686e8f056bd44562075f1eedf7db3af6cf935f177b513e9b3f0a76840c SHA512 6636def3a05469a3f22e0a510d00fd5d6399c561fa436f7028507b5b548c5d20200ec93fdf2d8ba03176e76f2d6a0e51f12f63fa4b6a16a11839552dcbd7543c -DIST snakeoil-0.11.0.tar.gz.provenance 9238 BLAKE2B 6724f3cde7cfabdfc44a8e0056a8c112d97ff7ffba98c90c998f8244a7ebf5b38198613b49f0df7dc9106cba6d07a68bb02b6cfaf70d83e6692f730a4fdce1c2 SHA512 990cf993fab784e7878517872183edf91b0a9725c08e618974a05b68c75c35b2bd03e865bd5a3ce21fcc138cbc84a1a0051be40fda639d5f3bcc8c8c0a6ef347 -DIST snakeoil-0.11.1.tar.gz 205402 BLAKE2B 5adce8d484b4bfe9936a91368f4aaf618b76365734a75c6659462328641dbcfa5d7dec059a8f3ba6cee626994ed71ef68011e3fa4356e7c8a50c527a46c88ef4 SHA512 ba74e8aea92e52b4643cfcf7d7e4b408567f8b3f8a614831520b8e3c454bfc84258766825285c1495cca4e990b5ac73db8b02f444037ae877531153b29e3a9cd -DIST snakeoil-0.11.1.tar.gz.provenance 9560 BLAKE2B 7323544a63f67e1208f01288a09a8254eba31688d57599284b568586109260383ffcf71555963c8998e31cc1974b81de5483e592151bab07efd88f7d1a7cad1b SHA512 1508b466ba8921895279e8b3e8951e338fe240fddae709563d45e47cd948ae2ab51d37664bf3e8780913c45368410ad1704d8b17b2887fffb9bf038f015b4a6e -DIST snakeoil-0.11.2.tar.gz 205822 BLAKE2B 4f7f5a17868562a6216743f3a7bab2c9e0110ce4930ab72b253c52bee2a51279292f6538e774ce9126fee5c8b78c44a02e315c22cf65803c5e82124623768590 SHA512 cad0d03c001366a0d5c80562b5c63b252e202668d8155dad7ae431d254a1d89827032711f224d06e041754e87880b5030e122bc36e1136c825f4c8ef31054a52 -DIST snakeoil-0.11.2.tar.gz.provenance 9842 BLAKE2B 72fe1b24af0cd346d8e2b2d0e12135a14fdec32fc7d29f90dee467d7f98bd60970adad691c588bca96082d75bc3d191828ffbcbd2315f824554e3c7ee4cef39f SHA512 c3f604bf69c4c4fe18c24c7e729ec256ab5831cb44732a22bac2b9204f7393b4e86bcb87fff879f6431b50d9c8d31f2f841751e2a55d8476c08295bcb303c7a8 -DIST snakeoil-0.11.3.tar.gz 206577 BLAKE2B 7418f0d419e7a2f774f043734600d1a66f1e3c3a3943d45ccb1bc15c17fad0e4ec2ad02459a42ed2f0db6545ce913c46dc359d02caeed156e20547c7e8b15b89 SHA512 367d37f01d58cbeabc31fa6ed0a747c8e5910688328cf0276c762ea4cfcf2abec187384b291dc3ac14187bc0528944c0972229208f6c3a2a48169fd6d26c0fc0 -DIST snakeoil-0.11.3.tar.gz.provenance 9748 BLAKE2B cdf6b9e4a9a932894f43604c3a5ba008c97f5972cecd2a40aab9d89b6e56ee3496495157b107b12032f6e38eeaa82965fa988dea8ee2c1ec43ed3b2140e089f3 SHA512 b8fd5dc236329e610cee1f2c1ebd6c39e045c79ae53113b2496862b5a6b23a5d692fbcc590c40509dd147ae759bb32283eba73303ebd31de0aa2b602411956f3 +DIST snakeoil-0.11.4.tar.gz 208686 BLAKE2B 890c953485dc36a46c135ef22966519517c59564f52babe55359ee13626f6414558644c58b09fc1b2dd16e28e552efd8236fc4fdcf720c0429cbad1db9eb68ef SHA512 11c4f0571ca4c0297cc8ce983f1bb9f0d82696e8230d8f0c40da9bfe1cb52a445ba64ca3903ce96fc8f9bad160105f92e7626bb8ea0390c9b3f5234d39d0375c +DIST snakeoil-0.11.4.tar.gz.provenance 9701 BLAKE2B 04c4c7afb24bf70f384266322e11cd131fc820aa4ad4fedb05aefc64cf1ef471e27e1f072c32c42444cf1e57d84cdb769f8b406b192af15354057760d0bd1a01 SHA512 4a4cda231e3c12d125871cde42c1b35884a5de093dba1639ef859ab41e098a7f664eea63c9f9c79a4bbcbd6dbdab18ed3b41bb26f1324923215a6c549e8086ba diff --git a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.0.ebuild deleted file mode 100644 index ff84f169e01..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.0.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2026 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/pkgcore/snakeoil -PYTHON_COMPAT=( python3_{11..14} pypy3_11 ) -PYTHON_REQ_USE="threads(+)" - -inherit distutils-r1 - -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/snakeoil.git - 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" - inherit pypi -fi - -DESCRIPTION="misc common functionality and useful optimizations" -HOMEPAGE=" - https://github.com/pkgcore/snakeoil/ - https://pypi.org/project/snakeoil/ -" - -LICENSE="BSD BSD-2 MIT" -SLOT="0" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.2.ebuild deleted file mode 100644 index d219caaba52..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.2.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2026 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/pkgcore/snakeoil -PYTHON_COMPAT=( python3_{12..15} ) -PYTHON_REQ_USE="threads(+)" - -inherit distutils-r1 - -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/snakeoil.git - 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" - inherit pypi -fi - -DESCRIPTION="misc common functionality and useful optimizations" -HOMEPAGE=" - https://github.com/pkgcore/snakeoil/ - https://pypi.org/project/snakeoil/ -" - -LICENSE="BSD BSD-2 MIT" -SLOT="0" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.3.ebuild deleted file mode 100644 index d219caaba52..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.3.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2026 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/pkgcore/snakeoil -PYTHON_COMPAT=( python3_{12..15} ) -PYTHON_REQ_USE="threads(+)" - -inherit distutils-r1 - -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/snakeoil.git - 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" - inherit pypi -fi - -DESCRIPTION="misc common functionality and useful optimizations" -HOMEPAGE=" - https://github.com/pkgcore/snakeoil/ - https://pypi.org/project/snakeoil/ -" - -LICENSE="BSD BSD-2 MIT" -SLOT="0" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.4.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.4.ebuild index 05cac6a6c65..d5c3f774f53 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.4.ebuild @@ -28,5 +28,9 @@ HOMEPAGE=" LICENSE="BSD BSD-2 MIT" SLOT="0" +BDEPEND=" + test? ( dev-python/sphinx[${PYTHON_USEDEP}] ) +" + EPYTEST_PLUGINS=() 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 d219caaba52..44841966311 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 @@ -28,5 +28,9 @@ HOMEPAGE=" LICENSE="BSD BSD-2 MIT" SLOT="0" +BDEPEND=" + test? ( dev-python/sphinx[${PYTHON_USEDEP}] ) +" + EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.26.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.26.0.ebuild index 81cfb35e3e0..63d41ea1bda 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.26.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.26.0.ebuild @@ -22,7 +22,7 @@ S=${WORKDIR}/py-${P} LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" # setuptools is needed for distutils import DEPEND="=dev-libs/tree-sitter-0.26*:=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/Manifest index 0c503ce9bce..513f83acc9e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/Manifest @@ -1,6 +1,10 @@ -DIST vcs_versioning-1.1.1.tar.gz 97575 BLAKE2B c55952d68f021d6e7edf7ec7ba54a9a6e9716a0a220b035a5df5f33315f8a0a8b235a67139c52a1b53ba8dcd470d3c52cee11575f81f08b09d867dcf350416ac SHA512 e5bf9fa68eeb38c8d884f4bad6f93f1354854ad0ab04919d369ed1b40832c2ed117f4c9d9458ae5a8a71c84497f6d0ff0ca5b38881c7a3a057619b3da3cbbbbc -DIST vcs_versioning-1.1.1.tar.gz.provenance 9842 BLAKE2B 7c25bc61bc3f6644f82b03252f1fe9322ddd3e0aff8c473f54105f41b43951ae8b18fd6377d5dfa64b5c00f5ed17e32c3637fff03e0b7e4e8c27c796a0ff38bd SHA512 902b141380652204deadd5265c191dd86c154b6e5ee305148fdeee8d242a02ab129d59a0e1530422ba95b9d752d011fc6a4e8246931bd0558a6a0509778c0913 DIST vcs_versioning-2.2.2.tar.gz 143135 BLAKE2B a04f2687e8cd34caea599090decb6be74f886020a75582929052cea301a36e086f8ae0917b16007a5cf34103230f99c1bf74f96a45fe7ec4eaa654e9988a36b8 SHA512 b65af99a5078d8b129e34610bbeb7d1fa8f57badb304e00f14c6318a13b2314b7ca739a26fc7729b0d2df6d829769f8b93fee28ae9f0450ab1246a2a4c36fc8f DIST vcs_versioning-2.2.2.tar.gz.provenance 10134 BLAKE2B 47904c81c239851654bcf0f58326efbaa245fb3e7a673c12e5c8eda809fc403862b4d277d193ad8955072628f5cd7b7127b61fd50142ad9ea85740344df0e509 SHA512 60512914d4701ae0b14896188b0bcce97c9807ef6ae400e60b77225c8bfc6e8c05801a042e4a28cc4ae5f15d832c808bb609d665ec08ba8c6693654c07fcbfb2 DIST vcs_versioning-2.2.3.tar.gz 143653 BLAKE2B a0b1b4a923d775ca62ec60a0c006ee7b98ce047a9eaca2bbda7bdfe81fe945ac1dd4ebeec7f96bb6d8fbe45d1411e149cbbd83174e9f28f58f1937b966d3fbcf SHA512 847d97ffe3262052076876907e2564656dd6caf38ee8587ce2dd6759c22a4f1f7fd052b542ae78aa1baba25dc673e28d1ee8b984272ea25054a92dc94ff53779 DIST vcs_versioning-2.2.3.tar.gz.provenance 10154 BLAKE2B 5fdf3e7f32c762afdcf1bb10b4b4a44c493ffa555a370a356462d54e950f28a7d91a6edf501dd2971967140b76b5356ee538e6ef1de5c26c4bc72be8265daee8 SHA512 d6b3fe687707de6ffbf7dc1036bc94cc1973c555c3e49151ba0393ef9fa13498d7005d71d38202ce0e582f785d76b70d9940f2e1be582f9c22677de4a6508153 +DIST vcs_versioning-2.2.4.tar.gz 145243 BLAKE2B 16d123f10c3152f4b544eed83810b3f3696cb0bcd393d987b33dd2fa86455275403e47866c3b3bc95f3e93752eadf3501adc0dcee948d43a944281db3b5f61e6 SHA512 f2fa4536d3f204f291341af3be4ec22c12867fe8bfe4ee5851794bf7a6847c3657f55297a8a42639916115cc4e5b2cb2a14171e3591610dd55ec0035f2c0a347 +DIST vcs_versioning-2.2.4.tar.gz.provenance 10291 BLAKE2B e72e9eb5e0d79167d096ab41c490644df810dda5294bec656a3089e46b50aa9ace2abbada783b3d2af16e076e54e836df2a15028a9657661836ad71e029aedd8 SHA512 c13a63480f0985d56a17965cff2e2b41aa1c491be153409d4dcb62a4b578d677718e4c2de98d89b4043d6a547184fda81e15f1ddf663caf95969b77981a2a3ec +DIST vcs_versioning-2.3.0.tar.gz 155949 BLAKE2B 414f9e8b2fedb6bd5cdc12787194fb67323d8e15595afb477b8533f62c1ecda5ec108f0e41daaad09696c6fe62a5c897564c4918dad5f94b1d0ce4d16dbb6ccd SHA512 93f23736f11a79d5b9629de4ce0b8172158096ec701b7e7d3808797f49f06c81218e567640fb73db98ec0b1ec0604545a2db36250e2dbca98a0866f6c4ace86b +DIST vcs_versioning-2.3.0.tar.gz.provenance 10293 BLAKE2B 6f289766625d642f1c87c33a7040ec5b164422ebb1cefadc2bb6281d067f473a49283f5482a7ebd36dcaedfef9a8e7430855c7c8fbd1921a16543ebe76d585fc SHA512 78eb471ee736774c3d8d926f80e7f1e0def8faed82b4843212bf2e9f33d1b2ddade2b0e3dab60dd157b32d2d5ae9c041665b2326f8bfec95af0ad1b95ab3b638 +DIST vcs_versioning-2.3.1.tar.gz 156292 BLAKE2B 5d8ceee494d3d048e6e6102455123ff7b41a9ee6237d9788133189f90c77b55995f27a10a4209a87ff6f6e919ed57078b7e05bce3e271b2452d1eabf88bfe527 SHA512 31ea5d94b881eb19c709873086110498c64da4a3525f6eace82fe693ea7243b812f1434c20e08ad8c6ad9c3cb013831ecfe88834739dc60a9c1b78fb746c5dee +DIST vcs_versioning-2.3.1.tar.gz.provenance 10199 BLAKE2B 3e9f7ba44894c8a28eadd9cf6d5398dd56ed53a60776e89d0f6eadbe379e0c0f6d973ebaa4580c96e1f7862bf711ab6e1db26f196c5bdff42f8e271ed2c053e5 SHA512 cbafe022dbcf0bc28db3d4e17a272f052ff2ab17c44a155a8e63b11fe640bdbdbec8ab4b9ba3fe8ed9028de3a756190e0b76eed1be692d7234a5086046839a3c diff --git a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-1.1.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.2.4.ebuild similarity index 67% rename from sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-1.1.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.2.4.ebuild index ff7260dd9dd..e316873cc31 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-1.1.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.2.4.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYPI_VERIFY_REPO=https://github.com/pypa/setuptools-scm -PYTHON_COMPAT=( python3_{11..15} python3_{13..15}t pypy3_11 ) +PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) inherit distutils-r1 pypi @@ -17,19 +17,19 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" RDEPEND=" - >=dev-python/packaging-20[${PYTHON_USEDEP}] + >=dev-python/packaging-26.2[${PYTHON_USEDEP}] " BDEPEND=" - >=dev-python/packaging-20[${PYTHON_USEDEP}] + ${RDEPEND} test? ( - >=dev-python/setuptools-scm-10[${PYTHON_USEDEP}] + >=dev-python/setuptools-scm-10.1.1[${PYTHON_USEDEP}] ) " -EPYTEST_PLUGINS=() +EPYTEST_PLUGINS=( pytest-timeout ) EPYTEST_XDIST=1 distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.3.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.3.0.ebuild new file mode 100644 index 00000000000..e316873cc31 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.3.0.ebuild @@ -0,0 +1,39 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/pypa/setuptools-scm +PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="Core VCS versioning functionality from setuptools-scm" +HOMEPAGE=" + https://github.com/pypa/setuptools-scm/ + https://pypi.org/project/vcs-versioning/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/packaging-26.2[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( + >=dev-python/setuptools-scm-10.1.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-timeout ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # the usual nondescript gpg-agent failure + testing_vcs/test_git.py::test_git_getdate_signed_commit +) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.3.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.3.1.ebuild new file mode 100644 index 00000000000..e316873cc31 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.3.1.ebuild @@ -0,0 +1,39 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/pypa/setuptools-scm +PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="Core VCS versioning functionality from setuptools-scm" +HOMEPAGE=" + https://github.com/pypa/setuptools-scm/ + https://pypi.org/project/vcs-versioning/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/packaging-26.2[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( + >=dev-python/setuptools-scm-10.1.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-timeout ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # the usual nondescript gpg-agent failure + testing_vcs/test_git.py::test_git_getdate_signed_commit +) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/wheel/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/wheel/Manifest index ae21fbc384f..da80ef9c962 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/wheel/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/wheel/Manifest @@ -1,2 +1,4 @@ DIST wheel-0.47.0.tar.gz 63854 BLAKE2B 1ff8414476e13bd39a921f007176365c7c38963249a1ee0bbc2e94174ac3280bbe23711f94f84f11958db886e6293f5afe77ef15310a488b6951b472a15d9957 SHA512 cf2010e36c031ba47f6302a233811e57f0187244b06cdeff5ae5d2fb6cc16dfba594facbb3f58f795ec308d71a8a0332d09e610bb8720f2c9e8942a914bf3bc4 DIST wheel-0.47.0.tar.gz.provenance 9367 BLAKE2B a9047b77f0e8ebe89da557d9af1be2034785673eea4eb1089b80c2604528b52b0486b81624bf4978f9479adafdca3e405ce36ab97235e5449979e9a6c24921dc SHA512 50aaef2cd93d5013d34017ef4d4e0f125cac0405d89d60081e4e43d00971f14d64397f5c358056e146f52a9ffbeeff9dc80e391a94b9c87f5e1fa9aeb3b9f1f2 +DIST wheel-0.48.0.tar.gz 66471 BLAKE2B f3eec05b0c70939b7dd8539ef538efb5c2d3e76c497c2c66035abe9fcfc166ffb17f65bfcbd6998a27ba9cdbb078ed99c6b1f826ae694fc9134dcf60a0870791 SHA512 5890947bc1c4dd02e73f85afddf19122c712d3e5ae67dec96562246e6ac9df7a3380a57c2bb0dde21f103622e8d71e02c36d8ba7bc2fd23c8fdab362a059f653 +DIST wheel-0.48.0.tar.gz.provenance 9663 BLAKE2B 771c3de6b90e92a2b23ce01d5fab6193b7bb7d2b87acb076da5b4146d75b2c386387c7f870f7636f5092b0d367119e06d214d01c50f28ab9634930ea1133a339 SHA512 439336ae79206cc461606415ecbe6757d88c5fc9d5820fd042980fdee1b0c21da67c5a43be275d2128552b7363ff9b218b56d5632aae817e457bfcfe4a6c70e4 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/wheel/wheel-0.48.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/wheel/wheel-0.48.0.ebuild new file mode 100644 index 00000000000..1e3175ee5a5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/wheel/wheel-0.48.0.ebuild @@ -0,0 +1,41 @@ +# 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=flit-core +PYPI_VERIFY_REPO=https://github.com/pypa/wheel +PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="A built-package format for Python" +HOMEPAGE=" + https://github.com/pypa/wheel/ + https://pypi.org/project/wheel/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + +RDEPEND=" + >=dev-python/packaging-26.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/setuptools[${PYTHON_USEDEP}] + ) +" + +# xdist is slightly flaky here +EPYTEST_PLUGINS=( pytest-rerunfailures ) +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # fails if any setuptools plugin imported the module first + tests/test_bdist_wheel.py::test_deprecated_import +) 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 867284b62aa..94fa9323c9b 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,5 +1,3 @@ -DIST glib-2.84.4.tar.xz 5618200 BLAKE2B 5faee382433085cd598545a99e2e95ce430be4ac5ca10106b70f2404ddacf328f4223bc092a23025f9bf8b936619a88a9dfb220674a07e9250cf4213c6213be9 SHA512 2de9b2f7376c0e5f6ee585087090675d597c474199a10d04aad18df688b6ca77d17e93a86ec07482898663f51c82121992272496318138f77ca5ad2c340a4bd3 -DIST glib-2.86.5.tar.xz 5695864 BLAKE2B 67fb6d9bde2c47647bfc7979bf3486aac0c7c32d51593ac37c2e988556d3225faa7c702b3f39103051a6671e142c2ae2baf309451720262d18311f519385f17c SHA512 e14e56659594cb1f929cf62b01f415b867592f83d7a624a8806c609c762fcdf6ab7bc4c68ab1faafd709f7448a52b8e37a7066a53c84b52607a8b5261bc8f222 -DIST glib-2.88.1.tar.xz 5789296 BLAKE2B d9a0e54d2c1b5128aee76f1743cbeea84a24af5a2252ba1c649943bbca3fbc5f08896249542526560c92dd0e60cbd8a72498c3cfe1535d1f0bf85316ce37dba1 SHA512 74e6d6086081e5dfb5b7fd3b74f59171033be0c340ff2dd798fea9cb42e5f680e13b2ac3dde8dd423bceb9c6556103005f9542aeda166e9a3b89da8bacecca23 DIST glib-2.88.2-const-whoops.patch.xz 19144 BLAKE2B 7b9cd36900acab507702f53e0e70f7b623958810d604b5ac60b7c8a458887c001f871119fcfe9bf8b3266d63d74030aa87305c44ce501bb08fab6e072bc4f774 SHA512 0f8b2b3890250725277addeb1ab42dcb5f53bdb58980d7679564c9b701ec3f68af8fa77b5b04aa9b24370fa77a6121646434aa8d811d2c5ad12966fa0caeed0e DIST glib-2.88.2.tar.xz 5782636 BLAKE2B fecce4ad82e62e429d30f4e9050a83b53715644fc8c7c89d767ecdaefa603530e81e024dd3450ce25bcd93b00fa6aeb8551b6240d3a04862dadeb895b0177e10 SHA512 d6f40d1ff0f73faccdff8060fabd29b8217cc46139cf33e5792fee05af0665f96cd04e7866995bd84fcd99c9e40c40367d1326f8417bad99c1242dd841ec72a5 +DIST glib-2.88.3.tar.xz 5794356 BLAKE2B 8c291c0c05e2bf1dc7c5ca7d077f7d87ea7d81eff56de80991001c113718fe314db771f8901a26b21dace763a9d9898cccf6d4c11462372e594b6b39cdf4b95c SHA512 9e2b4985d5e4e06c6897a33cf8c100b9303528ebd72152c10e4cb734fa62fc011c84b816b20f686a3b2aac9a4a5a46f33e7517b4c4c7f3c25c75ac3ddc11f844 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 deleted file mode 100644 index 1d5e73342e6..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.84.4.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 ~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.88.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.88.1.ebuild deleted file mode 100644 index 851f8ee3a96..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.88.1.ebuild +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 1999-2026 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 ~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.86.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.88.3.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.86.5.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.88.3.ebuild index 851f8ee3a96..ea8105fa96a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.86.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.88.3.ebuild @@ -3,7 +3,7 @@ EAPI=8 GNOME_ORG_MODULE="glib" -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..15} ) PYTHON_REQ_USE="xml(+)" DISTUTILS_USE_PEP517=setuptools DISTUTILS_SINGLE_IMPL=1 @@ -12,6 +12,7 @@ inherit gnome.org distutils-r1 DESCRIPTION="GDBus code and documentation generator" HOMEPAGE="https://www.gtk.org/" +SRC_URI+=" https://distfiles.gentoo.org/pub/dev/sam%40gentoo.org/dev-libs/glib/glib-2.88.2-const-whoops.patch.xz" S="${WORKDIR}/glib-${PV}/gio/gdbus-2.0/codegen" 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 342fc55587a..fe2700c3d35 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,2 @@ -DIST glib-2.84.4.tar.xz 5618200 BLAKE2B 5faee382433085cd598545a99e2e95ce430be4ac5ca10106b70f2404ddacf328f4223bc092a23025f9bf8b936619a88a9dfb220674a07e9250cf4213c6213be9 SHA512 2de9b2f7376c0e5f6ee585087090675d597c474199a10d04aad18df688b6ca77d17e93a86ec07482898663f51c82121992272496318138f77ca5ad2c340a4bd3 -DIST glib-2.86.5.tar.xz 5695864 BLAKE2B 67fb6d9bde2c47647bfc7979bf3486aac0c7c32d51593ac37c2e988556d3225faa7c702b3f39103051a6671e142c2ae2baf309451720262d18311f519385f17c SHA512 e14e56659594cb1f929cf62b01f415b867592f83d7a624a8806c609c762fcdf6ab7bc4c68ab1faafd709f7448a52b8e37a7066a53c84b52607a8b5261bc8f222 -DIST glib-2.88.1.tar.xz 5789296 BLAKE2B d9a0e54d2c1b5128aee76f1743cbeea84a24af5a2252ba1c649943bbca3fbc5f08896249542526560c92dd0e60cbd8a72498c3cfe1535d1f0bf85316ce37dba1 SHA512 74e6d6086081e5dfb5b7fd3b74f59171033be0c340ff2dd798fea9cb42e5f680e13b2ac3dde8dd423bceb9c6556103005f9542aeda166e9a3b89da8bacecca23 DIST glib-2.88.2.tar.xz 5782636 BLAKE2B fecce4ad82e62e429d30f4e9050a83b53715644fc8c7c89d767ecdaefa603530e81e024dd3450ce25bcd93b00fa6aeb8551b6240d3a04862dadeb895b0177e10 SHA512 d6f40d1ff0f73faccdff8060fabd29b8217cc46139cf33e5792fee05af0665f96cd04e7866995bd84fcd99c9e40c40367d1326f8417bad99c1242dd841ec72a5 +DIST glib-2.88.3.tar.xz 5794356 BLAKE2B 8c291c0c05e2bf1dc7c5ca7d077f7d87ea7d81eff56de80991001c113718fe314db771f8901a26b21dace763a9d9898cccf6d4c11462372e594b6b39cdf4b95c SHA512 9e2b4985d5e4e06c6897a33cf8c100b9303528ebd72152c10e4cb734fa62fc011c84b816b20f686a3b2aac9a4a5a46f33e7517b4c4c7f3c25c75ac3ddc11f844 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 deleted file mode 100644 index 06529574b40..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.84.4.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 ~arm64-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.86.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.86.5.ebuild deleted file mode 100644 index 37c201f7571..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.86.5.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 1999-2026 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 ~arm64-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.88.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.88.3.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.88.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.88.3.ebuild index 37c201f7571..6f114d0567f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.88.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.88.3.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..15} ) GNOME_ORG_MODULE="glib" inherit gnome.org python-single-r1 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.31.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.31.ebuild index cf36dd8a34f..518abcfe058 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.31.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.31.ebuild @@ -30,7 +30,7 @@ else fi S="${WORKDIR}"/${MY_P} BDEPEND="verify-sig? ( sec-keys/openpgp-keys-arnaldocarvalhodemelo )" - 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="GPL-2" # only 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 a685a5fedef..2cec31e06bc 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,4 +1,5 @@ DIST linux-6.19.tar.xz 156067644 BLAKE2B d1551c058e9a1201a0fa769b427255f13bb0d73fdd384e2c0302956cc9a1eeba255b013fa87a15fdad508bc00fdae2085590572c76cfe20fe2af31ba87b7d289 SHA512 01b29c7f4e5bc0c9802794c2cd027fece825f90417be229a71e60eefce530010d5d301749c54ae744e9d4a483518e769e2bb7e6e9209687681ad7fff11c3ed86 DIST linux-7.0.tar.xz 157143652 BLAKE2B 3d9795083c8938f80f480de0d10bfd9c525640e59d5c7f22983de3f12ee42c84c31be902cafb05579ddb1c32bac5ed06b0d4953f9705450be185bd2d9ab08f89 SHA512 8c85b708342f8f09ca25b2234b22e93b62b144a9ef919fbb21827f52fa47498e778c79db1559524dd7fb360f95b2ce174171443c1859656c281be41d2b6c5a0b DIST linux-7.1.tar.xz 158304768 BLAKE2B 5199b2057fd1b89f0275bdaff9d81035cf5e1e8e64318a4a67467399245628a0f8c5e82f9d80dfc54b094349a8cfcdc892b7a4ad4bdf5dd1daa268ff30c1cf38 SHA512 d4d9c45261813559341c67ea53d4a47f5a04d1ad15e3c2b8222a09b5483380d2bfd31b8c675e144db2eb91f560d6cb28f66187a5ea4f24f6dfb82a4ad48064cc +DIST linux-7.2.tar.xz 160068116 BLAKE2B cf5f3d87b96f223034c47c6e5fc972fe52c2556310eb2f064632537b8727231135a8540179fd5d51343738c8a51f51f09c7e8da374324b68551c84a4124bb71b SHA512 47e63679363261a864d271277340a6f2d45f544e1a056be4159df081f4f6537d0efa865c4af26611ab33a3079ee65db88ec2f6bc0e5fff43e0c043cde0cd91e1 DIST patch-6.19.12.xz 948944 BLAKE2B 155a7b412f7e0699c6b23cc3a53b9ab0fe38980d9ece77977f50c51f748cb79e4076fde7eac574ee68a85dbe661a4e6bc10ed5a6cb5b1fc5fc3b1ec150f25757 SHA512 375caad1de11ef1466f7e2fa85775e990f215bae0e269d4a97661c936f633df40c51af849880ef05c4cd323cf1d27804b72222cb12df98af021623742e000330 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.19.12.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.19.12.ebuild index eddb7358c26..b45a327e614 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.19.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.19.12.ebuild @@ -73,7 +73,7 @@ RDEPEND=" ') ) caps? ( sys-libs/libcap ) - capstone? ( dev-libs/capstone ) + capstone? ( >> 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 + 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" + + # 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_LIBELF= + NO_LIBLLVM=$(puse bpf) + NO_LIBNUMA=$(puse numa) + NO_LIBPFM4=$(puse libpfm) + NO_LIBPYTHON=$(puse python) + NO_LIBTRACEEVENT=$(puse libtraceevent) + NO_LIBUNWIND=1 + 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 32d9212be1b..3ac0e8db27f 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,4 +1 @@ -DIST pkgcheck-0.10.39.tar.gz 402359 BLAKE2B d0bbf0e97e45a9beca56b59b810fe2fc3cc9778ea894a72e4a402f4bbaff68e0811525e1c1d8ed795c30bba2d0a53d879fecd777736e7fbe5c333801f0bf40f9 SHA512 11f0ec9ecdfd80a98312975175e4605b4986ea3aa7131496c4d7195f3373c2329fc03f463d9722f39e508bdd30674abcb5edc3fa8c6542414eb0e9322fbf14c0 -DIST pkgcheck-0.10.40.tar.gz 409641 BLAKE2B 77e95e7b2a6023341896f2fb26b39b0da71504fd3f5de6c077fa1d7420d5ff3c2dcfa66b18a1dfdee5acdbeadaaf506644c7db5897d2aacc481f6b9655d1eee4 SHA512 ed337613f1d09223c79160e3c3bf2c579b1773bda6de3d2f566aa099824cf404d60c12000061825c09bfccaf0a2a95214dc4b219129a3c4744fa9a3fa0933049 -DIST pkgcheck-0.10.41.tar.gz 418422 BLAKE2B 08c36d3e537ba30804567a33220e0212d4ce5ee5835097d1cd322ec188066853462f5154375d8bcd29e393d1263d69298aca81acb8ceea1fd0286ae5a6182edf SHA512 0e3b5496e63230cd8237b92ad446eeaeb455492360659a69173482271b1cd9f6d151fbf66b5045d1b19e8592afe4a7f7765ccc40ff143687ec30689ed39a9d3d DIST pkgcheck-0.10.42.tar.gz 422183 BLAKE2B 88afbf4b4a9ea9accb447e17eb4b16ae5960fadef8d14f4c30478e06df43aaa226066e5bf9ea90122f21b0a21caf4908e44069d41254726de8c90b302dacc60b SHA512 a2a30fd2757216a865dce76dd05190706e15ccd2682337e757461184abf3ac5e4ee450d6007820248c55052c1591c534cda94ea06cc29171c876a56ac25de5f8 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.39-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.39-r1.ebuild deleted file mode 100644 index 6805d62ec13..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.39-r1.ebuild +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=standalone -PYTHON_COMPAT=( python3_{12..14} ) -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.11.0[${PYTHON_USEDEP}] - >=sys-apps/pkgcore-0.12.31[${PYTHON_USEDEP}] - =:' pyproject.toml || die -} - -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.40-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.40-r1.ebuild deleted file mode 100644 index 3b25caab881..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.40-r1.ebuild +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=standalone -PYTHON_COMPAT=( python3_{12..15} ) -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.11.1[${PYTHON_USEDEP}] - >=sys-apps/pkgcore-0.12.34[${PYTHON_USEDEP}]" -fi -RDEPEND+=" - app-arch/zstd - >=dev-libs/tree-sitter-bash-0.25.1[python,${PYTHON_USEDEP}] - dev-python/charset-normalizer[${PYTHON_USEDEP}] - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/pathspec[${PYTHON_USEDEP}] - >=dev-python/tree-sitter-0.25.2[${PYTHON_USEDEP}] - emacs? ( - >=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/pytest[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-vcs/git - ) -" - -SITEFILE="50${PN}-gentoo.el" - -PATCHES=( - "${FILESDIR}"/${P}-py315.patch -) - -EPYTEST_PLUGINS=( pkgcore ) -distutils_enable_tests pytest - -src_prepare() { - distutils-r1_src_prepare - - # unpin dependencies - sed -i -e 's:~=:>=:' pyproject.toml || die -} - -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.41.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.41.ebuild deleted file mode 100644 index fa6ab843f53..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.41.ebuild +++ /dev/null @@ -1,99 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=standalone -PYTHON_COMPAT=( python3_{12..15} ) -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.11.2[${PYTHON_USEDEP}] - >=sys-apps/pkgcore-0.12.36[${PYTHON_USEDEP}]" -fi -RDEPEND+=" - app-arch/zstd - >=dev-libs/tree-sitter-bash-0.25.1[python,${PYTHON_USEDEP}] - dev-python/charset-normalizer[${PYTHON_USEDEP}] - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/pathspec[${PYTHON_USEDEP}] - >=dev-python/tree-sitter-0.25.2[${PYTHON_USEDEP}] - emacs? ( - >=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/pytest[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-vcs/git - ) -" - -SITEFILE="50${PN}-gentoo.el" - -EPYTEST_PLUGINS=( pkgcore ) -distutils_enable_tests pytest - -src_prepare() { - distutils-r1_src_prepare - - # unpin dependencies - sed -i -e 's:~=:>=:' pyproject.toml || die -} - -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.42.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.42.ebuild index 3f97c08d463..105a948f14f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.42.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.42.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then https://github.com/pkgcore/pkgcheck.git" inherit git-r3 else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" inherit pypi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/Manifest index 38c225da086..497b626e0de 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/Manifest @@ -2,3 +2,4 @@ DIST pkgconf-2.5.1.tar.xz 328064 BLAKE2B 0995c1d649876d27e9275a77b702c0c100979c7 DIST pkgconf-3.0.3.tar.xz 415512 BLAKE2B 1de3b5f81b1bf291c3861c39244e2020de5333046f594161e687aa56388615b5b6d97db07cee9f19d66d6c6dae09a50e8b1045f8718ab8c7bea5e630a1252e2e SHA512 72dfd924e4e1763ac362ed7ed2f88378d05f21118f67883a521524fbf8500d6e21152805802cd104dbd123d427dc2b0293a3e0c05b7553d42c0f1eb418a0331f DIST pkgconf-3.0.4.tar.xz 418324 BLAKE2B 19dc43450844eb967b0b7a05242603070cc0c2bbc24d7cf29980f20c3e4b9fe6e652d48c0d4afd040dc3fb87b1816bd97d08211fd8a68a217493f74349d282bb SHA512 0ed682acf6bf08d40f1653217ce637f6e30a40f09598ef0b9aebe3f27d46d953897e7ff876feaa6b2d6c583a770ef9625ba7690bb7484dcf40afadceb02c3886 DIST pkgconf-3.0.5.tar.xz 426972 BLAKE2B c271d6afcc37faebc141156c20fff3305cd1b23e5f0c92f6d7e295d6f1547697e5c17e7bf0a55fc94ad21edab0a1d9f004537397d6d98101282863b62826d4d6 SHA512 5f4559697ec1849771eefaeb77a3fea7caa638b83d381e6e2f913e3f053fa1ae796f18e4360d3a37bc1a17999f043ea244e91cadd5f3c170d50c48088e4c1a55 +DIST pkgconf-3.0.6.tar.xz 428124 BLAKE2B 14c9924a945e8e8a8e2aadee9f7bde307ba90bcb96db60437d641f81e0752214f49ba6d6423f671a2ada2a383e558e8d96ff6820cf641e14cd2f4439892e97b9 SHA512 7fb067de935ed633bf0479a69b8bb689583487e1fb13501d05b787a3b3004d0b4b3c5194252e8924b18b8e35fb38e1388f86541c17db81fd5c1d94584e2e1140 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-3.0.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-3.0.6.ebuild new file mode 100644 index 00000000000..d77151edc86 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-3.0.6.ebuild @@ -0,0 +1,68 @@ +# Copyright 2012-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib multilib-minimal + +if [[ ${PV} == 9999 ]] ; then + inherit autotools git-r3 + EGIT_REPO_URI="https://github.com/pkgconf/pkgconf" +else + SRC_URI="https://distfiles.ariadne.space/${PN}/${P}.tar.xz" + + if [[ $(ver_cut 3) -lt 90 ]] ; 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="pkg-config compatible replacement with no dependencies other than C99" +HOMEPAGE="https://github.com/pkgconf/pkgconf" + +LICENSE="ISC" +SLOT="0/8" +IUSE="+native-symlinks" + +RDEPEND="!dev-util/pkgconfig" + +src_prepare() { + default + + [[ ${PV} == 9999 ]] && eautoreconf + + MULTILIB_CHOST_TOOLS=( + /usr/bin/pkgconf$(get_exeext) + /usr/bin/pkg-config$(get_exeext) + ) +} + +multilib_src_configure() { + local myeconfargs=( + --with-system-includedir="${EPREFIX}/usr/include" + --with-system-libdir="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)" + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_test() { + unset PKG_CONFIG_LIBDIR PKG_CONFIG_PATH + default +} + +multilib_src_install() { + default + + dosym pkgconf$(get_exeext) /usr/bin/pkg-config$(get_exeext) + dosym pkgconf.1 /usr/share/man/man1/pkg-config.1 +} + +multilib_src_install_all() { + einstalldocs + + if ! use native-symlinks; then + rm "${ED}"/usr/bin/{pkgconf,pkg-config}$(get_exeext) || die + fi + + find "${ED}" -type f -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/eclass/acct-group.eclass b/sdk_container/src/third_party/portage-stable/eclass/acct-group.eclass index 2db96aca097..487d80e4309 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 @@ -1,4 +1,4 @@ -# Copyright 2019-2025 Gentoo Authors +# Copyright 2019-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: acct-group.eclass @@ -43,6 +43,10 @@ esac inherit user-info +case ${EAPI} in + 7|8) inherit edo ;; +esac + [[ ${CATEGORY} == acct-group ]] || die "Ebuild error: this eclass can be used only in acct-group category!" @@ -181,7 +185,7 @@ acct-group_pkg_preinst() { fi elog "Adding group ${ACCT_GROUP_NAME}" - groupadd "${opts[@]}" "${ACCT_GROUP_NAME}" || die "groupadd failed with status $?" + nonfatal edo groupadd "${opts[@]}" "${ACCT_GROUP_NAME}" || die "groupadd failed with status $?" } fi 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 d4ef8993fe9..76046988849 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 @@ -51,6 +51,10 @@ esac inherit user-info +case ${EAPI} in + 7|8) inherit edo ;; +esac + [[ ${CATEGORY} == acct-user ]] || die "Ebuild error: this eclass can be used only in acct-user category!" @@ -186,48 +190,6 @@ acct-user_add_deps() { } -# << Helper functions >> - -# @FUNCTION: eislocked -# @USAGE: -# @INTERNAL -# @DESCRIPTION: -# Check whether the specified user account is currently locked. -# Returns 0 if it is locked, 1 if it is not, 2 if the platform -# does not support determining it. -eislocked() { - [[ $# -eq 1 ]] || die "usage: ${FUNCNAME} " - - if [[ ${EUID} -ne 0 || -n ${EPREFIX} ]]; then - einfo "Insufficient privileges to execute ${FUNCNAME[0]}" - return 0 - fi - - case ${CHOST} in - *-freebsd*|*-dragonfly*|*-netbsd*) - [[ $(egetent "$1" | cut -d: -f2) == '*LOCKED*'* ]] - ;; - - *-openbsd*) - return 2 - ;; - - *) - # NB: 'no password' and 'locked' are indistinguishable - # but we also expire the account which is more clear - local shadow - if [[ -n "${ROOT}" ]]; then - shadow=$(grep "^$1:" "${ROOT}/etc/shadow") - else - shadow=$(getent shadow "$1") - fi - - [[ $( echo ${shadow} | cut -d: -f2) == '!'* ]] && - [[ $(echo ${shadow} | cut -d: -f8) == 1 ]] - ;; - esac -} - # << Phase functions >> # @FUNCTION: acct-user_pkg_pretend @@ -382,7 +344,7 @@ acct-user_pkg_preinst() { fi elog "Adding user ${ACCT_USER_NAME}" - useradd "${opts[@]}" "${ACCT_USER_NAME}" || die "useradd failed with status $?" + nonfatal edo useradd "${opts[@]}" "${ACCT_USER_NAME}" || die "useradd failed with status $?" _ACCT_USER_ADDED=1 fi @@ -457,10 +419,13 @@ acct-user_pkg_postinst() { --shell "${_ACCT_USER_SHELL}" --gid "${groups[0]}" --groups "${aux_groups// /,}" + --expiredate "" ) - if eislocked "${ACCT_USER_NAME}"; then - opts+=( --expiredate "" --unlock ) + local pwhash=$(egetent shadow "${ACCT_USER_NAME}" | cut -d: -f2) + if [[ ${pwhash} != '!' && ${pwhash} = '!'* ]]; then + # Unlock the account if a password hash exists. + opts+=( --unlock ) fi if [[ -n ${ROOT} ]]; then @@ -484,30 +449,24 @@ acct-user_pkg_postinst() { fi elog "Updating user ${ACCT_USER_NAME}" - # usermod outputs a warning if unlocking the account would result in an - # empty password. Hide stderr in a text file and display it if usermod fails. - usermod "${opts[@]}" "${ACCT_USER_NAME}" 2>"${T}/usermod-error.log" + nonfatal edo usermod "${opts[@]}" "${ACCT_USER_NAME}" local status=$? - if [[ ${status} -ne 0 ]]; then - cat "${T}/usermod-error.log" >&2 - if [[ ${status} -eq 8 ]]; then - # usermod refused to update the home directory - # for a uid with active processes. - eerror "Failed to update user ${ACCT_USER_NAME}" - eerror "This user currently has one or more running processes." - eerror "Please update this user manually with the following command:" - - # Surround opts with quotes. - # With bash-5 (EAPI 8), we can use "${opts[@]@Q}" instead. - local q="'" - local optsq=( "${opts[@]/#/${q}}" ) - optsq=( "${optsq[@]/%/${q}}" ) - - eerror " usermod ${optsq[*]} ${ACCT_USER_NAME}" - else - eerror "$(<"${T}/usermod-error.log")" - die "usermod failed with status ${status}" - fi + if [[ ${status} -eq 8 ]]; then + # usermod refused to update the home directory + # for a uid with active processes. + eerror "Failed to update user ${ACCT_USER_NAME}" + eerror "This user currently has one or more running processes." + eerror "Please update this user manually with the following command:" + + # Surround opts with quotes. + # With bash-5 (EAPI 8), we can use "${opts[@]@Q}" instead. + local q="'" + local optsq=( "${opts[@]/#/${q}}" ) + optsq=( "${optsq[@]/%/${q}}" ) + + eerror " usermod ${optsq[*]} ${ACCT_USER_NAME}" + elif [[ ${status} -ne 0 ]]; then + die "usermod failed with status ${status}" fi } @@ -554,7 +513,7 @@ acct-user_pkg_prerm() { fi elog "Locking user ${ACCT_USER_NAME}" - usermod "${opts[@]}" "${ACCT_USER_NAME}" || die "usermod failed with status $?" + nonfatal edo usermod "${opts[@]}" "${ACCT_USER_NAME}" || die "usermod failed with status $?" } fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/git-r3.eclass b/sdk_container/src/third_party/portage-stable/eclass/git-r3.eclass index 99f846b237b..4af0f90ef70 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/git-r3.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/git-r3.eclass @@ -343,6 +343,46 @@ _git-r3_get_object_format() { esac } +# @FUNCTION: _git-r3_create_gitdir +# @USAGE: +# @RETURN: 0 if successful or GIT_DIR exists already, 1 if ls-remote failed +# @INTERNAL +# @DESCRIPTION: +# Create GIT_DIR if necessary. +_git-r3_create_gitdir() { + local repo_uri=${1} + + [[ -d ${GIT_DIR} ]] && return 0 + + if [[ ! -d ${EGIT3_STORE_DIR} ]]; then + ( + addwrite / + mkdir -p "${EGIT3_STORE_DIR}" + ) || die "Unable to create ${EGIT3_STORE_DIR}" + fi + + # determine the remote object format + local head_ref + head_ref=( + $(git ls-remote "${repo_uri}" "HEAD") + ) + [[ ${?} -ne 0 ]] && return 1 + local object_format=$(_git-r3_get_object_format "${head_ref[0]}") + + local saved_umask + if [[ ${EVCS_UMASK} ]]; then + saved_umask=$(umask) + umask "${EVCS_UMASK}" || die "Bad options to umask: ${EVCS_UMASK}" + fi + mkdir "${GIT_DIR}" || die + + git init --object-format="${object_format}" --bare -b __init__ || die + if [[ ${saved_umask} ]]; then + umask "${saved_umask}" || die + fi + return 0 +} + # @FUNCTION: _git-r3_set_gitdir # @USAGE: # @INTERNAL @@ -386,44 +426,9 @@ _git-r3_set_gitdir() { local distdir=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}} : "${EGIT3_STORE_DIR:=${distdir}/git3-src}" - GIT_DIR=${EGIT3_STORE_DIR}/${repo_name} - - EVCS_STORE_DIRS+=( "${GIT_DIR}" ) - - if [[ ! -d ${EGIT3_STORE_DIR} && ! ${EVCS_OFFLINE} ]]; then - ( - addwrite / - mkdir -p "${EGIT3_STORE_DIR}" - ) || die "Unable to create ${EGIT3_STORE_DIR}" - fi - addwrite "${EGIT3_STORE_DIR}" - if [[ ! -d ${GIT_DIR} ]]; then - if [[ ${EVCS_OFFLINE} ]]; then - eerror "A clone of the following repository is required to proceed:" - eerror " ${1}" - eerror "However, networking activity has been disabled using EVCS_OFFLINE and there" - eerror "is no local clone available." - die "No local clone of ${1}. Unable to proceed with EVCS_OFFLINE." - fi - local saved_umask - if [[ ${EVCS_UMASK} ]]; then - saved_umask=$(umask) - umask "${EVCS_UMASK}" || die "Bad options to umask: ${EVCS_UMASK}" - fi - mkdir "${GIT_DIR}" || die - - # determine the remote object format - local head_ref=( - $(git ls-remote "${repo_uri}" "HEAD" || die) - ) - local object_format=$(_git-r3_get_object_format "${head_ref[0]}") - git init --object-format="${object_format}" --bare -b __init__ || die - if [[ ${saved_umask} ]]; then - umask "${saved_umask}" || die - fi - fi + GIT_DIR=${EGIT3_STORE_DIR}/${repo_name} } # @FUNCTION: _git-r3_set_submodules @@ -619,6 +624,14 @@ git-r3_fetch() { local -x GIT_DIR _git-r3_set_gitdir "${repos[0]}" + if [[ ! -d ${GIT_DIR} && ${EVCS_OFFLINE} ]]; then + eerror "A clone of the following repository is required to proceed:" + eerror " ${repos[0]}" + eerror "However, network activity has been disabled using EVCS_OFFLINE and there" + eerror "is no local clone available." + die "No local clone of ${repos[0]}. Unable to proceed with EVCS_OFFLINE." + fi + EVCS_STORE_DIRS+=( "${GIT_DIR}" ) einfo "Repository id: ${GIT_DIR##*/}" @@ -692,6 +705,7 @@ git-r3_fetch() { for r in "${repos[@]}"; do if [[ ! ${EVCS_OFFLINE} ]]; then einfo "Fetching ${r} ..." + _git-r3_create_gitdir "${r}" || continue local fetch_command=( git fetch "${r}" ) local clone_type=${EGIT_CLONE_TYPE} diff --git a/sdk_container/src/third_party/portage-stable/eclass/perl-module.eclass b/sdk_container/src/third_party/portage-stable/eclass/perl-module.eclass index 29b4959bfa9..f5a2d71e1e8 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/perl-module.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/perl-module.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: perl-module.eclass @@ -255,7 +255,31 @@ perl-module_src_configure() { local myconf_local=("${myconf[@]}") fi - if [[ ( ${PREFER_BUILDPL} == yes || ! -f Makefile.PL ) && -f Build.PL ]] ; then + if [[ -f Build.PL ]] && grep -q '\(use\|require\)\s* Dist::Build' Build.PL ; then + einfo "Using Dist::Build" + if [[ ${BDEPEND} != *dev-perl/Dist-Build* && ${PN} != Dist-Build ]]; then + eerror "QA Notice: The ebuild uses Dist::Build but doesn't depend on it." + eerror " Add dev-perl/Dist-Build to BDEPEND!" + fi + + # https://metacpan.org/pod/CPAN::API::BuildPL#Command-Line-Options + set -- \ + --installdirs=vendor \ + --create_packlist=1 \ + --verbose \ + --prefix "${EPREFIX}"/usr \ + --config ar="$(tc-getAR)" \ + --config cc="$(tc-getCC)" \ + --config cpp="$(tc-getCPP)" \ + --config ld="$(tc-getCC)" \ + --config nm="$(tc-getNM)" \ + --config ranlib="$(tc-getRANLIB)" \ + --config optimize="${CFLAGS}" \ + --config ldflags="${LDFLAGS}" \ + "${myconf_local[@]}" + einfo "perl Build.PL" "$@" + perl Build.PL "$@" <<< "${pm_echovar}" || die "Unable to build!" + elif [[ ( ${PREFER_BUILDPL} == yes || ! -f Makefile.PL ) && -f Build.PL ]] ; then if grep -q '\(use\|require\)\s*Module::Build::Tiny' Build.PL ; then einfo "Using Module::Build::Tiny" if [[ ${BDEPEND} != *dev-perl/Module-Build-Tiny* && ${PN} != Module-Build-Tiny ]]; then diff --git a/sdk_container/src/third_party/portage-stable/eclass/prefix.eclass b/sdk_container/src/third_party/portage-stable/eclass/prefix.eclass index 078f483c6c2..7a1e5714112 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/prefix.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/prefix.eclass @@ -1,11 +1,11 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: prefix.eclass # @MAINTAINER: # Feel free to contact the Prefix team through if # you have problems, suggestions or questions. -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: Eclass to provide Prefix functionality # @DESCRIPTION: # Gentoo Prefix allows users to install into a self defined offset @@ -16,7 +16,7 @@ if [[ -z ${_PREFIX_ECLASS} ]]; then _PREFIX_ECLASS=1 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/toolchain.eclass b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass index 5c9a4a2648d..c849a071ded 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass @@ -1386,7 +1386,7 @@ toolchain_src_configure() { # Turn on the -Wl,--build-id flag by default for ELF targets. bug #953869 # This helps with locating debug files. case ${CTARGET} in - *-linux-*|*-elf|*-eabi) + *-linux-*) tc_version_is_at_least 4.5 && confgcc+=( --enable-linker-build-id ) @@ -2103,7 +2103,7 @@ gcc_do_filter_flags() { eerror "Different values of l1-cache-size detected!" eerror "GCC will fail to bootstrap when comparing files with these flags." eerror "This CPU is likely big.little/hybrid hardware with power/efficiency cores." - eerror "Please install app-misc/resolve-march-native and run 'resolve-march-native'" + eerror "Please install app-misc/resolve-march-native and run 'resolve-march-native --drop-cache-sizes'" eerror "to find a safe value of CFLAGS for this CPU. Note that this may vary" eerror "depending on the core it ran on. taskset can be used to fix the cores used." die "Varying l1-cache-size found, aborting (bug #915389, gcc PR#111768)" diff --git a/sdk_container/src/third_party/portage-stable/eclass/user-info.eclass b/sdk_container/src/third_party/portage-stable/eclass/user-info.eclass index 3e2bdecfe04..ceef6638cec 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/user-info.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/user-info.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: user-info.eclass @@ -22,7 +22,7 @@ esac # Small wrapper for getent (Linux), nidump (< Mac OS X 10.5), # dscl (Mac OS X 10.5), and pw (FreeBSD) used in enewuser()/enewgroup(). # -# Supported databases: group passwd +# Supported databases: group passwd shadow # Warning: This function can be used only in pkg_* phases when ROOT is valid. egetent() { local db=$1 key=$2 @@ -30,7 +30,7 @@ egetent() { [[ $# -ge 3 ]] && die "usage: egetent " case ${db} in - passwd|group) ;; + group|passwd|shadow) ;; *) die "sorry, database '${db}' not yet supported; file a bug" ;; esac @@ -63,7 +63,7 @@ egetent() { type -p nscd >/dev/null && nscd -i "${db}" 2>/dev/null getent "${db}" "${key}" else - if [[ ${key} =~ ^[[:digit:]]+$ ]]; then + if [[ ${db} != shadow && ${key} =~ ^[[:digit:]]+$ ]]; then grep -E "^([^:]*:){2}${key}:" "${ROOT}/etc/${db}" else grep "^${key}:" "${ROOT}/etc/${db}" diff --git a/sdk_container/src/third_party/portage-stable/eclass/xorg-meson.eclass b/sdk_container/src/third_party/portage-stable/eclass/xorg-meson.eclass new file mode 100644 index 00000000000..4e72c289764 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/xorg-meson.eclass @@ -0,0 +1,209 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: xorg-meson.eclass +# @MAINTAINER: +# x11@gentoo.org +# @AUTHOR: +# Author: Matt Turner +# @SUPPORTED_EAPIS: 8 9 +# @PROVIDES: meson meson-multilib +# @BLURB: Reduces code duplication in the X11 ebuilds. +# @DESCRIPTION: +# This eclass makes trivial X ebuilds possible for apps, drivers, +# and more. Many things that would normally be done in various functions +# can be accessed by setting variables instead, such as patching, +# passing options to meson and installing docs. +# +# All you need to do in a basic ebuild is inherit this eclass and set +# DESCRIPTION, KEYWORDS and RDEPEND/DEPEND. If your package is hosted +# with the other X packages, you don't need to set SRC_URI. Pretty much +# everything else should be automatic. + +case ${EAPI} in + 8|9) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac + +if [[ -z ${_XORG_MESON_ECLASS} ]]; then +_XORG_MESON_ECLASS=1 + +inherit flag-o-matic + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 +fi + +# @ECLASS_VARIABLE: XORG_MULTILIB +# @PRE_INHERIT +# @DESCRIPTION: +# If set to 'yes', multilib support for package will be enabled. Set +# before inheriting this eclass. +: "${XORG_MULTILIB:="no"}" + +[[ ${XORG_MULTILIB} == yes ]] && inherit meson-multilib || inherit meson + +# @ECLASS_VARIABLE: XORG_BASE_INDIVIDUAL_URI +# @PRE_INHERIT +# @DESCRIPTION: +# Set up SRC_URI for individual releases. If set to an empty +# string, no SRC_URI will be provided by the eclass. +: "${XORG_BASE_INDIVIDUAL_URI="https://xorg.freedesktop.org/archive/individual"}" + +# @ECLASS_VARIABLE: XORG_MODULE +# @PRE_INHERIT +# @DESCRIPTION: +# The subdirectory to download source from. Possible settings are app, +# doc, data, util, driver, font, lib, proto, xserver. Set above the +# inherit to override the default autoconfigured module. +: "${XORG_MODULE:="auto"}" +if [[ ${XORG_MODULE} == auto ]]; then + case "${CATEGORY}/${P}" in + app-doc/*) XORG_MODULE=doc/ ;; + media-fonts/*) XORG_MODULE=font/ ;; + x11-apps/*|x11-wm/*) XORG_MODULE=app/ ;; + x11-misc/*|x11-themes/*) XORG_MODULE=util/ ;; + x11-base/*) XORG_MODULE=xserver/ ;; + x11-drivers/*) XORG_MODULE=driver/ ;; + x11-libs/*) XORG_MODULE=lib/ ;; + *) XORG_MODULE= ;; + esac +fi + +# @ECLASS_VARIABLE: XORG_PACKAGE_NAME +# @PRE_INHERIT +# @DESCRIPTION: +# For git checkout the git repository might differ from package name. +# This variable can be used for proper directory specification +: "${XORG_PACKAGE_NAME:=${PN,,}}" + +HOMEPAGE="https://www.x.org/ https://gitlab.freedesktop.org/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME}" + +# @ECLASS_VARIABLE: XORG_TARBALL_SUFFIX +# @PRE_INHERIT +# @DESCRIPTION: +# Most X11 projects provide tarballs as tar.xz. This eclass defaults to xz. +: "${XORG_TARBALL_SUFFIX:="xz"}" + +if [[ ${PV} == *9999* ]]; then + : "${EGIT_REPO_URI:="https://gitlab.freedesktop.org/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME}.git"}" +elif [[ -n ${XORG_BASE_INDIVIDUAL_URI} ]]; then + SRC_URI="${XORG_BASE_INDIVIDUAL_URI}/${XORG_MODULE}${P}.tar.${XORG_TARBALL_SUFFIX}" +fi + +: "${SLOT:=0}" + +# Set the license for the package. This can be overridden by setting +# LICENSE after the inherit. Nearly all freedesktop-hosted X packages +# are under the MIT license. +: "${LICENSE:=MIT}" + +if [[ ${PN} == xf86-video-* || ${PN} == xf86-input-* ]]; then + DEPEND+=" x11-base/xorg-proto" + DEPEND+=" >=x11-base/xorg-server-1.20:=[xorg]" + RDEPEND+=" >=x11-base/xorg-server-1.20:=[xorg]" + if [[ ${PN} == xf86-video-* ]]; then + DEPEND+=" >=x11-libs/libpciaccess-0.14" + RDEPEND+=" >=x11-libs/libpciaccess-0.14" + fi +fi +BDEPEND+=" virtual/pkgconfig" + +# @ECLASS_VARIABLE: XORG_DOC +# @PRE_INHERIT +# @DESCRIPTION: +# Controls the installation of man3 developer documentation. Possible values +# are the name of the useflag or "no". Default value is "no". +: "${XORG_DOC:="no"}" + +case ${XORG_DOC} in + no) + ;; + *) + IUSE+=" ${XORG_DOC}" + ;; +esac + +debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND=${DEPEND}" +debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: RDEPEND=${RDEPEND}" +debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: PDEPEND=${PDEPEND}" +debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: BDEPEND=${BDEPEND}" + +# @FUNCTION: xorg-meson_src_unpack +# @DESCRIPTION: +# Simply unpack source code. +xorg-meson_src_unpack() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${PV} == *9999* ]]; then + git-r3_src_unpack + else + unpack ${A} + fi +} + +# @FUNCTION: xorg-meson_flags_setup +# @INTERNAL +# @DESCRIPTION: +# Set up CFLAGS for a debug build +xorg-meson_flags_setup() { + debug-print-function ${FUNCNAME} "$@" + + # Hardened flags break module autoloading et al (also fixes #778494) + if [[ ${PN} == xorg-server || ${PN} == xf86-video-* || ${PN} == xf86-input-* ]]; then + filter-flags -fno-plt + append-ldflags -Wl,-z,lazy + fi +} + +# @VARIABLE: XORG_CONFIGURE_OPTIONS +# @DEFAULT_UNSET +# @DESCRIPTION: +# Array of an additional options to pass to meson setup. + +# @FUNCTION: xorg-meson_src_configure +# @DESCRIPTION: +# Perform any necessary pre-configuration steps, then run configure +xorg-meson_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + xorg-meson_flags_setup + + local emesonargs=( + -Ddefault_library=shared + "${XORG_CONFIGURE_OPTIONS[@]}" + ) + + if [[ ${XORG_MULTILIB} == yes ]]; then + meson-multilib_src_configure "$@" + else + meson_src_configure "$@" + fi +} + +# @FUNCTION: xorg-meson_src_install +# @DESCRIPTION: +# Install a built package to ${ED}, performing any necessary steps. +xorg-meson_src_install() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${XORG_MULTILIB} == yes ]]; then + meson-multilib_src_install "$@" + else + meson_src_install "$@" + fi + + # Many X11 libraries unconditionally install developer documentation + if ! in_iuse doc && [[ -d "${ED}"/usr/share/man/man3 ]]; then + eqawarn "ebuild should set XORG_DOC=doc since package installs man3 documentation" + fi + + if in_iuse doc && ! use doc; then + rm -rf "${ED}"/usr/share/man/man3 || die + find "${ED}"/usr -type d -empty -delete || die + fi +} + +fi + +EXPORT_FUNCTIONS src_unpack src_configure src_install diff --git a/sdk_container/src/third_party/portage-stable/licenses/Boost-1.0 b/sdk_container/src/third_party/portage-stable/licenses/Boost-1.0 new file mode 100644 index 00000000000..36b7cd93cdf --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/Boost-1.0 @@ -0,0 +1,23 @@ +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +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, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/sdk_container/src/third_party/portage-stable/licenses/Unicode-DFS-2016 b/sdk_container/src/third_party/portage-stable/licenses/Unicode-DFS-2016 new file mode 100644 index 00000000000..d41e7a7d6fa --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/Unicode-DFS-2016 @@ -0,0 +1,60 @@ +UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE + +Unicode Data Files include all data files under the directories +http://www.unicode.org/Public/, http://www.unicode.org/reports/, +http://www.unicode.org/cldr/data/, +http://source.icu-project.org/repos/icu/, and +http://www.unicode.org/utility/trac/browser/. + +Unicode Data Files do not include PDF online code charts under the +directory http://www.unicode.org/Public/. + +Software includes any source code published in the Unicode Standard +or under the directories +http://www.unicode.org/Public/, http://www.unicode.org/reports/, +http://www.unicode.org/cldr/data/, +http://source.icu-project.org/repos/icu/, and +http://www.unicode.org/utility/trac/browser/. + +NOTICE TO USER: Carefully read the following legal agreement. +BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S +DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), +YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE +TERMS AND CONDITIONS OF THIS AGREEMENT. +IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE +THE DATA FILES OR SOFTWARE. + +COPYRIGHT AND PERMISSION NOTICE + +Copyright © 1991-2016 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in +http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. diff --git a/sdk_container/src/third_party/portage-stable/licenses/Unlicense b/sdk_container/src/third_party/portage-stable/licenses/Unlicense new file mode 100644 index 00000000000..68a49daad8f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/Unlicense @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +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 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. + +For more information, please refer to diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/Manifest b/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/Manifest index 0335465e67d..d160a605f30 100644 --- a/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/Manifest @@ -4,3 +4,5 @@ DIST netcat-openbsd_1.219-1.debian.tar.xz 52048 BLAKE2B 62c2e4a6446fbdb01ea34a70 DIST netcat-openbsd_1.219.orig.tar.gz 22940 BLAKE2B 4e871124a22fec2ba572f2a614b7eb5134565acd5d952973f7e7f76ead6b22d0811efcc916726da1e7719c5d3014f94ea53ad09804a77b55c4b15fc571bf0e95 SHA512 9f6d531d33410457b8f1e6a3eb0d105dbd819d5e4fe9753d32d7fd4583680ceba102a60307a8b5ef26b47047492b207388742b725da3708d30d360d4a196f115 DIST netcat-openbsd_1.234-1.debian.tar.xz 52892 BLAKE2B 82be4c8f944cb8a63805d0ad97cc675ebe46c8510acf14bd68f98c289107615a3ee6f9f1119b3f21fd6c8673c60d95d0c520d9a0917f42aac1f20e367b631836 SHA512 481a9617749c02cee3ee0b871eb8f7f364f1514c1c89bf1d1d741bb4c4960ae3279306f233b4edb1c6805f9bb0cc0d056e59003bb35db8ee28aa779540ab4fb9 DIST netcat-openbsd_1.234.orig.tar.gz 23408 BLAKE2B 60d43fad746374b18862d53394e7e3d70da242b3ef242730f5dbf124d237e7b6d95139c09e916f0d5b4301bf6d5d10e4548e61a9044075965b3df1c6232dac9e SHA512 81b1cb461cb26d728b0a5d1d07c53624a05c84872a82f3d9cba43c9e8c25581b773cbe7a3467ad91add028f6765d9349c21dafbe0d746806763ae601547a9673 +DIST netcat-openbsd_1.238-1.debian.tar.xz 53068 BLAKE2B 8153e2a7d538bff377e0a29afe195f034cb52c21edd41dcb649e48c1648ea0a1864ad8447a0246c8d6c03e24590f5491c24728cb39b537ab43fb9dab25865bc8 SHA512 f5623d7138cd84a18759c81d4cfeda3f8986a92196951abd986c27f66ff421995eb48d11e0338d021c10fbbd21e74df57362d3a9b0d82da31df3277959662850 +DIST netcat-openbsd_1.238.orig.tar.gz 23446 BLAKE2B 3cdc8e79b313cee073f329226f450e9b7b6af3e1709e8a0a5b66697e29815b7e2a134420ce432f6780e61cd27298bca268a41afce68baac92cd4525a80279fdc SHA512 8413d303acea411f09af94078a80b655722c82294dfe4bd346793e4bf333f3b6b0fcde8f90f455cb759875d5ee9819877b73138d488a7a9fde820c0198d46d4b diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/openbsd-netcat-1.238_p1.ebuild b/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/openbsd-netcat-1.238_p1.ebuild new file mode 100644 index 00000000000..ef325c2ba65 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/openbsd-netcat/openbsd-netcat-1.238_p1.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +MY_PV=$(ver_cut 1-2) +DESCRIPTION="The OpenBSD network swiss army knife" +HOMEPAGE="https://cvsweb.openbsd.org/src/usr.bin/nc/ https://salsa.debian.org/debian/netcat-openbsd" +SRC_URI=" + mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_${MY_PV}.orig.tar.gz + mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_${MY_PV}-$(ver_cut 4).debian.tar.xz +" +S="${WORKDIR}"/netcat-openbsd-${MY_PV} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~arm64-macos ~x64-macos" + +RDEPEND=" + !net-analyzer/netcat + !elibc_Darwin? ( dev-libs/libbsd ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +src_prepare() { + local i + for i in $(<"${WORKDIR}"/debian/patches/series) ; do + PATCHES+=( "${WORKDIR}"/debian/patches/${i} ) + done + + if [[ ${CHOST} == *-darwin* ]] ; then + # This undoes some of the Debian/Linux changes + PATCHES+=( "${FILESDIR}"/${PN}-1.219-darwin.patch ) + + if [[ ${CHOST##*-darwin} -lt 20 ]] ; then + PATCHES+=( "${FILESDIR}"/${PN}-1.190-darwin13.patch ) + fi + fi + + if use elibc_musl ; then + PATCHES+=( "${FILESDIR}"/${PN}-1.105-musl-b64_ntop.patch ) + fi + + default +} + +src_compile() { + # gnu99 for bug #943711 + emake CC="$(tc-getCC) -std=gnu99" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)" +} + +src_install() { + dobin nc + doman nc.1 + + cd "${WORKDIR}"/debian || die + newdoc netcat-openbsd.README.Debian README + dodoc -r examples +} + +pkg_postinst() { + if use kernel_linux ; then + ewarn "SO_REUSEPORT is introduced in linux 3.9. If your running kernel is older" + ewarn "and kernel header is newer, nc will not listen correctly. Matching the header" + ewarn "to the running kernel will do. See bug #490246 for details." + fi +} 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 b0ef1904ea9..84de24a2637 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 @@ -14,3 +14,5 @@ DIST bind-9.20.24.tar.xz 5854912 BLAKE2B 06fde034ef2d3f4432caf5d9a701f70f32dec94 DIST bind-9.20.24.tar.xz.asc 833 BLAKE2B 8dbbfe712f35929ab3edb2906ce732fe2a2427f64a225df37ea90ec60c7bf23678987c32cb99310c47938b20e561aa8b6205c22c04481a5bb0c6007d65bdcd61 SHA512 3e9bebcc3bf22402e81bb361e955d82973c307b2a3aee25e238e66956fc6e6ffe5fa46d37c2b500ebfadec24e5d6eb3b504d2008741384fddad65442035a8c33 DIST bind-9.20.26.tar.xz 5918032 BLAKE2B 433d5ed7457367ce5b195a7d1a6f3fef21f929b158b14e3c86d8dc2004240119e4ec3b1d3cab1121be66ec77463fcb462e1207ec3339cf46ca4eec05f8c366ef SHA512 6d90452d86bfbd1cd6c1301f8c2d9c2251402c81a03d45ab30217f5db05ab1ca6ca7e01fac3642bcd7e1866bd535763e9a9526886312eb5eaf4e532431a92931 DIST bind-9.20.26.tar.xz.asc 833 BLAKE2B 1d5b52adb8e8458d2b3050fbbee650770ad23b2dfbd5d8ca94fef8dd1d8631a1d97f7cb153e8560628cbb9ad35b87bf1cefdf1e4363a9a0ea2f92290f06d6edf SHA512 cca9944521ce45e456e2e04ad271a9df97e8772cb2f2cb8230b875fc39d893be20e3b957207ad11e211b5426b8ee4313131b073f06af8e0271db457b7caffb84 +DIST bind-9.20.27.tar.xz 5932248 BLAKE2B 7f2f0f030748e722d12800bae567f9cfb1ddeba712a8f3a2a1018572ef9be2a69c072cca2139cb723b928ebe62c502a2715ae0d4afab3d0ba526b0a5eb5e215e SHA512 e8b4c3cdbd7d03eb97303d3fa8496769fd5ec2ca323db621939af8096b06e352d9777e1c77403131c72e633d5008a4be49774581162ef421827df596e243a600 +DIST bind-9.20.27.tar.xz.asc 870 BLAKE2B e24deaa0cbc186b31b86e983e5c9f2c53550d8978d84e291d67027cf558d4b39b2fe6e217e3bc61685645bc249a1576087915980420a3336c67f6992ba05227a SHA512 255a523bb73c94e04c4cfd6b00a60bc57a1351767fef2421258e358ca5c13a359e53d1b6921792447b655aac7911fc22cd2ded8e5b114221c08fa7bc17d3a154 diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.23.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.23.ebuild index db6497e623f..f4d8e3028bc 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.23.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.23.ebuild @@ -4,13 +4,7 @@ EAPI=8 VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/isc.asc -## HERE WE ADD INHERITING OF AUTOTOOLS ECLASS. -## -## THIS IS A RARE FLATCAR MODIFICATION IN PORTAGE-STABLE EBUILD. -## REINSTATE IT AFTER WEEKLY UPDATES AUTOMATION CLOBBERS IT AGAIN. WE -## NEED TO KEEP IT UNTIL WE UPDATE TO BIND 9.21 (USES MESON) OR GENTOO -## UPDATES THE EBUILD TO DO THE SAME THING. -inherit autotools eapi9-ver systemd tmpfiles toolchain-funcs verify-sig +inherit eapi9-ver systemd tmpfiles toolchain-funcs verify-sig MY_PV="${PV/_p/-P}" MY_PV="${MY_PV/_rc/rc}" @@ -68,14 +62,6 @@ BDEPEND=" src_prepare() { default - ## HERE WE ADD A CALL TO EAUTORECONF. - ## - ## THIS IS A RARE FLATCAR MODIFICATION IN PORTAGE-STABLE - ## EBUILD. REINSTATE IT AFTER WEEKLY UPDATES AUTOMATION - ## CLOBBERS IT AGAIN. WE NEED TO KEEP IT UNTIL WE UPDATE TO - ## BIND 9.21 (USES MESON) OR GENTOO UPDATES THE EBUILD TO DO - ## THE SAME THING. - eautoreconf # Don't clobber our toolchain defaults sed -i -e '/FORTIFY_SOURCE=/d' configure || die diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.26.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.26.ebuild index b6ce44a1852..30df3f9c43b 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.26.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.26.ebuild @@ -4,7 +4,13 @@ EAPI=8 VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/isc.asc -inherit eapi9-ver systemd tmpfiles toolchain-funcs verify-sig +## HERE WE ADD INHERITING OF AUTOTOOLS ECLASS. +## +## THIS IS A RARE FLATCAR MODIFICATION IN PORTAGE-STABLE EBUILD. +## REINSTATE IT AFTER WEEKLY UPDATES AUTOMATION CLOBBERS IT AGAIN. WE +## NEED TO KEEP IT UNTIL WE UPDATE TO BIND 9.21 (USES MESON) OR GENTOO +## UPDATES THE EBUILD TO DO THE SAME THING. +inherit autotools eapi9-ver systemd tmpfiles toolchain-funcs verify-sig MY_PV="${PV/_p/-P}" MY_PV="${MY_PV/_rc/rc}" @@ -19,7 +25,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" +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 )" @@ -62,6 +68,14 @@ BDEPEND=" src_prepare() { default + ## HERE WE ADD A CALL TO EAUTORECONF. + ## + ## THIS IS A RARE FLATCAR MODIFICATION IN PORTAGE-STABLE + ## EBUILD. REINSTATE IT AFTER WEEKLY UPDATES AUTOMATION + ## CLOBBERS IT AGAIN. WE NEED TO KEEP IT UNTIL WE UPDATE TO + ## BIND 9.21 (USES MESON) OR GENTOO UPDATES THE EBUILD TO DO + ## THE SAME THING. + eautoreconf # Don't clobber our toolchain defaults sed -i -e '/FORTIFY_SOURCE=/d' configure || die diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.27.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.27.ebuild new file mode 100644 index 00000000000..b6ce44a1852 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.27.ebuild @@ -0,0 +1,288 @@ +# 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/isc.asc +inherit eapi9-ver systemd tmpfiles toolchain-funcs verify-sig + +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 + verify-sig? ( https://downloads.isc.org/isc/bind9/${PV}/${P}.tar.xz.asc ) +" +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" +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-fs/samba/Manifest b/sdk_container/src/third_party/portage-stable/net-fs/samba/Manifest index f39464ac635..3a252eba7e4 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,6 +1,6 @@ DIST samba-4.23.10.tar.gz 43357789 BLAKE2B 7aadcf40bb32352198871677dddeeb5d537e6dc815ec63bc987bc8a51acdede85de718d6a3d969b82b1c936eb039177c216df20b7ebe05e230b71e5c83957639 SHA512 7e0775ded3ac54996d892ba5072aa3a2c89c47c2d56ff29d715ecd09d6ec8e12efa4fd9d87a1f5c3cf9228be46cdec150e6442f8da340bca17585f9cc3a96175 -DIST samba-4.23.6.tar.gz 43306831 BLAKE2B c5c567bfc4734429790ec7362150eda231ce7e3e7dbdfaa2ca2dc81bd178c9c15cc9360b21f4c5dd1f1423d46337bc5a7b581efcff8ed647adb69a9b47922320 SHA512 61dc2a80f1ea5a7a04bc45ba7896107fd1c619ec3f841f9f6adb9c166a3ce3a5cee7b0d097cfa2c768ba65e35167c0739099cc76a5478c0d6f41521a621336c9 +DIST samba-4.23.11.tar.gz 43369240 BLAKE2B 618fc0cf119e65129549f63e6271428d71df61275f4144085a403ac207f267b5c1aedb9f9ee5ac06618da04f9ff82b91c041d9e6e9369175d347b8e1f9b333e8 SHA512 457fb2d66b0141d9ff824cc8a25c1165a25c8b0740c07cf79fd4278ef6bd4636f12aa3334745226986df0c8a541132ff7e578527d3f0b28bf57d51b43763f8bf DIST samba-4.23.9.tar.gz 43340009 BLAKE2B 106fd5170015a1175bdd8221ece532f6b18dd7deb4ccaf22504cfaf6ca1706f5204d5be7d92455f8d7cc49e368c1142d3432fe1d1272c6cf50c57e54d8b37785 SHA512 8d6cd716e36db5f6e96bcd1bc3848f51b55f3c0ed039650fc0f78c15f03ae2f5669cf106166fb7f20feacb539b5296ec47212b72f7baf519c3e20b310bd8b950 -DIST samba-4.24.3.tar.gz 43446520 BLAKE2B 7804075e3153ac2252549e33ee421c54aaa355ad53cb06790875f32a802c1b8fc9fc77f70f7a4e231df40f8c32a87651e87ed93218e3e27bf97734204cecad5d SHA512 769445f861bfd978bc8eccc53135c03d94b5e2b402f45df8c3ae202999d6f8e35a2a78bb4bada34f09cf177cfe8be4013ffd6da8d311cf6a7ff2a4a8222c6b4f DIST samba-4.24.4.tar.gz 43431734 BLAKE2B 7d8406ed473f88a009628b64e070611dbac2b70da3d49857f5add1a8066dac93c762d6947fe3f3ed12b316e4041f0af42fa897a842ab1110dd629146848d0f5f SHA512 3f6b8a99491d82fcb90115288e547b330afd452f7ed15f288085644a0ea9ccbd45645c5a75f2d5db6d2d888ff280e87ec252b48e0c064a0ca33cac39f24f123d DIST samba-4.24.5.tar.gz 43445051 BLAKE2B 4796e3ae5e70c1d11d9326566677f0909423c5aad140309bfd9b3f8a3dedefe49660d0a0d502a681726ed7a961779587c33c9da29ecf69664b00a2ca958e64af SHA512 dadaee50c61cc8076bd5f4e6e3a8be13b6aa6aeff33991277c7f5398ba9dea32e8d966c0206dec9cad240b935768b707f9c9dd6b60c3db433dcf8ddb30134088 +DIST samba-4.24.6.tar.gz 43449390 BLAKE2B cd28c61285624de1e45f6f55684adae3df42ca3579106412f4ed58889ebf0ee7e8bb1b7501878910eafebf1884d019f23b3da75b71850cdca8da751f70423e0a SHA512 fb4e4602c0a36ab26ce04457e0ae259eda6f00411468f91227d234385b545e230103c1053820b17193e8f5a1967dc3bf637777e946c72ecbe1f2e82901af737f diff --git a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.24.3.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.11.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.24.3.ebuild rename to sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.11.ebuild index 789db2de9ad..3a5c53ddabe 100644 --- a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.24.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.11.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..14} ) PYTHON_REQ_USE="threads(+),xml(+)" inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info optfeature systemd pam tmpfiles @@ -57,8 +57,8 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/samba-4.0/ctdb_version.h ) -TALLOC_VERSION="2.4.4" -TDB_VERSION="1.4.15" +TALLOC_VERSION="2.4.3" +TDB_VERSION="1.4.14" TEVENT_VERSION="0.17.1" COMMON_DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.6.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.24.6.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.6.ebuild rename to sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.24.6.ebuild index 1464e4c618e..301efdce1a1 100644 --- a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.24.6.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..14} ) PYTHON_REQ_USE="threads(+),xml(+)" inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info optfeature systemd pam tmpfiles @@ -16,7 +16,7 @@ if [[ ${PV} == *_rc* ]]; then SRC_URI="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz" else SRC_URI="https://download.samba.org/pub/samba/stable/${MY_P}.tar.gz" - KEYWORDS="amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" fi S="${WORKDIR}/${MY_P}" @@ -57,8 +57,8 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/samba-4.0/ctdb_version.h ) -TALLOC_VERSION="2.4.3" -TDB_VERSION="1.4.14" +TALLOC_VERSION="2.4.4" +TDB_VERSION="1.4.15" TEVENT_VERSION="0.17.1" COMMON_DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.13.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.13.ebuild index c7f72e550ef..0551618e94d 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.13.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.13.ebuild @@ -17,7 +17,7 @@ LICENSE="GPL-3 LGPL-2.1+" # Subslot format: # . SLOT="0/30.30" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="brotli +cxx dane doc examples +idn nls +openssl pkcs11 +post-quantum sslv2 sslv3" IUSE+=" systemtap 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 )" 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 4261920a36d..df2b1a0bbb1 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,6 +1,4 @@ -DIST nghttp2-1.68.0.tar.xz 1691408 BLAKE2B 412842f3ca630b642ef9bb1865d43cf03de804ccc5f0d9ed3643b69930c66a9dd15b11a446c742be950eea24fd1704169c0683b92ea69762d1453ade4f8ed8db SHA512 a5182c2c54cdff3c70bdad204bff9a573cf7951e189d68665087f047cb79e5fc2d5d5aefbb41e2dfe264e2e74fbbe10196cb596248e328c944406ca09da98344 -DIST nghttp2-1.68.0.tar.xz.asc 833 BLAKE2B 33a6e8a8e730b01a6cdce1523464645f0ea11593d91d1f286a081bb02221bce54df60568f24039b6c83e0353d8bbc4bb8fb47dbb7d1ce6cd8c9c1e8aeaa18f46 SHA512 3d7dfee6c07407b22b24b330819af78930945d0d822bea916d70b055d93fb43e8e7ef5cb1a9c72c8da057994168170118cb432067b04400f5c53fe65654b2d09 -DIST nghttp2-1.68.1.tar.xz 1675948 BLAKE2B bd5854ebdf58355470018596fd7bab4bb6e23825756fbad08efa4e01dcb4320be939ed676e68689385abf927e6c59da1c1ec85e1812549fc8aabf1a356ca0789 SHA512 d41d3422127d3190feedcd738bc477c00fa74068afbd5a08d84e954aaf20e172ea593a11db21cd70ddc63fe9550dab42cee55605d75dd4bca0f24ac1cd4b75d7 -DIST nghttp2-1.68.1.tar.xz.asc 833 BLAKE2B a7aa207baf9071b2479922bde74cdf48aa0168400bf026324285609d5cd28d044294c2d055d79b3a24d75bcd95f0e4bfbe828aa8ef98bf093f2197635b42e8f1 SHA512 e03dc5ea74388128166cf108858fa1f9de6cdd85df47c58a5ba30f0b8a4835110dd463fff3259e4a78c882cd3f375e52cc0f12943814e445edc1d375a8086543 DIST nghttp2-1.69.0.tar.xz 1696336 BLAKE2B a1b3509fb609bd93f57e1eee85f24c2db30d15b384d01d1efb1073ccf730d7d8a12f16213f1b0d137d0c6e2cf1b52e03f15038626aed5d6eadf06bc0af233c08 SHA512 31858cfd4a85995d006753c40393a7c23d2bfdd54fdb355757bef1a72b42177d31fff958e9e765a19d83e949eac77998e2bbe933b9390d1f2a1365506f5f6271 DIST nghttp2-1.69.0.tar.xz.asc 833 BLAKE2B bfa783399989588902a37e32c6f4e55d1bb10a94ef18f8189ba82f52db73e9414a07a4899d5ff7a3da8d741df06d7845047e4e6575d4943fd66b739512a6dfca SHA512 c0086da9409a2ef04a109229184e37819d18d2d0268cc0ac2c7b9d129cf32cb2893d1a61d4fe7a24c880ceced1faf98c7febd5915fb4be5de373346a73656068 +DIST nghttp2-1.70.0.tar.xz 2018996 BLAKE2B 3ecc4170b86dc45cfc33e78caa3eb3d7efa9ef35b4494f5c14e6a71b8dfee6ac47144cafc1e7a2962c8836d95d4f6553467600e6af44d64642c7d998a3582b10 SHA512 8d8a95dcd05dfe8a032b78d99b7d32a9f0ad2c952c4548de4c6b4af0d2f3c584b0a2854b31516eca20b0c9c30f20d0d040edfe9961a3084e96353012f711b9d1 +DIST nghttp2-1.70.0.tar.xz.asc 833 BLAKE2B c79aef8268858f912ffff550d62b3dc2179c6d636ca2dbd06acba46cc0f8e2f7ef3f475f0fb7a1e436bfafc453a665e4ccad8d4181bdfe9430f1f4a6ce631f7d SHA512 3ef7907a0838887029995c91bdcf63436651b217cded915a78ef4ceb9f30f1d011ed324b91a1171a969939d565a6c95d479b36462f0ce067c682b49e5912b090 diff --git a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/files/nghttp2-1.70.0-gcc17.patch b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/files/nghttp2-1.70.0-gcc17.patch new file mode 100644 index 00000000000..80f29ac6a7a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/files/nghttp2-1.70.0-gcc17.patch @@ -0,0 +1,27 @@ +https://github.com/nghttp2/nghttp2/pull/2828 + +From 54a657140d19f3ba2309d7ca26caf43c4a85202b Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Sun, 9 Aug 2026 19:30:06 +0100 +Subject: [PATCH] util: add include + +This shows up with GCC 17 where some transitive internal includes changed: +it worked by chance before. +--- + src/util.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/util.h b/src/util.h +index 8b7eee9ace..ec16c7f806 100644 +--- a/src/util.h ++++ b/src/util.h +@@ -46,6 +46,7 @@ + #include + #include + #include ++#include + #include + #include + #include + + 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 deleted file mode 100644 index 564d1b7b44a..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.68.0.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 1999-2026 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 autotools -else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nghttp2.asc - inherit verify-sig - SRC_URI=" - https://github.com/nghttp2/nghttp2/releases/download/v${PV}/${P}.tar.xz - verify-sig? ( https://github.com/nghttp2/nghttp2/releases/download/v${PV}/${P}.tar.xz.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-nghttp2 )" -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-1.68.1.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.70.0.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.68.1.ebuild rename to sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.70.0.ebuild index 88a5d2c2263..ef768578fa1 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.68.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.70.0.ebuild @@ -44,6 +44,10 @@ RDEPEND=" DEPEND="${RDEPEND}" BDEPEND+=" virtual/pkgconfig" +PATCHES=( + "${FILESDIR}"/${PN}-1.70.0-gcc17.patch +) + src_prepare() { default [[ ${PV} == 9999 ]] && eautoreconf diff --git a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.23.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.23.0.ebuild index 2f062466c96..159d77a1a88 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.23.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.23.0.ebuild @@ -18,7 +18,7 @@ else verify-sig? ( https://github.com/ngtcp2/ngtcp2/releases/download/v${PV}/${P}.tar.xz.asc ) " - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos" + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-ngtcp2 )" fi diff --git a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.24.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.24.0.ebuild index 5b9272afd1a..72ff03c29b4 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.24.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.24.0.ebuild @@ -18,7 +18,7 @@ else verify-sig? ( https://github.com/ngtcp2/ngtcp2/releases/download/v${PV}/${P}.tar.xz.asc ) " - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~arm64-macos ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~sparc x86 ~arm64-macos ~x64-macos" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-ngtcp2 )" fi diff --git a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.25.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.25.0.ebuild index ddb0bb95b58..b9e77d7facd 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.25.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.25.0.ebuild @@ -18,7 +18,7 @@ else verify-sig? ( https://github.com/ngtcp2/ngtcp2/releases/download/v${PV}/${P}.tar.xz.asc ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-ngtcp2 )" fi diff --git a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-9999.ebuild index 545305a8d4f..9fbc5b21596 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-9999.ebuild @@ -18,7 +18,7 @@ else verify-sig? ( https://github.com/ngtcp2/ngtcp2/releases/download/v${PV}/${P}.tar.xz.asc ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-ngtcp2 )" fi diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.21.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.21.0-r1.ebuild index b0fa4b9f07c..fc4f23b2887 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.21.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.21.0-r1.ebuild @@ -403,14 +403,20 @@ multilib_src_test() { # -am: automake style TAP output # -p: print logs if test fails # --retry: retry any failing tests up to 3 times; this is a band-aid for timing-dependent flakiness. + # # 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 -am -p -j$((2*$(get_makeopts_jobs))) --retry=3 !241 !1083" + # + # 1701: dropped in master + multilib_is_native_abi && emake test TFLAGS="-n -v -a -am -p -j$((2*$(get_makeopts_jobs))) --retry=3 !241 !1083 !1701" # TODO: enable python tests (make pytest). } 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 efbd86bb755..0e23c6df005 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 @@ -86,7 +86,7 @@ REQUIRED_USE=" # 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/DEPENDENCIES.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) # - https://curl.se/dev/deprecate.html - good source of deprecation timelines, e.g. for OpenSSL 1.1.1 @@ -96,24 +96,24 @@ REQUIRED_USE=" RDEPEND=" >=virtual/zlib-1.2.5:=[${MULTILIB_USEDEP}] adns? ( >=net-dns/c-ares-1.16.0:=[${MULTILIB_USEDEP}] ) - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) + brotli? ( >=app-arch/brotli-1.0.0:=[${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}] ) + psl? ( >=net-libs/libpsl-0.16.0[${MULTILIB_USEDEP}] ) quic? ( gnutls? ( >=net-libs/ngtcp2-1.20.0-r1[gnutls,ssl,${MULTILIB_USEDEP}] ) openssl? ( >=net-libs/ngtcp2-1.20.0-r1[openssl,ssl,${MULTILIB_USEDEP}] ) ) - ssh? ( >=net-libs/libssh2-1.2.8[${MULTILIB_USEDEP}] ) + ssh? ( >=net-libs/libssh2-1.9.0[${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}] + >=net-libs/gnutls-3.6.5:=[static-libs?,${MULTILIB_USEDEP}] + >=dev-libs/nettle-3.4.1:=[${MULTILIB_USEDEP}] ) mbedtls? ( app-misc/ca-certificates @@ -127,7 +127,7 @@ RDEPEND=" >=net-libs/rustls-ffi-0.15.0:=[${MULTILIB_USEDEP}] ) ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) + zstd? ( >=app-arch/zstd-1.0:=[${MULTILIB_USEDEP}] ) " DEPEND="${RDEPEND}" @@ -138,7 +138,7 @@ BDEPEND=" test? ( sys-apps/diffutils http2? ( >=net-libs/nghttp2-1.15.0:=[utils,${MULTILIB_USEDEP}] ) - http3? ( net-libs/nghttp2:=[utils,${MULTILIB_USEDEP}] ) + http3? ( >=net-libs/nghttp2-1.15.0:=[utils,${MULTILIB_USEDEP}] ) ) verify-sig? ( sec-keys/openpgp-keys-danielstenberg ) " @@ -396,11 +396,15 @@ multilib_src_test() { # -am: automake style TAP output # -p: print logs if test fails # --retry: retry any failing tests up to 3 times; this is a band-aid for timing-dependent flakiness. + # # 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 -am -p -j$((2*$(get_makeopts_jobs))) --retry=3 !241 !1083" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/openssh/Manifest index ffcb5e9b001..3665f0b52cf 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/Manifest @@ -8,6 +8,8 @@ DIST openssh-10.3p1.tar.gz 2007369 BLAKE2B 77ff7c3bc943702267d74f6f7cdae44209ab9 DIST openssh-10.3p1.tar.gz.asc 833 BLAKE2B ce5f811225a59b4724092ef3cb7f7815ed1c57088872489b65fd90cdda9898a2cd6fb965e84cdcad3c0288f38784f3001909400941555fec3d3276c455195326 SHA512 2c8afbe57f6712f159aa3a160b6ffc43f945a98ccd8e151fa6a047ea30b376e5e1cac844a678a7899da80704b3d23feda612ffada1ee003f4c7fb8291f484600 DIST openssh-10.4p1.tar.gz 2321796 BLAKE2B 3051a345fd24333708277a1de781deca9094dd07cc55e613e93715b1266d80d59043bf5cdb2282d02c797cb9446916020e70fbd4c7a2470da7ab98eb612f6b74 SHA512 c49600022a3a3f0f0ba4284072cccbe1088030cd175ea166e08251224712731f97cb1a3f039d19f71714c537ab88b177602be0932bc35a26f3227dc09c43f37c DIST openssh-10.4p1.tar.gz.asc 833 BLAKE2B 408ccf508e90b0fc66e04b07fe4fce6d1d71752f2a85961b4a6ed7d5157100258bd5a5b7ebf806fe040fe509ee6abc5a103e7ebda7336e7b669241026e48870d SHA512 604b8203088d71bee3a93ea644201f82eb1f049b08cf0b57b9f5dbcb9a9bae206283a30af15182e42e59ea63b8e1c9941c8b981a1d026b6a0f49b11ccd7007c4 +DIST openssh-10.5p1.tar.gz 2333659 BLAKE2B 8e8be4e4aff6b5f16e19f85b994fcc9b7679021cf639fad4323dc15f6bc0041b45370024a5f51065e2a92d965428cf3787323957f2c41f4d27fc1146dc3690cf SHA512 5336c1945527b29ed59cc500fa8bfbd918f5ba97e85512daad9ab7241418929bf7152d300e5f3c5f9a8c8d699dfde5a64c5faa4fc33b2758ab52dd04040d6284 +DIST openssh-10.5p1.tar.gz.asc 833 BLAKE2B 60c72c47eb4800b365d222818cba3ae7f0c61264c040811167abc2226398e07769a8284634508c937a6188bbb09681679d0c47100431246eea9c16ede003a2eb SHA512 b31e61d98420598e40c9f7515e833c140415dd1f59391a558e3f48c878d1fa1defc8ec316a17a9737302cded54a216a95425a785e661adc86d70dd2c95014fe7 DIST openssh-9.8_p1-backports.tar.gz 5879 BLAKE2B 98f2864977f512cb658d129cc89385df25b57fb4ec5ac0cb5e2655ff7f8bffa795194a2177a78339999b0d25c9aea708469b322b9d7c814165e570fb5a66ee9b SHA512 541a629b3ce7d20df29b649478f7a4348bed876045cc2b3c95b6544cce87850cd05c1d405e85ce713fb137b7768402d2b0052a6478b781c30a2567ffebcd4322 DIST openssh-9.8p1.tar.gz 1910393 BLAKE2B 3bf983c4ef5358054ed0104cd51d3e0069fbc2b80d8522d0df644d5508ec1d26a67bf061b1b5698d1cdf0d2cbba16b4cdca12a4ce30da24429094576a075e192 SHA512 95dec2f18e58eb47994f3de4430253e0665e185564b65088ca5f4108870e05feddef8cda8d3c0a4b75f18b98cc2c024df0e27de53b48c1a16da8da483cb8292a DIST openssh-9.8p1.tar.gz.asc 833 BLAKE2B 5291e8c03ab9a75acb44285cd7fc010f4a33551f142499624165dac708fc05a6d077df81555aa41037b45f6301e4e5db3161a7a23404473f8a233a877fc55cc3 SHA512 4df1f1be2c6ab7f3aebaedd0a773b0e8c8929abb30cd3415873ad55d012cfa113f792e888e5e772dd468c394aeb7e35d62893a514dbc0ab1a03acd79918657f7 diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.4_p1-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.4_p1-r1.ebuild index d7f21a0056f..039df636108 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.4_p1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.4_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 ~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" # 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.5_p1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.5_p1.ebuild new file mode 100644 index 00000000000..9e9175ef0b3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.5_p1.ebuild @@ -0,0 +1,445 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Remember to check the upstream release/stable branches for patches +# to backport! See https://marc.info/?l=openssh-unix-dev&m=172723798122122&w=2. + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssh.org.asc +inherit user-info flag-o-matic autotools optfeature pam systemd toolchain-funcs verify-sig eapi9-ver + +# Make it more portable between straight releases +# and _p? releases. +PARCH=${P/_} + +DESCRIPTION="Port of OpenBSD's free SSH release" +HOMEPAGE="https://www.openssh.org/" +SRC_URI=" + mirror://openbsd/OpenSSH/portable/${PARCH}.tar.gz + verify-sig? ( mirror://openbsd/OpenSSH/portable/${PARCH}.tar.gz.asc ) +" +S="${WORKDIR}/${PARCH}" + +LICENSE="BSD 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" +# 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" + +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + ldns? ( ssl ) + static? ( !kerberos !pam ) + test? ( ssl ) +" + +LIB_DEPEND=" + audit? ( sys-process/audit[static-libs(+)] ) + ldns? ( + net-libs/ldns[static-libs(+)] + net-libs/ldns[ecdsa(+),ssl(+)] + ) + libedit? ( dev-libs/libedit:=[static-libs(+)] ) + security-key? ( >=dev-libs/libfido2-1.5.0:=[static-libs(+)] ) + selinux? ( >=sys-libs/libselinux-1.28[static-libs(+)] ) + ssl? ( >=dev-libs/openssl-1.1.1l-r1:0=[static-libs(+)] ) + virtual/libcrypt:=[static-libs(+)] + >=virtual/zlib-1.2.3:=[static-libs(+)] +" +RDEPEND=" + acct-group/sshd + acct-user/sshd + !static? ( ${LIB_DEPEND//\[static-libs(+)]} ) + pam? ( sys-libs/pam ) + kerberos? ( virtual/krb5 ) +" +DEPEND=" + ${RDEPEND} + virtual/os-headers + kernel_linux? ( !prefix-guest? ( >=sys-kernel/linux-headers-5.1 ) ) + static? ( ${LIB_DEPEND} ) +" +RDEPEND=" + ${RDEPEND} + !net-misc/openssh-contrib + pam? ( >=sys-auth/pambase-20081028 ) + !prefix? ( sys-apps/shadow ) +" +BDEPEND=" + dev-build/autoconf + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-openssh ) +" + +PATCHES=( + "${FILESDIR}/${PN}-9.4_p1-Allow-MAP_NORESERVE-in-sandbox-seccomp-filter-maps.patch" + "${FILESDIR}/${PN}-9.7_p1-config-tweaks.patch" + # Backports from upstream release branch + #"${FILESDIR}/${PV}" + # Our own backports +) + +pkg_pretend() { + local i enabled_eol_flags disabled_eol_flags + for i in hpn sctp X509; do + if has_version "net-misc/openssh[${i}]"; then + enabled_eol_flags+="${i}," + disabled_eol_flags+="-${i}," + fi + done + + if [[ -n ${enabled_eol_flags} && ${OPENSSH_EOL_USE_FLAGS_I_KNOW_WHAT_I_AM_DOING} != yes ]]; then + # Skip for binary packages entirely because of environment saving, bug #907892 + [[ ${MERGE_TYPE} == binary ]] && return + + ewarn "net-misc/openssh does not support USE='${enabled_eol_flags%,}' anymore." + ewarn "The Base system team *STRONGLY* recommends you not rely on this functionality," + ewarn "since these USE flags required third-party patches that often trigger bugs" + ewarn "and are of questionable provenance." + ewarn + ewarn "If you must continue relying on this functionality, switch to" + ewarn "net-misc/openssh-contrib. You will have to remove net-misc/openssh from your" + ewarn "world file first: 'emerge --deselect net-misc/openssh'" + ewarn + ewarn "In order to prevent loss of SSH remote login access, we will abort the build." + ewarn "Whether you proceed with disabling the USE flags or switch to the -contrib" + ewarn "variant, when re-emerging you will have to set" + ewarn + ewarn " OPENSSH_EOL_USE_FLAGS_I_KNOW_WHAT_I_AM_DOING=yes" + + die "Building net-misc/openssh[${disabled_eol_flags%,}] without OPENSSH_EOL_USE_FLAGS_I_KNOW_WHAT_I_AM_DOING=yes" + fi + + # Make sure people who are using tcp wrappers are notified of its removal. #531156 + if grep -qs '^ *sshd *:' "${EROOT}"/etc/hosts.{allow,deny} ; then + ewarn "Sorry, but openssh no longer supports tcp-wrappers, and it seems like" + ewarn "you're trying to use it. Update your ${EROOT}/etc/hosts.{allow,deny} please." + fi +} + +src_prepare() { + # don't break .ssh/authorized_keys2 for fun + sed -i '/^AuthorizedKeysFile/s:^:#:' sshd_config || die + + [[ -d ${WORKDIR}/patches ]] && PATCHES+=( "${WORKDIR}"/patches ) + + default + + # These tests are currently incompatible with PORTAGE_TMPDIR/sandbox + sed -e '/\t\tpercent \\/ d' \ + -i regress/Makefile || die + + tc-export PKG_CONFIG + local sed_args=( + -e "s:-lcrypto:$(${PKG_CONFIG} --libs openssl):" + # Disable fortify flags ... our gcc does this for us + -e 's:-D_FORTIFY_SOURCE=2::' + ) + + # _XOPEN_SOURCE causes header conflicts on Solaris + [[ ${CHOST} == *-solaris* ]] && sed_args+=( + -e 's/-D_XOPEN_SOURCE//' + ) + sed -i "${sed_args[@]}" configure{.ac,} || die + + eautoreconf +} + +src_configure() { + addwrite /dev/ptmx + + use debug && append-cppflags -DSANDBOX_SECCOMP_FILTER_DEBUG + use static && append-ldflags -static + + if [[ ${CHOST} == *-solaris* ]] ; then + # Solaris' glob.h doesn't have things like GLOB_TILDE, configure + # doesn't check for this, so force the replacement to be put in + # place + append-cppflags -DBROKEN_GLOB + fi + + # use replacement, RPF_ECHO_ON doesn't exist here + [[ ${CHOST} == *-darwin* ]] && export ac_cv_func_readpassphrase=no + + local myconf=( + --with-ldflags="${LDFLAGS}" + --disable-strip + --with-pid-dir="${EPREFIX}"$(usex kernel_linux '' '/var')/run + --sysconfdir="${EPREFIX}"/etc/ssh + --libexecdir="${EPREFIX}"/usr/$(get_libdir)/misc + --datadir="${EPREFIX}"/usr/share/openssh + --with-privsep-path="${EPREFIX}"/var/empty + --with-privsep-user=sshd + # optional at runtime; guarantee a known path + --with-xauth="${EPREFIX}"/usr/bin/xauth + + # --with-hardening adds the following in addition to flags we + # already set in our toolchain: + # * -ftrapv (which is broken with GCC anyway), + # * -ftrivial-auto-var-init=zero (which is nice, but not the end of + # the world to not have) + # * -fzero-call-used-regs=used (history of miscompilations with + # Clang (bug #872548), ICEs on m68k (bug #920350, gcc PR113086, + # gcc PR104820, gcc PR104817, gcc PR110934)). + # + # Furthermore, OSSH_CHECK_CFLAG_COMPILE did not use AC_CACHE_CHECK + # until 10.1_p1, so we couldn't disable -fzero-call-used-regs=used. + # + # Therefore, just pass --without-hardening, given it doesn't negate + # our already hardened toolchain defaults, and avoids adding flags + # which are known-broken in both Clang and GCC and haven't been + # proven reliable. + --without-hardening + --without-pie + --without-stackprotect + + # wtmpdb not yet packaged + --without-wtmpdb + + $(use_with audit audit linux) + $(use_with kerberos kerberos5 "${EPREFIX}"/usr) + $(use_with ldns) + $(use_with libedit) + $(use_with pam) + $(use_with selinux) + $(use_with security-key security-key-builtin) + $(use_with ssl openssl) + ) + + if has_version " "${WORKDIR}"/etc/ssh/ssh_config.d/9999999gentoo.conf || die + # Send locale environment variables (bug #367017) + SendEnv ${locale_vars[*]} + + # Send COLORTERM to match TERM (bug #658540) + SendEnv COLORTERM + EOF + + cat <<-EOF > "${WORKDIR}"/etc/ssh/ssh_config.d/9999999gentoo-security.conf || die + RevokedHostKeys "${EPREFIX}/etc/ssh/ssh_revoked_hosts" + EOF + + cat <<-EOF > "${WORKDIR}"/etc/ssh/ssh_revoked_hosts || die + # https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/ + ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== + EOF + + cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo.conf || die + # Allow client to pass locale environment variables (bug #367017) + AcceptEnv ${locale_vars[*]} + + # Allow client to pass COLORTERM to match TERM (bug #658540) + AcceptEnv COLORTERM + EOF + + cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo-subsystem.conf || die + # override default of no subsystems + Subsystem sftp ${EPREFIX}/usr/$(get_libdir)/misc/sftp-server + EOF + + if use pam ; then + cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo-pam.conf || die + UsePAM yes + # This interferes with PAM. + PasswordAuthentication no + # PAM can do its own handling of MOTD. + PrintMotd no + PrintLastLog no + EOF + fi + + if use livecd ; then + cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo-livecd.conf || die + # Allow root login with password on livecds. + PermitRootLogin Yes + EOF + fi +} + +src_compile() { + default + create_config_dropins +} + +src_test() { + local tests=( compat-tests ) + local shell=$(egetshell "${UID}") + if [[ ${shell} == */nologin ]] || [[ ${shell} == */false ]] ; then + ewarn "Running the full OpenSSH testsuite requires a usable shell for the 'portage'" + ewarn "user, so we will run a subset only." + tests+=( interop-tests file-tests unit ) + else + tests+=( tests ) + + # Some tests ignore HOME variable, bug 978966 + local realhome=$(unset HOME; echo ~) + local -x SANDBOX_WRITE="${SANDBOX_WRITE}" + addwrite "${realhome}" + fi + + local -x SUDO= SSH_SK_PROVIDER= TEST_SSH_UNSAFE_PERMISSIONS=1 + emake -j1 "${tests[@]}" /dev/null 2>&1; then + ewarn "The ebuild will now attempt to restart OpenSSH to avoid" + ewarn "bricking the running instance. See bug #709748." + ebegin "Attempting to restart openssh via 'systemctl try-restart sshd'" + systemctl try-restart sshd + eend $? + elif [[ -d /run/openrc ]]; then + # We don't check for sshd -t here because the OpenRC init script + # has a stop_pre() which does checkconfig, i.e. we defer to it + # to give nicer output for a failed sanity check. + ewarn "The ebuild will now attempt to restart OpenSSH to avoid" + ewarn "bricking the running instance. See bug #709748." + ebegin "Attempting to restart openssh via 'rc-service -q --ifstarted --nodeps sshd restart'" + rc-service -q --ifstarted --nodeps sshd restart + eend $? + fi +} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/passt/files/passt-2026.07.28-musl.patch b/sdk_container/src/third_party/portage-stable/net-misc/passt/files/passt-2026.07.28-musl.patch new file mode 100644 index 00000000000..4bd85e221b8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/passt/files/passt-2026.07.28-musl.patch @@ -0,0 +1,24 @@ +--- a/Makefile ++++ b/Makefile +@@ -48,8 +48,8 @@ + + PASST_HEADERS = arch.h arp.h bitmap.h checksum.h conf.h dhcp.h dhcpv6.h \ + epoll_ctl.h flow.h fwd.h fwd_rule.h flow_table.h icmp.h icmp_flow.h \ +- inany.h iov.h ip.h isolation.h lineread.h log.h migrate.h ndp.h \ +- netlink.h packet.h parse.h passt.h pasta.h pcap.h pif.h repair.h \ ++ inany.h iov.h ip.h isolation.h lineread.h linux_dep.h log.h migrate.h \ ++ ndp.h netlink.h packet.h parse.h passt.h pasta.h pcap.h pif.h repair.h \ + serialise.h siphash.h tap.h tcp.h tcp_buf.h tcp_conn.h tcp_internal.h \ + tcp_splice.h tcp_vu.h udp.h udp_flow.h udp_internal.h udp_vu.h util.h \ + vhost_user.h virtio.h vu_common.h + +--- a/isolation.c ++++ b/isolation.c +@@ -89,6 +89,7 @@ + #include + + #include "util.h" ++#include "linux_dep.h" + #include "seccomp.h" + #include "passt.h" + #include "log.h" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2026.07.28.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2026.07.28.ebuild index 906cd98145c..fca17865c85 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2026.07.28.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2026.07.28.ebuild @@ -23,6 +23,8 @@ LICENSE="BSD GPL-2+" SLOT="0" IUSE="static" +PATCHES=( "${FILESDIR}/${PN}-2026.07.28-musl.patch" ) + src_prepare() { default tc-export CC diff --git a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-9999.ebuild index 906cd98145c..fca17865c85 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-9999.ebuild @@ -23,6 +23,8 @@ LICENSE="BSD GPL-2+" SLOT="0" IUSE="static" +PATCHES=( "${FILESDIR}/${PN}-2026.07.28-musl.patch" ) + src_prepare() { default tc-export CC diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/rsync/Manifest index 3f73b277484..0b2a7fe5af1 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/rsync/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-misc/rsync/Manifest @@ -1,8 +1,4 @@ -DIST rsync-3.4.1.tar.gz 1172739 BLAKE2B 79c1cad697547059ee241e20c26d7f97bed3ad062deb856d31a617fead333a2d9f62c7c47c1efaf70033dbc358fe547d034c35e8181abb51a1fc893557882bc7 SHA512 a3ecde4843ddb795308dca88581b868ac0221eb6f88a1477d7a9a2ecb4e4686042966bdddbab40866f90a4715d3104daa7b83222ddf0f3387b796a86bde8e5c2 -DIST rsync-3.4.1.tar.gz.asc 862 BLAKE2B 5684bd57423e8e43b973c2c416c4897901a3a8b33c22690eaedc609109088e1d5d70f5cf5deaafefc69f547d198b5f8b17f3c484211d545095b19dac7e0bc7d3 SHA512 c83e187c88110b6119a023d239c76291f15124760fd245ead17e747424946e7864187aae96af6f5930cb84beff7308b99daa0566f306c9f2de51e2475704c320 -DIST rsync-3.4.2.tar.gz 1190383 BLAKE2B bfc8aa3dc3b75de5e81519eab6d505ebd4d05ebc79c3336ebc925486fa6267cd13a37844d0817183cec68215788bc07e4a281f716bcd0bc7d93daa995df9122c SHA512 74f623e7f5234ffc12fc60d30f4439bc18796404c866365b7c3bfda87f42b33fc01ce6060187534b6b47d799f5b47fcdb84717faff88b6ce30eb230f1b93afe7 -DIST rsync-3.4.2.tar.gz.asc 862 BLAKE2B b6cc8bbb94fae5111143c9b0fe7aeca07b29494011060b7b00d98d2e6058f1d0474cc87f8db8d2d2812f1b039a4eb6ec386e4d706ee99bc4396ba995da14acae SHA512 c89f24640438566387aeee553c133859667c3e225439c3f113346241e3802c0652ebf6ab6005cc0f412a0f6e4bc055d76dd422691c3f024f347813183f66076e -DIST rsync-3.4.3.tar.gz 1216482 BLAKE2B 0bafded6a76a2cedcc6b1f37610c785fa05e62955a43ecb85b8522183a902be3b86157eccbf502116177be0efe19f3051d93cdca5e5734f4a3fbc8bca9878a4f SHA512 1bf2d7cea7a42c9cd070ffaa5e9e029fbce2c18973d8e946f2a6a91c781d2f3ff2449a8ff2431206396caf1f7d9901865f10772c09019d93318e26196160644f -DIST rsync-3.4.3.tar.gz.asc 862 BLAKE2B dd5ac2de65a02742fb52ff2d7188e0ac5f04d336ba2439b2b05464141f14db805c8074869bd946266d42093aa105ef8c0606edf1348b75cbfd1cac626a100576 SHA512 66686d6bcb365a4a75aaffde3d8675d13a22243f70f55c56c4ca6b805fe3d2d24ebd093a29027cc27fcde87bd2319ba3835f8c76cb35fa6de41d3dfa1c694a14 DIST rsync-3.4.4.tar.gz 1223040 BLAKE2B f4eec8d1077e1cc7eec8cd39dcac4643f7608231f5aa6390cb53104efa1602873a333d9e6cba5d1bb2aeff6c3bf9bccd80370a2105a9cc982b49aae9f39f3bde SHA512 cf9a838b1f019b70fd67fa2c293f267be3f24e579c2ea33177ec7afc502c97ce0b613ff0854088c0eb28acd14ee0a75706ae8445115cef4669bd586c505d8453 DIST rsync-3.4.4.tar.gz.asc 862 BLAKE2B 309fd306467658aad511fe18477af7133fafe7d15a291ba4a837eeaf9312ebd5bbbb41a1aca0a09d37183d3b3e42331d70ba91d7cd1bedbf4c33599a64a1086f SHA512 e65262cb8360cf5c1d81601127367290afbf2fedad3b667299ea7c1c2e850a3f2475e3849ccc3dfe289f86445ebdb657c45619036b3e049faba00582d1af52bc +DIST rsync-3.5.0.tar.gz 1892222 BLAKE2B 1a0aaddd9555c14e2b026f4ac9aff0c0b7760a5809fc80c7872b382a0b9b4719dcc0d382c0e43439955efd855ffa2dff101c10a86529b88fd380205cc9506179 SHA512 6c5bada017e4e5f5b451058e2d1863174a1807796525ef4188c1f40358ccbdd36604fd2275dceb1cc6a95ac04da211501553353026c48594c5a79eedb27ce68d +DIST rsync-3.5.0.tar.gz.asc 862 BLAKE2B 4f3b40be1010901683f780b8d966d871e18a007c1c43b27b2cdbe41864110d0f9e2bf8b1b2a702e3e7efa988830f9201afe7a6013aa72ca330b8c48a055c84a8 SHA512 e7f29570bc33a67f28ebf089ed70e4c6a77e6f82dffad3b7059b775448b33cb915a8edde85640d076c17a0410bb0104a6f0587f5cc46bb8040ff9b8250f3c3f2 diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/files/rsync-3.4.1-CVE-2025-10158.patch b/sdk_container/src/third_party/portage-stable/net-misc/rsync/files/rsync-3.4.1-CVE-2025-10158.patch deleted file mode 100644 index 23687b43d9c..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/rsync/files/rsync-3.4.1-CVE-2025-10158.patch +++ /dev/null @@ -1,31 +0,0 @@ -https://bugs.gentoo.org/967677 -https://github.com/RsyncProject/rsync/commit/797e17fc4a6f15e3b1756538a9f812b63942686f - -From 797e17fc4a6f15e3b1756538a9f812b63942686f Mon Sep 17 00:00:00 2001 -From: Andrew Tridgell -Date: Sat, 23 Aug 2025 17:26:53 +1000 -Subject: [PATCH] fixed an invalid access to files array - -this was found by Calum Hutton from Rapid7. It is a real bug, but -analysis shows it can't be leverged into an exploit. Worth fixing -though. - -Many thanks to Calum and Rapid7 for finding and reporting this ---- - sender.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/sender.c b/sender.c -index a4d46c39e..b1588b701 100644 ---- a/sender.c -+++ b/sender.c -@@ -262,6 +262,8 @@ void send_files(int f_in, int f_out) - - if (ndx - cur_flist->ndx_start >= 0) - file = cur_flist->files[ndx - cur_flist->ndx_start]; -+ else if (cur_flist->parent_ndx < 0) -+ exit_cleanup(RERR_PROTOCOL); - else - file = dir_flist->files[cur_flist->parent_ndx]; - if (F_PATHNAME(file)) { - diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/files/rsync-3.4.1-c23.patch b/sdk_container/src/third_party/portage-stable/net-misc/rsync/files/rsync-3.4.1-c23.patch deleted file mode 100644 index 111847c0e16..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/rsync/files/rsync-3.4.1-c23.patch +++ /dev/null @@ -1,20 +0,0 @@ -https://github.com/RsyncProject/rsync/pull/716 - -From 026ef4cd09660c0a096e285e668b4ba7cd396509 Mon Sep 17 00:00:00 2001 -From: Michal Ruprich -Date: Fri, 17 Jan 2025 12:37:57 +0100 -Subject: [PATCH] bool is a keyword in C23 - ---- a/wildtest.c -+++ b/wildtest.c -@@ -32,7 +32,9 @@ int fnmatch_errors = 0; - - int wildmatch_errors = 0; - -+#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 202311L - typedef char bool; -+#endif - - int output_iterations = 0; - int explode_mod = 0; - diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/files/rsync-3.4.1-fix-uninitialized-mul_one.patch b/sdk_container/src/third_party/portage-stable/net-misc/rsync/files/rsync-3.4.1-fix-uninitialized-mul_one.patch deleted file mode 100644 index d6bf6b0baf8..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/rsync/files/rsync-3.4.1-fix-uninitialized-mul_one.patch +++ /dev/null @@ -1,202 +0,0 @@ -https://github.com/RsyncProject/rsync/commit/aa142f08ef31d3ffa8d6b3b8af16d00324a98c1b - -From: Andrew Tridgell -Date: Sun, 1 Mar 2026 08:42:04 +1100 -Subject: [PATCH] fix uninitialized mul_one in AVX2 checksum and add SIMD checksum test - -The AVX2 get_checksum1_avx2_64() read mul_one before initializing it, -which is undefined behavior. Replace the cmpeq/abs trick with -_mm256_set1_epi8(1) to match the SSSE3 and SSE2 versions. - -Add a TEST_SIMD_CHECKSUM1 test mode that verifies all SIMD paths -(SSE2, SSSE3, AVX2, and the full dispatch chain) produce identical -results to the C reference, across multiple buffer sizes with both -aligned and unaligned buffers. - -Co-Authored-By: Claude Opus 4.6 ---- - Makefile.in | 11 +++- - simd-checksum-x86_64.cpp | 115 ++++++++++++++++++++++++++++++++++- - testsuite/simd-checksum.test | 11 ++++ - 3 files changed, 134 insertions(+), 3 deletions(-) - create mode 100755 testsuite/simd-checksum.test - -diff --git a/Makefile.in b/Makefile.in -index 6340403be..6f188ee8a 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -57,7 +57,8 @@ TLS_OBJ = tls.o syscall.o util2.o t_stub.o lib/compat.o lib/snprintf.o lib/perms - - # Programs we must have to run the test cases - CHECK_PROGS = rsync$(EXEEXT) tls$(EXEEXT) getgroups$(EXEEXT) getfsdev$(EXEEXT) \ -- testrun$(EXEEXT) trimslash$(EXEEXT) t_unsafe$(EXEEXT) wildtest$(EXEEXT) -+ testrun$(EXEEXT) trimslash$(EXEEXT) t_unsafe$(EXEEXT) wildtest$(EXEEXT) \ -+ simdtest$(EXEEXT) - - CHECK_SYMLINKS = testsuite/chown-fake.test testsuite/devices-fake.test testsuite/xattrs-hlink.test - -@@ -326,6 +327,14 @@ wildtest.o: wildtest.c t_stub.o lib/wildmatch.c rsync.h config.h - wildtest$(EXEEXT): wildtest.o lib/compat.o lib/snprintf.o @BUILD_POPT@ - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ wildtest.o lib/compat.o lib/snprintf.o @BUILD_POPT@ $(LIBS) - -+simdtest$(EXEEXT): simd-checksum-x86_64.cpp $(HEADERS) -+ @if test x"@ROLL_SIMD@" != x; then \ -+ $(CXX) -I. $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -DTEST_SIMD_CHECKSUM1 \ -+ -o $@ $(srcdir)/simd-checksum-x86_64.cpp @ROLL_ASM@ $(LIBS); \ -+ else \ -+ touch $@; \ -+ fi -+ - testsuite/chown-fake.test: - ln -s chown.test $(srcdir)/testsuite/chown-fake.test - -diff --git a/simd-checksum-x86_64.cpp b/simd-checksum-x86_64.cpp -index d649091ea..99391cbe4 100644 ---- a/simd-checksum-x86_64.cpp -+++ b/simd-checksum-x86_64.cpp -@@ -347,8 +347,7 @@ __attribute__ ((target("avx2"))) MVSTATIC int32 get_checksum1_avx2_64(schar* buf - __m128i tmp = _mm_load_si128((__m128i*) mul_t1_buf); - __m256i mul_t1 = _mm256_cvtepu8_epi16(tmp); - __m256i mul_const = _mm256_broadcastd_epi32(_mm_cvtsi32_si128(4 | (3 << 8) | (2 << 16) | (1 << 24))); -- __m256i mul_one; -- mul_one = _mm256_abs_epi8(_mm256_cmpeq_epi16(mul_one,mul_one)); // set all vector elements to 1 -+ __m256i mul_one = _mm256_set1_epi8(1); - - for (; i < (len-64); i+=64) { - // Load ... 4*[int8*16] -@@ -548,6 +547,118 @@ int main() { - #pragma clang optimize on - #endif /* BENCHMARK_SIMD_CHECKSUM1 */ - -+#ifdef TEST_SIMD_CHECKSUM1 -+ -+static uint32 checksum_via_default(char *buf, int32 len) -+{ -+ uint32 s1 = 0, s2 = 0; -+ get_checksum1_default_1((schar*)buf, len, 0, &s1, &s2); -+ return (s1 & 0xffff) + (s2 << 16); -+} -+ -+static uint32 checksum_via_sse2(char *buf, int32 len) -+{ -+ int32 i; -+ uint32 s1 = 0, s2 = 0; -+ i = get_checksum1_sse2_32((schar*)buf, len, 0, &s1, &s2); -+ get_checksum1_default_1((schar*)buf, len, i, &s1, &s2); -+ return (s1 & 0xffff) + (s2 << 16); -+} -+ -+static uint32 checksum_via_ssse3(char *buf, int32 len) -+{ -+ int32 i; -+ uint32 s1 = 0, s2 = 0; -+ i = get_checksum1_ssse3_32((schar*)buf, len, 0, &s1, &s2); -+ get_checksum1_default_1((schar*)buf, len, i, &s1, &s2); -+ return (s1 & 0xffff) + (s2 << 16); -+} -+ -+static uint32 checksum_via_avx2(char *buf, int32 len) -+{ -+ int32 i; -+ uint32 s1 = 0, s2 = 0; -+#ifdef USE_ROLL_ASM -+ i = get_checksum1_avx2_asm((schar*)buf, len, 0, &s1, &s2); -+#else -+ i = get_checksum1_avx2_64((schar*)buf, len, 0, &s1, &s2); -+#endif -+ get_checksum1_default_1((schar*)buf, len, i, &s1, &s2); -+ return (s1 & 0xffff) + (s2 << 16); -+} -+ -+int main() -+{ -+ static const int sizes[] = {1, 4, 31, 32, 33, 63, 64, 65, 128, 129, 256, 700, 1024, 4096, 65536}; -+ int num_sizes = sizeof(sizes) / sizeof(sizes[0]); -+ int max_size = sizes[num_sizes - 1]; -+ int failures = 0; -+ -+ /* Allocate with extra bytes for unaligned test */ -+ unsigned char *raw = (unsigned char *)malloc(max_size + 64 + 1); -+ if (!raw) { -+ fprintf(stderr, "malloc failed\n"); -+ return 1; -+ } -+ -+ /* Fill with deterministic data */ -+ for (int i = 0; i < max_size + 64 + 1; i++) -+ raw[i] = (i + (i % 3) + (i % 11)) % 256; -+ -+ /* Test with aligned buffer (64-byte aligned) */ -+ unsigned char *aligned = raw + (64 - ((uintptr_t)raw % 64)); -+ -+ /* Test with unaligned buffer (+1 byte offset) */ -+ unsigned char *unaligned = aligned + 1; -+ -+ struct { const char *name; unsigned char *buf; } buffers[] = { -+ {"aligned", aligned}, -+ {"unaligned", unaligned}, -+ }; -+ -+ for (int b = 0; b < 2; b++) { -+ char *buf = (char *)buffers[b].buf; -+ const char *bname = buffers[b].name; -+ -+ for (int s = 0; s < num_sizes; s++) { -+ int32 len = sizes[s]; -+ uint32 ref = checksum_via_default(buf, len); -+ uint32 cs_sse2 = checksum_via_sse2(buf, len); -+ uint32 cs_ssse3 = checksum_via_ssse3(buf, len); -+ uint32 cs_avx2 = checksum_via_avx2(buf, len); -+ uint32 cs_auto = get_checksum1(buf, len); -+ -+ if (cs_sse2 != ref) { -+ printf("FAIL %-9s size=%5d: SSE2=%08x ref=%08x\n", bname, len, cs_sse2, ref); -+ failures++; -+ } -+ if (cs_ssse3 != ref) { -+ printf("FAIL %-9s size=%5d: SSSE3=%08x ref=%08x\n", bname, len, cs_ssse3, ref); -+ failures++; -+ } -+ if (cs_avx2 != ref) { -+ printf("FAIL %-9s size=%5d: AVX2=%08x ref=%08x\n", bname, len, cs_avx2, ref); -+ failures++; -+ } -+ if (cs_auto != ref) { -+ printf("FAIL %-9s size=%5d: auto=%08x ref=%08x\n", bname, len, cs_auto, ref); -+ failures++; -+ } -+ } -+ } -+ -+ free(raw); -+ -+ if (failures) { -+ printf("%d checksum mismatches!\n", failures); -+ return 1; -+ } -+ printf("All SIMD checksum tests passed.\n"); -+ return 0; -+} -+ -+#endif /* TEST_SIMD_CHECKSUM1 */ -+ - #endif /* } USE_ROLL_SIMD */ - #endif /* } __cplusplus */ - #endif /* } __x86_64__ */ -diff --git a/testsuite/simd-checksum.test b/testsuite/simd-checksum.test -new file mode 100755 -index 000000000..cf7dba2ec ---- /dev/null -+++ b/testsuite/simd-checksum.test -@@ -0,0 +1,11 @@ -+#!/bin/sh -+ -+# Test SIMD checksum implementations against the C reference -+ -+. "$suitedir/rsync.fns" -+ -+if ! test -x "$TOOLDIR/simdtest"; then -+ test_skipped "simdtest not built (SIMD not available)" -+fi -+ -+"$TOOLDIR/simdtest" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/files/rsync-3.4.1-glibc-2.43.patch b/sdk_container/src/third_party/portage-stable/net-misc/rsync/files/rsync-3.4.1-glibc-2.43.patch deleted file mode 100644 index b4e53fb167e..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/rsync/files/rsync-3.4.1-glibc-2.43.patch +++ /dev/null @@ -1,77 +0,0 @@ -Manual backport of https://github.com/RsyncProject/rsync/pull/867 - ---- a/access.c -+++ b/access.c -@@ -99,7 +99,7 @@ static void make_mask(char *mask, int pl - return; - } - --static int match_address(const char *addr, const char *tok) -+static int match_address(const char *addr, char *tok) - { - char *p; - struct addrinfo hints, *resa, *rest; ---- a/checksum.c -+++ b/checksum.c -@@ -176,7 +176,7 @@ void parse_checksum_choice(int final_cal - if (valid_checksums.negotiated_nni) - xfer_sum_nni = file_sum_nni = valid_checksums.negotiated_nni; - else { -- char *cp = checksum_choice ? strchr(checksum_choice, ',') : NULL; -+ const char *cp = checksum_choice ? strchr(checksum_choice, ',') : NULL; - if (cp) { - xfer_sum_nni = parse_csum_name(checksum_choice, cp - checksum_choice); - file_sum_nni = parse_csum_name(cp+1, -1); ---- a/compat.c -+++ b/compat.c -@@ -131,7 +131,7 @@ static const char *client_info; - * of that protocol for it to be advertised as available. */ - static void check_sub_protocol(void) - { -- char *dot; -+ const char *dot; - int their_protocol, their_sub; - int our_sub = get_subprotocol_version(); - -@@ -414,7 +414,7 @@ static const char *getenv_nstr(int ntype - env_str = ntype == NSTR_COMPRESS ? "zlib" : protocol_version >= 30 ? "md5" : "md4"; - - if (am_server && env_str) { -- char *cp = strchr(env_str, '&'); -+ const char *cp = strchr(env_str, '&'); - if (cp) - env_str = cp + 1; - } ---- a/exclude.c -+++ b/exclude.c -@@ -904,7 +904,7 @@ static int rule_matches(const char *fnam - { - int slash_handling, str_cnt = 0, anchored_match = 0; - int ret_match = ex->rflags & FILTRULE_NEGATE ? 0 : 1; -- char *p, *pattern = ex->pattern; -+ const char *p, *pattern = ex->pattern; - const char *strings[16]; /* more than enough */ - const char *name = fname + (*fname == '/'); - ---- a/io.c -+++ b/io.c -@@ -1159,7 +1159,7 @@ void set_io_timeout(int secs) - static void check_for_d_option_error(const char *msg) - { - static char rsync263_opts[] = "BCDHIKLPRSTWabceghlnopqrtuvxz"; -- char *colon; -+ const char *colon; - int saw_d = 0; - - if (*msg != 'r' ---- a/loadparm.c -+++ b/loadparm.c -@@ -178,7 +178,7 @@ static char *expand_vars(const char *str - - for (t = buf, f = str; bufsize && *f; ) { - if (*f == '%' && isUpper(f+1)) { -- char *percent = strchr(f+1, '%'); -+ const char *percent = strchr(f+1, '%'); - if (percent && percent - f < bufsize) { - char *val; - strlcpy(t, f+1, percent - f); diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1-r2.ebuild deleted file mode 100644 index 052f932664c..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1-r2.ebuild +++ /dev/null @@ -1,207 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Uncomment when introducing a patch which touches configure -RSYNC_NEEDS_AUTOCONF=1 -PYTHON_COMPAT=( python3_{11..13} ) -inherit flag-o-matic prefix python-single-r1 systemd - -DESCRIPTION="File transfer program to keep remote files into sync" -HOMEPAGE="https://rsync.samba.org/" -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://github.com/WayneD/rsync.git" - inherit autotools git-r3 - - REQUIRED_USE="${PYTHON_REQUIRED_USE}" -else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/andrewtridgell.asc - inherit verify-sig - - if [[ -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then - inherit autotools - fi - - if [[ ${PV} == *_pre* ]] ; then - SRC_DIR="src-previews" - else - SRC_DIR="src" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 - verify-sig? ( https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz.asc )" - S="${WORKDIR}"/${P/_/} -fi - -LICENSE="GPL-3" -SLOT="0" -IUSE="acl examples iconv lz4 rrsync ssl stunnel system-zlib xattr +xxhash zstd" -REQUIRED_USE+=" examples? ( ${PYTHON_REQUIRED_USE} )" -REQUIRED_USE+=" rrsync? ( ${PYTHON_REQUIRED_USE} )" - -# attr is autodetected and then dropped by -Wl,--as-needed: -# https://github.com/RsyncProject/rsync/pull/753 -RDEPEND=" - >=dev-libs/popt-1.19 - acl? ( virtual/acl ) - examples? ( - ${PYTHON_DEPS} - dev-lang/perl - ) - lz4? ( app-arch/lz4:= ) - rrsync? ( - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/bracex[${PYTHON_USEDEP}] - ') - ) - ssl? ( dev-libs/openssl:= ) - system-zlib? ( virtual/zlib:= ) - xxhash? ( >=dev-libs/xxhash-0.8 ) - zstd? ( >=app-arch/zstd-1.4:= ) - iconv? ( virtual/libiconv )" -DEPEND="${RDEPEND}" -BDEPEND=" - examples? ( ${PYTHON_DEPS} ) - rrsync? ( ${PYTHON_DEPS} ) -" - -if [[ ${PV} == *9999 ]] ; then - BDEPEND+=" ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/commonmark[${PYTHON_USEDEP}] - ')" -else - BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-andrewtridgell )" -fi - -PATCHES=( - "${FILESDIR}"/${PN}-3.4.1-c23.patch - "${FILESDIR}"/${PN}-3.4.1-CVE-2025-10158.patch -) - -pkg_setup() { - # - USE=examples needs Python itself at runtime, but nothing else - # - 9999 needs commonmark at build time - if [[ ${PV} == *9999 ]] || use examples || use rrsync; then - python-single-r1_pkg_setup - fi -} - -src_prepare() { - default - - sed -i -e 's/AC_HEADER_MAJOR_FIXED/AC_HEADER_MAJOR/' configure.ac - - if [[ ${PV} == *9999 || -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then - eaclocal -I m4 - eautoconf -o configure.sh - eautoheader && touch config.h.in - fi - - if use examples || use rrsync; then - python_fix_shebang support/ - fi - - if [[ -f rrsync.1 ]]; then - # If the pre-build rrsync.1 man page exists, then link to it - # from support/rrsync.1 to avoid rsync's build system attempting - # re-creating the man page (bug #883049). - ln -s ../rrsync.1 support/rrsync.1 || die - fi -} - -src_configure() { - local myeconfargs=( - --with-rsyncd-conf="${EPREFIX}"/etc/rsyncd.conf - --without-included-popt - --enable-ipv6 - $(use_enable acl acl-support) - $(use_enable iconv) - $(use_enable lz4) - $(use_with rrsync) - $(use_enable ssl openssl) - $(use_with !system-zlib included-zlib) - $(use_enable xattr xattr-support) - $(use_enable xxhash) - $(use_enable zstd) - ) - - # https://github.com/WayneD/rsync/pull/428 - if is-flagq -fsanitize=undefined ; then - sed -E -i \ - -e 's:#define CAREFUL_ALIGNMENT (0|1):#define CAREFUL_ALIGNMENT 1:' \ - byteorder.h || die - append-flags -DCAREFUL_ALIGNMENT - fi - - econf "${myeconfargs[@]}" -} - -src_install() { - emake DESTDIR="${D}" install - - newconfd "${FILESDIR}"/rsyncd.conf.d rsyncd - newinitd "${FILESDIR}"/rsyncd.init.d-r1 rsyncd - - dodoc NEWS.md README.md TODO tech_report.tex - - insinto /etc - newins "${FILESDIR}"/rsyncd.conf-3.2.7-r5 rsyncd.conf - - insinto /etc/logrotate.d - newins "${FILESDIR}"/rsyncd.logrotate rsyncd - - insinto /etc/xinetd.d - newins "${FILESDIR}"/rsyncd.xinetd-3.0.9-r1 rsyncd - - # Install stunnel helpers - if use stunnel ; then - emake DESTDIR="${D}" install-ssl-daemon - fi - - # Install the useful contrib scripts - if use examples ; then - # The 'rrsync' script is installed conditionally via the 'rrysnc' - # USE flag, and not via the 'examples' USE flag. - rm support/rrsync* || die - - exeinto /usr/share/rsync - doexe support/* - - rm -f "${ED}"/usr/share/rsync/{Makefile*,*.c} - fi - - eprefixify "${ED}"/etc/{,xinetd.d}/rsyncd* - - systemd_newunit packaging/systemd/rsync.service rsyncd.service -} - -pkg_postinst() { - if grep -Eqis '^[[:space:]]use chroot[[:space:]]*=[[:space:]]*(no|0|false)' \ - "${EROOT}"/etc/rsyncd.conf "${EROOT}"/etc/rsync/rsyncd.conf ; then - ewarn "You have disabled chroot support in your rsyncd.conf. This" - ewarn "is a security risk which you should fix. Please check your" - ewarn "/etc/rsyncd.conf file and fix the setting 'use chroot'." - fi - - if use stunnel ; then - einfo "Please install \">=net-misc/stunnel-4\" in order to use stunnel feature." - einfo - einfo "You maybe have to update the certificates configured in" - einfo "${EROOT}/etc/stunnel/rsync.conf" - fi - - if use system-zlib ; then - ewarn "Using system-zlib is incompatible with =rsync-3.1.1 built with bundled zlib," - ewarn "and the --compress option, add --new-compress (-zz)." - ewarn - ewarn "For syncing the portage tree, add:" - ewarn "PORTAGE_RSYNC_EXTRA_OPTS=\"--new-compress\" to make.conf" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1-r3.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1-r3.ebuild deleted file mode 100644 index b02c3a09509..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1-r3.ebuild +++ /dev/null @@ -1,213 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Uncomment when introducing a patch which touches configure -RSYNC_NEEDS_AUTOCONF=1 -PYTHON_COMPAT=( python3_{11..14} ) -inherit flag-o-matic prefix python-single-r1 systemd - -DESCRIPTION="File transfer program to keep remote files into sync" -HOMEPAGE="https://rsync.samba.org/" -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://github.com/WayneD/rsync.git" - inherit autotools git-r3 - - REQUIRED_USE="${PYTHON_REQUIRED_USE}" -else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/andrewtridgell.asc - inherit verify-sig - - if [[ -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then - inherit autotools - fi - - if [[ ${PV} == *_pre* ]] ; then - SRC_DIR="src-previews" - else - SRC_DIR="src" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 - verify-sig? ( https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz.asc )" - S="${WORKDIR}"/${P/_/} -fi - -LICENSE="GPL-3" -SLOT="0" -IUSE="acl examples iconv lz4 rrsync ssl stunnel system-zlib xattr +xxhash zstd" -REQUIRED_USE+=" examples? ( ${PYTHON_REQUIRED_USE} )" -REQUIRED_USE+=" rrsync? ( ${PYTHON_REQUIRED_USE} )" - -# attr is autodetected and then dropped by -Wl,--as-needed: -# https://github.com/RsyncProject/rsync/pull/753 -RDEPEND=" - >=dev-libs/popt-1.19 - acl? ( virtual/acl ) - examples? ( - ${PYTHON_DEPS} - dev-lang/perl - ) - lz4? ( app-arch/lz4:= ) - rrsync? ( - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/bracex[${PYTHON_USEDEP}] - ') - ) - ssl? ( dev-libs/openssl:= ) - system-zlib? ( virtual/zlib:= ) - xxhash? ( >=dev-libs/xxhash-0.8 ) - zstd? ( >=app-arch/zstd-1.4:= ) - iconv? ( virtual/libiconv )" -DEPEND="${RDEPEND}" -BDEPEND=" - examples? ( ${PYTHON_DEPS} ) - rrsync? ( ${PYTHON_DEPS} ) -" - -if [[ ${PV} == *9999 ]] ; then - BDEPEND+=" ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/commonmark[${PYTHON_USEDEP}] - ')" -else - BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-andrewtridgell )" -fi - -PATCHES=( - "${FILESDIR}"/${PN}-3.4.1-c23.patch - "${FILESDIR}"/${PN}-3.4.1-CVE-2025-10158.patch - "${FILESDIR}"/${PN}-3.4.1-fix-uninitialized-mul_one.patch - "${FILESDIR}"/${PN}-3.4.1-glibc-2.43.patch -) - -pkg_setup() { - # - USE=examples needs Python itself at runtime, but nothing else - # - 9999 needs commonmark at build time - if [[ ${PV} == *9999 ]] || use examples || use rrsync; then - python-single-r1_pkg_setup - fi -} - -src_prepare() { - default - - sed -i -e 's/AC_HEADER_MAJOR_FIXED/AC_HEADER_MAJOR/' configure.ac - - if [[ ${PV} == *9999 || -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then - eaclocal -I m4 - eautoconf -o configure.sh - eautoheader && touch config.h.in - fi - - if use examples || use rrsync; then - python_fix_shebang support/ - fi - - if [[ -f rrsync.1 ]]; then - # If the pre-build rrsync.1 man page exists, then link to it - # from support/rrsync.1 to avoid rsync's build system attempting - # re-creating the man page (bug #883049). - ln -s ../rrsync.1 support/rrsync.1 || die - fi -} - -src_configure() { - local myeconfargs=( - --with-rsyncd-conf="${EPREFIX}"/etc/rsyncd.conf - --without-included-popt - --enable-ipv6 - $(use_enable acl acl-support) - $(use_enable iconv) - $(use_enable lz4) - $(use_with rrsync) - $(use_enable ssl openssl) - $(use_with !system-zlib included-zlib) - $(use_enable xattr xattr-support) - $(use_enable xxhash) - $(use_enable zstd) - ) - - # https://github.com/WayneD/rsync/pull/428 - if is-flagq -fsanitize=undefined ; then - sed -E -i \ - -e 's:#define CAREFUL_ALIGNMENT (0|1):#define CAREFUL_ALIGNMENT 1:' \ - byteorder.h || die - append-flags -DCAREFUL_ALIGNMENT - fi - - # workaround for autoconf-2.73 using C23: - # https://bugs.gentoo.org/972320 - append-cflags -std=gnu17 - - econf "${myeconfargs[@]}" -} - -src_install() { - emake DESTDIR="${D}" install - - newconfd "${FILESDIR}"/rsyncd.conf.d rsyncd - newinitd "${FILESDIR}"/rsyncd.init.d-r1 rsyncd - - dodoc NEWS.md README.md TODO tech_report.tex - - insinto /etc - newins "${FILESDIR}"/rsyncd.conf-3.2.7-r5 rsyncd.conf - - insinto /etc/logrotate.d - newins "${FILESDIR}"/rsyncd.logrotate rsyncd - - insinto /etc/xinetd.d - newins "${FILESDIR}"/rsyncd.xinetd-3.0.9-r1 rsyncd - - # Install stunnel helpers - if use stunnel ; then - emake DESTDIR="${D}" install-ssl-daemon - fi - - # Install the useful contrib scripts - if use examples ; then - # The 'rrsync' script is installed conditionally via the 'rrysnc' - # USE flag, and not via the 'examples' USE flag. - rm support/rrsync* || die - - exeinto /usr/share/rsync - doexe support/* - - rm -f "${ED}"/usr/share/rsync/{Makefile*,*.c} - fi - - eprefixify "${ED}"/etc/{,xinetd.d}/rsyncd* - - systemd_newunit packaging/systemd/rsync.service rsyncd.service -} - -pkg_postinst() { - if grep -Eqis '^[[:space:]]use chroot[[:space:]]*=[[:space:]]*(no|0|false)' \ - "${EROOT}"/etc/rsyncd.conf "${EROOT}"/etc/rsync/rsyncd.conf ; then - ewarn "You have disabled chroot support in your rsyncd.conf. This" - ewarn "is a security risk which you should fix. Please check your" - ewarn "/etc/rsyncd.conf file and fix the setting 'use chroot'." - fi - - if use stunnel ; then - einfo "Please install \">=net-misc/stunnel-4\" in order to use stunnel feature." - einfo - einfo "You maybe have to update the certificates configured in" - einfo "${EROOT}/etc/stunnel/rsync.conf" - fi - - if use system-zlib ; then - ewarn "Using system-zlib is incompatible with =rsync-3.1.1 built with bundled zlib," - ewarn "and the --compress option, add --new-compress (-zz)." - ewarn - ewarn "For syncing the portage tree, add:" - ewarn "PORTAGE_RSYNC_EXTRA_OPTS=\"--new-compress\" to make.conf" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.3.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.3.ebuild deleted file mode 100644 index d445ea8ae4c..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.3.ebuild +++ /dev/null @@ -1,200 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Uncomment when introducing a patch which touches configure -RSYNC_NEEDS_AUTOCONF=1 -PYTHON_COMPAT=( python3_{11..14} ) -inherit flag-o-matic prefix python-single-r1 systemd - -DESCRIPTION="File transfer program to keep remote files into sync" -HOMEPAGE="https://rsync.samba.org/" -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://github.com/WayneD/rsync.git" - inherit autotools git-r3 - - REQUIRED_USE="${PYTHON_REQUIRED_USE}" -else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/andrewtridgell.asc - inherit verify-sig - - if [[ -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then - inherit autotools - fi - - if [[ ${PV} == *_pre* ]] ; then - SRC_DIR="src-previews" - else - SRC_DIR="src" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 - verify-sig? ( https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz.asc )" - S="${WORKDIR}"/${P/_/} -fi - -LICENSE="GPL-3" -SLOT="0" -IUSE="acl examples iconv lz4 rrsync ssl stunnel system-zlib xattr +xxhash zstd" -REQUIRED_USE+=" examples? ( ${PYTHON_REQUIRED_USE} )" -REQUIRED_USE+=" rrsync? ( ${PYTHON_REQUIRED_USE} )" - -RDEPEND=" - >=dev-libs/popt-1.19 - acl? ( virtual/acl ) - examples? ( - ${PYTHON_DEPS} - dev-lang/perl - ) - lz4? ( app-arch/lz4:= ) - rrsync? ( - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/bracex[${PYTHON_USEDEP}] - ') - ) - ssl? ( dev-libs/openssl:= ) - system-zlib? ( virtual/zlib:= ) - xxhash? ( >=dev-libs/xxhash-0.8 ) - zstd? ( >=app-arch/zstd-1.4:= ) - iconv? ( virtual/libiconv )" -DEPEND="${RDEPEND}" -BDEPEND=" - examples? ( ${PYTHON_DEPS} ) - rrsync? ( ${PYTHON_DEPS} ) -" - -if [[ ${PV} == *9999 ]] ; then - BDEPEND+=" ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/commonmark[${PYTHON_USEDEP}] - ')" -else - BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-andrewtridgell )" -fi - -pkg_setup() { - # - USE=examples needs Python itself at runtime, but nothing else - # - 9999 needs commonmark at build time - if [[ ${PV} == *9999 ]] || use examples || use rrsync; then - python-single-r1_pkg_setup - fi -} - -src_prepare() { - default - - sed -i -e 's/AC_HEADER_MAJOR_FIXED/AC_HEADER_MAJOR/' configure.ac - - if [[ ${PV} == *9999 || -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then - eaclocal -I m4 - eautoconf -o configure.sh - eautoheader && touch config.h.in - fi - - if use examples || use rrsync; then - python_fix_shebang support/ - fi - - if [[ -f rrsync.1 ]]; then - # If the pre-build rrsync.1 man page exists, then link to it - # from support/rrsync.1 to avoid rsync's build system attempting - # re-creating the man page (bug #883049). - ln -s ../rrsync.1 support/rrsync.1 || die - fi -} - -src_configure() { - local myeconfargs=( - --with-rsyncd-conf="${EPREFIX}"/etc/rsyncd.conf - --without-included-popt - --enable-ipv6 - $(use_enable acl acl-support) - $(use_enable iconv) - $(use_enable lz4) - $(use_with rrsync) - $(use_enable ssl openssl) - $(use_with !system-zlib included-zlib) - $(use_enable xattr xattr-support) - $(use_enable xxhash) - $(use_enable zstd) - ) - - # https://github.com/WayneD/rsync/pull/428 - if is-flagq -fsanitize=undefined ; then - sed -E -i \ - -e 's:#define CAREFUL_ALIGNMENT (0|1):#define CAREFUL_ALIGNMENT 1:' \ - byteorder.h || die - append-flags -DCAREFUL_ALIGNMENT - fi - - econf "${myeconfargs[@]}" -} - -src_install() { - emake DESTDIR="${D}" install - - newconfd "${FILESDIR}"/rsyncd.conf.d rsyncd - newinitd "${FILESDIR}"/rsyncd.init.d-r1 rsyncd - - dodoc NEWS.md README.md TODO tech_report.tex - - insinto /etc - newins "${FILESDIR}"/rsyncd.conf-3.2.7-r5 rsyncd.conf - - insinto /etc/logrotate.d - newins "${FILESDIR}"/rsyncd.logrotate rsyncd - - insinto /etc/xinetd.d - newins "${FILESDIR}"/rsyncd.xinetd-3.0.9-r1 rsyncd - - # Install stunnel helpers - if use stunnel ; then - emake DESTDIR="${D}" install-ssl-daemon - fi - - # Install the useful contrib scripts - if use examples ; then - # The 'rrsync' script is installed conditionally via the 'rrysnc' - # USE flag, and not via the 'examples' USE flag. - rm support/rrsync* || die - - exeinto /usr/share/rsync - doexe support/* - - rm -f "${ED}"/usr/share/rsync/{Makefile*,*.c} - fi - - eprefixify "${ED}"/etc/{,xinetd.d}/rsyncd* - - systemd_newunit packaging/systemd/rsync.service rsyncd.service -} - -pkg_postinst() { - if grep -Eqis '^[[:space:]]use chroot[[:space:]]*=[[:space:]]*(no|0|false)' \ - "${EROOT}"/etc/rsyncd.conf "${EROOT}"/etc/rsync/rsyncd.conf ; then - ewarn "You have disabled chroot support in your rsyncd.conf. This" - ewarn "is a security risk which you should fix. Please check your" - ewarn "/etc/rsyncd.conf file and fix the setting 'use chroot'." - fi - - if use stunnel ; then - einfo "Please install \">=net-misc/stunnel-4\" in order to use stunnel feature." - einfo - einfo "You maybe have to update the certificates configured in" - einfo "${EROOT}/etc/stunnel/rsync.conf" - fi - - if use system-zlib ; then - ewarn "Using system-zlib is incompatible with =rsync-3.1.1 built with bundled zlib," - ewarn "and the --compress option, add --new-compress (-zz)." - ewarn - ewarn "For syncing the portage tree, add:" - ewarn "PORTAGE_RSYNC_EXTRA_OPTS=\"--new-compress\" to make.conf" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.2.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.5.0.ebuild similarity index 80% rename from sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.2.ebuild rename to sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.5.0.ebuild index 6c68357a2a5..78d4a09236d 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.5.0.ebuild @@ -5,13 +5,13 @@ EAPI=8 # Uncomment when introducing a patch which touches configure RSYNC_NEEDS_AUTOCONF=1 -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..15} ) inherit flag-o-matic prefix python-single-r1 systemd DESCRIPTION="File transfer program to keep remote files into sync" HOMEPAGE="https://rsync.samba.org/" if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://github.com/WayneD/rsync.git" + EGIT_REPO_URI="https://github.com/RsyncProject/rsync.git" inherit autotools git-r3 REQUIRED_USE="${PYTHON_REQUIRED_USE}" @@ -25,25 +25,44 @@ else if [[ ${PV} == *_pre* ]] ; then SRC_DIR="src-previews" + # Upstream make some private tarballs available for security releases + # for testing. + SRC_URI=" + ${PN}-v${PV/_pre/-test}.tar.gz + verify-sig? ( ${PN}-v${PV/_pre/-test}.tar.gz.asc ) + " + S="${WORKDIR}"/${PN}-v${PV/_pre/-test} + + RESTRICT="fetch" else SRC_DIR="src" 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 - verify-sig? ( https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz.asc )" - S="${WORKDIR}"/${P/_/} + SRC_URI=" + https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz + https://github.com/RsyncProject/rsync/releases/download/v${PV}/${P/_/}.tar.gz + verify-sig? ( + https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz.asc + https://github.com/RsyncProject/rsync/releases/download/v${PV}/${P/_/}.tar.gz.asc + ) + " + S="${WORKDIR}"/${P/_/} + fi fi LICENSE="GPL-3" SLOT="0" -IUSE="acl examples iconv lz4 rrsync ssl stunnel system-zlib xattr +xxhash zstd" -REQUIRED_USE+=" examples? ( ${PYTHON_REQUIRED_USE} )" -REQUIRED_USE+=" rrsync? ( ${PYTHON_REQUIRED_USE} )" +IUSE="acl examples iconv lz4 rrsync ssl stunnel system-zlib test xattr +xxhash zstd" +RESTRICT+=" !test? ( test )" +REQUIRED_USE+=" + examples? ( ${PYTHON_REQUIRED_USE} ) + rrsync? ( ${PYTHON_REQUIRED_USE} ) + test? ( ${PYTHON_REQUIRED_USE} ) +" RDEPEND=" >=dev-libs/popt-1.19 - acl? ( virtual/acl ) + acl? ( >=virtual/acl-2.4.0 ) examples? ( ${PYTHON_DEPS} dev-lang/perl @@ -64,13 +83,16 @@ DEPEND="${RDEPEND}" BDEPEND=" examples? ( ${PYTHON_DEPS} ) rrsync? ( ${PYTHON_DEPS} ) + test? ( ${PYTHON_DEPS} ) " if [[ ${PV} == *9999 ]] ; then - BDEPEND+=" ${PYTHON_DEPS} + BDEPEND+=" + ${PYTHON_DEPS} $(python_gen_cond_dep ' dev-python/commonmark[${PYTHON_USEDEP}] - ')" + ') + " else BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-andrewtridgell )" fi @@ -78,7 +100,7 @@ fi pkg_setup() { # - USE=examples needs Python itself at runtime, but nothing else # - 9999 needs commonmark at build time - if [[ ${PV} == *9999 ]] || use examples || use rrsync; then + if [[ ${PV} == *9999 ]] || use examples || use rrsync || use test ; then python-single-r1_pkg_setup fi } @@ -122,11 +144,7 @@ src_configure() { $(use_enable zstd) ) - # https://github.com/WayneD/rsync/pull/428 if is-flagq -fsanitize=undefined ; then - sed -E -i \ - -e 's:#define CAREFUL_ALIGNMENT (0|1):#define CAREFUL_ALIGNMENT 1:' \ - byteorder.h || die append-flags -DCAREFUL_ALIGNMENT fi 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 7a8d16c4d1e..78d4a09236d 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 @@ -6,7 +6,7 @@ EAPI=8 # Uncomment when introducing a patch which touches configure RSYNC_NEEDS_AUTOCONF=1 PYTHON_COMPAT=( python3_{12..15} ) -inherit prefix python-single-r1 systemd +inherit flag-o-matic prefix python-single-r1 systemd DESCRIPTION="File transfer program to keep remote files into sync" HOMEPAGE="https://rsync.samba.org/" @@ -25,20 +25,35 @@ else if [[ ${PV} == *_pre* ]] ; then SRC_DIR="src-previews" + # Upstream make some private tarballs available for security releases + # for testing. + SRC_URI=" + ${PN}-v${PV/_pre/-test}.tar.gz + verify-sig? ( ${PN}-v${PV/_pre/-test}.tar.gz.asc ) + " + S="${WORKDIR}"/${PN}-v${PV/_pre/-test} + + RESTRICT="fetch" else SRC_DIR="src" 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 - verify-sig? ( https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz.asc )" - S="${WORKDIR}"/${P/_/} + SRC_URI=" + https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz + https://github.com/RsyncProject/rsync/releases/download/v${PV}/${P/_/}.tar.gz + verify-sig? ( + https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz.asc + https://github.com/RsyncProject/rsync/releases/download/v${PV}/${P/_/}.tar.gz.asc + ) + " + S="${WORKDIR}"/${P/_/} + fi fi LICENSE="GPL-3" SLOT="0" IUSE="acl examples iconv lz4 rrsync ssl stunnel system-zlib test xattr +xxhash zstd" -RESTRICT="!test? ( test )" +RESTRICT+=" !test? ( test )" REQUIRED_USE+=" examples? ( ${PYTHON_REQUIRED_USE} ) rrsync? ( ${PYTHON_REQUIRED_USE} ) @@ -47,7 +62,7 @@ REQUIRED_USE+=" RDEPEND=" >=dev-libs/popt-1.19 - acl? ( virtual/acl ) + acl? ( >=virtual/acl-2.4.0 ) examples? ( ${PYTHON_DEPS} dev-lang/perl @@ -129,6 +144,10 @@ src_configure() { $(use_enable zstd) ) + if is-flagq -fsanitize=undefined ; then + append-flags -DCAREFUL_ALIGNMENT + fi + econf "${myeconfargs[@]}" } diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/Manifest b/sdk_container/src/third_party/portage-stable/net-nds/openldap/Manifest index b24b1d07bec..dd54128f6a7 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/Manifest @@ -1,10 +1,6 @@ -DIST openldap-2.5.19.tgz 6458108 BLAKE2B f1cea685c6bc7691cb77b2a12be74b56d479bb152d4c97e87d2e0de8767d33a277557c3ca291928abb0b62d986fcd474969c9618fa499dd9202cdaac39b3b3ce SHA512 12838fd5ac93b18fabda14e8f55c59d1bba169a114c59ac81e621f09f407d87e8ef9244aae951d984b8c8971f4c907c385e57ead671ea0a434282f7d616358b9 -DIST openldap-2.5.19.tgz.asc 833 BLAKE2B 3d56134d65de1ae7a2e4e7d4c44d5fd166fdca136f8580897fedb26dc195b0730dbb7502a6cbe1b8991857a725bedb0398e703d933166459b39d16265c143ff8 SHA512 d322a61f1872062f5594091455bd0d2ecbe1741db5852d4ee5c9c77b162c5ee0750de33dc56cd87b4bdbcc954121cebf2dd39eeedd9bdcc9b39821e44ceeff09 DIST openldap-2.5.20.tgz 6462390 BLAKE2B 87d4adfdbb6e4c16024ef3fe0a6f0a74e0381005a75c71cad9a1ab6e71740773a901304bf5a2265a68c020a3cbb9f925c26301701321640590996a429ee47ad5 SHA512 fb96682f8981aa9c5b234f71cd5d48c218aedd8d1301d8c9cef729b36029391b477b551fb129977aeeaffa006ca67f7af30d7614b26dbac8033367880023e3a9 DIST openldap-2.5.20.tgz.asc 833 BLAKE2B b225091950a5c49768dced11b45750e6e70d69c62443824d16e8e0c4eaf8321e467863cc146fe00f9e0954aeb891f9277acd81d8ea36757d654b823e269d8893 SHA512 5954ed2e200172807c4cd6d9bba7194284bb057d847d9698cf6adf4cb5745c398284d9eadf75347b6e321903fd3cf4cbba362b8686f823b67e367f860bac8be8 -DIST openldap-2.6.12.tgz 6524579 BLAKE2B e1ba63a73276728bea66d14c872f59a4e8d0187d057ee28765a3fd51f4f1f4e9c739da689131fdebe049b188bc134f17dfc51289710886163f75b19e76c35cce SHA512 951b510393433114939f386d43e202a62803724f395e4e400a556ca451f90ff1e179fe580b3db51f275859257b32814e66a13145d46f68bded4ff61c1fa37f36 -DIST openldap-2.6.12.tgz.asc 833 BLAKE2B 94ec571c15574c480348a2c845fdf3f99de4f6916b3cc8d262add1246674e079587c8e9307bfd2fc69cbb611e81762e49a693a31af715c9cc1440c7167ec206d SHA512 7bd45db97615a39982b7eff61b08e7f643b87d9d729c6dd001d01d179abee191223557b53b1ec7af57caab2dab13482da4b85c72814bb065f3bb3db49a6b669f DIST openldap-2.6.13.tgz 6525768 BLAKE2B 056579a32ffa082aafc988ba74d9be52eab06ccd67c40bf7c2e14690d6d82fe43596e6bc0caf580f4d326b0b6654c3090d0560f81ba0f5399ccb205c9be67aaa SHA512 a64b222bee2e8693e534f64eeb7afcd1f0c7a4b9ae2288ce2c53be9b532902fac3a1e3318c82545cf30c7f982a68b5167ee8baba1f4be5c1a72abdb7c75ac80b DIST openldap-2.6.13.tgz.asc 833 BLAKE2B 61a3baca03509b3d66efdba2467604c696188e8d5ba4a59a9c84b21dc7850592e92ec0a518ca4118b7ce991f02b595b486ca3fb63adf6063238ded24a8662417 SHA512 8ad1ecfbcbfec001579d4dd50fbbceb2d4af61600b1805c33e79def562c434a1fed59cb3e30cf8886fb193d9a688122961689378a67420a3f3f54c4549b5d7f2 -DIST openldap-OPENLDAP_REL_ENG_2_6_8.tar.bz2 5065637 BLAKE2B d55345c11bd8892a594c3f7114cd1368e017c2e29997da7a80bdd915308d498f62dfb5cc3a3360b50df78ef5f90a48a566a8ce3ace85ebf9aa6b288a37c4eff2 SHA512 556d1377afc73a84ee325c4d7bcc8446def936b67d3f07df4bd2a243ff30f268c5c0c298977482df1e1a86b2b7a0cd7846fc1f51d706748d39f67f5d621ccc04 -DIST rfc2307bis.schema-20140524 12262 BLAKE2B 98031f49e9bde1e4821e637af3382364d8344ed7017649686a088070d96a632dffa6c661552352656b1b159c0fd962965580069a64c7f3d5bb6a3ed75f60fd99 SHA512 83b89a1deeefc8566b97e7e865b9b6d04541099cbdf719e24538a7d27d61b6209e87ab9003a9f140bd9afd018ec569e71721e3a24090e1902c8b6659d2ba103e +DIST openldap-2.6.14.tgz 6524817 BLAKE2B cd98eea55c4797fcd8b49b5733850b5bfbb19d77852274a96cbcc1efe480c43160019ac60ce76672ae4ef8a53609463e4d7bc33035d914310840042d13fe19c7 SHA512 f1e25806905d729fa41e3828c257327a39abc34ed095a308a66dc49c1e3a0328df3f2db03e3bed26a50309fdfdac45d67f2761ba0bfd60c8a4d50a449869547a +DIST openldap-2.6.14.tgz.asc 833 BLAKE2B 0baf9b804b71580a683e30f0529b32d0956963e05f985b90dceb023989bb742f99694a7eb035efda7ab9d424af72c80141b934f83c263b6ac1d2377a217bf80e SHA512 762d4f8c067a4798cb25c9701fcd586919b57329ab62f59c12f7e513551a25f052e78f007c6f96653e399acc980bb51fdd19171899972811d24afc2b7bb95122 diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.x-gnutls-pointer-error.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.x-gnutls-pointer-error.patch deleted file mode 100644 index e6ab4e5a46c..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.x-gnutls-pointer-error.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 634017950c1c920d0de63fffa5c52e621de1d603 Mon Sep 17 00:00:00 2001 -From: Wang Mingyu -Date: Wed, 26 Jun 2024 07:41:01 +0000 -Subject: Fix incompatible pointer type error with gcc option - -Wincompatible-pointer-types - -lib32-openldap do_compile failure with gcc-14: -| tls_g.c:971:57: error: passing argument 4 of 'gnutls_fingerprint' from incompatible pointer type [-Wincompatible-pointer-types] -| 971 | keyhash.bv_val, &keyhash.bv_len ) < 0 ) { -| | ^~~~~~~~~~~~~~~ -| | | -| | ber_len_t * {aka long unsigned int *} -| In file included from tls_g.c:44: -| /usr/include/gnutls/gnutls.h:2406:32: note: expected 'size_t *' {aka 'unsigned int *'} but argument is of type 'ber_len_t *' {aka 'long unsigned int *'} -| 2406 | size_t *result_size); -| | ^~~ - -Upstream-Status: Submitted - -Signed-off-by: Wang Mingyu ---- - libraries/libldap/tls_g.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libraries/libldap/tls_g.c b/libraries/libldap/tls_g.c -index 7c23875..b4b487d 100644 ---- a/libraries/libldap/tls_g.c -+++ b/libraries/libldap/tls_g.c -@@ -968,7 +968,7 @@ tlsg_session_pinning( LDAP *ld, tls_session *sess, char *hashalg, struct berval - keyhash.bv_len = gnutls_hash_get_len( alg ); - keyhash.bv_val = LDAP_MALLOC( keyhash.bv_len ); - if ( !keyhash.bv_val || gnutls_fingerprint( alg, &key, -- keyhash.bv_val, &keyhash.bv_len ) < 0 ) { -+ keyhash.bv_val, (size_t *)&keyhash.bv_len ) < 0 ) { - goto done; - } - } else { --- -2.34.1 - 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 deleted file mode 100644 index c787455a668..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.19.ebuild +++ /dev/null @@ -1,889 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Re cleanups: -# 2.5.x is an LTS release so we want to keep it for a while. - -inherit autotools flag-o-matic multilib multilib-minimal preserve-libs -inherit ssl-cert toolchain-funcs systemd tmpfiles verify-sig - -MY_PV="$(ver_rs 1-2 _)" - -BIS_PN=rfc2307bis.schema -BIS_PV=20140524 -BIS_P="${BIS_PN}-${BIS_PV}" - -DESCRIPTION="LDAP suite of application and development tools" -HOMEPAGE="https://www.openldap.org/" -SRC_URI=" - https://openldap.org/software/download/OpenLDAP/${PN}-release/${P}.tgz - mirror://gentoo/${BIS_P} - verify-sig? ( https://openldap.org/software/download/OpenLDAP/${PN}-release/${P}.tgz.asc ) -" -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" - -IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" -IUSE_OVERLAY="overlays perl autoca" -IUSE_OPTIONAL="debug gnutls iodbc ipv6 odbc sasl ssl selinux static-libs +syslog test" -IUSE_CONTRIB="kerberos kinit pbkdf2 sha2 smbkrb5passwd" -IUSE_CONTRIB="${IUSE_CONTRIB} cxx" -IUSE="systemd ${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" -REQUIRED_USE=" - cxx? ( sasl ) - pbkdf2? ( ssl ) - test? ( cleartext sasl debug ) - autoca? ( !gnutls ) - ?? ( test minimal ) - kerberos? ( ?? ( kinit smbkrb5passwd ) ) -" -RESTRICT="!test? ( test )" - -SYSTEM_LMDB_VER=0.9.33 -# openssl is needed to generate lanman-passwords required by samba -COMMON_DEPEND=" - kernel_linux? ( sys-apps/util-linux ) - ssl? ( - !gnutls? ( - >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] - ) - gnutls? ( - >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] - >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] - ) - ) - sasl? ( dev-libs/cyrus-sasl:= ) - !minimal? ( - dev-libs/libltdl - sys-fs/e2fsprogs - >=dev-db/lmdb-${SYSTEM_LMDB_VER}:= - argon2? ( app-crypt/argon2:= ) - crypt? ( virtual/libcrypt:= ) - tcpd? ( sys-apps/tcp-wrappers ) - odbc? ( !iodbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) ) - perl? ( dev-lang/perl:=[-build(-)] ) - samba? ( - dev-libs/openssl:0= - ) - smbkrb5passwd? ( - dev-libs/openssl:0= - kerberos? ( app-crypt/heimdal ) - ) - kerberos? ( - virtual/krb5 - kinit? ( !app-crypt/heimdal ) - ) - ) -" -DEPEND=" - ${COMMON_DEPEND} - sys-apps/groff -" -RDEPEND=" - ${COMMON_DEPEND} - selinux? ( sec-policy/selinux-ldap ) -" - -# The user/group are only used for running daemons which are -# disabled in minimal builds, so elide the accounts too. -BDEPEND=" - !minimal? ( - acct-group/ldap - acct-user/ldap - ) - verify-sig? ( >=sec-keys/openpgp-keys-openldap-20201216 ) -" - -# for tracking versions -OPENLDAP_VERSIONTAG=".version-tag" -OPENLDAP_DEFAULTDIR_VERSIONTAG="/var/lib/openldap-data" - -MULTILIB_WRAPPED_HEADERS=( - # USE=cxx - /usr/include/LDAPAsynConnection.h - /usr/include/LDAPAttrType.h - /usr/include/LDAPAttribute.h - /usr/include/LDAPAttributeList.h - /usr/include/LDAPConnection.h - /usr/include/LDAPConstraints.h - /usr/include/LDAPControl.h - /usr/include/LDAPControlSet.h - /usr/include/LDAPEntry.h - /usr/include/LDAPEntryList.h - /usr/include/LDAPException.h - /usr/include/LDAPExtResult.h - /usr/include/LDAPMessage.h - /usr/include/LDAPMessageQueue.h - /usr/include/LDAPModList.h - /usr/include/LDAPModification.h - /usr/include/LDAPObjClass.h - /usr/include/LDAPRebind.h - /usr/include/LDAPRebindAuth.h - /usr/include/LDAPReferenceList.h - /usr/include/LDAPResult.h - /usr/include/LDAPSaslBindResult.h - /usr/include/LDAPSchema.h - /usr/include/LDAPSearchReference.h - /usr/include/LDAPSearchResult.h - /usr/include/LDAPSearchResults.h - /usr/include/LDAPUrl.h - /usr/include/LDAPUrlList.h - /usr/include/LdifReader.h - /usr/include/LdifWriter.h - /usr/include/SaslInteraction.h - /usr/include/SaslInteractionHandler.h - /usr/include/StringList.h - /usr/include/TlsOptions.h -) - -PATCHES=( - "${FILESDIR}"/${PN}-2.4.28-fix-dash.patch - "${FILESDIR}"/${PN}-2.6.1-system-mdb.patch - "${FILESDIR}"/${PN}-2.6.1-cloak.patch - "${FILESDIR}"/${PN}-2.6.1-flags.patch - "${FILESDIR}"/${PN}-2.5.19-gcc14-SDWORD-vs-SQLINTEGER.patch -) - -openldap_filecount() { - local dir="$1" - find "${dir}" -type f ! -name '.*' ! -name 'DB_CONFIG*' | wc -l -} - -openldap_find_versiontags() { - # scan for all datadirs - local openldap_datadirs=() - if [[ -f "${EROOT}"/etc/openldap/slapd.conf ]]; then - openldap_datadirs=( $(awk '{if($1 == "directory") print $2 }' "${EROOT}"/etc/openldap/slapd.conf) ) - fi - openldap_datadirs+=( ${OPENLDAP_DEFAULTDIR_VERSIONTAG} ) - - einfo - einfo "Scanning datadir(s) from slapd.conf and" - einfo "the default installdir for Versiontags" - einfo "(${OPENLDAP_DEFAULTDIR_VERSIONTAG} may appear twice)" - einfo - - # scan datadirs if we have a version tag - openldap_found_tag=0 - have_files=0 - for each in ${openldap_datadirs[@]} ; do - CURRENT_TAGDIR="${EROOT}$(sed "s:\/::" <<< ${each})" - CURRENT_TAG="${CURRENT_TAGDIR}/${OPENLDAP_VERSIONTAG}" - if [[ -d "${CURRENT_TAGDIR}" ]] && [[ "${openldap_found_tag}" == 0 ]] ; then - einfo "- Checking ${each}..." - if [[ -r "${CURRENT_TAG}" ]] ; then - # yey, we have one :) - einfo " Found Versiontag in ${each}" - source "${CURRENT_TAG}" - if [[ "${OLDPF}" == "" ]] ; then - eerror "Invalid Versiontag found in ${CURRENT_TAGDIR}" - eerror "Please delete it" - eerror - die "Please kill the invalid versiontag in ${CURRENT_TAGDIR}" - fi - - OLD_MAJOR=$(ver_cut 2-3 ${OLDPF}) - - [[ "$(openldap_filecount ${CURRENT_TAGDIR})" -gt 0 ]] && have_files=1 - - # are we on the same branch? - if [[ "${OLD_MAJOR}" != "${PV:0:3}" ]] ; then - ewarn " Versiontag doesn't match current major release!" - if [[ "${have_files}" == "1" ]] ; then - eerror " Versiontag says other major and you (probably) have datafiles!" - echo - openldap_upgrade_howto - else - einfo " No real problem, seems there's no database." - fi - else - einfo " Versiontag is fine here :)" - fi - else - einfo " Non-tagged dir ${each}" - [[ "$(openldap_filecount ${each})" -gt 0 ]] && have_files=1 - if [[ "${have_files}" == "1" ]] ; then - einfo " EEK! Non-empty non-tagged datadir, counting `ls -a ${each} | wc -l` files" - echo - - eerror - eerror "Your OpenLDAP Installation has a non tagged datadir that" - eerror "possibly contains a database at ${CURRENT_TAGDIR}" - eerror - eerror "Please export data if any entered and empty or remove" - eerror "the directory, installation has been stopped so you" - eerror "can take required action" - eerror - eerror "For a HOWTO on exporting the data, see instructions in the ebuild" - eerror - openldap_upgrade_howto - die "Please move the datadir ${CURRENT_TAGDIR} away" - fi - fi - einfo - fi - done - [[ "${have_files}" == "1" ]] && einfo "DB files present" || einfo "No DB files present" - - # Now we must check for the major version of sys-libs/db linked against. - # TODO: remove this as we dropped bdb support (gone upstream) in 2.6.1? - SLAPD_PATH="${EROOT}/usr/$(get_libdir)/openldap/slapd" - if [[ "${have_files}" == "1" ]] && [[ -f "${SLAPD_PATH}" ]]; then - OLDVER="$(/usr/bin/ldd ${SLAPD_PATH} \ - | awk '/libdb-/{gsub("^libdb-","",$1);gsub(".so$","",$1);print $1}')" - local fail=0 - - # This will not cover detection of cn=Config based configuration, but - # it's hopefully good enough. - if grep -sq '^backend.*shell' "${EROOT}"/etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.6.x has dropped support for Shell backend." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted away from backend shell!" - echo - fail=1 - fi - if has_version "${CATEGORY}/${PN}[berkdb]" || grep -sq '^backend.*(bdb|hdb)' /etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Berkeley DB." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted to mdb!" - echo - fail=1 - elif [[ -z "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - : - # Nothing wrong here. - elif [[ -z "${OLDVER}" ]] && [[ -n "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was not built against" - eerror " any version of sys-libs/db, but the new one will build" - eerror " against ${NEWVER} and your database may be inaccessible." - echo - fail=1 - elif [[ -n "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will not be" - eerror " built against any version and your database may be" - eerror " inaccessible." - echo - fail=1 - elif [[ "${OLDVER}" != "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will build against" - eerror " ${NEWVER} and your database would be inaccessible." - echo - fail=1 - fi - [[ "${fail}" == "1" ]] && openldap_upgrade_howto - fi - - echo - einfo - einfo "All datadirs are fine, proceeding with merge now..." - einfo -} - -openldap_upgrade_howto() { - local d l i - eerror - eerror "A (possible old) installation of OpenLDAP was detected," - eerror "installation will not proceed for now." - eerror - eerror "As major version upgrades can corrupt your database," - eerror "you need to dump your database and re-create it afterwards." - eerror - eerror "Additionally, rebuilding against different major versions of the" - eerror "sys-libs/db libraries will cause your database to be inaccessible." - eerror "" - d="$(date -u +%s)" - l="/root/ldapdump.${d}" - i="${l}.raw" - eerror " 1. /etc/init.d/slapd stop" - eerror " 2. slapcat -l ${i}" - eerror " 3. grep -E -v '^(entry|context)CSN:' <${i} >${l}" - eerror " 4. mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/" - eerror " 5. emerge --update \=net-nds/${PF}" - eerror " 6. etc-update, and ensure that you apply the changes" - eerror " 7. slapadd -l ${l}" - eerror " 8. chown ldap:ldap /var/lib/openldap-data/*" - eerror " 9. /etc/init.d/slapd start" - eerror "10. Check that your data is intact." - eerror "11. Set up the new replication system." - eerror - if [[ "${FORCE_UPGRADE}" != "1" ]]; then - die "You need to upgrade your database first" - else - eerror "You have the magical FORCE_UPGRADE=1 in place." - eerror "Don't say you weren't warned about data loss." - fi -} - -pkg_setup() { - if ! use sasl && use cxx ; then - die "To build the ldapc++ library you must emerge openldap with sasl support" - fi - # Bug #322787 - if use minimal && ! has_version "net-nds/openldap" ; then - einfo "No datadir scan needed, openldap not installed" - elif use minimal && has_version 'net-nds/openldap[minimal]' ; then - einfo "Skipping scan for previous datadirs as requested by minimal useflag" - else - openldap_find_versiontags - fi -} - -src_unpack() { - use verify-sig && - verify-sig_verify_detached "${DISTDIR}"/${P}.tgz{,.asc} - default -} - -src_prepare() { - # The system copy of dev-db/lmdb must match the version that this copy - # of OpenLDAP shipped with! See bug #588792. - # - # Fish out MDB_VERSION_MAJOR/MDB_VERSION_MINOR/MDB_VERSION_PATCH from - # the bundled lmdb's header to find out the version. - local bundled_lmdb_version=$( - sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' \ - libraries/liblmdb/lmdb.h || die - ) - printf -v bundled_lmdb_version "%s." ${bundled_lmdb_version} - - if [[ ${SYSTEM_LMDB_VER}. != ${bundled_lmdb_version} ]] ; then - eerror "Source lmdb version: ${bundled_lmdb_version}" - eerror "Ebuild lmdb version: ${SYSTEM_LMDB_VER}" - die "Ebuild needs to update SYSTEM_LMDB_VER!" - fi - - rm -r libraries/liblmdb || die 'could not removed bundled lmdb directory' - - local filename - for filename in doc/drafts/draft-ietf-ldapext-acl-model-xx.txt; do - iconv -f iso-8859-1 -t utf-8 "${filename}" > "${filename}.utf8" - mv "${filename}.utf8" "${filename}" - done - - default - - sed -i \ - -e "s:\$(localstatedir)/run:${EPREFIX}/run:" \ - -e '/MKDIR.*.(DESTDIR)\/run/d' \ - -e '/MKDIR.*.(DESTDIR).*.(runstatedir)/d' \ - servers/slapd/Makefile.in || die 'adjusting slapd Makefile.in failed' - - pushd build &>/dev/null || die "pushd build" - einfo "Making sure upstream build strip does not do stripping too early" - sed -i.orig \ - -e '/^STRIP/s,-s,,g' \ - top.mk || die "Failed to remove too early stripping" - popd &>/dev/null || die - - # Fails with OpenSSL 3, bug #848894 - # https://bugs.openldap.org/show_bug.cgi?id=10009 - rm tests/scripts/test076-authid-rewrite || die - - eautoreconf - multilib_copy_sources -} - -build_contrib_module() { - # [] - pushd "${S}/contrib/slapd-modules/$1" &>/dev/null || die "pushd contrib/slapd-modules/$1" - einfo "Compiling contrib-module: $1" - local target="${2:-all}" - emake \ - CC="${CC}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ - prefix="${EPREFIX}/usr" \ - "${target}" - popd &>/dev/null || die -} - -multilib_src_configure() { - # Optional Features - myconf+=( - --enable-option-checking - $(use_enable debug) - --enable-dynamic - $(use_enable syslog) - $(use_enable ipv6) - --enable-local - ) - - # Optional Packages - myconf+=( - --without-fetch - ) - - if use experimental ; then - # connectionless ldap per bug #342439 - # connectionless is a unsupported feature according to Howard Chu - # see https://bugs.openldap.org/show_bug.cgi?id=9739 - # (see also bug #892009) - append-flags -DLDAP_CONNECTIONLESS - fi - - if ! use minimal && multilib_is_native_abi; then - # SLAPD (Standalone LDAP Daemon) Options - # overlay chaining requires '--enable-ldap' #296567 - # see https://www.openldap.org/doc/admin26/overlays.html#Chaining - myconf+=( - --enable-ldap=yes - --enable-slapd - $(use_enable cleartext) - $(use_enable crypt) - $(multilib_native_use_enable sasl spasswd) - --disable-slp - $(use_enable tcpd wrappers) - ) - if use experimental ; then - myconf+=( - --enable-dynacl - # ACI build as dynamic module not supported (yet) - --enable-aci=yes - ) - fi - - for option in modules rlookups slapi; do - myconf+=( --enable-${option} ) - done - - # static SLAPD backends - for backend in mdb; do - myconf+=( --enable-${backend}=yes ) - done - - # module SLAPD backends - for backend in asyncmeta dnssrv meta null passwd relay sock; do - # missing modules: wiredtiger (not available in portage) - myconf+=( --enable-${backend}=mod ) - done - - use perl && myconf+=( --enable-perl=mod ) - - if use odbc ; then - myconf+=( --enable-sql=mod ) - if use iodbc ; then - myconf+=( --with-odbc="iodbc" ) - append-cflags -I"${EPREFIX}"/usr/include/iodbc - else - myconf+=( --with-odbc="unixodbc" ) - fi - fi - - use overlays && myconf+=( --enable-overlays=mod ) - use autoca && myconf+=( --enable-autoca=mod ) || myconf+=( --enable-autoca=no ) - # compile-in the syncprov - myconf+=( --enable-syncprov=yes ) - - # SLAPD Password Module Options - myconf+=( - $(use_enable argon2) - ) - - # Optional Packages - myconf+=( - $(use_with systemd) - $(multilib_native_use_with sasl cyrus-sasl) - ) - else - myconf+=( - --disable-backends - --disable-slapd - --disable-mdb - --disable-overlays - --disable-autoca - --disable-syslog - --without-systemd - ) - fi - - # Library Generation & Linking Options - myconf+=( - $(use_enable static-libs static) - --enable-shared - --enable-versioning - --with-pic - ) - - # some cross-compiling tests don't pan out well. - tc-is-cross-compiler && myconf+=( - --with-yielding-select=yes - ) - - local ssl_lib="no" - if use ssl || ( ! use minimal && use samba ) ; then - if use gnutls ; then - myconf+=( --with-tls="gnutls" ) - else - # disable MD2 hash function - append-cflags -DOPENSSL_NO_MD2 - myconf+=( --with-tls="openssl" ) - fi - else - myconf+=( --with-tls="no" ) - fi - - tc-export AR CC CXX - - ECONF_SOURCE="${S}" \ - econf \ - --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \ - --localstatedir="${EPREFIX}"/var \ - --runstatedir="${EPREFIX}"/run \ - --sharedstatedir="${EPREFIX}"/var/lib \ - "${myconf[@]}" - - # argument '--runstatedir' seems to have no effect therefore this workaround - sed -i \ - -e 's:^runstatedir=.*:runstatedir=${EPREFIX}/run:' \ - configure contrib/ldapc++/configure contrib/ldaptcl/configure || die 'could not set runstatedir' - - sed -i \ - -e "s:/var/run/sasl2/mux:${EPREFIX}/run/sasl2/mux:" \ - doc/guide/admin/security.sdf || die 'could not fix run path in doc' - - emake depend -} - -src_configure_cxx() { - # This needs the libraries built by the first build run. - # we have to run it AFTER the main build, not just after the main configure - local myconf_ldapcpp=( - --with-libldap="${E}/lib" - --with-ldap-includes="${S}/include" - ) - - mkdir -p "${BUILD_DIR}"/contrib/ldapc++ || die "could not create ${BUILD_DIR}/contrib/ldapc++ directory" - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - - local LDFLAGS="${LDFLAGS}" - local CPPFLAGS="${CPPFLAGS}" - - append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs -L"${BUILD_DIR}"/libraries/libldap/.libs - append-cppflags -I"${BUILD_DIR}"/include - - ECONF_SOURCE="${S}"/contrib/ldapc++ \ - econf \ - "${myconf_ldapcpp[@]}" - popd &>/dev/null || die "popd contrib/ldapc++" -} - -multilib_src_compile() { - tc-export AR CC CXX - emake \ - CC="$(tc-getCC)" \ - SHELL="${EPREFIX}"/bin/sh - - if ! use minimal && multilib_is_native_abi ; then - if use cxx ; then - einfo "Building contrib library: ldapc++" - src_configure_cxx - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - emake - popd &>/dev/null || die - fi - - if use smbkrb5passwd ; then - einfo "Building contrib-module: smbk5pwd" - pushd "${S}/contrib/slapd-modules/smbk5pwd" &>/dev/null || die "pushd contrib/slapd-modules/smbk5pwd" - - MY_DEFS="-DDO_SHADOW" - if use samba ; then - MY_DEFS="${MY_DEFS} -DDO_SAMBA" - MY_KRB5_INC="" - fi - if use kerberos ; then - MY_DEFS="${MY_DEFS} -DDO_KRB5" - MY_KRB5_INC="$(krb5-config --cflags)" - fi - - emake \ - DEFS="${MY_DEFS}" \ - KRB5_INC="${MY_KRB5_INC}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use overlays ; then - einfo "Building contrib-module: samba4" - pushd "${S}/contrib/slapd-modules/samba4" &>/dev/null || die "pushd contrib/slapd-modules/samba4" - - emake \ - CC="$(tc-getCC)" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use kerberos ; then - if use kinit ; then - build_contrib_module "kinit" "kinit.c" "kinit" - fi - build_contrib_module "passwd" "pw-kerberos.la" - fi - - if use pbkdf2; then - build_contrib_module "passwd/pbkdf2" - fi - - if use sha2 ; then - build_contrib_module "passwd/sha2" - fi - - # We could build pw-radius if GNURadius would install radlib.h - build_contrib_module "passwd" "pw-netscape.la" - - #build_contrib_module "acl" "posixgroup.la" # example code only - #build_contrib_module "acl" "gssacl.la" # example code only, also needs kerberos - build_contrib_module "addpartial" - build_contrib_module "allop" - build_contrib_module "allowed" - build_contrib_module "autogroup" - build_contrib_module "cloak" - # build_contrib_module "comp_match" # really complex, adds new external deps, questionable demand - build_contrib_module "denyop" - build_contrib_module "dsaschema" - build_contrib_module "dupent" - build_contrib_module "lastbind" - # lastmod may not play well with other overlays - build_contrib_module "lastmod" - build_contrib_module "noopsrch" - #build_contrib_module "nops" https://bugs.gentoo.org/641576 - #build_contrib_module "nssov" RESO:LATER - build_contrib_module "trace" - # build slapi-plugins - pushd "${S}/contrib/slapi-plugins/addrdnvalues" &>/dev/null || die "pushd contrib/slapi-plugins/addrdnvalues" - einfo "Building contrib-module: addrdnvalues plugin" - $(tc-getCC) -shared \ - -I"${BUILD_DIR}"/include \ - -I../../../include \ - ${CPPFLAGS} \ - ${CFLAGS} \ - -fPIC \ - ${LDFLAGS} \ - -o libaddrdnvalues-plugin.so \ - addrdnvalues.c || die "Building libaddrdnvalues-plugin.so failed" - popd &>/dev/null || die - fi -} - -multilib_src_test() { - if multilib_is_native_abi; then - cd tests || die - pwd - - # Increase various test timeouts/delays, bug #894012 - # We can't just double everything as there's a cumulative effect. - export SLEEP0=2 # originally 1 - export SLEEP1=10 # originally 7 - export SLEEP2=20 # originally 15 - export TIMEOUT=16 # originally 8 - - # emake test => runs only lloadd & mdb, in serial; skips ldif,sql,wt,regression - # emake partests => runs ALL of the tests in parallel - # wt/WiredTiger is not supported in Gentoo - TESTS=( lloadd mdb ) - #TESTS+=( pldif ) # not done by default, so also exclude here - #use odbc && TESTS+=( psql ) # not done by default, so also exclude here - - emake -Onone "${TESTS[@]}" - fi -} - -multilib_src_install() { - emake \ - CC="$(tc-getCC)" \ - DESTDIR="${D}" \ - SHELL="${EPREFIX}"/bin/sh \ - install - - if ! use minimal && multilib_is_native_abi; then - # openldap modules go here - # TODO: write some code to populate slapd.conf with moduleload statements - keepdir /usr/$(get_libdir)/openldap/openldap/ - - # initial data storage dir - keepdir /var/lib/openldap-data - use prefix || fowners ldap:ldap /var/lib/openldap-data - fperms 0700 /var/lib/openldap-data - - echo "OLDPF='${PF}'" > "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# do NOT delete this. it is used" >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# to track versions for upgrading." >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - - # use our config - rm "${ED}"/etc/openldap/slapd.conf - insinto /etc/openldap - newins "${FILESDIR}"/${PN}-2.6.3-slapd-conf slapd.conf - configfile="${ED}"/etc/openldap/slapd.conf - - # populate with built backends - einfo "populate config with built backends" - for x in "${ED}"/usr/$(get_libdir)/openldap/openldap/back_*.so; do - einfo "Adding $(basename ${x})" - sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die - done - sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ - -i "${configfile}" || die - use prefix || fowners root:ldap /etc/openldap/slapd.conf - fperms 0640 /etc/openldap/slapd.conf - cp "${configfile}" "${configfile}".default || die - - # install our own init scripts and systemd unit files - einfo "Install init scripts" - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-initd-2.4.40-r2 > "${T}"/slapd || die - doinitd "${T}"/slapd - newconfd "${FILESDIR}"/slapd-confd-2.6.1 slapd - - if use systemd; then - # The systemd unit uses Type=notify, so it is useless without USE=systemd - einfo "Install systemd service" - rm -rf "${ED}"/{,usr/}lib/systemd - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-2.6.1.service > "${T}"/slapd.service || die - systemd_dounit "${T}"/slapd.service - systemd_install_serviced "${FILESDIR}"/slapd.service.conf - newtmpfiles "${FILESDIR}"/slapd.tmpfilesd slapd.conf - fi - - # if built without SLP, we don't need to be before avahi - sed -i \ - -e '/before/{s/avahi-daemon//g}' \ - "${ED}"/etc/init.d/slapd \ - || die - - if use cxx ; then - einfo "Install the ldapc++ library" - cd "${BUILD_DIR}/contrib/ldapc++" || die - emake DESTDIR="${D}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - cd "${S}"/contrib/ldapc++ || die - newdoc README ldapc++-README - fi - - if use smbkrb5passwd ; then - einfo "Install the smbk5pwd module" - cd "${S}/contrib/slapd-modules/smbk5pwd" || die - emake DESTDIR="${D}" \ - prefix="${EPREFIX}/usr" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README smbk5pwd-README - fi - - if use overlays ; then - einfo "Install the samba4 module" - cd "${S}/contrib/slapd-modules/samba4" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README samba4-README - fi - - einfo "Installing contrib modules" - cd "${S}/contrib/slapd-modules" || die - for l in */*.la */*/*.la; do - [[ -e ${l} ]] || continue - libtool --mode=install cp ${l} \ - "${ED}"/usr/$(get_libdir)/openldap/openldap || \ - die "installing ${l} failed" - done - - dodoc "${FILESDIR}"/DB_CONFIG.fast.example - docinto contrib - doman */*.5 - #newdoc acl/README* - newdoc addpartial/README addpartial-README - newdoc allop/README allop-README - newdoc allowed/README allowed-README - newdoc autogroup/README autogroup-README - newdoc dsaschema/README dsaschema-README - newdoc passwd/README passwd-README - cd "${S}/contrib/slapi-plugins" || die - insinto /usr/$(get_libdir)/openldap/openldap - doins */*.so - docinto contrib - newdoc addrdnvalues/README addrdnvalues-README - - insinto /etc/openldap/schema - newins "${DISTDIR}"/${BIS_P} ${BIS_PN} - - docinto back-sock ; dodoc "${S}"/servers/slapd/back-sock/searchexample* - docinto back-perl ; dodoc "${S}"/servers/slapd/back-perl/SampleLDAP.pm - - dosbin "${S}"/contrib/slapd-tools/statslog - newdoc "${S}"/contrib/slapd-tools/README README.statslog - fi - - if ! use static-libs ; then - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die - fi -} - -multilib_src_install_all() { - dodoc ANNOUNCEMENT CHANGES COPYRIGHT README - docinto rfc ; dodoc doc/rfc/*.txt -} - -pkg_preinst() { - # keep old libs if any - preserve_old_lib /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) - # bug 440470, only display the getting started help there was no openldap before, - # or we are going to a non-minimal build - ! has_version net-nds/openldap || has_version 'net-nds/openldap[minimal]' - OPENLDAP_PRINT_MESSAGES=$((! $?)) -} - -pkg_postinst() { - if ! use minimal ; then - if use systemd; then - tmpfiles_process slapd.conf - fi - - # You cannot build SSL certificates during src_install that will make - # binary packages containing your SSL key, which is both a security risk - # and a misconfiguration if multiple machines use the same key and cert. - if use ssl; then - install_cert /etc/openldap/ssl/ldap - use prefix || chown ldap:ldap "${EROOT}"/etc/openldap/ssl/ldap.* - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "add 'TLS_REQCERT allow' if you want to use them." - fi - - if use prefix; then - # Warn about prefix issues with slapd - eerror "slapd might NOT be usable on Prefix systems as it requires root privileges" - eerror "to start up, and requires that certain files directories be owned by" - eerror "ldap:ldap. As Prefix does not support changing ownership of files and" - eerror "directories, you will have to manually fix this yourself." - fi - - # These lines force the permissions of various content to be correct - if [[ -d "${EROOT}"/var/run/openldap ]]; then - use prefix || { chown ldap:ldap "${EROOT}"/var/run/openldap || die; } - chmod 0755 "${EROOT}"/var/run/openldap || die - fi - use prefix || chown root:ldap "${EROOT}"/etc/openldap/slapd.conf{,.default} - chmod 0640 "${EROOT}"/etc/openldap/slapd.conf{,.default} || die - use prefix || chown ldap:ldap "${EROOT}"/var/lib/openldap-data - fi - - if has_version 'net-nds/openldap[-minimal]' && ((${OPENLDAP_PRINT_MESSAGES})); then - elog "Getting started using OpenLDAP? There is some documentation available:" - elog "Gentoo Guide to OpenLDAP Authentication" - elog "(https://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP)" - fi - - preserve_old_lib_notify /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) -} diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.12.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.14.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.12.ebuild rename to sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.14.ebuild index 611d7b3cdac..3bef5a2a283 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.14.ebuild @@ -4,7 +4,7 @@ EAPI=8 # Re cleanups: -# 2.6.12 is an LTS release so we want to keep it for a while. +# 2.6.x and 2.5.x are both maintained streams. We keep the latest of each. inherit autotools flag-o-matic multilib multilib-minimal preserve-libs inherit ssl-cert toolchain-funcs systemd tmpfiles verify-sig @@ -40,7 +40,7 @@ REQUIRED_USE=" " RESTRICT="!test? ( test )" -SYSTEM_LMDB_VER=0.9.35 +SYSTEM_LMDB_VER=0.9.36 # openssl is needed to generate lanman-passwords required by samba COMMON_DEPEND=" kernel_linux? ( sys-apps/util-linux ) @@ -82,20 +82,17 @@ DEPEND=" ${COMMON_DEPEND} sys-apps/groff " -RDEPEND=" - ${COMMON_DEPEND} - selinux? ( sec-policy/selinux-ldap ) -" - # The user/group are only used for running daemons which are # disabled in minimal builds, so elide the accounts too. -BDEPEND=" +RDEPEND=" + ${COMMON_DEPEND} !minimal? ( acct-group/ldap acct-user/ldap ) - verify-sig? ( >=sec-keys/openpgp-keys-openldap-20201216 ) + selinux? ( sec-policy/selinux-ldap ) " +BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openldap-20201216 )" # for tracking versions OPENLDAP_VERSIONTAG=".version-tag" @@ -474,7 +471,7 @@ multilib_src_configure() { myconf+=( --enable-sql=mod ) if use iodbc ; then myconf+=( --with-odbc="iodbc" ) - append-cflags -I"${EPREFIX}"/usr/include/iodbc + append-cflags -I"${ESYSROOT}"/usr/include/iodbc else myconf+=( --with-odbc="unixodbc" ) fi 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 deleted file mode 100644 index 4525d259910..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.8-r1.ebuild +++ /dev/null @@ -1,894 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Re cleanups: -# 2.5.x is an LTS release so we want to keep it for a while. - -inherit autotools flag-o-matic multilib multilib-minimal preserve-libs -inherit ssl-cert toolchain-funcs systemd tmpfiles - -MY_PV="$(ver_rs 1-2 _)" - -BIS_PN=rfc2307bis.schema -BIS_PV=20140524 -BIS_P="${BIS_PN}-${BIS_PV}" - -DESCRIPTION="LDAP suite of application and development tools" -HOMEPAGE="https://www.openldap.org/" -SRC_URI=" - https://gitlab.com/openldap/${PN}/-/archive/OPENLDAP_REL_ENG_${MY_PV}/${PN}-OPENLDAP_REL_ENG_${MY_PV}.tar.bz2 - mirror://gentoo/${BIS_P} -" -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" - -IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" -IUSE_OVERLAY="overlays perl autoca" -IUSE_OPTIONAL="debug gnutls iodbc odbc sasl ssl selinux static-libs +syslog test" -IUSE_CONTRIB="kerberos kinit pbkdf2 sha2 smbkrb5passwd" -IUSE_CONTRIB="${IUSE_CONTRIB} cxx" -IUSE="systemd ${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" -REQUIRED_USE=" - cxx? ( sasl ) - pbkdf2? ( ssl ) - test? ( cleartext sasl debug ) - autoca? ( !gnutls ) - ?? ( test minimal ) - kerberos? ( ?? ( kinit smbkrb5passwd ) ) -" -RESTRICT="!test? ( test )" - -SYSTEM_LMDB_VER=0.9.33 -# openssl is needed to generate lanman-passwords required by samba -COMMON_DEPEND=" - kernel_linux? ( sys-apps/util-linux ) - ssl? ( - !gnutls? ( - >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] - ) - gnutls? ( - >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] - >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] - ) - ) - sasl? ( dev-libs/cyrus-sasl:= ) - !minimal? ( - dev-libs/libevent:= - dev-libs/libltdl - sys-fs/e2fsprogs - >=dev-db/lmdb-${SYSTEM_LMDB_VER}:= - argon2? ( app-crypt/argon2:= ) - crypt? ( virtual/libcrypt:= ) - tcpd? ( sys-apps/tcp-wrappers ) - odbc? ( !iodbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) ) - perl? ( dev-lang/perl:=[-build(-)] ) - samba? ( - dev-libs/openssl:0= - ) - smbkrb5passwd? ( - dev-libs/openssl:0= - kerberos? ( app-crypt/heimdal ) - ) - kerberos? ( - virtual/krb5 - kinit? ( !app-crypt/heimdal ) - ) - ) -" -DEPEND=" - ${COMMON_DEPEND} - sys-apps/groff -" -RDEPEND=" - ${COMMON_DEPEND} - selinux? ( sec-policy/selinux-ldap ) -" - -# The user/group are only used for running daemons which are -# disabled in minimal builds, so elide the accounts too. -BDEPEND=" - !minimal? ( - acct-group/ldap - acct-user/ldap - ) -" - -# for tracking versions -OPENLDAP_VERSIONTAG=".version-tag" -OPENLDAP_DEFAULTDIR_VERSIONTAG="/var/lib/openldap-data" - -MULTILIB_WRAPPED_HEADERS=( - # USE=cxx - /usr/include/LDAPAsynConnection.h - /usr/include/LDAPAttrType.h - /usr/include/LDAPAttribute.h - /usr/include/LDAPAttributeList.h - /usr/include/LDAPConnection.h - /usr/include/LDAPConstraints.h - /usr/include/LDAPControl.h - /usr/include/LDAPControlSet.h - /usr/include/LDAPEntry.h - /usr/include/LDAPEntryList.h - /usr/include/LDAPException.h - /usr/include/LDAPExtResult.h - /usr/include/LDAPMessage.h - /usr/include/LDAPMessageQueue.h - /usr/include/LDAPModList.h - /usr/include/LDAPModification.h - /usr/include/LDAPObjClass.h - /usr/include/LDAPRebind.h - /usr/include/LDAPRebindAuth.h - /usr/include/LDAPReferenceList.h - /usr/include/LDAPResult.h - /usr/include/LDAPSaslBindResult.h - /usr/include/LDAPSchema.h - /usr/include/LDAPSearchReference.h - /usr/include/LDAPSearchResult.h - /usr/include/LDAPSearchResults.h - /usr/include/LDAPUrl.h - /usr/include/LDAPUrlList.h - /usr/include/LdifReader.h - /usr/include/LdifWriter.h - /usr/include/SaslInteraction.h - /usr/include/SaslInteractionHandler.h - /usr/include/StringList.h - /usr/include/TlsOptions.h -) - -PATCHES=( - "${FILESDIR}"/${PN}-2.4.28-fix-dash.patch - "${FILESDIR}"/${PN}-2.6.1-system-mdb.patch - "${FILESDIR}"/${PN}-2.6.1-cloak.patch - "${FILESDIR}"/${PN}-2.6.1-flags.patch - "${FILESDIR}"/${PN}-2.6.1-fix-missing-mapping.v2.patch - "${FILESDIR}"/${PN}-2.6.x-gnutls-pointer-error.patch - "${FILESDIR}"/${PN}-2.5.19-gcc14-SDWORD-vs-SQLINTEGER.patch -) - -openldap_filecount() { - local dir="$1" - find "${dir}" -type f ! -name '.*' ! -name 'DB_CONFIG*' | wc -l -} - -openldap_find_versiontags() { - # scan for all datadirs - local openldap_datadirs=() - if [[ -f "${EROOT}"/etc/openldap/slapd.conf ]]; then - openldap_datadirs=( $(awk '{if($1 == "directory") print $2 }' "${EROOT}"/etc/openldap/slapd.conf) ) - fi - openldap_datadirs+=( ${OPENLDAP_DEFAULTDIR_VERSIONTAG} ) - - einfo - einfo "Scanning datadir(s) from slapd.conf and" - einfo "the default installdir for Versiontags" - einfo "(${OPENLDAP_DEFAULTDIR_VERSIONTAG} may appear twice)" - einfo - - # scan datadirs if we have a version tag - openldap_found_tag=0 - have_files=0 - for each in ${openldap_datadirs[@]} ; do - CURRENT_TAGDIR="${EROOT}$(sed "s:\/::" <<< ${each})" - CURRENT_TAG="${CURRENT_TAGDIR}/${OPENLDAP_VERSIONTAG}" - if [[ -d "${CURRENT_TAGDIR}" ]] && [[ "${openldap_found_tag}" == 0 ]] ; then - einfo "- Checking ${each}..." - if [[ -r "${CURRENT_TAG}" ]] ; then - # yey, we have one :) - einfo " Found Versiontag in ${each}" - source "${CURRENT_TAG}" - if [[ "${OLDPF}" == "" ]] ; then - eerror "Invalid Versiontag found in ${CURRENT_TAGDIR}" - eerror "Please delete it" - eerror - die "Please kill the invalid versiontag in ${CURRENT_TAGDIR}" - fi - - OLD_MAJOR=$(ver_cut 2-3 ${OLDPF}) - - [[ "$(openldap_filecount ${CURRENT_TAGDIR})" -gt 0 ]] && have_files=1 - - # are we on the same branch? - if [[ "${OLD_MAJOR}" != "${PV:0:3}" ]] ; then - ewarn " Versiontag doesn't match current major release!" - if [[ "${have_files}" == "1" ]] ; then - eerror " Versiontag says other major and you (probably) have datafiles!" - echo - openldap_upgrade_howto - else - einfo " No real problem, seems there's no database." - fi - else - einfo " Versiontag is fine here :)" - fi - else - einfo " Non-tagged dir ${each}" - [[ "$(openldap_filecount ${each})" -gt 0 ]] && have_files=1 - if [[ "${have_files}" == "1" ]] ; then - einfo " EEK! Non-empty non-tagged datadir, counting `ls -a ${each} | wc -l` files" - echo - - eerror - eerror "Your OpenLDAP Installation has a non tagged datadir that" - eerror "possibly contains a database at ${CURRENT_TAGDIR}" - eerror - eerror "Please export data if any entered and empty or remove" - eerror "the directory, installation has been stopped so you" - eerror "can take required action" - eerror - eerror "For a HOWTO on exporting the data, see instructions in the ebuild" - eerror - openldap_upgrade_howto - die "Please move the datadir ${CURRENT_TAGDIR} away" - fi - fi - einfo - fi - done - [[ "${have_files}" == "1" ]] && einfo "DB files present" || einfo "No DB files present" - - # Now we must check for the major version of sys-libs/db linked against. - # TODO: remove this as we dropped bdb support (gone upstream) in 2.6.1? - SLAPD_PATH="${EROOT}/usr/$(get_libdir)/openldap/slapd" - if [[ "${have_files}" == "1" ]] && [[ -f "${SLAPD_PATH}" ]]; then - OLDVER="$(/usr/bin/ldd ${SLAPD_PATH} \ - | awk '/libdb-/{gsub("^libdb-","",$1);gsub(".so$","",$1);print $1}')" - local fail=0 - - # This will not cover detection of cn=Config based configuration, but - # it's hopefully good enough. - if grep -sq '^backend.*shell' "${EROOT}"/etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Shell backend." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted away from backend shell!" - echo - fail=1 - fi - if has_version "${CATEGORY}/${PN}[berkdb]" || grep -sq '^backend.*(bdb|hdb)' /etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Berkeley DB." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted to mdb!" - echo - fail=1 - elif [[ -z "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - : - # Nothing wrong here. - elif [[ -z "${OLDVER}" ]] && [[ -n "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was not built against" - eerror " any version of sys-libs/db, but the new one will build" - eerror " against ${NEWVER} and your database may be inaccessible." - echo - fail=1 - elif [[ -n "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will not be" - eerror " built against any version and your database may be" - eerror " inaccessible." - echo - fail=1 - elif [[ "${OLDVER}" != "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will build against" - eerror " ${NEWVER} and your database would be inaccessible." - echo - fail=1 - fi - [[ "${fail}" == "1" ]] && openldap_upgrade_howto - fi - - echo - einfo - einfo "All datadirs are fine, proceeding with merge now..." - einfo -} - -openldap_upgrade_howto() { - local d l i - eerror - eerror "A (possible old) installation of OpenLDAP was detected," - eerror "installation will not proceed for now." - eerror - eerror "As major version upgrades can corrupt your database," - eerror "you need to dump your database and re-create it afterwards." - eerror - eerror "Additionally, rebuilding against different major versions of the" - eerror "sys-libs/db libraries will cause your database to be inaccessible." - eerror "" - d="$(date -u +%s)" - l="/root/ldapdump.${d}" - i="${l}.raw" - eerror " 1. /etc/init.d/slapd stop" - eerror " 2. slapcat -l ${i}" - eerror " 3. grep -E -v '^(entry|context)CSN:' <${i} >${l}" - eerror " 4. mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/" - eerror " 5. emerge --update \=net-nds/${PF}" - eerror " 6. etc-update, and ensure that you apply the changes" - eerror " 7. slapadd -l ${l}" - eerror " 8. chown ldap:ldap /var/lib/openldap-data/*" - eerror " 9. /etc/init.d/slapd start" - eerror "10. Check that your data is intact." - eerror "11. Set up the new replication system." - eerror - if [[ "${FORCE_UPGRADE}" != "1" ]]; then - die "You need to upgrade your database first" - else - eerror "You have the magical FORCE_UPGRADE=1 in place." - eerror "Don't say you weren't warned about data loss." - fi -} - -pkg_setup() { - if ! use sasl && use cxx ; then - die "To build the ldapc++ library you must emerge openldap with sasl support" - fi - # Bug #322787 - if use minimal && ! has_version "net-nds/openldap" ; then - einfo "No datadir scan needed, openldap not installed" - elif use minimal && has_version 'net-nds/openldap[minimal]' ; then - einfo "Skipping scan for previous datadirs as requested by minimal useflag" - else - openldap_find_versiontags - fi -} - -src_prepare() { - # The system copy of dev-db/lmdb must match the version that this copy - # of OpenLDAP shipped with! See bug #588792. - # - # Fish out MDB_VERSION_MAJOR/MDB_VERSION_MINOR/MDB_VERSION_PATCH from - # the bundled lmdb's header to find out the version. - local bundled_lmdb_version=$(sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' \ - libraries/liblmdb/lmdb.h || die) - printf -v bundled_lmdb_version "%s." ${bundled_lmdb_version} - - if [[ ${SYSTEM_LMDB_VER}. != ${bundled_lmdb_version} ]] ; then - eerror "Source lmdb version: ${bundled_lmdb_version}" - eerror "Ebuild lmdb version: ${SYSTEM_LMDB_VER}" - die "Ebuild needs to update SYSTEM_LMDB_VER!" - fi - - rm -r libraries/liblmdb || die 'could not removed bundled lmdb directory' - - local filename - for filename in doc/drafts/draft-ietf-ldapext-acl-model-xx.txt; do - iconv -f iso-8859-1 -t utf-8 "${filename}" > "${filename}.utf8" - mv "${filename}.utf8" "${filename}" - done - - default - - sed -i \ - -e "s:\$(localstatedir)/run:${EPREFIX}/run:" \ - -e '/MKDIR.*.(DESTDIR)\/run/d' \ - servers/slapd/Makefile.in || die 'adjusting slapd Makefile.in failed' - - pushd build &>/dev/null || die "pushd build" - einfo "Making sure upstream build strip does not do stripping too early" - sed -i.orig \ - -e '/^STRIP/s,-s,,g' \ - top.mk || die "Failed to remove too early stripping" - popd &>/dev/null || die - - # Fails with OpenSSL 3, bug #848894 - # https://bugs.openldap.org/show_bug.cgi?id=10009 - rm tests/scripts/test076-authid-rewrite || die - - eautoreconf - multilib_copy_sources -} - -build_contrib_module() { - # [] - pushd "${S}/contrib/slapd-modules/$1" &>/dev/null || die "pushd contrib/slapd-modules/$1" - einfo "Compiling contrib-module: $1" - local target="${2:-all}" - emake \ - CC="${CC}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ - prefix="${EPREFIX}/usr" \ - STRIP=/bin/true \ - "${target}" - popd &>/dev/null || die -} - -multilib_src_configure() { - # Workaround for bug #923334, #938553, #946816 - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - # Optional Features - myconf+=( - --enable-option-checking - $(use_enable debug) - --enable-dynamic - $(use_enable syslog) - --enable-ipv6 - --enable-local - ) - - # Optional Packages - myconf+=( - --without-fetch - $(multilib_native_use_with sasl cyrus-sasl) - ) - - if use experimental ; then - # connectionless ldap per bug #342439 - # connectionless is a unsupported feature according to Howard Chu - # see https://bugs.openldap.org/show_bug.cgi?id=9739 - # (see also bug #892009) - append-flags -DLDAP_CONNECTIONLESS - fi - - if ! use minimal && multilib_is_native_abi; then - # SLAPD (Standalone LDAP Daemon) Options - # overlay chaining requires '--enable-ldap' #296567 - # see https://www.openldap.org/doc/admin26/overlays.html#Chaining - myconf+=( - --enable-ldap=yes - --enable-slapd - $(use_enable cleartext) - $(use_enable crypt) - $(multilib_native_use_enable sasl spasswd) - --disable-slp - $(use_enable tcpd wrappers) - ) - if use experimental ; then - myconf+=( - --enable-dynacl - # ACI build as dynamic module not supported (yet) - --enable-aci=yes - ) - fi - - for option in modules rlookups slapi; do - myconf+=( --enable-${option} ) - done - - # static SLAPD backends - for backend in mdb; do - myconf+=( --enable-${backend}=yes ) - done - - # module SLAPD backends - for backend in asyncmeta dnssrv meta null passwd relay sock; do - # missing modules: wiredtiger (not available in portage) - myconf+=( --enable-${backend}=mod ) - done - - use perl && myconf+=( --enable-perl=mod ) - - if use odbc ; then - myconf+=( --enable-sql=mod ) - if use iodbc ; then - myconf+=( --with-odbc="iodbc" ) - append-cflags -I"${EPREFIX}"/usr/include/iodbc - else - myconf+=( --with-odbc="unixodbc" ) - fi - fi - - use overlays && myconf+=( --enable-overlays=mod ) - use autoca && myconf+=( --enable-autoca=mod ) || myconf+=( --enable-autoca=no ) - # compile-in the syncprov - myconf+=( --enable-syncprov=yes ) - - # Build the standalone load balancer (lloadd) - also available as a slapd module; --enable-balancer=mod - myconf+=( --enable-balancer=yes ) - - # SLAPD Password Module Options - myconf+=( - $(use_enable argon2) - ) - - # Optional Packages - myconf+=( - $(use_with systemd) - ) - else - myconf+=( - --disable-backends - --disable-slapd - --disable-mdb - --disable-overlays - --disable-autoca - --disable-syslog - --without-systemd - ) - fi - - # Library Generation & Linking Options - myconf+=( - $(use_enable static-libs static) - --enable-shared - --enable-versioning - --with-pic - ) - - # some cross-compiling tests don't pan out well. - tc-is-cross-compiler && myconf+=( - --with-yielding-select=yes - ) - - local ssl_lib="no" - if use ssl || ( ! use minimal && use samba ) ; then - if use gnutls ; then - myconf+=( --with-tls="gnutls" ) - else - # disable MD2 hash function - append-cflags -DOPENSSL_NO_MD2 - myconf+=( --with-tls="openssl" ) - fi - else - myconf+=( --with-tls="no" ) - fi - - tc-export AR CC CXX - - ECONF_SOURCE="${S}" \ - STRIP=/bin/true \ - econf \ - --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \ - --localstatedir="${EPREFIX}"/var \ - --runstatedir="${EPREFIX}"/run \ - --sharedstatedir="${EPREFIX}"/var/lib \ - "${myconf[@]}" - - # argument '--runstatedir' seems to have no effect therefore this workaround - sed -i \ - -e 's:^runstatedir=.*:runstatedir=${EPREFIX}/run:' \ - configure contrib/ldapc++/configure contrib/ldaptcl/configure || die 'could not set runstatedir' - - sed -i \ - -e "s:/var/run/sasl2/mux:${EPREFIX}/run/sasl2/mux:" \ - doc/guide/admin/security.sdf || die 'could not fix run path in doc' - - emake depend -} - -src_configure_cxx() { - # This needs the libraries built by the first build run. - # we have to run it AFTER the main build, not just after the main configure - local myconf_ldapcpp=( - --with-libldap="${E}/lib" - --with-ldap-includes="${S}/include" - ) - - mkdir -p "${BUILD_DIR}"/contrib/ldapc++ || die "could not create ${BUILD_DIR}/contrib/ldapc++ directory" - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - - local LDFLAGS="${LDFLAGS}" - local CPPFLAGS="${CPPFLAGS}" - - append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs -L"${BUILD_DIR}"/libraries/libldap/.libs - append-cppflags -I"${BUILD_DIR}"/include - - ECONF_SOURCE="${S}"/contrib/ldapc++ \ - STRIP=/bin/true \ - econf \ - "${myconf_ldapcpp[@]}" - popd &>/dev/null || die "popd contrib/ldapc++" -} - -multilib_src_compile() { - tc-export AR CC CXX - emake \ - CC="$(tc-getCC)" \ - SHELL="${EPREFIX}"/bin/sh \ - STRIP="/bin/true" - - if ! use minimal && multilib_is_native_abi ; then - if use cxx ; then - einfo "Building contrib library: ldapc++" - src_configure_cxx - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - emake - popd &>/dev/null || die - fi - - if use smbkrb5passwd ; then - einfo "Building contrib-module: smbk5pwd" - pushd "${S}/contrib/slapd-modules/smbk5pwd" &>/dev/null || die "pushd contrib/slapd-modules/smbk5pwd" - - MY_DEFS="-DDO_SHADOW" - if use samba ; then - MY_DEFS="${MY_DEFS} -DDO_SAMBA" - MY_KRB5_INC="" - fi - if use kerberos ; then - MY_DEFS="${MY_DEFS} -DDO_KRB5" - MY_KRB5_INC="$(krb5-config --cflags)" - fi - - emake \ - DEFS="${MY_DEFS}" \ - KRB5_INC="${MY_KRB5_INC}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use overlays ; then - einfo "Building contrib-module: samba4" - pushd "${S}/contrib/slapd-modules/samba4" &>/dev/null || die "pushd contrib/slapd-modules/samba4" - - emake \ - CC="$(tc-getCC)" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ - STRIP=/bin/true - popd &>/dev/null || die - fi - - if use kerberos ; then - if use kinit ; then - build_contrib_module "kinit" "kinit.c" "kinit" - fi - build_contrib_module "passwd" "pw-kerberos.la" - fi - - if use pbkdf2; then - build_contrib_module "passwd/pbkdf2" - fi - - if use sha2 ; then - build_contrib_module "passwd/sha2" - fi - - # We could build pw-radius if GNURadius would install radlib.h - build_contrib_module "passwd" "pw-netscape.la" - - #build_contrib_module "acl" "posixgroup.la" # example code only - #build_contrib_module "acl" "gssacl.la" # example code only, also needs kerberos - build_contrib_module "addpartial" - build_contrib_module "allop" - build_contrib_module "allowed" - build_contrib_module "autogroup" - build_contrib_module "cloak" - # build_contrib_module "comp_match" # really complex, adds new external deps, questionable demand - build_contrib_module "denyop" - build_contrib_module "dsaschema" - build_contrib_module "dupent" - build_contrib_module "lastbind" - # lastmod may not play well with other overlays - build_contrib_module "lastmod" - build_contrib_module "noopsrch" - #build_contrib_module "nops" https://bugs.gentoo.org/641576 - #build_contrib_module "nssov" RESO:LATER - build_contrib_module "trace" - # build slapi-plugins - pushd "${S}/contrib/slapi-plugins/addrdnvalues" &>/dev/null || die "pushd contrib/slapi-plugins/addrdnvalues" - einfo "Building contrib-module: addrdnvalues plugin" - $(tc-getCC) -shared \ - -I"${BUILD_DIR}"/include \ - -I../../../include \ - ${CPPFLAGS} \ - ${CFLAGS} \ - -fPIC \ - ${LDFLAGS} \ - -o libaddrdnvalues-plugin.so \ - addrdnvalues.c || die "Building libaddrdnvalues-plugin.so failed" - popd &>/dev/null || die - fi -} - -multilib_src_test() { - if multilib_is_native_abi; then - cd tests || die - pwd - - # Increase various test timeouts/delays, bug #894012 - # We can't just double everything as there's a cumulative effect. - export SLEEP0=2 # originally 1 - export SLEEP1=10 # originally 7 - export SLEEP2=20 # originally 15 - export TIMEOUT=16 # originally 8 - - # emake test => runs only lloadd & mdb, in serial; skips ldif,sql,wt,regression - # emake partests => runs ALL of the tests in parallel - # wt/WiredTiger is not supported in Gentoo - TESTS=( plloadd pmdb ) - #TESTS+=( pldif ) # not done by default, so also exclude here - #use odbc && TESTS+=( psql ) # not done by default, so also exclude here - - emake -Onone "${TESTS[@]}" - fi -} - -multilib_src_install() { - emake \ - CC="$(tc-getCC)" \ - DESTDIR="${D}" \ - SHELL="${EPREFIX}"/bin/sh \ - STRIP=/bin/true \ - install - - if ! use minimal && multilib_is_native_abi; then - # openldap modules go here - # TODO: write some code to populate slapd.conf with moduleload statements - keepdir /usr/$(get_libdir)/openldap/openldap/ - - # initial data storage dir - keepdir /var/lib/openldap-data - use prefix || fowners ldap:ldap /var/lib/openldap-data - fperms 0700 /var/lib/openldap-data - - echo "OLDPF='${PF}'" > "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# do NOT delete this. it is used" >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# to track versions for upgrading." >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - - # use our config - rm "${ED}"/etc/openldap/slapd.conf - insinto /etc/openldap - newins "${FILESDIR}"/${PN}-2.6.3-slapd-conf slapd.conf - configfile="${ED}"/etc/openldap/slapd.conf - - # populate with built backends - einfo "populate config with built backends" - for x in "${ED}"/usr/$(get_libdir)/openldap/openldap/back_*.so; do - einfo "Adding $(basename ${x})" - sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die - done - sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ - -i "${configfile}" || die - use prefix || fowners root:ldap /etc/openldap/slapd.conf - fperms 0640 /etc/openldap/slapd.conf - cp "${configfile}" "${configfile}".default || die - - # install our own init scripts and systemd unit files - einfo "Install init scripts" - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-initd-2.4.40-r2 > "${T}"/slapd || die - doinitd "${T}"/slapd - newconfd "${FILESDIR}"/slapd-confd-2.6.1 slapd - - if use systemd; then - # The systemd unit uses Type=notify, so it is useless without USE=systemd - einfo "Install systemd service" - rm -rf "${ED}"/{,usr/}lib/systemd - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-2.6.1.service > "${T}"/slapd.service || die - systemd_dounit "${T}"/slapd.service - systemd_install_serviced "${FILESDIR}"/slapd.service.conf - newtmpfiles "${FILESDIR}"/slapd.tmpfilesd slapd.conf - fi - - # if built without SLP, we don't need to be before avahi - sed -i \ - -e '/before/{s/avahi-daemon//g}' \ - "${ED}"/etc/init.d/slapd \ - || die - - if use cxx ; then - einfo "Install the ldapc++ library" - cd "${BUILD_DIR}/contrib/ldapc++" || die - emake DESTDIR="${D}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - cd "${S}"/contrib/ldapc++ || die - newdoc README ldapc++-README - fi - - if use smbkrb5passwd ; then - einfo "Install the smbk5pwd module" - cd "${S}/contrib/slapd-modules/smbk5pwd" || die - emake DESTDIR="${D}" \ - prefix="${EPREFIX}/usr" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README smbk5pwd-README - fi - - if use overlays ; then - einfo "Install the samba4 module" - cd "${S}/contrib/slapd-modules/samba4" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README samba4-README - fi - - einfo "Installing contrib modules" - cd "${S}/contrib/slapd-modules" || die - for l in */*.la */*/*.la; do - [[ -e ${l} ]] || continue - libtool --mode=install cp ${l} \ - "${ED}"/usr/$(get_libdir)/openldap/openldap || \ - die "installing ${l} failed" - done - - dodoc "${FILESDIR}"/DB_CONFIG.fast.example - docinto contrib - doman */*.5 - #newdoc acl/README* - newdoc addpartial/README addpartial-README - newdoc allop/README allop-README - newdoc allowed/README allowed-README - newdoc autogroup/README autogroup-README - newdoc dsaschema/README dsaschema-README - newdoc passwd/README passwd-README - cd "${S}/contrib/slapi-plugins" || die - insinto /usr/$(get_libdir)/openldap/openldap - doins */*.so - docinto contrib - newdoc addrdnvalues/README addrdnvalues-README - - insinto /etc/openldap/schema - newins "${DISTDIR}"/${BIS_P} ${BIS_PN} - - docinto back-sock ; dodoc "${S}"/servers/slapd/back-sock/searchexample* - docinto back-perl ; dodoc "${S}"/servers/slapd/back-perl/SampleLDAP.pm - - dosbin "${S}"/contrib/slapd-tools/statslog - newdoc "${S}"/contrib/slapd-tools/README README.statslog - fi - - if ! use static-libs ; then - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die - fi -} - -multilib_src_install_all() { - dodoc ANNOUNCEMENT CHANGES COPYRIGHT README - docinto rfc ; dodoc doc/rfc/*.txt - rmdir -p "${D}"/var/openldap-lloadd # Created but not used by any part of current codebase. -} - -pkg_preinst() { - # keep old libs if any - preserve_old_lib /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) - # bug 440470, only display the getting started help there was no openldap before, - # or we are going to a non-minimal build - ! has_version net-nds/openldap || has_version 'net-nds/openldap[minimal]' - OPENLDAP_PRINT_MESSAGES=$((! $?)) -} - -pkg_postinst() { - if ! use minimal ; then - if use systemd; then - tmpfiles_process slapd.conf - fi - - # You cannot build SSL certificates during src_install that will make - # binary packages containing your SSL key, which is both a security risk - # and a misconfiguration if multiple machines use the same key and cert. - if use ssl; then - install_cert /etc/openldap/ssl/ldap - use prefix || chown ldap:ldap "${EROOT}"/etc/openldap/ssl/ldap.* - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "add 'TLS_REQCERT allow' if you want to use them." - fi - - if use prefix; then - # Warn about prefix issues with slapd - eerror "slapd might NOT be usable on Prefix systems as it requires root privileges" - eerror "to start up, and requires that certain files directories be owned by" - eerror "ldap:ldap. As Prefix does not support changing ownership of files and" - eerror "directories, you will have to manually fix this yourself." - fi - - # These lines force the permissions of various content to be correct - if [[ -d "${EROOT}"/var/run/openldap ]]; then - use prefix || { chown ldap:ldap "${EROOT}"/var/run/openldap || die; } - chmod 0755 "${EROOT}"/var/run/openldap || die - fi - use prefix || chown root:ldap "${EROOT}"/etc/openldap/slapd.conf{,.default} - chmod 0640 "${EROOT}"/etc/openldap/slapd.conf{,.default} || die - use prefix || chown ldap:ldap "${EROOT}"/var/lib/openldap-data - fi - - if has_version 'net-nds/openldap[-minimal]' && ((${OPENLDAP_PRINT_MESSAGES})); then - elog "Getting started using OpenLDAP? There is some documentation available:" - elog "Gentoo Guide to OpenLDAP Authentication" - elog "(https://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP)" - fi - - preserve_old_lib_notify /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) -} 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 54141e457fb..6ef810da9ac 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 @@ -34,6 +34,7 @@ sys-fs/lvm2 vdo # Ionen Wolkens (2026-03-16) # media-libs/opencolorio is not keyworded here media-video/ffmpeg opencolorio +media-video/ffmpeg-compat opencolorio # Sam James (2026-02-11) # sys-libs/libnvme not keyworded here @@ -159,6 +160,7 @@ sci-visualization/gnuplot amos # Leonardo Hernández Hernández (2024-07-07) # media-libs/quirc and media-sound/liblc3 are not keyworded here media-video/ffmpeg quirc liblc3 +media-video/ffmpeg-compat quirc liblc3 # matoro (2024-07-03) # Requires dev-util/shelltestrunner @@ -312,6 +314,7 @@ media-libs/freetype svg # Adel Kara Slimane (2022-03-14) # Untested useflag on other arches, needs keywording media-video/ffmpeg vmaf +media-video/ffmpeg-compat vmaf # Sam James (2022-01-29) # app-text/ronn-ng not keyworded here, bug #801103 @@ -422,6 +425,7 @@ media-libs/mesa video_cards_zink vulkan-overlay # Sergei Trofimovich (2020-07-18) # net-libs/webkit-gtk has no alpha keywords +app-editors/emacs xwidgets gnome-extra/evolution-data-server oauth-gtk3 oauth-gtk4 # needs gnome-extra/sushi, depends on net-libs/webkit-gtk gnome-base/nautilus previewer 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 1cad01f369c..5c478367fd4 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 @@ -36,6 +36,7 @@ llvm-runtimes/clang-runtime -llvm_targets_AMDGPU -llvm_targets_NVPTX -llvm_targe # Ionen Wolkens (2026-02-11) # net-libs/librist is available here media-video/ffmpeg -rist +media-video/ffmpeg-compat -rist # Andrey Grozin (2026-01-08) # dev-python/pyside[tools] is available here 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 c0316716278..62603b0bc99 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 @@ -74,7 +74,6 @@ sci-visualization/dash dev-python/spyder-notebook app-emacs/emacs-ipython-notebook dev-python/jupyter -dev-python/vpython dev-python/widgetsnbextension dev-python/ipywidgets dev-python/metakernel 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 c800f9cb5e7..f2cbbb0fc89 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-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Volkmar W. Pogatzki (2026-08-16) +# Blocks removal of vulnerable old dev-java/openjdk-bin-8.492_p09 +~sys-devel/gettext-0.21.1 java + # Alfred Wingate (2026-07-26) # Firefox not keyworded here dev-util/selenium-manager test @@ -273,6 +277,7 @@ app-text/enchant nuspell # Adel Kara Slimane (2022-03-14) # Untested useflag on other arches, needs keywording media-video/ffmpeg vmaf +media-video/ffmpeg-compat vmaf # Sam James (2022-03-10) # Boost has support for ARM32 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 9e7ba85c159..2c7f0fed78e 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 @@ -6,6 +6,7 @@ # Not overly worth extra stabilizations over new still scarcely used # colour filters. Can revisit if someone wants this. media-video/ffmpeg opencolorio +media-video/ffmpeg-compat opencolorio # Matt Turner (2025-11-24) # spirv-llvm-translator < 20 is not stable here. diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.force b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.force index 55e8ef0bf87..98647ea1707 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.force +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.force @@ -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 +# Alfredo Tupone (2026-08-12) +# Pytorch needs mimalloc on arm64 +>=sci-ml/pytorch-2.13.0 mimalloc + # Paul Zander (2024-04-12) # supports 64 bit neon media-libs/opencv cpu_flags_arm_neon 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 afd15fd2441..f3f3cc61d26 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,12 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Ionen Wolkens (2026-08-19) +# arm64 is only supported in >=wine-mono-11.3.0 which is only +# used by >=wine-11.16 + (2026-07-09) # dependencies not arm64 ready sci-ml/ggml rocm @@ -32,6 +38,7 @@ app-admin/vaultwarden cli # Ionen Wolkens (2026-02-11) # net-libs/librist is available here media-video/ffmpeg -rist +media-video/ffmpeg-compat -rist # Sam James (2025-12-23) # sys-process/numactl is available here @@ -105,19 +112,21 @@ sci-ml/datasets test # Alfredo Tupone (2025-05-03) # dependencies not arm64 ready sci-ml/caffe2 distributed gloo fbgemm nnpack onednn qnnpack rocm xnnpack +sci-ml/pytorch distributed fbgemm nnpack onednn qnnpack rocm xnnpack +sci-ml/gloo rocm # Sam James (2025-04-30) # 32-bit only (bug #951981). dev-cpp/highway cpu_flags_arm_neon # Ionen Wolkens (2025-04-21) -# These are not currently supported on arm64. Porting wine-gecko and -# wine-mono is on Wine's TODO[1], mingw64-toolchain lacks ebuild -# support (crossdev might be usable, but users are on their own there), +# These are not currently supported on arm64. Porting wine-gecko +# is on Wine's TODO[1], mingw64-toolchain lacks ebuild support +# (crossdev might be usable, but users are on their own there), # and dosbox is not keyworded here. # [1] https://gitlab.winehq.org/wine/wine/-/wikis/ARM64#todo -app-emulation/wine-vanilla crossdev-mingw dos gecko mingw mono -app-emulation/wine-staging crossdev-mingw dos gecko mingw mono +app-emulation/wine-staging crossdev-mingw dos gecko mingw +app-emulation/wine-vanilla crossdev-mingw dos gecko mingw # NRK (2025-03-17) # media-libs/libyuv is not keyworded @@ -524,10 +533,6 @@ mate-base/mate-applets-meta sensors mate-extra/caja-extensions gajim sci-libs/gdal armadillo netcdf sys-fs/btrfs-progs reiserfs -www-client/chromium widevine -www-client/qutebrowser widevine -www-client/vivaldi widevine -www-client/vivaldi-snapshot widevine # Michał Górny (2018-02-17) # Requires unkeyworded dependencies. 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 ba4039da085..bc2f44e1360 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 @@ -6,6 +6,7 @@ # Not overly worth extra stabilizations over new still scarcely used # colour filters. Can revisit if someone wants this. media-video/ffmpeg opencolorio +media-video/ffmpeg-compat opencolorio # Sam James (2025-11-30) # sci-libs/blis does not have stable keywords 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 621aa956ec8..1c2cdd38357 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 @@ -17,6 +17,7 @@ llvm-runtimes/clang-runtime llvm_targets_AMDGPU llvm_targets_NVPTX # Ionen Wolkens (2026-02-11) # net-libs/librist currently has very few keywords media-video/ffmpeg rist +media-video/ffmpeg-compat rist # Andrey Grozin (2026-01-08) # Needs dev-python/pyside[tools] diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/base/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/base/use.mask index bbb7997bc16..1540a5e398a 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/base/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/base/use.mask @@ -91,7 +91,7 @@ vidix # vdpau is currently only available with binary nvidia-drivers, thus amd64/x86* vdpau -# Infiniband stuff should generaly work on all arches but keyworded only on amd64/x86 +# Infiniband stuff should generally work on all arches but keyworded only on amd64/x86 infiniband # These need libieee1284 which is amd64/x86 only. 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 f3df1e2437f..81106c6c975 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 @@ -36,6 +36,7 @@ sys-fs/lvm2 thin # Ionen Wolkens (2026-03-16) # media-libs/opencolorio is not keyworded here media-video/ffmpeg opencolorio +media-video/ffmpeg-compat opencolorio # Sam James (2026-02-11) # sys-libs/libnvme not keyworded here @@ -285,6 +286,7 @@ media-libs/xine-lib dav1d # Adel Kara Slimane (2022-03-14) # Untested useflag on other arches, needs keywording media-video/ffmpeg vmaf +media-video/ffmpeg-compat vmaf # Sam James (2022-03-06) # Unkeyworded dependencies @@ -504,6 +506,11 @@ kde-frameworks/extra-cmake-modules doc # pulls in many dev-ruby/asciidoctor dependencies (bug #583390) net-misc/chrony html +# Jeroen Roovers (2016-01-31) +# Ulrich Müller (2026-08-18) +# USE=xwidgets requires net-libs/webkit-gtk, bug #573432 +app-editors/emacs xwidgets + # Jeroen Roovers (2015-05-17) # Mask USE=rados for net-analyzer/rrdtool since sys-cluster/ceph is not # keyworded (bug #549516) 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 85d28c1c673..9167c650b98 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 @@ -36,6 +36,7 @@ sys-fs/lvm2 vdo # Ionen Wolkens (2026-03-16) # media-libs/opencolorio is not keyworded here media-video/ffmpeg opencolorio +media-video/ffmpeg-compat opencolorio # Sam James (2026-01-16) # Unkeyworded dependencies (bug #968238) 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 d2779537439..44b39144f28 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 @@ -59,6 +59,7 @@ sys-apps/systemd xkb # Adel Kara Slimane (2022-03-14) # Untested useflag on other arches, needs keywording media-video/ffmpeg vmaf +media-video/ffmpeg-compat vmaf # James Le Cuirot (2022-01-09) # Most usage of KMS requires GBM, which is provided by Mesa, which currently 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 241094833e8..c6cab527ed2 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 @@ -33,6 +33,7 @@ sys-fs/lvm2 vdo # Ionen Wolkens (2026-03-16) # media-libs/opencolorio is not keyworded here media-video/ffmpeg opencolorio +media-video/ffmpeg-compat opencolorio # Sam James (2026-01-16) # Unkeyworded dependencies (bug #968238) @@ -253,6 +254,7 @@ app-editors/emacs gui mailutils # Arthur Zamarin (2024-08-25) # net-libs/webkit-gtk has no mips keywords +app-editors/emacs xwidgets dev-util/glade webkit # Arthur Zamarin (2024-08-25) @@ -401,6 +403,7 @@ app-text/enchant nuspell # Adel Kara Slimane (2022-03-14) # Untested useflag on other arches, needs keywording media-video/ffmpeg vmaf +media-video/ffmpeg-compat vmaf # James Le Cuirot (2022-02-24) # These GRUB platforms are only for MIPS. 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 cd7fc3e3ce5..d6ea18d9067 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 @@ -177,6 +177,7 @@ app-text/enchant nuspell # Adel Kara Slimane (2022-03-14) # Untested useflag on other arches, needs keywording media-video/ffmpeg vmaf +media-video/ffmpeg-compat vmaf # Sam James (2021-11-15) # librtas is available on (only) ppc* 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 858a4126003..29f802b28c8 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 @@ -32,6 +32,7 @@ dev-util/ccache http # Ionen Wolkens (2026-03-16) # media-libs/opencolorio is not keyworded here media-video/ffmpeg opencolorio +media-video/ffmpeg-compat opencolorio # Sam James (2025-08-29) # net-misc/passt not yet keyworded here diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.mask index caeeed7de46..78fde7d9df6 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.mask @@ -4,6 +4,7 @@ # Ionen Wolkens (2026-03-16) # media-libs/opencolorio is available on ppc64le media-video/ffmpeg -opencolorio +media-video/ffmpeg-compat -opencolorio # Marek Szuba (2023-12-05) # Needs USE=video_cards_amdgpu, which IS available on ppc64le. diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.stable.mask index 593e331a500..6b13fc3ba95 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.stable.mask @@ -6,6 +6,7 @@ # Not overly worth extra stabilizations over new still scarcely used # colour filters. Can revisit if someone wants this. media-video/ffmpeg opencolorio +media-video/ffmpeg-compat opencolorio # Georgy Yakovlev (2021-05-07) # openjfx:8 will never be stabilized 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 e80b3cf5922..5980ae80b65 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 @@ -12,6 +12,7 @@ net-irc/quassel urlpreview # Ionen Wolkens (2026-03-16) # media-libs/opencolorio is masked on ppc64(be) media-video/ffmpeg opencolorio +media-video/ffmpeg-compat opencolorio # Andreas Sturmlechner (2026-02-14) # (2022-03-14) # Untested useflag on other arches, needs keywording media-video/ffmpeg vmaf +media-video/ffmpeg-compat vmaf # Sam James (2021-11-05) # Avoid keywording unnecessary depenencies for now, bug #804115 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 8338fb89558..4f596628ce5 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 @@ -41,6 +41,7 @@ sys-fs/lvm2 vdo # Ionen Wolkens (2026-03-16) # media-libs/opencolorio is not keyworded here media-video/ffmpeg opencolorio +media-video/ffmpeg-compat opencolorio # Jaco Kroon (2026-02-06) # Requires sys-auth/libyubikey @@ -404,6 +405,7 @@ media-libs/freetype svg # Adel Kara Slimane (2022-03-14) # Untested useflag on other arches, needs keywording media-video/ffmpeg vmaf +media-video/ffmpeg-compat vmaf # Sam James (2022-03-06) # Unkeyworded dependencies 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 91083166559..3fbdcdb1e78 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 @@ -123,3 +123,7 @@ dev-libs/libzip mbedtls net-libs/libssh mbedtls net-libs/libssh2 mbedtls net-vpn/openvpn mbedtls + +# Sergei Trofimovich (2020-04-04) +# Needs stable net-libs/webkit-gtk, bug #712260 +app-editors/emacs xwidgets 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 ccf0d8a983c..e0da09f0a1b 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 @@ -22,6 +22,7 @@ # Not overly worth extra stabilizations over new still scarcely used # colour filters. Can revisit if someone wants this. media-video/ffmpeg opencolorio +media-video/ffmpeg-compat opencolorio # Andreas Sturmlechner (2025-12-13) # media-gfx/asymptote is not stable here, bug #961740 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 01dd08c6245..8e314515d16 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force +++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force @@ -1,6 +1,17 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Matt Jolly (2026-08-19) +# Upstream has a faulty mold dependency with -official and +# the version we need isn't stable yet; Bug #980645 +=www-client/chromium-151* official + +# James Le Cuirot (2026-08-09) +# Requires FFmpeg 9.0, which isn't keyworded yet, so force Chromium fork. +>=dev-libs/nwjs-0.114.0 ffmpeg-chromium +>=www-client/vivaldi-8.1 ffmpeg-chromium +>=www-client/vivaldi-snapshot-8.2 ffmpeg-chromium + # Sam James (2026-07-16) # Fails to build GCC otherwise: # https://lists.gnu.org/archive/html/bug-gawk/2026-07/msg00026.html 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 0dd4428ca6b..233247a2a2c 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 @@ -10,10 +10,6 @@ # Turnstile is currently in ::guru sys-auth/pambase turnstile -# Michael Orlitzky (2026-07-17) -# Broke upstream, not an easy fix, bug 978718. ->=net-analyzer/monitoring-plugins-3.0.1 snmp - # Michał Górny (2026-07-02) # Unsurpringly upstream doesn't support custom slotted Gentoo install. dev-libs/libevent mbedtls @@ -90,13 +86,6 @@ net-vpn/eduvpn-client doc # No suitable versions of dev-libs/protobuf available. ~dev-java/protobuf-java-4.33.5 system-protoc -# Sam James (2026-02-14) -# binutils-2.46 changes SFrame format to v3. We don't want binaries -# distributed with v2 and binutils doesn't support mixing v2+v3. From -# v3 on, compatibility will be guaranteed. Please rebuild without SFrames -# first with (2026-01-09) # tests fail to build during src_compile: # - needs demos to be built @@ -188,11 +177,6 @@ dev-games/ogre wayland dev-games/simgear gdal games-simulation/flightgear gdal -# Joonas Niilola (2025-05-14) -# Experimental, no official upstream support. -# 2026-06-15 update: after 152.0 upstream officially supports it. - (2025-05-01) # Requires llvm-15 media-gfx/openvdb ax @@ -807,11 +791,6 @@ app-metrics/collectd collectd_plugins_onewire # Only supported on 64bit systems, see storage/columnstore/CMakeLists.txt dev-db/mariadb columnstore -# Brian Dolbec (2020-07-20) -# Required dependencies are not yet in the Gentoo ebuild tree -# Please file a bug if this feature is needed -dev-python/autobahn xbr - # Stephan Hartmann (2020-06-28) # Mostly intended for development and not for general use. >=www-client/chromium-84 headless diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64le/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64le/package.use.mask index 502d92cc4d1..d033290a294 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64le/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64le/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 # Mike Frysinger (2014-10-21) # This target supports ASAN/etc... #504200. sys-devel/gcc -sanitize + +# gtkmm with USE=vulkan depends on gtk[vulkan] which sets vulkan-loader[wayland] +# which in turn depends on dev-libs/weston[headless], which is not keyworded +dev-cpp/gtkmm vulkan 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 d4ea5c089f4..e368d9974ae 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 @@ -146,6 +146,17 @@ dev-libs/weston # in big-endian package.use.mask: # Hard depends on gui-libs/gtk[wayland] since version 48.3 >=gnome-base/gnome-control-center-48.3 +>=gnome-base/gnome-shell-48.5 +app-eselect/eselect-gnome-shell-extensions +gnome-base/gdm +gnome-extra/gnome-browser-connector +gnome-extra/gnome-shell-extension-appindicator +gnome-extra/gnome-shell-extension-dash-to-panel +gnome-extra/gnome-shell-extension-gsconnect +gnome-extra/gnome-shell-extension-pop-shell +gnome-extra/gnome-shell-extensions +gnome-extra/gnome-tweaks + # Hard depends on gui-libs/gtk[X,wayland] since atleast version 47.4 gnome-base/nautilus # gnome-base/nautilus reverse-dependencies 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 483c166d8ca..eff554b1666 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 @@ -59,13 +59,17 @@ gnome-base/gnome-control-center wayland gnome-base/gnome-shell wayland gnome-extra/tecla wayland gui-libs/gtk wayland +# gtkmm with USE=vulkan depends on gtk[vulkan] which sets vulkan-loader[wayland] +dev-cpp/gtkmm vulkan gui-libs/vte wayland media-libs/clutter wayland media-libs/clutter-gtk wayland media-video/celluloid wayland +net-libs/gnome-online-accounts gnome net-libs/webkit-gtk:6 wayland sys-apps/xdg-desktop-portal-gnome wayland x11-libs/vte wayland +x11-misc/xscreensaver gdm # matoro (2023-04-10) # media-libs/libldac casualties (#80238) diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/use.mask index f8d17fc410d..65c5400105b 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/use.mask @@ -1,6 +1,10 @@ # Copyright 2023-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Pacho Ramos (2026-08-10) +# gnome-shell cannot be used with their latest versions +gnome-shell + # Eli Schwartz (2025-12-09) # libyuv is Google code, fails on "fringe" arches. # Bug #959389. 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 19dbee56284..24f6641abe2 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 @@ -335,6 +335,10 @@ games-fps/legends games-fps/soldieroffortune games-fps/transfusion-bin games-fps/tribes2 +games-fps/unreal +games-fps/unreal-gold-data +games-fps/unreal-tournament +games-fps/unreal-tournament-data games-fps/ut2003 games-fps/ut2003-bonuspack-cm games-fps/ut2003-bonuspack-de diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.mask index 2093e0c9eb7..4a730a6df9c 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.mask @@ -9,6 +9,7 @@ sys-auth/pambase homed # Sv. Lockal (2025-07-07) # sci-libs/aotriton-bin is masked on musl sci-ml/caffe2 memefficient +sci-ml/pytorch memefficient # Alfred Wingate (2025-05-17) # Tests cannot be built on musl due to libc specific ifdefs (bug #836710) 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 cf618a67f27..7782084bcfe 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 @@ -263,7 +263,6 @@ dev-util/cargo-license dev-util/cargo-audit dev-util/bingrep dev-python/trimesh -dev-python/vpython dev-python/treq dev-python/twython dev-python/txtorcon @@ -276,9 +275,6 @@ dev-python/python-axolotl dev-python/pyghmi dev-python/omemo-dr dev-python/noiseprotocol -dev-python/magic-wormhole -dev-python/magic-wormhole-transit-relay -dev-python/magic-wormhole-mailbox-server dev-python/jwcrypto dev-python/websockify dev-python/jupyter @@ -384,7 +380,6 @@ dev-lang/rust-bin >=dev-lang/spidermonkey-78 >=dev-libs/gjs-1.66 dev-python/aiohttp-oauthlib -dev-python/autobahn dev-python/aws-sam-translator >=dev-python/bcrypt-4 dev-python/cachebox @@ -406,7 +401,6 @@ dev-python/joserfc dev-python/josepy >=dev-python/jsonschema-4.18.0 dev-python/jsonschema-path -dev-python/jsonschema-spec dev-python/jsonschema-specifications dev-python/jupyter-events dev-python/jupyter-lsp @@ -442,6 +436,7 @@ dev-python/pydantic-settings dev-python/pyfuse3 >=dev-python/pyopenssl-22 dev-python/pymdown-extensions +dev-python/pysequoia dev-python/pyspelling dev-python/pyspnego dev-python/pyproject-fmt @@ -480,7 +475,6 @@ dev-python/watchfiles dev-python/wcmatch dev-python/widgetsnbextension dev-ruby/selenium-webdriver -dev-util/buildbot-worker dev-util/cargo-c dev-util/cbindgen dev-util/git-delta @@ -523,6 +517,7 @@ net-dns/hash-slinger net-dns/pdns-recursor net-im/gajim >=net-irc/polari-3.37 +>=net-libs/gnome-online-accounts-3.56 net-libs/quiche net-misc/streamlink net-news/newsboat @@ -544,3 +539,50 @@ x11-themes/adwaita-icon-theme-legacy >=gnome-extra/gnome-user-share-48.2 >=app-editors/gnome-text-editor-49.0 >=x11-wm/mutter-49 +# libadwaita consumers +app-arch/file-roller +app-editors/ghex +app-editors/gnome-text-editor +app-i18n/ibus-cangjie +app-misc/gnote +app-text/gtranslator +app-text/paper-clip +dev-util/blueprint-compiler +dev-util/sysprof +games-arcade/gnome-nibbles +games-board/gnome-mines +games-kids/gmult +games-puzzle/gnome-sudoku +games-puzzle/lightsoff +games-util/cartridges +gnome-base/nautilus +gnome-extra/gnome-calculator +gnome-extra/gnome-calendar +gnome-extra/gnome-clocks +gnome-extra/gnome-contacts +gnome-extra/gnome-logs +gnome-extra/gnome-software +gnome-extra/tecla +gnome-extra/zenity +gui-libs/libpanel +media-gfx/gnome-font-viewer +media-gfx/simple-scan +media-sound/easyeffects +media-sound/gnome-music +net-wireless/gnome-bluetooth +sys-apps/baobab +sys-apps/xdg-desktop-portal-gnome +www-client/epiphany +app-misc/bijiben +mail-client/geary +media-gfx/gnome-photos +net-libs/msgraph +dev-games/aseprite +dev-python/nautilus-python +gnome-extra/nemo-fileroller +media-gfx/geeqie +x11-wm/marco +x11-wm/muffin +x11-wm/mutter +mate-base/mate +mate-base/mate-control-center 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 834746e9c57..8c69620e511 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,24 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Pacho Ramos (2026-08-10) +# Needs gnome-control-center and other rust reverse deps +app-emulation/winetricks gui +dev-perl/Panotools-Script gui +gnome-base/gvfs google onedrive test +x11-misc/mugshot gnome +x11-misc/xscreensaver gdm + +# Michał Górny (2025-08-09) +# Require dev-python/pydantic and dev-python/inline-snapshot, +# respectively. +dev-python/cappa test +dev-python/yaxmldiff test + +# Michał Górny (2025-08-09) +# Require dev-python/sybil. +dev-python/tldextract test + # Eli Schwartz (2026-07-07) # Requires >= on gtk/libadwaita, which is masked for librsvg # reasons. diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/use.mask index 024177163a1..659cb3139e7 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/use.mask @@ -1,6 +1,12 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Pacho Ramos (2026-08-10) +# Require rustified librsvg. +gnome-shell +gnome-online-accounts +nautilus + # Sam James (2025-04-03) # Needs Rustified librsvg. gimp @@ -18,7 +24,3 @@ test-rust # Sam James (2022-08-26) # >=media-gfx/libimagequant-4 requires Rust. imagequant - -# Matt Turner (2021-07-25) -# gnome-shell requires rustified librsvg. -gnome-shell diff --git a/sdk_container/src/third_party/portage-stable/profiles/license_groups b/sdk_container/src/third_party/portage-stable/profiles/license_groups index 9b7e9bd7733..d663d7b6fac 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/license_groups +++ b/sdk_container/src/third_party/portage-stable/profiles/license_groups @@ -25,7 +25,7 @@ FSF-APPROVED @GPL-COMPATIBLE AFL-2.1 AFL-3.0 Apache-1.0 Apache-1.1 APSL-2 BSD-4 # Note that the FSF lists these as nonfree: Artistic NOSA Watcom-1.0 # We exclude NOSA and Watcom-1.0, but we keep Artistic because Debian # considers it DFSG-free. -OSI-APPROVED-FREE 0BSD AFL-3.0 AGPL-3 AGPL-3+ Apache-1.1 Apache-2.0 APL-1.0 APSL-2 Artistic Artistic-2 BlueOak-1.0.0 Boost-1.0 BSD BSD-1 BSD-2 CDDL CNRI CPAL-1.0 CPL-1.0 ECL-2.0 EPL-1.0 EPL-2.0 EUPL-1.1 EUPL-1.2 GPL-1 GPL-1+ GPL-2 GPL-2+ GPL-3 GPL-3+ HPND IBM IPAfont ISC LBNLBSD LGPL-2 LGPL-2+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ LPL-1.02 LPPL-1.3c MirOS MIT MIT-0 MPL-1.0 MPL-1.1 MPL-2.0 Ms-PL Ms-RL nethack OFL-1.1 OSL-2.1 PHP-3 PHP-3.01 POSTGRESQL PSF-2 QPL-1.0 Sleepycat Unicode-3.0 Unicode-DFS-2015 Unicode-DFS-2016 Unlicense UPL-1.0 UoI-NCSA W3C wxWinLL-3 ZLIB ZPL +OSI-APPROVED-FREE 0BSD AFL-3.0 AGPL-3 AGPL-3+ Apache-1.1 Apache-2.0 APL-1.0 APSL-2 Artistic Artistic-2 BlueOak-1.0.0 Boost-1.0 BSD BSD-1 BSD-2 BSD-2-with-patent CDDL CNRI CPAL-1.0 CPL-1.0 ECL-2.0 EPL-1.0 EPL-2.0 EUPL-1.1 EUPL-1.2 GPL-1 GPL-1+ GPL-2 GPL-2+ GPL-3 GPL-3+ HPND IBM IPAfont ISC LBNLBSD LGPL-2 LGPL-2+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ LPL-1.02 LPPL-1.3c MirOS MIT MIT-0 MPL-1.0 MPL-1.1 MPL-2.0 Ms-PL Ms-RL nethack OFL-1.1 OSL-2.1 PHP-3 PHP-3.01 POSTGRESQL PSF-2 QPL-1.0 Sleepycat Unicode-3.0 Unicode-DFS-2015 Unicode-DFS-2016 Unlicense UPL-1.0 UoI-NCSA W3C wxWinLL-3 ZLIB ZPL # Misc licenses that are probably free software, i.e. follow the # Free Software Definition at https://www.gnu.org/philosophy/free-sw.html @@ -34,7 +34,7 @@ OSI-APPROVED-FREE 0BSD AFL-3.0 AGPL-3 AGPL-3+ Apache-1.1 Apache-2.0 APL-1.0 APSL # Licenses in this list should NOT appear directly or indirectly in # @FSF-APPROVED or @OSI-APPROVED. # Note: Licenses for fonts should be included in @MISC-FREE-DOCS. -MISC-FREE AIFFWriter.m Allegro alternate AMPAS Base64 BEER-WARE boehm-gc BSD-2-with-patent BSD-with-attribution BSD-with-disclosure buddy bufexplorer.vim BZIP2 CAOSL CDDL-1.1 CDDL-Schily coldspringharbor CPL-0.5 Crypt-IDEA curl DES docbook dom4j DUMB-0.9.3 ElementTree Emacs ErlPL-1.1 FastCGI feh FFT2D File-MMagic Flashpix FLEX flexmock FLTK freetts FSFUL FVWM gd gsm HTML-Tidy iASL icu IDPL imagemagick Info-ZIP inner-net ipadic Ispell JasPer2.0 JDOM JOVE Khronos-CLHPP LambdaMOO LIBGLOSS libmng libpng libpng2 libtiff LLGPL-2.1 LPPL-1.0 LPPL-1.1 LPPL-1.3 LPPL-1.3b lsof matplotlib Mini-XML minpack MIT-with-advertising mm mpich2 NCSA-HDF netcat NEWLIB ngrep NOLIMIT NPSL-0.95 Old-MIT openafs-krb5-a Openwall otter par PCRE perforce photopc PHP-2.02 pngcrush pngnq Princeton psutils rc regexp-UofT repoze RSA RtMidi rwpng sash scanlogd sdlsasteroids Sendmail Sendmail-Open-Source SMAIL Snd Spencer-99 SSLeay SunSoft symlinks Sympow-BSD tcltk tcp_wrappers_license TeX TeX-other-free TextMate-bundle the-Click-license Time-Format Time-modules tm-align torque-2.5 Toyoda trio UCAR-Unidata unicode VTK w3m wm2 xbatt xboing XC Xdebug xtrs ZSH +MISC-FREE AIFFWriter.m Allegro alternate AMPAS Base64 BEER-WARE boehm-gc BSD-with-attribution BSD-with-disclosure buddy bufexplorer.vim BZIP2 CAOSL CDDL-1.1 CDDL-Schily coldspringharbor CPL-0.5 Crypt-IDEA curl DES docbook dom4j DUMB-0.9.3 ElementTree Emacs ErlPL-1.1 FastCGI feh FFT2D File-MMagic Flashpix FLEX flexmock FLTK freetts FSFUL FVWM gd gsm HTML-Tidy iASL icu IDPL imagemagick Info-ZIP inner-net ipadic Ispell JasPer2.0 JDOM JOVE Khronos-CLHPP LambdaMOO LIBGLOSS libmng libpng libpng2 libtiff LLGPL-2.1 LPPL-1.0 LPPL-1.1 LPPL-1.3 LPPL-1.3b lsof matplotlib Mini-XML minpack MIT-with-advertising mm mpich2 NCSA-HDF netcat NEWLIB ngrep NOLIMIT NPSL-0.95 Old-MIT openafs-krb5-a Openwall otter par PCRE perforce photopc PHP-2.02 pngcrush pngnq Princeton psutils rc regexp-UofT repoze RSA RtMidi rwpng sash scanlogd sdlsasteroids Sendmail Sendmail-Open-Source SMAIL Snd Spencer-99 SSLeay SunSoft symlinks Sympow-BSD tcltk tcp_wrappers_license TeX TeX-other-free TextMate-bundle the-Click-license Time-Format Time-modules tm-align torque-2.5 Toyoda trio UCAR-Unidata unicode VTK w3m wm2 xbatt xboing XC Xdebug xtrs ZSH # Metaset for all free software FREE-SOFTWARE @FSF-APPROVED @OSI-APPROVED-FREE @MISC-FREE diff --git a/sdk_container/src/third_party/portage-stable/profiles/package.deprecated b/sdk_container/src/third_party/portage-stable/profiles/package.deprecated index 49acc5dce6c..6f7de428eb7 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/package.deprecated +++ b/sdk_container/src/third_party/portage-stable/profiles/package.deprecated @@ -70,12 +70,6 @@ dev-python/httpx # importlib.{metadata,resources} and/or dev-python/packaging. dev-python/pkg-resources -# Michał Górny (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 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 2cc54118ec0..7288cc910ab 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/package.mask @@ -36,6 +36,66 @@ #--- END OF EXAMPLES --- +# Sam James (2026-08-21) +# Grave security vulnerabilities which either haven't been +# fixed upstream or fixed insufficiently. Our version is out-of-date as +# well though the latest version wouldn't fix all of these. Other distributions +# have removed croc because of its poor security posture already. +# Use net-misc/wormhole-william or net-misc/magic-wormhole-rust instead. +# Removal on 2026-09-20. Bug #980854 and the older bug #918091. +acct-group/croc +acct-user/croc +net-misc/croc + +# Arthur Zamarin (2026-08-20) +# Masked for testing. Already detected regressions, so downgrade +# unless you want to help test. +# Bug #981130. +=dev-lang/go-1.27.0 + +# James Le Cuirot (2026-08-16) +# This fork of Barrier sadly didn't get very far. Upstream have now archived the +# repository. Use gui-apps/deskflow, which is now the FOSS upstream of the +# original Synergy project that all these other projects are descended from. +# Removal on 2026-09-16. Bug #980972. +gui-apps/input-leap + +# Brett A C Sheffield (2026-08-09) +# Unmaintained by upstream for 16 years. Two unpatched security bugs +# (Bug #906111 and Bug #916866) and many more unpatched issues upstream. +# Removal on 2026-09-09. +app-text/catdoc + +# Michał Górny (2026-08-08) +# A chain of NIH packages that have seen no upstream activity in 3+ +# years. They are all broken with >=dev-python/flit-core-4, and have +# no reverse dependencies outside the chain. +# Removal on 2026-09-07. Bug #980500. +dev-python/autoprop +dev-python/signature-dispatch +dev-python/vecrec + +# Nowa Ammerlaan (2026-08-06) +# This version was pulled from upstream. The reason for this is +# unclear. But masked just as a precaution. Bug #980367. +=sys-boot/shim-16.1_p8 + +# Michał Górny (2026-08-05) +# Last released in 2017. Carries a significant patchset already. +# Uses pkg_resources namespaces. No reverse dependencies. +# Removal on 2026-09-04. Bug #957269. +dev-python/pyformance + +# Michał Górny (2026-08-04) +# Slop package. The old versions bundle a very old fork of +# app-i18n/uchardet. The new ones require app-i18n/uchardet from git +# that suffers from regressions (and upstream slop-patched them anyway). +# The only revdep supports fallback to dev-python/chardet and +# dev-python/charset-normalizer (both are also slop nowadays, but we're +# stuck with them anyway), and uses a || dep. +# Removal on 2026-09-03. Bug #980354. +dev-python/faust-cchardet + # James Le Cuirot (2026-07-29) # These packages have been superseded by recent versions of # games-fps/ut2004-data, which now includes this content regardless of @@ -92,15 +152,6 @@ net-dns/bind-tools # Removal on 2026-08-15. Bug #942397. app-arch/p7zip -# Michał Górny (2026-07-13) -# dev-python/fields is unmaintained for 5 years. Broken with pytest-9, -# we already patch it for earlier pytest versions. It is the only -# revdep of dev-python/characteristic which was archived in 2023. -# No revdeps left. -# Removal on 2026-08-12. Bug #978175. -dev-python/characteristic -dev-python/fields - # Andreas Sturmlechner (2026-07-07) # dev-embedded/ponyprog destabilisation mask, bug #978907 =dev-embedded/ponyprog-3.1.4_p20250501-r0 @@ -109,68 +160,15 @@ dev-python/fields # Introduces backwards breaking change. Mask until downstreams adjust >=dev-db/lmdb-1.0.0 -# Michał Górny (2026-07-04) -# Renamed to dev-python/jsonschema-path. No revdeps left. -# Removal on 2026-08-03. -dev-python/jsonschema-spec - -# Michał Górny (2026-06-30) -# Backwards compatibility wrapper. No revdeps left. -# Removal on 2026-07-30. -dev-python/roman-numerals-py - -# Michał Górny (2026-06-29) -# Unmaintained. Requires patching since py3.12. No revdeps. -# Removal on 2026-07-29. Bug #978274. -dev-python/commentjson - -# Michał Górny (2026-06-20) -# No py3.14 in compat, tests lost on bump, no revdeps. -# Removal on 2026-07-20. Bug #973904. -dev-python/pyx -dev-python/sphinx-selective-exclude - -# Michał Górny (2026-06-20) -# Both packages are completely broken and do not install correctly. -# Removal on 2026-07-20. Bug #977003. -sci-chemistry/GromacsWrapper -sci-libs/numkit - -# Michał Górny (2026-06-20) -# No maintainer, no py3.14 compat, broken tests, no revdeps. -# Removal on 2026-07-20. Bug #973876. -dev-python/pdoc3 - -# Michał Górny (2026-06-20) -# No py3.14 compat, broken tests, no revdeps. -# Removal on 2026-07-20. Bug #973847. -dev-python/django-cacheops - -# Michał Górny (2026-06-20) -# NIH package with little activity. Last revdeps were removed -# in Sep 2025. -# Removal on 2026-07-20. Bug #977772. -dev-python/pyotherside - # Michał Górny (2026-06-19) # dev-python/pytrie is broken on Python 3.14 and has not been touched # since 2020. dev-python/autobahn and dev-python/txaio have become # complete broken slop, and still depend on it. Remove these packages, # their reverse dependencies and their dependencies without revdeps. +# For magic-wormhole, use net-misc/wormhole-william or +# net-misc/magic-wormhole-rust instead. # Removal on 2026-07-19. Bug #967367. -dev-python/autobahn dev-python/magic-wormhole -dev-python/magic-wormhole-mailbox-server -dev-python/magic-wormhole-transit-relay -dev-python/py-ubjson -dev-python/pytrie -dev-python/txaio -dev-python/vpython -dev-python/wsaccel - -# Ulrich Müller (2026-06-05) -# Pretest versions, masked for testing. - (2026-06-03) # Mike Pagano (2026-06-03) @@ -254,27 +252,6 @@ dev-qt/qtx11extras:5 # Bug #954006. Removal some time after 2026-05-30. =media-video/vlc-3.0.23 -# Michał Górny (2026-05-09) -# The buildbot packages aren't actively maintained in ::gentoo. They -# are stuck on Python 3.12 and obsolete dependencies. Bug reports -# aren't receiving any attention. -# Removal on 2026-06-08. Bug #952430. -acct-group/buildbot -acct-user/buildbot -dev-util/buildbot -dev-util/buildbot-badges -dev-util/buildbot-console-view -dev-util/buildbot-grid-view -dev-util/buildbot-pkg -dev-util/buildbot-react-console-view -dev-util/buildbot-react-grid-view -dev-util/buildbot-react-wsgi-dashboards -dev-util/buildbot-waterfall-view -dev-util/buildbot-worker -dev-util/buildbot-wsgi-dashboards -dev-util/buildbot-www -dev-util/buildbot-www-react - # Sam James (2026-05-05) # dev-debug/pwndbg itself needs >=dev-util/unicorn-2.1.4, while # pwndbg also depends on dev-util/pwntools which needs =app-text/calibre-8.11.0 -# 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 - # 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. diff --git a/sdk_container/src/third_party/portage-stable/profiles/thirdpartymirrors b/sdk_container/src/third_party/portage-stable/profiles/thirdpartymirrors index 4a54041a8d8..40235fc14d2 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/thirdpartymirrors +++ b/sdk_container/src/third_party/portage-stable/profiles/thirdpartymirrors @@ -2,7 +2,7 @@ apache https://dlcdn.apache.org/ https://apache.mirror.iphh.net/ https://artfil 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 -gcc https://gcc.gnu.org/pub/gcc/ http://mirrors.concertpass.com/gcc/ https://mirrorservice.org/sites/sourceware.org/pub/gcc/ https://ftp.mpi-inf.mpg.de/mirrors/gnu/mirror/gcc.gnu.org/pub/gcc/ https://bigsearcher.com/mirrors/gcc/ +gcc https://gcc.gnu.org/pub/gcc/ http://mirrors.concertpass.com/gcc/ https://mirrorservice.org/sites/sourceware.org/pub/gcc/ https://ftp.mpi-inf.mpg.de/mirrors/gnu/mirror/gcc.gnu.org/pub/gcc/ gimp https://download.gimp.org/ 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/ diff --git a/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2024 b/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2024 index e2bf671c93c..986dfbd8a35 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2024 +++ b/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2024 @@ -39,7 +39,6 @@ move dev-python/Opcodes dev-python/opcodes move dev-python/OutputCheck dev-python/outputcheck move dev-python/PeachPy dev-python/peachpy move dev-python/requests_download dev-python/requests-download -move dev-python/sphinx_selective_exclude dev-python/sphinx-selective-exclude move dev-python/txAMQP dev-python/txamqp move dev-python/textX dev-python/textx move dev-python/pyClamd dev-python/pyclamd diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.4.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.4.0-r2.ebuild index fa298648e33..9f7deb201d2 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.4.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.4.0-r2.ebuild @@ -19,7 +19,7 @@ else mirror://nongnu/${PN}/${P}.tar.xz verify-sig? ( mirror://nongnu/${PN}/${P}.tar.xz.sig ) " - 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" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-acl )" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/attr/attr-2.6.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/attr/attr-2.6.0.ebuild index cf2fe595821..715a267ccbb 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/attr/attr-2.6.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/attr/attr-2.6.0.ebuild @@ -17,7 +17,7 @@ else verify-sig? ( mirror://nongnu/${PN}/${P}.tar.xz.sig ) " - 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" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-acl )" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/findutils/findutils-4.11.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/findutils/findutils-4.11.0.ebuild index 3f3f8dd0d37..f41e18c7a1b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/findutils/findutils-4.11.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/findutils/findutils-4.11.0.ebuild @@ -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 ~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" IUSE="nls selinux static test test-full" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/Manifest index 47d2f0dbaaf..4e1db1a7067 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/Manifest @@ -1,6 +1,4 @@ DIST gawk-5.3.2.tar.xz 3749260 BLAKE2B 8536777bb45c63d737ef08b3f1b98285cb29ec54400e35b2139c2bc66b464e3ec4950274614d95d94dc7eae18c57333b7c30a44d993855258155fc82b749042a SHA512 2268150fa35ae049a6ff3d0d0fa110db10477014c25f50e2ab4e3ee5fd60133369d2a994f59db4eb718020a0af5c4003ae7278c63e7fffa72f431ff4a1429e48 DIST gawk-5.3.2.tar.xz.sig 488 BLAKE2B ea843fce8ca2b93a8006260e8022f3426daccc18b93bd75ef1fb18e391ce110a10682e75509d771ba9c419d1e22a584f66ff9a436512b76b039a85afed6c7596 SHA512 490f29271d06f374e25e13724f5944215734d0c6da465da5b2a723e83fa31a03c7a16e5c8853465561bc0676139588b1046c598554ccde4ae24563455ee28b65 -DIST gawk-5.4.0.tar.xz 3803276 BLAKE2B ce326dc386e62d288c4fe1268ba493f9c3a1e8af7dec90f95b2942588370f5a3538837d71dc4208534ace2aa84fce46ab6d5d681451b560fdf884aaf1b89fb11 SHA512 b212c6ffd235d5e7f98f0cae5a4fbe9a7139c420400710a747dc2c33dcbda445adc2f6f8ebab330c52c432da67b92be1806c628d261db826a72c89011b2d9d77 -DIST gawk-5.4.0.tar.xz.sig 488 BLAKE2B 7e2c6e6fadba3fdd758563221c2f45b45512262f5f7ca49b6bf60993fc59825c7be7d526e8f014e0bc0304b74a07182d0701817db6726bafc5106c27f5687d3b SHA512 428a35d7183032fa58eb6edcc8b352c956218086476d42b1f1064cdec58c1e233ec421559e859f4a5df235709c932e88b54303081b549e9ced3a82c4abaaf030 DIST gawk-5.4.1.tar.xz 3838416 BLAKE2B 8bd7913c268a66e3f9eca6bed8d7b8fe23c75148c932d186c5e35429dc12f331f960e0fbb5d62d4675ff47f369f63c92db5b3214303edab3a868f0071dd0c4c1 SHA512 a1e79b71e13ce7d5487f89fb62125ec873dc89e0a3ff37ebdff017fdd6dfd38b1eaa95fedcf773c037ae84c95f0ea0817d53bc1c14b4284568f87606da6aa152 DIST gawk-5.4.1.tar.xz.sig 488 BLAKE2B dd9b14c95b414a1e360f71bed5c419d930a61eed6367c53cf4b8c2a8cdba8470453d30a3821df2bef6ab469ec351a008a059558d6fd52a25fa6f9882017397df SHA512 4aded49d65bb671e56689cf29a4b5478ee88ba127e949699a5432e3d23f2c6d3b56d64af1e14c3b55de5b6a95da520a81e4dad540a973bdcb9f8298eb230e4eb diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/files/gawk-5.4.0-Fix-gensub-bug-for-use-with-MinRX.-Add-test-case.patch b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/files/gawk-5.4.0-Fix-gensub-bug-for-use-with-MinRX.-Add-test-case.patch deleted file mode 100644 index 9b178f59aed..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/files/gawk-5.4.0-Fix-gensub-bug-for-use-with-MinRX.-Add-test-case.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 00be99d6ceae1439fd73a15f37d20710dd5798a5 Mon Sep 17 00:00:00 2001 -Message-ID: <00be99d6ceae1439fd73a15f37d20710dd5798a5.1772593597.git.sam@gentoo.org> -In-Reply-To: <32e6f04bf47ea95773ea0d6d876c5fad8bb90834.1772593597.git.sam@gentoo.org> -References: <32e6f04bf47ea95773ea0d6d876c5fad8bb90834.1772593597.git.sam@gentoo.org> -From: "Arnold D. Robbins" -Date: Fri, 27 Feb 2026 11:03:04 +0200 -Subject: [PATCH 4/9] Fix gensub() bug for use with MinRX. Add test case. - ---- a/builtin.c -+++ b/builtin.c -@@ -2116,7 +2116,7 @@ do_sub(int nargs, unsigned int flags) - || ((long) textlen <= 0 && matchstart == matchend) - || research(rp, target->stptr, text - target->stptr, - use_gnu_matchers ? textlen : target->stlen, -- RE_NEED_START) == -1) -+ searchflags) == -1) - break; - - } - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/files/gawk-5.4.0-Small-efficiency-fix-in-array.c.patch b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/files/gawk-5.4.0-Small-efficiency-fix-in-array.c.patch deleted file mode 100644 index 35cd4c80183..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/files/gawk-5.4.0-Small-efficiency-fix-in-array.c.patch +++ /dev/null @@ -1,34 +0,0 @@ -From de8f760a6bea360dd90c9daafc035999c83a3056 Mon Sep 17 00:00:00 2001 -Message-ID: -In-Reply-To: <32e6f04bf47ea95773ea0d6d876c5fad8bb90834.1772593597.git.sam@gentoo.org> -References: <32e6f04bf47ea95773ea0d6d876c5fad8bb90834.1772593597.git.sam@gentoo.org> -From: "Arnold D. Robbins" -Date: Sun, 1 Mar 2026 20:52:16 +0200 -Subject: [PATCH 6/9] Small efficiency fix in array.c. - ---- a/array.c -+++ b/array.c -@@ -210,17 +210,17 @@ make_aname(const NODE *symbol) - slen = strlen(symbol->vname); /* subscript in parent array */ - if (alen + slen + 4 > max_alen) { /* sizeof("[\"\"]") = 4 */ - max_alen = alen + slen + 4 + SLEN; -- erealloc(aname, char *, (max_alen + 1) * sizeof(char *)); -+ erealloc(aname, char *, (max_alen + 1) * sizeof(char)); - } - alen += sprintf(aname + alen, "[\"%s\"]", symbol->vname); - } else { - alen = strlen(symbol->vname); - if (aname == NULL) { - max_alen = alen + SLEN; -- emalloc(aname, char *, (max_alen + 1) * sizeof(char *)); -+ emalloc(aname, char *, (max_alen + 1) * sizeof(char)); - } else if (alen > max_alen) { - max_alen = alen + SLEN; -- erealloc(aname, char *, (max_alen + 1) * sizeof(char *)); -+ erealloc(aname, char *, (max_alen + 1) * sizeof(char)); - } - memcpy(aname, symbol->vname, alen + 1); - } --- -2.53.0 - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/files/gawk-5.4.0-no-assertions-for-pma.patch b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/files/gawk-5.4.0-no-assertions-for-pma.patch deleted file mode 100644 index e58bf201eaa..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/files/gawk-5.4.0-no-assertions-for-pma.patch +++ /dev/null @@ -1,21 +0,0 @@ -https://cgit.git.savannah.gnu.org/cgit/gawk.git/commit/?id=32e6f04bf47ea95773ea0d6d876c5fad8bb90834 - -From 32e6f04bf47ea95773ea0d6d876c5fad8bb90834 Mon Sep 17 00:00:00 2001 -From: "Arnold D. Robbins" -Date: Mon, 23 Feb 2026 10:59:41 +0200 -Subject: Disable assertions in support/pma.c. - ---- a/support/pma.c -+++ b/support/pma.c -@@ -27,6 +27,7 @@ - */ - - #define _DEFAULT_SOURCE // for MAP_ANONYMOUS -+#define NDEBUG 1 // disable assertions, it kills performance - #include - #include - #include --- -cgit v1.2.3 - - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/files/gawk-5.4.1-no-gmp-mpfr.patch b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/files/gawk-5.4.1-no-gmp-mpfr.patch new file mode 100644 index 00000000000..7db7f4fa717 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/files/gawk-5.4.1-no-gmp-mpfr.patch @@ -0,0 +1,61 @@ +https://cgit.git.savannah.gnu.org/cgit/gawk.git/commit/?h=gawk-5.4-stable&id=bf85f8a3175af703597082d4c7e0abc2066a44d3 +https://lists.gnu.org/archive/html/bug-gawk/2026-07/msg00019.html + +From bf85f8a3175af703597082d4c7e0abc2066a44d3 Mon Sep 17 00:00:00 2001 +From: "Arnold D. Robbins" +Date: Tue, 14 Jul 2026 10:14:50 +0300 +Subject: Workaround fix for systems without MPFR and GMP. + +--- + awk.h | 23 ++++++++++++++--------- + 2 files changed, 22 insertions(+), 9 deletions(-) + +diff --git a/awk.h b/awk.h +index dbad0d81..f4a84300 100644 +--- a/awk.h ++++ b/awk.h +@@ -406,17 +406,24 @@ typedef struct exp_node { + } nodep; + + struct { +-#ifdef HAVE_MPFR + union { + AWKNUM fltnum; ++#ifdef HAVE_MPFR + mpfr_t mpnum; + mpz_t mpi; +- } nm; +- int rndmode; + #else +- AWKNUM fltnum; +- int for_alignment_only; // especially on 32-bit +-#endif ++ // 7/2026: ++ // This is a workaround for systems that build ++ // gawk without MPFR and GMP. The NODE struct ++ // desperately needs to be refactored. ++#if SIZEOF_VOID_P == 4 ++ char alignment[28]; ++#else // SIZEOF_VOID_P != 4 ++ char alignment[48]; ++#endif // SIZEOF_VOID_P != 4 ++#endif // HAVE_MPFR ++ } nm; ++ int rndmode; // only used for MPFR. + char *sp; + size_t slen; + int idx; +@@ -561,10 +568,8 @@ typedef struct exp_node { + #ifdef HAVE_MPFR + #define mpg_numbr sub.val.nm.mpnum + #define mpg_i sub.val.nm.mpi +-#define numbr sub.val.nm.fltnum +-#else +-#define numbr sub.val.fltnum + #endif ++#define numbr sub.val.nm.fltnum + #define typed_re sub.val.typre + + /* +-- +cgit v1.3 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/files/gawk-5.4.1-update-minrx.patch b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/files/gawk-5.4.1-update-minrx.patch new file mode 100644 index 00000000000..15c42d4e669 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/files/gawk-5.4.1-update-minrx.patch @@ -0,0 +1,402 @@ +https://github.com/mikehaertel/minrx/pull/68 +https://cgit.git.savannah.gnu.org/cgit/gawk.git/commit/?h=gawk-5.4-stable&id=1a61f93cd203dca8b0bc94f04a3eff80effae152 + +From 1a61f93cd203dca8b0bc94f04a3eff80effae152 Mon Sep 17 00:00:00 2001 +From: "Arnold D. Robbins" +Date: Sat, 8 Aug 2026 22:24:22 +0300 +Subject: Update minrx.c from upstream: memory management improvements. + +--- + support/minrx.c | 201 ++++++++++++++++++++++++++++++++++++++++++------------ + 4 files changed, 174 insertions(+), 42 deletions(-) + +diff --git a/support/minrx.c b/support/minrx.c +index 1e03fb99..5e268213 100644 +--- a/support/minrx.c ++++ b/support/minrx.c +@@ -185,15 +185,6 @@ cowvec_allocator_construct(COWVec_Allocator *a, size_t length) + a->length = length; + } + +-static void +-cowvec_allocator_destruct(COWVec_Allocator *a) +-{ +- for (COWVec_Storage *s = a->freelist, *sfreelink = (COWVec_Storage *) NULL; s != (COWVec_Storage *) NULL; s = sfreelink) { +- sfreelink = s->u.freelink; +- free(s); +- } +-} +- + static size_t + cowvec_storage_get(const COWVec_Storage *cvs, size_t i) + { +@@ -1272,6 +1263,28 @@ nodelist_empty(void) + return r; + } + ++// Scratch space for an execution, kept with the compiled Regexp so that ++// the next execution can have it again. Everything in it is sized from ++// the Regexp alone, so it need only be built once; building it afresh ++// for every execution otherwise dominates the cost of matching a short ++// subject. ++// ++// Only one execution can have it at a time, so an execution that finds ++// it taken -- a concurrent or a nested one -- falls back to its own. ++typedef struct Scratch Scratch; ++struct Scratch { ++ bool ready; ++#ifdef HAVE_PTHREADS ++ pthread_mutex_t inuse; ++#else ++ bool inuse; ++#endif ++ COWVec_Storage *freelist; ++ QSet epsq; ++ QVec epsv; ++ QVec mcsv[2]; ++}; ++ + typedef struct Regexp Regexp; + struct Regexp { + WConv_Encoding enc; +@@ -1287,8 +1300,89 @@ struct Regexp { + FirstBytes firstbytes; + int32_t firstunique; + bool anchored; ++ Scratch scratch; + }; + ++static bool ++scratch_construct(Scratch *sc, size_t nnode) ++{ ++ if (sc->ready) ++ return true; ++ if (!qset_construct(&sc->epsq, nnode) ++ || !qvec_construct(&sc->epsv, nnode) ++ || !qvec_construct(&sc->mcsv[0], nnode) ++ || !qvec_construct(&sc->mcsv[1], nnode)) { ++ qvec_destruct(&sc->mcsv[1]); ++ qvec_destruct(&sc->mcsv[0]); ++ qvec_destruct(&sc->epsv); ++ qset_destruct(&sc->epsq); ++ return false; ++ } ++ sc->ready = true; ++ return true; ++} ++ ++static void ++scratch_destruct(Scratch *sc) ++{ ++ if (sc->ready) { ++ qvec_destruct(&sc->mcsv[1]); ++ qvec_destruct(&sc->mcsv[0]); ++ qvec_destruct(&sc->epsv); ++ qset_destruct(&sc->epsq); ++ sc->ready = false; ++ } ++ for (COWVec_Storage *s = sc->freelist, *next = (COWVec_Storage *) NULL; s != (COWVec_Storage *) NULL; s = next) { ++ next = s->u.freelink; ++ free(s); ++ } ++ sc->freelist = (COWVec_Storage *) NULL; ++} ++ ++// Claim the scratch space for an execution, or report it already taken. ++static bool ++scratch_acquire(Scratch *sc) ++{ ++#ifdef HAVE_PTHREADS ++ return pthread_mutex_trylock(&sc->inuse) == 0; ++#else ++ if (sc->inuse) ++ return false; ++ sc->inuse = true; ++ return true; ++#endif ++} ++ ++static void ++scratch_release(Scratch *sc) ++{ ++#ifdef HAVE_PTHREADS ++ pthread_mutex_unlock(&sc->inuse); ++#else ++ sc->inuse = false; ++#endif ++} ++ ++// For the Regexp's own scratch space, as opposed to the one an execution ++// falls back to, which is private to it and needs neither of these. ++static void ++scratch_init(Scratch *sc) ++{ ++ memset(sc, 0, sizeof *sc); ++#ifdef HAVE_PTHREADS ++ pthread_mutex_init(&sc->inuse, (const pthread_mutexattr_t *) NULL); ++#endif ++} ++ ++static void ++scratch_fini(Scratch *sc) ++{ ++ scratch_destruct(sc); ++#ifdef HAVE_PTHREADS ++ pthread_mutex_destroy(&sc->inuse); ++#endif ++} ++ + static NInt + satmul(NInt x, NInt y) + { +@@ -1879,6 +1973,7 @@ compile(Compile *c) + memset(&r->firstbytes, 0, sizeof r->firstbytes); + r->firstunique = -1; + r->anchored = false; ++ scratch_init(&r->scratch); + int err; + if ((err = setjmp(c->errjmp)) != 0) { + c = vc, r = vr; +@@ -1944,13 +2039,16 @@ struct Execute { + COWVec_Allocator allocator; + COWVec best; + NInt bestmincount; // note mincounts are negated so this means +infinity +- QSet epsq; +- QVec epsv; ++ Scratch *scratch; // the scratch space this execution is using ++ QSet *epsq; // aliases of the members of *scratch, cached ++ QVec *epsv; // here to save an indirection on every use ++ QVec *mcsv; ++ Scratch own; // used where the Regexp's is already taken + bool exiting; + }; + + static bool +-execute_construct(Execute *e, const Regexp *r, minrx_regexec_flags_t flags, const char *bp, const char *ep) ++execute_construct(Execute *e, Regexp *r, minrx_regexec_flags_t flags, const char *bp, const char *ep) + { + e->r = r; + e->flags = flags; +@@ -1965,21 +2063,47 @@ execute_construct(Execute *e, const Regexp *r, minrx_regexec_flags_t flags, cons + cowvec_allocator_construct(&e->allocator, e->nestoff + r->nmin); + cowvec_construct(&e->best, (COWVec_Allocator *) NULL); + e->bestmincount = 0; +- if (!qset_construct(&e->epsq, r->nnode) || !qvec_construct(&e->epsv, r->nnode)) { +- qset_destruct(&e->epsq); ++ if (scratch_acquire(&r->scratch)) { ++ e->scratch = &r->scratch; ++ } else { ++ // Private to this execution, so only what scratch_construct() ++ // reads needs setting here; it fills in the rest. ++ e->own.ready = false; ++ e->own.freelist = (COWVec_Storage *) NULL; ++ e->scratch = &e->own; ++ } ++ if (!scratch_construct(e->scratch, r->nnode)) { ++ if (e->scratch != &e->own) ++ scratch_release(e->scratch); + return false; + } ++ e->epsq = &e->scratch->epsq; ++ e->epsv = &e->scratch->epsv; ++ e->mcsv = e->scratch->mcsv; ++ e->allocator.freelist = e->scratch->freelist; + e->exiting = r->anchored; + return true; + } + ++// 'reusable' is false where the execution has failed part way through and ++// may have left the scratch space in a state the next one, which would ++// otherwise inherit it, should not build upon. + static void +-execute_destruct(Execute *e) ++execute_destruct(Execute *e, bool reusable) + { +- qvec_destruct(&e->epsv); +- qset_destruct(&e->epsq); ++ Scratch *sc = e->scratch; + cowvec_destruct(&e->best); +- cowvec_allocator_destruct(&e->allocator); ++ // Drain, but keep the storage for the next execution. ++ qvec_clear(&e->mcsv[1]); ++ qvec_clear(&e->mcsv[0]); ++ qvec_clear(e->epsv); ++ while (!qset_empty(e->epsq)) ++ (void) qset_remove(e->epsq); ++ sc->freelist = e->allocator.freelist; ++ if (!reusable || sc == &e->own) ++ scratch_destruct(sc); ++ if (sc != &e->own) ++ scratch_release(sc); + } + + inline static void +@@ -2001,7 +2125,7 @@ execute_add(Execute *e, QVec *ncsv, NInt k, NInt nstk, const NState *nsp, WChar + qvi.newnsp->gen = e->gen; + } + } else { +- QVecInsert qvi = qvec_insert(&e->epsv, k, nsp); ++ QVecInsert qvi = qvec_insert(e->epsv, k, nsp); + if (qvi.newly) { + nstate_construct_copy(qvi.newnsp, nsp); + } else { +@@ -2012,7 +2136,7 @@ execute_add(Execute *e, QVec *ncsv, NInt k, NInt nstk, const NState *nsp, WChar + return; + } + qvi.newnsp->gen = e->gen; +- qset_insert(&e->epsq, k); ++ qset_insert(e->epsq, k); + } + } + +@@ -2036,7 +2160,7 @@ execute_add_1(Execute *e, QVec *ncsv, NInt k, NInt nstk, const NState *nsp, WCha + cowvec_put(&qvi.newnsp->substack, nstk - 1, arg1); + } + } else { +- QVecInsert qvi = qvec_insert(&e->epsv, k, nsp); ++ QVecInsert qvi = qvec_insert(e->epsv, k, nsp); + if (qvi.newly) { + nstate_construct_copy(qvi.newnsp, nsp); + } else { +@@ -2048,7 +2172,7 @@ execute_add_1(Execute *e, QVec *ncsv, NInt k, NInt nstk, const NState *nsp, WCha + } + qvi.newnsp->gen = e->gen; + cowvec_put(&qvi.newnsp->substack, nstk - 1, arg1); +- qset_insert(&e->epsq, k); ++ qset_insert(e->epsq, k); + } + } + +@@ -2073,7 +2197,7 @@ execute_add_2(Execute *e, QVec *ncsv, NInt k, NInt nstk, const NState *nsp, WCha + cowvec_put(&qvi.newnsp->substack, nstk - 1, arg2); + } + } else { +- QVecInsert qvi = qvec_insert(&e->epsv, k, nsp); ++ QVecInsert qvi = qvec_insert(e->epsv, k, nsp); + if (qvi.newly) { + nstate_construct_copy(qvi.newnsp, nsp); + } else { +@@ -2086,7 +2210,7 @@ execute_add_2(Execute *e, QVec *ncsv, NInt k, NInt nstk, const NState *nsp, WCha + qvi.newnsp->gen = e->gen; + cowvec_put(&qvi.newnsp->substack, nstk - 2, arg1); + cowvec_put(&qvi.newnsp->substack, nstk - 1, arg2); +- qset_insert(&e->epsq, k); ++ qset_insert(e->epsq, k); + } + } + +@@ -2112,7 +2236,7 @@ execute_add_3(Execute *e, QVec *ncsv, NInt k, NInt nstk, const NState *nsp, WCha + cowvec_put(&qvi.newnsp->substack, nstk - 1, arg3); + } + } else { +- QVecInsert qvi = qvec_insert(&e->epsv, k, nsp); ++ QVecInsert qvi = qvec_insert(e->epsv, k, nsp); + if (qvi.newly) { + nstate_construct_copy(qvi.newnsp, nsp); + } else { +@@ -2126,7 +2250,7 @@ execute_add_3(Execute *e, QVec *ncsv, NInt k, NInt nstk, const NState *nsp, WCha + cowvec_put(&qvi.newnsp->substack, nstk - 3, arg1); + cowvec_put(&qvi.newnsp->substack, nstk - 2, arg2); + cowvec_put(&qvi.newnsp->substack, nstk - 1, arg3); +- qset_insert(&e->epsq, k); ++ qset_insert(e->epsq, k); + } + } + +@@ -2148,8 +2272,8 @@ execute_epsclosure(Execute *e, QVec *ncsv, WChar wcnext) + const Node *nodes = e->nodes; + bool (*is_word)(WChar) = e->r->enc == Byte ? is_word_byte : is_word_wide; + do { +- NInt k = qset_remove(&e->epsq); +- NState *nsp = qvec_lookup(&e->epsv, k); ++ NInt k = qset_remove(e->epsq); ++ NState *nsp = qvec_lookup(e->epsv, k); + if (cowvec_valid(&e->best) && nsp->boff > cowvec_get(&e->best, e->suboff + 0)) + continue; + const Node *np = &e->nodes[k]; +@@ -2305,7 +2429,7 @@ execute_epsclosure(Execute *e, QVec *ncsv, WChar wcnext) + abort(); + break; + } +- } while (!qset_empty(&e->epsq)); ++ } while (!qset_empty(e->epsq)); + } + + #define WCNEXT(E, WCN) ((E)->wcprev = (WCN), (E)->off = wconv_off(&(E)->wconv), (WCN) = wconv_nextchr(&(E)->wconv)) +@@ -2313,18 +2437,12 @@ execute_epsclosure(Execute *e, QVec *ncsv, WChar wcnext) + static int + execute(Execute *e, size_t nm, minrx_regmatch_t *rm) + { +- QVec mcsvs[2]; +- if (!qvec_construct(&mcsvs[0], e->r->nnode) || !qvec_construct(&mcsvs[1], e->r->nnode)) { +- qvec_destruct(&mcsvs[0]); +- return MINRX_REG_ESPACE; +- } ++ QVec *mcsvs = e->mcsv; + NState nsinit; + nstate_construct(&nsinit, (COWVec_Allocator *) NULL); // fake construction so "exception handler" will be safe + int err; + if ((err = setjmp(e->allocator.errjmp)) != 0) { + nstate_destruct(&nsinit); +- qvec_destruct(&mcsvs[1]); +- qvec_destruct(&mcsvs[0]); + return err; + } + nstate_construct(&nsinit, &e->allocator); // real construction +@@ -2381,7 +2499,7 @@ execute(Execute *e, size_t nm, minrx_regmatch_t *rm) + for (size_t i = 0; i < e->r->nmin; ++i) + cowvec_put(&nsinit.substack, e->nestoff + i, 0); + execute_add(e, &mcsvs[0], 0, 0, &nsinit, wcnext); +- if (!qset_empty(&e->epsq)) ++ if (!qset_empty(e->epsq)) + execute_epsclosure(e, &mcsvs[0], wcnext); + for (;;) { // unrolled to ping-pong roles of mcsvs[0]/[1] + if (wcnext == End) +@@ -2396,7 +2514,7 @@ execute(Execute *e, size_t nm, minrx_regmatch_t *rm) + nsinit.boff = e->off; + execute_add(e, &mcsvs[1], 0, 0, &nsinit, wcnext); + } +- if (!qset_empty(&e->epsq)) ++ if (!qset_empty(e->epsq)) + execute_epsclosure(e, &mcsvs[1], wcnext); + if (qvec_empty(&mcsvs[1])) { + if (e->exiting) +@@ -2416,7 +2534,7 @@ execute(Execute *e, size_t nm, minrx_regmatch_t *rm) + nsinit.boff = e->off; + execute_add(e, &mcsvs[0], 0, 0, &nsinit, wcnext); + } +- if (!qset_empty(&e->epsq)) ++ if (!qset_empty(e->epsq)) + execute_epsclosure(e, &mcsvs[0], wcnext); + if (qvec_empty(&mcsvs[0])) { + if (e->exiting) +@@ -2427,8 +2545,6 @@ execute(Execute *e, size_t nm, minrx_regmatch_t *rm) + } + exit: + nstate_destruct(&nsinit); +- qvec_destruct(&mcsvs[1]); +- qvec_destruct(&mcsvs[0]); + if (cowvec_valid(&e->best)) { + if (rm) { + size_t nsub = MIN(nm, e->r->nsub); +@@ -2504,7 +2620,7 @@ minrx_regnexec(minrx_regex_t *rx, size_t ns, const char *s, size_t nm, minrx_reg + if (!execute_construct(&e, r, (minrx_regexec_flags_t) flags, s, s + ns)) + return MINRX_REG_ESPACE; + int ret = execute(&e, nm, rm); +- execute_destruct(&e); ++ execute_destruct(&e, ret == MINRX_REG_SUCCESS || ret == MINRX_REG_NOMATCH); + return ret; + } + +@@ -2513,6 +2629,7 @@ minrx_regfree(minrx_regex_t *rx) + { + Regexp *r = (Regexp *) rx->re_regexp; + if (r) { ++ scratch_fini(&r->scratch); + if (r->firstcset) { + cset_destruct(r->firstcset); + free((void *) r->firstcset); +-- +cgit v1.3 + + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.4.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.4.1-r1.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.4.0-r2.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.4.1-r1.ebuild index e015e439214..417044cd30d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.4.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.4.1-r1.ebuild @@ -59,9 +59,8 @@ if [[ ${GAWK_IS_BETA} != yes ]] ; then fi PATCHES=( - "${FILESDIR}"/${P}-no-assertions-for-pma.patch - "${FILESDIR}"/${P}-Fix-gensub-bug-for-use-with-MinRX.-Add-test-case.patch - "${FILESDIR}"/${P}-Small-efficiency-fix-in-array.c.patch + "${FILESDIR}"/${PN}-5.4.1-no-gmp-mpfr.patch + "${FILESDIR}"/${PN}-5.4.1-update-minrx.patch ) src_prepare() { 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 ac79fe6ceb9..a325dc31d03 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,4 +1,3 @@ -DIST pkgcore-0.12.32.tar.gz 585834 BLAKE2B 005864930c21604097ba6b663753e8827fad7d956017d55f41f1861b4bf8b2ea7abae557ae5af69b20af756638924325a91916939d05b49967c8e82544b52296 SHA512 7342790d29652e98efd6bd0925450a5355ba4716489ab6d5452574519586dccc57898313802e7da09e8f914f8e29e1b6e872664185072ef71b96aec884dea71b -DIST pkgcore-0.12.35.tar.gz 597676 BLAKE2B dd28c6a51544b5ddc5de0494e6c70d9d58a19d34904cea3004304dfd32183af97163dd1bed2ec6846015785894e2d55cfec63b5bb69057ff0619add653bb649f SHA512 c0912375c162b136b337808bf1391f6a637919dafac6a31dfcb3c70b4360b150e5c6edd2c85b72870d7809e7560fb9914ca76d9f1224df6acc220a87514f27a3 -DIST pkgcore-0.12.36.tar.gz 598774 BLAKE2B 0de5bc813128f467d2e76bd95a7015f34e39988c1e3938002f851151a0008b942a260e6962fad220dfd906b303a3dc36e239b6ce489706a2b7e8920e2807e64a SHA512 b1e832152f62683f25b27118327c67f3c2505ebd2d05d7a5b9c8ac67ef7d7ff84f0c063833d8ae3863eb49401c92f885b4929bc6886e202e70181ea5dd4b5f06 -DIST pkgcore-0.12.37.tar.gz 601731 BLAKE2B b4320a9e6e4bf6e7e3185f0e7f906fe53846e0d6d4a97ede3c53fdf26493b27a4f42c10c6ced438e381b7cedc4289c2bbf87e5f2905b829f331f6f3be681dc64 SHA512 30d6f6600cf68aede6963fd0c170842fb834b183b4225e5357b3d2e79a2d49957f67b667798e7dfb08b0d73a34380bd2a34a76ad52810849cc8b748731fb58e2 +DIST pkgcore-0.12.38.tar.gz 647843 BLAKE2B a24f80cd0dd5dbe8f22f827f318791eb3d825106efe165381094eebd694c46a163e6f2afdd8df348202fd3597ffc64d3207c3a4f852d2e30a35d6efc77ad3a09 SHA512 fe45b38f3f3f8976a2c1d6a41e9f8892d5d2d1a1cc774d042df93bfd75c8b40e72a409cb11ed3903e5cdd9f85643279f5207ed223187eabf87602adfd5945465 +DIST pkgcore-0.12.39.tar.gz 650895 BLAKE2B f84e045c4de896d2cdee9fe90f9c4c9adc2654f25d282126d367af49e186152894ba43ed2be4b24c2f931288ae49236c1484d25f8ff5958c91f3bc381c956c0b SHA512 6ee7664e69bdaece4c653812b89aa69244a2f90da8c6c38cfc66f3538ac590e5ad4e91a69643a192e20a88661bfec855113488be99683c9c608bee18b0ffde97 +DIST pkgcore-0.12.40.tar.gz 658740 BLAKE2B 417edb50f09304410baa00499f47308d3e86a936c6993e858d6a1775d580075285c8fbf3bb4ecd662c54b81f4743a08372e6416c361f13d6436ca0e6a1e1e052 SHA512 6c52e36dd2fd835859969c2d3aa10951300dc762930c76cbb7113905d58b03b2a166b43421418ad600ab5b050631691ce75b99ce1b244e85b327d1b6cef148f2 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.37.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.37.ebuild deleted file mode 100644 index f0ba93257d1..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.37.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=standalone -PYTHON_COMPAT=( python3_{12..15} ) -inherit distutils-r1 - -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/pkgcore.git - https://github.com/pkgcore/pkgcore.git" - inherit git-r3 -else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" - inherit pypi -fi - -DESCRIPTION="a framework for package management" -HOMEPAGE="https://github.com/pkgcore/pkgcore" - -LICENSE="BSD MIT" -SLOT="0" - -if [[ ${PV} == *9999 ]]; then - RDEPEND="~dev-python/snakeoil-9999[${PYTHON_USEDEP}]" -else - RDEPEND=">=dev-python/snakeoil-0.11.3[${PYTHON_USEDEP}]" -fi - -RDEPEND+=" - >=app-shells/bash-5.3[readline] - dev-python/lxml[${PYTHON_USEDEP}] -" -BDEPEND="${RDEPEND} - >=dev-python/flit-core-3.8[${PYTHON_USEDEP}] - test? ( - dev-vcs/git - ) -" - -EPYTEST_PLUGINS=( pkgcore ) -distutils_enable_tests pytest - -python_install_all() { - local DOCS=( NEWS.rst ) - [[ ${PV} == *9999 ]] || doman build/sphinx/man/* - distutils-r1_python_install_all -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.35.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.38.ebuild similarity index 92% rename from sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.35.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.38.ebuild index abbe7cb25d5..192fa516b7f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.35.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.38.ebuild @@ -25,7 +25,7 @@ SLOT="0" if [[ ${PV} == *9999 ]]; then RDEPEND="~dev-python/snakeoil-9999[${PYTHON_USEDEP}]" else - RDEPEND=">=dev-python/snakeoil-0.11.1[${PYTHON_USEDEP}]" + RDEPEND=">=dev-python/snakeoil-0.11.4[${PYTHON_USEDEP}]" fi RDEPEND+=" @@ -39,7 +39,7 @@ BDEPEND="${RDEPEND} ) " -EPYTEST_PLUGINS=() +EPYTEST_PLUGINS=( pkgcore ) distutils_enable_tests pytest python_install_all() { diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.32.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.39.ebuild similarity index 89% rename from sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.32.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.39.ebuild index 0ae68ba797d..192fa516b7f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.32.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.39.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=standalone -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..15} ) inherit distutils-r1 if [[ ${PV} == *9999 ]] ; then @@ -25,7 +25,7 @@ SLOT="0" if [[ ${PV} == *9999 ]]; then RDEPEND="~dev-python/snakeoil-9999[${PYTHON_USEDEP}]" else - RDEPEND=">=dev-python/snakeoil-0.11.0[${PYTHON_USEDEP}]" + RDEPEND=">=dev-python/snakeoil-0.11.4[${PYTHON_USEDEP}]" fi RDEPEND+=" @@ -39,6 +39,7 @@ BDEPEND="${RDEPEND} ) " +EPYTEST_PLUGINS=( pkgcore ) distutils_enable_tests pytest python_install_all() { diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.36.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.40.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.36.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.40.ebuild index f720fa30cd6..9e32e68b1cd 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.36.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.40.ebuild @@ -25,7 +25,7 @@ SLOT="0" if [[ ${PV} == *9999 ]]; then RDEPEND="~dev-python/snakeoil-9999[${PYTHON_USEDEP}]" else - RDEPEND=">=dev-python/snakeoil-0.11.2[${PYTHON_USEDEP}]" + RDEPEND=">=dev-python/snakeoil-0.11.4[${PYTHON_USEDEP}]" fi RDEPEND+=" 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 f720fa30cd6..9e32e68b1cd 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 @@ -25,7 +25,7 @@ SLOT="0" if [[ ${PV} == *9999 ]]; then RDEPEND="~dev-python/snakeoil-9999[${PYTHON_USEDEP}]" else - RDEPEND=">=dev-python/snakeoil-0.11.2[${PYTHON_USEDEP}]" + RDEPEND=">=dev-python/snakeoil-0.11.4[${PYTHON_USEDEP}]" fi RDEPEND+=" 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 08c97f43ac2..265b02fd2cd 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,5 +1,2 @@ -DIST portage-3.0.79.tar.bz2 1235108 BLAKE2B 279b874be40f3ba610d8dc439683a388dc926cabe236dc4426a64fcd1267484312e84b15fb44c80ecb0ddce50cace4c9fc3f29886b6911d4199ed611fbecf28d SHA512 63df73d0fb2fd5ff7e6f0cacd8999aca0c99b91fbe2a2be0204a597e8230ecc1e60dcad0f24d9200b5948dec2c7e1e417853805d19beaf748c1f16490e64036c -DIST portage-3.0.80.tar.bz2 1237591 BLAKE2B 58b5a54629f9be4f768a94e16acf73e07c47622fa488450e22e36be8e0b006e05c1ed22aab2ba5787c88f8ddbaadcec6b3dde02bb9e2967994723fcb3b97f6dc SHA512 91a98ab1e8ff75a4207f0b2ec664c023928278e99f5c758704dd6ce06073d4544d7785584adeb80ab7853218373ea1f16af1c11fcb5bdde659f730dbfa632cae -DIST portage-3.0.81.1.tar.bz2 1239127 BLAKE2B 1331a396e888f904d1b68dc9bc76dc6930bd31fd3d956a3543069f162ffd144603c5aac76876882adb3a46aafbfb8d6840bb4a6462f2d61f6617fbb2646ee4e0 SHA512 41e4897d76e25dd754d130ffcd978797d83cc1212432401f89c9b0a6e1830993663a6ee6fbbf5e3ee293e6add1669c719ef8c3f845637d63027652a038f47232 -DIST portage-3.0.81.2.tar.bz2 1240200 BLAKE2B 80a97e7c5c679db6122a6f656d56c6a758cdb004b6f331792930050572205ae3c7d410cdcfad914250eb3b5aec6abfc1d20ba63079023731be4478f59134355a SHA512 0f4426d6de6dbf70851f8c94a5f553a71b1f8786c5da12f15bb6f8bc109be3ebe6156f52b6ccc3e1f9b722e2052eafab87a9f03da0e6a916dc54a97fd2a54cef -DIST portage-3.0.81.tar.bz2 1239236 BLAKE2B 8f94a276ba5e2602701dbf876ab46408a644831862cd040b589d7568cef1b3ed4e7735eab82076bcb5113c022ae6e2858b9279c8b9c3b76ff8b0bce6cef8c597 SHA512 59a0fe9d6cfb4cf3cf03ac87d6da0e63c776004c805f1fe8834ff7aedda75efafa608cdbc0458a70b9e4d039c290352e7c47d925e773f68e1934d1b77b0920b6 +DIST portage-3.0.81.3.tar.bz2 1240401 BLAKE2B c4c1c1b4a629e35e2445ffda8720c3e7cd72f96d3970de0f43c0f1c52abcc12473ff5ed974ab99006e5ac723430f1c5fc83f4565454f1779b94a4501268d6b42 SHA512 cbf2488a91046aec23cbf6b6fa3cbef708dc052d14383a4c2ab0aa5e17d322ce773dd7e9422677dcfd4b3ad2ffa27023c1b16b21842319131944c16899550313 +DIST portage-3.0.82.tar.bz2 1304291 BLAKE2B 81a9ff4d99ebae6f30c24955def1b2b43ae7ae5bb7df3b5182e148b506a9f1e57bb460733eaf7d048f7d11d335a9381284dfdc5b935eb046891d8a4c8e5a9a71 SHA512 fb90f274eb7cf547bba6c936f2f8061c8f402b8cce515b522be590f11b256b8e0cb2a5ccd3371687ab83bacf03d6bc8df3d40a3c5383928b94cc96f5f72c3968 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0001-Workaround-import-problem-after-Python-upgrade.patch b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0001-Workaround-import-problem-after-Python-upgrade.patch deleted file mode 100644 index 0e0eef3f894..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0001-Workaround-import-problem-after-Python-upgrade.patch +++ /dev/null @@ -1,47 +0,0 @@ -From e7cf51fd6a504b2ab9d887c562c2ca3ace12d033 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= -Date: Sun, 31 May 2026 17:30:41 +0200 -Subject: [PATCH] Workaround import problem after Python upgrade -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -To: gentoo-portage-dev@lists.gentoo.org - -Make `SyncfsProcess` import non-lazy to ensure that it is imported -before the old-Python version of Portage is removed, and therefore fix -a crash when Portage is being rebuilt for a new Python version. - -Bug: https://bugs.gentoo.org/970375 -Closes: https://github.com/gentoo/portage/pull/1586 -Signed-off-by: Michał Górny -Signed-off-by: Mike Gilbert ---- - lib/portage/dbapi/vartree.py | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/lib/portage/dbapi/vartree.py b/lib/portage/dbapi/vartree.py -index 87d4f3453238..7f392588ef9a 100644 ---- a/lib/portage/dbapi/vartree.py -+++ b/lib/portage/dbapi/vartree.py -@@ -43,6 +43,10 @@ from portage import _unicode_encode - from portage.util.futures.executor.fork import ForkExecutor - from ._VdbMetadataDelta import VdbMetadataDelta - -+# Made global to fix importing on Python version upgrade: -+# https://bugs.gentoo.org/970375 -+from ._SyncfsProcess import SyncfsProcess -+ - from _emerge.EbuildBuildDir import EbuildBuildDir - from _emerge.EbuildPhase import EbuildPhase - from _emerge.emergelog import emergelog -@@ -6128,7 +6132,6 @@ class dblink: - does nothing if FEATURES=merge-sync is disabled. - """ - import subprocess -- from portage.dbapi._SyncfsProcess import SyncfsProcess - - if not self._device_path_map or "merge-sync" not in self.settings.features: - return --- -2.54.0 - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.79-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.79-r1.ebuild deleted file mode 100644 index a2d28808941..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.79-r1.ebuild +++ /dev/null @@ -1,238 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{12..14} ) -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-0-r4 - >=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.3:0 - dev-util/debugedit - >=sec-keys/openpgp-keys-gentoo-release-20240703 - >=sys-apps/sed-4.0.5 - rsync-verify? ( - app-alternatives/gpg[ssl(-)] - >=app-portage/gemato-14.5[${PYTHON_USEDEP}] - ) - ) - kernel_linux? ( - sys-apps/util-linux - elibc_glibc? ( >=sys-apps/sandbox-2.2 ) - elibc_musl? ( >=sys-apps/sandbox-2.2 ) - ) - 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 - ) -" - -PATCHES=( - "${FILESDIR}/0001-Workaround-import-problem-after-Python-upgrade.patch" -) - -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.80.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.80.ebuild deleted file mode 100644 index 62f87f2f1b9..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.80.ebuild +++ /dev/null @@ -1,234 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{12..14} ) -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-0-r4 - >=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.3:0 - dev-util/debugedit - >=sec-keys/openpgp-keys-gentoo-release-20240703 - >=sys-apps/sed-4.0.5 - rsync-verify? ( - app-alternatives/gpg[ssl(-)] - >=app-portage/gemato-14.5[${PYTHON_USEDEP}] - ) - ) - kernel_linux? ( - sys-apps/util-linux - elibc_glibc? ( >=sys-apps/sandbox-2.2 ) - elibc_musl? ( >=sys-apps/sandbox-2.2 ) - ) - 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.81.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.81.2.ebuild deleted file mode 100644 index 0ce98dc18bc..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.81.2.ebuild +++ /dev/null @@ -1,234 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{12..15} ) -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-0-r4 - >=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.3:0 - dev-util/debugedit - >=sec-keys/openpgp-keys-gentoo-release-20240703 - >=sys-apps/sed-4.0.5 - rsync-verify? ( - app-alternatives/gpg[ssl(-)] - >=app-portage/gemato-14.5[${PYTHON_USEDEP}] - ) - ) - kernel_linux? ( - sys-apps/util-linux - elibc_glibc? ( >=sys-apps/sandbox-2.2 ) - elibc_musl? ( >=sys-apps/sandbox-2.2 ) - ) - 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.81.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.81.3.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.81.1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.81.3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.81.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.82.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.81.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.82.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/Manifest index fd03d0336bf..e060c14f0f3 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/Manifest @@ -2,3 +2,5 @@ DIST shadow-4.19.4.tar.xz 2332684 BLAKE2B 4acebcf93be2b6700b33f466e8ada8799ae479 DIST shadow-4.19.4.tar.xz.asc 833 BLAKE2B 4daf863f4187819adb9bb9c7c6c6939451c0a341c9aa4d63161d8090120b58d3a094939be7788c1c362a2b74ec411b1cc7dd2a208cf9cb49e0dbea529f2ddd84 SHA512 accd3755d15f8b37f0140b6c09a06368570ec88bd1bf590c9a01bd7e9497c52af4d71ff93717208aedb24229667d72cf65a5ba4f924e1b1fd65783904601fbdb DIST shadow-4.20.0.tar.xz 2290288 BLAKE2B 8224edc692d6016da26e54aa43405029b4bebcbc7a73a9a56f1ee3bdcf7c7a3af6b90d8fc134182fc26c6b7b8f2afc4f54c2f6e6748760b8928284aa77374a15 SHA512 0b8afded372e4d37a78f38cb972c0ab877870ef6356cdd1c45be3c708af3d1496c6f87de6bf6a5b1d217d4d52d7e2d15c28b26530949cc6de0231a4028930406 DIST shadow-4.20.0.tar.xz.asc 833 BLAKE2B fff1be3214eb271f6d75a36c0647e4f7183a0d65ad20169ed889fd44446f7f64b1b20e43f9978d063bc6ca2a5fbbe66f79b48bde25c63a54db2cc68d7cb74a39 SHA512 e4b134543768f323df30a1e450c22086d013020928d62bd3207db7f633beea3587b67802da5b575d5a794e8c2bebd7a0abeba6ed69d44bf08adc37df3bf352ac +DIST shadow-4.20.2.tar.xz 2291052 BLAKE2B c4f686f26778d8bb495fcc730a42e54cd39b4ebd3764ab8890c5d71ec91c63391c2db905be0015d0bad79df1d3c54746d30e0620d74ab16b6b176703a1ee6346 SHA512 f17a3764b9b8d77906c88ee4d6057913cb7072ee3fe654f62cc80702528c022c806f43906118a9205f0344e2f36848f270dd1103366ce477f9454682a779e7e1 +DIST shadow-4.20.2.tar.xz.asc 833 BLAKE2B 31d8f426175f1c621ee4c030a1c56f603fe345f94ebf0b5ba01bdb5179143afd8fee969f8888a98e727e09cce595b11654604a01279547c2395242ce9f867142 SHA512 75dbb388698b1c3fb10e7c95ed94a28bd35672a2e65498886fff85b8cbcb2bbb61abd223ffb6123b9298a405516557c732e5862d5b31f43f5e438ce59af91beb diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.20.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.20.2.ebuild new file mode 100644 index 00000000000..09e019e9565 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.20.2.ebuild @@ -0,0 +1,257 @@ +# Copyright 1999-2026 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/6" +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" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + acct-group/shadow + 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:= ) + !/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-static + $(use_with kernel_linux 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) + ) + + 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 + fperms u-s,g+s /usr/bin/chage + + # 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 + local x + for x in chsh chfn ; do + newpamd "${FILESDIR}"/pam.d-include/passwd ${x} + done + + # 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 + + if use kernel_Hurd ; then + # sys-kernel/hurd provides this instead + mv "${ED}"/bin/login "${ED}"/bin/login.shadow || die + 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/util-linux/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/Manifest index d3169d574a2..e9a5e245d73 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/Manifest @@ -1,10 +1,4 @@ -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 -DIST util-linux-2.41.4.tar.sign 833 BLAKE2B fb63bced7ce0ad9b6c54855abb0dabd5cee7f9d668497bcae57fd4cfc7dfeccb167774338dc24c8491314be558286e487d4153a84d62ee636be4f6d4303301df SHA512 1d4673277e59a2409e414ee8cdc0f3d52cb40f626538f251c74820085128cc572a98bc27a784b10e3b87ed1babe344bbed32fb6a42f4aae67c5f533b24440eb8 -DIST util-linux-2.41.4.tar.xz 9468684 BLAKE2B 84a6d93c091c1fb8860f8a3e98e55447f6dba4e040066fbea12a67e9a165479e04527122525a7af0d6cd36e0d96a1c1b1e4b4064e51d35bf50b4b1186d2cf388 SHA512 c21ad77b787ab5892169c80cbec1ba46ed6bba36c1db278f2d1cd8712ae237f5cd25bfd20f2dc638334d1c47c5ff6102703147147d42f71c995bd397e735691a DIST util-linux-2.41.5.tar.sign 833 BLAKE2B 40c382defcbea78bbf137b1bdd5228cb745461f56978787bacb596c3b3c63f169ec2585269f4a7e44bf2d625115c9f16bfeba283f9ac6a171900b77a419cb419 SHA512 d358b8fd699874580fb9b741b14ceacd9f24f66de6efe55a30c25a3dc3ba888bcb99dd4a9803d68ce693e74c380cfd2d619c14c96f323223c89b117041baa9b1 DIST util-linux-2.41.5.tar.xz 9474992 BLAKE2B b42744ddd878cb27a0cb75ef69240c9eaf2b4ff2583eebff15af7ccd852a25e6dc150f03a181dccd3c4fec6cff6acb12aff099d8414f6f689e71ee04e223f0d3 SHA512 25e7e79e0f0a4711a15c16db05357755536cf4dc9c0ee28447d95f9bfc135f23075d434e107269a65148a8c16b37755e913aacbaec03a3bdce171a9e0a46bfe8 -DIST util-linux-2.42.1.tar.sign 833 BLAKE2B ed37583c740796cfa98909eb5ba317427fbc729c59ae08bf387fa930bc1ead62cb1be942eb761706d0651914ab6f1b5a6098cb6a90efd0ad3293c08e464500ef SHA512 d08957a2ecbc2cbed09496130b3b80da5930f22bbd1364198ff8a0243b18de76db13e6432ffb50964f61fd8315f4c28815a80e62b2a830e506be3cd451cec6e7 -DIST util-linux-2.42.1.tar.xz 10639396 BLAKE2B ef1a9cc6a5a3e9ea126beb90fc09421b27cfd4ddbb59c885bae33f7ce9d2e105852a00b22da2e0769371383c8e5f8100fe04eab1bdc925b06c4cdd13bf6b73b9 SHA512 18dd2cfc353e389e4eeb37375473e7b3d0ab7fcd059a881d7cd0815ddcaa7b5795db92fcf56e531089267c8e69936c4fd3abd97786aa111b115996203aadbca2 DIST util-linux-2.42.2.tar.sign 833 BLAKE2B 091e4b9874290320ae985f0abe0044e22860c6922ddd6114fa3e5a0a3eed9ae229fe45b49591ecc8d575b2e2a4f22662bfe770a4e210f34d03758e062902e2b9 SHA512 3922974fa8384be5628938705f01aa3ac433512e24a3943fc5e0b2ae4cb4d9b952966727039d2fd74f58c51cd349228fd53f82ac8cd4d5ad7f61580abd4da229 DIST util-linux-2.42.2.tar.xz 10658220 BLAKE2B 49ca2426dd6a48638ee41f43477ddec23add87be6a561d3b654e13d21fc048f00e64d9247432a3436b07f8a3f34434ab2c837a5b82757a8d27096f6764d895dd SHA512 7415add0be2930654e322830808dde03ff6d511bd357f0679e6b6287a13ca79fe58ce4ac05edef86b76fb381b3a36ca2da9d3c31b5dc0a1d889c203156a57277 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.3-r1.ebuild deleted file mode 100644 index 82506e0143a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.3-r1.ebuild +++ /dev/null @@ -1,479 +0,0 @@ -# Copyright 1999-2026 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 - - if use verify-sig; then - verify-sig_uncompress_verify_unpack "${DISTDIR}"/${MY_P}.tar.xz \ - "${DISTDIR}"/${MY_P}.tar.sign - 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 - - if use kernel_Hurd ; then - # Disable Linux-specific features - myeconfargs+=( - --disable-partx - --disable-rfkill - --disable-schedutils - --disable-fsck - ) - - # This is explicitly needed for some reason? TODO - myeconfargs+=( - --enable-agetty - ) - 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-2.41.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.4-r1.ebuild deleted file mode 100644 index 988a95023af..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.4-r1.ebuild +++ /dev/null @@ -1,494 +0,0 @@ -# Copyright 1999-2026 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}" - -# GPL-2+ first per README.licensing ("default license"), then the rest -# are in order as listed in that file. -LICENSE="GPL-2+ GPL-1+ GPL-2 GPL-2+ GPL-3+ LGPL-2.1+ MIT BSD-2 BSD BSD-4 EUPL-1.2 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 - selinux? ( sec-policy/selinux-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 )" - -PATCHES=( - "${FILESDIR}"/${PN}-2.41.4-no-AF_ALG.patch -) - -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 - - if use verify-sig; then - verify-sig_uncompress_verify_unpack "${DISTDIR}"/${MY_P}.tar.xz \ - "${DISTDIR}"/${MY_P}.tar.sign - 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 - - # Fails for 32-bit time_t which some profiles have - misc/time_t - ) - - # 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 - - if use kernel_Hurd ; then - # Disable Linux-specific features - myeconfargs+=( - --disable-partx - --disable-rfkill - --disable-schedutils - --disable-fsck - ) - - # This is explicitly needed for some reason? TODO - myeconfargs+=( - --enable-agetty - ) - fi - - # https://savannah.gnu.org/support/?111394 - # This can be removed when we patch dev-build/autoconf, though - # packages w/o eautoreconf will still need it. - [[ ${enable_year2038} == "no" ]] && myeconfargs+=( --disable-year2038 ) - - 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-2.42.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.42.1.ebuild deleted file mode 100644 index 5d7e0f91c35..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.42.1.ebuild +++ /dev/null @@ -1,500 +0,0 @@ -# Copyright 1999-2026 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}" - -# GPL-2+ first per README.licensing ("default license"), then the rest -# are in order as listed in that file. -LICENSE="GPL-2+ GPL-1+ GPL-2 GPL-2+ GPL-3+ LGPL-2.1+ MIT BSD-2 BSD BSD-4 EUPL-1.2 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 - selinux? ( sec-policy/selinux-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 )" - -PATCHES=( - "${FILESDIR}"/${PN}-2.41.4-no-AF_ALG.patch -) - -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 - - if use verify-sig; then - verify-sig_uncompress_verify_unpack "${DISTDIR}"/${MY_P}.tar.xz \ - "${DISTDIR}"/${MY_P}.tar.sign - 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 - - # Fails for 32-bit time_t which some profiles have - misc/time_t - - # Permission issues with changing OOM score - choom/choom - - # MKFDS_PID is empty - lsfd/option-hyperlink - ) - - # 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 - - if use kernel_Hurd ; then - # Disable Linux-specific features - myeconfargs+=( - --disable-partx - --disable-rfkill - --disable-schedutils - --disable-fsck - ) - - # This is explicitly needed for some reason? TODO - myeconfargs+=( - --enable-agetty - ) - fi - - # https://savannah.gnu.org/support/?111394 - # This can be removed when we patch dev-build/autoconf, though - # packages w/o eautoreconf will still need it. - [[ ${enable_year2038} == "no" ]] && myeconfargs+=( --disable-year2038 ) - - 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-auth/pambase/pambase-20260730.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-20260730.ebuild index a20a4968cf7..79932783446 100644 --- a/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-20260730.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-20260730.ebuild @@ -19,7 +19,7 @@ if [[ ${PV} == *9999 ]]; then else SRC_URI="https://gitweb.gentoo.org/proj/pambase.git/snapshot/${P}.tar.bz2" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86" fi LICENSE="MIT" diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/sssd/Manifest b/sdk_container/src/third_party/portage-stable/sys-auth/sssd/Manifest index a0837025b4d..7ae8c5998c1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-auth/sssd/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-auth/sssd/Manifest @@ -1,7 +1,3 @@ -DIST sssd-2.12.0.tar.gz 9739617 BLAKE2B d5629a24ee6db3e0a7a205a387acb01d0cc102b6bfc1131a208ea03c609941dd5ccfefd790ca1dc10f6e57d698828ff38364be9c8f6a7f7aeaec4b8a07346494 SHA512 3bd90a88a43019b00d3f0a674ef4d2473bf6895e749a54bec8ac1661e7d289083e0cbd64846dacc8bdd4b2447f171dddb2d0ba108962dbd862bce86c2247b038 -DIST sssd-2.12.0.tar.gz.asc 833 BLAKE2B ffb95b672fd5b63f6147b4c4e85ee04c260eb2fa01c90ed52e04bb5c8e1bba76fead5dca1343a1d8c53d69d36c1145378c18f01fe86896f52dd64a1ed7c1d973 SHA512 b4a7696969f2c0a034ef01eaa50282556e3c07c0be53088d9ce5cb3f24e2dc5428fe8ad2f2f6aca7903a16e2d39591f32b04ca76b16662d24ae64cea15658684 -DIST sssd-2.13.0.tar.gz 9127914 BLAKE2B d180c53dfaf74137b3208ecba1e8b58ae6fa8bf5fd122ceb362ab382bd34904871857dbbc8f7b1fef858c9220772495d1262c7348c11beae432985c368900334 SHA512 3d900d7a5538114b888c57a5f5a555f6200cf077881c02b4d9b9af33d590bfd71fa296513e38343ad7d96447f5fe2ed69562ccd9a80bb3eed0dec890461da777 -DIST sssd-2.13.0.tar.gz.asc 833 BLAKE2B 08f13c3634ffb2ef30f8cf8ca3302e2c98bc8f9894141886f17762c3744e8efaeb9ee9d4e51d3c20afc00e0210c73b22b0a822f698313762bfe54bbfc8e8e23c SHA512 c12839860d444f223ee0a55d135cb49725287463f7aa12e6f854fd3565f2ce750b1526a8275e5399b64aa1ef59f0668b3a5ec745b786cc9265c58f77fa059464 DIST sssd-2.13.1.tar.gz 9136618 BLAKE2B 7e1f4ff6d0d64cb1dd5fcf662934f06a7ca13cbdac448a50d8171f45e7bf7da8dc33baa86c3a2c330f7682483938e12f8175149b65e7f2d82f25f76937fb119a SHA512 c1c00ada7e95bee7dceb55210643cc50c60ad6a930ef1662bf27cb641df0bace8e9f99d2ea9d2cae1681e3221d3bb1ad1635850593e0a87d8b2eb9826b67d574 DIST sssd-2.13.1.tar.gz.asc 833 BLAKE2B b3b4ed6dda8d3b2ad7ec7c8fbb5e02ad9d9f2e01c734db0105d2415f3fbb2903ffeb1fb9b1e6bb5eccb273462822e593415acc4e8bda5c742d530e90cd71edee SHA512 78543280becc141d038b1a8f2602a04b4e1b5e54a424207845040aa780f354ff5adb1d934040b649a28a3c5ff7c6a7be06db34ce1d50bdc7eb5afc9423771b6e DIST sssd-2.9.8.tar.gz 9330244 BLAKE2B f5f88287b4bf7936e56e44c9ba7eba728c8546663304f9c6881d5bb427ff5f3dfb635536110f198439b41b481a7b9a2980138acd0d90d7334d439559425d9170 SHA512 9b10cb5e343d32402a437dab3304c16596e9eb7b51a452ca3e2b3fea4aa8dc879abe06a57ccc716bece8024847211abf5affa83e1d2ca2cac101132133a6619a diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.12.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.12.0-r2.ebuild deleted file mode 100644 index 817ce3a2b77..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.12.0-r2.ebuild +++ /dev/null @@ -1,377 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Ukrainian translation causes compile failure, so skip it for now -#PLOCALES="ca de es fr ja ko pt_BR ru sv tr uk" -PLOCALES="ca de es fr ja ko pt_BR ru sv tr" -PLOCALES_BIN="${PLOCALES} bg cs eu fi hu id it ka nb nl pl pt tg zh_TW zh_CN" -PLOCALE_BACKUP="sv" -PYTHON_COMPAT=( python3_{11..14} ) - -inherit autotools fcaps linux-info multilib-minimal optfeature plocale \ - python-single-r1 pam systemd tmpfiles udev toolchain-funcs verify-sig - -DESCRIPTION="System Security Services Daemon provides access to identity and authentication" -HOMEPAGE="https://github.com/SSSD/sssd" -if [[ ${PV} != 9999 ]]; then - SRC_URI="https://github.com/SSSD/sssd/releases/download/${PV}/${P}.tar.gz - https://github.com/SSSD/sssd/releases/download/${PV}/${P}.tar.gz.asc" - KEYWORDS="amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc x86" -else - inherit git-r3 - EGIT_REPO_URI="https://github.com/SSSD/sssd.git" - EGIT_BRANCH="master" -fi - -LICENSE="GPL-3" -SLOT="0" -IUSE="doc +netlink nfsv4 nls passkey python samba selinux systemd systemtap test" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -DEPEND=" - >=app-crypt/mit-krb5-1.19.1[${MULTILIB_USEDEP}] - app-crypt/p11-kit - >=dev-libs/ding-libs-0.2 - >=dev-libs/cyrus-sasl-2.1.25-r3[kerberos] - dev-libs/jansson:= - dev-libs/libpcre2:= - dev-libs/libunistring:=[${MULTILIB_USEDEP}] - >=dev-libs/popt-1.16 - >=dev-libs/openssl-1.0.2:= - >=net-dns/bind-9.9[gssapi] - >=net-dns/c-ares-1.10.0-r1:=[${MULTILIB_USEDEP}] - >=net-nds/openldap-2.4.30:=[sasl,experimental] - net-fs/cifs-utils[acl] - >=sys-apps/dbus-1.6 - >=sys-apps/keyutils-1.5:= - sys-libs/libcap - >=sys-libs/pam-0-r1[${MULTILIB_USEDEP}] - >=sys-libs/talloc-2.0.7 - >=sys-libs/tdb-1.2.9 - >=sys-libs/tevent-0.9.16 - virtual/ldb:= - virtual/libintl - netlink? ( dev-libs/libnl:3 ) - nfsv4? ( >=net-fs/nfs-utils-2.3.1-r2 ) - nls? ( >=sys-devel/gettext-0.18 ) - passkey? ( dev-libs/libfido2:= ) - python? ( - ${PYTHON_DEPS} - systemd? ( - $(python_gen_cond_dep ' - dev-python/python-systemd[${PYTHON_USEDEP}] - ') - ) - ) - samba? ( >=net-fs/samba-4.10.2[winbind] ) - selinux? ( - >=sys-libs/libselinux-2.1.9 - >=sys-libs/libsemanage-2.1 - ) - systemd? ( - sys-apps/systemd:= - sys-apps/util-linux - ) - systemtap? ( dev-debug/systemtap )" -RDEPEND="${DEPEND} - acct-user/sssd - acct-group/sssd - selinux? ( >=sec-policy/selinux-sssd-2.20120725-r9 )" -DEPEND+=" - sys-apps/shadow" -BDEPEND=" - acct-user/sssd - acct-group/sssd - sys-libs/libcap - virtual/pkgconfig - ${PYTHON_DEPS} - doc? ( app-text/doxygen ) - nls? ( app-text/po4a - sys-devel/gettext ) - test? ( - dev-libs/check - dev-libs/softhsm:2 - dev-util/cmocka - net-libs/gnutls[pkcs11,tools] - sys-libs/libfaketime - sys-libs/nss_wrapper - sys-libs/pam_wrapper - sys-libs/uid_wrapper - ) - app-text/docbook-xml-dtd:4.4 - >=dev-libs/libxslt-1.1.26 - verify-sig? ( sec-keys/openpgp-keys-sssd ) -" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/sssd.asc - -CONFIG_CHECK="~KEYS" - -PATCHES=( - "${FILESDIR}/${PN}-2.8.2-krb5_pw_locked.patch" - "${FILESDIR}/${PN}-2.9.6-conditional-python-install.patch" - "${FILESDIR}/${PN}-2.10.0_beta2-fix-systemd-systemconfdir.patch" - "${FILESDIR}/${PN}-2.12.0-dont-clobber-getpwnam-buffer.patch" -) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/ipa_hbac.h - /usr/include/sss_idmap.h - /usr/include/sss_nss_idmap.h - # --with-ifp - /usr/include/sss_sifp.h - /usr/include/sss_sifp_dbus.h - # from 1.15.3 - /usr/include/sss_certmap.h -) - -# mimic upstream's setcap here, they're liable to get lost -# https://github.com/SSSD/sssd/blob/a6d0f0cf484aeeead535b7138d1334b309c61a4e/Makefile.am#L5567 -FILECAPS=( - cap_dac_read_search=p "usr/libexec/sssd/ldap_child" - -- - cap_dac_read_search,cap_setuid,cap_setgid=p "usr/libexec/sssd/krb5_child" - -- - cap_dac_read_search=p "usr/libexec/sssd/sssd_pam" -) - -pkg_setup() { - linux-info_pkg_setup - python-single-r1_pkg_setup -} - -src_prepare() { - default - - plocale_get_locales > src/man/po/LINGUAS || die - - sed -i \ - -e "/_langs]/ s/ .*//" \ - src/man/po/po4a.cfg \ - || die - enable_locale() { - local locale=${1} - - sed -i \ - -e "/_langs]/ s/$/ ${locale}/" \ - src/man/po/po4a.cfg \ - || die - } - - plocale_for_each_locale enable_locale - - PLOCALES="${PLOCALES_BIN}" - plocale_get_locales > po/LINGUAS || die - - sed -i \ - -e 's:/var/run:/run:' \ - src/examples/logrotate \ - || die - - # disable flaky test, see https://github.com/SSSD/sssd/issues/5631 - sed -i \ - -e '/^\s*pam-srv-tests[ \\]*$/d' \ - Makefile.am \ - || die - - # requires valgrind headers installed, see - # https://github.com/SSSD/sssd/pull/7845 - sed -i \ - -e '/^\s*test_iobuf[ \\]*$/d' \ - Makefile.am \ - || die - - eautoreconf - - multilib_copy_sources -} - -src_configure() { - local native_dbus_cflags=$($(tc-getPKG_CONFIG) --cflags dbus-1 || die) - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=() - - myconf+=( - --libexecdir="${EPREFIX}"/usr/libexec - --localstatedir="${EPREFIX}"/var - --runstatedir="${EPREFIX}"/run - --sbindir="${EPREFIX}"/usr/sbin - --with-pid-path="${EPREFIX}"/run/sssd - --with-plugin-path="${EPREFIX}"/usr/$(get_libdir)/sssd - --enable-pammoddir="${EPREFIX}"/$(getpam_mod_dir) - --with-ldb-lib-dir="${EPREFIX}"/usr/$(get_libdir)/samba/ldb - --with-db-path="${EPREFIX}"/var/lib/sss/db - --with-gpo-cache-path="${EPREFIX}"/var/lib/sss/gpo_cache - --with-pubconf-path="${EPREFIX}"/var/lib/sss/pubconf - --with-pipe-path="${EPREFIX}"/var/lib/sss/pipes - --with-mcache-path="${EPREFIX}"/var/lib/sss/mc - --with-secrets-db-path="${EPREFIX}"/var/lib/sss/secrets - --with-log-path="${EPREFIX}"/var/log/sssd - --with-tmpfilesdir=/usr/lib/tmpfiles.d - --with-udevrulesdir="$(get_udevdir)/rules.d" - --with-kcm - --enable-kcm-renewal - --with-os=gentoo - --disable-rpath - --disable-static - # Valgrind is only used for tests - --disable-valgrind - $(use_with samba) - --with-smb-idmap-interface-version=6 - --enable-cifs-idmap-plugin - $(multilib_native_use_with selinux) - --enable-krb5-locator-plugin - $(use_enable samba pac-responder) - $(multilib_native_use_with nfsv4 nfsv4-idmapd-plugin) - $(use_enable nls) - $(multilib_native_use_with netlink libnl) - --with-manpages - --with-sudo - $(multilib_native_with autofs) - $(multilib_native_with ssh) - --without-oidc-child - $(multilib_native_with passkey) - --with-subid - $(use_enable systemtap) - --without-python2-bindings - $(multilib_native_use_with python python3-bindings) - # Annoyingly configure requires that you pick systemd XOR sysv - --with-initscript=$(usex systemd systemd sysv) - --with-sssd-user=sssd - KRB5_CONFIG="${ESYSROOT}"/usr/bin/krb5-config - CPPFLAGS="${CPPFLAGS} -I${ESYSROOT}/usr/include/samba-4.0" - ) - - use systemd && myconf+=( - --with-systemdunitdir=$(systemd_get_systemunitdir) - --with-syslog=$(usex systemd journald syslog) - ) - - if ! multilib_is_native_abi; then - # work-around all the libraries that are used for CLI and server - myconf+=( - {POPT,TALLOC,TDB,TEVENT,LDB}_{CFLAGS,LIBS}=' ' - # ldb headers are fine since native needs it - # ldb lib fails... but it does not seem to bother - {DHASH,UNISTRING,INI_CONFIG_V{0,1,1_1,1_3}}_{CFLAGS,LIBS}=' ' - {PCRE,CARES,SYSTEMD_LOGIN,SASL,DBUS,CRYPTO,P11_KIT}_{CFLAGS,LIBS}=' ' - {NDR_NBT,SAMBA_UTIL,SMBCLIENT,NDR_KRB5PAC,JANSSON}_{CFLAGS,LIBS}=' ' - - # use native include path for dbus (needed for build) - DBUS_CFLAGS="${native_dbus_cflags}" - - # non-pkgconfig checks - ac_cv_lib_ldap_ldap_search=yes - --without-kcm - --without-manpages - ) - fi - - econf "${myconf[@]}" -} - -multilib_src_compile() { - if multilib_is_native_abi; then - default - use doc && emake docs - else - emake libnss_sss.la pam_sss.la pam_sss_gss.la - emake sssd_krb5_locator_plugin.la - use samba && emake sssd_pac_plugin.la - fi -} - -multilib_src_test() { - if multilib_is_native_abi; then - local -x CK_TIMEOUT_MULTIPLIER=10 - emake check VERBOSE=yes - fi -} - -multilib_src_install() { - if multilib_is_native_abi; then - emake -j1 DESTDIR="${D}" install - if use python; then - python_fix_shebang "${ED}" - python_optimize - fi - else - # easier than playing with automake... - dopammod .libs/pam_sss.so - dopammod .libs/pam_sss_gss.so - - into / - dolib.so .libs/libnss_sss.so* - - exeinto /usr/$(get_libdir)/krb5/plugins/libkrb5 - doexe .libs/sssd_krb5_locator_plugin.so - - if use samba; then - exeinto /usr/$(get_libdir)/krb5/plugins/authdata - doexe .libs/sssd_pac_plugin.so - fi - fi -} - -multilib_src_install_all() { - einstalldocs - - insinto /etc/sssd - insopts -m600 - doins src/examples/sssd-example.conf - - insinto /etc/logrotate.d - insopts -m644 - newins src/examples/logrotate sssd - - newconfd "${FILESDIR}"/sssd.conf sssd - - keepdir /var/lib/sss/db - keepdir /var/lib/sss/deskprofile - keepdir /var/lib/sss/gpo_cache - keepdir /var/lib/sss/keytabs - keepdir /var/lib/sss/mc - keepdir /var/lib/sss/pipes/private - keepdir /var/lib/sss/pubconf/krb5.include.d - keepdir /var/lib/sss/secrets - keepdir /var/log/sssd - keepdir /etc/sssd/conf.d - keepdir /etc/sssd/pki - - # strip empty dirs - if ! use doc; then - rm -r "${ED}"/usr/share/doc/"${PF}"/doc || die - rm -r "${ED}"/usr/share/doc/"${PF}"/{hbac,idmap,nss_idmap}_doc || die - fi - - rm -r "${ED}"/run || die - find "${ED}" -type f -name '*.la' -delete || die -} - -pkg_postinst() { - fcaps_pkg_postinst - udev_reload - tmpfiles_process sssd-tmpfiles.conf - echo - elog "You must set up sssd.conf (default installed into /etc/sssd)" - elog "and (optionally) configuration in /etc/pam.d in order to use SSSD" - elog "features." - echo - optfeature "Kerberos keytab renew (see krb5_renew_interval)" app-crypt/adcli - - if ! use python; then - echo - ewarn "sssctl analyze will not work because the python USE flag is disabled." - fi -} - -pkg_postrm() { - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.13.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.13.0.ebuild deleted file mode 100644 index 1899a277d08..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.13.0.ebuild +++ /dev/null @@ -1,379 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PLOCALES="ca de es fr ja ko pt_BR ru sv tr" -PLOCALES_BIN="${PLOCALES} bg cs eu fi hu id it ka nb nl pl pt tg zh_TW zh_CN" -PLOCALE_BACKUP="sv" -PYTHON_COMPAT=( python3_{11..14} ) - -inherit autotools fcaps linux-info multilib-minimal optfeature plocale \ - python-single-r1 pam systemd tmpfiles udev toolchain-funcs verify-sig - -DESCRIPTION="System Security Services Daemon provides access to identity and authentication" -HOMEPAGE="https://github.com/SSSD/sssd" -if [[ ${PV} != 9999 ]]; then - SRC_URI="https://github.com/SSSD/sssd/releases/download/${PV}/${P}.tar.gz - https://github.com/SSSD/sssd/releases/download/${PV}/${P}.tar.gz.asc" - KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc x86" -else - inherit git-r3 - EGIT_REPO_URI="https://github.com/SSSD/sssd.git" - EGIT_BRANCH="master" -fi - -LICENSE="GPL-3" -SLOT="0" -IUSE="doc +netlink nfsv4 nls openid passkey python samba selinux systemd systemtap test" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -DEPEND=" - >=app-crypt/mit-krb5-1.19.1[${MULTILIB_USEDEP}] - app-crypt/p11-kit - >=dev-libs/ding-libs-0.2 - >=dev-libs/cyrus-sasl-2.1.25-r3[kerberos] - dev-libs/jansson:= - dev-libs/libpcre2:= - dev-libs/libunistring:=[${MULTILIB_USEDEP}] - >=dev-libs/popt-1.16 - >=dev-libs/openssl-1.0.2:= - >=net-dns/bind-9.9[gssapi] - >=net-dns/c-ares-1.10.0-r1:=[${MULTILIB_USEDEP}] - >=net-nds/openldap-2.4.30:=[sasl,experimental] - net-fs/cifs-utils[acl] - >=sys-apps/dbus-1.6 - >=sys-apps/keyutils-1.5:= - sys-libs/libcap - >=sys-libs/pam-0-r1[${MULTILIB_USEDEP}] - >=sys-libs/talloc-2.0.7 - >=sys-libs/tdb-1.2.9 - >=sys-libs/tevent-0.9.16 - virtual/ldb:= - virtual/libintl - netlink? ( dev-libs/libnl:3 ) - nfsv4? ( >=net-fs/nfs-utils-2.3.1-r2 ) - nls? ( >=sys-devel/gettext-0.18 ) - openid? ( - dev-libs/jose - net-misc/curl - ) - passkey? ( dev-libs/libfido2:= ) - python? ( - ${PYTHON_DEPS} - systemd? ( - $(python_gen_cond_dep ' - dev-python/python-systemd[${PYTHON_USEDEP}] - ') - ) - ) - samba? ( >=net-fs/samba-4.10.2[winbind] ) - selinux? ( - >=sys-libs/libselinux-2.1.9 - >=sys-libs/libsemanage-2.1 - ) - systemd? ( - sys-apps/systemd:= - sys-apps/util-linux - ) - systemtap? ( dev-debug/systemtap )" -RDEPEND="${DEPEND} - acct-user/sssd - acct-group/sssd - selinux? ( >=sec-policy/selinux-sssd-2.20120725-r9 )" -DEPEND+=" - sys-apps/shadow" -BDEPEND=" - acct-user/sssd - acct-group/sssd - sys-libs/libcap - virtual/pkgconfig - ${PYTHON_DEPS} - doc? ( app-text/doxygen ) - nls? ( app-text/po4a - sys-devel/gettext ) - test? ( - app-alternatives/bc - dev-libs/check - dev-libs/softhsm:2 - dev-util/cmocka - net-libs/gnutls[pkcs11,tools] - sys-libs/libfaketime - sys-libs/nss_wrapper - sys-libs/pam_wrapper - sys-libs/uid_wrapper - ) - app-text/docbook-xml-dtd:4.4 - >=dev-libs/libxslt-1.1.26 - verify-sig? ( sec-keys/openpgp-keys-sssd ) -" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/sssd.asc - -CONFIG_CHECK="~KEYS" - -PATCHES=( - "${FILESDIR}/${PN}-2.8.2-krb5_pw_locked.patch" - "${FILESDIR}/${PN}-2.9.6-conditional-python-install.patch" - "${FILESDIR}/${PN}-2.10.0_beta2-fix-systemd-systemconfdir.patch" -) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/ipa_hbac.h - /usr/include/sss_idmap.h - /usr/include/sss_nss_idmap.h - # --with-ifp - /usr/include/sss_sifp.h - /usr/include/sss_sifp_dbus.h - # from 1.15.3 - /usr/include/sss_certmap.h -) - -# mimic upstream's setcap here, they're liable to get lost -# https://github.com/SSSD/sssd/blob/a6d0f0cf484aeeead535b7138d1334b309c61a4e/Makefile.am#L5567 -FILECAPS=( - cap_dac_read_search=p "usr/libexec/sssd/ldap_child" - -- - cap_dac_read_search,cap_setuid,cap_setgid=p "usr/libexec/sssd/krb5_child" - -- - cap_dac_read_search=p "usr/libexec/sssd/sssd_pam" -) - -pkg_setup() { - linux-info_pkg_setup - python-single-r1_pkg_setup -} - -src_prepare() { - default - - plocale_get_locales > src/man/po/LINGUAS || die - - sed -i \ - -e "/_langs]/ s/ .*//" \ - src/man/po/po4a.cfg \ - || die - enable_locale() { - local locale=${1} - - sed -i \ - -e "/_langs]/ s/$/ ${locale}/" \ - src/man/po/po4a.cfg \ - || die - } - - plocale_for_each_locale enable_locale - - PLOCALES="${PLOCALES_BIN}" - plocale_get_locales > po/LINGUAS || die - - sed -i \ - -e 's:/var/run:/run:' \ - src/examples/logrotate \ - || die - - # disable flaky test, see https://github.com/SSSD/sssd/issues/5631 - sed -i \ - -e '/^\s*pam-srv-tests[ \\]*$/d' \ - Makefile.am \ - || die - - # requires valgrind headers installed, see - # https://github.com/SSSD/sssd/pull/7845 - sed -i \ - -e '/^\s*test_iobuf[ \\]*$/d' \ - Makefile.am \ - || die - - eautoreconf - - multilib_copy_sources -} - -src_configure() { - local native_dbus_cflags=$($(tc-getPKG_CONFIG) --cflags dbus-1 || die) - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=() - - myconf+=( - --libexecdir="${EPREFIX}"/usr/libexec - --localstatedir="${EPREFIX}"/var - --runstatedir="${EPREFIX}"/run - --sbindir="${EPREFIX}"/usr/sbin - --with-pid-path="${EPREFIX}"/run/sssd - --with-plugin-path="${EPREFIX}"/usr/$(get_libdir)/sssd - --enable-pammoddir="${EPREFIX}"/$(getpam_mod_dir) - --with-ldb-lib-dir="${EPREFIX}"/usr/$(get_libdir)/samba/ldb - --with-db-path="${EPREFIX}"/var/lib/sss/db - --with-gpo-cache-path="${EPREFIX}"/var/lib/sss/gpo_cache - --with-pubconf-path="${EPREFIX}"/var/lib/sss/pubconf - --with-pipe-path="${EPREFIX}"/var/lib/sss/pipes - --with-mcache-path="${EPREFIX}"/var/lib/sss/mc - --with-secrets-db-path="${EPREFIX}"/var/lib/sss/secrets - --with-log-path="${EPREFIX}"/var/log/sssd - --with-tmpfilesdir=/usr/lib/tmpfiles.d - --with-udevrulesdir="$(get_udevdir)/rules.d" - --with-kcm - --enable-kcm-renewal - --with-os=gentoo - --disable-rpath - --disable-static - # Valgrind is only used for tests - --disable-valgrind - $(use_with samba) - --with-smb-idmap-interface-version=6 - --enable-cifs-idmap-plugin - $(multilib_native_use_with selinux) - --enable-krb5-locator-plugin - $(use_enable samba pac-responder) - $(multilib_native_use_with nfsv4 nfsv4-idmapd-plugin) - $(use_enable nls) - $(multilib_native_use_with netlink libnl) - --with-manpages - --with-sudo - $(multilib_native_with autofs) - $(multilib_native_with ssh) - $(use_with openid oidc-child) - $(multilib_native_with passkey) - --with-subid - $(use_enable systemtap) - --without-python2-bindings - $(multilib_native_use_with python python3-bindings) - # Annoyingly configure requires that you pick systemd XOR sysv - --with-initscript=$(usex systemd systemd sysv) - --with-sssd-user=sssd - KRB5_CONFIG="${ESYSROOT}"/usr/bin/krb5-config - CPPFLAGS="${CPPFLAGS} -I${ESYSROOT}/usr/include/samba-4.0" - ) - - use systemd && myconf+=( - --with-systemdunitdir=$(systemd_get_systemunitdir) - --with-syslog=$(usex systemd journald syslog) - ) - - if ! multilib_is_native_abi; then - # work-around all the libraries that are used for CLI and server - myconf+=( - {POPT,TALLOC,TDB,TEVENT,LDB}_{CFLAGS,LIBS}=' ' - # ldb headers are fine since native needs it - # ldb lib fails... but it does not seem to bother - {DHASH,UNISTRING,INI_CONFIG_V{0,1,1_1,1_3}}_{CFLAGS,LIBS}=' ' - {PCRE,CARES,SYSTEMD_LOGIN,SASL,DBUS,CRYPTO,P11_KIT}_{CFLAGS,LIBS}=' ' - {NDR_NBT,SAMBA_UTIL,SMBCLIENT,NDR_KRB5PAC,JANSSON}_{CFLAGS,LIBS}=' ' - - # use native include path for dbus (needed for build) - DBUS_CFLAGS="${native_dbus_cflags}" - - # non-pkgconfig checks - ac_cv_lib_ldap_ldap_search=yes - --without-kcm - --without-manpages - ) - fi - - econf "${myconf[@]}" -} - -multilib_src_compile() { - if multilib_is_native_abi; then - default - use doc && emake docs - else - emake libnss_sss.la pam_sss.la pam_sss_gss.la - emake sssd_krb5_locator_plugin.la - use samba && emake sssd_pac_plugin.la - fi -} - -multilib_src_test() { - if multilib_is_native_abi; then - local -x CK_TIMEOUT_MULTIPLIER=10 - emake check VERBOSE=yes - fi -} - -multilib_src_install() { - if multilib_is_native_abi; then - emake -j1 DESTDIR="${D}" install - if use python; then - python_fix_shebang "${ED}" - python_optimize - fi - else - # easier than playing with automake... - dopammod .libs/pam_sss.so - dopammod .libs/pam_sss_gss.so - - into / - dolib.so .libs/libnss_sss.so* - - exeinto /usr/$(get_libdir)/krb5/plugins/libkrb5 - doexe .libs/sssd_krb5_locator_plugin.so - - if use samba; then - exeinto /usr/$(get_libdir)/krb5/plugins/authdata - doexe .libs/sssd_pac_plugin.so - fi - fi -} - -multilib_src_install_all() { - einstalldocs - - insinto /etc/sssd - insopts -m600 - doins src/examples/sssd-example.conf - - insinto /etc/logrotate.d - insopts -m644 - newins src/examples/logrotate sssd - - newconfd "${FILESDIR}"/sssd.conf sssd - - keepdir /var/lib/sss/db - keepdir /var/lib/sss/deskprofile - keepdir /var/lib/sss/gpo_cache - keepdir /var/lib/sss/keytabs - keepdir /var/lib/sss/mc - keepdir /var/lib/sss/pipes/private - keepdir /var/lib/sss/pubconf/krb5.include.d - keepdir /var/lib/sss/secrets - keepdir /var/log/sssd - keepdir /etc/sssd/conf.d - keepdir /etc/sssd/pki - - # strip empty dirs - if ! use doc; then - rm -r "${ED}"/usr/share/doc/"${PF}"/doc || die - rm -r "${ED}"/usr/share/doc/"${PF}"/{hbac,idmap,nss_idmap}_doc || die - fi - - rm -r "${ED}"/run || die - find "${ED}" -type f -name '*.la' -delete || die -} - -pkg_postinst() { - fcaps_pkg_postinst - udev_reload - tmpfiles_process sssd-tmpfiles.conf - echo - elog "You must set up sssd.conf (default installed into /etc/sssd)" - elog "and (optionally) configuration in /etc/pam.d in order to use SSSD" - elog "features." - echo - optfeature "Kerberos keytab renew (see krb5_renew_interval)" app-crypt/adcli - - if ! use python; then - echo - ewarn "sssctl analyze will not work because the python USE flag is disabled." - fi -} - -pkg_postrm() { - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.13.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.13.1-r1.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.13.0-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.13.1-r1.ebuild index 8020d31adc7..72c1b20202c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.13.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.13.1-r1.ebuild @@ -6,7 +6,7 @@ EAPI=8 PLOCALES="ca de es fr ja ko pt_BR ru sv tr" PLOCALES_BIN="${PLOCALES} bg cs eu fi hu id it ka nb nl pl pt tg zh_TW zh_CN" PLOCALE_BACKUP="sv" -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..14} ) inherit autotools fcaps linux-info multilib-minimal optfeature plocale \ python-single-r1 pam systemd tmpfiles udev toolchain-funcs verify-sig @@ -26,7 +26,7 @@ fi LICENSE="GPL-3" SLOT="0" IUSE="doc +netlink nfsv4 nls openid passkey python samba selinux systemd systemtap test" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) test? ( openid )" RESTRICT="!test? ( test )" DEPEND=" @@ -53,7 +53,7 @@ DEPEND=" virtual/ldb:= virtual/libintl netlink? ( dev-libs/libnl:3 ) - nfsv4? ( >=net-fs/nfs-utils-2.3.1-r2 ) + nfsv4? ( >=net-fs/nfs-utils-2.3.1-r2[nfsv4] ) nls? ( >=sys-devel/gettext-0.18 ) openid? ( dev-libs/jose @@ -194,6 +194,11 @@ src_prepare() { src_configure() { local native_dbus_cflags=$($(tc-getPKG_CONFIG) --cflags dbus-1 || die) + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + export DTRACE="${BROOT}"/usr/bin/stap-dtrace + fi + multilib-minimal_src_configure } diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.13.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.13.1.ebuild index 33bffc1828b..58a137a44c8 100644 --- a/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.13.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.13.1.ebuild @@ -194,6 +194,11 @@ src_prepare() { src_configure() { local native_dbus_cflags=$($(tc-getPKG_CONFIG) --cflags dbus-1 || die) + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + export DTRACE="${BROOT}"/usr/bin/stap-dtrace + fi + multilib-minimal_src_configure } diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.9.9.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.9.9-r1.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.9.9.ebuild rename to sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.9.9-r1.ebuild index c79afc5243f..cf89c49d9f9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.9.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.9.9-r1.ebuild @@ -6,7 +6,7 @@ EAPI=8 PLOCALES="ca de es fr ja ko pt_BR ru sv tr uk" PLOCALES_BIN="${PLOCALES} bg cs eu fi hu id it ka nb nl pl pt tg zh_TW zh_CN" PLOCALE_BACKUP="sv" -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..14} ) inherit autotools linux-info multilib-minimal optfeature plocale \ python-single-r1 pam systemd toolchain-funcs verify-sig @@ -52,7 +52,7 @@ DEPEND=" virtual/libintl acl? ( net-fs/cifs-utils[acl] ) netlink? ( dev-libs/libnl:3 ) - nfsv4? ( >=net-fs/nfs-utils-2.3.1-r2 ) + nfsv4? ( >=net-fs/nfs-utils-2.3.1-r2[nfsv4] ) nls? ( >=sys-devel/gettext-0.18 ) passkey? ( dev-libs/libfido2:= ) python? ( diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/Manifest index e09886ece26..bbca608915c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/Manifest @@ -35,3 +35,6 @@ DIST binutils-2.46.1-patches-1.tar.xz 6916 BLAKE2B 4588923757470819d7d0f344b8c14 DIST binutils-2.46.1-patches-2.tar.xz 9852 BLAKE2B e024d51fc049e71ce215024ed39c4dae2d459f97f83ed1c6dec9cea9da923462150bf830712e1be17b12f804e19454f13d6a663dd2c5724474ac78e46f16068f SHA512 221000686c65e31a1727aba2dd3c2f23172b3423fa0f1d6b277ec0ba01f8846ad85c51483e292cbd5c44f206639e222d34246cefb7660e2c1c4730f421715487 DIST binutils-2.46.1.tar.xz 28636456 BLAKE2B a5a0578281d6315a43437ccf7636b3b91185c2706f1582b22af6973f55a86f5b4bc7eb03aa9ceaec547070152c08c982bc40ee9ce07679f2e3bb49e050bae76c SHA512 a5c65e56e400ed3fb8906a995dbb93eb5bea54b16344244653d7f44ef29ceb60270da263b19d25302c37759784e14fcb4b9421b29e0e2c7f450bd99f6bb4595c DIST binutils-2.46.1.tar.xz.sig 395 BLAKE2B 5c8d5fc9fd3abf8de72e603d5f529d8fdef2345851d6af6644e443e95e50558a6b2006914edf54094178075b1ed9e51a630773b7c74e7b421eacba4bb8028a29 SHA512 e7746a14c74a04cee1a7b82bd463ff42f304e3646e4808a03ac7ee8d367a61627297c30816f008b919b8db7cc706062d927f424a787e0f1da3ad432ec18cfa0f +DIST binutils-2.47-patches-1.tar.xz 9736 BLAKE2B 8a0aad0635792c5474b7ddeda234e146b57cebf3346474fbd1e53c3f9f30df317be1363967cffbd46605adc302a172bf2eec5d94a256169eb1ccbd2b309b4a32 SHA512 82986da3abcc0e751d0dcd8df1615688906d7d5b01490969fe4afbc4b400c79b6eb35afd09c56668f930e67082ec751895a635af42021a9162f3fcaa84eda11b +DIST binutils-2.47.tar.xz 29034716 BLAKE2B 329cae8792c500c71d8cce03aab127e8d77f1d409f74872082e64df5163e5c730fe585f8f9c21905cb6227cae18e6675ae4caed653223a26b5d9d4fdb90910ea SHA512 3126a1064374d8da40d4d70630c204ed1e75d542c447d53fca9778c7ceff095c28e9b445e15a313fef9729082d7966471ee6b5b715d479aa6d568528743e1d98 +DIST binutils-2.47.tar.xz.sig 833 BLAKE2B 3a3cd16813153eeba88e604d3137c695cba91132ac89ec26a0d82e35332028db3302954f5812120d5e79379a21670a33703b571315970a9570759fd3cf03088d SHA512 ca3e62d4746da129405c7d69e757f295aed68fbe267c9efc8d248cf2ce98fde55d953e663896507db494dbbaa5a904cd82d159ef9d9b26944e047bff1e40439c diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.46.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.46.1.ebuild index 390f2051685..263ebdbf77d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.46.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.46.1.ebuild @@ -39,7 +39,7 @@ else " [[ -z ${PATCH_VER} ]] || SRC_URI+=" https://distfiles.gentoo.org/pub/proj/toolchain/binutils/patches/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" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-binutils )" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.47.9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.47.9999.ebuild new file mode 100644 index 00000000000..8120f9a40f6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.47.9999.ebuild @@ -0,0 +1,643 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dot-a libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs + +DESCRIPTION="Tools necessary to build programs" +HOMEPAGE="https://sourceware.org/binutils/" + +LICENSE="GPL-3+" +IUSE="cet +debuginfod doc gprofng hardened multitarget +nls pgo +plugins static-libs test vanilla xxhash zstd" + +# Variables that can be set here (ignored for live ebuilds) +# PATCH_VER - the patchset version +# Default: empty, no patching +# PATCH_BINUTILS_VER - the binutils version in the patchset name +# - Default: PV +# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/... +# for the patchsets + +PATCH_VER=1 + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + SLOT=${PV} +elif [[ ${PV} == *9999 ]]; then + inherit git-r3 + SLOT=$(ver_cut 1-2) +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/binutils.asc + inherit verify-sig + PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} + PATCH_DEV=${PATCH_DEV:-dilfridge} + SRC_URI=" + mirror://gnu/binutils/binutils-${PV}.tar.xz + https://sourceware.org/pub/binutils/releases/binutils-${PV}.tar.xz + verify-sig? ( mirror://gnu/binutils/binutils-${PV}.tar.xz.sig ) + " + [[ -z ${PATCH_VER} ]] || SRC_URI+=" https://distfiles.gentoo.org/pub/proj/toolchain/binutils/patches/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" + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-binutils )" +fi + +# +# The cross-compile logic +# +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +# +# The dependencies +# +RDEPEND=" + >=sys-devel/binutils-config-3 + virtual/zlib:= + debuginfod? ( + dev-libs/elfutils[debuginfod(-)] + ) + zstd? ( app-arch/zstd:= ) +" +DEPEND=" + ${RDEPEND} + xxhash? ( dev-libs/xxhash ) +" +BDEPEND+=" + doc? ( sys-apps/texinfo ) + pgo? ( + dev-util/dejagnu + app-alternatives/bc + ) + test? ( + dev-util/dejagnu + app-alternatives/bc + ) + nls? ( sys-devel/gettext ) + zstd? ( virtual/pkgconfig ) + app-alternatives/lex + app-alternatives/yacc +" + +RESTRICT="!test? ( test )" + +MY_BUILDDIR=${WORKDIR}/build + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git + https://github.com/gentoo/binutils-patches + " + EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git + git-r3_src_unpack + + if [[ ${PV} != 9999 ]] ; then + EGIT_BRANCH=binutils-$(ver_cut 1)_$(ver_cut 2)-branch + mv patches-git/${PV%*.9999} patches || die + else + mv patches-git/9999 patches || die + fi + 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 + " + S=${WORKDIR}/binutils + EGIT_CHECKOUT_DIR=${S} + git-r3_src_unpack + else + use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${P/-hppa64/}.tar.xz{,.sig} + unpack ${P/-hppa64/}.tar.xz + + cd "${WORKDIR}" || die + unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz + + # _p patch versions are Gentoo specific tarballs ... + local dir=${P%_p?} + dir=${dir/-hppa64/} + + S=${WORKDIR}/${dir} + fi + + cd "${WORKDIR}" || die + mkdir -p "${MY_BUILDDIR}" || die +} + +src_prepare() { + local patchsetname + if [[ ${PV} == 9999 ]] ; then + patchsetname="from git master" + elif [[ ${PV} == *9999 ]] ; then + patchsetname="from git branch ${EGIT_BRANCH}" + else + patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}" + fi + + if [[ -n ${PATCH_VER} ]] || [[ ${PV} == *9999 ]] ; then + if ! use vanilla; then + einfo "Applying binutils patchset ${patchsetname}" + eapply "${WORKDIR}/patches" + einfo "Done." + + # This is applied conditionally for now just out of caution. + # It should be okay on non-prefix systems though. See bug #892549. + if is_cross || use prefix; then + eapply "${FILESDIR}"/binutils-2.40-linker-search-path.patch \ + "${FILESDIR}"/binutils-2.43-linker-prefix.patch + fi + fi + fi + + # Make sure our explicit libdir paths don't get clobbered, bug #562460 + sed -i \ + -e 's:@bfdlibdir@:@libdir@:g' \ + -e 's:@bfdincludedir@:@includedir@:g' \ + {bfd,opcodes}/Makefile.in || die + + # Apply things from PATCHES and user dirs + default + + # Run misc portage update scripts + gnuconfig_update + elibtoolize --portage --no-uclibc +} + +toolchain-binutils_bugurl() { + printf "https://bugs.gentoo.org/" +} +toolchain-binutils_pkgversion() { + printf "Gentoo ${PV}" + [[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}" +} + +src_configure() { + # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html + # Avoid really confusing logs from subconfigure spam, makes logs far + # more legible. + MAKEOPTS="--output-sync=line ${MAKEOPTS}" + + # Setup some paths + LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV} + INCPATH=${LIBPATH}/include + DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV} + if is_cross ; then + TOOLPATH=/usr/${CHOST}/${CTARGET} + else + TOOLPATH=/usr/${CTARGET} + fi + BINPATH=${TOOLPATH}/binutils-bin/${PV} + + # Make sure we filter $LINGUAS so that only ones that + # actually work make it through, bug #42033 + strip-linguas -u */po + + # Keep things sane + strip-flags + use cet && filter-flags -mindirect-branch -mindirect-branch=* + use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + lto-guarantee-fat + + local x + echo + for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do + einfo "$(printf '%10s' ${x}:) ${!x}" + done + echo + + cd "${MY_BUILDDIR}" || die + local myconf=() + + if use plugins ; then + myconf+=( --enable-plugins ) + fi + + if use nls ; then + myconf+=( --without-included-gettext ) + else + myconf+=( --disable-nls ) + fi + + myconf+=( --with-system-zlib ) + + # For bi-arch systems, enable a 64bit bfd. This matches the bi-arch + # logic in toolchain.eclass. bug #446946 + # + # We used to do it for everyone, but it's slow on 32bit arches. bug #438522 + case $(tc-arch) in + ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;; + esac + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} ) + + is_cross && myconf+=( + --with-sysroot="${EPREFIX}"/usr/${CTARGET} + --enable-poison-system-directories + ) + + myconf+=( --enable-secureplt ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + myconf+=( + --prefix="${EPREFIX}"/usr + --host=${CHOST} + --target=${CTARGET} + --datadir="${EPREFIX}"${DATAPATH} + --datarootdir="${EPREFIX}"${DATAPATH} + --infodir="${EPREFIX}"${DATAPATH}/info + --mandir="${EPREFIX}"${DATAPATH}/man + --bindir="${EPREFIX}"${BINPATH} + --libdir="${EPREFIX}"${LIBPATH} + --libexecdir="${EPREFIX}"${LIBPATH} + --includedir="${EPREFIX}"${INCPATH} + # portage's econf() does not detect presence of --d-d-t + # because it greps only top-level ./configure. But not + # libiberty's or bfd's configure. + --disable-dependency-tracking + --disable-silent-rules + --enable-obsolete + --enable-shared + --enable-threads + --enable-relro + --enable-install-libiberty + --enable-textrel-check=$(usex hardened error warning) + # Things to think about + #--enable-deterministic-archives + --enable-new-dtags + --disable-jansson + --disable-werror + --with-bugurl="$(toolchain-binutils_bugurl)" + --with-pkgversion="$(toolchain-binutils_pkgversion)" + $(use_enable static-libs static) + $(use_with xxhash) + $(use_with zstd) + + # Disable modules that are in a combined binutils/gdb tree, bug #490566 + --disable-{gdb,gdbserver,libbacktrace,libdecnumber,readline,sim} + # Strip out broken static link flags: https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + # Change SONAME to avoid conflict across {native,cross}/binutils, binutils-libs. bug #666100 + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st) + + $(use_with debuginfod) + + # Avoid automagic dev-libs/msgpack dep, bug #865875 + --without-msgpack + + # Allow user to opt into CET for host libraries. + # Ideally we would like automagic-or-disabled here. + # But the check does not quite work on i686: bug #760926. + $(use_enable cet) + + # We can enable this by default in future, but it's brand new + # in 2.39 with several bugs: + # - Doesn't build on musl (https://sourceware.org/PR29477) + # - No man pages (https://sourceware.org/PR29521) + # - Broken at runtime without Java (https://sourceware.org/PR29479) + # - binutils-config (and this ebuild?) needs adaptation first (https://bugs.gentoo.org/865113) + $(use_enable gprofng) + + # Enables colored disassembly by default (equivalent to passing + # --disassembler-color=terminal to all objdump invocations). + --enable-colored-disassembly + ) + + case ${CTARGET} in + x86_64-*|aarch64*|arm64*|i[3456]*) + # These hardening options are available from 2.39+ but + # they unconditionally enable the behaviour even on arches + # where e.g. execstacks can't be avoided. + # See https://sourceware.org/PR29592. + # + # TODO: Get the logic for this fixed upstream so it doesn't + # create impossible broken combinations on some arches, like mips. + # + # TODO: Get the logic for this fixed upstream so --disable-* works + # as expected. + myconf+=( + --enable-warn-execstack=yes + --enable-warn-rwx-segments=yes + ) + + if use hardened ; then + myconf+=( + # TODO: breaks glibc test suite + #--enable-error-execstack=yes + #--enable-error-rwx-segments=yes + --enable-default-execstack=no + ) + fi + ;; + *) + ;; + esac + + if use elibc_musl ; then + # Override our earlier setting for musl, as textrels don't + # work there at all. See bug #707660. + myconf+=( + --enable-textrel-check=error + ) + fi + + if use test || { use pgo && tc-is-lto ; } ; then + # -Wa,* needs to be consistent everywhere or lto-wrapper will complain + filter-flags '-Wa,*' + fi + + if ! is_cross ; then + myconf+=( $(use_enable pgo pgo-build $(tc-is-lto && echo "lto" || echo "yes")) ) + + if use pgo ; then + # We let configure handle it for us because it has to run + # the testsuite later on for profiling, and LTO isn't compatible + # with the testsuite. + filter-lto + + # bug #637066 + filter-flags -Wall -Wreturn-type + + export BUILD_CFLAGS="${CFLAGS}" + fi + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" + + # Prevent makeinfo from running if doc is unset. + if ! use doc ; then + sed -i \ + -e '/^MAKEINFO/s:=.*:= true:' \ + Makefile || die + fi +} + +src_compile() { + cd "${MY_BUILDDIR}" || die + + # see Note [tooldir hack for ldscripts] + # see linker prefix patch + emake \ + tooldir="${EPREFIX}${TOOLPATH}" \ + gentoo_prefix=$(usex prefix-guest "${EPREFIX}"/usr /usr) \ + all + + # only build info pages if the user wants them + if use doc ; then + emake info + fi + + # we nuke the manpages when we're left with junk + # (like when we bootstrap, no perl -> no manpages) + find . -name '*.1' -a -size 0 -delete +} + +src_test() { + cd "${MY_BUILDDIR}" || die + + ( + # Tests don't expect LTO + filter-lto + + # If we have e.g. -mfpmath=sse -march=pentium4 in CFLAGS, + # we'll get lto1 warnings for some tests which cause + # spurious failures because -mfpmath isn't passed at + # link-time. Filter accordingly. + # + # Alternatively, we could pass C{C,XX}_FOR_TARGET with + # some (ideally not all, surely would break some tests) + # stuffed in. + filter-flags '-mfpmath=*' + + # lto-wrapper warnings which confuse tests + filter-flags '-Wa,*' + + # bug #637066 + filter-flags -Wall -Wreturn-type + + emake -k check \ + CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}" \ + CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}" \ + LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}" \ + CFLAGS="${CFLAGS}" \ + CXXFLAGS="${CXXFLAGS}" \ + LDFLAGS="${LDFLAGS}" + ) +} + +src_install() { + local x d + + cd "${MY_BUILDDIR}" || die + + # see Note [tooldir hack for ldscripts] + emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install + rm -rf "${ED}"/${LIBPATH}/bin || die + use static-libs || find "${ED}" -name '*.la' -delete + # Explicit "${ED}" as we need it to do things even w/ USE=-static-libs + strip-lto-bytecode "${ED}" + + # Newer versions of binutils get fancy with ${LIBPATH}, bug #171905 + cd "${ED}"/${LIBPATH} || die + for d in ../* ; do + [[ ${d} == ../${PV} ]] && continue + mv ${d}/* . || die + rmdir ${d} || die + done + + # Now we collect everything intp the proper SLOT-ed dirs + # When something is built to cross-compile, it installs into + # /usr/$CHOST/ by default ... we have to 'fix' that :) + if is_cross ; then + cd "${ED}"/${BINPATH} || die + for x in * ; do + mv ${x} ${x/${CTARGET}-} || die + done + + if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then + mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH} + mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/ + rm -r "${ED}"/usr/${CHOST}/{include,lib} + fi + fi + + insinto ${INCPATH} + local libiberty_headers=( + # Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir. + demangle.h + dyn-string.h + fibheap.h + hashtab.h + libiberty.h + objalloc.h + splay-tree.h + ) + doins "${libiberty_headers[@]/#/${S}/include/}" + if [[ -d ${ED}/${LIBPATH}/lib ]] ; then + mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/ || die + rm -r "${ED}"/${LIBPATH}/lib || die + fi + + # Generate an env.d entry for this binutils + insinto /etc/env.d/binutils + cat <<-EOF > "${T}"/env.d + TARGET="${CTARGET}" + VER="${PV}" + LIBPATH="${EPREFIX}${LIBPATH}" + EOF + newins "${T}"/env.d ${CTARGET}-${PV} + + # Handle documentation + if ! is_cross ; then + cd "${S}" || die + dodoc README + + docinto bfd + dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO + + docinto binutils + dodoc binutils/ChangeLog binutils/NEWS binutils/README + + docinto gas + dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README* + + docinto gprof + dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl + + docinto ld + dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO + + docinto libiberty + dodoc libiberty/ChangeLog* libiberty/README + + docinto opcodes + dodoc opcodes/ChangeLog* + fi + + # Remove shared info pages + rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info} + + docompress "${DATAPATH}"/{info,man} + + # Trim all empty dirs + find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null +} + +# Simple test to make sure our new binutils isn't completely broken. +# Skip if this binutils is a cross compiler. +binutils_sanity_check() { + pushd "${T}" >/dev/null + + einfo "Last-minute run tests with binutils in ${ED}${BINPATH} ..." + + cat <<-EOF > "${T}"/number.c + int get_magic_number() { + return 42; + } + EOF + + cat <<-EOF > "${T}"/test.c + #include + int get_magic_number(); + + int main() { + printf("Hello Gentoo! Your magic number is: %d\n", get_magic_number()); + } + EOF + + local -x LD_LIBRARY_PATH="${ED}${LIBPATH}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" + + local opt opt2 + # TODO: test multilib variants? + for opt in '' '-O2' ; do + # TODO: add static-pie? we need to check if support exists, though (bug #965478) + for opt2 in '-static' '-fno-PIE -no-pie' ; do + $(tc-getCC) ${opt} ${opt2} -B"${ED}${BINPATH}" "${T}"/number.c "${T}"/test.c -o "${T}"/test + if "${T}"/test | grep -q "Hello Gentoo! Your magic number is: 42" ; then + :; + else + die "Test with '${opt} ${opt2}' failed! Aborting to avoid broken binutils!" + fi + done + done + + popd >/dev/null +} + +pkg_preinst() { + [[ -n ${ROOT} ]] && return 0 + [[ -n ${EPREFIX} ]] && return 0 + [[ -d ${ED}${BINPATH} ]] || return 0 + [[ -n ${BOOTSTRAP_RAP} ]] || return 0 + is_cross && return 0 + binutils_sanity_check +} + +pkg_postinst() { + # Make sure this ${CTARGET} has a binutils version selected + [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0 + binutils-config ${CTARGET}-${PV} || eerror binutils-config returned an error +} + +pkg_postrm() { + local current_profile=$(binutils-config -c ${CTARGET}) + + # If no other versions exist, then uninstall for this + # target ... otherwise, switch to the newest version + # Note: only do this if this version is unmerged. We + # rerun binutils-config if this is a remerge, as + # we want the mtimes on the symlinks updated (if + # it is the same as the current selected profile) + if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then + local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}') + choice=${choice//$'\n'/ } + choice=${choice/* } + if [[ -z ${choice} ]] ; then + binutils-config -u ${CTARGET} || eerror binutils-config returned an error + else + binutils-config ${choice} || eerror binutils-config returned an error + fi + elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then + binutils-config ${CTARGET}-${PV} || eerror binutils-config returned an error + fi +} + +# Note [slotting support] +# ----------------------- +# Gentoo's layout for binutils files is non-standard as Gentoo +# supports slotted installation for binutils. Many tools +# still expect binutils to reside in known locations. +# binutils-config package restores symlinks into known locations, +# like: +# /usr/bin/${CTARGET}- +# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips +# /usr/include/ +# +# Note [tooldir hack for ldscripts] +# --------------------------------- +# Build system does not allow ./configure to tweak every location +# we need for slotting binutils hence all the shuffling in +# src_install(). This note is about SCRIPTDIR define handling. +# +# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value +# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib' +# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time. +# Thus we can't just move files around after compilation finished. +# +# Our goal is the following: +# - at build-time set scriptdir to point to symlinked location: +# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case) +# - at install-time set scriptdir to point to slotted location: +# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.46.9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.47.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.46.9999.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.47.ebuild 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 3e4747788d8..b60c06f6643 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest @@ -7,122 +7,44 @@ DIST gcc-11.5.0.tar.xz 82399864 BLAKE2B f4a61faad32aac9e9cb553c1a1a011df0a057f6e DIST gcc-12.5.0-musl-patches-1.tar.xz 4460 BLAKE2B ba9635d32e63a18a617fab823fc032d03d3413e9775039a60bfec1e3a28055ba7843197104593b2a17cc1d465b1ef90f3d2dbada6f62845b47980bdb77227686 SHA512 38a13b15bb5640c9d97d9d2c7b6a4a76499a4bb78d1b107d947429cc6a1f57c00d71c34a420eedd34fe850d97a986ab587a946ad314e52310c782783add4e561 DIST gcc-12.5.0-patches-1.tar.xz 16604 BLAKE2B 9525f38913d043fbf9be57032b2f7d947dd652581cef6fa908461762868d050d0e2d9a85fddfac1110e87549cff70838db465979a726c5478709303f32685501 SHA512 fafd37b7f5f0621cee214c23b7851a51cb6b6e7ef73b04786e95b0ad9a8349e5886a2eb156f8549990fcfc76506cc0eb0b1b3e86d4d132a6b6d97a77850af85f 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-20260212.tar.xz 84576196 BLAKE2B c637df92a9948bd88654509a9e03813daca16aff27909e35e47a7b1cf3a7e9abe07064c6bf2ee8223829a8203b6f7bab365d4cbd620d0a563c5cd9e6a73ba4f8 SHA512 9fdd87433a7b49c6a969dea2b023dabadbdec614b0eac84c5b0c459fd49df1786fb7b595e4015632691400bd6db2c5109db593709a5c0b89ce0b20021b888487 -DIST gcc-13-20260422.tar.xz 84601552 BLAKE2B f5c250c66c70d3dce080a39fe33e6ba2fe8c98c4af4352ff392028feafca0be9631dded1c23a6876d082aa63885f00c433f4aed8a7fb105626bc9dba9565661d SHA512 18edb2ae41b27cf76628da63cc592440da1d92ad54d74e7f5f3a4d6a5e2d6610b43acb2525b2bd135e56bcaac5a6ec1e57495543d3eef8598e7e3c7898ee6988 -DIST gcc-13-20260429.tar.xz 84595480 BLAKE2B 78bfa978b63317208c3a4e8d86ce18adbd0f41a109cbce61609f13360111a68938ccf6f5cef6479f43fe858a40977a77cd1b474a1a756e647f5ae6dce858863a SHA512 02156af19b366e9f417e1f6b2a0d427a653df769ceb04ef8c5cc4bc69a5abbddfafddbfe98132ed21b5c64a990d8fcf24a1dac4898558e24a078fff4addcda94 -DIST gcc-13-20260506.tar.xz 84603572 BLAKE2B 531b9225907acb3304787ca20fdc850b01e508ab592895fd2900e8032c30e2981a46247b78c5beb7b771655e961adf307d25fe326e02ecd30ea01d6598ff3c4b SHA512 192266e22370d350ea353452e0f178310f65eb420bf1c4872e41e8590a2dcf487df3f5eaccbe14e87470070012e13202dc68d408504cf87bbe655cba1054d633 -DIST gcc-13-20260513.tar.xz 84601752 BLAKE2B 2499dece45d95a059fe49c4e21db05736a0b536e88c7ee1e2613b13ab2ff088102acbae886d6eb02eb4254a743dd2c91149c5f78b904701c694eb4edce2c9534 SHA512 2711d17d5f908a9f35d248884cd926efc59af00a53f96b090aaebfdc7900fa1b49ebe998fbc7369b2806fab3f2f6dcbfb5abbf740f60fdeebeda1cc574617c2d -DIST gcc-13-20260520.tar.xz 84606308 BLAKE2B 69b294c4f3f1d292c37a552a05de13687d47d09ac3070e0c2e573a04f2fa0bfa3ee89563241447187db497935e0115bb48f75c607b2443b0a4e4558b8e683df4 SHA512 85c9776ba5dbb144228b7554eec94fac18f68c55b65bbd820f33c931ab7433a5fe8fe8b91354269f0209e3ec2c6f9e733c2a59e04a8e815aaa7645e8d6ad8fb6 -DIST gcc-13-20260527.tar.xz 84654920 BLAKE2B 49c8ef53cddbfaaf07efae2e801be308fb0ec0b02bcadfb61e9a2b6cc52ef39f177e82bb599d1e0aea916621b965f628f0e3c03c98cafc77a3f9c3e37274f77b SHA512 dfd4f9e61ae1fc6a1680f58a89b349185ce6c90db225b042df9f639ca744a5c4775c348bfabd3218bfdc2baeca295c3a0f0e68bb57c656eb3fc457c7aa9fad0a DIST gcc-13-20260603.tar.xz 84612576 BLAKE2B 6b062015b61508359b6c29d1ccd1b5322404e18ead21aaec6acb687822147054250647c1fca6d1254f4cc27d4dd6f1a2477cc84bf66b2f4dab1aa6196d8de49e SHA512 c9da65861e766f7159624e512ab210551ef93d06b446fcc42df78ec3d31554335656a02086746ac300ec2cdf72443fd62acf49c742a760d63b6b0f88eca6f614 -DIST gcc-13-20260610.tar.xz 84609268 BLAKE2B 7d40c50f42419a778e64abfccc71d532bf6a83f2dc8a345b01d6d50d4d861cd445ea1e8463dd0e865f6211f0c4a529a5134b5cecbf9cccb8af84937ba34fd3d0 SHA512 158b146d737a33795bcd074297a363c9719421bbd8d4e66f3d9e47439e153a59c99850c028f947572d3df567671eeb7f2084e355d14c91d17e8fd1cbd7e720b0 -DIST gcc-13-20260617.tar.xz 84606784 BLAKE2B 7f8b88839a714a16cfaa2796ae9601151bd87d4ca7c2fa4eadf2b76c019b1abd6339886e789310b0d17360299bcc92edc1f3853236338382ed91d6cc18865e95 SHA512 8b36b10bcb8dd0c556de7f4a25004f045a190033bcc5c5cd782723a5705524859cdc9dca3c4c01d561e09656e75c2d9d7b800ff41e936f1f55ae9479e041465f -DIST gcc-13-20260624.tar.xz 84614412 BLAKE2B 84395636773b8d14ac7908e7f9ae64c55ed369c7bef51de788ac8f95cbf17eb925e72f573241e835a44ec2fd39c3299348506042edab78c4b4f82fe32a042c4a SHA512 3509ad10d3c355831964785057ec1a50d5d36fc58cc21b9203ef16bbf0eafa31b7e487dfdb6aa00c750d82420c1a57aacde7424f72855a57cd07840892f0df62 -DIST gcc-13-20260701.tar.xz 84614044 BLAKE2B b5c6a5ec54cd1bce45bad201892d59d9f672403f1b40c580da1cbb32fead817d09bdb674d9fc6ae664e97a8f1480fc635de3174f39608e09cde6e4d7def21d68 SHA512 4fa6cbfad37950f6f9cdecfc2782a570a5f59774adb2a24120049c4a2007730988a1eef80f36f1b0bfee2ebeef754fb30029140c3364089f3d2cd055e74f6462 -DIST gcc-13-20260708.tar.xz 84617648 BLAKE2B 841a0f9806c74d01547c8d8f0e716f9991d81398a7f70279a654bf0079b6d79384974d173cdf927a7d1eeaaa7d3f0665d963ee1c95135bd16b92a4cf98719215 SHA512 b28615b77bdc4839b88775842a7763ba779fc1246adf2afedd6472ebdaed98f15819a7b746d8fbf028e564b8c596418e8593e9d42993ce18d92f15f55d50e4cf -DIST gcc-13-20260715.tar.xz 84621548 BLAKE2B 476965a264994adc359c7340fec5470013d33debea7b2a8b56ebfa01e61967a24a6d950ce9dbca68b558046a676ecb05751b37f7fec42841e1a9ba2fd3032409 SHA512 1979288927926526ef85712b1a4d4172e03204d89ef2f217f12ed69f9fdecd622d248ac68beb7c13392ee1c51857905fa8c56c75c1ca0c3af1802600d22c0e4e -DIST gcc-13-20260722.tar.xz 84613400 BLAKE2B fbef224dffa582641e2b88689be148fd1b471325a7a74979866952f6eac12e8fbe4642b9f2e1a33f95bfc09a5890fead3f61200be69400f524009b622a06c285 SHA512 eefa873d0596c13befaccde28d44dbb6b5ef8c890b6fb7e3a82709307e752d341f6a8d47d9ac25587bd2fefcf12b861823c3c1f50cbffb7dbf5c62a12f8c58dc -DIST gcc-13-20260729.tar.xz 84616896 BLAKE2B 4f93761893446df118b333ebc74a875a8f186be0cc918ccc0b5d939edf370feebb16fc99b5d2ab86ea0ed7122007bf1e28593375ab18154d159dd3cf8afb6b1a SHA512 4ab7853f8132cbe5a099c2589a8eee2b8180ad2edac35d3cccb2ee0cda1d6ff0ae11dc8d0c08fd5a41b6ef2f7c57c6c7325e971a5768274f62ccf623678cfe7a +DIST gcc-13-20260805.tar.xz 84623768 BLAKE2B c1a782650b46f84b4f24a53b941eb2a4c9e75b4c6cb2ff19b122de7409b1adb2b084ef03395e2deb7b97d18f41748be1af90bb96b02afa733aa0f467349d28d1 SHA512 0d33a88464b861554034d3dda2d224b14d2c44f93769c6bf283413b772e5015dc1ff49a43ffb3bbcccf0dd4b3aa5b39cdfad97aa23ebc0d99f2418fbfc31266b +DIST gcc-13-20260812.tar.xz 84623116 BLAKE2B 770fa8f44382f372f832d7abb786bbf5e5ff5597dfe611f33828cbab8c58fdef17177dfe5276f0e4bfe567254500b166ea9b13754e2fe1a2fcd9ef35ed200570 SHA512 a5be79cbbf53b6516f3e4174f18bfa14415a77fa5fb826c1ba58e1f6995d8498fe18faec7afff484dbf28f3487b751bcf9ef245d1304e4e141df17cc90fdec05 +DIST gcc-13-20260819.tar.xz 84617312 BLAKE2B 43ce5c2bc12cf5e72e6bf2d1ed167b407c69f2bd1c357f4a19e7c76d3cdd1aa5f29f11819486533fef0a754d52c7d77d530b15cac188f3862cec32536572a844 SHA512 00553bc019bf30d94d79d79fe2611ad8b7049ab3d2fde03cc41020e2b22a0e243c35b19e070ada6d6b1d687019debe7d1547e339cf5eec4d2589d640743a7428 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 DIST gcc-13.3.0-musl-patches-3.tar.xz 8556 BLAKE2B 6f990c1337c6b52d61a5bfb54c2d17304cd8175470c065dbb81734edf7f6363cae2bc4a515bb941e045b838423cf1f9ad01df375044a6e4696b71da9dba2bc66 SHA512 1bbe4117f0b0dc0dad97fae187559d357872391410b54ae88903cc8a3ec244353b964291efe8e9ba420fd9e43134303b932804afa3450049aa3c30e4d5234123 -DIST gcc-13.3.0-patches-8.tar.xz 57472 BLAKE2B 85976f7313340ce7a2cd9e7fa67e6d69ca377741d435d113148d2b9083ce99ea720ecd0658149300c16a67ef368fcc8893756b86fcce31ba7ca899d509cbb2c9 SHA512 fd70e1309e4c8d321a81be1a228358db00369d1bd3e5d1fc6405c408b95494230cf70004cf1702e8c1e594f028aa35ffa67059f8f91a32699c69ff0de105e06a 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-20260213.tar.xz 88372424 BLAKE2B 7831805a232eb732cba36853849a2b3e7dfc8911a4944ac25e3baea08ed6282b7850a62acd6d13877e23b44f8744e684753c1cb08d2957434a1a602843ad4db2 SHA512 0957d2b63269f43abc59538021b59bfa9971188eb194d2de2ebd50726ee19aa0f2903652d0ed20e240d5df77c308f19365f7c55351b8c35c3f91a3da5d0d73d7 -DIST gcc-14-20260423.tar.xz 88441200 BLAKE2B cc62c52587e1394fc429a48c8638c1a1b709aeb4f26cc419bf38d90d8bd0eb29f44e6630b96a8f4a5d0d30d379fa241126913b46040ef20d4ecce2c58291fc43 SHA512 5057c007502afce1be02770402ce84834e7b219203329a2ae6ff012261b70d7f290f82b91a7b01cec318fc8f36a60c131cf2d05764db00865aca1a1a7e1893ce -DIST gcc-14-20260430.tar.xz 88451772 BLAKE2B aaff1f443acfaca57b7808a43e1728b0ccc16d0be80300bad638733b0daf966fa83a7a98e53bd4cef075356bcb2edba22cee7c4b86c52ba2dbc8b0362cbf2430 SHA512 6547ffe56a41acf388bf205128048f2660dc0c22328782deff5a7a1225073011db4ef6a405b7e6b6d1cc225e87ccdcbf339e68b4118e95e49075b50ee7b77493 -DIST gcc-14-20260507.tar.xz 88459308 BLAKE2B 6715e7f36ed651752640ce16c427f3cc2d3eeef5913a75721071ea84b503673d0703a9613313a34ce9caf6bdafffe83c5c8e99ba97deb2e463254ef787adce23 SHA512 ba88c20dc982e1d16dc08e4a85ad5eb34cb8747330de1beb2b09709cf1409697a58d7c90250bbe0a364a25235a2de36e10203f10dd6ad79c53b9ec994411cb2b -DIST gcc-14-20260514.tar.xz 88462504 BLAKE2B e03286c86d2537dd172ba4f7e611ff69f8830fb323a3c2186070b1a1cf3f989e36c35ccdc4a884550093b14066e7cc2fb2663729a4ad472b380b5e4e1a881d3b SHA512 9ad4e8541fdaf02d7160cd7b1454f4765c3d2a10051a380bb6a9e110f83ee86661693b7b534fbd6d5fa9cb9e72e80db6e17f351177c1cd550d3ab854fea0754e -DIST gcc-14-20260521.tar.xz 88467356 BLAKE2B 049527a1d6770cc85c3e75da1b0299d7494560c9b631b03028aaaff887f926b60b8107deeadb470e08001dfc59b21197792ae5ce1877ad71af45b688a8be5405 SHA512 3c353ca786b36c996ad480f151815bfed5aae2811504091bc2cc88d73556faabdad447ffd0ae7ff3e5ec5654af4ad1be6a06163c40d5a26d641ab546174c8178 -DIST gcc-14-20260528.tar.xz 88521668 BLAKE2B 57465c22db8f3ed5660e8ea74ce5fce2465d81a1c5a06396a9e24cbd97fc9b1f1296eac950ffcd332a41102f954a6fa91dbbefd53ad23fc8a9bdf0f20faac482 SHA512 1654ba45644a14d93cba02ebe8c35a48a2f67d7fee5a3fafe1c8bb19520e017cb54a7e0e8cb4f0d33b81c1a4d25a074cc59ee42b74ebf6ef2ea194ac933ca3e2 DIST gcc-14-20260604.tar.xz 88473776 BLAKE2B 0d022d76185b04d314b05ee0e7906b030df6ca13efa254e5c64e625286af6e361659a359406bc90658b3d3e5379f0408500dda86a0af0aad3df88193ebe736dc SHA512 654e5484fe25986f51a55b12a959fa6c36d3640cbb8f62c63adda3e7222224048ddfd3cb87cac081759e1a2cd3732cdf17af9e6a3948aba227ddd3a4c0c2e72f -DIST gcc-14-20260611.tar.xz 88470760 BLAKE2B b4c70945e290ce5a6eff36161ca0d3678dc809910e02785b9e3ac52664a6cf1ed8a824d3f4820572b77feafdd247d19f3b5aecd82d324bf29f2eb968a6b5e8fd SHA512 a66030357aaf596263386d3d91d686a739e77b6200a3fcbba40accc70049282efbd42a16323dd5c539a21239645c01ad625fd1ab537d8c9fa5b573e38ee59d3d -DIST gcc-14-20260618.tar.xz 88486332 BLAKE2B 51717d015582d4b6e8690abb731681029354c53b8fdf6d8c4ff06d10aaae70ba8d89029c52d10c4e6792e09357378e8691ee96bbc77cdba28f5a12a5b2adefbb SHA512 1edaefad5cb9d76c364208e0b4fae5f3a7ba0583866551b1f48b41893ef4f902746812b8ab53c050e5c429db21c24693d48882b37b3df2881dbb9988e25846fa DIST gcc-14-20260716.tar.xz 88509636 BLAKE2B 1e31c1c969a3ee7184d6e466dc9bf627e67e98f2c61fc4d34a74b02d7128718f7e8d0eb3a178b4e9734665fe93eeccf42e9bf5ba80e62b583044dab93b7939b1 SHA512 c587f5568ae6e8b9089dcb5e4753ad3ef5d807c3c30d329407e6be093e0a0ef26906c8dbc33a5aef20168371c10ded69c067e05acf42696eee45ade981ade321 -DIST gcc-14-20260723.tar.xz 88515920 BLAKE2B 256ee68d45b9bff530ae6d7d19ab5b2419a339a0a7a6deacc7a889c0a0fa0ae3b80a9de8ea4160b47376b1bd088d77c2348206b5781a1759201d9bf539dea927 SHA512 ee56897d9693e4d15574648cb6bec61c48fc9cf3aaf343228e9f9c988e8264b71da471b13591ea4e12092aa32216ce951e6f066226483d51b081048cf6832991 -DIST gcc-14-20260730.tar.xz 88513568 BLAKE2B ac9c12f2d9ebc91c6741cccd0ae4f9844477d16399d67047eb9b2b0ad36b39b4b33ddae321352776dcd76e4d1f7036dc32299ace4c5c7f79ecc7f6011a89b521 SHA512 2f331a7ec8b5facca0b3fd3b833b91db5482c6b0376f3f5f1c76c3afecc731019d354138ee8a94b9fabdb462484467dd044b15e65d7f37c2b4c5d660fed2e69b +DIST gcc-14-20260806.tar.xz 88523444 BLAKE2B d8edd13b6793f89f6f8e36c038cf4ba15b9ab9155d5891e97e8e8ee1753cff26240625f225f7c28f0a5bab3f33c16a6b10203cb6ad0ecf45d47dad299b4eceab SHA512 1476818de65a47b6fd643c3d742db7c57762df468e78ecd85dc1b37b90e736e98a389dfefc45f46adb96227b1fa1197d49e01a0bf926f5e3b29f1c67c61b5c52 +DIST gcc-14-20260813.tar.xz 88525820 BLAKE2B bf960bc625ceecfd0374427f1f2ebad800495380df7aed7c76eed55049be9ff84e1398a17bac3d235e707193eda3bc60f6f4f2718f154757c20ad77edd8892ae SHA512 7b1009064362a493df9839d4b25bca73fa1a77aca3fabc0d696e77c325d4e709d740a89aad4be2da08db41dbd28cc205a0c17a37a4ef79e8cd522a12807789dd +DIST gcc-14-20260820.tar.xz 88526340 BLAKE2B d02ebd7009f02c64769f828c947d5e41e94593456dacdbe172194dd2652b110e011a3d276bc5f3b072f130306b7ed7b809b9b24f87806373c4bb6bf61a150fff SHA512 1351dcdda61885024ae79d8f77f8e3a53ba87981daa543236165693c1edc014c21f68f5a74252e01deab085a4343e70ff16ff88fcccec5a46e14463424c61897 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-14.3.0-patches-6.tar.xz 28148 BLAKE2B ba80a00289da26d3b5a813a9878aae6b34640e5cf8f37431ef846894087096dc84869e120ed17f23062bd2702a8059d73ead3ba28115e9c3bad55f46e7f474ee SHA512 7ee900f327bd92484ffba03ff80827b42ffba75d7527e26e09ea07e6d61622d812e1a00f77f3d669d7bde0366bab43085552d6140b28bc319edab9eb0e9a73f5 -DIST gcc-14.4.0-RC-20260619.tar.xz 95752616 BLAKE2B 0b078a16a880ee3e8ec28855f765af2cbccccb84c928c1f0624017ae0a7f5ba570d58fdd52131def1579e7f1a16a9e618bb9c97e373ec4dc237e8d153550b742 SHA512 8f41695b7961e16636d18ece8c21a7a98104e195b1f99aa1e4c5dbc1ef1891003aea8b8118157329b393c11d16a541dbb20bf715149f1b99f93dd76ef8a826cf DIST gcc-14.4.0.tar.xz 91586872 BLAKE2B 10a512f9f95fcc70a13f4eb2142927277d2e6c0a16bad76f01078dc0d7e5cb6831204f8beec22c83c1ff2d0ed1d9df8c8d0a4118ba657d1aefef2a6f15636a28 SHA512 725ed8bdd43ef1726ffe8b5e8615a13e247fac9575b7626ae013a2975d000ea213212dc414b2f2631ac4785c1c8beca85555222faf9904d3b2fa6a3807a83a15 -DIST gcc-15-20251108.tar.xz 92349104 BLAKE2B 40c890e2d61dd02f20a190c8d82175a1df271bd77a1d7cf1bae296ca47941cd43f672ada0fed0c8b27a65d469aedefd0fccd9282418f28feebff29f0b940ef1a SHA512 cc12ff495ba08d37e719278aac7bd526f53609d6cce1f4b45183ff336b78e26eb97967fe5405f791528d0913378084ad6c596e246a5a85b550b84051e5b3974b -DIST gcc-15-20251122.tar.xz 92364288 BLAKE2B 6c7795992430e3a650f43033b135613c5cd56e4b6e4ff5b121f665dba47c038b4ccc339c50b3e3367e2f6436f5a7cf761bca1cd13dc3d42a50b1f1105b8b1c3c SHA512 0534c9ea6c2684e01d93b32301ed11df4a716637e0d68fae4659730dbfc5e23f3e28c41a6b86b25c1bf8b97816b076abcd24f5c2841516031dbc4473bdf28797 -DIST gcc-15-20260214.tar.xz 92376288 BLAKE2B 36aad1794fa23574501dc27b4ce88cce9aed13f6ee93f9797bd058388d68da1b3f93f5fa4b5dd2f02d99556e15ed1f92e9c6cfa45c9ecba2f9c3130c5ac4afff SHA512 e610aa9142e58ab59b32f7a83f62cf629ce08b41e1fe41ef56cbad72240c0d10dc1e784bb6e34962a03e271d0d8ca6ae95ca67886fa9f229668ad7e514dbc357 -DIST gcc-15-20260424.tar.xz 92415724 BLAKE2B abdbe0ac51bfe436b9f126e4e641bdf1e457ac8c2998822410f523f79c4537bff0d1f15e32464d62babbcbb6b59d3172ea8ff48c6bc3d0881ac03e2dfc818570 SHA512 a952390a357fcd5cd8054bb4cadf9b699f94a985467c77709b20c8d71a76fd6eab8722f1d222f3ed935e00fd33dae93bc559d6270f8bb1a739ddf3bc29a82205 -DIST gcc-15-20260501.tar.xz 92426968 BLAKE2B f8cd3cb703f5d5a945e62b8d888200f498bf9fd16fda0b9154c442f159441a53b94003a5af78b3b1360fafe71799b838c6034198b981a2dee3a833885cc05575 SHA512 c3f01e7777c30281c1c930503ec0f856b5250394818afd6ae8d0c22c8239ab357e9e3b3c62855878f9705b1a58a53d53d5ea0829c429bc13d576ed5b7e4244ff -DIST gcc-15-20260508.tar.xz 92425260 BLAKE2B ef33a59d1b31c4476ae5663b88ef3f1e2b65311cc0e06723c2719308a52c18d6d02d2d294940dc19569c1069f16e73ad190d2518980c5eac012a69797a00b496 SHA512 b41cc456b1a1096da8490ce051834cc81b18fac4b8ac5fc9fa8d7cce69fc8da1b97bf682d1d56ed587f0560e508ed72e2f474c801daabd23b9293b6f164d10f4 -DIST gcc-15-20260515.tar.xz 92432788 BLAKE2B 53d8d3d650a82c5876bd27c0239aa3236d6885f2e5042450bd9075c660b1048c5b6bf4bdd0e3911f9538875fdb6f6ad9dd0d28ff2e62172e0ba4b939a7bb3012 SHA512 b77293c516e1978643c55b34d4e7f80fb1561236baa82c006676dbf13f76c4ec007aca7062a2d73bed54af977550328f01907a67b3302c4f0deab59afde9a00f -DIST gcc-15-20260522.tar.xz 92439160 BLAKE2B d585f05f369d10f93050db58ccbc068979e773ab7456a9e1f93f9ca77d800c5bdfa8083391b037496b537e44dc7debf9606f205afe7b50e62a6f000483f1edd5 SHA512 b1d0ba28a8d17dbb112c05b46c0b1e6eae97ca496ad4440fc9145b5a320d6fa76f80e83da5feeb9e02e1af2d56bb56bf419c5159df2cf5da28d1bc14fe1f027f -DIST gcc-15-20260529.tar.xz 92444808 BLAKE2B 5127b9e5da0536fdd85b9963f17de3457c876f10f105e3a0ba0be3a19359b7182a9d057c0cbc1ba1f43de6ffb8f5bef704f926337b4cfd202f3de89208eaa013 SHA512 c9147bbff5002b875d639337902bf3556bb091b3ee30e9a97f7ca144460caba8d2d21928234ac65740b294100959a927d941b88e8a37e512de07cfec9cdd274a -DIST gcc-15-20260612.tar.xz 92460676 BLAKE2B 15f4f30a1e208c3dec8c10e8dca415d24881efac4bbc99d21b593e29dd89acf35a69d1cb4a5a390d745741d089b7fe04236f6db364a7ae2a6c00f08198ee67cf SHA512 2a689569d22752e848218c64137cd24330c708b6b3bf6ccbb1e65b0cb9b6a59bb822dbf20bda8e318845ebe399862f4e2dad14500f95c812aeb9a63d5debcd5d -DIST gcc-15-20260619.tar.xz 92462900 BLAKE2B 629e2958c836acb163e3d394c236e5d1323b8a4e4829a58bfec8e66775332c3505e8b45e5af67be4f5ee47d3280628c5fd96613bb21f61a686e12e26db0804bf SHA512 0a5423e9617561519b550e6d6a704ad22b6a6fd0f2654c53765803146b9e853a7767e63dfd937cdc2a36629721931054f5b311108d80e0a59ec8c57d3348f40a -DIST gcc-15-20260626.tar.xz 92467392 BLAKE2B 550f3c27ca29390f25930bd457457062bbcc9566371626a0bc80b0ed0d53db0d8d54abc70b53fc825e18e0175588b6b5cdc76607a13ab761aeab663a24a1c6a4 SHA512 b65845148f94a8667bf13bf9a2df471fd5e821dc11b78fc9020e541b63f891f18c782fdd2f933b7006621c76de58e60cb86077bea72bf02f660353ec5565210a -DIST gcc-15-20260703.tar.xz 92460800 BLAKE2B 861549f8c17d79f9613e85ae455989e1ec96aa7d8da872e88254c70193fa2ab26918918ae8a290a5aa8986a55f1d91b3854fee308c5a8c86b960204ff750fbd5 SHA512 0a6889326713c1bac4486512f0d34ac6576293810ab5dd6678766185889e8f55c1af841dca5b3240e89c7aa3421be1fdccfcaf3f20ca58fbbfcf1bd25c958d9c -DIST gcc-15-20260710.tar.xz 92477556 BLAKE2B 2517f39cc25e43ef36ed6de251ecdadf93a604f1de3f95f4fbf26eee8d52f13581e8065890a86a851227dac0709ea5250b4fd1830b64e8ca4110f13ba055c3a2 SHA512 45609630f6207327d7dc5a7e076b6105afb67a4bfa03ee17e392ae14fecb674cb530fe5068f8023f8a5569110fa4ca734d14d7490c11b28e838ba66be33053ae DIST gcc-15-20260717.tar.xz 92482140 BLAKE2B ae84ad42a0f5a35a36c362340298c94c8e8a64c7695102bb3a29b394527033186bf3599323ae8b1a478e215806cee702bfa48740421c504eefbafacbe74d2086 SHA512 91aaf673637458ebf73df2b1d87c21c9cbf432211b98e6dff965ae0f073f2ea8be8921a9828711fb6c10b9b3ec2e20213d118a05c08f31b8192ab291b448375d -DIST gcc-15-20260724.tar.xz 92484484 BLAKE2B 5d4803dbf9123408e941f923318b1d9a3a398194113556f87bac9a7b417cba2dec16307b5448bdea91b447000ee860fcb90ac9323465512494ce8c72d179af7b SHA512 4119a5b2eb8312f666dc31946c57f51e308f573f39860ac5db950cc4886920212519f1b4cc9beef588a29d6f6842b60b29f529925fe2014bdd92d8593187ae0c DIST gcc-15-20260731.tar.xz 92483472 BLAKE2B f4ed7d848417e02c22386209998048f1b89a6278af04546e217febb31199cde2f6df976942f9fc5bbe0999eff887c704a9187e55526c530be1b2d074fffe3ee9 SHA512 67c857097a52ff4654f21e0affeb075d22cca23702a12083b82850983bf7218c6e05b89ec53345dd104f85bed5dd5aa4a535b2d3f21cb07749ea2bd4f8bfb153 +DIST gcc-15-20260814.tar.xz 92494796 BLAKE2B 7e8e4ccd1f4d71387d72b7100cda115e8a067ff3e88f883d8b8df18546cb01b36b7d118fb89f3163769e4774e4bfe31754b410aef4ff3545fa64817b82c87e24 SHA512 2f8d5f189f9a4725197ec8906ec0f3c515023e6224c29369d098f1102d6ac0899d8fbaff346891f1299eef90ef13206eeff5fb06f40af284db18531f02cee9a6 +DIST gcc-15-20260821.tar.xz 92491084 BLAKE2B da19130fa2cab934c120406cba85e135cb1909f1be2c05a5b846b3997f1bf368858521cd8a4bfc0380013bca3196bbaac53c066aa69e26513a45b552e8639096 SHA512 e229f0245dac155c7fb93611d0b077c104c0c82993ea30cb36940ad973130a230f2206075e1da2e583a9df6cfc85315adbfffa341c35e357b1e0649947371892 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-4.tar.xz 19912 BLAKE2B 255d6435fe5b205d23d04eb885c55b421b1e6ffc30623fad5fe8a4cee5582f210e9851165b0976629d7e49288366a14635acdf1ad70f6d2fe288bdf88a9416a5 SHA512 f36c0a1e8abbb25cebfd93965950c072f33d8dbbc0be285e8e374a3602fe7e7cae3dfe44f24856d2231bcbfb40fe0c1de3b629e2f573d97f82212a7acf52ccc8 -DIST gcc-15.2.0-patches-5.tar.xz 17460 BLAKE2B 66a813306de7b83da88fd293536f7795fd85c1d9dc5e442c64ab7f9098a7bc3aa4eb1eb27ef16f2fe6f14e3da12ded92a7b3e8aa9cdb449753e31d3546f0907c SHA512 68748f853a9ea7ee50c957c3f31c61ac52235b952f8ecb4dee35ac6f0563c088a733041468961d83ec0a27d5ad3a88c85d38513cbd6a365f38abfa48976387bc -DIST gcc-15.2.0-patches-6.tar.xz 18324 BLAKE2B 876697050a872133d4deac7005c65c1dcc2ec8f153f4c3455dfd26758ad2ff8e8e860e0b27d224110caa9160bb05376cde147013cca2ed3d2009c64295add557 SHA512 cfe83511b9e212e0201c8b2ff2cbc1fad4344300d6e80018cbb17c5d1720ba67c7c253d8c739c4359c69a96b7594fca0dbc8de324ef213b263dbeeacdda1d105 -DIST gcc-15.2.0-patches-7.tar.xz 18396 BLAKE2B 2874678100433d899646a29d6b985fa48f0a19a73036103f8047c252bc1dd3f1df0d5c09bf1f97adfb2866c34a8e7ca6977909b5b4551b67a38eb45bf66afa95 SHA512 92a7579a134857e3bf3feae33c7dfdfe269f58dbe0013860a0249c0b26052b34ff92cb7cb23bb99719a4eaa6f52385f33e80f4abc2a49ab9cef2f3363352cbca DIST gcc-15.2.0-patches-8.tar.xz 17584 BLAKE2B e35d85b993fc2ad86924158cac893a815f70332335ed02d970bcdf89c1ceafc2972576bcd85b4912e6ada91bdd80e8f10cbc6be798c804438368bae60abe2731 SHA512 6440a792320037b746ba405469773b96c1d4272c5248ae3808e6d8a2d576564c0f52889a6f88c3271233c8c2fe7ecb974d31ced2141f16f2c5ca68b9e47ace8c -DIST gcc-15.3.0-RC-20260605.tar.xz 101375752 BLAKE2B 607ea9833e704aa3b31a2639706b09e85d4bf505f076812865761d6cee933d59dfac5fa2f033f2b9bf11d8f62030062de063d09959c3b387f4f2e0682454a506 SHA512 a90517e09b03ab69bf7cb1968434cb574e7ffcce25b8fd9ae2e7e067e127a07524c684c3802e3caca2989a5f179dadb6cea69bfd8d860811dd6d770a92f9817e DIST gcc-15.3.0.tar.xz 101253696 BLAKE2B 9e37d6560addf936b8dae6f34a2621004e888b1436c9b95d6a09c2a792f909c7ec4aa5e8d0e63baa1be742fd8dc8162b366b5c48766fc83e44b3842891af44df SHA512 0de9e296153b52c021b1c7e63c9c62151d7a0ac03f23ce6e9f772c1b0eb783f6acdd81cc4567bfe4128a6f64968c2cfc8eff40b36229cba7425349f7d637c654 -DIST gcc-16-20260502.tar.xz 98912088 BLAKE2B d4b953ef6606fa8d3b69d474eb3c223809924869b9c562d39ad37759fa00468885b06a707b1479e38b15cbd8ca13dd8cc27b65ffceb53dd41b78cadf35ea3b6d SHA512 6beb4f6c7169c87ebc4a51c268b8c7fcbb07e96edfc674fc72afdc3dd605b4e44c05b2fdfc86963ffeb8346a64973630e456bdc91d0a5b42a11144cb2dbe2d18 -DIST gcc-16-20260509.tar.xz 98914656 BLAKE2B c7a6087ba990f50cab066c006f7c55c5249b01e162f066ada3f9dd92bc3adaa85af2d5f2baa197dc7ea454aa4af411cfccd3d22e526dd24e27af77cdbbc920a6 SHA512 01c948f971687e2a5531b53f216dbf29c39634705f2e1c569e65c6b6e25691c4cfc45f84af8d71dcdafd4d4f909e3f8791d35b16064185a4d33da489e30bc088 -DIST gcc-16-20260516.tar.xz 98915364 BLAKE2B 6515ec0d002d169972aa583209cd816658a33b8bdad2ded7edfbe28d19b1c51d93090ce43469d909894a29e628371be04eddb611c9264013e3bc754f807d756a SHA512 bf1677cc3576e9a1bde36b48d8f21d85df328c28e3b912d37ad5ece56fafa4aca56d82cd0487e1f8e8162c9edb28cd12e5025c040b7d8f46948b3d2de3c30bcd -DIST gcc-16-20260523.tar.xz 98921832 BLAKE2B 04c6e5639a27f61913ba7771d54c6d581af637838d6ff667297ff98870c1f262bf9f15a9c885cd22139a2c0182a5d7343612c1113b4992acef9814e3fccb54e3 SHA512 311f073a51c71b5cf49f8a7012371203e1669d9e1e7cb63ba8879662b130e88f24a87827669d96fa6caa224861acf82ed728be547af9296920dbca30498630d7 -DIST gcc-16-20260530.tar.xz 98931912 BLAKE2B 1564a846116739b12eb0175e6e06af175734540ab27a65c46eb95ca1f83c9316629f9cf18c441421837a035d767bf2d861a7c403bfe6c130f498260b5548ea8f SHA512 94c10f416c8a5e9e02be1efe9d6e86ab0cbd020e17db16ae2589bb9de7dc776e17c321d2ff5dd0cdd4ce5d1d1895afc9528ffdda76fd0242744e7807eee093f2 -DIST gcc-16-20260606.tar.xz 98933420 BLAKE2B 67bb9d27dd868677109d65218e8accf7aa33007941eedf8192e8ab251730e90ecc91345c1ddf3b76d5b50cb6328af0047d3a1598ec365fc4b7ee56d1df971d6d SHA512 6fc9ed0659a5c9d890c8c726b10ac14a6f0f84764dc2894fa30525962c93fd6ea3d33d41e8b40dd21e1f8ffb201e665b1e84179f826e6bfdb99df280f1e892bf -DIST gcc-16-20260613.tar.xz 98960356 BLAKE2B a22c685da2cf7a2cfd1ff268d5368d03de8c26141f9d27d43aa926a8702e12cbc3fd6e755bdd3dc383d12360a001ed14aebcdb8e87b7197638991075a607198c SHA512 24a3c58f86754916ccef3294a68ed5d30a3bcedba95e1ae6da3abafd1356128a6e29447eebfb500b6184a6f7ee5c66eb913698aeefa4a11b6b43f0720ab3e6cf -DIST gcc-16-20260620.tar.xz 98961572 BLAKE2B 304dd54ac6e89cb6bf45a24b2f94b95d94c04fb0ed63b412a52006f3c8640708624b29a74d44762182101d450ca74bb06859c40c5ddcb23c6d030390e08e6ecc SHA512 b619ffdc646d2398b81b53cd471bac7e933432d481eb4e238e84884e76fc195c6615591df425d85565a3159e5229a882743616d4051762cdc2e33d616ee436c5 -DIST gcc-16-20260627.tar.xz 98980236 BLAKE2B 48c1a93aa5bc19b8253a434e5d618cc90c8d43792ad1c5389b8594fa8510a1d328f82d94d3ebe75d18c4affeee39747c99ab5793a1cfb94b0c6c5f5ebece3e52 SHA512 2ce38e78a78fd9cd5d136c1013cf6b91d06a5572521145824442abe3ff0a738f46f9944a520f67fc9b6d7e5ab9c6a5c6c0660a9861c8fd8386b8f65ac1fa994c -DIST gcc-16-20260704.tar.xz 98986144 BLAKE2B b076e3ead68d27af90c9154c3b0e56fbb6fa07cf7d6d951ae56bec32071487a156c7cbf26bf56a0c29cd3292dbda51b338bcd58f80438d39e08f252effe9afac SHA512 c3501b4a21c4de8dd6cb28b03cb42e9f6d167491ef39f8957d8995e14c4608fa7de9fe3c4ed9fbc0ad169fb24e2d40fdec1e6689c2abf0bc1e57126e1025ec26 -DIST gcc-16-20260711.tar.xz 98998588 BLAKE2B 43a6fc591a66a240ec31f301eb5f38bf851e53750a720360f413fdb626ba74c56d5f9c949341d5320b6524003cfae6a712f063664a61da55f1bd968653a56fad SHA512 20b287bf06e263675c8f9bea7ae65432d375ab2005ebcdd7373d60b22ba87b3dfb7808f19167e251ad2c0fbf4d9d21ee1c8cb3736b3b349cbb2f98a25bf921b0 -DIST gcc-16-20260718.tar.xz 99011700 BLAKE2B 727ad34ae3f964ad86edd072c159cbb5201efd0cb5996cd515895e1f024a44572090e6595a1082509244b5a7fc4faf3bd75eee07883246905fbb66b9d6effa02 SHA512 b621bd5a602468576cbd563fec4a1a2f1b71e89a9f248403d3dd92d8d1c3d7e6439e93eed912d78f71b9ca0e3acff7f786ecb62d9560ba837dcaaddc6b38d946 -DIST gcc-16-20260725.tar.xz 99059320 BLAKE2B a7573939ff5e0f57cebfd3a570622a9c4f0c55834b1d7be2d6d85b0afe94a5431a51aaae041016464252b03dac04dbae3089968571b51567133da00aac136fbe SHA512 16d82c8f3d4d644d63c34120d101b54f6dc421efd2111deacd25b08252f1154b29bf8a0b52c4d57d816a05f9ab1d7293aab54bf5e8840fd2b49ccb009fad9974 +DIST gcc-16-20260808.tar.xz 99127060 BLAKE2B e2451ae29049179fe8cf60b39cd66c1381787cb41328cbad88e3a1cbd3f2caf3a5eed3979b6757c9cc6a7d943f075bffedf6418e934c4482a4ce8fb5a72e5e29 SHA512 20d9469d115f328d9e45d44c59b64ccdc50c6d26447978f93df99c5700454be3503d225562e07d14504ca096b75426907b83e33525f844e99e50e1b4f2bac84c +DIST gcc-16-20260815.tar.xz 99086124 BLAKE2B a6654163cdaacf17987844eb5887aafe3ed11bac88327cc785898b00c084243d0aff995879f0d10d3eedf5efdb33c495ce7ceb162d9348bab2acc72ac96fa78a SHA512 538607b769cb2166c61179e76178a5f9af1b6690bd446d99d77bfab3123e22f892e9d4f92890f2e620f1f0a226e464c3dd587f78e13f67c478a62ee41f15c890 +DIST gcc-16-20260822.tar.xz 99099752 BLAKE2B c9769a7748868de74a8e50e5a4d0ee359eac7b3ee4dfcf7a6e470353b5aad0447ec4edc9da9ba14791b6a9cfc2a4085af52cee6fa97f50c6e4a8f5b0a5b98287 SHA512 4b6d2f69d97155fd4f78fcf45051d2ec15001bdcad15af686890a27371e8f3cbe3072a9a45313caa4c10a12b2aa06d4db5cf3bcd1ba89dda9521d4348ab44522 DIST gcc-16.1.0-musl-patches-1.tar.xz 3036 BLAKE2B 348d0233c92e6b269011342a170989bb6375ff267b6ecfc00aafab2f793b925f1cccd654f438a4f88168a7999cab965aadfb6dfc9957a9b1a5bca62c326e0b84 SHA512 dc9c2d4a6e9088ad245039a962333ecba8476288844c686e7df9c867c8018451fccbd645a5690d554ee39809e6467285b3c619553edfed379c5f84c003bcb7e5 -DIST gcc-16.1.0-patches-1.tar.xz 25128 BLAKE2B 487f8e1f204b8218ae54ef093fd3b99dd94a24e0fdc22ac37182b28e382e5601edc85e9af5c8374e76a576c8e8280cb84603e6f60bfb645a2adff5ee8e2e0070 SHA512 f5b4aefa101cef70c6bd78c689e90b0a30db14718ae2ff01827fe13af793f812616f16cc705fa333676f31025f3e840e243ef52851d32278b86d8b515589a2d9 -DIST gcc-16.1.0-patches-2.tar.xz 26584 BLAKE2B 3597414aa1bedace5444834778bb666fc3372f3703975d5bc4656a792dbe498a76be582254bb3400f157cfcce2925c117d19595380fa2ffb6dab1e6f0d36ad57 SHA512 480a457b8944df5dd189c912d76457d650c348bce161465fd6031dd7c2803f8f9b26ef31b4ae8a8770c88eaa9c59a42c06ee1be3e1c8ec718974dda8b38a84ad DIST gcc-16.1.0-patches-3.tar.xz 25156 BLAKE2B 874afd3239c0794082568738c837786fff71ad48c24677c11110630fc6e0c0baf17720aec53dc7cd6580102a3a3b7daa2b78c82488f758af8afcb6cd5621ee25 SHA512 dbead66ac0899e2833e88cd7a95b12d2f2dd1379ec3cc085701efd7f8e446feff4d6c00f1481026bb9c699487a143f6a429a8f95ad7228f8bbef5faf2d1b5a5e -DIST gcc-16.1.0.tar.xz 102456900 BLAKE2B ceb07866b6b17eb4c69a6b51241b275bc5ec506603a7c1a4c1e2585091a09fc647be945beeff76700bffd9018bda81b072d84f909fd7998baa0cfe3f0eb550b4 SHA512 b3454958891ab47e1e5b6cb9396c0ad3b04f32fe2a7bf1153a143f21013fdb6b295ca94c98964698a688e4c1d7555ffd8ffbc20187507cce6b1c32cbcc09897a -DIST gcc-16.2.0-RC-20260731.tar.xz 102640936 BLAKE2B f737ebd3e6a1991a1346ebaabde753bdb7e27d467a4749874139e704495a2fbc090db9cb0a5bbb0a53f13d82fc9e4ed26e8087549c9e643717d2a057a0aac903 SHA512 c87a7ce2bceeafc351f9c9158c02782babc78afd42d122d0c51fe397000a04a2a15f7ddec10ca8f68368828330684844322cb1347ab22ce79db862e01f1e56c2 -DIST gcc-17-20260426.tar.xz 98950460 BLAKE2B 05e078c2e71ae5877172d1940ca150e4bfccda156acab2594f8794cef99e25d161965c32827c7f720ffd193d25e41d31632dc36920f4fcece8a66b01eb136184 SHA512 a51cdd6ab718c545aa6a85594f4d92defdf87eee914f37c5556cbdbaae52c1683b8a106c0d22eb3ba4b5f1a1ebddcf5c9d9a3182f6c71b796b95276cf7c7cf41 -DIST gcc-17-20260503.tar.xz 98970580 BLAKE2B 5b2046d78d8519fa0e29e61731bfba80c1a3108e8b981afa2c98362bcb5a525113c3fa3b168c8244e3dc65f99c5f445b675fc2de1c51039ed994667f88e73449 SHA512 18c1257fe9012c43a3d6121a9cc1244fb0b42b3951a136e34a58741e4aa71a9ed0c11014ca3e5ccc1cc81c22eb07bf134b25c072a7da470238306d3d36d6dcb2 -DIST gcc-17-20260510.tar.xz 98978656 BLAKE2B e5b26081251772e47819c7848c834a2b1e3ad3421bac0e407b7abe6d30635c394c49a04f845b53622b2833e5941b853e2985a395c50152b9aa076aacbf0da278 SHA512 79748b2df412adfe5578a24d4698a17cd505d532b520b2bad0fde1cf8d21b7593958f565de289d301fa322002edc1a506b19076c84c65e3f1afd65d1d3c96f2b -DIST gcc-17-20260517.tar.xz 99029888 BLAKE2B 461d73eae5752ddc56beb0aa1b765c355bf52779780af6944f4505b85d687b7ecf94cb805279f0e20368a25d74cb850b285ba4bd8c3b9940d97a4ffbfa7196a2 SHA512 43da20698110c50207307bef89518e0225b090615a80fa4def0f17d26b9ae94c5f70cf05299d8517710065b91daf6f61ee433637671ae2971ee82feab12517b9 -DIST gcc-17-20260524.tar.xz 99113748 BLAKE2B ecb39c8dd44292f280457f3940cfb8e522f394593db4f760f9e7e26889f6b5344a559169e37abd910c6179584645183faf98cd8df7a7cb02379b125c91ab3aeb SHA512 587f92bfe5c601297e47f6b5bafdc75dfec0d0221c5a0096e458f3efbf5386bb10631992ac292462e95500470319f4a406eeefab4387789d8e98ad32281d9e30 -DIST gcc-17-20260531.tar.xz 99240952 BLAKE2B 477fe1d744aa43fd381026bf1de425c160cf3d22ab71fe8aef6fb88d27084d029c1c52e2713ebd455ed1393ecf143c14970dc7fba4cad9e3e66af0a56c50e2c5 SHA512 931873ae1feeb61704516f50fbf6dc26cd2e57a62368aa5c5fb0ea88a32660acf178e13a181e7f90554a88b82363a36539c243fb986e2d441a79e2a826570778 -DIST gcc-17-20260607.tar.xz 99304736 BLAKE2B 317a174ffab74c31c093bf834b60691b8653c90a8aec5de30542e59ab44139806c59b90c338dfc7363a52e2a4498e57e67503c26832b41e322b5290808ac2814 SHA512 8278ff69d6b1e4a7a42078f47784b0316decb257e0c986c2c66a405ced32addb8a712267d4262ee5ea10625c1a25ac1f760e1275942909f3adaeb8f7330d1205 -DIST gcc-17-20260614.tar.xz 99351908 BLAKE2B 6a18901b48fd8f6343ee80c329514a0d248923d938102cd697704e15ae66f65e21945ff3b14ef69282c0660b262dd2dc0912fcd12aa20936187ea5e43844c2cd SHA512 d1ffa22d51106bc5d6281a1c1eae8e35906740cc533a9db037a54ae07af060b8335f4e1106a8283a948b998fdd2d73c5179eeaa446f8c3c0f1f259dfaf0d2f10 -DIST gcc-17-20260621.tar.xz 99395408 BLAKE2B 3e42539dd691e10a1f58309aadcc676e8260fd37b1d4145c80d00e132a05739014db8a199f437b915d78b66ec670644e3ce18e4ef3cbec6a1e170bd72e0f8fa7 SHA512 d90233846b8bf6710124ff386f83f3432a82dfb1dd2d5b5afcf04491a5610b98fa15d57360dc7efdf083fe5a365f8307f16af86fd966a62b6d4605fb3d9640e8 -DIST gcc-17-20260628.tar.xz 99479040 BLAKE2B 0cc20cccf6acd0efbabc0e7a2282bb694af39d1c9c5747d1fd129f06fb0a334789e7f8819473fed2da953303aad877212633d98d3ce031e3979be357b883246d SHA512 eb728e8bba41e7dec2eb833657e1a69da484a3db03043dbee50fa4730a8aa6b1b1c41d1b204d05135b249b4b84e8c4482fdc4aa0f09897cbb5df5bb918792a51 -DIST gcc-17-20260705.tar.xz 99562960 BLAKE2B 940a4601a98682bf268e8f992991866629749bb6ec3613c708c2cbb48829b0315ee7f8bdcb0de34398ba7d3a4a89ea5a538641c145523bda444e36ceed55d673 SHA512 2b76d0549aa6184d75e0cb9ab58210141ed920804eaad28642c8e5423063c1a0295115ee3df9488352b1051e0c01775ac021c8d85d2669b8c2653de598334dd1 -DIST gcc-17-20260712.tar.xz 99644004 BLAKE2B 44ec1406c4a244680784f5b0b58680fa46e15c4f6d91b5222d38a24a45c8e8e26df8cec431183a42b94b2b775ac5e680219dfe8e8ff70d56bab9446582bdc9e7 SHA512 805fdb8def2362c9cc87087c86d2a144076371cf3f2da0bfe9ccb2cfcd7b04f40db36869972476bf936213e6eb4aa1a45a2248175a3d717308490f74941171cd -DIST gcc-17-20260719.tar.xz 99705072 BLAKE2B 1b1df12903d2764a55bbaf84e124049102ede274669af17092614670aa1dc74646e60521b1c6dcf13fd4d2979605d02e26b1ff711048cd3727e45d22dfdc694a SHA512 2c102293aeaaa13b046d0f68e6b6ba98b6e1fcf2540437e2dfbb3d07b2b44ab3d7f2b6cfea2a96fbed5cfd28b2aa285bfcb202dc996cbb524255bcf84b098fbc -DIST gcc-17-20260726.tar.xz 99770080 BLAKE2B 2c3f137cf3a01c57f879a0e84d45815e271cce13d6f043ad5ae12281d4b30d4c5ab6a86a42133683ed2a4ff09250b16846d0f6484880f78fd1b7b9d902231c70 SHA512 6a503ca0cdd5fd6eedfd28ef408581dabefeb603b1e5ec472c99e4b6152af1cb5c23524b27f2503369554f127578f0119d38cb7095ba375ab26ac86be6397dd9 -DIST gcc-17-20260802.tar.xz 99815476 BLAKE2B dd1d418beb491129a6ffcdfadd719596cee93508132469daacb8648716d2a96ba4bf40de4bd7b8858ccad039004c7b19562a498845a57192a0e10b8878f6c0ee SHA512 432d2a371b0be75fe6f10473d8d85544dc997ec74b70bba01a7351bee82fd42d68d5818b6b9f5e83cb26782a9873da0e3d0a75d31f1b907bd9efbb728b989e7c +DIST gcc-16.2.0-musl-patches-1.tar.xz 3036 BLAKE2B 8545e2499a8af4af9483e0372f253db13ee296c77e8514d409c9a43a2fd8919bdca4791c2747579fc57c62b08c0e4054314b7511ddc921074a60ab9f192e7983 SHA512 d029857ffeae60fa5577dddc0136f04ceadf77a282a3ebda9dda1da67a17301978028aa6d768f46f4b0fa9778f5e8f0052a731d087fb4b841a4f30244ee41fec +DIST gcc-16.2.0-patches-1.tar.xz 22984 BLAKE2B 2d069def99de0c3f1f2d47e5fa9cb6669825588f63f181a9c06af43e77fbf5c8a69b1ab26ae1d236ec030141a7bcb1789266d95845cc879e2765c523f560c266 SHA512 121cabc9a2d0249fb8b3b11185fee4c7f2466b2b460ff7ac0722aec185ba4afb23470cc7592adc2e73bb5f4a6f44ae0155b038b47b18961ecc669f223b1f4f3a +DIST gcc-16.2.0.tar.xz 107200820 BLAKE2B ab3ffe16e042da767f3f1eac170da518d6d7de3b0f92e068f79e3bf25fdc0bdf56eea0cd586bd4b9b6e9baebadd110c2ebd77b75c99c45853814f4bea5a98ef0 SHA512 c51c30ca7422d0cbecf504b2e0f33c3aca31e0f90a76b65217f465163fa6fa17b3f5de39e145c47e5bab90ac0ce7fff3b03c8d553ae36e01faaea5a50f8648d1 +DIST gcc-17-20260809.tar.xz 99926544 BLAKE2B e566d4bcce8ee2e1a206e02292cc92f7f20c6a3f6a73a20aa42925e03507dbd03e71f817a5a4e5e019b4ad65399096ec5486a67a7b428afa2f9281c3a67a3cd5 SHA512 a562022f7192b4d026541f724fe20761a0e20087e983868e2020846e9cc0e74fb764670b2b0640098c0c347000d93d752a06bd7e4074aad665bf093d9028e168 +DIST gcc-17-20260816.tar.xz 100050972 BLAKE2B 19d8898c50160a07c3277c1a20ff427ba00ae25a986a18021f53a8a1b36ee56c1a9a244168238b9c7db62760f5f9565d0abed091010a89dcae243aa8cceaaaf7 SHA512 503b1936dfd7927d8141d35dfbc40f02723c0c56cabc95b8031666408f5e099c9037fbe6c9374961275d72675fccb4b0ec5247c20200fd4dac46a9d4c939648b +DIST gcc-17-20260823.tar.xz 100144396 BLAKE2B 267a87122c33f37186a40681dc7ec1386d4ad194fd2fd53ade4584bad6920b375a5be3e9008ee9b9333be7386ce2ea44d2e93363fc57c0a692a8e6dc189d5078 SHA512 ef6e5e50dfae128ca1e007b6aed0d3e8d7e8ebd96610181d565d2ffc6998ca0be9e844e17baefe7aeaa2fcc3f347bf13ecaa8c6cf02547d9dfa28e31457ed9df DIST gcc-17.0.0-musl-patches-1.tar.xz 3040 BLAKE2B cc39906facd9c395bae9f87c67124066b8081521df39857d752f1e398dca5113240d24a836ca0f793313f954d6c38ff39961bf71a8036a1d5bc62751e71eb7c9 SHA512 4e330ee1c87229ba30644ad7a6841683aba368ce00585b5a7af433f215e248534a8d81f6f95fcf7b348c7d9aeaf1eeae015d76601e3d918a0ca39d94ed7e521c -DIST gcc-17.0.0-patches-1.tar.xz 25196 BLAKE2B 7db76cfcc56556489c5c0698bad9d8f8f41d57f81ee439c7dc57add47858226fc37e8818e1644be69eff7322d4823b28571784dc0166624c866868b92c9f6e42 SHA512 9349836f0578d121b2b824c91f6ec18e5df3c4fc811f9b5e118e0ee957f9983cb2ff3b8b254b5dd912b5b1113259a3e2ac5e7b06c7c121ba9ca964c89a73bfa0 DIST gcc-17.0.0-patches-10.tar.xz 23180 BLAKE2B d0a6bcd57675fbd6090341896f0b8427f04ae1a19c1eba37109de08d474cc857283ea9a64e751710d8266e976c07e07f534b55a6c8b683fa7afb3810b2551f9f SHA512 5e7fb665b2468cd8bc68e573a3e883ed70d4f5688d416fd1c471e2441bad95b6117ebdd433b49c8fbc34c937bc291dc1bcc5f99e1913b611d8833445b2d816d1 -DIST gcc-17.0.0-patches-2.tar.xz 25148 BLAKE2B 0d1358c7cca8ed3779d0b618160fa31105dd1a84f0b84f351edaf0095e5e72cc59e204b70f843a7c327c4ea8a243c2ddfddfefc61ce1b1bc6275855cf84f4abc SHA512 80bc3b6369a602b4705f8ae658962c5ab23e3e93bcb91fa551ca9e180e3a8cdea534190d21702313a4bf8bbdbf26c6984eee53ee3c5a346ce4cee549b376f1ca -DIST gcc-17.0.0-patches-3.tar.xz 27364 BLAKE2B e7c039dbfb942f5f61b7faed8cd0fd31d52ae27ba256da98722eea8af5d692702faf1419e79d7c34e6d462cb7f4b3dd64ca47e4cd2527209ebbbbc4be819e1fa SHA512 e1ec00b76407aaf640f8b06d626ee85074fed1e936c14ee48f177796f4fd0100aa2e372e31181c84d7feea0c5b1e5a08e9619d572090196e5d1462bdba619450 -DIST gcc-17.0.0-patches-4.tar.xz 26632 BLAKE2B 69b491f3b1be38c9d0c72510b9f31a12cc8149f3d7125897095ebeafadc2a99596287a38fd8206af85b49831b336bab7e96920a56a44071d4834dd9aa4297975 SHA512 3c983d9df9a308fdc442b5453c3dd66f27fa731afd4dedc906e0841c23cd8e6f9b8c1ae5de5ac3466e5e0ea923cc6df0af46893ea7dce78135b74c494a0fecca -DIST gcc-17.0.0-patches-5.tar.xz 25200 BLAKE2B 124da5329e07cd67d8c2e5579f5a72d635a83d5a86ba4d6bf02d034f21fd0fbe7635690fc8f73b8e593825c7347bdf24d3300def57a655d243211f8846bcf295 SHA512 c8ed604795576af916255c7df5432ac7b971ec193d259d92400b5a875f533f2f1799dde6790f90c4f01fa245de5984390e9d0ed737dd5a32530fbafd4e7371af -DIST gcc-17.0.0-patches-6.tar.xz 25608 BLAKE2B 672a829ef647d74382a010869db6b9af970c303901dd3317ad2f5d1e7344a03d902493bf66ddeb5409b598c7257f48786dfa88f96a9605d2f046cffefd1c7d30 SHA512 877275e8340773eb8487ea84735385c8ee031fc7a830c3f886e6fd569e7357902f19bc441cf10972fa21206a3f888dc5f934753325c2d7189619353970af176f -DIST gcc-17.0.0-patches-7.tar.xz 26284 BLAKE2B 11d4dded358bcd398db800bbbda73846e36b947c48a2ace9529608c163408d174c5395a816d669bdd89e86bd09c99b5c0a5e4e79b5780ce4a027dbd1f91ad108 SHA512 fb86f4d272ad672d0676a93a747554dcfdc175428b4606698197be396cd7aa5991331097bdc7a94abbfbb75f2f69d30da3d078f6a35db082b539033b7371b676 -DIST gcc-17.0.0-patches-8.tar.xz 26544 BLAKE2B c8bb2f2e8110dac17ea5a7670866d6a891b148a940c76e4adb5418e2837585f78f907ae5a8733930a6c55f7a4d92c8b2305d02dc897c9dd17d5971fc01762651 SHA512 f4dd5496afc93afb4b3ba52818106a4a69ef52ce22e2828e025be046cdc5f261017f8d86d4097a9e53c9da8c9e6a8e298c9519c75927713e757411b808e182d4 -DIST gcc-17.0.0-patches-9.tar.xz 24432 BLAKE2B 932c813fefda243ec39d1024c1efb6d4ee678392de77aa025f96c8f8266d2efa3d66439404dcd35aca0afc7d86ed6f05795a2ac35f49be2deebda56402290e59 SHA512 84138cb04a53d308c03751bc4929082ff00c38e8b4ba5f5a353b636deb695704106bc226d47f1d4bc77001585285995b854ab6f2c56e4460e6329e1a2d041c9c +DIST gcc-17.0.0-patches-12.tar.xz 49824 BLAKE2B 4731763b8283fa9d503d4c67485a4e4305e8aaec564573a0db953f7f1a894c51b98855a8c2c727fe78fd3ede34dbbdc2018c431caa2a589ac810181ff72f67dc SHA512 84f696c4df21c605d92368a586b5e52cf70daa646d374405697004b7e31b5e5902c7024bbae05a24af4cdfc128764801650b72f37fd3af93afaff8305a412d6d 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/files/0001-path-solver-only-compute-ranges-at-the-current-path-.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0001-path-solver-only-compute-ranges-at-the-current-path-.patch new file mode 100644 index 00000000000..10acbecfcf9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0001-path-solver-only-compute-ranges-at-the-current-path-.patch @@ -0,0 +1,65 @@ +From 0ebadbad7c92133c467f7aed6f3c16a9e3b55774 Mon Sep 17 00:00:00 2001 +Message-ID: <0ebadbad7c92133c467f7aed6f3c16a9e3b55774.1787205067.git.sam@gentoo.org> +From: Aldy Hernandez +Date: Mon, 17 Aug 2026 14:53:24 +0000 +Subject: [PATCH] path solver: only compute ranges at the current path position + [PR126876] + +Since r17-3298 the path ranger can become the current query while +fold_using_range folds a statement, so match.pd simplifications can +query with a context statement that can be from an arbitrary block on +the path. The solver's positional machinery is only meaningful at the +block the walk is currently at. + +Only compute ranges at the current path position otherwise fall back +to the global range. Assert the positional invariant in +range_defined_in_block, which I verified holds by testing the assert +on a tree before r17-3298. + +Tested on ppc64le Linux. + + PR tree-optimization/126876 + +gcc/ChangeLog: + + * gimple-range-path.cc + (path_range_query::internal_range_of_expr): Only call + range_defined_in_block at the current path position. + (path_range_query::range_defined_in_block): Assert the current + path position. +--- + gcc/gimple-range-path.cc | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/gcc/gimple-range-path.cc b/gcc/gimple-range-path.cc +index 467e321b8ded..54c8a04b486f 100644 +--- a/gcc/gimple-range-path.cc ++++ b/gcc/gimple-range-path.cc +@@ -156,7 +156,12 @@ path_range_query::internal_range_of_expr (vrange &r, tree name, gimple *stmt) + return true; + } + ++ // We can be called from match.pd or elsewhere, with a context statement ++ // that can be anywhere on the path. Since we can only compute ranges ++ // mid flight at the current path position, check that's the case, ++ // otherwise fall through to the global range. + if (stmt ++ && gimple_bb (stmt) == curr_bb () + && range_defined_in_block (r, name, gimple_bb (stmt))) + { + if (TREE_CODE (name) == SSA_NAME) +@@ -290,6 +295,11 @@ path_range_query::ssa_range_in_phi (vrange &r, gphi *phi) + bool + path_range_query::range_defined_in_block (vrange &r, tree name, basic_block bb) + { ++ // Ranges can only be calculated at the current path position, both ++ // while pre-computing the cache and when answering questions at the ++ // path exit afterwards. ++ gcc_assert (bb == curr_bb ()); ++ + gimple *def_stmt = SSA_NAME_DEF_STMT (name); + basic_block def_bb = gimple_bb (def_stmt); + +-- +2.55.0 + diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0002-Provide-a-range_info-reset-method.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0002-Provide-a-range_info-reset-method.patch new file mode 100644 index 00000000000..d788301415f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/0002-Provide-a-range_info-reset-method.patch @@ -0,0 +1,511 @@ +From 06f435d587db631be745eb36c46e550939022827 Mon Sep 17 00:00:00 2001 +Message-ID: <06f435d587db631be745eb36c46e550939022827.1787205028.git.sam@gentoo.org> +From: Andrew MacLeod +Date: Tue, 18 Aug 2026 08:58:35 -0400 +Subject: [PATCH] Provide a range_info reset method. + +Provide a mechanism to reset range info in ranger and the oracles. + + PR tree-optimization/126856 + gcc/ + * gimple-range-cache.cc (block_range_cache::clear): New. + (ranger_cache::reset_range_info): New. + * gimple-range-cache.h (block_range_cache::clear): Declare. + (ranger_cache::reset_range_info): Declare. + * gimple-range-gori.cc (range_def_chain::clear): New. + * gimple-range-gori.h (range_def_chain::clear): Declare. + * gimple-range-infer.cc (infer_range_manager::clear): New. + * gimple-range-infer.h (infer_oracle::clear): New virtual function. + (infer_range_manager::clear): Override. + * gimple-range.cc (gimple_ranger::reset_range_info): New. + * gimple-range.h (gimple_ranger::reset_range_info): Declare. + * tree-ssa-dce.cc (simple_dce_from_worklist): Reset flow-sensitive + information when replacing a definition. + * tree-ssanames.cc (reset_flow_sensitive_info): Reset information + maintained by the current range query. + * value-query.cc (range_query::reset_range_info): New. + * value-query.h (range_query::reset_range_info): Declare. + * value-relation.cc (equiv_oracle::clear): New. + (relation_chain_head::clear): New. + (dom_oracle::clear): New. + (path_oracle::clear): New. + * value-relation.h (relation_oracle::clear): New virtual function. + (equiv_oracle::clear): Override. + (relation_chain_head::clear): Declare. + (dom_oracle::clear): Override. + (path_oracle::clear): Override. + + gcc/testsuite/ + * gcc.dg/pr126856.c: New test. +--- + gcc/gimple-range-cache.cc | 21 +++++++ + gcc/gimple-range-cache.h | 3 + + gcc/gimple-range-gori.cc | 15 +++++ + gcc/gimple-range-gori.h | 1 + + gcc/gimple-range-infer.cc | 31 +++++++++++ + gcc/gimple-range-infer.h | 2 + + gcc/gimple-range.cc | 9 +++ + gcc/gimple-range.h | 1 + + gcc/testsuite/gcc.dg/pr126856.c | 16 ++++++ + gcc/tree-ssa-dce.cc | 2 + + gcc/tree-ssanames.cc | 3 + + gcc/value-query.cc | 11 ++++ + gcc/value-query.h | 2 + + gcc/value-relation.cc | 98 +++++++++++++++++++++++++++++++++ + gcc/value-relation.h | 11 ++++ + 15 files changed, 226 insertions(+) + create mode 100644 gcc/testsuite/gcc.dg/pr126856.c + +diff --git a/gcc/gimple-range-cache.cc b/gcc/gimple-range-cache.cc +index a540a10ce588..0386b9981178 100644 +--- a/gcc/gimple-range-cache.cc ++++ b/gcc/gimple-range-cache.cc +@@ -381,6 +381,17 @@ block_range_cache::~block_range_cache () + bitmap_obstack_release (&m_bitmaps); + } + ++// Clear block info for NAME. ++ ++void ++block_range_cache::clear (tree name) ++{ ++ unsigned v = SSA_NAME_VERSION (name); ++ if (v >= m_ssa_ranges.length ()) ++ return; ++ m_ssa_ranges[v] = NULL; ++} ++ + // Set the range for NAME on entry to block BB to R. + // If it has not been accessed yet, allocate it first. + +@@ -1982,3 +1993,13 @@ ranger_cache::apply_inferred_ranges (gimple *s) + for (unsigned x = 0; x < infer.num (); x++) + register_inferred_value (infer.range (x), infer.name (x), bb); + } ++ ++// Reset range info for NAME. ++ ++void ++ranger_cache::reset_range_info (tree name) ++{ ++ m_on_entry.clear (name); ++ m_globals.clear_range (name); ++ range_query::reset_range_info (name); ++} +diff --git a/gcc/gimple-range-cache.h b/gcc/gimple-range-cache.h +index e01f35a548db..8a4185fc3e37 100644 +--- a/gcc/gimple-range-cache.h ++++ b/gcc/gimple-range-cache.h +@@ -38,6 +38,7 @@ public: + bool set_bb_range (tree name, const_basic_block bb, const vrange &v); + bool get_bb_range (vrange &v, tree name, const_basic_block bb); + bool bb_range_p (tree name, const_basic_block bb); ++ void clear (tree name); + + void dump (FILE *f); + void dump (FILE *f, basic_block bb, bool print_varying = true); +@@ -120,6 +121,8 @@ public: + void register_inferred_value (const vrange &r, tree name, basic_block bb); + void apply_inferred_ranges (gimple *s); + ++ void reset_range_info (tree name); ++ + void dump_bb (FILE *f, basic_block bb); + virtual void dump (FILE *f) override; + private: +diff --git a/gcc/gimple-range-gori.cc b/gcc/gimple-range-gori.cc +index 3bdc5305b491..d34c2b79a7c8 100644 +--- a/gcc/gimple-range-gori.cc ++++ b/gcc/gimple-range-gori.cc +@@ -295,6 +295,21 @@ range_def_chain::get_def_chain (tree name) + return m_def_chain[v].bm; + } + ++// Clear def chain info for NAME. ++ ++void ++range_def_chain::clear (tree name) ++{ ++ unsigned v = SSA_NAME_VERSION (name); ++ if (v >= m_def_chain.length ()) ++ return; ++ ++ m_def_chain[v].ssa1 = 0; ++ m_def_chain[v].ssa2 = 0; ++ m_def_chain[v].bm = NULL; ++ get_def_chain (name); ++} ++ + // Dump what we know for basic block BB to file F. + + void +diff --git a/gcc/gimple-range-gori.h b/gcc/gimple-range-gori.h +index d562c515a28e..ab83d8f3dff8 100644 +--- a/gcc/gimple-range-gori.h ++++ b/gcc/gimple-range-gori.h +@@ -36,6 +36,7 @@ public: + bool in_chain_p (tree name, tree def); + bool chain_import_p (tree name, tree import); + void register_dependency (tree name, tree ssa1, basic_block bb = NULL); ++ void clear (tree name); + void dump (FILE *f, basic_block bb, const char *prefix = NULL); + protected: + bool has_def_chain (tree name); +diff --git a/gcc/gimple-range-infer.cc b/gcc/gimple-range-infer.cc +index 65c10ac1cb43..5f0f7efcc012 100644 +--- a/gcc/gimple-range-infer.cc ++++ b/gcc/gimple-range-infer.cc +@@ -532,3 +532,34 @@ infer_range_manager::register_all_uses (tree name) + } + } + } ++ ++// Clear all inferred ranges for NAME. ++ ++void ++infer_range_manager::clear(tree name) ++{ ++ if (!m_seen) ++ return; ++ ++ // Check if this name has any inferred ranges. ++ unsigned v = SSA_NAME_VERSION (name); ++ if (!bitmap_bit_p (m_seen, v)) ++ return; ++ ++ // Check each basic block for an inferred range. ++ basic_block bb; ++ FOR_EACH_BB_FN (bb, cfun) ++ { ++ unsigned bbi = bb->index; ++ if (bbi >= m_on_exit.length ()) ++ continue; ++ exit_range *ptr = m_on_exit[bbi].find_ptr (name); ++ if (ptr) ++ { ++ bitmap_clear_bit (m_on_exit[bbi].m_names, v); ++ ptr->name = NULL; ++ } ++ } ++ ++ bitmap_clear_bit (m_seen, v); ++} +diff --git a/gcc/gimple-range-infer.h b/gcc/gimple-range-infer.h +index e2adeec8edf2..ca95e121633b 100644 +--- a/gcc/gimple-range-infer.h ++++ b/gcc/gimple-range-infer.h +@@ -89,6 +89,7 @@ public: + virtual bool has_range_p (basic_block, tree = NULL_TREE) { return false; } + virtual bool maybe_adjust_range (vrange &, tree, basic_block) + { return false; } ++ virtual void clear (tree) { } + }; + + // This class manages a list of inferred ranges for each basic block. +@@ -115,6 +116,7 @@ public: + virtual void add_ranges (gimple *s, gimple_infer_range &ir); + virtual bool has_range_p (basic_block bb, tree name = NULL_TREE); + virtual bool maybe_adjust_range (vrange &r, tree name, basic_block bb); ++ virtual void clear (tree name); + private: + void add_range (tree name, gimple *s, const vrange &r); + void add_nonzero (tree name, gimple *s); +diff --git a/gcc/gimple-range.cc b/gcc/gimple-range.cc +index 37390c5df276..b221cfc56164 100644 +--- a/gcc/gimple-range.cc ++++ b/gcc/gimple-range.cc +@@ -607,6 +607,15 @@ gimple_ranger::update_range_info (tree name, const vrange &r) + } + } + ++// Reset range information for NAME. ++ ++void ++gimple_ranger::reset_range_info (tree name) ++{ ++ // Clearing the cache will also clear all the shared oracles. ++ m_cache.reset_range_info (name); ++} ++ + // This routine will export whatever global ranges are known to GCC + // SSA_RANGE_NAME_INFO and SSA_NAME_PTR_INFO fields. + +diff --git a/gcc/gimple-range.h b/gcc/gimple-range.h +index a74b48aafe68..003fede83342 100644 +--- a/gcc/gimple-range.h ++++ b/gcc/gimple-range.h +@@ -65,6 +65,7 @@ public: + void register_inferred_ranges (gimple *s); + void register_transitive_inferred_ranges (basic_block bb); + range_query &const_query (); ++ void reset_range_info (tree name); + protected: + bool fold_range_internal (vrange &r, gimple *s, tree name); + struct prefill_frame +diff --git a/gcc/testsuite/gcc.dg/pr126856.c b/gcc/testsuite/gcc.dg/pr126856.c +new file mode 100644 +index 000000000000..9f1d7734705c +--- /dev/null ++++ b/gcc/testsuite/gcc.dg/pr126856.c +@@ -0,0 +1,16 @@ ++/* { dg-do run } */ ++/* { dg-options "-O2" } */ ++__attribute__((noipa)) static int ++mpfr_scale2_bad (int exp) ++{ ++ if (-1073 > exp || exp > 1025) ++ __builtin_unreachable(); ++ if (exp < -1021) ++ __builtin_abort(); ++ return exp; ++} ++int main () ++{ ++ if (mpfr_scale2_bad(499) != 499) ++ __builtin_abort(); ++} +diff --git a/gcc/tree-ssa-dce.cc b/gcc/tree-ssa-dce.cc +index 18bc851b2cdd..a5391290c4dc 100644 +--- a/gcc/tree-ssa-dce.cc ++++ b/gcc/tree-ssa-dce.cc +@@ -2278,6 +2278,7 @@ simple_dce_from_worklist (bitmap worklist, bitmap need_eh_cleanup, + for (unsigned i = 0; i < gimple_phi_num_args (phi); ++i) + SET_PHI_ARG_DEF (phi, i, zero); + update_stmt (phi); ++ reset_flow_sensitive_info (def); + } + else + remove_phi_node (&gsi, true); +@@ -2292,6 +2293,7 @@ simple_dce_from_worklist (bitmap worklist, bitmap need_eh_cleanup, + tree zero = build_zero_cst (TREE_TYPE (def)); + gassign *new_stmt = gimple_build_assign (def, zero); + gsi_replace (&gsi, new_stmt, true); ++ reset_flow_sensitive_info (def); + } + else + { +diff --git a/gcc/tree-ssanames.cc b/gcc/tree-ssanames.cc +index 9ad860df65a1..8eac57f42cba 100644 +--- a/gcc/tree-ssanames.cc ++++ b/gcc/tree-ssanames.cc +@@ -927,6 +927,9 @@ reset_flow_sensitive_info (tree name) + } + else + SSA_NAME_RANGE_INFO (name) = NULL; ++ ++ // Clear range info in the current range query. ++ get_range_query (cfun)->reset_range_info (name); + } + + /* Clear all flow sensitive data from all statements and PHI definitions +diff --git a/gcc/value-query.cc b/gcc/value-query.cc +index decf4e4d0ac0..17077eef9e8b 100644 +--- a/gcc/value-query.cc ++++ b/gcc/value-query.cc +@@ -78,6 +78,17 @@ range_query::update_range_info (tree, const vrange &) + { + } + ++// Default for resetting range info for NAME is to clear the oracles. ++ ++void ++range_query::reset_range_info (tree name) ++{ ++ relation ().clear (name); ++ if (gori_ssa ()) ++ gori_ssa ()->clear (name); ++ infer_oracle ().clear (name); ++} ++ + // If the range of expr EXPR at STMT is a single value, return it. + // Otherwise return NULL_TREE. + +diff --git a/gcc/value-query.h b/gcc/value-query.h +index 7756e431155a..9932d7d493b2 100644 +--- a/gcc/value-query.h ++++ b/gcc/value-query.h +@@ -79,6 +79,8 @@ public: + virtual void update_range_info (tree name); + // Provide a specific range update to NAME. + virtual void update_range_info (tree name, const vrange &r); ++ // Reset range information for NAME. ++ virtual void reset_range_info (tree name); + + inline class relation_oracle &relation () const { return *m_relation; } + void create_relation_oracle (bool do_trans_p = true); +diff --git a/gcc/value-relation.cc b/gcc/value-relation.cc +index cc9e8e56c67b..b4b65e6cdc8b 100644 +--- a/gcc/value-relation.cc ++++ b/gcc/value-relation.cc +@@ -621,6 +621,38 @@ equiv_oracle::register_initial_def (tree ssa) + add_equiv_to_block (bb, equiv_set); + } + ++// Clear the equivalence lists and partial equivalencs for NAME. ++ ++void ++equiv_oracle::clear (tree name) ++{ ++ unsigned v = SSA_NAME_VERSION (name); ++ // Remove v from any equivalences. ++ if (bitmap_bit_p (m_equiv_set, v)) ++ { ++ basic_block bb; ++ FOR_EACH_BB_FN (bb, cfun) ++ { ++ unsigned bbi = bb->index; ++ if (bbi >= m_equiv.length ()) ++ continue; ++ if (!m_equiv[bbi]) ++ continue; ++ equiv_chain *ptr = m_equiv[bbi]->find (v); ++ if (ptr) ++ { ++ bitmap_clear_bit (ptr->m_names, v); ++ bitmap_clear_bit (m_equiv[bbi]->m_names, v); ++ } ++ } ++ bitmap_clear_bit (m_equiv_set, v); ++ } ++ // Eliminate any partial equivs. ++ if (v < m_partial.length ()) ++ m_partial[v].members = NULL; ++} ++ ++ + // Register an equivalence between SSA1 and SSA2 in block BB. + // The equivalence oracle maintains a vector of equivalencies indexed by basic + // block. When an equivalence between SSA1 and SSA2 is registered in block BB, +@@ -1078,6 +1110,56 @@ dom_oracle::~dom_oracle () + m_relations.release (); + } + ++// Remove any relations with NAME from this list. ++ ++void ++relation_chain_head::clear (tree name) ++{ ++ unsigned v = SSA_NAME_VERSION (name); ++ if (!m_names || !bitmap_bit_p (m_names, v)) ++ return; ++ ++ relation_chain *ptr, *last = NULL;; ++ ++ for (ptr = m_head; ptr; ptr = ptr->m_next) ++ { ++ tree op1 = ptr->op1 (); ++ tree op2 = ptr->op2 (); ++ // Delink any elements with NAME. ++ if (op1 == name || op2 == name) ++ { ++ if (!last) ++ m_head = ptr->m_next; ++ else ++ last->m_next = ptr->m_next; ++ } ++ else ++ last = ptr; ++ } ++ // And remove name from the possible relations in this block bitfield. ++ bitmap_clear_bit (m_names, v); ++} ++ ++// Remove any relations involving NAME from the DOM oracle ++ ++void ++dom_oracle::clear (tree name) ++{ ++ equiv_oracle::clear (name); ++ unsigned v = SSA_NAME_VERSION (name); ++ if (bitmap_bit_p (m_relation_set, v)) ++ { ++ basic_block bb; ++ FOR_EACH_BB_FN (bb, cfun) ++ { ++ if (bb->index >= (int)m_relations.length()) ++ continue; ++ m_relations[bb->index].clear (name); ++ } ++ bitmap_clear_bit (m_relation_set, v); ++ } ++} ++ + // Register relation K between ssa_name OP1 and OP2 on STMT. + // Return false if no new relation is added. + +@@ -1728,6 +1810,22 @@ path_oracle::~path_oracle () + bitmap_obstack_release (&m_bitmaps); + } + ++// Clear any range info and relations associated with NAME. ++ ++void ++path_oracle::clear (tree name) ++{ ++ if (m_root) ++ m_root->clear (name); ++ ++ m_relations.clear (name); ++ ++ unsigned v = SSA_NAME_VERSION (name); ++ equiv_chain *ptr = m_equiv.find (v); ++ if (ptr) ++ bitmap_clear_bit (ptr->m_names, v); ++} ++ + // Return the equiv set for SSA, and if there isn't one, check for equivs + // starting in block BB. + +diff --git a/gcc/value-relation.h b/gcc/value-relation.h +index eed79c5e83d8..d150b0ac5b2a 100644 +--- a/gcc/value-relation.h ++++ b/gcc/value-relation.h +@@ -110,6 +110,9 @@ public: + relation_kind query (edge e, tree ssa1, tree ssa2); + virtual relation_kind query (basic_block, tree, tree) { return VREL_VARYING; } + ++ // Remove relations for an SSA_NAME ++ virtual void clear (tree) { } ++ + virtual void dump (FILE *, basic_block) const { } + virtual void dump (FILE *) const { } + void debug () const; +@@ -174,6 +177,8 @@ public: + relation_kind partial_equiv (tree ssa1, tree ssa2, tree *base = NULL) const; + relation_kind query (basic_block, tree, tree) override; + relation_kind query (basic_block, const_bitmap, const_bitmap) override; ++ ++ virtual void clear (tree name); + void dump (FILE *f, basic_block bb) const override; + void dump (FILE *f) const override; + +@@ -209,6 +214,7 @@ public: + class relation_chain *m_head; // List of relations in block. + int m_num_relations; // Number of relations in block. + relation_kind find_relation (const_bitmap b1, const_bitmap b2) const; ++ void clear (tree name); + }; + + // A relation oracle maintains a set of relations between ssa_names using the +@@ -234,6 +240,8 @@ public: + relation_kind query (basic_block bb, const_bitmap b1, const_bitmap b2) + final override; + ++ virtual void clear (tree name); ++ + void dump (FILE *f, basic_block bb) const final override; + void dump (FILE *f) const final override; + protected: +@@ -284,6 +292,9 @@ public: + relation_kind query (basic_block, const_bitmap, const_bitmap) final override; + void reset_path (relation_oracle *oracle = NULL); + void set_root_oracle (relation_oracle *oracle) { m_root = oracle; } ++ ++ virtual void clear (tree name); ++ + void dump (FILE *, basic_block) const final override; + void dump (FILE *) const final override; + private: +-- +2.55.0 + diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20250807.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20250807.ebuild deleted file mode 100644 index b54b4b9a98f..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20250807.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="13.3.0" -MUSL_GCC_VER="13.3.0" -PATCH_VER="8" -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_p20251016.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20251016.ebuild deleted file mode 100644 index 93bcc04648d..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20251016.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# 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_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_p20260212.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260212.ebuild deleted file mode 100644 index d036b2a5009..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260212.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# 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_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_p20260429.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260429.ebuild deleted file mode 100644 index d036b2a5009..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260429.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# 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_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_p20260520.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260520.ebuild deleted file mode 100644 index fea647d1997..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260520.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# 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_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_p20260527.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260527.ebuild deleted file mode 100644 index fea647d1997..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260527.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# 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_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_p20260610.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260610.ebuild deleted file mode 100644 index fea647d1997..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260610.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# 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_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_p20260617.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260617.ebuild deleted file mode 100644 index fea647d1997..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260617.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# 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_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_p20260624.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260624.ebuild deleted file mode 100644 index fea647d1997..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260624.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# 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_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_p20260701.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260701.ebuild deleted file mode 100644 index fea647d1997..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260701.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# 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_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_p20260708.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260708.ebuild deleted file mode 100644 index fea647d1997..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260708.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# 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_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_p20260715.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260715.ebuild deleted file mode 100644 index fea647d1997..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260715.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# 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_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_p20260722.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260722.ebuild deleted file mode 100644 index fea647d1997..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260722.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# 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_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_p20260729.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260729.ebuild deleted file mode 100644 index fea647d1997..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260729.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# 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_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_p20260422.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260805.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260422.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260805.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260506.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260812.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260506.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260812.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260513.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260819.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260513.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260819.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20250801.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20250801.ebuild deleted file mode 100644 index 6e8c962eb49..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20250801.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="14.3.0" -PATCH_VER="4" -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_p20251017.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251017.ebuild deleted file mode 100644 index da48784ea01..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20251017.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_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_p20260213.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260213.ebuild deleted file mode 100644 index b68bdb592fd..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260213.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_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_p20260430.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260430.ebuild deleted file mode 100644 index 5c2b3086c65..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260430.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="14.3.0" -PATCH_VER="6" -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_p20260521.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260521.ebuild deleted file mode 100644 index 4eb953d1246..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260521.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="14.3.0" -PATCH_VER="6" -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_p20260528.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260528.ebuild deleted file mode 100644 index 4eb953d1246..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260528.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="14.3.0" -PATCH_VER="6" -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_p20260611.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260611.ebuild deleted file mode 100644 index 4eb953d1246..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260611.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="14.3.0" -PATCH_VER="6" -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_p20260618.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260618.ebuild deleted file mode 100644 index 4eb953d1246..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260618.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="14.3.0" -PATCH_VER="6" -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_p20260619.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260619.ebuild deleted file mode 100644 index 09355a26fa4..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260619.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# 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_GCC_RC=1 -TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="14.3.0" -PATCH_VER="6" -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.4.1_p20260723.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260723.ebuild deleted file mode 100644 index 4eb953d1246..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260723.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="14.3.0" -PATCH_VER="6" -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.4.1_p20260730.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260730.ebuild deleted file mode 100644 index 4eb953d1246..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260730.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="14.3.0" -PATCH_VER="6" -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_p20260423.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260806.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260423.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260806.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260507.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260813.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260507.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260813.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260514.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260820.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260514.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260820.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251108-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251108-r1.ebuild deleted file mode 100644 index 99c1075fac4..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251108-r1.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="15.2.0" -PATCH_VER="2" -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_p20251122.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251122.ebuild deleted file mode 100644 index feb47aabcb5..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20251122.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# 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_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_p20260214.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260214.ebuild deleted file mode 100644 index 86c6709c89d..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260214.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_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 ~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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260501.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260501.ebuild deleted file mode 100644 index 2de7b48b985..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260501.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="15.2.0" -PATCH_VER="7" -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 ~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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260522.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260522.ebuild deleted file mode 100644 index 76e691e7f5a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260522.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="15.2.0" -PATCH_VER="8" -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 ~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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260529.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260529.ebuild deleted file mode 100644 index 76e691e7f5a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260529.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="15.2.0" -PATCH_VER="8" -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 ~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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260605.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260605.ebuild deleted file mode 100644 index e4e9fbfe94e..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260605.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# 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_GCC_RC=1 -TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="15.2.0" -PATCH_VER="8" -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 ~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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260612.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260612.ebuild deleted file mode 100644 index 76e691e7f5a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260612.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="15.2.0" -PATCH_VER="8" -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 ~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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260619.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260619.ebuild deleted file mode 100644 index 76e691e7f5a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260619.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="15.2.0" -PATCH_VER="8" -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 ~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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260626.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260626.ebuild deleted file mode 100644 index 76e691e7f5a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260626.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="15.2.0" -PATCH_VER="8" -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 ~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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260703.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260703.ebuild deleted file mode 100644 index 76e691e7f5a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260703.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="15.2.0" -PATCH_VER="8" -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 ~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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260710.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260710.ebuild deleted file mode 100644 index 76e691e7f5a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260710.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="15.2.0" -PATCH_VER="8" -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 ~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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260724.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260724.ebuild deleted file mode 100644 index 76e691e7f5a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260724.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="15.2.0" -PATCH_VER="8" -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 ~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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260508.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260814.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260508.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260814.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260515.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260821.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260515.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260821.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.0.ebuild deleted file mode 100644 index dfc8b316b20..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.0.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="16.1.0" -PATCH_VER="1" -MUSL_VER="1" -MUSL_GCC_VER="16.1.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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260516.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260516.ebuild deleted file mode 100644 index 9a2ea79cb4f..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260516.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="16.1.0" -PATCH_VER="2" -MUSL_VER="1" -MUSL_GCC_VER="16.1.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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260523.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260523.ebuild deleted file mode 100644 index 9a2ea79cb4f..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260523.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="16.1.0" -PATCH_VER="2" -MUSL_VER="1" -MUSL_GCC_VER="16.1.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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260530.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260530.ebuild deleted file mode 100644 index 9a2ea79cb4f..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260530.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="16.1.0" -PATCH_VER="2" -MUSL_VER="1" -MUSL_GCC_VER="16.1.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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260606.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260606.ebuild deleted file mode 100644 index c0cadeb68bf..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260606.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="16.1.0" -PATCH_VER="2" -MUSL_VER="1" -MUSL_GCC_VER="16.1.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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260620.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260620.ebuild deleted file mode 100644 index 3c65dcacdd6..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260620.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="16.1.0" -PATCH_VER="3" -MUSL_VER="1" -MUSL_GCC_VER="16.1.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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260627.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260627.ebuild deleted file mode 100644 index 3c65dcacdd6..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260627.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="16.1.0" -PATCH_VER="3" -MUSL_VER="1" -MUSL_GCC_VER="16.1.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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260704.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260704.ebuild deleted file mode 100644 index 3c65dcacdd6..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260704.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="16.1.0" -PATCH_VER="3" -MUSL_VER="1" -MUSL_GCC_VER="16.1.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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260711.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260711.ebuild deleted file mode 100644 index 3c65dcacdd6..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260711.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="16.1.0" -PATCH_VER="3" -MUSL_VER="1" -MUSL_GCC_VER="16.1.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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260725.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260725.ebuild deleted file mode 100644 index 3c65dcacdd6..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260725.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="16.1.0" -PATCH_VER="3" -MUSL_VER="1" -MUSL_GCC_VER="16.1.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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260731.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260731.ebuild deleted file mode 100644 index f0ea5fce67d..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260731.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# 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_GCC_RC=1 -TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="16.1.0" -PATCH_VER="3" -MUSL_VER="1" -MUSL_GCC_VER="16.1.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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260613.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.0.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260613.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260502.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260808.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260502.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260808.ebuild index 036dab287f6..b0402055aa9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260502.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260808.ebuild @@ -7,10 +7,10 @@ EAPI=8 # https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="16.1.0" +PATCH_GCC_VER="16.2.0" PATCH_VER="1" MUSL_VER="1" -MUSL_GCC_VER="16.1.0" +MUSL_GCC_VER="16.2.0" PYTHON_COMPAT=( python3_{11..14} ) if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260509.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260815.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260509.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260815.ebuild index 036dab287f6..b0402055aa9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260509.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260815.ebuild @@ -7,10 +7,10 @@ EAPI=8 # https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="16.1.0" +PATCH_GCC_VER="16.2.0" PATCH_VER="1" MUSL_VER="1" -MUSL_GCC_VER="16.1.0" +MUSL_GCC_VER="16.2.0" PYTHON_COMPAT=( python3_{11..14} ) if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260424.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260822.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260424.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260822.ebuild index 8ddd24dc9f9..b0402055aa9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260424.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260822.ebuild @@ -7,10 +7,10 @@ EAPI=8 # https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="15.2.0" -PATCH_VER="6" +PATCH_GCC_VER="16.2.0" +PATCH_VER="1" MUSL_VER="1" -MUSL_GCC_VER="15.2.0" +MUSL_GCC_VER="16.2.0" PYTHON_COMPAT=( python3_{11..14} ) if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.9999.ebuild deleted file mode 100644 index 57ee445aeff..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.9999.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="16.1.0" -MUSL_GCC_VER="16.1.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 - # 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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260718.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.3.9999.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260718.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.3.9999.ebuild index 76a702516e8..42293fb6267 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260718.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.3.9999.ebuild @@ -7,10 +7,8 @@ EAPI=8 # https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="16.1.0" -PATCH_VER="3" -MUSL_VER="1" -MUSL_GCC_VER="16.1.0" +PATCH_GCC_VER="16.2.0" +MUSL_GCC_VER="16.2.0" PYTHON_COMPAT=( python3_{11..14} ) if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then @@ -26,7 +24,7 @@ inherit toolchain if tc_is_live ; then # Needs to be after inherit (for now?), bug #830908 - EGIT_BRANCH=master + EGIT_BRANCH=releases/gcc-$(ver_cut 1) elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then # Don't keyword live ebuilds KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260503.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260503.ebuild deleted file mode 100644 index 9a2c4ca6cee..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260503.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="17.0.0" -PATCH_VER="2" -MUSL_GCC_VER="17.0.0" -MUSL_VER="1" -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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260510.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260510.ebuild deleted file mode 100644 index 257dbebeeab..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260510.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="17.0.0" -PATCH_VER="3" -MUSL_GCC_VER="17.0.0" -MUSL_VER="1" -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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260517.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260517.ebuild deleted file mode 100644 index 8ee2fd96d29..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260517.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="17.0.0" -PATCH_VER="4" -MUSL_GCC_VER="17.0.0" -MUSL_VER="1" -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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260524.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260524.ebuild deleted file mode 100644 index 8ee2fd96d29..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260524.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="17.0.0" -PATCH_VER="4" -MUSL_GCC_VER="17.0.0" -MUSL_VER="1" -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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260531.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260531.ebuild deleted file mode 100644 index 8ee2fd96d29..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260531.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="17.0.0" -PATCH_VER="4" -MUSL_GCC_VER="17.0.0" -MUSL_VER="1" -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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260607-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260607-r1.ebuild deleted file mode 100644 index 4b0bf478022..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260607-r1.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="17.0.0" -PATCH_VER="6" -MUSL_GCC_VER="17.0.0" -MUSL_VER="1" -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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260607.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260607.ebuild deleted file mode 100644 index c63d63a7c66..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260607.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="17.0.0" -PATCH_VER="5" -MUSL_GCC_VER="17.0.0" -MUSL_VER="1" -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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260614.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260614.ebuild deleted file mode 100644 index 9534f36da73..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260614.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="17.0.0" -PATCH_VER="7" -MUSL_GCC_VER="17.0.0" -MUSL_VER="1" -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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260621.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260621.ebuild deleted file mode 100644 index 820315af963..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260621.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="17.0.0" -PATCH_VER="8" -MUSL_GCC_VER="17.0.0" -MUSL_VER="1" -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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260628.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260628.ebuild deleted file mode 100644 index eb217aa4410..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260628.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="17.0.0" -PATCH_VER="9" -MUSL_GCC_VER="17.0.0" -MUSL_VER="1" -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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260705.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260705.ebuild deleted file mode 100644 index eb217aa4410..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260705.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="17.0.0" -PATCH_VER="9" -MUSL_GCC_VER="17.0.0" -MUSL_VER="1" -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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260712.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260712.ebuild deleted file mode 100644 index eb217aa4410..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260712.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="17.0.0" -PATCH_VER="9" -MUSL_GCC_VER="17.0.0" -MUSL_VER="1" -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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260719.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260719.ebuild deleted file mode 100644 index eb217aa4410..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260719.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_HAS_TESTS=1 -PATCH_GCC_VER="17.0.0" -PATCH_VER="9" -MUSL_GCC_VER="17.0.0" -MUSL_VER="1" -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 - [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch - eapply_user -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260726.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260809.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260726.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260809.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260802.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260816.ebuild similarity index 91% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260802.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260816.ebuild index d8d5655c2de..9b9654af890 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260802.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260816.ebuild @@ -51,6 +51,8 @@ src_prepare() { toolchain_src_prepare eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply "${FILESDIR}"/0001-path-solver-only-compute-ranges-at-the-current-path-.patch + eapply "${FILESDIR}"/0002-Provide-a-range_info-reset-method.patch [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch eapply_user } diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260426.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260823.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260426.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260823.ebuild index 40a5550ca05..1b9fb452822 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260426.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260823.ebuild @@ -8,7 +8,7 @@ EAPI=8 TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="17.0.0" -PATCH_VER="1" +PATCH_VER="12" MUSL_GCC_VER="17.0.0" MUSL_VER="1" PYTHON_COMPAT=( python3_{11..14} ) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/Manifest index 88f60a9e2dc..6e913276274 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/Manifest @@ -1,2 +1,3 @@ DIST gnuconfig-20240728.tar.xz 82360 BLAKE2B 476cabe032305adc916dffa39f30f07ac8249449e79da06763f08af9b642399c5c08bd5cf6b7229d63ba36b55e0ca75692b5db058ae0aa75b6b6370f12209aba SHA512 a43067a6f2a7f8d055122aefef2b0d28314c16871455e9223b8429a428ec6b4383eefe8fb50ff00d7c4c39710c6fb9fa81c3c84f3e6f5f58cbd1cf475896135e DIST gnuconfig-20250710.tar.xz 83388 BLAKE2B 3ae8bbec15255cfba57fbc1598228f90ff9ad82da6e1e1687c6937e9f1aa6a5ca56becf787308135cbb87eedf3eee51b20a8733c165e06613a0f9acd5fdf9cb9 SHA512 21d370bb917b91c393aebf17ecb446c5b9a93d88b29e021b85d28813de979e86053ef7af770fef0713093461268a439a17b573ce0e507dac04d089c058f7887f +DIST gnuconfig-20260517.tar.xz 83876 BLAKE2B 23c095b1619f9d4c25494c9ed73d28a077dabc9d303949ee9475dde62374cb306783a63e76a8562d9ac7cfa5958ff621ab50e765cb4a2638ede39b770d8b773c SHA512 7e7f336e693b9676d718c01c3cbfcffd18f26f29178752bad00b7bb7e1a6212ecce1e58a42ad2c93067533010a27b43c090741fb313ffe19e531fd97ab1fa548 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-20260517.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-20260517.ebuild new file mode 100644 index 00000000000..56482daf8b2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-20260517.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} == 99999999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/r/config.git" + + inherit git-r3 +else + SRC_URI="https://distfiles.gentoo.org/pub/proj/base-system/gnuconfig/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + S="${WORKDIR}" +fi + +DESCRIPTION="Updated config.sub and config.guess file from GNU" +HOMEPAGE="https://savannah.gnu.org/projects/config" + +LICENSE="GPL-3+-with-autoconf-exception" +SLOT="0" + +maint_pkg_create() { + cd "${S}" || die + + emake ChangeLog + local ver=$(gawk '{ gsub(/-/, "", $1); print $1; exit }' ChangeLog) + [[ ${#ver} != 8 ]] && die "invalid version '${ver}'" + + local tar="${T}/gnuconfig-${ver}.tar.xz" + tar -Jcf "${tar}" ./* || die "creating tar failed" + einfo "Packaged tar now available:" + einfo "$(du -b "${tar}")" +} + +src_unpack() { + if [[ ${PV} == 99999999 ]] ; then + git-r3_src_unpack + maint_pkg_create + else + unpack ${A} + fi +} + +src_install() { + insinto /usr/share/${PN} + doins config.{sub,guess} + fperms +x /usr/share/${PN}/config.{sub,guess} + dodoc ChangeLog +} 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 fba341bec21..56482daf8b2 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 @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -8,7 +8,7 @@ if [[ ${PV} == 99999999 ]] ; then inherit git-r3 else - SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" + SRC_URI="https://distfiles.gentoo.org/pub/proj/base-system/gnuconfig/${P}.tar.xz" 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-firmware/intel-microcode/Manifest b/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/Manifest index 881b9b5724b..4cecdb756d3 100644 --- a/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/Manifest @@ -1,7 +1,11 @@ DIST intel-microcode-collection-20260211.tar.xz 24796412 BLAKE2B a5944ed538a1d7ddae5e92409383f09e10304b39834d8488e5197e1b66d17fadd495f23e0bdab4ed06cd6abee73048617805f902ee95a01f37f79f54851d3ba0 SHA512 7d760a121601c329fdb7ef3d79217b29a6e3e2c7c7b112f701a6e60467641472fe4e3f66bf61d2788c4bfeb17fa2e6c1dc11c5cd18efd99e2acf753fdb3b1b0c DIST intel-microcode-collection-20260227.tar.xz 26976652 BLAKE2B 7a49dfcd62d9ba1773768954b4aaff98c37ae50a2be16c671a78a4046c5523634bc19809b4bbef03cd7a60e8c710ce477a9b0949ff6a8ddc8aa9f8590143de23 SHA512 1ce5428d50e692015b9c919049bda27215453aaddbcb8bc3c8c3312ad763ca9f102b0cc614905931441e031a5fc1ac7f54dd367a0b4506b41f73e7260e11ee18 DIST intel-microcode-collection-20260513.tar.xz 27365080 BLAKE2B a2c984da2889ed13e4b671fa957662205ef11c3e3c0bc88c50e56460b7647346393daedbd363daac70e9d7a1d21ab81653186ff1be20e56d04e5345b45d870f5 SHA512 4be613c12063c42867e389a7881195c762ec2a7866fdde226c4e00d4cf9697b305884b02e0c2fc9194c2486c969babcdadd607171c729fa1100d2687f52e98d2 +DIST intel-microcode-collection-20260811.tar.xz 28353696 BLAKE2B c4707e1bf35e605bae42f17baeb1f4323573b49f3df0bb3b5225e4b8b6e34cb3b258a9a0c9e8a596efa1700fb14313dbc7bb98cd74c9c8c8f74153a89f48df96 SHA512 4b66be0b2ad421092feaf2e541a04468e522ad871cb1377bb617dab0fff0ac940b00942872311e387f5d077bff49c2a5a34c972c0e81ed4da0c69e6318daf783 +DIST intel-microcode-collection-20260813.tar.xz 28353696 BLAKE2B 7e1a95f5b38a85d5c4cc33fcedc491200526670d61d5c5e978fe30459575dbdc7e4a141b0a226621f5140e58346380361960db991ac735420676615b0f126e54 SHA512 9cb8126b88c2f0db0e9703b926507872053fcfcd831a68d4a3fa69b38470a61cb223c073a48e2554c1a7c605ea856b681d12d49c7a836e7248b09e06c2f0d21d DIST intel-ucode-sig_0x406e3-rev_0xd6.bin 101376 BLAKE2B 66d55867954d69dda1425febd93bb8c89f7aa836d504f8b5fee127f8505bcf2246f4fcc55cc245bc5e532528d60cca2eee278de7ab5174dc2862db7982a2b36f SHA512 248066b521bf512b5d8e4a8c7e921464ce52169c954d6e4ca580d8c172cd789519e22b4cf56c212e452b4191741f0202019f7061d322c9433b5af9ce5413b567 DIST microcode-20260210.tar.gz 16622114 BLAKE2B 3b3a8fef499a67af0264550b457ae7de4f6965d9c8c02cc1b5b0f02316580662397016287510e09274e241d8d9cb7d70245f05a584f746515ac7c9bbe4a5cb28 SHA512 ec4ed32600ce1ce2c9c52796458f92205c89c38ba2834d84ab86d800790c709d22cb66e4fca5edda42752363956324f8066d08e3b1d81c50ac879d2749068655 DIST microcode-20260227.tar.gz 16621772 BLAKE2B 3725dee3af32b545a754a47616c7451a6e7e227af125a8eb35729b2784dfbdecccea6054e1f3190119253041697ce525380e5a98c929e42a4294028d2eca1ebd SHA512 d9de41b1f1b2740d12f0e9e4987b8001d7b9a0ae53382e9bd715936fb7cab7da74a9154df781950738db1c1ebb9ad4f46700355b67a0fb4e8fd5e80711702723 DIST microcode-20260512.tar.gz 16949219 BLAKE2B 10407aa08481998fb5102bbf517b1cf5c083d16fae8468d25ad2c6ad4b6a665c520cb35f22a44b1f2b385232694bd18b1ee2e75a46658dcdafe40c0c54562c07 SHA512 b6e2e9fb3fe19cd46fcbcd639d16e2348b812eac2bcc535fb839d226218e1cbc724fc49c0d81acf606a22b719ff43ed5b46304fba65ef0ba663290df822649b8 +DIST microcode-20260811.tar.gz 17588431 BLAKE2B b774544cc705345bf2cef106572b688d0c5f29e72d83bfdac2873ae423df4b5ee7540993aea05c0151049e21ff0a479fb3cc9d07fc1b3f0a4ac65296bc8873dc SHA512 0311bfb15ef24804009d574cd5cd1e1816a56af34f0e9bcec20d3f9c6112c938cbcf237fec896a4b30fae52a7ce528ea932894d2a15b962ceb613a3dc4dd6c96 +DIST microcode-20260812.tar.gz 17588545 BLAKE2B a8353ebad790c00820614a78814dc39987d5c8ad815de4eda9a92cdd8ed93047474b4ac38953ef4ca9aa05c07d1e318143b4b97a6e3eba40e72b83911eddafba SHA512 847935813453368ba890839e422a71912a8f53cc1256cd6800849976b58929d8415641d521ab3a7523262e0ef76058fb5db228f68e467424d45846d0f1ab2ebc diff --git a/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/intel-microcode-20260811_p20260811.ebuild b/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/intel-microcode-20260811_p20260811.ebuild new file mode 100644 index 00000000000..3d84a345702 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/intel-microcode-20260811_p20260811.ebuild @@ -0,0 +1,340 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dist-kernel-utils linux-info mount-boot + +# Find updates by searching and clicking the first link (hopefully it's the one): +# https://www.intel.com/content/www/us/en/search.html?keyword=Processor+Microcode+Data+File +# +# +# Package Maintenance instructions: +# 1. The ebuild is in the form of intel-microcode-_p.ebuild +# 2. The INTEL_SNAPSHOT upstream is located at: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files +# 3. The COLLECTION_SNAPSHOT is created manually using the following steps: +# a. Clone the repository https://github.com/platomav/CPUMicrocodes +# b. Rename the Intel directory to intel-microcode-collection- +# c. From the CPUMicrocodes directory tar and xz compress the contents of intel-microcode-collection-: +# tar -cJf intel-microcode-collection-.tar.xz intel-microcode-collection-/ +# d. This file should be signed and uploaded to masterkup. For detailed instructions, please go to: https://wiki.gentoo.org/wiki/Project:Infrastructure/Project_Distfiles +# e. The SRC_URI will then be of the form: +# https://distfiles.gentoo.org/pub/proj/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz +# +# PV: +# * the first date is upstream +# * the second date is snapshot (use last commit date in repo) from intel-microcode-collection + +COLLECTION_SNAPSHOT="${PV##*_p}" +INTEL_SNAPSHOT="${PV/_p*}" +#NUM="28087" + +#https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=${NUM} +#https://downloadmirror.intel.com/${NUM}/eng/microcode-${INTEL_SNAPSHOT}.tgz + +DESCRIPTION="Intel IA32/IA64 microcode update data" +HOMEPAGE="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files https://github.com/platomav/CPUMicrocodes http://inertiawar.com/microcode/" +SRC_URI=" + https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/microcode-${INTEL_SNAPSHOT}.tar.gz + https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/raw/437f382b1be4412b9d03e2bbdcda46d83d581242/intel-ucode/06-4e-03 -> intel-ucode-sig_0x406e3-rev_0xd6.bin + https://dev.gentoo.org/~mpagano/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz + https://distfiles.gentoo.org/pub/proj/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz +" +S="${WORKDIR}" + +LICENSE="intel-ucode" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="dist-kernel hostonly +initramfs +split-ucode vanilla" +REQUIRED_USE=" + || ( initramfs split-ucode ) + dist-kernel? ( split-ucode ) +" +RESTRICT="binchecks strip" + +BDEPEND=">=sys-apps/iucode_tool-2.3" +# !/dev/null; then + # new tarball format from GitHub + mv * ../ || die "Failed to move Intel-Linux-Processor-Microcode-Data*" + cd .. || die + rm -r Intel-Linux-Processor-Microcode-Data* || die + fi + + mkdir intel-ucode-old || die + cp "${DISTDIR}"/intel-ucode-sig_0x406e3-rev_0xd6.bin "${S}"/intel-ucode-old/ || die + + # Prevent "invalid file format" errors from iucode_tool + rm -f "${S}"/intel-ucod*/list || die + + # https://gitlab.com/iucode-tool/iucode-tool/-/issues/4 + rm "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/cpu106C0_plat01_ver00000007_2007-08-24_PRD_923CDFA3.bin || die + + # Remove non-microcode file from list + rm -f "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/LICENSE || die + rm -f "${S}"/intel-ucode*/LICENSE || die +} + +src_install() { + # This will take ALL of the upstream microcode sources: + # - microcode.dat + # - intel-ucode/ + # In some cases, they have not contained the same content (eg the directory has newer stuff). + MICROCODE_SRC=( + "${S}"/intel-ucode/ + "${S}"/intel-ucode-with-caveats/ + "${S}"/intel-ucode-old/ + ) + + # Allow users who are scared about microcode updates not included in Intel's official + # microcode tarball to opt-out and comply with Intel marketing + if ! use vanilla; then + MICROCODE_SRC+=( "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT} ) + fi + + # These will carry into pkg_preinst via env saving. + : ${MICROCODE_BLACKLIST=${MICROCODE_BLACKLIST_DEFAULT}} + : ${MICROCODE_SIGNATURES=${MICROCODE_SIGNATUES_DEFAULT}} + + opts=( + ${MICROCODE_BLACKLIST} + ${MICROCODE_SIGNATURES} + # be strict about what we are doing + --overwrite + --strict-checks + --no-ignore-broken + # we want to install latest version + --no-downgrade + # show everything we find + --list-all + # show what we selected + --list + ) + + # Instruct Dracut on whether or not we want the microcode in initramfs + # Use here 15 instead of 10, intel-microcode overwrites linux-firmware + ( + insinto /usr/lib/dracut/dracut.conf.d + newins - 15-${PN}.conf <<<"early_microcode=$(usex initramfs)" + ) + if use initramfs; then + # Install installkernel/kernel-install hooks for non-dracut initramfs + # generators that don't bundled the microcode + ( + exeinto /usr/lib/kernel/preinst.d + doexe "${FILESDIR}/35-intel-microcode.install" + exeinto /usr/lib/kernel/install.d + doexe "${FILESDIR}/35-intel-microcode-systemd.install" + ) + fi + + # The earlyfw cpio needs to be in /boot because it must be loaded before + # rootfs is mounted. + if ! use dist-kernel && use initramfs; then + dodir /boot && opts+=( --write-earlyfw="${ED}/boot/intel-uc.img" ) + fi + + keepdir /lib/firmware/intel-ucode + opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" ) + + iucode_tool \ + "${opts[@]}" \ + "${MICROCODE_SRC[@]}" \ + || die "iucode_tool ${opts[@]} ${MICROCODE_SRC[@]}" + + dodoc releasenote.md +} + +pkg_preinst() { + if [[ ${MICROCODE_BLACKLIST} != ${MICROCODE_BLACKLIST_DEFAULT} ]]; then + ewarn "MICROCODE_BLACKLIST is set to \"${MICROCODE_BLACKLIST}\" instead of default \"${MICROCODE_BLACKLIST_DEFAULT}\". You are on your own!" + fi + + if [[ ${MICROCODE_SIGNATURES} != ${MICROCODE_SIGNATURES_DEFAULT} ]]; then + ewarn "Package was created using advanced options:" + ewarn "MICROCODE_SIGNATURES is set to \"${MICROCODE_SIGNATURES}\" instead of default \"${MICROCODE_SIGNATURES_DEFAULT}\"!" + fi + + # Make sure /boot is available if needed. + use initramfs && ! use dist-kernel && mount-boot_pkg_preinst + + local _initramfs_file="${ED}/boot/intel-uc.img" + + if use hostonly; then + # While this output looks redundant we do this check to detect + # rare cases where iucode_tool was unable to detect system's processor(s). + local _detected_processors=$(iucode_tool --scan-system 2>&1) + if [[ -z "${_detected_processors}" ]]; then + ewarn "Looks like iucode_tool was unable to detect any processor!" + else + einfo "Only installing ucode(s) for ${_detected_processors#iucode_tool: system has } due to USE=hostonly ..." + fi + + opts=( + --scan-system + # be strict about what we are doing + --overwrite + --strict-checks + --no-ignore-broken + # we want to install latest version + --no-downgrade + # show everything we find + --list-all + # show what we selected + --list + ) + + # The earlyfw cpio needs to be in /boot because it must be loaded before + # rootfs is mounted. + if ! use dist-kernel && use initramfs; then + opts+=( --write-earlyfw=${_initramfs_file} ) + fi + + if use split-ucode; then + opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" ) + fi + + opts+=( "${ED}/lib/firmware/intel-ucode-temp" ) + + mv "${ED}"/lib/firmware/intel-ucode{,-temp} || die + keepdir /lib/firmware/intel-ucode + + iucode_tool "${opts[@]}" || die "iucode_tool ${opts[@]}" + + rm -r "${ED}"/lib/firmware/intel-ucode-temp || die + + elif ! use split-ucode; then # hostonly disabled + rm -r "${ED}"/lib/firmware/intel-ucode || die + fi + + # Because it is possible that this package will install not one single file + # due to user selection which is still somehow unexpected we add the following + # check to inform user so that the user has at least a chance to detect + # a problem/invalid select. + local _has_installed_something= + if use initramfs && [[ -s "${_initramfs_file}" ]]; then + _has_installed_something="yes" + elif use split-ucode; then + _has_installed_something=$(find "${ED}/lib/firmware/intel-ucode" -maxdepth 0 -not -empty -exec echo yes \;) + fi + + if use hostonly && [[ -n "${_has_installed_something}" ]]; then + elog "You only installed ucode(s) for all currently available (=online)" + elog "processor(s). Remember to re-emerge this package whenever you" + elog "change the system's processor model." + elog "" + elif [[ -z "${_has_installed_something}" ]]; then + ewarn "WARNING:" + if [[ ${MICROCODE_SIGNATURES} != ${MICROCODE_SIGNATURES_DEFAULT} ]]; then + ewarn "No ucode was installed! Because you have created this package" + ewarn "using MICROCODE_SIGNATURES variable please double check if you" + ewarn "have an invalid select." + ewarn "It's rare but it is also possible that just no ucode update" + ewarn "is available for your processor(s). In this case it is safe" + ewarn "to ignore this warning." + else + ewarn "No ucode was installed! It's rare but it is also possible" + ewarn "that just no ucode update is available for your processor(s)." + ewarn "In this case it is safe to ignore this warning." + fi + + ewarn "" + + if use hostonly; then + ewarn "Unset \"hostonly\" USE flag to install all available ucodes." + ewarn "" + fi + fi +} + +pkg_prerm() { + # Make sure /boot is mounted so that we can remove /boot/intel-uc.img! + use initramfs && ! use dist-kernel && mount-boot_pkg_prerm +} + +pkg_postrm() { + # Don't forget to umount /boot if it was previously mounted by us. + use initramfs && ! use dist-kernel && mount-boot_pkg_postrm +} + +pkg_postinst() { + if use initramfs; then + if use dist-kernel; then + dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}" --all + else + # Don't forget to umount /boot if it was previously mounted by us. + mount-boot_pkg_postinst + fi + fi + + # We cannot give detailed information if user is affected or not: + # If MICROCODE_BLACKLIST wasn't modified, user can still use MICROCODE_SIGNATURES + # to to force a specific, otherwise blacklisted, microcode. So we + # only show a generic warning based on running kernel version: + if kernel_is -lt 4 14 34; then + ewarn "${P} contains microcode updates which require" + ewarn "additional kernel patches which aren't yet included in kernel <4.14.34." + ewarn "Loading such a microcode through kernel interface from an unpatched kernel" + ewarn "can crash your system!" + ewarn "" + ewarn "Those microcodes are blacklisted per default. However, if you have altered" + ewarn "MICROCODE_BLACKLIST or MICROCODE_SIGNATURES, you maybe have unintentionally" + ewarn "re-enabled those microcodes...!" + ewarn "" + ewarn "Check \"${EROOT}/usr/share/doc/${PN}-*/releasenot*\" if your microcode update" + ewarn "requires additional kernel patches or not." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/intel-microcode-20260812_p20260813.ebuild b/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/intel-microcode-20260812_p20260813.ebuild new file mode 100644 index 00000000000..3d84a345702 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/intel-microcode-20260812_p20260813.ebuild @@ -0,0 +1,340 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dist-kernel-utils linux-info mount-boot + +# Find updates by searching and clicking the first link (hopefully it's the one): +# https://www.intel.com/content/www/us/en/search.html?keyword=Processor+Microcode+Data+File +# +# +# Package Maintenance instructions: +# 1. The ebuild is in the form of intel-microcode-_p.ebuild +# 2. The INTEL_SNAPSHOT upstream is located at: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files +# 3. The COLLECTION_SNAPSHOT is created manually using the following steps: +# a. Clone the repository https://github.com/platomav/CPUMicrocodes +# b. Rename the Intel directory to intel-microcode-collection- +# c. From the CPUMicrocodes directory tar and xz compress the contents of intel-microcode-collection-: +# tar -cJf intel-microcode-collection-.tar.xz intel-microcode-collection-/ +# d. This file should be signed and uploaded to masterkup. For detailed instructions, please go to: https://wiki.gentoo.org/wiki/Project:Infrastructure/Project_Distfiles +# e. The SRC_URI will then be of the form: +# https://distfiles.gentoo.org/pub/proj/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz +# +# PV: +# * the first date is upstream +# * the second date is snapshot (use last commit date in repo) from intel-microcode-collection + +COLLECTION_SNAPSHOT="${PV##*_p}" +INTEL_SNAPSHOT="${PV/_p*}" +#NUM="28087" + +#https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=${NUM} +#https://downloadmirror.intel.com/${NUM}/eng/microcode-${INTEL_SNAPSHOT}.tgz + +DESCRIPTION="Intel IA32/IA64 microcode update data" +HOMEPAGE="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files https://github.com/platomav/CPUMicrocodes http://inertiawar.com/microcode/" +SRC_URI=" + https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/microcode-${INTEL_SNAPSHOT}.tar.gz + https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/raw/437f382b1be4412b9d03e2bbdcda46d83d581242/intel-ucode/06-4e-03 -> intel-ucode-sig_0x406e3-rev_0xd6.bin + https://dev.gentoo.org/~mpagano/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz + https://distfiles.gentoo.org/pub/proj/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz +" +S="${WORKDIR}" + +LICENSE="intel-ucode" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="dist-kernel hostonly +initramfs +split-ucode vanilla" +REQUIRED_USE=" + || ( initramfs split-ucode ) + dist-kernel? ( split-ucode ) +" +RESTRICT="binchecks strip" + +BDEPEND=">=sys-apps/iucode_tool-2.3" +# !/dev/null; then + # new tarball format from GitHub + mv * ../ || die "Failed to move Intel-Linux-Processor-Microcode-Data*" + cd .. || die + rm -r Intel-Linux-Processor-Microcode-Data* || die + fi + + mkdir intel-ucode-old || die + cp "${DISTDIR}"/intel-ucode-sig_0x406e3-rev_0xd6.bin "${S}"/intel-ucode-old/ || die + + # Prevent "invalid file format" errors from iucode_tool + rm -f "${S}"/intel-ucod*/list || die + + # https://gitlab.com/iucode-tool/iucode-tool/-/issues/4 + rm "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/cpu106C0_plat01_ver00000007_2007-08-24_PRD_923CDFA3.bin || die + + # Remove non-microcode file from list + rm -f "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/LICENSE || die + rm -f "${S}"/intel-ucode*/LICENSE || die +} + +src_install() { + # This will take ALL of the upstream microcode sources: + # - microcode.dat + # - intel-ucode/ + # In some cases, they have not contained the same content (eg the directory has newer stuff). + MICROCODE_SRC=( + "${S}"/intel-ucode/ + "${S}"/intel-ucode-with-caveats/ + "${S}"/intel-ucode-old/ + ) + + # Allow users who are scared about microcode updates not included in Intel's official + # microcode tarball to opt-out and comply with Intel marketing + if ! use vanilla; then + MICROCODE_SRC+=( "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT} ) + fi + + # These will carry into pkg_preinst via env saving. + : ${MICROCODE_BLACKLIST=${MICROCODE_BLACKLIST_DEFAULT}} + : ${MICROCODE_SIGNATURES=${MICROCODE_SIGNATUES_DEFAULT}} + + opts=( + ${MICROCODE_BLACKLIST} + ${MICROCODE_SIGNATURES} + # be strict about what we are doing + --overwrite + --strict-checks + --no-ignore-broken + # we want to install latest version + --no-downgrade + # show everything we find + --list-all + # show what we selected + --list + ) + + # Instruct Dracut on whether or not we want the microcode in initramfs + # Use here 15 instead of 10, intel-microcode overwrites linux-firmware + ( + insinto /usr/lib/dracut/dracut.conf.d + newins - 15-${PN}.conf <<<"early_microcode=$(usex initramfs)" + ) + if use initramfs; then + # Install installkernel/kernel-install hooks for non-dracut initramfs + # generators that don't bundled the microcode + ( + exeinto /usr/lib/kernel/preinst.d + doexe "${FILESDIR}/35-intel-microcode.install" + exeinto /usr/lib/kernel/install.d + doexe "${FILESDIR}/35-intel-microcode-systemd.install" + ) + fi + + # The earlyfw cpio needs to be in /boot because it must be loaded before + # rootfs is mounted. + if ! use dist-kernel && use initramfs; then + dodir /boot && opts+=( --write-earlyfw="${ED}/boot/intel-uc.img" ) + fi + + keepdir /lib/firmware/intel-ucode + opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" ) + + iucode_tool \ + "${opts[@]}" \ + "${MICROCODE_SRC[@]}" \ + || die "iucode_tool ${opts[@]} ${MICROCODE_SRC[@]}" + + dodoc releasenote.md +} + +pkg_preinst() { + if [[ ${MICROCODE_BLACKLIST} != ${MICROCODE_BLACKLIST_DEFAULT} ]]; then + ewarn "MICROCODE_BLACKLIST is set to \"${MICROCODE_BLACKLIST}\" instead of default \"${MICROCODE_BLACKLIST_DEFAULT}\". You are on your own!" + fi + + if [[ ${MICROCODE_SIGNATURES} != ${MICROCODE_SIGNATURES_DEFAULT} ]]; then + ewarn "Package was created using advanced options:" + ewarn "MICROCODE_SIGNATURES is set to \"${MICROCODE_SIGNATURES}\" instead of default \"${MICROCODE_SIGNATURES_DEFAULT}\"!" + fi + + # Make sure /boot is available if needed. + use initramfs && ! use dist-kernel && mount-boot_pkg_preinst + + local _initramfs_file="${ED}/boot/intel-uc.img" + + if use hostonly; then + # While this output looks redundant we do this check to detect + # rare cases where iucode_tool was unable to detect system's processor(s). + local _detected_processors=$(iucode_tool --scan-system 2>&1) + if [[ -z "${_detected_processors}" ]]; then + ewarn "Looks like iucode_tool was unable to detect any processor!" + else + einfo "Only installing ucode(s) for ${_detected_processors#iucode_tool: system has } due to USE=hostonly ..." + fi + + opts=( + --scan-system + # be strict about what we are doing + --overwrite + --strict-checks + --no-ignore-broken + # we want to install latest version + --no-downgrade + # show everything we find + --list-all + # show what we selected + --list + ) + + # The earlyfw cpio needs to be in /boot because it must be loaded before + # rootfs is mounted. + if ! use dist-kernel && use initramfs; then + opts+=( --write-earlyfw=${_initramfs_file} ) + fi + + if use split-ucode; then + opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" ) + fi + + opts+=( "${ED}/lib/firmware/intel-ucode-temp" ) + + mv "${ED}"/lib/firmware/intel-ucode{,-temp} || die + keepdir /lib/firmware/intel-ucode + + iucode_tool "${opts[@]}" || die "iucode_tool ${opts[@]}" + + rm -r "${ED}"/lib/firmware/intel-ucode-temp || die + + elif ! use split-ucode; then # hostonly disabled + rm -r "${ED}"/lib/firmware/intel-ucode || die + fi + + # Because it is possible that this package will install not one single file + # due to user selection which is still somehow unexpected we add the following + # check to inform user so that the user has at least a chance to detect + # a problem/invalid select. + local _has_installed_something= + if use initramfs && [[ -s "${_initramfs_file}" ]]; then + _has_installed_something="yes" + elif use split-ucode; then + _has_installed_something=$(find "${ED}/lib/firmware/intel-ucode" -maxdepth 0 -not -empty -exec echo yes \;) + fi + + if use hostonly && [[ -n "${_has_installed_something}" ]]; then + elog "You only installed ucode(s) for all currently available (=online)" + elog "processor(s). Remember to re-emerge this package whenever you" + elog "change the system's processor model." + elog "" + elif [[ -z "${_has_installed_something}" ]]; then + ewarn "WARNING:" + if [[ ${MICROCODE_SIGNATURES} != ${MICROCODE_SIGNATURES_DEFAULT} ]]; then + ewarn "No ucode was installed! Because you have created this package" + ewarn "using MICROCODE_SIGNATURES variable please double check if you" + ewarn "have an invalid select." + ewarn "It's rare but it is also possible that just no ucode update" + ewarn "is available for your processor(s). In this case it is safe" + ewarn "to ignore this warning." + else + ewarn "No ucode was installed! It's rare but it is also possible" + ewarn "that just no ucode update is available for your processor(s)." + ewarn "In this case it is safe to ignore this warning." + fi + + ewarn "" + + if use hostonly; then + ewarn "Unset \"hostonly\" USE flag to install all available ucodes." + ewarn "" + fi + fi +} + +pkg_prerm() { + # Make sure /boot is mounted so that we can remove /boot/intel-uc.img! + use initramfs && ! use dist-kernel && mount-boot_pkg_prerm +} + +pkg_postrm() { + # Don't forget to umount /boot if it was previously mounted by us. + use initramfs && ! use dist-kernel && mount-boot_pkg_postrm +} + +pkg_postinst() { + if use initramfs; then + if use dist-kernel; then + dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}" --all + else + # Don't forget to umount /boot if it was previously mounted by us. + mount-boot_pkg_postinst + fi + fi + + # We cannot give detailed information if user is affected or not: + # If MICROCODE_BLACKLIST wasn't modified, user can still use MICROCODE_SIGNATURES + # to to force a specific, otherwise blacklisted, microcode. So we + # only show a generic warning based on running kernel version: + if kernel_is -lt 4 14 34; then + ewarn "${P} contains microcode updates which require" + ewarn "additional kernel patches which aren't yet included in kernel <4.14.34." + ewarn "Loading such a microcode through kernel interface from an unpatched kernel" + ewarn "can crash your system!" + ewarn "" + ewarn "Those microcodes are blacklisted per default. However, if you have altered" + ewarn "MICROCODE_BLACKLIST or MICROCODE_SIGNATURES, you maybe have unintentionally" + ewarn "re-enabled those microcodes...!" + ewarn "" + ewarn "Check \"${EROOT}/usr/share/doc/${PN}-*/releasenot*\" if your microcode update" + ewarn "requires additional kernel patches or not." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.7.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.7.ebuild index 2c8f76df918..c8c4d8f072e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.7.ebuild @@ -18,7 +18,7 @@ S="${WORKDIR}"/${P/_/-} LICENSE="GPL-2+" SLOT="0/12" # libcryptsetup.so version if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi CRYPTO_BACKENDS="gcrypt kernel nettle +openssl" 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 c75b91888f8..c84b3a484a4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/Manifest @@ -2,6 +2,8 @@ DIST zfs-2.1.16.tar.gz 35187215 BLAKE2B 8bb90903f3747589fff94a810584de54d7f598b0 DIST zfs-2.1.16.tar.gz.asc 836 BLAKE2B b46614399ca63d9c88216c55bb2177cc0c28f4da2cb6be3ee361efca994309abff46fdf6ad6b0bad448c44e9e84ee40e2183d1b482e04844317f14744bab5c1f SHA512 d2d94a4e3ffe182e86fa3319cb9661688125f378ffa1e5768ee89033f796a1f52f877c382588fb1f434686e30bc4e65e3f08ceac0dd3dd7f8f751ba6182c3317 DIST zfs-2.2.10.tar.gz 33889026 BLAKE2B 47d11f1e515e7028ef548d5167bfca26135dc331dccaaf69c3b5095bb49788574f628949f19c423c5ca6cff2c5e6defb6a4575298821ab73a18964335fa3e1a6 SHA512 e15cd145072ebb444d15cbec11c770e28c5642ee7b8e7371f1cff968c32c0b121c591ae61a0d70a1f7dba312ac6ae25bd68af2f0b80b4debf1fa6ea05b60b5de DIST zfs-2.2.10.tar.gz.asc 858 BLAKE2B 3c44fa8ff580388ce8b2d915a2f89ed065179d483ade01e4607a428ba37c42275d7c3ec5e251ab24381f743bb20a81c3b44fb1593dd76244396ca295bf9e6e8a SHA512 a2e6d9e22b41dfc995dfaceb1f1adf7d75fea01b0ec3c66c255a121f7faa0d60e445df4ff0fb6cc85e5a4d68d7d3152923f48fe870ebe16a0c69187a9adbe52e +DIST zfs-2.2.11.tar.gz 33878728 BLAKE2B 06ef8007a9585c3179b21bc83df33c33906080ccfc13b5de5c0c5597b2d802aff1edc83901a9105bae04b4571b9281124f1b6e18787dbc0295405d969cf66437 SHA512 fca60239b5d3fb222327e4d4a5c763d717cee887796edd636f10d46f8756d38df56cfb18ecc4b56db491e723c9a5eb4b7ea771362e98beb723bae4acf7e35073 +DIST zfs-2.2.11.tar.gz.asc 858 BLAKE2B 5c32523caffa97b36814281dd2653cbd91452119f683367ad0eedd174b4992d1ad196659bcc99d7d9632afce58c7b25e142d07db634aa32227144f30f48cbbfd SHA512 d4d06f7d121c7ed1856cf4502bfcd3cf1666fb2026a46a868d50d7c67d67f86343b6b99ba5e11c54b7b4a3252d8eb1892bb12e94d52bd3ab57dda1bf819e4632 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.2.9.tar.gz 33864041 BLAKE2B abafd4da0c98cf93a2648150c859ffc6847aa2f5bfa59f3b6cc1619a2313a1600923c7a07c9e647c6c0f40eda21fb0985de81a436c44513a5bd99984a18329a5 SHA512 bed0f7794ff7898557a4854d8634a96f9be5368b0264558d980e70664fe1f02a35b05a96b5e92acd40e2b741373ca4a312e31ad4f69c4d639c817cce3988f382 @@ -14,3 +16,5 @@ DIST zfs-2.3.7.tar.gz 34431113 BLAKE2B 8b11b1bd69861426d82fa4c25a320082ab1b12509 DIST zfs-2.3.7.tar.gz.asc 858 BLAKE2B 775f7d82e47e8664a0e285f3470e59b4ab8338826d0226267cb669e114cd128354266d5797714629a9474c01049c35b04d00cef81086c66131a603ece32188d3 SHA512 6a945170563ee7dd4df2ce0131596418a52905e0915e65a4b2b55ee13d7020a0a7ea03abcb5651b0b84459656691bb339ef20748022c2bafdb643bb0df56235b DIST zfs-2.3.8.tar.gz 34456706 BLAKE2B 74b3270d5daddfcb46947564aa544859247ca5b6c3298f42c5bf4554f717b14f99fafe230e6c0c62d1fd295203c38c29440dcf2204b55b4bcdf615f01221f410 SHA512 4a993588505259eccb99ff9b763eb4ebf92045fa18b528d308ca8f8f9e74effc7df53f80d0e31520f2353726baa531821dc02288115835eb557f4948b36d986f DIST zfs-2.3.8.tar.gz.asc 858 BLAKE2B 269ee57e28ccbadebd6e7c17d4400adee8387235a53422c05acdf2646fda42a2a7b3598cbeb30f84b66b5a3b0dbc23458c806904f477579b7107204e3dd46ce7 SHA512 a8c644e70bf591223dc653086684bca8ebf3db54531254612e6b274118905789005fe17f3d00ac42aebc4af734584e792e279bdf803be97c274fb61ff9586987 +DIST zfs-2.3.9.tar.gz 34453599 BLAKE2B ef2ed180aedf97578b6bf71181305ff71cda44ed859a8fa7e79156a17d35db1c89a6453e27a43910532312227dfdc645c447ff7ed1595c4a5d6376edeee38437 SHA512 2d659ebcfeb5f8a84e04dd99ff8206473f0582efa61117288e2928e2e01437a1e0e7a6aea3bf2d58c3b79f810ce0708fef61f915e379bfbf922b15ed8cba00e6 +DIST zfs-2.3.9.tar.gz.asc 858 BLAKE2B a89c06c0c30455b4c0479250f7bb39802c39eaa54f257eae1f2fc36c534bfc6eedd3d91ce583bf0368bb7bdc377f8b90e66e14dc1672fccb7506909080aba088 SHA512 3b4a99349901ef0c4490322a86ff2abc5e7eb0529d7a627a37f2f3579edc3ecf8ae862e5f51fef05f6c46a2dda6ab890aacd3ffac60a87e6509c2ce541808012 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.2.11.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.2.11.ebuild new file mode 100644 index 00000000000..a4f9ee657f5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.2.11.ebuild @@ -0,0 +1,207 @@ +# Copyright 1999-2026 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.17 +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? ( + " + 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.9.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.9.ebuild new file mode 100644 index 00000000000..5a445a51984 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.9.ebuild @@ -0,0 +1,313 @@ +# Copyright 1999-2026 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_{12..15} ) + +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}"/${PN}-2.1.11-gentoo.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.4.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.4.ebuild new file mode 100644 index 00000000000..526d89fecd0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.4.ebuild @@ -0,0 +1,440 @@ +# Copyright 1999-2026 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_{12..15} ) + +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=7.2 +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/7" +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}] + ) + ) +" + +# awk is used for some scripts, completions, and the Dracut module +RDEPEND=" + ${DEPEND} + !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 + ) + !" + 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 + + # strip forced -Werror, #904378 + sed -i '/BUILD_FREEBSD_TRUE/s/-Werror //g' Makefile.in || die + + 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-kernel/dracut/Manifest b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/Manifest index fbf1436969f..cb298b7e3b4 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,2 +1,3 @@ DIST dracut-110-r1.tar.gz 573549 BLAKE2B d7b92773d732b8cee60e2625caac2f69b47438a7f8b30b889165253cfcf94b2364be3b10bb2b9b477e957a6d284cf195581905df0ad4365ebe03483ff2a61d1f SHA512 8e2ed2d3b35e3e82d1ffa809e1cf87cb8108402a66dad25000b0fd21f24dcda2eb5fd944b55edf108a4e37793d0d98814413382e554e808cd2e1a2a5bb8a420e DIST dracut-111.tar.gz 586307 BLAKE2B 1def3957013c1508cf70018b4b5aeae333b459e50a7fc2945cd0c7a99f1c6942c8280888239273b62cdcfa3471a980d74b3769b5e3d0536be4f1729d102074f0 SHA512 4c8a3e1e82bfc1dbe155241564bc93bedc2b321566002ccc643697b50173b8e564d03b1bbff4f49602e0cb7abbee21dfb14aadc453ac9703a846c160d070b4bc +DIST dracut-112.tar.gz 601803 BLAKE2B 8affe092f6876ba52f59e08b33341c108c378f97f761b638f1d4f5520399aa87bb4bbafb362f5edc15fdabd3ebf0c7acec667ee3762535f9b780da522886f205 SHA512 37a3f15db68ab7a9a9ad3ba5fee36559d20692cba714234737d559c453568dbde632c6c0f197c3e531d62ba6ff632af21b52da614182327d00ca088b820b53c9 diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-112.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-112.ebuild new file mode 100644 index 00000000000..64a73dd65bb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-112.ebuild @@ -0,0 +1,247 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +CARGO_OPTIONAL=1 + +inherit cargo 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" +else + if [[ "${PV}" != *_rc* ]]; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + fi + SRC_URI="https://github.com/dracut-ng/dracut/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" +fi + +DESCRIPTION="Generic initramfs generation tool" +HOMEPAGE="https://github.com/dracut-ng/dracut-ng/wiki" + +LICENSE="GPL-2" +SLOT="0" +IUSE="dracut-cpio selinux systemd test" +RESTRICT="test" +PROPERTIES="test? ( test_privileged test_network )" + +COMMON_DEPEND=" + >=sys-apps/kmod-23 + systemd? ( >=sys-apps/systemd-257:= ) +" +RDEPEND="${COMMON_DEPEND} + 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/dinit[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="${COMMON_DEPEND} + elibc_musl? ( sys-libs/fts-standalone ) +" + +BDEPEND=" + || ( + app-text/asciidoc + dev-ruby/asciidoctor + ) + app-text/docbook-xml-dtd:4.5 + >=app-text/docbook-xsl-stylesheets-1.75.2 + >=dev-libs/libxslt-1.1.26 + virtual/pkgconfig + dracut-cpio? ( ${RUST_DEPEND} ) + 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 +) + +pkg_setup() { + use dracut-cpio && rust_pkg_setup +} + +src_configure() { + local myconf=( + --bashcompletiondir="$(get_bashcompdir)" + --disable-dracut-cpio + --enable-network-legacy + --prefix="${EPREFIX}/usr" + --sysconfdir="${EPREFIX}/etc" + --systemdsystemunitdir="$(systemd_get_systemunitdir)" + ) + + if ! has_version -b dev-ruby/asciidoctor; then + myconf+=( --disable-asciidoctor ) + fi + + # this emulates what the build system would be doing without us + append-cflags -D_FILE_OFFSET_BITS=64 + + tc-export CC PKG_CONFIG + + # https://bugs.gentoo.org/968765 + use systemd || export SYSTEMD_CFLAGS= SYSTEMD_LIBS= + + edo ./configure "${myconf[@]}" + if use dracut-cpio; then + cargo_gen_config + cargo_src_configure + fi +} + +src_compile() { + default + if use dracut-cpio; then + pushd src/dracut-cpio >/dev/null || die + cargo_src_compile + popd >/dev/null || die + fi +} + +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 + ) + default + if use dracut-cpio; then + exeinto /usr/lib/dracut + doexe "src/dracut-cpio/$(cargo_target_dir)/dracut-cpio" + fi + + # Use our own from sys-kernel/installkernel[dracut] + rm -r "${ED}/usr/lib/kernel" || die +} + +pkg_preinst() { + # Remove directory/symlink conflicts + # https://bugs.gentoo.org/943007 + local save_nullglob=$(shopt -p nullglob) + shopt -s nullglob + local module + for module in "${EROOT}"/usr/lib/dracut/modules.d/{80test,80test-makeroot,80test-root}; do + if [[ ! -L ${module} && -d ${module} ]]; then + rm -rv "${module}" || die + fi + local backups=( "${module}".backup.* ) + if [[ ${#backups[@]} -gt 0 ]]; then + rm -v "${backups[@]}" || die + fi + done + eval "${save_nullglob}" +} + +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-alternatives/gpg[reference]" "app-alternatives/gpg[freepg(-)]" + 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-libs/binutils-libs/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/Manifest index 4780068275e..7aaadaa4caf 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/Manifest @@ -31,3 +31,6 @@ DIST binutils-2.46.1-patches-1.tar.xz 6916 BLAKE2B 4588923757470819d7d0f344b8c14 DIST binutils-2.46.1-patches-2.tar.xz 9852 BLAKE2B e024d51fc049e71ce215024ed39c4dae2d459f97f83ed1c6dec9cea9da923462150bf830712e1be17b12f804e19454f13d6a663dd2c5724474ac78e46f16068f SHA512 221000686c65e31a1727aba2dd3c2f23172b3423fa0f1d6b277ec0ba01f8846ad85c51483e292cbd5c44f206639e222d34246cefb7660e2c1c4730f421715487 DIST binutils-2.46.1.tar.xz 28636456 BLAKE2B a5a0578281d6315a43437ccf7636b3b91185c2706f1582b22af6973f55a86f5b4bc7eb03aa9ceaec547070152c08c982bc40ee9ce07679f2e3bb49e050bae76c SHA512 a5c65e56e400ed3fb8906a995dbb93eb5bea54b16344244653d7f44ef29ceb60270da263b19d25302c37759784e14fcb4b9421b29e0e2c7f450bd99f6bb4595c DIST binutils-2.46.1.tar.xz.sig 395 BLAKE2B 5c8d5fc9fd3abf8de72e603d5f529d8fdef2345851d6af6644e443e95e50558a6b2006914edf54094178075b1ed9e51a630773b7c74e7b421eacba4bb8028a29 SHA512 e7746a14c74a04cee1a7b82bd463ff42f304e3646e4808a03ac7ee8d367a61627297c30816f008b919b8db7cc706062d927f424a787e0f1da3ad432ec18cfa0f +DIST binutils-2.47-patches-1.tar.xz 9736 BLAKE2B 8a0aad0635792c5474b7ddeda234e146b57cebf3346474fbd1e53c3f9f30df317be1363967cffbd46605adc302a172bf2eec5d94a256169eb1ccbd2b309b4a32 SHA512 82986da3abcc0e751d0dcd8df1615688906d7d5b01490969fe4afbc4b400c79b6eb35afd09c56668f930e67082ec751895a635af42021a9162f3fcaa84eda11b +DIST binutils-2.47.tar.xz 29034716 BLAKE2B 329cae8792c500c71d8cce03aab127e8d77f1d409f74872082e64df5163e5c730fe585f8f9c21905cb6227cae18e6675ae4caed653223a26b5d9d4fdb90910ea SHA512 3126a1064374d8da40d4d70630c204ed1e75d542c447d53fca9778c7ceff095c28e9b445e15a313fef9729082d7966471ee6b5b715d479aa6d568528743e1d98 +DIST binutils-2.47.tar.xz.sig 833 BLAKE2B 3a3cd16813153eeba88e604d3137c695cba91132ac89ec26a0d82e35332028db3302954f5812120d5e79379a21670a33703b571315970a9570759fd3cf03088d SHA512 ca3e62d4746da129405c7d69e757f295aed68fbe267c9efc8d248cf2ce98fde55d953e663896507db494dbbaa5a904cd82d159ef9d9b26944e047bff1e40439c diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.46.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.46.1.ebuild index 68624167535..d3819bd75ed 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.46.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.46.1.ebuild @@ -41,7 +41,7 @@ else " [[ -z ${PATCH_VER} ]] || SRC_URI+=" https://distfiles.gentoo.org/pub/proj/toolchain/${MY_PN}/patches/${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" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-binutils )" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.47.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.47.ebuild new file mode 100644 index 00000000000..68624167535 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.47.ebuild @@ -0,0 +1,266 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dot-a flag-o-matic libtool toolchain-funcs multilib-minimal + +DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages" +HOMEPAGE="https://sourceware.org/binutils/" + +LICENSE="|| ( GPL-3 LGPL-3 )" +IUSE="64-bit-bfd cet multitarget nls static-libs test" + +# Variables that can be set here (ignored for live ebuilds) +# PATCH_VER - the patchset version +# Default: empty, no patching +# PATCH_BINUTILS_VER - the binutils version in the patchset name +# - Default: PV +# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/... +# for the patchsets + +PATCH_VER=1 + +MY_PN=binutils +MY_P=${MY_PN}-${PV} + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + SLOT="0/${PV}" +elif [[ ${PV} == *9999 ]]; then + inherit git-r3 + SLOT="0/$(ver_cut 1-2)" +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/binutils.asc + inherit verify-sig + PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} + PATCH_DEV=${PATCH_DEV:-dilfridge} + SRC_URI=" + mirror://gnu/binutils/${MY_P}.tar.xz + verify-sig? ( mirror://gnu/binutils/${MY_P}.tar.xz.sig ) + " + [[ -z ${PATCH_VER} ]] || SRC_URI+=" https://distfiles.gentoo.org/pub/proj/toolchain/${MY_PN}/patches/${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" + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-binutils )" +fi + +BDEPEND+=" + nls? ( sys-devel/gettext ) + test? ( dev-util/dejagnu ) +" +DEPEND="virtual/zlib:=[${MULTILIB_USEDEP}]" +# Need a newer binutils-config that'll reset include/lib symlinks for us. +RDEPEND="${DEPEND} + >=sys-devel/binutils-config-5 +" + +RESTRICT="!test? ( test )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/bfd.h +) + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git + https://github.com/gentoo/binutils-patches + " + EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git + git-r3_src_unpack + mv patches-git/9999 patches || die + + if [[ ${PV} != 9999 ]] ; then + EGIT_BRANCH=binutils-$(ver_cut 1)_$(ver_cut 2)-branch + fi + 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 + " + S=${WORKDIR}/binutils + EGIT_CHECKOUT_DIR=${S} + git-r3_src_unpack + else + use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${MY_P/-hppa64/}.tar.xz{,.sig} + unpack ${MY_P}.tar.xz + + cd "${WORKDIR}" || die + unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz + + # _p patch versions are Gentoo specific tarballs ... + local dir=${MY_P} + dir=${dir/-hppa64/} + + S=${WORKDIR}/${dir} + fi + + cd "${WORKDIR}" || die +} + +src_prepare() { + if [[ -n ${PATCH_VER} ]] ; then + einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" + eapply "${WORKDIR}/patches" + fi + + # Fix cross-compile relinking issue, bug #626402 + elibtoolize + + if [[ ${CHOST} == *-darwin* ]] ; then + # somehow libtool/configure is messed up and (custom patch at + # upstream?) and misdetects (basically assumes) nm can be called + # with -B arg -- can't run eautoreconf (fails), so patch up + # manually, this would break any target that needs -B to nm + sed -i -e 's/lt_cv_path_NM="$tmp_nm -B"/lt_cv_path_NM="$tmp_nm"/' \ + libctf/configure || die + fi + + # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html + # Avoid really confusing logs from subconfigure spam, makes logs far + # more legible. + export MAKEOPTS="--output-sync=line ${MAKEOPTS}" + + default +} + +pkgversion() { + printf "Gentoo ${PVR}" + [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}" +} + +src_configure() { + lto-guarantee-fat + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + # portage's econf() does not detect presence of --d-d-t + # because it greps only top-level ./configure. But not + # libiberty's or bfd's configure. + --disable-dependency-tracking + --disable-silent-rules + --enable-obsolete + --enable-shared + --enable-threads + # Newer versions (>=2.24) make this an explicit option. #497268 + --enable-install-libiberty + --disable-werror + --with-bugurl="https://bugs.gentoo.org/" + --with-pkgversion="$(pkgversion)" + $(use_enable static-libs static) + # The binutils eclass enables this flag for all bi-arch builds, + # but other tools often don't care about that support. Put it + # beyond a flag if people really want it, but otherwise leave + # it disabled as it can slow things down on 32bit arches. #438522 + $(use_enable 64-bit-bfd) + # This only disables building in the zlib subdir. + # For binutils itself, it'll use the system version. #591516 + --without-zlib + --with-system-zlib + # We only care about the libs, so disable programs. #528088 + --disable-{binutils,etc,ld,gas,gprof,gprofng} + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{gdb,gdbserver,libbacktrace,libdecnumber,readline,sim} + # Strip out broken static link flags. + # https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + # We pull in all USE-flags that change ABI in an incompatible + # way. #666100 + # USE=multitarget change size of global arrays + # USE=64-bit-bfd changes data structures of exported API + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def) + + # Avoid automagic dependency on (currently prefix) systems + # with debuginfod library, bug #754753 + --without-debuginfod + + # Revisit if it's useful, we do have binutils[zstd] though + --without-zstd + + # Allow user to opt into CET for host libraries. + # Ideally we would like automagic-or-disabled here. + # But the check does not quite work on i686: bug #760926. + $(use_enable cet) + ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + use nls \ + && myconf+=( --without-included-gettext ) \ + || myconf+=( --disable-nls ) + + if [[ ${CHOST} == *-darwin* ]] && use nls ; then + # fix underlinking in opcodes + sed -i -e 's/@SHARED_LDFLAGS@/@SHARED_LDFLAGS@ -lintl/' \ + "${S}"/opcodes/Makefile.in || die + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" + + # Prevent makeinfo from running as we don't build docs here. + # bug #622652 + sed -i \ + -e '/^MAKEINFO/s:=.*:= true:' \ + Makefile || die +} + +multilib_src_test() { + ( + # Tests don't expect LTO + filter-lto + + # If we have e.g. -mfpmath=sse -march=pentium4 in CFLAGS, + # we'll get lto1 warnings for some tests which cause + # spurious failures because -mfpmath isn't passed at + # link-time. Filter accordingly. + # + # Alternatively, we could pass C{C,XX}_FOR_TARGET with + # some (ideally not all, surely would break some tests) + # stuffed in. + filter-flags '-mfpmath=*' + + # lto-wrapper warnings which confuse tests + filter-flags '-Wa,*' + + # bug #637066 + filter-flags -Wall -Wreturn-type + + # Note that we need 'check' explicitly if ever cleaning this + # up: the default `src_test` check for the 'check' target + # with `-n` may fail with parallel make and silently skip tests (bug #955595) + emake -k check \ + CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}" \ + CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}" \ + LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}" \ + CFLAGS="${CFLAGS}" \ + CXXFLAGS="${CXXFLAGS}" \ + LDFLAGS="${LDFLAGS}" + ) +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + # Provided by dev-debug/gdb instead + if [[ ${PV} != 9999 ]] ; then + rm "${ED}"/usr/share/info/sframe-spec.info || die + fi + + # Provide libiberty.h directly. + dosym libiberty/libiberty.h /usr/include/libiberty.h +} + +multilib_src_install_all() { + use static-libs || find "${ED}"/usr -name '*.la' -delete + # Explicit "${ED}" as we need it to do things even w/ USE=-static-libs + strip-lto-bytecode "${ED}" +} 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 90f80b44900..bfe82b5be35 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 @@ -27,17 +27,15 @@ DIST glibc-2.40-patches-11.tar.xz 227044 BLAKE2B 2a8c799a88596f3fc28bc45fc206f23 DIST glibc-2.40.tar.xz 18752204 BLAKE2B 8593cab5b2549b77159b6866fbb40b917e491fd5bc0814f7f85b6529166d78d4583436450c479b86cdfe468304fc4d2a9ba8294230a55dbc4c15e89c3ab6c000 SHA512 33caf91dbfddde6480b7cdf7a68b36aff8c522bfee56160af26af297f1b768668edb08bc4e1a7ff61c64721e3c1d49c347a5dd01c5edd3b914ee6479c8b27885 DIST glibc-2.41-patches-12.tar.xz 168252 BLAKE2B c844fba0871e7aa60af636c0569d01beebd314367081313635598074643449cc047a07b88979d341ba8327ac7becd3aef8b20662c8490565d29c49ade474cb8b SHA512 b780db3e31f3724cc19129bc11f49e4ad649a1a2b8174f990041640c81e03fcda3c5f3c25dffd215c7b1173e5ebb226312af58112e9798ba7254889d7b05f454 DIST glibc-2.41.tar.xz 19344868 BLAKE2B 4da62f489ba7a95bb069c2cfea8cf78e4d37e3a5f7e1736239670ba1dca12b69aa77bd00ced078c27d91b1e622c58cbd70258161a9d18c5b3bcc95863b8d744d SHA512 894a3e5a796bc13df30c26a5bfbe4d60b5dbdaac54e7763432235124b547070c7dda88c50584536870cab79183d8cad73a3ac6ed09bfe54fa8482aad07253169 -DIST glibc-2.42-patches-7.tar.xz 69864 BLAKE2B 59c1ec784d49ccce40c14a3b09c3edb7ad557677dc9ab9af526ca27b3716fa3727e10ef34c2c1ea09a9855ec0d8553ce873cbbf75af57e6e0717ef97d1d37def SHA512 9ac6ba2392b76dce2cf39f6e7b054166d0fc07395b7958b9a84bbb1654ae3e3548113e5fe5bfcd4b9000668c4ea07a70c8c1e5688c0e72e613462383222ae48f -DIST glibc-2.42-patches-8.tar.xz 77696 BLAKE2B dfde3bce38f34d99e1011532ce19fdb34cc1f59fae0d8d6df4b285520e7e7c2995d14be84dc0127346b38ab9e313c4aa0eb4c112a49dc6f28822f55f16bec206 SHA512 d482b7aff496db59efb0c91f2eb4b5302374986fa241e9f9248bfceb6296c1b65ca26160019564b3f40c7d0f7512ed096d771b98ce563d4889a3499880cd9c27 DIST glibc-2.42-patches-9.tar.xz 86380 BLAKE2B ecc9869d2e3c5e33170c05dc02c47e033450e19f590e4eeb63a5735773fc81b907038a22a990412596505b0040b4378ecffef0eec1db43602d335408b15fcc4b SHA512 92a207e8de80914437e05d59ae070331afc5fe8f48459c0608961277150208f7e4eb73838b1cfdcb737ce9d7fb2b7b96711c33f134d213288316e10430a89fc9 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-2.43-patches-1.tar.xz 23328 BLAKE2B 4d7d719d234af725861b06eee6b86c269c88386efbd6dc411fa52c196b00541c07247ef8d0e2eea02d0369da0f09c440c8ccef4a03881aad568a84978eecb17e SHA512 33d260fcfe96e5b9bf85bd12cc8f83915b197b1bf512f6c06f8542df01803b1b5152dd2e60723b193ad26885fb1473f750d556a1abfe213d39d6df30ad19b9a1 -DIST glibc-2.43-patches-2.tar.xz 90172 BLAKE2B 9927b0bfc836597047e2c268a1d5c7b593f0be1e89f5ed5156c8bb34298f13bdd4d80fd813b4535442ce6d1c535753b6f3cbca4f3f0e9bdda890029e1e3d2de3 SHA512 363f815b41e9ffe809e1db61864efa4c61666e7033df95191d58da44582a64555cedb9197e6d6a8fb2a6c6f0609cf07ca5cab2ab2f840f723bbbc4a099d3d00e DIST glibc-2.43-patches-3.tar.xz 99856 BLAKE2B 4bc4b2fc9b23e7e2d295b8f87919ed676147d3520b27e773db48200768c3f6647a4383fcf8962881611d622ddbc71fe1bc3732fbb7df5c1968ea78ab047226a6 SHA512 0070d0b8552f8385e3133f522dfb563b9fa5f5663e1cce3c4b99a4e1d9da57a4c0305e3908f1c739f4e17113f4775b253af83fc8ee3885a0305aebc970314edf +DIST glibc-2.43-patches-4.tar.xz 131800 BLAKE2B 011f236e3ad30a61fc0592787eb3db875e066a696f2765cb9ebbf6cfbc29c2038e660415661c7aae47f9f5fb145655338bed78bf0ca8815d65ee7e25b3bce10a SHA512 acc4ac2ad4f17a3f0e824cf1674768a75776890ca11c11bc8d1c7d85cc5a074f678f77746ea766301c031012fef3edb0807abc87afd201ffe77036c0036ee660 DIST glibc-2.43.tar.xz 20297012 BLAKE2B a764edf3d0d52809aa94cf1a8f73341159d226ecc2a595aa3c9e1d1fd4b2d4eb9a599d70bda8812b73d8ef58b39746efdd34026772e38c0f091fe071d461ea98 SHA512 25765f86bf54a22fc69dd13023ec9be59bd7e1f9d6ea1630cf21851898df2043bb8a01538c4b5fdd06495d0163289362b0768b391b0617f709b89a777168291c DIST glibc-2.43.tar.xz.sig 1018 BLAKE2B 99fb3f296795498f6de8090d537e32d8af0bfa75c7d8145ba4c35ca1b54c281fd2b9cb121886aef1800c0a6e508244914a2de67339d113561a9fc2c515110924 SHA512 6e26f0edee146710bcb73c3890c455e8b479009f99d284c43ea695b73bfe45e4ba47d1460300ce8c7496689b0c21a1c77e6359e005957973648b86755160c8f5 DIST glibc-2.44-patches-1.tar.xz 29216 BLAKE2B ba7ef5f516353b87bbb399f3e4eecd8bfb3779c572552a900eb9de7340044b9f943ebd040e0e817f1318631bdfe1843695607897597fe07dc72651eee5ffc5c0 SHA512 2d8765ecd7f37d489252ae8de7b64e6677e4d80a463ca59f6b5b0914305bcb704468781d4cbed85b6ccec2762c662cd0db60553e32cb5b55cbdace951037c391 +DIST glibc-2.44-patches-2.tar.xz 57460 BLAKE2B f37aa11b3b80b3f9aafb03acb1ba853148c9ae3865869d3f9bac39180e753e20cf3872cb4dc1fd0c3fafd7d5c83548707ea33bb64ad0d7e8ea514d002373a3b6 SHA512 f660d9b98e4edac96484d9c85a01f52cba4444ff9e3898bd62edae3cacfbce7508f1c64b94cec19eff59db564456e47d5d562658e204b6f3582d7f0baff3da35 DIST glibc-2.44.tar.xz 20620544 BLAKE2B f943e302ad4e44a204e4c5d85460653bec030717c2a502f16764d74bd6d87c280e126f37820b96ec726aff611a8c4e0dba95a7b4d72907adcb0aa88d304e4823 SHA512 963dc0275f7738653379909b64ee32e28f13cca77440f2cf9bd0ab82cb183f6cd1f7376d25cc5442de69b972713bd81bf0e38dbcca9b2a4d6649843e76fd50a5 DIST glibc-2.44.tar.xz.sig 870 BLAKE2B 0ecb4965c61714a49f871b3ac24cafe8d6b79ce039c5364082fd8e61f6ac4102f0fab8b26f130707daf9ec6dad5a9b29198e56533ea3d7d3351538ada3f52f02 SHA512 e2034e369d2c233c9f9e155d6bc4b5e7472cace8a000253514a08b4dac3be6ed59cafe9aa6ceea2bdd07678291528c7937b358f43ab02a6f09422e7498837494 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.42-r5.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.42-r5.ebuild deleted file mode 100644 index 4aa40f80a75..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.42-r5.ebuild +++ /dev/null @@ -1,1861 +0,0 @@ -# Copyright 1999-2026 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_{11..14} ) -TMPFILES_OPTIONAL=1 - -EMULTILIB_PKG="true" - -# Gentoo patchset (ignored for live ebuilds) -PATCH_VER=7 -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 "$(get_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 - if is_linux ; then - 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 - else - # we must be using hurd then - local ldso_abi_list=( - # x86 - amd64 /lib64/ld-x86-64.so.1 - x86 /lib/ld.so.1 - ) - fi - 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 - - if is_linux ; then - # 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 - fi - - # On Hurd, glibc and (unpatched) gcc tend to disagree about the proper location for - # the dynamic loader. Which is maximally stupid since this one information is hardcoded - # into every single binary, and even if we were to fix *our* gcc it could still prevent - # us from running binaries prepared anywhere else... - - if is_hurd && has amd64 $(get_install_abis) ; then - # First, let's check for sanity - if [[ -f "$(alt_prefix)/lib/ld-x86-64.so.1" ]] ; then - die "Somehow your amd64 hurd glibc installed /lib/ld-x86-64.so.1 ... this should not happen." - fi - - # Then make a compatibility symlink. - dosym ../lib64/ld-x86-64.so.1 "$(alt_prefix)/lib/ld-x86-64.so.1" - fi - - if is_hurd && has x86 $(get_install_abis) ; then - # First, let's check for sanity - if [[ -f "$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" ]] ; then - die "Somehow your x86 hurd glibc installed ld.so ... this should not happen." - fi - - # Then make a compatibility symlink. - dosym ld.so.1 "$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" - fi - - # 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-r6.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.42-r6.ebuild deleted file mode 100644 index 980ea27506f..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.42-r6.ebuild +++ /dev/null @@ -1,1861 +0,0 @@ -# Copyright 1999-2026 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_{11..14} ) -TMPFILES_OPTIONAL=1 - -EMULTILIB_PKG="true" - -# Gentoo patchset (ignored for live ebuilds) -PATCH_VER=8 -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 "$(get_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 - if is_linux ; then - 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 - else - # we must be using hurd then - local ldso_abi_list=( - # x86 - amd64 /lib64/ld-x86-64.so.1 - x86 /lib/ld.so.1 - ) - fi - 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 - - if is_linux ; then - # 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 - fi - - # On Hurd, glibc and (unpatched) gcc tend to disagree about the proper location for - # the dynamic loader. Which is maximally stupid since this one information is hardcoded - # into every single binary, and even if we were to fix *our* gcc it could still prevent - # us from running binaries prepared anywhere else... - - if is_hurd && has amd64 $(get_install_abis) ; then - # First, let's check for sanity - if [[ -f "${D}/$(alt_prefix)/lib/ld-x86-64.so.1" ]] ; then - die "Somehow your amd64 hurd glibc installed /lib/ld-x86-64.so.1 ... this should not happen." - fi - - # Then make a compatibility symlink. - dosym ../lib64/ld-x86-64.so.1 "$(alt_prefix)/lib/ld-x86-64.so.1" - fi - - if is_hurd && has x86 $(get_install_abis) ; then - # First, let's check for sanity - if [[ -f "${D}/$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" ]] ; then - die "Somehow your x86 hurd glibc installed ld.so ... this should not happen." - fi - - # Then make a compatibility symlink. - dosym ld.so.1 "$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" - fi - - # 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.43-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.43-r3.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.43-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.43-r3.ebuild index 4d8fe312db3..2197eaef895 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.43-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.43-r3.ebuild @@ -12,8 +12,7 @@ TMPFILES_OPTIONAL=1 EMULTILIB_PKG="true" # Gentoo patchset (ignored for live ebuilds) -PATCH_VER=2 -PATCH_DEV=dilfridge +PATCH_VER=4 # gcc mulitilib bootstrap files version GCC_BOOTSTRAP_VER=20201208 @@ -45,8 +44,8 @@ if [[ ${PV} == *9999 ]]; then 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://distfiles.gentoo.org/pub/proj/toolchain/glibc/patches/${P}-patches-${PATCH_VER}.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 )" @@ -223,6 +222,7 @@ XFAIL_NSPAWN_TEST_LIST=( tst-aarch64-pkey tst-bz21269 tst-mlock2 + tst-mseal-pkey tst-ntp_gettime tst-ntp_gettime-time64 tst-ntp_gettimex @@ -356,6 +356,21 @@ setup_target_flags() { just_headers && return 0 case $(tc-arch) in + alpha) + # glibc selects its hand-written assembly mem*/str* routines by the + # host triplet's machine prefix (sysdeps/alpha/preconfigure does + # machine=alpha/$machine), NOT by the -mcpu codegen flag. With the + # bare alpha-*-* CHOST only the generic C is built. Map -mcpu to the + # most specific sysdeps/alpha/alphaev* dir that exists (Implies chain + # alphaev67 -> alphaev6 -> alphaev5) so the tuned asm is selected. + local cpu + case $(get-flag mcpu) in + 21264a|ev67) cpu="alphaev67" ;; + 21264|ev6) cpu="alphaev6" ;; + 21164*|ev5|ev56|pca56) cpu="alphaev5" ;; + esac + [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}" + ;; x86) # -march needed for #185404 #199334 # TODO: When creating the first glibc cross-compile, this test will @@ -387,7 +402,12 @@ setup_target_flags() { [[ ${t} == "x86_64" ]] && t="x86-64" filter-flags '-march=*' # ugly, ugly, ugly. ugly. - CFLAGS_x86=$(CFLAGS=${CFLAGS_x86}; filter-flags '-march=*'; echo "${CFLAGS}") + CFLAGS_x86=$( + CFLAGS=${CFLAGS_x86} + filter-flags '-march=*' + is-flagq '-mfpmath=sse' && append-cflags -msse + echo "${CFLAGS}" + ) export CFLAGS_x86="${CFLAGS_x86} -march=${t}" einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})" fi @@ -1366,6 +1386,9 @@ glibc_src_test() { done fi + # https://inbox.sourceware.org/libc-alpha/lhuikb5ibey.fsf@oldenburg.str.redhat.com/ + local -x GAWK_GNU_MATCHERS=1 + # sandbox does not understand unshare() and prevents # writes to /proc/, which makes many tests fail diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.43.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.44-r1.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.43.ebuild rename to sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.44-r1.ebuild index 9b913086e6f..a97d1a4c429 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.43.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.44-r1.ebuild @@ -6,14 +6,13 @@ 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} ) +PYTHON_COMPAT=( python3_{11..14} ) TMPFILES_OPTIONAL=1 EMULTILIB_PKG="true" # Gentoo patchset (ignored for live ebuilds) -PATCH_VER=1 -PATCH_DEV=dilfridge +PATCH_VER=2 # gcc mulitilib bootstrap files version GCC_BOOTSTRAP_VER=20201208 @@ -21,8 +20,11 @@ GCC_BOOTSTRAP_VER=20201208 # systemd integration version GLIBC_SYSTEMD_VER=20210729 -# Minimum kernel version that glibc requires -MIN_KERN_VER="3.2.0" +# Minimum kernel version that glibc requires (used with USE=old-kernel) +MIN_KERN_VER_UPSTREAM="3.2.0" + +# Minimum kernel version that Gentoo recommends (oldest in the tree) +MIN_KERN_VER_GENTOO="6.1.0" # Minimum pax-utils version needed (which contains any new syscall changes for # its seccomp filter!). Please double check this! @@ -43,10 +45,10 @@ 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 ~sparc ~x86" SRC_URI="mirror://gnu/glibc/${P}.tar.xz" + SRC_URI+=" https://distfiles.gentoo.org/pub/proj/toolchain/glibc/patches/${P}-patches-${PATCH_VER}.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 )" @@ -54,7 +56,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 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" +IUSE="audit caps cet clang compile-locales custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd old-kernel 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 @@ -223,6 +225,7 @@ XFAIL_NSPAWN_TEST_LIST=( tst-aarch64-pkey tst-bz21269 tst-mlock2 + tst-mseal-pkey tst-ntp_gettime tst-ntp_gettime-time64 tst-ntp_gettimex @@ -356,6 +359,21 @@ setup_target_flags() { just_headers && return 0 case $(tc-arch) in + alpha) + # glibc selects its hand-written assembly mem*/str* routines by the + # host triplet's machine prefix (sysdeps/alpha/preconfigure does + # machine=alpha/$machine), NOT by the -mcpu codegen flag. With the + # bare alpha-*-* CHOST only the generic C is built. Map -mcpu to the + # most specific sysdeps/alpha/alphaev* dir that exists (Implies chain + # alphaev67 -> alphaev6 -> alphaev5) so the tuned asm is selected. + local cpu + case $(get-flag mcpu) in + 21264a|ev67) cpu="alphaev67" ;; + 21264|ev6) cpu="alphaev6" ;; + 21164*|ev5|ev56|pca56) cpu="alphaev5" ;; + esac + [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}" + ;; x86) # -march needed for #185404 #199334 # TODO: When creating the first glibc cross-compile, this test will @@ -387,7 +405,12 @@ setup_target_flags() { [[ ${t} == "x86_64" ]] && t="x86-64" filter-flags '-march=*' # ugly, ugly, ugly. ugly. - CFLAGS_x86=$(CFLAGS=${CFLAGS_x86}; filter-flags '-march=*'; echo "${CFLAGS}") + CFLAGS_x86=$( + CFLAGS=${CFLAGS_x86} + filter-flags '-march=*' + is-flagq '-mfpmath=sse' && append-cflags -msse + echo "${CFLAGS}" + ) export CFLAGS_x86="${CFLAGS_x86} -march=${t}" einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})" fi @@ -846,7 +869,7 @@ sanity_prechecks() { [[ ${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 + if is_linux && ! 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." @@ -903,7 +926,13 @@ sanity_prechecks() { die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!" fi - if [[ ${CTARGET} == *-linux* ]] ; then + if is_linux ; then + if use old-kernel ; then + MIN_KERN_VER=${MIN_KERN_VER_UPSTREAM} + else + MIN_KERN_VER=${MIN_KERN_VER_GENTOO} + fi + local run_kv build_kv want_kv run_kv=$(g_get_running_KV) @@ -917,7 +946,7 @@ sanity_prechecks() { eend 1 echo eerror "You need a kernel of at least ${want_kv}!" - die "Kernel version too low!" + die "Kernel version too low! Maybe setting USE=old-kernel helps." fi eend 0 fi @@ -1028,9 +1057,7 @@ src_prepare() { # Patches we should apply only for Hurd to be conservative if is_hurd ; then - eapply "${FILESDIR}"/glibc-2.43-hurd-link-helpers.patch eapply "${FILESDIR}"/glibc-2.43-hurd-CLOCK_MONOTONIC.patch - eapply "${FILESDIR}"/glibc-2.43-hurd-ldconfig.patch fi fi @@ -1090,6 +1117,11 @@ glibc_do_configure() { [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp ) + if use old-kernel ; then + MIN_KERN_VER=${MIN_KERN_VER_UPSTREAM} + else + MIN_KERN_VER=${MIN_KERN_VER_GENTOO} + fi myconf+=( --enable-kernel=${MIN_KERN_VER} ) # Since SELinux support is only required for nscd, only enable it if: @@ -1368,6 +1400,9 @@ glibc_src_test() { done fi + # https://inbox.sourceware.org/libc-alpha/lhuikb5ibey.fsf@oldenburg.str.redhat.com/ + local -x GAWK_GNU_MATCHERS=1 + # sandbox does not understand unshare() and prevents # writes to /proc/, which makes many tests fail @@ -1595,7 +1630,7 @@ glibc_do_src_install() { if is_hurd && has amd64 $(get_install_abis) ; then # First, let's check for sanity - if [[ -f "$(alt_prefix)/lib/ld-x86-64.so.1" ]] ; then + if [[ -f "${D}/$(alt_prefix)/lib/ld-x86-64.so.1" ]] ; then die "Somehow your amd64 hurd glibc installed /lib/ld-x86-64.so.1 ... this should not happen." fi @@ -1605,7 +1640,7 @@ glibc_do_src_install() { if is_hurd && has x86 $(get_install_abis) ; then # First, let's check for sanity - if [[ -f "$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" ]] ; then + if [[ -f "${D}/$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" ]] ; then die "Somehow your x86 hurd glibc installed ld.so ... this should not happen." fi diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libcap-ng/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/libcap-ng/Manifest index 9ca1185fb6c..83fda51293d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libcap-ng/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libcap-ng/Manifest @@ -1,2 +1,2 @@ -DIST libcap-ng-0.8.5.tar.gz 460149 BLAKE2B ce0fc4ebceaa66d6f888f8b752e501bed7513d45231425054340016a6215ce52f0cd81b3a4a54c7c9ec0b623965002d66316c6c37844f0bd132b186ff7c6a41f SHA512 89fb86454847f354c012411ecdc7e17f07bb40d7e9719ca0b93ea81c436113685bbbb5c1b9cb1b7ac92d216c105c687285304135beb156aedd55ab1c61e4f269 DIST libcap-ng-0.9.3.tar.gz 126257 BLAKE2B 8050f69c91a8c5214d718d3ad750cf50db25690b9b8d59f37db32d33d5a0fe864afe8064ca4261f27f49f65064926c816a627a9c1c7a28e268a1a459409c59d8 SHA512 cbe6e322a6349dcd2b23833c4f66a173d5d8d36ccded782e79fa8b83a1a700da293e0a79a31408814f19cf788fd56726beb587f51314a92c135e05eb2e5a47e2 +DIST libcap-ng-0.9.5.tar.gz 173762 BLAKE2B ddfe7b6975747963a2eb53485481c55f5638a06f119260e34619336445321d41b1531e4b78593aab9267a463e08641eb666f58ca6dc19fabf776995a4579e072 SHA512 eca44c680ea6104c59591ee19ae9136ed1f4d0437877a1c16f5fb5d546466ff99d52fe45daa081bc6dde15abbb3902528b7bf6fade4845d0c13756d426e21db7 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libcap-ng/files/libcap-ng-0.8.5-python.patch b/sdk_container/src/third_party/portage-stable/sys-libs/libcap-ng/files/libcap-ng-0.8.5-python.patch deleted file mode 100644 index ddad5ff49d7..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libcap-ng/files/libcap-ng-0.8.5-python.patch +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/stevegrubb/libcap-ng/commit/1fe7c1cfeea00ba4eb903fbb39b74361594d4835 - -From 1fe7c1cfeea00ba4eb903fbb39b74361594d4835 Mon Sep 17 00:00:00 2001 -From: Jan Palus -Date: Wed, 10 Apr 2024 21:30:51 +0200 -Subject: [PATCH] Fix python path when invoking py-compile (#54) - -48eebb2 replaced custom PYTHON3 variable with PYTHON by using standard -AM_PATH_PYTHON macro. Makefile however still referred to old one. -There's no need to set PYTHON explicitly anymore so drop it. - -Fixes #53 ---- a/bindings/python3/Makefile.am -+++ b/bindings/python3/Makefile.am -@@ -27,7 +27,6 @@ AM_CPPFLAGS = -I. -I$(top_builddir) $(PYTHON3_INCLUDES) - LIBS = ${top_builddir}/src/libcap-ng.la - SWIG_FLAGS = -python - SWIG_INCLUDES = ${AM_CPPFLAGS} --PYTHON = $(PYTHON3) - pyexec_PYTHON = capng.py - pyexec_LTLIBRARIES = _capng.la - pyexec_SOLIBRARIES = _capng.so - 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.9.5-r1.ebuild similarity index 54% rename from sdk_container/src/third_party/portage-stable/sys-libs/libcap-ng/libcap-ng-0.8.5.ebuild rename to sdk_container/src/third_party/portage-stable/sys-libs/libcap-ng/libcap-ng-0.9.5-r1.ebuild index 9efcbdc2f90..2acea1414a0 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.9.5-r1.ebuild @@ -5,29 +5,69 @@ EAPI=8 # Keep an eye on Fedora's packaging (https://src.fedoraproject.org/rpms/libcap-ng/tree/rawhide) for patches # Same maintainer in Fedora as upstream -PYTHON_COMPAT=( python3_{11..14} ) -inherit autotools dot-a flag-o-matic out-of-source-utils python-r1 +PYTHON_COMPAT=( python3_{12..14} ) +inherit autotools dot-a flag-o-matic linux-info out-of-source-utils python-r1 shell-completion DESCRIPTION="POSIX 1003.1e capabilities" HOMEPAGE="https://people.redhat.com/sgrubb/libcap-ng/" -SRC_URI="https://people.redhat.com/sgrubb/${PN}/${P}.tar.gz" +SRC_URI="https://github.com/stevegrubb/libcap-ng/archive/refs/tags/v${PV}.tar.gz -> ${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" -IUSE="python static-libs" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="bpf deprecated python static-libs" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -RDEPEND="python? ( ${PYTHON_DEPS} )" +RDEPEND=" + bpf? ( + dev-libs/libbpf:= + sys-process/audit + ) + python? ( ${PYTHON_DEPS} ) +" DEPEND=" ${RDEPEND} sys-kernel/linux-headers + bpf? ( dev-util/bpftool ) +" +BDEPEND=" + bpf? ( + llvm-core/clang[llvm_targets_BPF(-)] + virtual/pkgconfig + ) + python? ( >=dev-lang/swig-2 ) " -BDEPEND="python? ( >=dev-lang/swig-2 )" -PATCHES=( - "${FILESDIR}"/${P}-python.patch -) +pkg_pretend() { + # bug 972898 + if use bpf && [[ ${MERGE_TYPE} != binary ]] ; then + if [[ ! -f /sys/kernel/btf/vmlinux ]] ; then + local err="Cannot read /sys/kernel/btf/vmlinux, which is required by bpftool.\n" + err+=" Typically this means that your kernel is missing the DEBUG_INFO_BTF option,\n" + err+=" without which BPF cannot work. Please build with USE=-bpf or reconfigure your kernel." + die "${err}" + fi + + # check required kernel flags as documented at: + # https://github.com/stevegrubb/libcap-ng/blob/master/README.md + local CONFIG_CHECK=" + ~BPF + ~BPF_SYSCALL + ~BPF_EVENTS + ~DEBUG_INFO_BTF + ~FTRACE_SYSCALLS + ~KPROBES + ~KRETPROBES + ~KPROBE_EVENTS + ~PERF_EVENTS + ~STACKTRACE + ~TRACEPOINTS + ~TRACING + " + + linux-info_pkg_setup + fi +} src_prepare() { default @@ -44,6 +84,8 @@ src_configure() { local ECONF_SOURCE="${S}" local myconf=( + $(use_enable bpf cap-audit) + $(use_enable deprecated) $(use_enable static-libs static) --with-capability_header="${ESYSROOT}"/usr/include/linux/capability.h ) @@ -104,4 +146,8 @@ src_install() { use static-libs && strip-lto-bytecode find "${ED}" -name '*.la' -delete || die + + # Fixup completions, bug 972536 + mv "${D}$(get_bashcompdir)"/{libcap-ng.bash_completion,cap-audit} || die + bashcomp_alias cap-audit filecap netcap pscap } diff --git a/sdk_container/src/third_party/portage-stable/sys-process/audit/Manifest b/sdk_container/src/third_party/portage-stable/sys-process/audit/Manifest index f3ed195cf54..03ab856d670 100644 --- a/sdk_container/src/third_party/portage-stable/sys-process/audit/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-process/audit/Manifest @@ -1 +1,2 @@ DIST audit-4.1.4.tar.gz 665162 BLAKE2B 709bba8f66fc16dfc8eb9e26767ae41df9f9c6a9e9769b02c0ab1379627e3e6d148b716f8a97c60995844306a74bb4c089606d0eb08300beef17f6678bee6237 SHA512 e5493f434dddbded65f33bfd56981036af6975c192289a05378d773ce914ab3ffe6b7071cae03e8f69da4e33246a38608d848f64d01647f2572a7eb6651f3ba0 +DIST audit-4.2.1.tar.gz 756167 BLAKE2B 7642a3be30b65ee9fbc10f0929592a0dccd8ef4aca67a237983b5ee644c52d5def62a84161184eae1f9d5741355314d799f39a39b149ae451026f0274c0b9c51 SHA512 71c4ac50b471138da866a82a0fa45970cf26181962f005ae570bdbb76e7cd15b66f8ebeba75a075bf04e52b20d039f012e2bbf8b1055f44641c36897f132894d diff --git a/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-4.2.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-4.2.1.ebuild new file mode 100644 index 00000000000..621379e6b82 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-4.2.1.ebuild @@ -0,0 +1,199 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# As with sys-libs/libcap-ng, same maintainer in Fedora as upstream, so +# check Fedora's packaging (https://src.fedoraproject.org/rpms/audit/tree/rawhide) +# on bumps (or if hitting a bug) to see what they've done there. + +PYTHON_COMPAT=( python3_{12..15} ) +TMPFILES_OPTIONAL=1 + +inherit autotools multilib-minimal toolchain-funcs python-r1 linux-info +inherit systemd tmpfiles usr-ldscript + +DESCRIPTION="Userspace utilities for storing and processing auditing records" +HOMEPAGE="https://people.redhat.com/sgrubb/audit/" +SRC_URI="https://github.com/linux-audit/audit-userspace/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/audit-userspace-${PV}" + +LICENSE="GPL-2+ LGPL-2.1+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="build gssapi io-uring ldap python ssl static-libs" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + sys-libs/libcap-ng + gssapi? ( virtual/krb5 ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + python? ( ${PYTHON_DEPS} ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) +" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-5 +" +BDEPEND=" + python? ( + dev-lang/swig + dev-python/setuptools[${PYTHON_USEDEP}] + ) +" +IDEPEND="!build? ( virtual/tmpfiles )" + +CONFIG_CHECK="~AUDIT" + +QA_CONFIG_IMPL_DECL_SKIP=( + # missing on musl. Uses handrolled AC_LINK_IFELSE but fails at link time + # for older compilers regardless. bug #898828 + strndupa +) + +src_prepare() { + default + + # audisp-remote moved in multilib_src_install_all + sed -i \ + -e "s,/sbin/audisp-remote,${EPREFIX}/usr/sbin/audisp-remote," \ + audisp/plugins/remote/au-remote.conf || die + + # Disable installing sample rules so they can be installed as docs. + echo -e '%:\n\t:' | tee rules/Makefile.{am,in} >/dev/null || die + + # Tries to send a real audit event so fails + sed -i -e '/test_audit_logging_comm_format()/d' \ + lib/test/audit_logging_test.c || die + + eautoreconf +} + +multilib_src_configure() { + local myeconfargs=( + --sbindir="${EPREFIX}"/sbin + --localstatedir="${EPREFIX}"/var + --runstatedir="${EPREFIX}"/run + $(use_enable gssapi gssapi-krb5) + $(use_enable ldap zos-remote) + $(multilib_native_use_enable ssl tls) + $(use_enable static-libs static) + $(use_with arm) + $(use_with arm64 aarch64) + $(use_with io-uring io_uring) + --without-golang + --without-libwrap + --without-python3 + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" + + if multilib_is_native_abi && use python; then + python_configure() { + mkdir -p "${BUILD_DIR}" || die + pushd "${BUILD_DIR}" &>/dev/null || die + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" --with-python3 + find . -type f -name 'Makefile' -exec sed -i "s;-I/usr/include/python;-I${SYSROOT}/usr/include/python;g" {} + + + popd &>/dev/null || die + } + + python_foreach_impl python_configure + fi + + # Make target bindings/python/auparse_python.c doesn't get copied to ${BUILD_DIR}. bug #944338 + ln -s "${S}/bindings/python/auparse_python.c" "${BUILD_DIR}/bindings/python/auparse_python.c" || die +} + +src_configure() { + tc-export_build_env BUILD_{CC,CPP} + + local -x CC_FOR_BUILD="${BUILD_CC}" + local -x CPP_FOR_BUILD="${BUILD_CPP}" + + multilib-minimal_src_configure +} + +multilib_src_compile() { + default + + # We could copy this for tests but the only thing the bindings do + # in check-local is rebuild (!) with -Wl,--no-undefined. + if multilib_is_native_abi; then + local native_build="${BUILD_DIR}" + + python_compile() { + emake -C "${BUILD_DIR}"/bindings/swig top_builddir="${native_build}" + emake -C "${BUILD_DIR}"/bindings/python/python3 top_builddir="${native_build}" + } + + use python && python_foreach_impl python_compile + fi +} + +multilib_src_install() { + emake DESTDIR="${D}" initdir="$(systemd_get_systemunitdir)" install + + if multilib_is_native_abi; then + local native_build="${BUILD_DIR}" + + python_install() { + emake -C "${BUILD_DIR}"/bindings/swig DESTDIR="${D}" top_builddir="${native_build}" install + emake -C "${BUILD_DIR}"/bindings/python/python3 DESTDIR="${D}" top_builddir="${native_build}" install + python_optimize + } + + use python && python_foreach_impl python_install + + # Things like shadow use this so we need to be in / + gen_usr_ldscript -a audit auparse + fi +} + +multilib_src_install_all() { + dodoc AUTHORS ChangeLog README* THANKS + docinto contrib + dodoc contrib/avc_snap + docinto contrib/plugin + dodoc contrib/plugin/* + docinto rules + dodoc rules/*rules + + newinitd "${FILESDIR}"/auditd-init.d-4.1.4 auditd + newconfd "${FILESDIR}"/auditd-conf.d-2.1.3 auditd + + if [[ -f "${ED}"/sbin/audisp-remote ]] ; then + dodir /usr/sbin + mv "${ED}"/{sbin,usr/sbin}/audisp-remote || die + fi + + # Gentoo rules + insinto /etc/audit + newins "${FILESDIR}"/audit.rules-2.1.3 audit.rules + doins "${FILESDIR}"/audit.rules.stop* + keepdir /etc/audit/rules.d + + # audit logs go here + keepdir /var/log/audit + + find "${ED}" -type f -name '*.la' -delete || die + + # Security + lockdown_perms "${ED}" +} + +pkg_postinst() { + lockdown_perms "${EROOT}" + ! use build && tmpfiles_process audit.conf +} + +lockdown_perms() { + # Upstream wants these to have restrictive perms. + # Should not || die as not all paths may exist. + local basedir="${1}" + chmod 0750 "${basedir}"/sbin/au{ditctl,ditd,report,search,trace} 2>/dev/null + chmod 0750 "${basedir}"/var/log/audit 2>/dev/null + chmod 0640 "${basedir}"/etc/audit/{auditd.conf,audit*.rules*} 2>/dev/null +} diff --git a/sdk_container/src/third_party/portage-stable/virtual/acl/acl-2.4.0.ebuild b/sdk_container/src/third_party/portage-stable/virtual/acl/acl-2.4.0.ebuild new file mode 100644 index 00000000000..bce5bd23cc3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/virtual/acl/acl-2.4.0.ebuild @@ -0,0 +1,14 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib-build + +DESCRIPTION="Virtual for acl support (sys/acl.h)" + +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="static-libs" + +RDEPEND="kernel_linux? ( >=sys-apps/acl-2.4.0[static-libs?,${MULTILIB_USEDEP}] )" diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/Manifest b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/Manifest index 8ac6ccd20d4..abaee6b7976 100644 --- a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/Manifest +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/Manifest @@ -1,71 +1,63 @@ DIST NVIDIA-Linux-aarch64-535.309.01.run 270033799 BLAKE2B 3f5ce5f024d0bb35707034f41211d0c60a3711643dbae8d8f29830c9029c9c66a1e232651c9a5b9c1fb699078ab6aef0c3f2df476a14eee7cd1258e0c8141971 SHA512 ee2f59716d06652dc9083376d758a1f1ba60a11139534d67c39d8b6a4abd2290017d97cc2c8b1ed8bf5ef659e075ccd1a546125a3ce57b6ddd61ada5ba7e6cf2 -DIST NVIDIA-Linux-aarch64-580.159.04.run 313659746 BLAKE2B be22824e065d565301435cdb8d22139ae1a52654830c1350cf9bb43d1bb14294cf3e37e05fb4cc2c8e121cfd860b0221943b85ae4a96cff293803c0ec4c6b214 SHA512 2c23269305b59563924dfae85d4eb49a88bf391b77d5edf05026d33f4ff1b504b51847cae0404c6885dc543303889ae665e1c08258fc52737b7b610ec5135521 DIST NVIDIA-Linux-aarch64-580.173.02.run 315169067 BLAKE2B 18864723e8f75cb84ee8edcb69213d03f9720760c5a89843abe78c43d1aae5923c9d7986573aae8d3fbc7a6d579f72d683fb78f90f87e62dd8ab24eac6ee04b5 SHA512 4bf8b21898c83fe31d1588c8f57d322584efb995b4d2706f8fd5029fe0f451b888046c439569c0d76b48fb279c11b3c4d20b57d37e9ee6da3b2ef4b050c0b40b -DIST NVIDIA-Linux-aarch64-595.71.05.run 316744636 BLAKE2B 8a3c0179701342ef649cc9d247688cd6ae3a6be88920830ca8f81dd7b2e1862e497164698acf484bb145b04002e3903b1aa8116abd4530c7200f0d9ae525159c SHA512 a2d4ee2c260e34c16b7e04e9dbbe3a8ca486279e7743fb2b95ffa02cedb5e42ad7c5dc4c26fead86cd3a7d7ccf7467439d93691e0e0ce66e8425e622a07bf050 +DIST NVIDIA-Linux-aarch64-580.178.04.run 314757575 BLAKE2B 2dbe1f8ccd0df8ef882be9745c94732f7da691b960054b0ebaba8932486d30504251e263b2614c732c1ad15dfd9ac22962a6d0b3e00d811407a0fd41adef70cf SHA512 3753150ab1fc319137431d24d38aabab9d4dcb11d988cfe7f80813f946926a181415640ac874bf28104274b305ec2d29c7806fbea945224ea97fa5b4afb2475a DIST NVIDIA-Linux-aarch64-595.84.run 317751308 BLAKE2B b8682656e2fd75878b8990acf1d056d52bd4cd81e70d90928575e26e3fb93b21cbdc18aeed3b75eb0d2d40fe87584c29f93ea32087045ce532b188334c021085 SHA512 089eebe32cf97108514948edbbf2bc6e3bb73afb5e8ce9a8300b1d1c0a85f5b014f9910874be24fe41f58d7b232538668204eef0aecef222d0739b4011b1b043 -DIST NVIDIA-Linux-aarch64-610.43.02.run 354603118 BLAKE2B 2db0cb1fb486d3919edccf0047d1db4f0feb8258103016995aac8314dcb1408807cd029bcdb33570ac729c9c23a984f94ad17fa894ef48554a7e6f273011de02 SHA512 fe44af192ec259793b2f05e53da25481fae5a9fe01131b3b4f7893858c9f788b5d031cd83b7439bf3f1ee1be48c629548d61d8f611153324ba5b46583846a1a4 -DIST NVIDIA-Linux-aarch64-610.43.03.run 354547269 BLAKE2B 81c2b03d55509b889d1c9d723e5b02e64eb6935b02785b82babda6e814b05b749d823a05fefcb06419c62be0068be7264ad903f745226f9fcc1b0cf6180ccb36 SHA512 b070e06ebb5cced56466f07efade96ef73201141e4dcf061cd87ec7e6d94357b62057ce04f8a4f3a4c3e8b006a4cce9d8db21da4cafbd8e8e6bba8d0212e12ec +DIST NVIDIA-Linux-aarch64-595.91.07.run 317767285 BLAKE2B a6df095212b3a8a18a5a53f41f6b2a27035d4513765fd44a6e52e3c5d0502a0e4c12ca887565fe8ee4938023e7734ccf941ca6e303104934552bcf6fede910c3 SHA512 a71dedd6dfa00a1283442aa141419ac4213c74913367502a8a1cba2bb3c8cdc4bd1e5c4d433c5d477716bfd7dd83d9829e7ed85f3529c6bb94f44815a769bbbe +DIST NVIDIA-Linux-aarch64-610.57.04.run 355850554 BLAKE2B b8fae1df1a54f793b272cabfbc35da68d0abd90739176ed308d7389304735688987ed847da4ad25f4fc30c93259f07b1cf8677faa6496f44f616d8fbe5399272 SHA512 cbb632182f4096e715cf28605ca93964e7ad329b7ac5eeffc1bd9d9338606f7ffaa4267ee3fa0e92cf00f4a50b177498bcb053686e869464db0e80ddbf7b4ecd DIST NVIDIA-Linux-x86-390.157.run 49417041 BLAKE2B 435b5e0e60468cc74b41cc5d9b5bb0105d29c11a2d408457835212a96519c9334ecf19278b36749d3ff7f498f5b0ae45a2efae2d428703dac21245c62f1efebe SHA512 dae9ac2c12f9ad90f7441e00e01a984147c577892421911d7f67f6a31e616ac1cb7d434bc9c7f58fbd9b8ae909521b5bece607a63c79588c0bb9d99c6bad5fb0 DIST NVIDIA-Linux-x86_64-390.157.run 85835541 BLAKE2B 44b855cd11f3b2f231f9fb90492ae2e67a67ea3ea83c413e7c90956d38c9730a8bd0321281ae03c6afce633d102f5b499aed25622b9bfd31bdd2c98f0717e95b SHA512 4780503a4cff0180b1b1f37d20a6ba3438dd78b51fa7f69b98d35521835e5d61099129746929d51d63afa2d47b672b3e145e1e1897584dc3799e7f822c5b3a0a DIST NVIDIA-Linux-x86_64-470.256.02.run 272850014 BLAKE2B 0fdc867f92b82b2a60810c3b43751cad7ac2c39928c92c6c343c0c6044f4d7d923d93b8599db3f7c999c0ee7d16940e65d991a61cbb30e1d9e49c5639ac6bdc8 SHA512 a837946dd24d7945c1962a695f1f31965f3ceb6927f52cd08fd51b8db138b7a888bbeab69243f5c8468a7bd7ccd47f5dbdb48a1ca81264866c1ebb7d88628f88 DIST NVIDIA-Linux-x86_64-535.309.01.run 341945818 BLAKE2B dc7bca19eee348648ed6ded096ed9eedc953d7e5be84bb812baf98230096c9f3a92421abb9adfcd0c257dc63a31d9f4fe4a02c7bdc4be65975229941fc39fa5a SHA512 16a505fb053d514b98bed816559279cbe2962eef8a3d64cce7aaf859b2d27602ac9018bb099a56ab4223532f70e00984e5468a4ba9c2914dc68dcbe0d8b2d64d -DIST NVIDIA-Linux-x86_64-580.159.04.run 397162548 BLAKE2B ee0dd051341955d8eab23a12b4a1b81a4977346b2324db175522c07e252ac6c9cea179810ba1535095796ad89ccd92826506dc73954496130249b1c355cb4288 SHA512 50cc5f58ef733f8f196c71dd7b7756fc1e2f163533d9333af4341aa1379b4b68fe5a4afc5698494b2e0928fc970e902d32e6e3f8f6795d03657842c1c6434fe4 DIST NVIDIA-Linux-x86_64-580.173.02.run 398312209 BLAKE2B 8d5c322fc8267fabf4096d649bf2e98b0e844ec74430dd8a4a2c0bf08e4e5fd209524639a0f1578a953216ae5b16a34dd6a349fa5a83059fb608a69e2bdd0125 SHA512 ca394b1e3f6c3403dc7ffe5d5fd7301bb06607fdbf75c9ffd338d7641c06d1878790c629108162adf4289ae829568973a48b7557183dbf7588e668f6d8edf3b3 -DIST NVIDIA-Linux-x86_64-595.44.09.run 423549686 BLAKE2B eb3f959b4103895db808743f6986036a275689fabadeb16be5f9e496ccc7a963447568c8d8b248ca9bd2e8843e32c676a4e63d360dcfbde5df7a32405284b59b SHA512 835f22e562d0ac362473cd6425a9065a05a360d6c9d85e4973d34e2005468b75e177283cac8140c725f5146db3e748065eb9b93787936692fd54a8ab80939f9b -DIST NVIDIA-Linux-x86_64-595.71.05.run 423133031 BLAKE2B 770af0e6228c300de069b2e87467d030d199dcd9f9c6e32c583291eaac7196974f72f1e25902b8e38056897cff99f845adf73e3eab6dedfce8339b21b76b1042 SHA512 75d22994ba963223300d3c57fdc05803ddf7d8630fb5aee3ba92017d6f614e4a7019dc09f0f02b02ec28d6d5607e284d4e6de2cd506eeda604f75a2d4177028a +DIST NVIDIA-Linux-x86_64-580.178.04.run 397214534 BLAKE2B 53ea96e4d1342003238aaa37495df8939b0e8813b8088347ec406a4c066bdfcf9947abc71f05da9433bfbee7b04b67f8a2bfb9729423ec776c0b1e31d5ce1b77 SHA512 b463dec07dab14370e3bd89d559e54e5f81d5b01be9de2bac6c700334c10a8bce2f9049b978a01a97d515d5ebb16ec4ecf02ce35979a8833a619bc6bd97084de +DIST NVIDIA-Linux-x86_64-595.44.14.run 423799604 BLAKE2B 6118b46e997ce6382ad5edc9265bbedc0881473b9bbccf2364125e633ec3c379005dd58cd72720f5be03bbe365c93f3dac5e2c7918f2f1d8b214c2dfdaeda03d SHA512 f2d64b4414c2e20ec3de6a271d28a44f3f17160e80e760aa064c827d40c6dac56b94084f8668a8945db6c97be7106386fe9a33e85c29626d2ced15c506903c37 DIST NVIDIA-Linux-x86_64-595.84.run 423524924 BLAKE2B 0ec68935d5e79097aaee1a85b6d69a4cfa6d8186fae2a449380c5c24497849b2940e525084db9bb74f12392d2da92ee1ac624098d3618277f4fcef51994cdfa4 SHA512 37df09d4cb711e6c46e03dfdd549c07e2d3f88aef23e89db468e92200e57895083bbed86491f4c519da61ba9b21f82d8cf74c8c95bba066812c253111ae39614 -DIST NVIDIA-Linux-x86_64-610.43.02.run 461616501 BLAKE2B 9b55b3e7fd756c1979ce86901654bab5cb05680b7ea525c7fc3c22f2d200cd3fdbec1eaac435cfb9cbe036e6659a97e4edcac79275de8b3803dcd673f20f0110 SHA512 aa626828964bd9b68dffd07865d2fb05de09b0fe944d6ff8af20412601fc72459186eee580e290c379e1a2b74f8e88c6ee406016814850952cf9330e64ab3032 -DIST NVIDIA-Linux-x86_64-610.43.03.run 461538429 BLAKE2B 493c42d857ff89da94d590aee146b5f3fc0eaeef2fa7f7f876e96b29256a9b958847ba65e1ed6981f61ef1a174034f3e44411f266f4580cc40e39c0471893f88 SHA512 6844ae73d1b1fa0a3ed830d4531747298fc9c817b3cccfd87afd285221ba7d7c0f68c279c1a8a92adf6dee2616a4e9479e30724d4182c801f720d8841a7f820e +DIST NVIDIA-Linux-x86_64-595.91.07.run 423651201 BLAKE2B 01f9e8f566c810165673f12b68b95d6b32b329712a3bd43f67363ddc68a4b89e0d84671ed6cb453726d2d998eda5cc40e8fcb5278ee1dacf46b77de2de55a7e2 SHA512 79fa1cdb09ef7851b32aeab1a5e9588365536822e288accb39b04fd5e9fe01dd93ec58bd74366c37838023250d6b184fa7d22befa4cd2584281a2f1c2e6b11a9 +DIST NVIDIA-Linux-x86_64-610.57.04.run 463025450 BLAKE2B bcf46e1fb7d887ffdd25212f17d8f9d5925740a4a64a9503d7255b131eaf811e777ec107c3ec3f3771a6da9e1cb9999993fbd7a8fdbd7b0ff2dd3cbe860a4bd1 SHA512 4c9566625716ba7257ed2203dbbabfbc7a2dfdfc8bcb16678212ec809dc7ff470d12973ad86ce5f925b271d04239425f43088e8e591cb4ed7f77ec0c8612ffc0 DIST NVIDIA-kernel-module-source-535.309.01.tar.xz 12537052 BLAKE2B 2bff6a129c7c407de95d140fefefd50c266c7c8dcf938a71690545cff65b3502872645e79d47f9091deac54b7e140bd93a321b18af0b9cb24ca958f033461c53 SHA512 5bd08038823f3f9c39307b441cadc6231d71195adf1835f33e5af794df24be8abed83d3b246edbf5cbaae2379b52ecdd5c975c722001e19fc96054528bada773 -DIST NVIDIA-kernel-module-source-580.159.04.tar.xz 22255440 BLAKE2B b293f941ead331674b235a6d75961b13eb488c306e22a2afb50cfaa965e65fc0768cb9642fc82a16ce1b6383ccf7c252b729ec305a39db3dec38284e4fb7191b SHA512 f0ef07705510aad25344b51129c2a62d6a36a0eac02e5a60b36dc47c88cfb91d875e0298369c3bca97208deccd3f2f0d1a595abf9e01b6433bf194c778f134e9 DIST NVIDIA-kernel-module-source-580.173.02.tar.xz 22260432 BLAKE2B 523f7cdbbc3819897358b120cd92f2f07499f5a72d0a82222aa4a9f788681223a28e895df8fb332edd4b556f79cb73ff16485eef8eebf9ea0a5254563095b55c SHA512 8af3226a43eda8c03e8773d6efe080e0cf85aecbab121d7b29cd82ab0cb13bdbb3b9b239827faef27b1e12c92b6b7bc77129b17537c715ddc020574c5fa4c45e -DIST NVIDIA-kernel-module-source-595.71.05.tar.xz 23778996 BLAKE2B 45361ac9830c16c748688545501124647859c247c5cf7dc6ab4508fe614425715c7299cf88728a3da4111c7fbf6f9eab8a1c77b039ebd868dc7a6367b5e97ff8 SHA512 dc417fd79ac6fa388e8c66ecb55e8207ddf19f4f98b5a04a574aad9a100753e9930e29cae08c4d36721cf56863b107ace4695207c6c91f4a831ebc3f0108e1cf +DIST NVIDIA-kernel-module-source-580.178.04.tar.xz 22267204 BLAKE2B 7566451a6b13c24bb80476c68bbcd93c0d8dbd0bc4eae2ca5fcda06690a2d386b6a0782aa1836e07061e84bf923fab479746294f229acd4c53e7a6da4a309b9f SHA512 38b5ad1895946287073e5951a88733898a805d02325eb7f23169e61663d43b73bb4db65b0d9648daef11edcc50646320a4e18af6e7584d63cec960fcd3b75de5 DIST NVIDIA-kernel-module-source-595.84.tar.xz 23771064 BLAKE2B ab49047db5a5f0d8ce9387a1c963d929cf77b28b9ba0348401d54dbd85b0747593efb860bb81edcd51807bd2075d7b887b9f5992a81cbecaaac99bccc5c9f238 SHA512 fcd7f3e0bcfef8f661e092e3b64a8c2f0635b1262819ed0502a84c6749714a77eaf5b14a137be877428c9053aea4ea497a3ffecba1692ee562ff6b888404eb86 -DIST NVIDIA-kernel-module-source-610.43.02.tar.xz 26167288 BLAKE2B e87b46ff8f33cbe1262cd230012d0f2694194a7c16824a671817d212e1b93c8b3a31d35db75f9b0399693c1f2b6030b99f2f0af70d9c83c3ab9cd1c24e7d90f8 SHA512 a7bead484b396ffb34468d3d94dd87c9d9133a084b0219a275516d9c726a47550b66eb5f80ab71b04db27614c411f102402f66714d8a933fe234c2b3a2776b5e -DIST NVIDIA-kernel-module-source-610.43.03.tar.xz 26172192 BLAKE2B cb4efc7ef551a2eeae445d9e75a2b0b08fb52fa19b96270cde6dbb0ec2c4c0a3a1a5188bc622555e414656a359e446f29a61ce9ce5e7f57e2878de0e018e0cc8 SHA512 8a950074005924b338873f3cbbefb698a6d8f9d0d609e65d3395a33063f9405f5beb42309f4d0ea4b4892853b52f45ffe8a8a8557fc9d5b4c5dd397bb34226d2 +DIST NVIDIA-kernel-module-source-595.91.07.tar.xz 23800388 BLAKE2B fe4c6a6761522c289c5a3209083e2cae872afe1ad7390794b440506a6ba1e0215d6178ea06de5377c2748f89f85ec7f417e1ec221f147563604040f0b1334eba SHA512 1258db88cb85c9adb2b208769731ab8a28212c8a542d9c4d88602cab8c93e87410e2d307fc42fe838519b5ec8f79d371ef5edc0c06f3aecf104d7cd996d9588b +DIST NVIDIA-kernel-module-source-610.57.04.tar.xz 26177484 BLAKE2B 59bd5799cb37bdd264a683bb170efd81d3c57381d8ffa5f4cdb0e6c556f61b4485c88b3ec6513cf4e57c975d9ff9c07111463a5b50a213a6178f0530cf40dcd7 SHA512 11adc9cf3805a06f3e6f3b0884d2fbd92cf51c7f9348fca884c90202be2291882c459c8b5436732168c9739e7afefb9510b9b8f1193a0935f45fa5fca560b258 DIST nvidia-installer-390.157.tar.bz2 150323 BLAKE2B 8058ca87a6dea956d564af9f7eab9b1fc82b1f2382bd5cb2f6d97cbe2e19292533522d5f8f2eacbeb16520372715fcb72f8f9b0998962af5d4e75522c8d74524 SHA512 93a7ece648602157496c8e27a88864ede341a100f5328a4c1a25faf8f0b94d252060e5e2f71d0c302fd0566c10773c30b76b3b5f431d8039b71c90a7969f7d7e DIST nvidia-installer-470.256.02.tar.bz2 146269 BLAKE2B 4402e725c8fd0157eb84d4ec140a33f97e873014577487ef1e32fb8921cabe79c60ff46532e5bfaabb2b6ac894f7c80086dbab19e61906e2e27346fb85f98829 SHA512 c962dc17d9696256d1ebedcaeb3010994f2ce3895aedc47987599ebfec132a9b9a249d2ece6502b15bd4a93f9b0106aa13487a7da5f64199c274ce11eba27cfd DIST nvidia-installer-535.309.01.tar.bz2 149086 BLAKE2B 14ed4eed4d3f998bf3c93d7cdcca8748bad9fa4751b81d193ce00dbd9694b9ae38fa865a2e82c5ec78ba58f10a73c0d5120b5aa2069cd418b9d423c3da592aab SHA512 e4a362fc0980e34c984be811570fac7b2b0ace3a7105643f8b3d15122cbc6fb9988d017e22a72659dba40588638b60eaf243bd228a386e8d2d12db0f50f42f0a -DIST nvidia-installer-580.159.04.tar.bz2 169644 BLAKE2B f01f9da4e7e3ed6524f586706a7167746c88e7033d61d7ee459408748c0eaf75b236667e7177baae282c1e4ac0896abe9ab2e6796ba2638b2db6ad074646eff0 SHA512 00d11f80b8f410d8110a8450ea56a653a5a223bb1e728382e63312121d3926985c815019dc9cd0659ed97ce824f0c29d67d1188b41f1a3120e25881f1403ddce DIST nvidia-installer-580.173.02.tar.bz2 170003 BLAKE2B 05229520744fd6ab0b57632f7e62aad39737fd8239a32900a19a3844fabf1c3d511a74fc8b9ef702a06fcabb1cad8f8c1f0c1bc739ea7058504338da22536e8e SHA512 262595d41c02a2129d90c077b96b43eaf81d2f6257a00cfd61d6cebab3d645f34de08086a3a6dc897273498a33289f2fa5b552759e1963e25cef85fa2b2c2b90 -DIST nvidia-installer-595.71.05.tar.bz2 172399 BLAKE2B fda7ec136805aa7e481162af171206c3e6dd8c641fc60910f1336895b87ec1e4ab7469456d3fe96ec18f763df3ab158e7c707edb89833a628fe24e69ad97080a SHA512 08ebd56a639cad608db8a82cccfc386cad4f2dadb7a01a7318f5cd70b0428e0d62fc51cf6c8fef16d567c226f5cc83c8905fb3bc36404abbc5a6bf36c0b26403 +DIST nvidia-installer-580.178.04.tar.bz2 169996 BLAKE2B 231762680ac9dfb88ff553ad655dc9498b81f1c505d30ecd620609f2e912670c2846b16d05dc85273a4f5ec74bbf717d02f9b976adfa951dbd621a172e8a7174 SHA512 6995905e3c06ed1c284ec1302149f590ebca2278604f0206d543cc3202891044fe2badedf0608e31f522857c431dcd7d35f6c281667b2556fa0b290a9eccb62c DIST nvidia-installer-595.84.tar.bz2 172347 BLAKE2B 4fa015bc1807b6b8379cfc03a34daeba74c8a0a942822546aede7199d486ba2a78bd74976f2d67b4a893025321fb063956ea61df51dc4d59ab28ce71ba0723b8 SHA512 517361cf25ed0640cb8715b3c523004b0ca6539e2e8c54253198c4890c7268324386d1f0f1ebe321c6062052493e8306167ffe80da075d25cc52b039ef4c39e1 -DIST nvidia-installer-610.43.02.tar.bz2 171883 BLAKE2B 7de020021d83b8283c1603bd7351113ff11444db7922593d956589473bef46a0b408208b3aabdb08314880310637c3b0149d30b7547c9973d2fd806fa3d7b946 SHA512 26e43710517192883f41586fbd3806e71e5648bd3f9a531d27d3a4ffb114ee803940d6e1e05d86eb853f69217c4a158d00dc4b7b410828e25856c4ade5ef5bad -DIST nvidia-installer-610.43.03.tar.bz2 171921 BLAKE2B 54772b0ba8528971266a566b09655110a3e637632ff124da8f3655ea15e0481cffab76c498be0b51da34d14c87849400a2ebc0e0dbabef0789b25ee1c3b85d30 SHA512 c78d266f677ea5713744bc151da009898ee732eac7cc8ee71b38c33d7cdf950163c332607fb4b5efda6533d57ba524f38c5f52c6b48daa8a46d483e2cef3329c +DIST nvidia-installer-595.91.07.tar.bz2 172429 BLAKE2B b4128b9075a5b302f825ff70af8ad210030292b920c5f9cb88930c6853e9fa915c9033b80d7ba1ac729a8a8c6c8787f61444419ae0aae47ceeefdefb4984fc19 SHA512 316d278f3f3500f33a92c993accb62333cbd6d719a8e730e28a387d5c80987f4bc7d6b05f0d2897f766d51cb067736e254057a0984d72207c67accb8510233e4 +DIST nvidia-installer-610.57.04.tar.bz2 172182 BLAKE2B 03b67a6c8c89c924fe9dda076205d0b20dbbea827c9570acd08cd86d2668f23f4abeb8da60b93cd11f8c69e9e0e2408e772c7ad78bcae241ba87164ca4e0fb73 SHA512 ef842b493a9ef52d2a122dfd5f5901f997613ab891184774d2f9b01e3889e3347f95b96fdce074ec68d06cf6e8eddab09601a71ec4645aa8601e4339d898d272 DIST nvidia-modprobe-390.157.tar.bz2 35306 BLAKE2B 80d202b39c2f95ec0f909712c2e101483af50124092c32efb33bd98ff58ddfb97b737ff07f1ddc941f688c1b4c26a15f392566d522e18506771f10422fcd571c SHA512 109bbe24a3758b568ea65fe1e9d78f69fae6108ec0497b796c885a3912825fe04ffd7389a3e22987f1a10a2926bf6eaa384faabc59478aa3ee244dd3ac91c6d3 DIST nvidia-modprobe-470.256.02.tar.bz2 38769 BLAKE2B 0db444b09b0b6d24c04877fae95249e781d82b3141f90eb05d869b64d2b6e65ad00bf44c4e427c64dbd4765fa99a8699f80a1d95b00c66137a54dc878d7ea298 SHA512 c1cbfa6c8e188e5a5eb5d390b9a903406cbff103d212fc30e611e4023be3fde896ad84e8bb45b030beb5d1bcd8155c9e55a8f9636c45ce1e2a5c03f672989a31 DIST nvidia-modprobe-535.309.01.tar.bz2 40756 BLAKE2B 4c8d41c3f8d811155aad952e7120bed92e44d50e6af3551396f4be73f733f64b72d76d670676adc957efcf4c0e05df6473ca50a7cd378e56a0da52f8dfb2246e SHA512 b39f282034320836cc4424901d0230b5bdeb72050f18e0d024715a89b0085fe5a420ca82425ded4218a25ee3f7e8f6fa1abb37ac37843eb1b9e35aa8a2657a66 -DIST nvidia-modprobe-580.159.04.tar.bz2 41688 BLAKE2B 4600a5ec3428d0340e4268c7b191c5cc872680e3b7cfb2d3886c05b3d9706295b276cea6a957bc5263a21d7e9a60a18f8986efa1f88a9b13d9f22c3b2534bcff SHA512 9577d291a23e8044a1d8caedd5c9a7d900698b7d53f9a2373c9e38a313be0846d7e4965fdecb081d18144f01216159c4bcae7c0741d3210c7e9d8b0f42d91099 DIST nvidia-modprobe-580.173.02.tar.bz2 41711 BLAKE2B 4524b0a7c8928c3c9a76b3190adc7e1886fa769a55ba824a6970776b1c28d603bd42125d190e8b0aae603f5d2e5786813c58b538d564894e4c4012de0f0ec348 SHA512 54848c4d7c95f66d6c892716615e6ff4a4ac9c94ae822d8124030d82a792aacfb3a32e9b84dce6297cb95efd66de94dfb967f34769476d0b50f91aa83aa3aa9d -DIST nvidia-modprobe-595.71.05.tar.bz2 41724 BLAKE2B 23a0fd55e50106341a4196af7bca568c96555c6b0583ae41b860ac73ed4cd6d5222709a88768662fd18a2e4f7686ff092e5603497af71ea7dcbebaf50235c54e SHA512 97fa81a96884f4c2fa6ecdb86d513121b00e8bc955b9bea0947c8ab34271a016458e405df451fb6340e4b8243572980b5e7a4f24af2775310d3cae35a1bcee0b +DIST nvidia-modprobe-580.178.04.tar.bz2 41668 BLAKE2B 9d7f239a3189db7528a5a9c0f2565f6dc785d48cabb5a2d12857d8fc69cc4ef00a1a6c4f1b75e8a0af989b48764878c3cb80b21756a908a1bb2140ab56376f95 SHA512 80ee138546022b0bca3824a563fe5df26f14337e9ee3df7b28917455525f9ef4606d12d5394f74e53089d7ba3955fa077b1dd3702beb5688c4c6b1d6e796fa68 DIST nvidia-modprobe-595.84.tar.bz2 41672 BLAKE2B 0a19de7d2ff1ed81a5bc1ccdf1dc54d2baf192a18bb998ccc9f5aaae2979282a6dd58dac044536bcbd0335036e65fbdfab452a8781c72c2fb0891390037f543b SHA512 96e77e20515121aeac85b1bbcdfcdf12a9dace2335e63ae6a85e6a687e102324c2740e8a6af7fd727a5eee169a26e457eb0b727dcead99a45efbd1b981375753 -DIST nvidia-modprobe-610.43.02.tar.bz2 41751 BLAKE2B 2fc6e0077633acba025ad9728f002f283dcaa4b3ff2802e63e53073f3fd54f4e955d62bea5e0677e9f8a4eef771f0bb35bc4d728e96eb0356eb335ecb9e0c9e5 SHA512 c94f4c820744c183b8584e1b74e2e6f50c752fde52ab133055999c1eedc5096e0d2788ee1bd7476b959c243df1ff6ebb5fae5c56e92f87b99573f2e52ec75ed5 -DIST nvidia-modprobe-610.43.03.tar.bz2 41748 BLAKE2B 057e1bf62a818651a60713a48103841acfa6e008217f45734a9d4d832d1c89dd62ae8838916753941b3f779da5716882b0bf631f3d679f6d483a31c34ea08d6a SHA512 a3875982dcd00bc8f4f1f853e56cbb10893ecbac099ae07f9043a64cf4da76b8246aff75eba7cdba3b8c12c57e62974d48230336325c189bd54ae28f2a7c3d91 +DIST nvidia-modprobe-595.91.07.tar.bz2 41725 BLAKE2B 0ceec46af414ea6232014b25c384b01390fd85ca81c39f994f5bafcdc2e3bbf670ed6416fc7d8b8d0ae56bc689106356f956b5f9c4b7e69ff66b5fe3d05729c9 SHA512 9ad2780218119eaa55d2da0c1007ffa73c3262b0e692cae25260f18d993d531e4cacfe83356b4f4f923e62cc80903915073d0225810656798a9462c75a769a98 +DIST nvidia-modprobe-610.57.04.tar.bz2 41771 BLAKE2B faeeddaf91cc6beaeb06d94a9451a13ad70dba8795613eb81893019cc1b6a053b241fae7a220fdc862af710ce78eb546b7d61164af8ada39391f5fef3955e7cf SHA512 abfef56e453133ef057163041b7f9b62a23879791254a0cc8f0b10fd730d54e54ccad4056dc1a829fd2d3c2caebba2a8cc06839240ed8571bf5f699750dc6534 DIST nvidia-persistenced-390.157.tar.bz2 48654 BLAKE2B 2cf6c92da90acff55e8c180a06b0c6a29d48be9fd8ca3c541202fd14f0697220fba6b66452942aa7ae7cc8821f5c5eb9fa8f7a31d2248624e5f9141d83a176b8 SHA512 70f0707ed6f2b877e69ef90cf782f66cbc9d2071db53ca09ceb7b89427b0fe176708517340621fa251539b7d481b238adeeb60261674eed74de1f62db6dbb72e DIST nvidia-persistenced-470.256.02.tar.bz2 46567 BLAKE2B 8f837322a3b88412fd2f6acf38721b49a6cb444fbd842d652519e5596f2e545d8f06bbdf017f46a22301ce87455f96147fab2829ca5fbf26131ec3e4a772e282 SHA512 4fd19258649b7d39945fb5c8578bf11ab118617dd14f3d11cdf15cb3fe77daf7b4719e4ae57af59031b1b809d02f4e8e8afed0ec60b9d0aed4d2488bd3013cd9 DIST nvidia-persistenced-535.309.01.tar.bz2 48569 BLAKE2B 5756b1335d6a1932529babcc401de4f544ea18dd6da271fde258ba046c98584fc736f211e4c5ac485eab70a6d1717b5aac3cb15f818cbf9eda29a64151fbcdf1 SHA512 e49631fbbc1466820c87fe9a7538b7dfaed512690d1b14e4482bfb471c4e144c62d0f2df5bc8dd3aae443475278b0aa1ab9cbe27059a38fce9b82212477b87b1 -DIST nvidia-persistenced-580.159.04.tar.bz2 62225 BLAKE2B 2d3b4585c9fa0a9b367c73c204f5350088971690fe98019840405645fc90020c6c1a6e985049b191df796f07784604e97337ef9c39311554cfb05353c1429204 SHA512 057537c1641ef3a4d9f594371ee01c4a0fe821561969cd5c1557bdd8c6b4319aaee02cf6bc583f20e47102ecb8fed99666269c5398e31d17024aa0a299505830 DIST nvidia-persistenced-580.173.02.tar.bz2 62225 BLAKE2B e8f1111175e0447910aebbfce1309c1df1c92c655a957e06ff18fb932b75bbaf42f1b23d5d5507cf87c84e750f8402564daa0400d9203483e493b8c7067221c9 SHA512 9b007c430a92137a914b7b977bc142ad8367e26880102ecf51acc153ecf061c369c94b8dbb87bb23cde5b870aeb31139702a544e7547e00e75bacec4b4a39876 -DIST nvidia-persistenced-595.71.05.tar.bz2 62538 BLAKE2B ebf86357c81689d553d0f1f8a602932ec466781f81402a9bcfd1d4155de6ceaa795dec0ae0b9937b3e02ba2605cc11849bad36847df30aae673fbccb52bc2e3a SHA512 a3fa79468d7b3e8eccfab4f52a6e9240e3d65dec9454a10d350f45e5c27781922bc7ceffcbe6d40d9cf63694d84b4a7678c1f1268b72b821f08d22bbd05f7a78 +DIST nvidia-persistenced-580.178.04.tar.bz2 62230 BLAKE2B 387f778b3ec3e48112e35bd3cd3e161527005ff5dc52774755acbcee5e18a1d02f7dd88c7a58d2632863262ff0f4a7b1e091c60caf8f8823d49fe38e3791a0f9 SHA512 2b9e26833e63a81401d3c83c0379f2d86bb0f8f44e1fcbe3ff235739f284a0adf46d76520d802274d8e19df0de656d9a2e9b52dac539ced6ca7bb7b1f4be6629 DIST nvidia-persistenced-595.84.tar.bz2 62533 BLAKE2B 8cd22cb3365987059831b4f319301ee09ec61d78d4ebea9b68719902df95d30aad75a903c0c67048cb9a6b62b8160f3b8448ee1e16b2c80d0c4d200f1c949fb1 SHA512 cf418360022e1ff350c31ff2464e3af43a1ce4b2162da61b56ab0a097cfdd0257f5f7214d6b456d622bbe76c0ad13a3c3a9d50d4f782b08bd675424b3d1e360c -DIST nvidia-persistenced-610.43.02.tar.bz2 63333 BLAKE2B 5b844724f4eb06b23b4844915541f1ee9564d7a377801fdfcbec56b5fb2411b93a526f89a62057fb645d9cb9a45d0ad62fe72353dea818fc2259fec6fbcfed92 SHA512 63075e7ad5f7bd99ccbdc5f83044e977a5856a2a0e27c8342f15a2163c47d70378ddcca7a97641ac6cc43a13595a6a7c0cbb8bc610b4ca99e1c4592520482d19 -DIST nvidia-persistenced-610.43.03.tar.bz2 63321 BLAKE2B 20a35e6706b3a3cd3af7b805c5126fe3be82c4a068a25c0c3d17315febfdd483c714c94b681329b1a844dd5790b86f8db66bdf711fb9690dfba93b20880e46a7 SHA512 abd18c85229ccfe3da07bee9f894d035601ecc7aef63db87329d970715608d6787201bfdf33c849528659831840b4384b4b05560f17f5c643219f1330cd5d78f +DIST nvidia-persistenced-595.91.07.tar.bz2 62519 BLAKE2B 9da9fbacebc6c3c1b56621d7676ec78cf61081d824dbcabf8599168ce673444adf736b6cd62129b0f87d619f79c6d5f0bbce311f5ecba346cda8881bb7bce6f8 SHA512 b9f9c69fb85ce22676789f5d88c460dee1961c42e1bf4ad3e677ac800715f888ded41590fe287b2c5972e3b89982e7b4d6290ccdf7ff2fa870f3a5ef3a7ae9ae +DIST nvidia-persistenced-610.57.04.tar.bz2 63192 BLAKE2B 41ed154c5df65bb645f26efab887cd6ef30b566520df995a367b6c9f03dd0e6e625b3fee573c81747406b882ecd72f9887b5bfbc14747b655459aeb4bfb2a0ed SHA512 f1b4bec67b92e9b83ece3f86217283d88424417b869ae58d2617efedef1c613581ecb6f3fc4a44f096ca451e776d56870c4a8f7336241ccd96c9d3cea1d4b575 DIST nvidia-settings-390.157.tar.bz2 1108938 BLAKE2B d9ec1ab5d7f157d74627272adf752a671dd17e2ede02069437b6180b927fe315b15cc6416d584ab2f038b76fe01e5b64514a834f24d88ac16676e55205fdecdd SHA512 b16699009bf56a1ff3b623a528c58061c4f5a2c5c4a373756a07bcd667743a1df7c733a572d2d0baa835a904ac2fda8a5c85890dcc00c3a0f223e0467aea902d DIST nvidia-settings-470.256.02.tar.bz2 1062273 BLAKE2B 8e66201e7861469b12932595ef8f9fd29d4cfd570c2576ae7fbb7383f61c55ac71fe721cc431e79d6d69f86d998b5b4c3cafe531b573f439e6b499b0fc047a19 SHA512 626e66118ae2e62eacfdf44e37529c409b945a6f33637b9690d74abd87a2afb581aaca5f90328d280da99ceb659959d0e5dc5c22ef8013b2205b2b1c72e08007 DIST nvidia-settings-535.309.01.tar.bz2 1094768 BLAKE2B 6a951e7e8e1ccd968a0727d2c8aa5008044d789dac5002f148930ba7ceb07cd3caa59f265c818392a7fd996bf0418729be349bbc1ea0b8870b1a38f5fa9470f1 SHA512 d0d62c3abffe52ad65585f6e88b894efa07cfb9918d2cb628b771d4d8a40149d9097ad7cb66b01a9bc0b4067e63540f2bd67412fe52105348bcca60955f228c8 -DIST nvidia-settings-580.159.04.tar.bz2 1133196 BLAKE2B ebe947f523301a612f3bc87c9d38659052158d6e421339e12a879b6e854f0778a6166b91e71d0e4638961d63eb983e0bd899b9cecc45433b51bd04d010c38319 SHA512 edb4def04272bc663a47ad117e67a91f0b6719bb3a8b6d0c85758275767b945bf430ea025828c9fd121550546f65d253b5c54792c2151090b6ad0e7ae9d02c75 DIST nvidia-settings-580.173.02.tar.bz2 1133131 BLAKE2B 393e2be8551db1b8c509c446f76086681a89d7dcec3670552cda8b5e84af78a9e091600727a5f0950c78866b282d8f9dc4ba51b85bcc7707288eee9d46c89404 SHA512 4ccb991fa522d5e2833480722bc741905d0abe1226f96f8a2e2a51c99ab1137cf7f5564b50cc55115b3fd535345b11b7bd07fe74c7e356f93b0082b04e880211 -DIST nvidia-settings-595.71.05.tar.bz2 1136100 BLAKE2B 8b0af1e7a81b63042c762794c2f8f3094b40c4a9fc845dae9c39b63c02c613ce6893cb2451806ba775df8128b498259435ad49dd4ea27dafccf0c6c7bfcfda6c SHA512 8f7286863e1306cb50860f83aca046bf4743d3c8c72ddb9e6461e240bb741aa7c03e795081d821808832923ba0e736a4676cf137c84adc8ea770c6d0a28d8dc5 +DIST nvidia-settings-580.178.04.tar.bz2 1132866 BLAKE2B d17b698a73be1c1346eb2ba10f50432250b4167cffdc8cde40610f2dc733b9ff6e1ba5214ee0c0509c59e82f6984c1ab686d39379f7a00edba94e45166c6fa97 SHA512 2d336afd1ebbe6272404bd43f8756ac35932a3d7650c6d524fae0d77ee33cffc71cba94f6fe038c001964d5de20d7814d1e6092c062fb9cea946e8b60766a140 DIST nvidia-settings-595.84.tar.bz2 1136429 BLAKE2B 2faf98fb0bf6f0f5a07935ecd07dae44c15826f0f41e3221192811e2271d772879577dcc0d547d0aad7960574b999d8f977a22382484ba8df646499a212f3c62 SHA512 ebb79d0bc79d284711e388dbf9c818eaddf18ad9d7e41eecb4e5087a43fc2636b62922960547668274fa3832961f1f7030647bc9c3280a9f3e1e73d8175c8b1c -DIST nvidia-settings-610.43.02.tar.bz2 1138293 BLAKE2B 4d0931334d14b60ed8cf113d1a74d321c12edd1fb2f62c23683f392931f7b65779c9539148e20a9e259d4e2f9d6a6fd2249265e93edf81e49bec25291e174d4b SHA512 e4a5a5ba6f5858f786c98d6bca4f416f0fb160beb0a5329b80d5d03378d68d623e69ed0fea29de81a16b7d819c9e57007d2e690b7dc890cccc04b6298c86f9b7 -DIST nvidia-settings-610.43.03.tar.bz2 1138062 BLAKE2B 1f820257ecaed293189252d7ba70e943891497a96046be516cd756e8129360c9be325194abe86551e8dd27f66113ce82d81727e813c886c3838ea1b214a91e9c SHA512 918944acfdfd11f799ba30eea10f3de93c6298030e8c86f10270ff6f2f3b7b1c4814d7e595ce008a1fd41f14c8c958210d4f78b3a5db75c116abc8c0827f4952 +DIST nvidia-settings-595.91.07.tar.bz2 1136346 BLAKE2B 56e4ed3d51b3210935f49918e9975a8ef7ae0a199ff45f9512ed5058a379fb8e7402e599965da071481e3501fa8081b0ef034e36981ab8816636e7b6b49e8ee7 SHA512 0a412f7923c4b8227b154106280165f9930b41c137beddf5f69e49e70b348ede664f859a51159b7d3e5eb6c0c271ba9a1c1a5930c7f652dbc861cdea9c59265d +DIST nvidia-settings-610.57.04.tar.bz2 1138157 BLAKE2B 51964fedb416da31c7e2e1c5f1d1b67e5cbcfd125bed0a4c4cfd0685d364f1e9086172eec1e31099d36e74af54dfe2c22aa541a498c93d569db62c6ade5a784a SHA512 522f2c91faeccf40209c1edf07da5e269b447efb8b4fa849617fd4281a4e677b5536994b0dd3338b9ad41eb0adac10bef65828598e3479b5f8617dd0280427fc DIST nvidia-xconfig-390.157.tar.bz2 107399 BLAKE2B 0cbb3b1ba508ddc3ba4a161c290b31bf7a67f67880bdbd01171a962c5fa97ca945b1ef17932403f8589309380743f1da632c728d8accb6d4e56dbd895e7486bb SHA512 50b390811c9bf091b14add41f886925b17496b41006b7d3981d2398caa65cf5db8a579c8cebed78278384bf3acc629befb07b54339c61abcc75852c0dcb8b8ca DIST nvidia-xconfig-470.256.02.tar.bz2 108698 BLAKE2B e468574e4bc57e7279d4120e2b08a201671b50d408be0c530eabe5da7d45daaf21cbf5c7fa31410d0d732fe8ea1551cbfb21d1ae193c1b3f5b5c50c764c9e236 SHA512 9dcec1e0c2b56b4d38a5f2c76086302f8bc0860cc15012cce29c3a5062f801a48b6a2bb78344361b07a2717b58502783441a2daf402d9973a17526175b1f15ca DIST nvidia-xconfig-535.309.01.tar.bz2 111085 BLAKE2B 7a2f55989f93bbfecef0ae0c76113b42cc79c3fefce12f3becb2c3722978115b2408efefa63845ef2f9ef7563f9ce79c5a9cafcc3de4f70605f34aae44d485f5 SHA512 710f279b6e4ac143c39344c44cda5950777c613f193170a76fa948def5a13b5b9177b44651e3b46a2630e7f420a9189671042f76b88c14a31ba6f6dcd78fdb7d -DIST nvidia-xconfig-580.159.04.tar.bz2 111540 BLAKE2B 95cfd0c4af5e2d171e39c1e53e225ec92cf5ac9ce3c9953c9e558f08a67e314030f5a2b4618706ffd6e598f314eab45b4d3087a8896222dcbf6c1a4b73a2debb SHA512 878a37240de42baf2f9a453cb3f5aaf0a6029cb1f00b3b1567c9e25175a2e1118b5266965163296eba0b39a9e01137b9d815ed29d4dd67f1ee43d5905b373d98 DIST nvidia-xconfig-580.173.02.tar.bz2 111531 BLAKE2B f0825338455d511bd2a273e7094c9ed7f1f9e21d7fa24c761d241d2db45e8179cc43d2d6888713aaecc866cc1a0c37e2c35e5f7d9b62af5771db1109f35008f7 SHA512 54a1962fa3ba710ca67e38829f12fa6f6128f45d17e5a0a7a1cca47ca6190caf9c9460459a21549d4ccfe71bc0062769818fb824a218d46e284d2b5011f5abfc -DIST nvidia-xconfig-595.71.05.tar.bz2 111096 BLAKE2B 8b6f7e043319577f0b21780cc88ce189b99123ee079a4e5188e7c12d7d2859776f5d47efc1625ba70542df300ba88bf555e8d4638816322966d04c9a316b5a56 SHA512 bf705b1916633d8dfd4742d94358607901bc843f1280954391d9ee7be98da36f0f895811057b8666f59ab3b850bc6e5bb2bf80a88923827497cf0b5a852db6fa +DIST nvidia-xconfig-580.178.04.tar.bz2 111557 BLAKE2B 0ad4c36edafa3086ccd0189ad0b1768cdddd7159b8bc2153830ec95ec4b06b5d41215dd1c2408bb5ea2a529ea54996d9be952ad1effd437ce7eb82926e56dd74 SHA512 9cb3060e62c56686dab3d6ba75ac42998a5a16ac34b2785d47c15f50df67a85eefb475507fd0a605f4e60203e0cdecbe38a7d8d9e579687cb529d72806874d01 DIST nvidia-xconfig-595.84.tar.bz2 111532 BLAKE2B c76bb3b2bbbfdb2b9b670c395a721bc546a66619b127d943ff2ba568f2243cdf048ab271cea53e25cfedcbd303106252ade8267e6aac8116a754a4776dbfb206 SHA512 75ab16185ad00f627a2309694fda95d7319b9547d44c21e79b63cfa4504a6b84294f372b0aa2af36a53fa6001e55200e4cb3724cb99b56864cbb1479cab7bba3 -DIST nvidia-xconfig-610.43.02.tar.bz2 111123 BLAKE2B 5ade2f6525b4fc847a28c6d853dd5d829c434ed892cda9060ddb6f66566e440bc11d0f01a2930016000b8f1861bcd5be5c9ca168d4d7ecb91fdfb46e61b2c98f SHA512 c8975ea34bcff52fd19973c28b3c215e847567e0d153ca2dc3b867b55c3bb9325a52a7802e77986f65a0472cd0ac501b872bf2ed05ca9543413ef8dc26af2b2c -DIST nvidia-xconfig-610.43.03.tar.bz2 111077 BLAKE2B a165db53d12a512a6bb0dc86a49899cdcf2b7fd58883a4000637b92e6b9e5d58c6fa5f25b42d7cc28ee1357fb40c45767a670ee0409827baf8e2b75c43e4a9a6 SHA512 81edf463055eb595a6211ce3692c0eb80badb78aefd64151203faf30c753ff5060f2ec19b972531d43dee65f93072fba3906eb081d388f86ccd2223b6db40f15 -DIST open-gpu-kernel-modules-595.44.09.tar.gz 24805417 BLAKE2B 0281e825fb55982971499bc4a5284115fd0fdd24eb033bbff17010d1e7ace7c041dac56f98123cfbd5009f1f75b25332e3dfa68acc684c3f59ff740769cd291c SHA512 57a43e94740d31b84671cddb061825d954d1039fbdf82572875f8ca3f94309d7480ac19718e96cf062c9a78e8b2ef3598766928f03e9420fed90ab6f3ab65b7a +DIST nvidia-xconfig-595.91.07.tar.bz2 111007 BLAKE2B 30f556a5b8c41cedc637f52064c402e39590d5df0381a8b2b74cd5bfa3c94a42bb6b95ff68898e240eef36736205a592cacf1595e8ea054b5290314bce8bcdea SHA512 6675a2f56fb2574f55b7342c1c3da221f5b1dc55329018075f71903706cbbf8b9e2ba91190d0c021e66a03e758c7cad1f5a1f1b266653849fe85773092ebc6e1 +DIST nvidia-xconfig-610.57.04.tar.bz2 111115 BLAKE2B bbd68a06d2e6605dce4d62cb06909cecdb18cdab18815814736d8a53e784ebf9c988c5a7e115676d5978a222b80c3a2f3a6c500c2464934ca045d7c814ef2c90 SHA512 d050291249ed18843f2419f730b31e15019d63ceeebf7c0f011fc13b90a1bc5b784cf603b03708de0b81c4a82f3c2bedecd8b3a6c2818e38e5fdec8b189c01e0 +DIST open-gpu-kernel-modules-595.44.14.tar.gz 24814871 BLAKE2B c00c0a24e555ed73e32a290f56fc6ef1ccfc7365668a7c8f26751fa0c0709006d09bb4a731554c1e21f87591dc43ddf003395b06524b67bb500d990e657db6af SHA512 e468138857d7b3b21daf8774cd35539fbb32a0142e89a12c7d33d61c049c7c9f299a399681ca3d388c91f33c55229b7f4e9200bb38a083b4010ed9e5b9142587 diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.159.04.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.178.04.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.159.04.ebuild rename to sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.178.04.ebuild index 78865e013bc..b556febfeed 100644 --- a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.159.04.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.178.04.ebuild @@ -7,7 +7,7 @@ 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=7.1 +MODULES_KERNEL_MAX=7.2 NV_URI="https://download.nvidia.com/XFree86/" DESCRIPTION="NVIDIA Accelerated Graphics Driver" @@ -114,7 +114,6 @@ pkg_setup() { local CONFIG_CHECK=" PROC_FS ~DRM_KMS_HELPER - ~DRM_FBDEV_EMULATION ~SYSVIPC ~!LOCKDEP ~!PREEMPT_RT @@ -127,6 +126,9 @@ pkg_setup() { kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION && CONFIG_CHECK+=" DRM_TTM_HELPER" + linux_chkconfig_present DRM_KMS_HELPER && + CONFIG_CHECK+=" DRM_FBDEV_EMULATION" + use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827 local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need @@ -140,9 +142,6 @@ pkg_setup() { 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 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_AMD_IOMMU=y, diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.44.09.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.44.14.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.44.09.ebuild rename to sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.44.14.ebuild index 4ab800cfc1f..b0f32a85f48 100644 --- a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.44.09.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.44.14.ebuild @@ -7,14 +7,13 @@ 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=7.1 -NV_PIN=595.71.05 +MODULES_KERNEL_MAX=7.2 +NV_PIN=595.91.07 DESCRIPTION="NVIDIA Accelerated Graphics Driver" HOMEPAGE="https://developer.nvidia.com/vulkan-driver/" SRC_URI=" - https://developer.nvidia.com/downloads/vulkan-beta-${PV//.}-linux - -> NVIDIA-Linux-x86_64-${PV}.run + https://developer.nvidia.com/downloads/assets/gameworks/downloads/secure/Vulkan_Beta_Drivers/NVIDIA-Linux-x86_64-${PV}.run $(printf "https://download.nvidia.com/XFree86/%s/%s-${NV_PIN}.tar.bz2 " \ nvidia-{installer,modprobe,persistenced,settings,xconfig}{,}) https://github.com/NVIDIA/open-gpu-kernel-modules/archive/refs/tags/${PV}.tar.gz @@ -115,7 +114,6 @@ pkg_setup() { local CONFIG_CHECK=" PROC_FS ~DRM_KMS_HELPER - ~DRM_FBDEV_EMULATION ~SYSVIPC ~!LOCKDEP ~!PREEMPT_RT @@ -128,6 +126,9 @@ pkg_setup() { kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION && CONFIG_CHECK+=" DRM_TTM_HELPER" + linux_chkconfig_present DRM_KMS_HELPER && + CONFIG_CHECK+=" DRM_FBDEV_EMULATION" + 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 @@ -138,9 +139,6 @@ pkg_setup() { 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_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 diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.71.05.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.91.07.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.71.05.ebuild rename to sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.91.07.ebuild index c1d78ca7223..6a166534af0 100644 --- a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.71.05.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.91.07.ebuild @@ -7,7 +7,7 @@ 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=7.1 +MODULES_KERNEL_MAX=7.2 NV_URI="https://download.nvidia.com/XFree86/" DESCRIPTION="NVIDIA Accelerated Graphics Driver" @@ -114,7 +114,6 @@ pkg_setup() { local CONFIG_CHECK=" PROC_FS ~DRM_KMS_HELPER - ~DRM_FBDEV_EMULATION ~SYSVIPC ~!LOCKDEP ~!PREEMPT_RT @@ -127,6 +126,9 @@ pkg_setup() { kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION && CONFIG_CHECK+=" DRM_TTM_HELPER" + linux_chkconfig_present DRM_KMS_HELPER && + CONFIG_CHECK+=" DRM_FBDEV_EMULATION" + 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 @@ -137,9 +139,6 @@ pkg_setup() { 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_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 diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-610.43.02-r1.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-610.43.02-r1.ebuild deleted file mode 100644 index be9933e14e3..00000000000 --- a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-610.43.02-r1.ebuild +++ /dev/null @@ -1,557 +0,0 @@ -# Copyright 1999-2026 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=7.1 -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%%.*}" -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-compat:3 - dev-libs/openssl:0/3 - ) - sys-devel/gcc:* - 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=" - 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=" - PROC_FS - ~DRM_KMS_HELPER - ~DRM_FBDEV_EMULATION - ~SYSVIPC - ~!LOCKDEP - ~!PREEMPT_RT - ~!SLUB_DEBUG_ON - !DEBUG_MUTEXES - $(usev amd64 'X86_PAT') - $(usev powerd '~CPU_FREQ') - " - - kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION && - CONFIG_CHECK+=" DRM_TTM_HELPER" - - 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 wayland support, - tty takeover (e.g. for simpledrm), and 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_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)" - - # same as uname -m - local target_arch - case ${ARCH} in - amd64) target_arch=x86_64;; - arm64) target_arch=aarch64;; - *) die "Unrecognised architecture: ${ARCH}";; - esac - - 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 - TARGET_ARCH="${target_arch}" - 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) - - # the "blob" uses C++ which is an issue if there is debug symbols - # when running pahole, there is a pahole.sh wrapper that tries to - # exclude C++ but it did not seem to be enough last time tried - linux_chkconfig_present DEBUG_INFO_BTF_MODULES && append-flags -g0 - - : 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}" - TARGET_ARCH="${target_arch}" - - # 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 09_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-610.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 - # (sleep services skipped, obsoleted by NVreg_UseKernelSuspendNotifiers=1) - dobin nvidia-bug-report.sh - - insinto /usr/share/nvidia/files.d - doins sandboxutils-filelist.json - - # needed with >=systemd-256 or may fail to resume with some setups - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722 - : "$(systemd_get_systemunitdir)" - local unitdir=${_#"${EPREFIX}"} - 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 systemd/system/systemd-suspend.service.d/nvidia-suspend-nofreeze.conf 10-nvidia.conf - 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 - - # 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 - - # 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 "\n echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask" - fi - ewarn "\n...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 "\n[1] https://www.nvidia.com/object/IO_32667.html" - ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau" - fi - - if ver_replacing -lt 595; then - elog "\n>=${PN}-595 has changes that may or may not need attention:" - elog "1. USE=kernel-open was removed and is now always enabled. If for some" - elog " reason you really need the closed variant (e.g. Runtime D3 on Turing" - elog " GPUs), please use LTS 580.xx instead as Gentoo has no intention to" - elog " support both variants anymore going forward" - elog "2. systemd/elogind sleep services (nvidia-sleep.sh) were tentatively" - elog " removed and replaced by setting NVreg_UseKernelSuspendNotifiers=1 in" - elog " ${EROOT}/etc/modprobe.d/nvidia.conf. If using a non-default custom" - elog " nvidia.conf, please ensure the option is set. Also, systemd users" - elog " may want to ensure that they do not have old sleep/suspend/resume" - elog " *nvidia* files in ${EROOT}/etc/systemd to avoid potential issues." - elog "3. nvidia-drm.modeset=1 was removed from nvidia.conf because it is now" - elog " default enabled regardless (new NVIDIA default)" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-610.43.03.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-610.57.04.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-610.43.03.ebuild rename to sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-610.57.04.ebuild index be9933e14e3..c7b90e8cb08 100644 --- a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-610.43.03.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-610.57.04.ebuild @@ -7,7 +7,7 @@ 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=7.1 +MODULES_KERNEL_MAX=7.2 NV_URI="https://download.nvidia.com/XFree86/" DESCRIPTION="NVIDIA Accelerated Graphics Driver" @@ -115,7 +115,6 @@ pkg_setup() { local CONFIG_CHECK=" PROC_FS ~DRM_KMS_HELPER - ~DRM_FBDEV_EMULATION ~SYSVIPC ~!LOCKDEP ~!PREEMPT_RT @@ -128,6 +127,9 @@ pkg_setup() { kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION && CONFIG_CHECK+=" DRM_TTM_HELPER" + linux_chkconfig_present DRM_KMS_HELPER && + CONFIG_CHECK+=" DRM_FBDEV_EMULATION" + 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 @@ -138,9 +140,6 @@ pkg_setup() { 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_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 @@ -169,6 +168,14 @@ src_prepare() { # makefile attempts to install wayland library even if not built use wayland || sed -i 's/ WAYLAND_LIB_install$//' \ nvidia-settings/src/Makefile || die + + # temporary dirty workaround for clang being stricter than gcc, + # reproducing requires a kernel with CONFIG_OF_GPIO enabled + # nv-linux.h:1737:51: error: passing 'const struct gpio_device *' [...] + if CC=${KERNEL_CC} tc-is-clang; then + sed -e 's/-Wno-error/& -Wno-error=incompatible-pointer-types-discards-qualifiers/' \ + -i kernel-module-source/kernel-open/Kbuild || die + fi } src_compile() { diff --git a/sdk_container/src/third_party/portage-stable/x11-misc/makedepend/Manifest b/sdk_container/src/third_party/portage-stable/x11-misc/makedepend/Manifest index c7cdad3b393..4e3bd784bb6 100644 --- a/sdk_container/src/third_party/portage-stable/x11-misc/makedepend/Manifest +++ b/sdk_container/src/third_party/portage-stable/x11-misc/makedepend/Manifest @@ -1 +1,2 @@ +DIST makedepend-1.0.10.tar.xz 151324 BLAKE2B 0676fc6572dfe5fefa8e20bf06f598693ccae9deecf9f4d672292343a80b17065bb484a37b916d40918cf5844fc292ff18ba992917f0c31387d692550d263180 SHA512 b86d641b833f8002e5f8c88eb0ed690d7f41afbb9622e881405ac32db74b7ae7c9e7cb0798b663516138375e404d1133690964852131f46d48f12a18fa81d6c8 DIST makedepend-1.0.9.tar.xz 145080 BLAKE2B 7f8b2c0a3992a7c87a37f152eb5df1e6a881c0523f4cc4e69fd0ec3aa9aee37b6a0b32c548ad246151c938596b6d4a6c32d956aa9be1ed6c81978d313644f9a3 SHA512 68d289656314dc9f12c792d0e394cfbc95404a0d01155dbcb38313d451b506da48a3d44183f568a2cbb2b1d1da9e26703a0d92f2bb658f72fc968eeb03bf2fe8 diff --git a/sdk_container/src/third_party/portage-stable/x11-misc/makedepend/makedepend-1.0.10.ebuild b/sdk_container/src/third_party/portage-stable/x11-misc/makedepend/makedepend-1.0.10.ebuild new file mode 100644 index 00000000000..952de4b911e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/x11-misc/makedepend/makedepend-1.0.10.ebuild @@ -0,0 +1,9 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit xorg-meson + +DESCRIPTION="create dependencies in makefiles" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-solaris"